UNPKG

@hapiness/core

Version:

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

36 lines 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const rxjs_1 = require("rxjs"); const _1 = require("."); class ShutdownUtils { constructor() { this.events$ = new rxjs_1.Subject(); process.once('SIGTERM', () => { this.events$.next('SIGTERM'); }); process.once('SIGINT', () => { this.events$.next('SIGINT'); }); } /** * Shutdown all extensions * * @param {ExtensionShutdown[]} items * @returns Observable */ shutdown(items) { return rxjs_1.Observable .from(items) .filter(_ => _.priority === _1.ExtensionShutdownPriority.IMPORTANT) .flatMap(_ => _.resolver) .toArray() .concatMap(_ => rxjs_1.Observable .from(items) .filter(__ => __.priority === _1.ExtensionShutdownPriority.NORMAL) .flatMap(__ => __.resolver) .toArray()) .map(_ => true); } } exports.ShutdownUtils = ShutdownUtils; //# sourceMappingURL=shutdown.js.map