createDisposer
createDisposer(
fns
:DisposeFunc
[]): () =>void
Defined in: ext/setup.ts:25
Returns a disposer function that runs an array of cleanup functions in reverse order. Useful for teardown logic where order matters.
Use cases:
- Aggregating multiple cleanup/disposer functions
- Ensuring teardown order for resources (event listeners, subscriptions, etc.)
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
fns | DisposeFunc [] | Array of disposer functions |
Returns
Section titled “Returns”A function that disposes all provided functions in reverse order
():
void
Returns
Section titled “Returns”void
Source
Section titled “Source”This function is useful for creating a cleanup routine that ensures all resources are released in the correct order. It is commonly used in setup/teardown patterns where multiple resources need to be cleaned up after use, such as event listeners, subscriptions, or other side effects.
export const createDisposer = (fns: DisposeFunc[]) => () => { for (let i = fns.length - 1; i >= 0; i--) { fns[i](); }};
Example
Section titled “Example”const disposer1 = () => console.log('Cleanup 1');const disposer2 = () => console.log('Cleanup 2');const disposeAll = createDisposer([disposer1, disposer2]);disposeAll(); // Logs 'Cleanup 2' then 'Cleanup 1'