UNPKG

@454creative/easy-events

Version:

A minimal event engine for Node.js and NestJS, wrapping Emmett for lightweight in-process event handling

86 lines 3.94 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createEventsInstance = exports.Events = void 0; const emmett_engine_1 = require("./emmett-engine"); const observability_engine_1 = require("./observability-engine"); const storage_engines_1 = require("./storage-engines"); // Export the singleton Events instance (observability is optional) exports.Events = new emmett_engine_1.EmmettEngine(); // Factory function for creating events instances with proper error handling function createEventsInstance(options) { try { const engine = new emmett_engine_1.EmmettEngine(); // Initialize observability if requested if (options?.enableObservability) { try { const observability = new observability_engine_1.DefaultObservabilityEngine(options.observabilityConfig); engine.setObservability(observability); if (options.logger) { options.logger.info('Easy Events: Observability engine initialized successfully'); } } catch (error) { if (options.logger) { options.logger.warn('Easy Events: Failed to initialize observability engine, continuing without observability'); } else { console.warn('Easy Events: Failed to initialize observability engine, continuing without observability'); } } } // Initialize storage if requested if (options?.enableStorage) { try { // Note: Storage integration would need to be added to observability engine new storage_engines_1.MemoryStorageEngine(); if (options.logger) { options.logger.info('Easy Events: Storage engine initialized successfully'); } } catch (error) { if (options.logger) { options.logger.warn('Easy Events: Failed to initialize storage engine, continuing without storage'); } else { console.warn('Easy Events: Failed to initialize storage engine, continuing without storage'); } } } return engine; } catch (error) { if (options?.logger) { options.logger.error('Easy Events: Failed to create events instance'); } else { console.error('Easy Events: Failed to create events instance'); } // Return a basic engine as fallback return new emmett_engine_1.EmmettEngine(); } } exports.createEventsInstance = createEventsInstance; // Export the interface and engine class for custom implementations __exportStar(require("./event-engine.interface"), exports); __exportStar(require("./emmett-engine"), exports); __exportStar(require("./observability.interface"), exports); __exportStar(require("./observability-engine"), exports); __exportStar(require("./storage.interface"), exports); __exportStar(require("./storage-engines"), exports); // Export NestJS providers for better integration __exportStar(require("./nestjs-providers"), exports); //# sourceMappingURL=index.js.map