UNPKG

@hapiness/core

Version:

Project to have a HapiJS (https://hapijs.com/) based framework to create easier NodeJS back-end with some awesome features

48 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const rxjs_1 = require("rxjs"); const core_1 = require("../../core"); class EventManager { constructor() { this.stream$ = new rxjs_1.Subject(); this.logger = new core_1.InternalLogger('event-manager'); } /** * Add a listener filtered on type * * @param {string} type * @returns Observable */ on(type) { this.logger.debug(`listener added on ${type}`); return this .stream$ .filter(_ => !!_ && _.type === type); } /** * Emit data for type * * @param {string} type * @param {any} data * @returns void */ emit(type, data) { this.logger.debug(`send data on ${type}`); this .stream$ .next({ type, data }); } /** * Close the stream event * * @returns void */ close() { this.logger.debug(`manager closed`); this .stream$ .complete(); } } exports.EventManager = EventManager; //# sourceMappingURL=manager.js.map