UNPKG

hurt

Version:

HTTP and SPA routing using RFC 6570 URI templates

32 lines (28 loc) 2.17 kB
'use strict'; 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