@kayahr/scope
    Preparing search index...

    Class Scope

    Public scope for lifetime, disposal, and scope-local values.

    A scope owns disposal callbacks registered while run executes synchronously and stores local values through scope slots.

    Implements

    • Disposable
    Index

    Constructors

    • Creates a new scope optionally owned by an explicit parent.

      Parameters

      • parent: Scope | null = activeScope

        The explicit parent scope, null for an explicit root scope, or the current active scope when omitted.

      Returns Scope

      ScopeError - When parent was already disposed.

    Methods

    • Disposes this scope and all resources currently owned by it.

      Returns void

    • Deletes the value stored directly on this scope for the given slot.

      Parameters

      • slot: ScopeSlot<unknown>

        The slot to delete locally.

      Returns boolean

      True when a local value was removed.

      ScopeError - When the scope was already disposed.

    • Disposes this scope and all resources currently owned by it.

      Returns void

    • Returns the nearest value stored for the given slot on this scope or one of its parents.

      Type Parameters

      • T

      Parameters

      Returns T | undefined

      The nearest stored value, or undefined when no value exists in this scope chain.

    • Returns the value stored directly on this scope for the given slot.

      Type Parameters

      • T

      Parameters

      Returns T | undefined

      The locally stored value, or undefined when no local value exists.

    • Returns the current parent scope, or null when this scope currently has no parent.

      Returns Scope | null

      The current parent scope, or null when there is none.

    • Returns whether this scope stores a local value for the given slot.

      Parameters

      Returns boolean

      True when this scope has a local value for the slot.

    • Returns whether this scope already ran its disposal sequence.

      Returns boolean

      True when this scope was already disposed.

    • Registers a cleanup callback to run when this scope is disposed.

      Parameters

      • cleanup: () => void

        The cleanup callback to register.

      Returns void

    • Runs the given callback with this scope active.

      Only the synchronous execution of the callback belongs to this scope. Work created after an await no longer belongs to this scope. If the callback returns a promise, that promise is returned as-is and is not awaited.

      Type Parameters

      • T

      Parameters

      • func: () => T

        The callback to run inside this scope.

      Returns T

      The value returned by the callback.

      ScopeError - When the scope was already disposed.

    • Stores one scope-local value on this scope.

      Type Parameters

      • T

      Parameters

      • slot: ScopeSlot<T>

        The slot identifying the stored value.

      • value: T

        The value to store.

      Returns T

      The stored value.

      ScopeError - When the scope was already disposed.