AbstractProtectedconstructorCreates a new scope optionally owned by an explicit parent scope.
The explicit parent scope, or null when there is none.
ScopeError - When parent was already disposed.
Asynchronously disposes this scope and all resources currently owned by it.
Disposes this scope and all resources currently owned by it.
ProtectedclearClears the currently owned child scopes, cleanup callbacks, and slot values.
ProtectedclearAsynchronously clears the currently owned child scopes, cleanup callbacks, and slot values.
Deletes the value stored directly on this scope for the given slot.
The slot to delete locally.
True when a local value was removed.
ScopeError - When the scope was already disposed.
Disposes this scope and all resources currently owned by it.
Child scopes are disposed in reverse creation order before cleanup callbacks run in reverse registration order.
ScopeError - When the scope owns asynchronous cleanup and must be disposed through disposeAsync.
Asynchronously disposes this scope and all resources currently owned by it.
Child scopes are disposed sequentially in reverse creation order before synchronous and asynchronous cleanup callbacks run sequentially in reverse registration order. Concurrent calls share the same disposal operation.
Promise which resolves when disposal has completed.
Returns the nearest value stored for the given slot on this scope or one of its parents.
The nearest stored value, or undefined when no value exists in this scope chain.
ScopeError - When the scope was already disposed.
Returns the value stored directly on this scope for the given slot.
The locally stored value, or undefined when no local value exists.
ScopeError - When the scope was already disposed.
Returns the current parent scope, or null when this scope currently has no parent.
The current parent scope, or null when there is none.
ScopeError - When the scope was already disposed.
Returns whether this scope stores a local value for the given slot.
The slot to test.
True when this scope has a local value for the slot.
ScopeError - When the scope was already disposed.
Returns whether disposal of this scope has started.
True when this scope is being disposed or was already disposed.
Registers an asynchronous cleanup callback to run when this scope is disposed asynchronously.
A scope owning asynchronous cleanup must be disposed through disposeAsync. When the scope is already disposed, the cleanup runs immediately and the returned promise represents its completion.
The asynchronous cleanup callback to register.
Promise which resolves immediately after registration, or after immediate cleanup of an already disposed scope.
Registers a cleanup callback to run when this scope is disposed.
The cleanup callback to register.
ProtectedrequiresReturns whether this scope or any owned child scope requires asynchronous disposal.
True when asynchronous disposal is required.
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.
The callback to run inside this scope.
The value returned by the callback.
ScopeError - When the scope was already disposed.
Stores one scope-local value on this scope.
The stored value.
ScopeError - When the scope was already disposed.
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.