Class: ListenerCleanupManager
Gala Launchpad SDK 9.0.0-rc.5 / index / ListenerCleanupManager
Class: ListenerCleanupManager
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:471
Listener Cleanup Manager
Multi-stage cleanup with error isolation per listener. Ensures cleanup of one listener doesn't block cleanup of others.
Features:
- Error isolation (one failure doesn't block others)
- Async cleanup support (waitPromises)
- Ordering (LIFO - last registered, first cleaned up)
- Detailed error logging
Example
// Test case: Multi-stage listener cleanup
const manager = new ListenerCleanupManager();
const cleaned: string[] = [];
// Register listeners with cleanup functions
manager.register('listener1', () => {
cleaned.push('1');
});
manager.register('listener2', () => {
cleaned.push('2');
});
manager.register('listener3', () => {
throw new Error('Cleanup failed for 3');
});
manager.register('listener4', () => {
cleaned.push('4');
});
// Cleanup all (error in listener3 doesn't block listener4)
await manager.cleanup();
// All listeners cleaned up despite error in listener3
console.assert(cleaned.includes('1'));
console.assert(cleaned.includes('2'));
console.assert(cleaned.includes('4'));
// Order is LIFO: 4, 3 (error), 2, 1
Since
6.6.0
Constructors
Constructor
new ListenerCleanupManager(
logger?):ListenerCleanupManager
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:474
Parameters
logger?
Logger
Returns
ListenerCleanupManager
Accessors
size
Get Signature
get size():
number
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:502
Get count of registered listeners
Returns
number
Number of listeners awaiting cleanup
Methods
cleanup()
cleanup():
Promise<Error[]>
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:492
Cleanup all listeners
Errors in one listener don't prevent cleanup of others. Returns array of errors encountered during cleanup.
Returns
Promise<Error[]>
Promise that resolves when all cleanup complete
clear()
clear():
void
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:496
Clear all registered listeners without calling cleanup
Returns
void
register()
register(
id,cleanup):void
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:483
Register a listener with cleanup function
Cleanup functions are called in LIFO order (last registered, first cleaned up).
Parameters
id
string
Unique identifier for this listener
cleanup
() => void | Promise<void>
Sync or async cleanup function
Returns
void