@454creative/easy-events
Version:
A minimal event engine for Node.js and NestJS, wrapping Emmett for lightweight in-process event handling
36 lines • 1.58 kB
TypeScript
import type { StorageEngine, StorageConfig } from "./storage.interface";
import type { EventAudit, EventMetrics } from "./observability.interface";
export declare class MemoryStorageEngine implements StorageEngine {
private auditLogs;
private metrics;
saveAuditLog(audit: EventAudit): Promise<void>;
getAuditLogs(filters?: Partial<EventAudit>): Promise<EventAudit[]>;
saveMetrics(metrics: EventMetrics): Promise<void>;
getMetrics(): Promise<EventMetrics>;
clearAuditLogs(): Promise<void>;
clearMetrics(): Promise<void>;
}
export declare class FileStorageEngine implements StorageEngine {
private auditLogsPath;
private metricsPath;
private maxLogs;
constructor(config: StorageConfig);
saveAuditLog(audit: EventAudit): Promise<void>;
getAuditLogs(filters?: Partial<EventAudit>): Promise<EventAudit[]>;
saveMetrics(metrics: EventMetrics): Promise<void>;
getMetrics(): Promise<EventMetrics>;
clearAuditLogs(): Promise<void>;
clearMetrics(): Promise<void>;
private rotateLogs;
}
export declare class DatabaseStorageEngine implements StorageEngine {
constructor(_config: StorageConfig);
saveAuditLog(audit: EventAudit): Promise<void>;
getAuditLogs(filters?: Partial<EventAudit>): Promise<EventAudit[]>;
saveMetrics(metrics: EventMetrics): Promise<void>;
getMetrics(): Promise<EventMetrics>;
clearAuditLogs(): Promise<void>;
clearMetrics(): Promise<void>;
}
export declare function createStorageEngine(config: StorageConfig): StorageEngine;
//# sourceMappingURL=storage-engines.d.ts.map