UNPKG

router5-helpers

Version:
39 lines (35 loc) 1.25 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var dotOrEnd = '(\\..+$|$)'; var dotOrStart = '(^.+\\.|^)'; var getName = function (route) { return typeof route === 'string' ? route : route.name || ''; }; var test = function (route, regex) { return regex.test(getName(route)); }; var normaliseSegment = function (name) { return name.replace('.', '\\.'); }; var testRouteWithSegment = function (start, end) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var route = args[0]; var applySegment = function (segment) { return test(route, new RegExp(start + normaliseSegment(segment) + end)); }; if (args.length === 2) { return applySegment(args[1]); } return applySegment; }; }; var startsWithSegment = testRouteWithSegment('^', dotOrEnd); var endsWithSegment = testRouteWithSegment(dotOrStart, '$'); var includesSegment = testRouteWithSegment(dotOrStart, dotOrEnd); exports.endsWithSegment = endsWithSegment; exports.includesSegment = includesSegment; exports.startsWithSegment = startsWithSegment;