UNPKG

metallic-launcher

Version:
33 lines (29 loc) 2.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class LauncherExitSignalListenerMixin { static mix(superclass) { return class extends superclass { constructor({ exitSignalListeners }) { super(...arguments); this.exitSignalListeners = exitSignalListeners; } async run() { this.exitSignalListeners.listen(() => this.exit(0)); const httpServer = await super.run(); return httpServer; } async close() { this.exitSignalListeners.remove(); await super.close(); } async exit(failure = 0) { this.exitSignalListeners.remove(); await super.exit(failure); } }; } } exports.default = LauncherExitSignalListenerMixin; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sYXVuY2hlci1leGl0LXNpZ25hbC1saXN0ZW5lci1taXhpbi5qcyJdLCJuYW1lcyI6WyJMYXVuY2hlckV4aXRTaWduYWxMaXN0ZW5lck1peGluIiwibWl4Iiwic3VwZXJjbGFzcyIsImNvbnN0cnVjdG9yIiwiZXhpdFNpZ25hbExpc3RlbmVycyIsImFyZ3VtZW50cyIsInJ1biIsImxpc3RlbiIsImV4aXQiLCJodHRwU2VydmVyIiwiY2xvc2UiLCJyZW1vdmUiLCJmYWlsdXJlIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFlLE1BQU1BLCtCQUFOLENBQXNDO0FBQ25ELFNBQU9DLEdBQVAsQ0FBWUMsVUFBWixFQUF3QjtBQUN0QixXQUFPLGNBQWNBLFVBQWQsQ0FBeUI7QUFDOUJDLGtCQUFhLEVBQUVDLG1CQUFGLEVBQWIsRUFBc0M7QUFDcEMsY0FBTSxHQUFHQyxTQUFUO0FBQ0EsYUFBS0QsbUJBQUwsR0FBMkJBLG1CQUEzQjtBQUNEOztBQUVELFlBQU1FLEdBQU4sR0FBYTtBQUNYLGFBQUtGLG1CQUFMLENBQXlCRyxNQUF6QixDQUFnQyxNQUFNLEtBQUtDLElBQUwsQ0FBVSxDQUFWLENBQXRDO0FBQ0EsY0FBTUMsYUFBYSxNQUFNLE1BQU1ILEdBQU4sRUFBekI7QUFDQSxlQUFPRyxVQUFQO0FBQ0Q7O0FBRUQsWUFBTUMsS0FBTixHQUFlO0FBQ2IsYUFBS04sbUJBQUwsQ0FBeUJPLE1BQXpCO0FBQ0EsY0FBTSxNQUFNRCxLQUFOLEVBQU47QUFDRDs7QUFFRCxZQUFNRixJQUFOLENBQVlJLFVBQVUsQ0FBdEIsRUFBeUI7QUFDdkIsYUFBS1IsbUJBQUwsQ0FBeUJPLE1BQXpCO0FBQ0EsY0FBTSxNQUFNSCxJQUFOLENBQVdJLE9BQVgsQ0FBTjtBQUNEO0FBcEI2QixLQUFoQztBQXNCRDtBQXhCa0Q7a0JBQWhDWiwrQiIsImZpbGUiOiJsYXVuY2hlci1leGl0LXNpZ25hbC1saXN0ZW5lci1taXhpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIExhdW5jaGVyRXhpdFNpZ25hbExpc3RlbmVyTWl4aW4ge1xuICBzdGF0aWMgbWl4IChzdXBlcmNsYXNzKSB7XG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgc3VwZXJjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3RvciAoeyBleGl0U2lnbmFsTGlzdGVuZXJzIH0pIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKVxuICAgICAgICB0aGlzLmV4aXRTaWduYWxMaXN0ZW5lcnMgPSBleGl0U2lnbmFsTGlzdGVuZXJzXG4gICAgICB9XG5cbiAgICAgIGFzeW5jIHJ1biAoKSB7XG4gICAgICAgIHRoaXMuZXhpdFNpZ25hbExpc3RlbmVycy5saXN0ZW4oKCkgPT4gdGhpcy5leGl0KDApKVxuICAgICAgICBjb25zdCBodHRwU2VydmVyID0gYXdhaXQgc3VwZXIucnVuKClcbiAgICAgICAgcmV0dXJuIGh0dHBTZXJ2ZXJcbiAgICAgIH1cblxuICAgICAgYXN5bmMgY2xvc2UgKCkge1xuICAgICAgICB0aGlzLmV4aXRTaWduYWxMaXN0ZW5lcnMucmVtb3ZlKClcbiAgICAgICAgYXdhaXQgc3VwZXIuY2xvc2UoKVxuICAgICAgfVxuXG4gICAgICBhc3luYyBleGl0IChmYWlsdXJlID0gMCkge1xuICAgICAgICB0aGlzLmV4aXRTaWduYWxMaXN0ZW5lcnMucmVtb3ZlKClcbiAgICAgICAgYXdhaXQgc3VwZXIuZXhpdChmYWlsdXJlKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19