@clerk/shared
Version:
Internal package utils used by the Clerk SDKs
1 lines • 18.5 kB
Source Map (JSON)
{"version":3,"file":"pathToRegexp-C-7qTA7_.mjs","names":["pathToRegexpBase","matchBase"],"sources":["../../src/compiled/path-to-regexp/index.js","../../src/pathToRegexp.ts"],"sourcesContent":["/* eslint-disable no-redeclare, curly */\n\nfunction _(r) {\n for (var n = [], e = 0; e < r.length; ) {\n var a = r[e];\n if (a === '*' || a === '+' || a === '?') {\n n.push({\n type: 'MODIFIER',\n index: e,\n value: r[e++],\n });\n continue;\n }\n if (a === '\\\\') {\n n.push({\n type: 'ESCAPED_CHAR',\n index: e++,\n value: r[e++],\n });\n continue;\n }\n if (a === '{') {\n n.push({\n type: 'OPEN',\n index: e,\n value: r[e++],\n });\n continue;\n }\n if (a === '}') {\n n.push({\n type: 'CLOSE',\n index: e,\n value: r[e++],\n });\n continue;\n }\n if (a === ':') {\n for (var u = '', t = e + 1; t < r.length; ) {\n var c = r.charCodeAt(t);\n if ((c >= 48 && c <= 57) || (c >= 65 && c <= 90) || (c >= 97 && c <= 122) || c === 95) {\n u += r[t++];\n continue;\n }\n break;\n }\n if (!u) throw new TypeError('Missing parameter name at '.concat(e));\n (n.push({\n type: 'NAME',\n index: e,\n value: u,\n }),\n (e = t));\n continue;\n }\n if (a === '(') {\n var o = 1,\n m = '',\n t = e + 1;\n if (r[t] === '?') throw new TypeError('Pattern cannot start with \"?\" at '.concat(t));\n for (; t < r.length; ) {\n if (r[t] === '\\\\') {\n m += r[t++] + r[t++];\n continue;\n }\n if (r[t] === ')') {\n if ((o--, o === 0)) {\n t++;\n break;\n }\n } else if (r[t] === '(' && (o++, r[t + 1] !== '?'))\n throw new TypeError('Capturing groups are not allowed at '.concat(t));\n m += r[t++];\n }\n if (o) throw new TypeError('Unbalanced pattern at '.concat(e));\n if (!m) throw new TypeError('Missing pattern at '.concat(e));\n (n.push({\n type: 'PATTERN',\n index: e,\n value: m,\n }),\n (e = t));\n continue;\n }\n n.push({\n type: 'CHAR',\n index: e,\n value: r[e++],\n });\n }\n return (\n n.push({\n type: 'END',\n index: e,\n value: '',\n }),\n n\n );\n}\n\nfunction F(r, n) {\n n === void 0 && (n = {});\n for (\n var e = _(r),\n a = n.prefixes,\n u = a === void 0 ? './' : a,\n t = n.delimiter,\n c = t === void 0 ? '/#?' : t,\n o = [],\n m = 0,\n h = 0,\n p = '',\n f = function (l) {\n if (h < e.length && e[h].type === l) return e[h++].value;\n },\n w = function (l) {\n var v = f(l);\n if (v !== void 0) return v;\n var E = e[h],\n N = E.type,\n S = E.index;\n throw new TypeError('Unexpected '.concat(N, ' at ').concat(S, ', expected ').concat(l));\n },\n d = function () {\n for (var l = '', v; (v = f('CHAR') || f('ESCAPED_CHAR')); ) l += v;\n return l;\n },\n M = function (l) {\n for (var v = 0, E = c; v < E.length; v++) {\n var N = E[v];\n if (l.indexOf(N) > -1) return !0;\n }\n return !1;\n },\n A = function (l) {\n var v = o[o.length - 1],\n E = l || (v && typeof v == 'string' ? v : '');\n if (v && !E)\n throw new TypeError('Must have text between two parameters, missing text after \"'.concat(v.name, '\"'));\n return !E || M(E) ? '[^'.concat(s(c), ']+?') : '(?:(?!'.concat(s(E), ')[^').concat(s(c), '])+?');\n };\n h < e.length;\n\n ) {\n var T = f('CHAR'),\n x = f('NAME'),\n C = f('PATTERN');\n if (x || C) {\n var g = T || '';\n (u.indexOf(g) === -1 && ((p += g), (g = '')),\n p && (o.push(p), (p = '')),\n o.push({\n name: x || m++,\n prefix: g,\n suffix: '',\n pattern: C || A(g),\n modifier: f('MODIFIER') || '',\n }));\n continue;\n }\n var i = T || f('ESCAPED_CHAR');\n if (i) {\n p += i;\n continue;\n }\n p && (o.push(p), (p = ''));\n var R = f('OPEN');\n if (R) {\n var g = d(),\n y = f('NAME') || '',\n O = f('PATTERN') || '',\n b = d();\n (w('CLOSE'),\n o.push({\n name: y || (O ? m++ : ''),\n pattern: y && !O ? A(g) : O,\n prefix: g,\n suffix: b,\n modifier: f('MODIFIER') || '',\n }));\n continue;\n }\n w('END');\n }\n return o;\n}\n\nfunction H(r, n) {\n var e = [],\n a = P(r, e, n);\n return I(a, e, n);\n}\n\nfunction I(r, n, e) {\n e === void 0 && (e = {});\n var a = e.decode,\n u =\n a === void 0\n ? function (t) {\n return t;\n }\n : a;\n return function (t) {\n var c = r.exec(t);\n if (!c) return !1;\n for (\n var o = c[0],\n m = c.index,\n h = Object.create(null),\n p = function (w) {\n if (c[w] === void 0) return 'continue';\n var d = n[w - 1];\n d.modifier === '*' || d.modifier === '+'\n ? (h[d.name] = c[w].split(d.prefix + d.suffix).map(function (M) {\n return u(M, d);\n }))\n : (h[d.name] = u(c[w], d));\n },\n f = 1;\n f < c.length;\n f++\n )\n p(f);\n return {\n path: o,\n index: m,\n params: h,\n };\n };\n}\n\nfunction s(r) {\n return r.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1');\n}\n\nfunction D(r) {\n return r && r.sensitive ? '' : 'i';\n}\n\nfunction $(r, n) {\n if (!n) return r;\n for (var e = /\\((?:\\?<(.*?)>)?(?!\\?)/g, a = 0, u = e.exec(r.source); u; )\n (n.push({\n name: u[1] || a++,\n prefix: '',\n suffix: '',\n modifier: '',\n pattern: '',\n }),\n (u = e.exec(r.source)));\n return r;\n}\n\nfunction W(r, n, e) {\n var a = r.map(function (u) {\n return P(u, n, e).source;\n });\n return new RegExp('(?:'.concat(a.join('|'), ')'), D(e));\n}\n\nfunction L(r, n, e) {\n return U(F(r, e), n, e);\n}\n\nfunction U(r, n, e) {\n e === void 0 && (e = {});\n for (\n var a = e.strict,\n u = a === void 0 ? !1 : a,\n t = e.start,\n c = t === void 0 ? !0 : t,\n o = e.end,\n m = o === void 0 ? !0 : o,\n h = e.encode,\n p =\n h === void 0\n ? function (v) {\n return v;\n }\n : h,\n f = e.delimiter,\n w = f === void 0 ? '/#?' : f,\n d = e.endsWith,\n M = d === void 0 ? '' : d,\n A = '['.concat(s(M), ']|$'),\n T = '['.concat(s(w), ']'),\n x = c ? '^' : '',\n C = 0,\n g = r;\n C < g.length;\n C++\n ) {\n var i = g[C];\n if (typeof i == 'string') x += s(p(i));\n else {\n var R = s(p(i.prefix)),\n y = s(p(i.suffix));\n if (i.pattern)\n if ((n && n.push(i), R || y))\n if (i.modifier === '+' || i.modifier === '*') {\n var O = i.modifier === '*' ? '?' : '';\n x += '(?:'\n .concat(R, '((?:')\n .concat(i.pattern, ')(?:')\n .concat(y)\n .concat(R, '(?:')\n .concat(i.pattern, '))*)')\n .concat(y, ')')\n .concat(O);\n } else x += '(?:'.concat(R, '(').concat(i.pattern, ')').concat(y, ')').concat(i.modifier);\n else {\n if (i.modifier === '+' || i.modifier === '*')\n throw new TypeError('Can not repeat \"'.concat(i.name, '\" without a prefix and suffix'));\n x += '('.concat(i.pattern, ')').concat(i.modifier);\n }\n else x += '(?:'.concat(R).concat(y, ')').concat(i.modifier);\n }\n }\n if (m) (u || (x += ''.concat(T, '?')), (x += e.endsWith ? '(?='.concat(A, ')') : '$'));\n else {\n var b = r[r.length - 1],\n l = typeof b == 'string' ? T.indexOf(b[b.length - 1]) > -1 : b === void 0;\n (u || (x += '(?:'.concat(T, '(?=').concat(A, '))?')), l || (x += '(?='.concat(T, '|').concat(A, ')')));\n }\n return new RegExp(x, D(e));\n}\n\nfunction P(r, n, e) {\n return r instanceof RegExp ? $(r, n) : Array.isArray(r) ? W(r, n, e) : L(r, n, e);\n}\nexport { H as match, P as pathToRegexp };\n","import { match as matchBase, pathToRegexp as pathToRegexpBase } from './compiled/path-to-regexp';\n\ninterface ParseOptions {\n /**\n * Set the default delimiter for repeat parameters. (default: `'/'`)\n */\n delimiter?: string;\n /**\n * List of characters to automatically consider prefixes when parsing.\n */\n prefixes?: string;\n}\ninterface RegexpToFunctionOptions {\n /**\n * Function for decoding strings for params.\n */\n decode?: (value: string, token: Key) => string;\n}\n/**\n * A match result contains data about the path match.\n */\ninterface MatchResult<P extends object = object> {\n path: string;\n index: number;\n params: P;\n}\n/**\n * A match is either `false` (no match) or a match result.\n */\ntype Match<P extends object = object> = false | MatchResult<P>;\n/**\n * The match function takes a string and returns whether it matched the path.\n */\ntype MatchFunction<P extends object = object> = (path: string) => Match<P>;\n\n/**\n * Metadata about a key.\n */\ninterface Key {\n name: string | number;\n prefix: string;\n suffix: string;\n pattern: string;\n modifier: string;\n}\ninterface TokensToRegexpOptions {\n /**\n * When `true` the regexp will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * When `true` the regexp won't allow an optional trailing delimiter to match. (default: `false`)\n */\n strict?: boolean;\n /**\n * When `true` the regexp will match to the end of the string. (default: `true`)\n */\n end?: boolean;\n /**\n * When `true` the regexp will match from the beginning of the string. (default: `true`)\n */\n start?: boolean;\n /**\n * Sets the final character for non-ending optimistic matches. (default: `/`)\n */\n delimiter?: string;\n /**\n * List of characters that can also be \"end\" characters.\n */\n endsWith?: string;\n /**\n * Encode path tokens for use in the `RegExp`.\n */\n encode?: (value: string) => string;\n}\n/**\n * Supported `path-to-regexp` input types.\n */\ntype Path = string | RegExp | Array<string | RegExp>;\n\nexport const pathToRegexp = (path: string) => {\n try {\n // @ts-ignore no types exists for the pre-compiled package\n return pathToRegexpBase(path);\n } catch (e: any) {\n throw new Error(\n `Invalid path: ${path}.\\nConsult the documentation of path-to-regexp here: https://github.com/pillarjs/path-to-regexp/tree/6.x\\n${e.message}`,\n );\n }\n};\n\n/**\n *\n */\nexport function match<P extends object = object>(\n str: Path,\n options?: ParseOptions & TokensToRegexpOptions & RegexpToFunctionOptions,\n): MatchFunction<P> {\n try {\n // @ts-ignore no types exists for the pre-compiled package\n return matchBase(str, options);\n } catch (e: any) {\n throw new Error(\n `Invalid path and options: Consult the documentation of path-to-regexp here: https://github.com/pillarjs/path-to-regexp/tree/6.x\\n${e.message}`,\n );\n }\n}\n\nexport { type Match, type MatchFunction };\n"],"mappings":"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"}