hurt
Version:
HTTP and SPA routing using RFC 6570 URI templates
49 lines (36 loc) • 3.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.mixin = mixin;
var _eventemitter = require('eventemitter3');
var _eventemitter2 = _interopRequireDefault(_eventemitter);
var _sync = require('./sync');
var _sync2 = _interopRequireDefault(_sync);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function mixin() {
var eventemitter = new _eventemitter2.default();
return _extends({}, eventemitter, _eventemitter2.default.prototype, {
pre: [(0, _sync2.default)(function () {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
this.emit.apply(this, ['request'].concat(args));
})],
post: [(0, _sync2.default)(function () {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
this.emit.apply(this, ['finish'].concat(args));
})],
use: function use() {
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
this.emit.apply(this, ['handler'].concat(args));
return this.use.apply(this, args);
}
});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudHMuanMiXSwibmFtZXMiOlsibWl4aW4iLCJldmVudGVtaXR0ZXIiLCJwcm90b3R5cGUiLCJwcmUiLCJhcmdzIiwiZW1pdCIsInBvc3QiLCJ1c2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztRQU1nQkEsSyxHQUFBQSxLOztBQUpoQjs7OztBQUVBOzs7Ozs7QUFFTyxTQUFTQSxLQUFULEdBQWlCO0FBQ3RCLE1BQU1DLGVBQWUsNEJBQXJCOztBQUVBLHNCQUNLQSxZQURMLEVBRUssdUJBQWFDLFNBRmxCO0FBR0VDLFNBQUssQ0FDSCxvQkFBSyxZQUFtQjtBQUFBLHdDQUFOQyxJQUFNO0FBQU5BLFlBQU07QUFBQTs7QUFDdEIsV0FBS0MsSUFBTCxjQUFVLFNBQVYsU0FBd0JELElBQXhCO0FBQ0QsS0FGRCxDQURHLENBSFA7QUFRRUUsVUFBTSxDQUNKLG9CQUFLLFlBQW1CO0FBQUEseUNBQU5GLElBQU07QUFBTkEsWUFBTTtBQUFBOztBQUN0QixXQUFLQyxJQUFMLGNBQVUsUUFBVixTQUF1QkQsSUFBdkI7QUFDRCxLQUZELENBREksQ0FSUjtBQWFFRyxPQWJGLGlCQWFlO0FBQUEseUNBQU5ILElBQU07QUFBTkEsWUFBTTtBQUFBOztBQUNYLFdBQUtDLElBQUwsY0FBVSxTQUFWLFNBQXdCRCxJQUF4QjtBQUNBLGFBQU8sS0FBS0csR0FBTCxhQUFZSCxJQUFaLENBQVA7QUFDRDtBQWhCSDtBQWtCRCIsImZpbGUiOiJldmVudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSAnZXZlbnRlbWl0dGVyMyc7XG5cbmltcG9ydCBzeW5jIGZyb20gJy4vc3luYyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtaXhpbigpIHtcbiAgY29uc3QgZXZlbnRlbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZXZlbnRlbWl0dGVyLFxuICAgIC4uLkV2ZW50RW1pdHRlci5wcm90b3R5cGUsXG4gICAgcHJlOiBbXG4gICAgICBzeW5jKGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgIHRoaXMuZW1pdCgncmVxdWVzdCcsIC4uLmFyZ3MpO1xuICAgICAgfSlcbiAgICBdLFxuICAgIHBvc3Q6IFtcbiAgICAgIHN5bmMoZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpcy5lbWl0KCdmaW5pc2gnLCAuLi5hcmdzKTtcbiAgICAgIH0pXG4gICAgXSxcbiAgICB1c2UoLi4uYXJncykge1xuICAgICAgdGhpcy5lbWl0KCdoYW5kbGVyJywgLi4uYXJncyk7XG4gICAgICByZXR1cm4gdGhpcy51c2UoLi4uYXJncyk7XG4gICAgfVxuICB9O1xufVxuIl19