UNPKG

router5-helpers

Version:
33 lines (31 loc) 1.1 kB
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); export { endsWithSegment, includesSegment, startsWithSegment };