UNPKG

metallic-launcher

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