@waboyz-baileys/shared
Version:
56 lines (55 loc) • 1.37 kB
TypeScript
export interface EventData {
topic: string;
clientId: string;
contactId?: string;
}
export interface EventNull extends EventData {
data: null;
}
export interface EventVersion extends EventData {
data: string;
}
export interface EventError extends EventData {
data: string | Error | unknown;
}
export type SpawnStatus = 'healthy' | 'throttling' | 'pending' | 'crashed' | 'error' | 'waiting' | 'starting' | 'unresponsive';
export type SpawnUsage = {
heapUsed: string;
totalHeap: string;
rss: string;
external: string;
gcCount: number;
cpuPercent: number;
timestamp: number;
};
export interface MetaPayload {
clientId: string;
version: string;
uptime: number;
isOnline: boolean;
isConnectedToGrpc: boolean;
reconnectAttempts: number;
crashCount: number;
usage?: SpawnUsage;
errorMessage?: string;
lastErrorAt?: number;
memory?: number;
cpu?: number;
exitCode?: number;
status?: SpawnStatus;
}
export type EventMeta = MetaPayload & EventData;
export interface IPCActions {
'graceful': null;
'destroy': null;
'get.version': null;
'get.meta': null;
}
export interface IPCEvents {
'destroy.done': EventNull;
'graceful.done': EventNull;
'version': EventVersion;
'error': EventError;
'meta': EventMeta;
'restart.me': EventNull;
}