A batch of acquired refs, bound to a set of tokens.

Provides a single .release() call that frees all refs at once — ideal for components that consume multiple services and need guaranteed cleanup.

1.2.0

interface ServiceBinding<T> {
    alive: boolean;
    refs: Map<string, ServiceRef<unknown>>;
    services: {
        [K in string | number | symbol]: T[K] extends ServiceToken<U>
            ? U
            : never
    };
    dispose(): void;
    release(): void;
}

Type Parameters

Properties

Methods

Properties

alive: boolean

Whether any ref is still alive.

refs: Map<string, ServiceRef<unknown>>

All acquired refs (populated as services are accessed).

services: {
    [K in string | number | symbol]: T[K] extends ServiceToken<U>
        ? U
        : never
}

Lazy-resolved services. Each property resolves and acquires a ref on first access.

Methods

  • Release all acquired refs. Safe to call multiple times.

    Returns void