UNPKG

metallic-metrics

Version:
38 lines (30 loc) 3.36 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _metallicListeners = require('metallic-listeners'); var _metallicErrors = require('metallic-errors'); class LoggerSighupListenerMixin { static mix(superclass) { return class extends superclass { constructor({ errorListener, logger }) { super(...arguments); if (!(errorListener instanceof _metallicListeners.ListenerInterface)) { throw new _metallicErrors.ParentClassError(errorListener.constructor.name, _metallicListeners.ListenerInterface.name); } this.errorListener = errorListener; this.logger = logger; } async run() { this.errorListener.listen(err => this.logger.error('Error sending stats:', err)); return super.run(); } async close() { this.errorListener.remove(); return super.close(); } }; } } exports.default = LoggerSighupListenerMixin; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRyaWNzLWVycm9yLWxpc3RlbmVyLW1peGluLmpzIl0sIm5hbWVzIjpbIkxvZ2dlclNpZ2h1cExpc3RlbmVyTWl4aW4iLCJtaXgiLCJzdXBlcmNsYXNzIiwiY29uc3RydWN0b3IiLCJlcnJvckxpc3RlbmVyIiwibG9nZ2VyIiwiYXJndW1lbnRzIiwibmFtZSIsInJ1biIsImxpc3RlbiIsImVyciIsImVycm9yIiwiY2xvc2UiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUVlLE1BQU1BLHlCQUFOLENBQWdDO0FBQzdDLFNBQU9DLEdBQVAsQ0FBWUMsVUFBWixFQUF3QjtBQUN0QixXQUFPLGNBQWNBLFVBQWQsQ0FBeUI7QUFDOUJDLGtCQUFhLEVBQUVDLGFBQUYsRUFBaUJDLE1BQWpCLEVBQWIsRUFBd0M7QUFDdEMsY0FBTSxHQUFHQyxTQUFUOztBQUVBLFlBQUksRUFBRUYsNkRBQUYsQ0FBSixFQUFtRDtBQUNqRCxnQkFBTSxxQ0FBcUJBLGNBQWNELFdBQWQsQ0FBMEJJLElBQS9DLEVBQXFELHFDQUFrQkEsSUFBdkUsQ0FBTjtBQUNEOztBQUVELGFBQUtILGFBQUwsR0FBcUJBLGFBQXJCO0FBQ0EsYUFBS0MsTUFBTCxHQUFjQSxNQUFkO0FBQ0Q7O0FBRUQsWUFBTUcsR0FBTixHQUFhO0FBQ1gsYUFBS0osYUFBTCxDQUFtQkssTUFBbkIsQ0FBMEJDLE9BQU8sS0FBS0wsTUFBTCxDQUFZTSxLQUFaLENBQWtCLHNCQUFsQixFQUEwQ0QsR0FBMUMsQ0FBakM7QUFDQSxlQUFPLE1BQU1GLEdBQU4sRUFBUDtBQUNEOztBQUVELFlBQU1JLEtBQU4sR0FBZTtBQUNiLGFBQUtSLGFBQUwsQ0FBbUJTLE1BQW5CO0FBQ0EsZUFBTyxNQUFNRCxLQUFOLEVBQVA7QUFDRDtBQXBCNkIsS0FBaEM7QUFzQkQ7QUF4QjRDO2tCQUExQloseUIiLCJmaWxlIjoibWV0cmljcy1lcnJvci1saXN0ZW5lci1taXhpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RlbmVySW50ZXJmYWNlIH0gZnJvbSAnbWV0YWxsaWMtbGlzdGVuZXJzJ1xuaW1wb3J0IHsgUGFyZW50Q2xhc3NFcnJvciB9IGZyb20gJ21ldGFsbGljLWVycm9ycydcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9nZ2VyU2lnaHVwTGlzdGVuZXJNaXhpbiB7XG4gIHN0YXRpYyBtaXggKHN1cGVyY2xhc3MpIHtcbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBzdXBlcmNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yICh7IGVycm9yTGlzdGVuZXIsIGxvZ2dlciB9KSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cylcblxuICAgICAgICBpZiAoIShlcnJvckxpc3RlbmVyIGluc3RhbmNlb2YgTGlzdGVuZXJJbnRlcmZhY2UpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFBhcmVudENsYXNzRXJyb3IoZXJyb3JMaXN0ZW5lci5jb25zdHJ1Y3Rvci5uYW1lLCBMaXN0ZW5lckludGVyZmFjZS5uYW1lKVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lcnJvckxpc3RlbmVyID0gZXJyb3JMaXN0ZW5lclxuICAgICAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlclxuICAgICAgfVxuXG4gICAgICBhc3luYyBydW4gKCkge1xuICAgICAgICB0aGlzLmVycm9yTGlzdGVuZXIubGlzdGVuKGVyciA9PiB0aGlzLmxvZ2dlci5lcnJvcignRXJyb3Igc2VuZGluZyBzdGF0czonLCBlcnIpKVxuICAgICAgICByZXR1cm4gc3VwZXIucnVuKClcbiAgICAgIH1cblxuICAgICAgYXN5bmMgY2xvc2UgKCkge1xuICAgICAgICB0aGlzLmVycm9yTGlzdGVuZXIucmVtb3ZlKClcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb3NlKClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==