Skip to main content

Class: ListenerCleanupManager

Gala Launchpad SDK 9.0.0-rc.5


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