UNPKG

behemoth-cli

Version:

🌍 BEHEMOTH CLIv3.760.4 - Level 50+ POST-SINGULARITY Intelligence Trading AI

71 lines 2.5 kB
/** * Resource Cleanup Manager * Handles proper cleanup of event listeners, timeouts, intervals, and streams */ import { EventEmitter } from 'events'; export interface CleanupResource { id: string; type: 'timeout' | 'interval' | 'listener' | 'stream' | 'custom'; cleanup: () => void; description?: string; } export declare class ResourceCleanupManager { private resources; private isCleaningUp; /** * Register a timeout for cleanup */ registerTimeout(timeoutId: NodeJS.Timeout, description?: string): string; /** * Register an interval for cleanup */ registerInterval(intervalId: NodeJS.Timeout, description?: string): string; /** * Register an event listener for cleanup */ registerEventListener(emitter: EventEmitter | NodeJS.Process, event: string, listener: (...args: any[]) => void, description?: string): string; /** * Register a custom cleanup function */ registerCustomCleanup(cleanupFn: () => void, description?: string): string; /** * Unregister a specific resource */ unregister(id: string): boolean; /** * Clean up all registered resources */ cleanupAll(): void; /** * Get count of registered resources by type */ getResourceCounts(): Record<string, number>; /** * Check if there are resources that need cleanup */ hasResources(): boolean; } export declare const globalResourceManager: ResourceCleanupManager; /** * Enhanced timeout wrapper with automatic cleanup registration */ export declare function managedSetTimeout(callback: () => void, delay: number, description?: string, manager?: ResourceCleanupManager): { timeoutId: NodeJS.Timeout; cleanupId: string; }; /** * Enhanced interval wrapper with automatic cleanup registration */ export declare function managedSetInterval(callback: () => void, delay: number, description?: string, manager?: ResourceCleanupManager): { intervalId: NodeJS.Timeout; cleanupId: string; }; /** * Enhanced event listener registration with automatic cleanup */ export declare function managedEventListener<T extends EventEmitter | NodeJS.Process>(emitter: T, event: string, listener: (...args: any[]) => void, description?: string, manager?: ResourceCleanupManager): string; /** * Setup process exit handlers for cleanup */ export declare function setupProcessCleanupHandlers(manager?: ResourceCleanupManager): void; //# sourceMappingURL=resource-cleanup.d.ts.map