hurt
Version:
HTTP and SPA routing using RFC 6570 URI templates
32 lines (28 loc) • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.mixin = mixin;
function mixin() {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$name = _ref.name,
name = _ref$name === undefined ? '' : _ref$name;
var routes = {};
return {
name: name,
route: function route() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var name = args.reduce(function (name, options) {
return name || options.name;
}, '');
var route = routes[name] || this.route.apply(this, args);
if (route.name) {
routes[name] = route;
}
return route;
}
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9uYW1lZC5qcyJdLCJuYW1lcyI6WyJtaXhpbiIsIm5hbWUiLCJyb3V0ZXMiLCJyb3V0ZSIsImFyZ3MiLCJyZWR1Y2UiLCJvcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7OztRQUFnQkEsSyxHQUFBQSxLO0FBQVQsU0FBU0EsS0FBVCxHQUFtQztBQUFBLGlGQUFKLEVBQUk7QUFBQSx1QkFBbEJDLElBQWtCO0FBQUEsTUFBbEJBLElBQWtCLDZCQUFYLEVBQVc7O0FBQ3hDLE1BQU1DLFNBQVMsRUFBZjs7QUFFQSxTQUFPO0FBQ0xELGNBREs7QUFFTEUsU0FGSyxtQkFFVTtBQUFBLHdDQUFOQyxJQUFNO0FBQU5BLFlBQU07QUFBQTs7QUFDYixVQUFNSCxPQUFPRyxLQUFLQyxNQUFMLENBQVksVUFBQ0osSUFBRCxFQUFPSyxPQUFQO0FBQUEsZUFBb0JMLFFBQVFLLFFBQVFMLElBQXBDO0FBQUEsT0FBWixFQUF1RCxFQUF2RCxDQUFiO0FBQ0EsVUFBTUUsUUFBUUQsT0FBUUQsSUFBUixLQUFrQixLQUFLRSxLQUFMLGFBQWNDLElBQWQsQ0FBaEM7QUFDQSxVQUFJRCxNQUFNRixJQUFWLEVBQWdCO0FBQ2RDLGVBQVFELElBQVIsSUFBaUJFLEtBQWpCO0FBQ0Q7QUFDRCxhQUFPQSxLQUFQO0FBQ0Q7QUFUSSxHQUFQO0FBV0QiLCJmaWxlIjoibmFtZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gbWl4aW4oeyBuYW1lID0gJycgfSA9IHt9KSB7XG4gIGNvbnN0IHJvdXRlcyA9IHt9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICByb3V0ZSguLi5hcmdzKSB7XG4gICAgICBjb25zdCBuYW1lID0gYXJncy5yZWR1Y2UoKG5hbWUsIG9wdGlvbnMpID0+IChuYW1lIHx8IG9wdGlvbnMubmFtZSksICcnKTtcbiAgICAgIGNvbnN0IHJvdXRlID0gcm91dGVzWyBuYW1lIF0gfHwgdGhpcy5yb3V0ZSguLi5hcmdzKTtcbiAgICAgIGlmIChyb3V0ZS5uYW1lKSB7XG4gICAgICAgIHJvdXRlc1sgbmFtZSBdID0gcm91dGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gcm91dGU7XG4gICAgfVxuICB9O1xufVxuIl19