# yuiRetainedDependencySubscription

A yui retained dependency subscription record carrying key, scope, ownerIds.

Last updated: 2026-09-09

Package: ui | Status: source-declared

Tags: cpu, method, source-example, thing, ui, yeho

Build YUI's reusable control, layout, interaction, text, accessibility, and retained-rendering models.

```yh
external thing yuiRetainedDependencySubscription
```

- text key: Stores key as text.
- text scope: Stores scope as text.
- list of text ownerIds: Stores owner ids as list of text.
- yuiRetainedDependencySubscription(text key, text scope): Yui retained dependency subscription.
- AddOwner(text ownerId) returns bool: Add owner.
- HasOwner(text ownerId) returns bool: Has owner.

## Use yuiRetainedDependencySubscription

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

Verification: type checked

```yh
using ui

// Build YUI's reusable control, layout, interaction, text, accessibility, and retained-rendering models.
yuiRetainedDependencySubscription sample = yuiRetainedDependencySubscription("key", "scope")
Console.Log(Text.From(sample.key))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__yuiretaineddependencysubscription"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "graphics.image"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image"

[[dependencies]]
package = "graphics.text"
version = "0.1.0"
path = "../../../yeho/packages/graphics/text"

[[dependencies]]
package = "host.ui_services"
version = "0.1.0"
path = "../../../yeho/packages/host/ui_services"

[[dependencies]]
package = "ui"
version = "0.2.0"
path = "../../../yeho/packages/ui"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/ui--yuiRetainedDependencySubscription/usage --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## yuiRetainedDependencySubscription.AddOwner

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using ui

// Add owner.
yuiRetainedDependencySubscription instance = yuiRetainedDependencySubscription("key", "scope")
text argument_ownerId = "argument owner Id"
bool result = instance.AddOwner(argument_ownerId)
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__yuiretaineddependencysubscription"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "graphics.image"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image"

[[dependencies]]
package = "graphics.text"
version = "0.1.0"
path = "../../../yeho/packages/graphics/text"

[[dependencies]]
package = "host.ui_services"
version = "0.1.0"
path = "../../../yeho/packages/host/ui_services"

[[dependencies]]
package = "ui"
version = "0.2.0"
path = "../../../yeho/packages/ui"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/ui--yuiRetainedDependencySubscription/method-AddOwner-4 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## yuiRetainedDependencySubscription.HasOwner

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using ui

// Has owner.
yuiRetainedDependencySubscription instance = yuiRetainedDependencySubscription("key", "scope")
text argument_ownerId = "argument owner Id"
bool result = instance.HasOwner(argument_ownerId)
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__yuiretaineddependencysubscription"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "graphics.image"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image"

[[dependencies]]
package = "graphics.text"
version = "0.1.0"
path = "../../../yeho/packages/graphics/text"

[[dependencies]]
package = "host.ui_services"
version = "0.1.0"
path = "../../../yeho/packages/host/ui_services"

[[dependencies]]
package = "ui"
version = "0.2.0"
path = "../../../yeho/packages/ui"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/ui--yuiRetainedDependencySubscription/method-HasOwner-5 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

Source: yeho/packages/ui/render-50-retained-fragments.yh

AI training permission: https://demonhunterlabs.com/ai-use
