Skip to main content

DisposableStore

Defined in: src/lib/disposable.ts:45

A container that manages multiple disposables. Useful for collecting event subscriptions and other cleanup tasks in a module. Supports nesting: a DisposableStore can be added to another DisposableStore.

Implements both our IDisposable and native TypeScript Disposable interfaces.

Implements

Constructors

Constructor

new DisposableStore(): DisposableStore;

Returns

DisposableStore

Accessors

isDisposed

Get Signature

get isDisposed(): boolean;

Defined in: src/lib/disposable.ts:115

Check if the store has been disposed.

Returns

boolean

Implementation of

IDisposable.isDisposed


size

Get Signature

get size(): number;

Defined in: src/lib/disposable.ts:122

The number of disposables currently in the store.

Returns

number

Methods

[dispose]()

dispose: void;

Defined in: src/lib/disposable.ts:100

Native TypeScript Disposable support. Allows use with using declarations.

Returns

void

Implementation of

IDisposable.[dispose]

add()

add\<T\>(disposable: T): T;

Defined in: src/lib/disposable.ts:54

Add a disposable to the store. If the store is already disposed, the disposable will be disposed immediately.

Type Parameters

Type Parameter
T extends IDisposable

Parameters

ParameterType
disposableT

Returns

T

The same disposable for chaining.


clear()

clear(): void;

Defined in: src/lib/disposable.ts:108

Clear the store without disposing the items. Use this if you want to transfer ownership of disposables elsewhere.

Returns

void


createChild()

createChild(): DisposableStore;

Defined in: src/lib/disposable.ts:76

Create a child DisposableStore that is automatically added to this store. When this store is disposed, the child will also be disposed. Useful for temporary features or scoped cleanup.

Returns

DisposableStore

Example

const root = new DisposableStore();
const feature = root.createChild();
feature.add(someEvent.on(() => { ... }));
// Later: root.dispose() will also dispose feature

dispose()

dispose(): void;

Defined in: src/lib/disposable.ts:86

Dispose all stored disposables and mark the store as disposed. Further calls to add() will immediately dispose the added item.

Returns

void

Implementation of

IDisposable.dispose