@real-router/core 0.74.7 → 0.74.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Router-COX_5WnL.js +2 -0
- package/dist/cjs/Router-COX_5WnL.js.map +1 -0
- package/dist/cjs/api.d.ts +1 -1
- package/dist/cjs/api.d.ts.map +1 -1
- package/dist/cjs/api.js +1 -1
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/{cloneRouter-BfV_sNPW.js → cloneRouter-CZSBebAR.js} +2 -2
- package/dist/cjs/{cloneRouter-BfV_sNPW.js.map → cloneRouter-CZSBebAR.js.map} +1 -1
- package/dist/cjs/esm-BIeQwCN9.js +2 -0
- package/dist/cjs/esm-BIeQwCN9.js.map +1 -0
- package/dist/cjs/{index-Ti9C-wWj.d.ts → index-cgB7PGoM.d.ts} +3 -2
- package/dist/cjs/{index-Ti9C-wWj.d.ts.map → index-cgB7PGoM.d.ts.map} +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/utils.js +1 -1
- package/dist/cjs/validation.d.ts +13 -1
- package/dist/cjs/validation.d.ts.map +1 -1
- package/dist/cjs/validation.js +1 -1
- package/dist/esm/Router-Y89LqL20.mjs +2 -0
- package/dist/esm/Router-Y89LqL20.mjs.map +1 -0
- package/dist/esm/api.d.mts +1 -1
- package/dist/esm/api.d.mts.map +1 -1
- package/dist/esm/api.mjs +1 -1
- package/dist/esm/api.mjs.map +1 -1
- package/dist/esm/cloneRouter-C4MI0vxG.mjs +2 -0
- package/dist/esm/{cloneRouter-CKop0gx4.mjs.map → cloneRouter-C4MI0vxG.mjs.map} +1 -1
- package/dist/esm/esm-CLeBo4Hk.mjs +2 -0
- package/dist/esm/esm-CLeBo4Hk.mjs.map +1 -0
- package/dist/esm/{index-Ti9C-wWj.d.mts → index-cgB7PGoM.d.mts} +3 -2
- package/dist/esm/{index-Ti9C-wWj.d.mts.map → index-cgB7PGoM.d.mts.map} +1 -1
- package/dist/esm/index.d.mts +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/utils.mjs +1 -1
- package/dist/esm/validation.d.mts +13 -1
- package/dist/esm/validation.d.mts.map +1 -1
- package/dist/esm/validation.mjs +1 -1
- package/package.json +1 -1
- package/dist/cjs/Router-jopnJ59k.js +0 -2
- package/dist/cjs/Router-jopnJ59k.js.map +0 -1
- package/dist/cjs/esm-BEsl32ya.js +0 -2
- package/dist/cjs/esm-BEsl32ya.js.map +0 -1
- package/dist/esm/Router-B5jFoRL0.mjs +0 -2
- package/dist/esm/Router-B5jFoRL0.mjs.map +0 -1
- package/dist/esm/cloneRouter-CKop0gx4.mjs +0 -2
- package/dist/esm/esm-C2tc0t6J.mjs +0 -2
- package/dist/esm/esm-C2tc0t6J.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esm-CLeBo4Hk.mjs","names":["e","t","n","r","i","a","o","s","c","l","u","d","f","p","m","h","g","_","v","y","b","x","S","C","w","T","E","D","O","k","A","j","M","N","P","F","I","L","R","z","B","V","H","U","W","G","K","q","J","#e","#s","#c","#a","#t","#n","#r","#p","#i","#_","#h","#v","#S","#w","#l","#u","#d","#f","#m","#o","#g","#y","#x","#b","#C","u","d","f","p","m","h","g","_","v","y","x","S","C","w","T","D","E","O","r","e","n","l","c","o","t","a","i"],"sources":["../../src/internals.ts","../../../path-matcher/dist/esm/index.mjs","../../../search-params/dist/esm/index.mjs","../../../route-tree/dist/esm/index.mjs"],"sourcesContent":["import type { DependenciesStore } from \"./namespaces\";\nimport type { RoutesStore } from \"./namespaces/RoutesNamespace\";\nimport type { Router as RouterClass } from \"./Router\";\nimport type { EventMethodMap, PluginFactory } from \"./types\";\nimport type { RouterValidator } from \"./types/RouterValidator\";\nimport type { SerializedRouterState } from \"./utils\";\nimport type {\n DefaultDependencies,\n EventName,\n NavigationOptions,\n Options,\n Params,\n Plugin,\n Router as RouterInterface,\n RouteTreeState,\n SimpleState,\n State,\n TreeChangedEvent,\n Unsubscribe,\n} from \"@real-router/types\";\nimport type { RouteTree } from \"route-tree\";\n\nexport interface RouterInternals<\n D extends DefaultDependencies = DefaultDependencies,\n> {\n readonly makeState: <P extends Params = Params>(\n name: string,\n params?: P,\n path?: string,\n meta?: Record<string, Record<string, \"url\" | \"query\">>,\n ) => State<P>;\n\n readonly forwardState: <P extends Params = Params>(\n routeName: string,\n routeParams: P,\n ) => SimpleState<P>;\n\n readonly buildStateResolved: (\n resolvedName: string,\n resolvedParams: Params,\n ) => RouteTreeState | undefined;\n\n readonly matchPath: <P extends Params = Params>(\n path: string,\n options?: Options,\n ) => State<P> | undefined;\n\n readonly getOptions: () => Options;\n\n readonly addEventListener: <E extends EventName>(\n eventName: E,\n cb: Plugin[EventMethodMap[E]],\n ) => Unsubscribe;\n\n /**\n * Route-tree mutation channel — internal access for the `getRoutesApi`\n * wrapper. A dedicated bridge is required because the public\n * `addEventListener<E extends EventName>` structurally rejects\n * `\"TREE_CHANGED\"` (it is not in the public `EventName` union), is strict on\n * duplicates, and exposes neither `emit` nor `listenerCount`.\n */\n readonly treeChanged: {\n readonly emit: (event: TreeChangedEvent) => void;\n readonly subscribe: (\n handler: (event: TreeChangedEvent) => void,\n ) => Unsubscribe;\n readonly listenerCount: () => number;\n /**\n * True while a `TREE_CHANGED` emit is on the stack — `getRoutesApi` reads it\n * to reject reentrant route-CRUD from a `subscribeChanges` handler (#1032).\n */\n readonly isEmitting: () => boolean;\n };\n\n readonly buildPath: (route: string, params?: Params) => string;\n\n readonly emitTransitionError: (error: Error) => void;\n\n /**\n * Emits `TRANSITION_SUCCESS` directly (no FSM transition) — used by\n * `getRoutesApi().replace()` to notify `router.subscribe` listeners when a\n * structural replace revalidates the active state (#950). Mirrors the success\n * emission `completeTransition` / `navigateToNotFound` perform.\n */\n readonly emitTransitionSuccess: (\n toState: State,\n fromState: State | undefined,\n opts?: NavigationOptions,\n ) => void;\n\n /**\n * Commits the not-found (`UNKNOWN_ROUTE`) state for `path` and emits\n * `TRANSITION_SUCCESS` — the `NavigationNamespace.navigateToNotFound`\n * primitive. `replace()` uses it when a structural replace drops the active\n * route, so subscribers are notified instead of the state silently clearing\n * (#950).\n */\n readonly navigateToNotFound: (path: string) => State;\n\n readonly start: (path: string) => Promise<State>;\n\n /**\n * Plugin-only navigation entry point — delegates to\n * `NavigationNamespace.navigateToState` (`getPluginApi(router).navigateToState`).\n * Hidden from `Router`/`Navigator` to keep the userland surface minimal;\n * see `core-types/src/api.ts` for usage docs.\n */\n readonly navigateToState: (\n state: State,\n options?: NavigationOptions,\n ) => Promise<State>;\n\n /* eslint-disable @typescript-eslint/no-explicit-any -- heterogeneous map: stores different InterceptorFn<M> types under different keys */\n readonly interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n\n readonly setRootPath: (rootPath: string) => void;\n readonly getRootPath: () => string;\n\n readonly getTree: () => RouteTree;\n\n readonly isDisposed: () => boolean;\n\n validator: RouterValidator | null;\n\n // Dependencies (issue #172)\n readonly dependenciesGetStore: () => DependenciesStore<D>;\n\n // Clone support (issue #173, consolidated #964). One accessor for the\n // source-side snapshot a clone carries over besides the route store, so a new\n // clone-relevant subsystem is wired in a single place instead of being spread\n // across separate methods.\n readonly getCloneState: () => {\n options: Options;\n dependencies: Record<string, unknown>;\n pluginFactories: PluginFactory<D>[];\n };\n\n // Consolidated route data store (issue #174 Phase 2)\n readonly routeGetStore: () => RoutesStore<D>;\n\n // Cross-namespace state (issue #174)\n readonly getStateName: () => string | undefined;\n readonly isTransitioning: () => boolean;\n readonly clearState: () => void;\n readonly setState: (state: State) => void;\n readonly routerExtensions: { keys: string[] }[];\n readonly contextClaimRecords: Set<string>;\n\n /**\n * One-shot hydration scratchpad populated by `hydrateRouter` immediately\n * before delegating to `router.start(parsed.path)` and cleared in the\n * matching `finally`. SSR loader plugins read this slot directly via\n * `getInternals(router).hydrationState` to short-circuit their own loader\n * call when the server-resolved namespace value is already present in the\n * parsed state (#596). `null` outside of an active `hydrateRouter`\n * invocation.\n */\n hydrationState: SerializedRouterState | null;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- existential type: stores RouterInternals for all Dependencies types\nconst internals = new WeakMap<object, RouterInternals<any>>();\n\nexport function getInternals<D extends DefaultDependencies>(\n router: RouterInterface<D>,\n): RouterInternals<D> {\n const ctx = internals.get(router);\n\n if (!ctx) {\n throw new TypeError(\n \"[real-router] Invalid router instance — not found in internals registry\",\n );\n }\n\n return ctx as RouterInternals<D>;\n}\n\nexport function registerInternals<D extends DefaultDependencies>(\n router: RouterClass<D>,\n ctx: RouterInternals<D>,\n): void {\n internals.set(router, ctx);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument -- internal chain execution: type safety enforced at public API boundary (PluginApi.addInterceptor) */\nfunction executeInterceptorChain<T>(\n interceptors: ((next: (...args: any[]) => any, ...args: any[]) => any)[],\n original: (...args: any[]) => T,\n args: any[],\n): T {\n let chain = original as (...args: any[]) => any;\n\n for (const interceptor of interceptors) {\n const prev = chain;\n\n chain = (...chainArgs: any[]) => interceptor(prev, ...chainArgs);\n }\n\n return chain(...args) as T;\n}\n\n/**\n * Variadic interceptor wrapper — wraps a function of any arity, returning the\n * same callable type `T`. Use {@link createBinaryInterceptable} instead when the\n * wrapped method takes exactly two args and the caller needs the precise\n * `(a, b) => r` signature preserved (the variadic form widens args to `any[]`).\n */\nexport function createInterceptable<T extends (...args: any[]) => any>(\n name: string,\n original: T,\n interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >,\n): T {\n return ((...args: any[]) => {\n const chain = interceptors.get(name);\n\n if (!chain || chain.length === 0) {\n return original(...args);\n }\n\n return executeInterceptorChain(chain, original, args);\n }) as T;\n}\n\n/**\n * Two-argument interceptor wrapper — preserves the exact `(a: A, b: B) => R`\n * signature, which the variadic {@link createInterceptable} cannot express\n * (it widens args to `any[]`). Used for the binary interceptable methods\n * `forwardState(routeName, routeParams)` and `buildPath(route, params)`.\n */\nexport function createBinaryInterceptable<A, B, R>(\n name: string,\n original: (a: A, b: B) => R,\n interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >,\n): (a: A, b: B) => R {\n return (arg1: A, arg2: B) => {\n const chain = interceptors.get(name);\n\n if (!chain || chain.length === 0) {\n return original(arg1, arg2);\n }\n\n return executeInterceptorChain(chain, original, [arg1, arg2]);\n };\n}\n/* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument */\n","const e=`[^>]*`;function t(e){let t=!1;for(let n of e)if(n===`<`)t=!0;else if(n===`>`){if(!t)return!1;t=!1}return!t}const n=/[<>]/u,r=e=>e===58||e===42;function i(e){let t=[],n=0,r=!1;for(let i=0;i<e.length;i+=1){let a=e.charCodeAt(i);a===60?r=!0:a===62?r=!1:a===47&&!r&&(t.push(e.slice(n,i)),n=i+1)}return t.push(e.slice(n)),t}function a(e){let t=e.length;if(t===0)return{kind:`static`,text:``};if(!r(e.charCodeAt(0))){for(let n=0;n<t;n+=1){let i=e.charCodeAt(n);if(i===60)return{error:`constraint-in-static`};if(r(i)&&n+1<t&&e.charCodeAt(n+1)!==60)return{error:`fused-marker`}}return e.charCodeAt(t-1)===63?{error:`name-less`}:{kind:`static`,text:e}}let n=e.charCodeAt(0)===42,i=1;for(;i<t;){let t=e.charCodeAt(i);if(t===60||t===63)break;i+=1}let a=e.slice(1,i);if(a.length===0)return{error:`name-less`};if(r(a.charCodeAt(a.length-1)))return{error:`trailing-marker`};let o,s=!1;if(i<t)if(e.charCodeAt(i)===60){let n=e.indexOf(`>`,i+1);if(n===-1)return{error:`unbalanced-constraint`};if(n===i+1)return{error:`empty-constraint`};o=e.slice(i,n+1);let r=n+1;if(r<t)if(e.charCodeAt(r)===63)s=!0;else return{error:`fused-constraint-suffix`}}else s=!0;return n?s?{error:`optional-splat`}:{kind:`splat`,name:a}:o===void 0?{kind:`param`,name:a,optional:s}:{kind:`param`,name:a,constraint:o,optional:s}}function o(e){for(let t of i(e)){let e=a(t);if(`error`in e)return e.error}}function s(e){let t=i(e);for(let e=2;e<t.length;e+=1)if(t[e].startsWith(`*`)&&c(t[e-1])&&c(t[e-2]))return!0;return!1}function c(e){return e.startsWith(`:`)&&e.endsWith(`?`)}function l(e){return`(${e.replaceAll(/(^<|>$)/g,``)})`}function u(e,t){try{return RegExp(`^${l(e)}$`)}catch{throw Error(`[buildParamMeta] Invalid constraint '${e}' on parameter '${t}': the body between '<' and '>' must be a valid regular expression (e.g. '<[0-9]+>', '<[a-z]+>').`)}}const d=`[^/?<]+`,f=new RegExp(String.raw`([:*]${d}(?:<${e}>)?)\\?(?=[/?]|$)`,`g`),p=RegExp(`<${e}>`,`g`),m=/\\?(.+)$/;function h(e){return e.replaceAll(p,e=>`<${`x`.repeat(e.length-2)}>`).replaceAll(f,`$1\\0`)}const g=Object.freeze([]),_=Object.freeze({}),v=new Map,y=Object.freeze({urlParams:g,queryParams:g,spatParams:g,paramTypeMap:_,constraintPatterns:v,pathPattern:``});function ee(e,t,n,r,o){for(let s of i(e)){if(s.length===0)continue;let e=a(s);`error`in e||e.kind===`static`||(t.push(e.name),r[e.name]=`url`,e.kind===`splat`?n.push(e.name):e.constraint!==void 0&&o.set(e.name,{pattern:u(e.constraint,e.name),constraint:e.constraint}))}}function b(e){let t=[],n=[],r=[],i={},a=new Map,o=m.exec(h(e));if(o!==null){let t=e.slice(o.index+1).split(`&`);for(let e of t){let t=e.trim();t.length>0&&(n.push(t),i[t]=`query`)}e=e.slice(0,o.index)}return ee(e,t,r,i,a),te(t,n,r,i,a,e)}function te(e,t,n,r,i,a){return{urlParams:e.length===0?g:e,queryParams:t.length===0?g:t,spatParams:n.length===0?g:n,paramTypeMap:e.length===0&&t.length===0?_:r,constraintPatterns:i.size===0?v:i,pathPattern:a}}const ne=/[^\\w!$'()*+,.:;|~-]/gu,re=/[^\\w!$'()*+,.:;|~-]/u,ie=/[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]/g,x=e=>t=>{try{return e(t)}catch{return e(t.replaceAll(ie,`�`))}},S=x(e=>e.replaceAll(ne,e=>encodeURIComponent(e))),C={default:e=>re.test(e)?S(e):e,uri:x(encodeURI),uriComponent:x(encodeURIComponent),none:e=>e},w={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:e=>e},ae=(e,t)=>{let n=C[t],r=String(e).split(`/`),i=n(r[0]);for(let e=1;e<r.length;e++)i+=`/`+n(r[e]);return i},T=Object.freeze(Object.create(null));function E(){return{staticChildren:T,hasChildren:!1,paramChild:void 0,splatChild:void 0,route:void 0,routeIsStrong:!1,slashChildRoute:void 0}}function D(e){return e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e}function oe(e,t){return e===``?t:t===``?e:e+t}function O(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function se(e){let t=0;for(;t<e.length;)if(e.codePointAt(t)===37){if(t+2>=e.length)return!1;let n=e.codePointAt(t+1)??0,r=e.codePointAt(t+2)??0;if(!O(n)||!O(r))return!1;t+=3}else t++;return!0}const ce=Object.freeze([]),k=Object.freeze(new Set),A=Object.freeze(new Map),j=Object.freeze([]),M=Object.freeze({}),N=Object.freeze({}),P=RegExp(`<${e}>`,`g`);function F(e,t,n){let r=t.has(e.name);return{paramName:e.name,isOptional:e.kind===`param`?e.optional:!1,encoder:r?e=>ae(e,n):C[n]}}function I(e,t,n){let r=new Set,o=new Set;for(let e of t){for(let t of e.paramMeta.urlParams)r.add(t);for(let t of e.paramMeta.spatParams)o.add(t)}if(r.size===0)return{buildStaticParts:[e],buildParamSlots:j};let s=[],c=[],l=``,u=i(e);for(let[e,t]of u.entries()){e>0&&(l+=`/`);let r=a(t);if(`error`in r||r.kind===`static`){l+=t;continue}s.push(l),l=``,c.push(F(r,o,n))}return s.push(l),{buildStaticParts:s,buildParamSlots:c}}function L(e,t,n){throw Error(`[SegmentMatcher.registerTree] Parameter name conflict at the same path position: '${n}${e}' and '${n}${t}'. A parametric URL segment binds to a single name across every route that shares that position — the value cannot be captured under two names. Rename one so both routes agree (e.g. use '${n}${e}' in both).`)}function R(){throw Error(`[SegmentMatcher.registerTree] Empty parameter name: a parameter marker (':' or '*') or an optional '?' must be followed by a name (e.g. ':id', '*rest', ':id?'). A name-less marker or modifier would capture under an empty key at match but emit a literal at build — the two disagree, so it is rejected.`)}function z(e){throw Error(`[SegmentMatcher.registerTree] Fused parameter marker in segment \"${e}\": a ':'/'*' marker must begin a segment (e.g. 'a/:b', not 'a:b'). build extracts it as a param while the trie treats the segment as a literal — the two disagree.`)}function B(e){throw Error(`[SegmentMatcher.registerTree] Trailing parameter marker in segment \"${e}\": a param name cannot end in a bare ':' or '*' (e.g. ':y*' — the name is 'y' plus a stray marker). build/meta would capture the marker into the name while the gate rejects it as name-less — the two disagree, so it is rejected.`)}function V(e){throw Error(`[SegmentMatcher.registerTree] Two optional params directly before a splat in \"${e}\": a single trie slot carries only one optional→splat fork, so the outer optional would overwrite the inner and the omit-outer/take-inner form would silently reshape into the splat. Split into separate routes, or drop the '?' on one.`)}function H(e){throw Error(`[SegmentMatcher.registerTree] Non-ASCII static segment \"${e}\": match rejects non-ASCII input and compares static keys raw, so this route would never match. Percent-encode it (e.g. \"/caf%C3%A9\") or use a param.`)}function U(e){throw Error(`[SegmentMatcher.registerTree] Optional splat \"${e}\" is not supported: a splat cannot be optional — build emits multi-segment URLs the matcher rejects. Use a required splat \"*name\".`)}function W(e){throw Error(`[SegmentMatcher.registerTree] Optional param \":${e}?\" before a splat must be constrained: an unconstrained optional before a splat is ambiguous (every multi-segment value has two readings). Add a constraint, e.g. \":${e}<[a-z]+>?\", or model it as two routes.`)}function G(e){throw Error(`[SegmentMatcher.registerTree] Unbalanced constraint delimiter ('<' or '>') in path \"${e}\": every '<' must be closed by a '>'. A stray delimiter desyncs match vs build (buildPath would emit a URL match rejects).`)}function le(e){throw Error(`[SegmentMatcher.registerTree] Empty constraint '<>' in path \"${e}\": a constraint body must be non-empty (e.g. '<[0-9]+>'). An empty '<>' compiles to a never-matching pattern.`)}function ue(e){throw Error(`[SegmentMatcher.registerTree] Text fused to a constraint '>' in path \"${e}\": a '<...>' constraint must end its segment or be followed by '/' or an optional '?' — use \"/:id<...>/rest\", not \"/:id<...>rest\".`)}function de(e){throw Error(`[SegmentMatcher.registerTree] Constraint '<...>' in a static segment in path \"${e}\": a '<...>' constraint must follow a parameter marker (':' or '*') — a static segment carrying '<...>' is silently stripped. Attach it to a param (e.g. \"/:id<...>\") or drop it.`)}function fe(e,t,n){switch(e){case`name-less`:return R();case`trailing-marker`:return B(t);case`fused-marker`:return z(t);case`optional-splat`:return U(t);case`empty-constraint`:return le(n);case`fused-constraint-suffix`:return ue(n);case`constraint-in-static`:return de(n);case`unbalanced-constraint`:return G(n)}}function pe(e,t){let n=new Set,r=``;for(let e of t){if(n.has(e)){r=e;break}n.add(e)}throw Error(`[SegmentMatcher.registerTree] Duplicate parameter name ':${r}' in route \"${e}\": a param name must be unique within a route — two positions cannot both bind ':${r}' (the second silently overwrites the first). Rename one.`)}function me(e,t){throw Error(`[SegmentMatcher.registerTree] Invalid query-param declaration \"${t}\" in route \"${e}\": a query-param name cannot contain '<' or '>'. This is a reverse-order modifier typo that leaked a constraint into the query — put the optional '?' AFTER the constraint (':id<...>?', not ':id?<...>'). It would never round-trip.`)}function he(e,t){throw Error(`[SegmentMatcher.registerTree] Name collision in route \"${e}\": \"${t}\" is declared as BOTH a path param (':${t}') and a query param ('?${t}'). buildPath would emit its value twice (once in the path, once in the query). Rename one.`)}function ge(e,t){throw Error(`[SegmentMatcher.registerTree] Duplicate route path: routes \"${e}\" and \"${t}\" resolve to the same URL. The later registration would silently shadow the earlier (its deep link would resolve to the other route). Give them distinct paths.`)}function _e(e,t){throw Error(`[SegmentMatcher.registerTree] Index route \"${e}\" (path \"/\") under the dynamic parent \"${t}\" is not supported: the index cannot reliably replace the parent on every form of its path — under an optional param it binds only the present form, under a splat it is unreachable. Give the index a distinct path, or make the parent static.`)}function K(e){let t=a(e);return(`error`in t||t.kind===`static`)&&R(),t.name}function q(e,t,n){return e.paramChild?e.paramChild.name!==t&&!n.has(e)&&L(e.paramChild.name,t,`:`):(e.paramChild={node:E(),name:t,fork:void 0},n.add(e)),e.paramChild.node}function ve(e,t,n,r,i,a){let o=t.constraintPatterns.get(n)?.pattern;if(e.paramChild&&e.splatChild){o===void 0&&W(n),e.paramChild.fork={constraint:o};return}let s=i+1;if(s<=a){let t=r.indexOf(`/`,s),n=r.slice(s,t===-1?a:t);e.paramChild&&n.startsWith(`:`)&&!n.endsWith(`?`)&&(e.paramChild.fork={skipName:K(n)})}}function ye(e,t,n){if(!t.hasConstraints||!n.startsWith(`:`)||e.paramChild===void 0)return;let r=t.constraintPatterns.get(K(n))?.pattern;if(r===void 0)return;let i=e.paramChild;i.fork?.constraint===void 0?i.fork={...i.fork,constraint:r}:i.fork.constraint.source!==r.source&&(i.fork={...i.fork,constraint:RegExp(`(?:${i.fork.constraint.source})|(?:${r.source})`,i.fork.constraint.flags)})}function be(e,t,n){return e.splatChild?e.splatChild.name!==t&&!n.has(e)&&L(e.splatChild.name,t,`*`):(e.splatChild={node:E(),name:t},n.add(e)),e.splatChild.node}function J(e,t){e.route!==void 0&&e.route!==t&&e.routeIsStrong===!0&&ge(e.route.name,t.name),e.route=t,e.routeIsStrong=!0}function xe(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>=128)return!0;return!1}function Se(e,t,n){let r=D(n);if(r===`/`){J(e.root,t);return}let i=new Set,a=new Map;Y(e,e.root,r,1,t,i,a)}function Y(e,t,n,r,i,a,o){let s=o.get(t);if(s===void 0)s=new Set,o.set(t,s);else if(s.has(r))return;s.add(r);let c=n.length;for(;r<=c;){let s=n.indexOf(`/`,r),l=s===-1?c:s,u=n.slice(r,l);if(u.endsWith(`?`)){let r=K(u);Y(e,q(t,r,a),n,l+1,i,a,o),l>=c?t.route??=i:Y(e,t,n,l+1,i,a,o),ve(t,i,r,n,l,c);return}let d=t;t=X(e,t,u,a),ye(d,i,u),r=l+1}J(t,i)}function Ce(e,t,n){let r=n.slice(n.lastIndexOf(`/`)+1),i=n.split(`/`).some(e=>e.startsWith(`:`)&&e.endsWith(`?`)),a=r.startsWith(`*`);(i||a)&&_e(t.name,n);let o=we(e,n);o.slashChildRoute=t}function we(e,t){return Te(e,e.root,t)}function Te(e,t,n){let r=D(n);if(r===`/`||r===``)return t;let i=t,a=1,o=r.length,s=new Set;for(;a<=o;){let t=r.indexOf(`/`,a),n=t===-1?o:t;if(n<=a)break;let c=r.slice(a,n);i=X(e,i,c,s),a=n+1}return i}function X(e,t,n,r){if(n.startsWith(`*`)){let e=be(t,K(n),r);return t.hasChildren=!0,e}if(n.startsWith(`:`)){let e=q(t,K(n),r);return t.hasChildren=!0,e}xe(n)&&H(n);let i=e.options.caseSensitive?n:n.toLowerCase();return i in t.staticChildren||(t.staticChildren===T&&(t.staticChildren=Object.create(null)),t.staticChildren[i]=E(),t.hasChildren=!0),t.staticChildren[i]}function Z(e,n,r,o,c){let l=n.fullName===``;l||o.push(n);let u=n.absolute,d=n.paramMeta===y?n.path:n.paramMeta.pathPattern,f=u&&d.startsWith(`~`)?d.slice(1):d,p=u?f:d;t(p)||G(p);for(let e of i(p)){let t=a(e);`error`in t&&fe(t.error,e,p)}let m=p.replaceAll(P,``);s(p)&&V(p);let h=u?m:oe(r,m),g=l?c:Ee(e,n,h,u?``:r,o,c);for(let t of n.children.values())Z(e,t,h,o,g);l||o.pop()}function Ee(e,t,n,r,i,a){let o=je(n,r),s=Object.freeze([...i]),c=De(s),l=D(n),u=Q(e.rootQueryParams,i),d=Me(i),{buildStaticParts:f,buildParamSlots:p}=I(o?D(r):l,o?i.slice(0,-1):i,e.options.urlParamsEncoding),m=p.map(e=>e.paramName),h=m.length===0?k:new Set(m);h.size!==m.length&&pe(t.fullName,m),Ne(t.fullName,u,h);let g={name:t.fullName,parent:a,matchSegments:s,meta:c,declaredQueryParams:u,declaredQueryParamsSet:u.length===0?k:new Set(u),hasTrailingSlash:n.length>1&&n.endsWith(`/`),constraintPatterns:d,hasConstraints:d.size>0,buildStaticParts:f,buildParamSlots:p,buildParamNamesSet:h,cachedResult:void 0};return t.paramMeta.urlParams.length===0&&(g.cachedResult=Object.freeze({segments:g.matchSegments,params:M,meta:g.meta})),e.routesByName.set(t.fullName,g),o?ke(e,g,r):Ae(e,g,n,l,t),g}function De(e){let t;for(let n of e)Oe(n.paramTypeMap)&&(t??={},t[n.fullName]=n.paramTypeMap);return t===void 0?N:Object.freeze(t)}function Oe(e){for(let t in e)if(Object.hasOwn(e,t))return!0;return!1}function ke(e,t,n){Ce(e,t,n);let r=D(n),i=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.has(i)&&e.staticCache.set(i,t)}function Ae(e,t,n,r,i){if(Se(e,t,n),i.paramMeta.urlParams.length===0){let n=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.set(n,t)}}function je(e,t){return D(e)===D(t)}function Q(e,t){let n=[];e.length>0&&n.push(...e);for(let e of t)e.paramMeta.queryParams.length>0&&n.push(...e.paramMeta.queryParams);return n.length===0?ce:n}function Me(e){let t=new Map;for(let n of e)for(let[e,r]of n.paramMeta.constraintPatterns)t.set(e,r);return t.size===0?A:t}function Ne(e,t,r){for(let i of t)n.test(i)&&me(e,i),r.has(i)&&he(e,i)}function Pe(e){return typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):String(e)}function $(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}var Fe=class{get options(){return this.#e}#e;#t=E();#n=new Map;#r=new Map;#i={cleanPath:``,normalized:``,queryString:void 0};#a=[];#o=``;#s;#c;constructor(e){this.#e={caseSensitive:e.caseSensitive??!0,strictTrailingSlash:e.strictTrailingSlash??!1,strictQueryParams:e.strictQueryParams??!1,urlParamsEncoding:e.urlParamsEncoding??`default`,parseQueryString:e.parseQueryString,buildQueryString:e.buildQueryString},this.#s=this.#e.caseSensitive,this.#c=this.#e.urlParamsEncoding===`none`?null:w[this.#e.urlParamsEncoding]}registerTree(e){this.#a=e.paramMeta.queryParams,Z({root:this.#t,options:this.#e,routesByName:this.#n,staticCache:this.#r,rootQueryParams:this.#a},e,``,[],null)}match(e){if(!this.#p(e))return;let{cleanPath:t,normalized:n,queryString:r}=this.#i,i=this.#s?n:n.toLowerCase(),a=this.#r.get(i);if(a)return this.#e.strictTrailingSlash&&!this.#_(t,a)?void 0:r===void 0&&a.cachedResult?a.cachedResult:this.#h(a,{},r);let o={},s=this.#v(n,o);if(s&&!(this.#e.strictTrailingSlash&&!this.#_(t,s))&&this.#S(o)&&!(s.hasConstraints&&!this.#w(o,s)))return this.#h(s,o,r)}buildPath(e,t,n){let r=this.#n.get(e);if(!r)throw Error(`[SegmentMatcher.buildPath] '${e}' is not defined`);r.hasConstraints&&t&&this.#l(r,e,t);let i=this.#u(r,t),a=this.#d(i,n?.trailingSlash),o=this.#f(r,t,n?.queryParamsMode);return a+(o?`?${o}`:``)}getSegmentsByName(e){return this.#n.get(e)?.matchSegments}getMetaByName(e){return this.#n.get(e)?.meta}hasRoute(e){return this.#n.has(e)}#l(e,t,n){for(let[r,i]of e.constraintPatterns){let e=n[r];if(e!=null){let n=typeof e==`object`?JSON.stringify(e):String(e);if(!i.pattern.test(n))throw Error(`[SegmentMatcher.buildPath] '${t}' — param '${r}' value '${n}' does not match constraint '${i.constraint}'`)}}}#u(e,t){let n=e.buildStaticParts,r=e.buildParamSlots;if(r.length===0)return n[0];let i=n[0];for(let[e,a]of r.entries()){let r=t?.[a.paramName];if(r==null){if(!a.isOptional)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}'`);i.length>1?i=i.slice(0,-1):n[e+1].startsWith(`/`)&&(i=``),i+=n[e+1];continue}if(r===``&&!a.isOptional)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}' (empty string)`);let o=a.encoder(Pe(r));i+=o+n[e+1]}return i}#d(e,t){return t===`always`&&!e.endsWith(`/`)?`${e}/`:t===`never`&&e!==`/`&&e.endsWith(`/`)?e.slice(0,-1):e}#f(e,t,n){if(!t||e.declaredQueryParams.length===0&&n!==`loose`)return``;let r={},i=!1;for(let n of e.declaredQueryParams)n in t&&(r[n]=t[n],i=!0);if(n===`loose`)for(let n in t)Object.hasOwn(t,n)&&!e.declaredQueryParamsSet.has(n)&&!e.buildParamNamesSet.has(n)&&(r[n]=t[n],i=!0);return i?this.#e.buildQueryString(r):``}#p(e){if(e===``&&(e=`/`),e.codePointAt(0)!==47)return!1;let t=this.#m(e);if(t===-2)return!1;t===-3&&(e=this.#o);let n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1):void 0;if(r!==void 0){let e=r.indexOf(`#`);e!==-1&&(r=r.slice(0,e))}let i=D(n);return this.#i.cleanPath=n,this.#i.normalized=i,this.#i.queryString=r,!0}#m(e){let t=!1;for(let n=0;n<e.length;n++){let r=e.codePointAt(n);if(r===35)return this.#o=e.slice(0,n),-3;if(r===63)return n;if(r>=128)return-2;if(r===47){if(t)return-2;t=!0}else t=!1}return-1}#h(e,t,n){if(!(n!==void 0&&!this.#g(e,t,n)))return{segments:e.matchSegments,params:t,meta:e.meta}}#g(e,t,n){let r;try{r=this.#e.parseQueryString(n)}catch{return!1}if(this.#e.strictQueryParams){let n=e.declaredQueryParamsSet;for(let e in r){if(!n.has(e))return!1;$(t,e,r[e])}}else for(let e in r)$(t,e,r[e]);return!0}#_(e,t){return(e.length>1&&e.endsWith(`/`))===t.hasTrailingSlash}#v(e,t){return e.length===1?this.#t.slashChildRoute??this.#t.route:this.#y(this.#t,e,1,t)}#y(e,t,n,r){let i=e,a=t.length,o=this.#s;for(;n<=a;){let e=t.indexOf(`/`,n),s=e===-1?a:e,c=t.slice(n,s),l=o?c:c.toLowerCase(),u;if(l in i.staticChildren)u=i.staticChildren[l];else if(i.paramChild){let e=i.paramChild,o=e.fork;if(i.splatChild!==void 0){if(o?.constraint!==void 0&&!this.#x(o.constraint,c))return this.#b(i.splatChild,t,n,r);let l={[o?.skipName!==void 0&&s>=a?o.skipName:e.name]:c},u=this.#y(e.node,t,s+1,l);return u!==void 0&&(!u.hasConstraints||this.#C(u,l))?(Object.assign(r,l),u):this.#b(i.splatChild,t,n,r)}u=e.node,o?.skipName!==void 0&&s>=a?r[o.skipName]=c:r[e.name]=c}else if(i.splatChild)return this.#b(i.splatChild,t,n,r);else return;i=u,n=s+1}return i.slashChildRoute??i.route}#b(e,t,n,r){let i=e.node;if(!i.hasChildren)return r[e.name]=t.slice(n),i.route;let a={},o=this.#y(i,t,n,a);return o&&(!o.hasConstraints||this.#C(o,a))?(Object.assign(r,a),o):(r[e.name]=t.slice(n),i.route)}#x(e,t){try{return e.test(this.#c?this.#c(t):t)}catch{return!1}}#S(e){let t=this.#c;if(!t)return!0;for(let n in e){let r=e[n];if(r.includes(`%`)){if(!se(r))return!1;try{e[n]=t(r)}catch{return!1}}}return!0}#C(e,t){let n=this.#c;for(let[r,i]of e.constraintPatterns){if(!Object.hasOwn(t,r))continue;let e=t[r];if(n&&e.includes(`%`))try{e=n(e)}catch{return!1}if(!i.pattern.test(e))return!1}return!0}#w(e,t){for(let[n,r]of t.constraintPatterns)if(Object.hasOwn(e,n)&&!r.pattern.test(e[n]))return!1;return!0}};export{e as CONSTRAINT_BODY_PATTERN,y as EMPTY_PARAM_META,n as INVALID_QUERY_NAME_RGX,d as PARAM_NAME_PATTERN,Fe as SegmentMatcher,b as buildParamMeta,o as findSegmentGrammarError,s as hasMultipleOptionalsBeforeSplat,t as isConstraintBalanced};\n//# sourceMappingURL=index.mjs.map","const e=e=>{let t=e.indexOf(`%`),n=e.indexOf(`+`);if(t===-1&&n===-1)return e;let r=n===-1?e:e.replaceAll(`+`,` `);return t===-1?r:decodeURIComponent(r)},t=(t,n)=>{if(t===void 0)return n.boolean.decodeUndefined();let r=n.boolean.decodeRaw(t);if(r!==null)return r;let i=e(t),a=n.number.decode(i);return a===null?n.boolean.decodeValue(i):a},n=e=>{let t=e.indexOf(`?`);return t===-1?e:e.slice(t+1)},r=/[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]/g,i=e=>{try{return encodeURIComponent(e)}catch(t){if(!(t instanceof URIError))throw t;return encodeURIComponent(String(e).replaceAll(r,`�`))}},a=e=>{let t=typeof e;if(t!==`string`&&t!==`number`&&t!==`boolean`)throw TypeError(`[search-params] Array element must be a string, number, or boolean — received ${t}`);return i(e)},o=(e,t,n,r)=>{let i=`${e}${n}`,o=[];for(let e of t)if(e===null){let e=r.encode(i);e&&o.push(e)}else o.push(`${i}=${a(e)}`);return o.join(`&`)},s={none:{encodeArray:(e,t,n)=>o(e,t,``,n)},brackets:{encodeArray:(e,t,n)=>o(e,t,`[]`,n)},index:{encodeArray:(e,t,n)=>{let r=[];for(let[i,o]of t.entries()){let t=`${e}[${i}]`;if(o===null){let e=n.encode(t);e&&r.push(e)}else r.push(`${t}=${a(o)}`)}return r.join(`&`)},indexed:!0},comma:{encodeArray:(e,t)=>{let n=[];for(let e of t)e!==null&&n.push(a(e));return n.length===0?``:`${e}=${n.join(`,`)}`},decodeValue:e=>e.includes(`,`)?e.split(`,`):null}},c={none:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:()=>null,decodeValue:e=>e},auto:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:e=>e===`true`?!0:e===`false`?!1:null,decodeValue:e=>e},\"empty-true\":{encode:(e,t)=>t?e:`${e}=false`,decodeUndefined:()=>!0,decodeRaw:e=>e===`true`?!0:e===`false`?!1:null,decodeValue:e=>e}},l={default:{encode:e=>e},hidden:{encode:()=>``}},u={auto:{decode:e=>{let t=e.length;if(t===0)return null;let n=+(e.codePointAt(0)===45);if(n===t||t-n>1&&e.codePointAt(n)===48&&e.codePointAt(n+1)!==46)return null;let r=!1;for(let i=n;i<t;i++){let a=e.codePointAt(i);if(!(a!==void 0&&a>=48&&a<=57)){if(a===46&&!r&&i!==n&&i!==t-1){r=!0;continue}return null}}let i=Number(e);return Object.is(i,-0)||!Number.isSafeInteger(i)&&!r?null:i}},none:{decode:()=>null}},d=(e,t,n,r)=>{if(e===void 0)throw TypeError(`[search-params] Unknown ${t} \"${n}\" — expected ${r}`);return e},f=(e,t,n,r)=>({boolean:d(c[t],`booleanFormat`,t,`\"none\" | \"auto\" | \"empty-true\"`),null:d(l[n],`nullFormat`,n,`\"default\" | \"hidden\"`),number:d(u[r],`numberFormat`,r,`\"none\" | \"auto\"`),array:d(s[e],`arrayFormat`,e,`\"none\" | \"brackets\" | \"index\" | \"comma\"`)}),p={boolean:c.auto,null:l.default,number:u.auto,array:s.none},m={arrayFormat:`none`,booleanFormat:`auto`,nullFormat:`default`,numberFormat:`auto`},h={...m,strategies:p},g=e=>{if(!e||e.arrayFormat===void 0&&e.booleanFormat===void 0&&e.nullFormat===void 0&&e.numberFormat===void 0)return h;let t=e.arrayFormat??m.arrayFormat,n=e.booleanFormat??m.booleanFormat,r=e.nullFormat??m.nullFormat,i=e.numberFormat??m.numberFormat;return{arrayFormat:t,booleanFormat:n,nullFormat:r,numberFormat:i,strategies:f(t,n,r,i)}},_=e=>i(e),v=(e,t,n)=>{let r=_(e);switch(typeof t){case`string`:case`number`:return`${r}=${_(t)}`;case`boolean`:return n.strategies.boolean.encode(r,t);case`object`:return t===null?n.strategies.null.encode(r):Array.isArray(t)?n.strategies.array.encodeArray(r,t,n.strategies.null):`${r}=${_(t)}`;default:return`${r}=${_(t)}`}};function y(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}function b(e,t,n,r){if(!Object.hasOwn(e,t)){y(e,t,r?[n]:n);return}let i=e[t];Array.isArray(i)?i.push(n):y(e,t,[i,n])}function x(e,n,r,i,a){return t(i?e.slice(n+1,r):void 0,a)}function S(e,t,n){let r=t+1,i=0,a=!1;for(;r<n;){let t=e.codePointAt(r);if(t===93)return a?i:null;if(t!==void 0&&t>=48&&t<=57){i=i*10+(t-48),a=!0,r++;continue}return null}return null}function C(e,t,n){let{searchPart:r,nameEnd:i,nameSourceEnd:a,eqPos:o,end:s,hasValue:c,decodedName:l}=e,u=S(r,i,a);if(u===null)return!1;let d=x(r,o,s,c,t),f=n.get(l);return f===void 0?n.set(l,[[u,d]]):f.push([u,d]),!0}function w(n,r,i,a,o,s,c){let l=s!==-1&&s<i,u=l?s:i,d=u,f=!1;for(let e=r;e<u;e++)if(n.codePointAt(e)===91){d=e,f=!0;break}let p=e(n.slice(r,d));if(!(c!==void 0&&f&&C({searchPart:n,nameEnd:d,nameSourceEnd:u,eqPos:s,end:i,hasValue:l,decodedName:p},o,c))){if(!f&&l&&o.array.decodeValue){let e=n.slice(s+1,i),r=o.array.decodeValue(e);if(r){for(let e of r)b(a,p,t(e,o),!0);return}}b(a,p,x(n,s,i,l,o),f)}}const T=(e,t)=>{if(e===``||e===`?`)return{};let n={};return D(e,n,g(t).strategies),n},E=(e,t)=>T(n(e),t);function D(e,t,n){let r=n.array.indexed?new Map:void 0,i=0,a=e.length,o=-2;for(;i<a;){let s=e.indexOf(`&`,i);s===-1&&(s=a),s>i&&(o!==-1&&o<i&&(o=e.indexOf(`=`,i)),w(e,i,s,t,n,o,r)),i=s+1}if(r!==void 0)for(let[e,n]of r)n.sort((e,t)=>e[0]-t[0]),y(t,e,n.map(e=>e[1]))}const O=(e,t)=>{let n=Object.keys(e);if(n.length===0)return``;let r=g(t),i=[];for(let t of n){let n=e[t];if(n===void 0)continue;let a=v(t,n,r);a&&i.push(a)}return i.join(`&`)};export{m as DEFAULT_QUERY_PARAMS,O as build,E as parse,T as parseQuery};\n//# sourceMappingURL=index.mjs.map","import{EMPTY_PARAM_META as e,INVALID_QUERY_NAME_RGX as t,SegmentMatcher as n,buildParamMeta as r,findSegmentGrammarError as i,hasMultipleOptionalsBeforeSplat as a,isConstraintBalanced as o}from\"path-matcher\";import{DEFAULT_QUERY_PARAMS as s,build as c,parseQuery as l}from\"search-params\";function u(e,t){let n=e.path,r=n.startsWith(`~`),i=r?n.slice(1):n,a={name:e.name,path:i,absolute:r,children:[],parent:t};if(e.children)for(let t of e.children){let e=u(t,a);a.children.push(e)}return a}function d(e,t,n){let r=u({name:e,path:t},null);for(let e of n){let t=u(e,r);r.children.push(t)}return r}const f=Object.freeze(new Map),p=Object.freeze([]);function m(e){return e.parent?.name?`${e.parent.fullName}.${e.name}`:e.name}function h(e){let t=new Map;for(let n of e)t.set(n.name,n);return t}function g(e,t){let n=[],r=[];for(let i of e){let e=_(i,t);n.push(e),e.absolute||r.push(e)}return{childrenMap:h(n),nonAbsoluteChildren:r}}function _(t,n){let i=r(t.path),a=i.urlParams.length===0&&i.queryParams.length===0&&i.spatParams.length===0&&i.constraintPatterns.size===0&&i.pathPattern===t.path?e:i,o=a.paramTypeMap,s={name:t.name,path:t.path,absolute:t.absolute,parent:n,children:void 0,paramMeta:a,nonAbsoluteChildren:void 0,fullName:``,paramTypeMap:o};if(s.fullName=m(s),t.children.length===0)s.children=f,s.nonAbsoluteChildren=p;else{let{childrenMap:e,nonAbsoluteChildren:n}=g(t.children,s);s.children=e,s.nonAbsoluteChildren=n,Object.freeze(s.nonAbsoluteChildren),Object.freeze(s.children)}return Object.freeze(o),Object.freeze(a.urlParams),Object.freeze(a.queryParams),Object.freeze(a.spatParams),Object.freeze(a),Object.freeze(s),s}function v(e){return _(e,null)}function y(e,t,n){return v(d(e,t,n))}function b(e,t){let n=[],r=t.includes(`.`)?t.split(`.`):[t];e.path!==``&&n.push(e);let i=e;for(let e of r){let t=i.children.get(e);if(!t)return null;n.push(t),i=t}return n}function x(e){let t=e.absolute?`~${e.path}`:e.path,n={name:e.name,path:t};return e.children.size>0&&(n.children=Array.from(e.children.values(),x)),n}function S(e){return Array.from(e.children.values(),x)}function C(e){let t=e?.queryParams;return new n({...e?.caseSensitive!==void 0&&{caseSensitive:e.caseSensitive},...e?.strictTrailingSlash!==void 0&&{strictTrailingSlash:e.strictTrailingSlash},...e?.strictQueryParams!==void 0&&{strictQueryParams:e.strictQueryParams},...e?.urlParamsEncoding!==void 0&&{urlParamsEncoding:e.urlParamsEncoding},parseQueryString:e=>l(e,t),buildQueryString:e=>c(e,t)})}function w(e,t){return TypeError(`[router.${e}] ${t}`)}function T(e,t,n){if(!o(e))throw w(n,`Invalid path for route \"${t}\": unbalanced constraint delimiter ('<' or '>') in \"${e}\"`);if(e.includes(`<>`))throw w(n,`Invalid path for route \"${t}\": empty constraint '<>' in \"${e}\" (a constraint body must be non-empty, e.g. '<[0-9]+>')`)}function E(e,t,n,r){let i=new Set;for(let a of e){if(i.has(a))throw w(n,`Invalid path for route \"${t}\": duplicate parameter name ':${a}' in \"${r}\" (a param name must be unique within a route — the second binding would overwrite the first)`);i.add(a)}}function D(e,n,r,i,a){let o=new Set(e);for(let e of n){if(t.test(e))throw w(i,`Invalid path for route \"${r}\": invalid query-param name \"${e}\" in \"${a}\" (a query-param name cannot contain '<' or '>' — a reverse-order modifier typo that leaked a constraint into the query; put the optional '?' after the constraint, ':id<...>?')`);if(o.has(e))throw w(i,`Invalid path for route \"${r}\": \"${e}\" is declared as both a path param and a query param in \"${a}\" — buildPath would emit its value twice (rename one)`)}}function O(e){let t=!0,n=!1,r=!1;for(let i of e){if(r){r=i!==`>`;continue}if(i===`<`){r=!0;continue}if(i===`/`){t=!0;continue}if(t&&=(n=i===`:`||i===`*`,!1),!n&&i.codePointAt(0)>=128)return!0}return!1}function k(e){for(let t=1;t<e.length;t++)if(e[t]===`?`&&e[t-1]!==`>`&&e[t+1]===`/`&&e[t+2]===`*`)return!0;return!1}function A(e,t,n,r){if(a(e))throw w(r,`Invalid path for route \"${t}\": two optional params directly before a splat are not supported in \"${n}\" — a single trie slot carries one optional→splat fork, so the omit-outer/take-inner form would silently reshape into the splat. Split into two routes, or drop the '?' on one`);if(k(e))throw w(r,`Invalid path for route \"${t}\": an unconstrained optional param before a splat is not supported in \"${n}\" — it is ambiguous (every multi-segment value has two readings). Add a constraint (e.g. ':lang<[a-z]+>?') or model it as two routes`)}function j(e,t,n){switch(e){case`name-less`:case`trailing-marker`:return`Invalid path for route \"${t}\": parameter marker (':' or '*') without a name in \"${n}\"`;case`fused-marker`:return`Invalid path for route \"${t}\": parameter marker (':' or '*') must begin a segment, but \"${n}\" fuses one to a static prefix (use a boundary marker like \"/a/:b\")`;case`fused-constraint-suffix`:return`Invalid path for route \"${t}\": text fused to a constraint '>' in \"${n}\" (a '<...>' must end its segment or be followed by '/' or an optional '?' — use \"/:id<...>/rest\", not \"/:id<...>rest\")`;case`constraint-in-static`:return`Invalid path for route \"${t}\": constraint '<...>' in a static segment in \"${n}\" (a '<...>' must follow a parameter marker ':' or '*' — attach it to a param like \"/:id<...>\", or drop it)`;case`optional-splat`:return`Invalid path for route \"${t}\": optional splat ('*name?') is not supported in \"${n}\" — a splat cannot be optional (use a required splat '*name')`;case`unbalanced-constraint`:case`empty-constraint`:return`Invalid path for route \"${t}\": invalid constraint in \"${n}\"`}}function M(e,t,n){try{return r(e)}catch(r){throw w(n,`Invalid path for route \"${t}\": ${(r instanceof Error?r.message:String(r)).replace(/^\\[buildParamMeta] /,``)} (in \"${e}\")`)}}function N(e,t,n,r){if(typeof e!=`string`){let t;throw t=e===null?`null`:Array.isArray(e)?`array`:typeof e,w(n,`Route path must be a string, got ${t}`)}if(e===``)return;if(/\\s/.test(e))throw w(n,`Invalid path for route \"${t}\": whitespace not allowed in \"${e}\"`);if(!/^([/?~]|[^/]+$)/.test(e))throw w(n,`Route \"${t}\" has invalid path format: \"${e}\". Path should start with '/', '~', '?' or be a relative segment.`);if(e.includes(`//`))throw w(n,`Invalid path for route \"${t}\": double slashes not allowed in \"${e}\"`);T(e,t,n);let{pathPattern:a,urlParams:o,queryParams:s}=M(e,t,n);E(o,t,n,e),D(o,s,t,n,e);let c=i(a);if(c!==void 0)throw w(n,j(c,t,e));if(A(a,t,e,n),O(a))throw w(n,`Invalid path for route \"${t}\": non-ASCII static segment in \"${e}\" — match compares static segments raw and rejects non-ASCII input, so this route would never match. Percent-encode it (e.g. '/caf%C3%A9') or use a param`);let l=r&&r.paramMeta.urlParams.length>0;if(e.startsWith(`~`)&&l)throw w(n,`Absolute path \"${e}\" cannot be used under parent route with URL parameters`)}const P=/^[A-Z_a-z][\\w-]*$/,F=/\\S/,I=1e4;function L(e){if(e===null)return`null`;if(typeof e==`object`){try{let t=e.constructor;if(typeof t==`function`&&t.name!==`Object`)return t.name||`object`}catch{}return`object`}return typeof e}function R(e){for(let t of Object.keys(e)){let n=Object.getOwnPropertyDescriptor(e,t);if(n&&(n.get||n.set))return!0}return!1}function z(e,t){if(!e||typeof e!=`object`)throw TypeError(`[router.${t}] Route must be an object, got ${L(e)}`);let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)throw TypeError(`[router.${t}] Route must be a plain object, got ${L(e)}`);if(R(e))throw TypeError(`[router.${t}] Route must not have getters or setters`)}function B(e,t){if(e.encodeParams!==void 0&&typeof e.encodeParams!=`function`)throw TypeError(`[router.${t}] Route \"${String(e.name)}\" encodeParams must be a function`)}function V(e,t){if(e.decodeParams!==void 0&&typeof e.decodeParams!=`function`)throw TypeError(`[router.${t}] Route \"${String(e.name)}\" decodeParams must be a function`)}function H(e,t){if(typeof e.name!=`string`)throw TypeError(`[router.${t}] Route name must be a string, got ${L(e.name)}`);let n=e.name;if(n===``)throw TypeError(`[router.${t}] Route name cannot be empty`);if(!F.test(n))throw TypeError(`[router.${t}] Route name cannot contain only whitespace`);if(n.length>I)throw TypeError(`[router.${t}] Route name exceeds maximum length of ${I} characters`);if(!n.startsWith(`@@`)){if(n.includes(`.`))throw TypeError(`[router.${t}] Route name \"${n}\" cannot contain dots. Use children array or { parent } option in addRoute() instead.`);if(!P.test(n))throw TypeError(`[router.${t}] Invalid route name \"${n}\". Name must start with a letter or underscore, followed by letters, numbers, underscores, or hyphens.`)}}function U(e,t){if(!t.includes(`.`))return e.children.get(t);let n=e;for(let e of t.split(`.`))if(n=n.children.get(e),!n)return;return n}function W(e,t,n){if(U(e,t))throw Error(`[router.${n}] Route \"${t}\" already exists`)}function G(e,t,n){if(e.has(t))throw Error(`[router.${n}] Duplicate route \"${t}\" in batch`);e.add(t)}function K(e,t,n,r){let i=t===``?e:U(e,t);if(i){for(let e of i.children.values())if(e.path===n)throw Error(`[router.${r}] Path \"${n}\" is already defined`)}}function q(e,t,n,r){let i=e.get(t);if(i?.has(n))throw Error(`[router.${r}] Path \"${n}\" is already defined`);i?i.add(n):e.set(t,new Set([n]))}function J(e,t,n,r=``,i,a){z(e,t);let o=e;H(o,t),N(o.path,o.name,t,n),B(o,t),V(o,t);let s=o.name,c=r?`${r}.${s}`:s;n&&c&&W(n,c,t),i&&G(i,c,t);let l=o.path,u=r;if(n&&K(n,u,l,t),a&&q(a,u,l,t),o.children!==void 0){if(!Array.isArray(o.children))throw TypeError(`[router.${t}] Route \"${s}\" children must be an array, got ${L(o.children)}`);for(let e of o.children)J(e,t,n,c,i,a)}}export{s as DEFAULT_QUERY_PARAMS,C as createMatcher,y as createRouteTree,b as getSegmentsByName,x as nodeToDefinition,S as routeTreeToDefinitions,J as validateRoute};\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
|
|
@@ -143,7 +143,8 @@ interface ResolvedMatcherOptions {
|
|
|
143
143
|
*
|
|
144
144
|
* **Single source of truth** for "what characters a parameter name may contain"
|
|
145
145
|
* (#738), now consumed by the whole-path query-mask (`OPTIONAL_PARAM_MARKER_RGX`
|
|
146
|
-
* below)
|
|
146
|
+
* below). The route-tree gate reads the per-segment grammar through `parseSegment`
|
|
147
|
+
* (`findSegmentGrammarError`), not this char class. The
|
|
147
148
|
* per-segment name grammar itself lives in `parseSegment` (the tokenizer this
|
|
148
149
|
* module now consumes for URL-param extraction), so `match()` / `buildPath()`
|
|
149
150
|
* cannot disagree on a name.
|
|
@@ -363,4 +364,4 @@ type Matcher = SegmentMatcher;
|
|
|
363
364
|
declare function validateRoute(route: unknown, methodName: string, rootNode?: RouteTree, parentName?: string, seenNames?: Set<string>, seenPathsByParent?: Map<string, Set<string>>): asserts route is RouteDefinition; //#endregion
|
|
364
365
|
//#endregion
|
|
365
366
|
export { validateRoute as a, RouteTree as i, Matcher as n, RouteDefinition as r, CreateMatcherOptions as t };
|
|
366
|
-
//# sourceMappingURL=index-
|
|
367
|
+
//# sourceMappingURL=index-cgB7PGoM.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-cgB7PGoM.d.mts","names":["pattern","RegExp","constraint","urlParams","queryParams","spatParams","paramTypeMap","Readonly","Record","constraintPatterns","ReadonlyMap","ConstraintPattern","pathPattern","name","path","fullName","absolute","children","MatcherInputNode","nonAbsoluteChildren","paramMeta","ParamMeta","parent","CompiledRoute","matchSegments","meta","declaredQueryParams","declaredQueryParamsSet","ReadonlySet","hasTrailingSlash","hasConstraints","buildStaticParts","buildParamSlots","BuildParamSlot","buildParamNamesSet","cachedResult","MatchResult","paramName","encoder","value","isOptional","queryParamsMode","trailingSlash","skipName","staticChildren","SegmentNode","hasChildren","paramChild","node","fork","ForkMeta","splatChild","route","routeIsStrong","slashChildRoute","segments","params","caseSensitive","strictTrailingSlash","strictQueryParams","urlParamsEncoding","URLParamsEncodingType","parseQueryString","queryString","buildQueryString","SegmentErrorCode","private","options","ResolvedMatcherOptions","constructor","SegmentMatcherOptions","registerTree","match","buildPath","BuildPathOptions","getSegmentsByName","getMetaByName","hasRoute","arrayFormat","ArrayFormat","booleanFormat","BooleanFormat","nullFormat","NullFormat","numberFormat","NumberFormat","QueryParamPrimitive","Record","QueryParamValue","search","Options","opts","path","params","FinalOptions","key","name","path","children","RouteDefinition","absolute","ReadonlyMap","RouteTree","paramMeta","ParamMeta","parent","nonAbsoluteChildren","fullName","paramTypeMap","Readonly","Record","ParamSource","ParamTypeMap","P","RouteParams","segments","params","meta","RouteTreeStateMeta","routes","tree","routeName","node","Options","caseSensitive","strictTrailingSlash","strictQueryParams","urlParamsEncoding","queryParams","QueryParamsConfig","SegmentMatcher","CreateMatcherOptions","options","Matcher","route","methodName","rootNode","parentName","Set","seenNames","Map","seenPathsByParent"],"sources":["../../../path-matcher/dist/esm/index.d.mts","../../../search-params/dist/esm/index.d.mts","../../../route-tree/dist/esm/index.d.mts"],"mappings":";;;;;;;;;;AAuBqB;AAAA;UAZX,iBAAA;;;;;;WAMCA,OAAAA,EAAS,MAAM;EAmDgB;;;;;EAAA,SA7C/BE,UAAAA;AAAAA;;;;UAKD,SAAA;EA8CY;AAAA;AAAA;;;EAAA,SAxCXC,SAAAA;EAkDe;AAAA;;;;EAAA,SA5CfC,WAAAA;EAmD8B;;;;;EAAA,SA7C9BC,UAAAA;EAwCAQ;;;;;EAAAA,SAlCAP,YAAAA,EAAc,QAAA,CAAS,MAAA;EAsCOY;;;;;;;;;AAGD;AAoBnB;;;;AAOG;EA9BiBA,SAtB9BT,kBAAAA,EAAoB,WAAA,SAAoB,iBAAA;EAsG9B;;;;;EAAA,SAhGVG,WAAAA;AAAAA;;;;;;;;;KAUN,qBAAA;AAAA,UACK,gBAAA;EAAA,SACCC,IAAAA;EAAAA,SACAC,IAAAA;EAAAA,SACAC,QAAAA;EAAAA,SACAC,QAAAA;EAAAA,SACAC,QAAAA,EAAU,WAAA,SAAoB,gBAAA;EAAA,SAC9BE,mBAAAA,WAA8B,gBAAA;EAAA,SAC9BC,SAAAA,EAAW,SAAA;EAAA,SACXd,YAAAA,EAAc,QAAA,CAAS,MAAA;AAAA;;;;UAyBxB,gBAAA;EAAA,SACCmC,eAAAA;EAAAA,SACAC,aAAa;AAAA;;;;;;;;;;AAqEqC;AAwGjB;;;;;UA3HlC,WAAA;EAAA,SACCa,QAAAA,WAAmB,gBAAA;EAAA,SACnBC,MAAAA,EAAQ,QAAA,CAAS,MAAA;EAAA,SACjB/B,IAAAA,EAAM,QAAA,CAAS,MAAA,SAAe,MAAA;AAAA;AAAA,UAE/B,qBAAA;EACRgC,aAAAA;EACAC,mBAAAA;EACAC,iBAAAA;EACAC,iBAAAA,GAAoB,qBAAA;EACpBE,gBAAAA,GAAmBC,WAAAA,aAAwB,MAAA;EAC3CC,gBAAAA,GAAmBR,MAAAA,EAAQ,MAAA;AAAA;AAAA,UAEnB,sBAAA;EAAA,SACCC,aAAAA;EAAAA,SACAC,mBAAAA;EAAAA,SACAC,iBAAAA;EAAAA,SACAC,iBAAAA,EAAmB,qBAAA;EAAA,SACnBE,gBAAAA,GAAmBC,WAAAA,aAAwB,MAAA;EAAA,SAC3CC,gBAAAA,GAAmBR,MAAAA,EAAQ,MAAA;AAAA;AAAA;;ACnJvB;AAAA;;;;AAaE;AAAA;;;;;;cDiPH,cAAA;EAAA,CACXU,OAAAA;EAAAA,IACGC,OAAAA,IAAW,sBAAA;EACfE,WAAAA,CAAYF,OAAAA,EAAS,qBAAA;EACrBI,YAAAA,CAAavB,IAAAA,EAAM,gBAAA;EACnBwB,KAAAA,CAAM1D,IAAAA,WAAe,WAAA;EACrB2D,SAAAA,CAAU5D,IAAAA,UAAc2C,MAAAA,GAAS,MAAA,mBAAyBW,OAAAA,GAAU,gBAAA;EACpEQ,iBAAAA,CAAkB9D,IAAAA,oBAAwB,gBAAA;EAC1C+D,aAAAA,CAAc/D,IAAAA,WAAe,QAAA,CAAS,MAAA,SAAe,MAAA;EACrDgE,QAAAA,CAAShE,IAAAA;AAAAA;;;;;;;;;;;;AA1RU;AAAA;;;;;;;KCNhB,WAAA;;;;;;;;;;;;;ADyDiB;AAAA;;KCzCjB,aAAA;;ADmDqB;AAAA;;;;;;KC1CrB,UAAA;;;;;;;;;;;;;KAaA,YAAA;;;;UAIK,OAAA;EDkCwBL;EChChCsE,WAAAA,GAAc,WAAA;EDgCwB;EC9BtCE,aAAAA,GAAgB,aAAA;EDuDQ;ECrDxBE,UAAAA,GAAa,UAAA;EDsDJzC;ECpDT2C,YAAAA,GAAe,YAAA;AAAA;;;;;;;;;;UC5DP,eAAA;EAAA,CACPW,GAAAA;EACDC,IAAAA;EACAC,IAAAA;EACAC,QAAAA,GAAW,eAAe;AAAA;;;;;;;;;;;UAYlB,SAAA;EF6BwB1F;EAAAA,SE3BvBwF,IAAAA;EF2CoBtF;EAAAA,SEzCpBuF,IAAAA;EF+CArF;EAAAA,SE7CAwF,QAAAA;EF6CW;EAAA,SE3CXF,QAAAA,EAAU,WAAA,SAAoB,SAAA;EFqDf;EAAA,SEnDfK,SAAAA,EAAW,SAAA;EFmDI;EAAA,SEjDfE,MAAAA,EAAQ,SAAA;EFiDO;EAAA,SE/CfC,mBAAAA,WAA8B,SAAA;;WAE9BC,QAAAA;EFmDU;;;;;EAAA,SE7CVC,YAAAA,EAAc,QAAA,CAAS,MAAA;AAAA;AAAA;;;;;;;;;;;KA8H7B,iBAAA,GAAoB,QAAQ,CAAC,OAAA;;;;UAIxB,oBAAA;EAAA,SACCgB,aAAAA;EAAAA,SACAC,mBAAAA;EAAAA,SACAC,iBAAAA;EAAAA,SACAC,iBAAAA;EAAAA,SACAC,WAAAA,GAAc,iBAAiB;AAAA;;;ADnK1B;AAAA;;;KC2KX,OAAA,GAAU,cAAc;AD3JX;AAAA;;;;AASH;AAAA;;;;AAaE;AAAA;;;;;AAtBC;AAAA;;;;;;;;;;;AAkCW;;;;AClEiC;;;;;;;;;;AAUlC;AAAA;;;;;;;iBAqOX,aAAA,CAAcM,KAAAA,WAAgBC,UAAAA,UAAoBC,QAAAA,GAAW,SAAA,EAAWC,UAAAA,WAAqBE,SAAAA,GAAY,GAAA,UAAaE,iBAAAA,GAAoB,GAAA,SAAY,GAAA,oBAAuBP,KAAAA,IAAS,eAAA"}
|
package/dist/esm/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as RouteTree } from "./index-
|
|
1
|
+
import { i as RouteTree } from "./index-cgB7PGoM.mjs";
|
|
2
2
|
import { a as PluginFactory, o as Route, r as GuardFnFactory, s as RouteConfigUpdate, t as Router } from "./Router-Bm2qafJA.mjs";
|
|
3
3
|
import { n as RouterValidator, t as RouterError } from "./RouterError-BEqOMMFO.mjs";
|
|
4
4
|
import { Config, DefaultDependencies, DefaultDependencies as DefaultDependencies$1, ErrorCodeKeys, ErrorCodeToValueMap, ErrorCodeValues, EventToNameMap, GuardFn, Listener, NavigationOptions, Navigator, Navigator as Navigator$1, Options, Options as Options$1, Params, Plugin, Router as Router$1, SimpleState, State, SubscribeFn, SubscribeState, Subscription, TreeChangedAdd, TreeChangedClear, TreeChangedEvent, TreeChangedRemove, TreeChangedReplace, TreeChangedUpdate, TreeStructuralPatch, Unsubscribe } from "@real-router/types";
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as e,S as t,g as n,n as r,t as i,w as a,x as o}from"./Router-
|
|
1
|
+
import{C as e,S as t,g as n,n as r,t as i,w as a,x as o}from"./Router-Y89LqL20.mjs";const s=(e=[],t={},n={})=>new i(e,t,n),c=new WeakMap,l=e=>{let t=c.get(e);return t||(t=Object.freeze({navigate:e.navigate,getState:e.getState,isActiveRoute:e.isActiveRoute,canNavigateTo:e.canNavigateTo,subscribe:e.subscribe,subscribeLeave:e.subscribeLeave,isLeaveApproved:e.isLeaveApproved}),c.set(e,t)),t};export{i as Router,r as RouterError,o as UNKNOWN_ROUTE,t as constants,s as createRouter,e as errorCodes,a as events,l as getNavigator,n as resolveForwardChain};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/utils.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{l as e}from"./esm-
|
|
1
|
+
import{l as e}from"./esm-CLeBo4Hk.mjs";import{r as t,t as n}from"./cloneRouter-C4MI0vxG.mjs";function r(e){return`signal`in e&&typeof e.signal==`object`&&e.signal!==void 0&&typeof e.signal.aborted==`boolean`}function i(e,t,i){let a,o,s;if(r(e))s=e.signal;else{let t=new AbortController,n=()=>{t.abort()};s=t.signal,o=()=>{e.on(`close`,n)},a=()=>{e.removeListener?.(`close`,n)}}let c=n(t,{...i,abortSignal:s});o?.();let l=!1,u=()=>l?Promise.resolve():(l=!0,a?.(),c.dispose(),Promise.resolve());return{router:c,signal:s,dispose:u,[Symbol.asyncDispose]:u}}function a(e,t){for(let n of e.children.values())n.children.size===0?t.push(n.fullName):a(n,t)}function o(e){let t=[];return a(e,t),t}async function s(e,n){let r=o(t(e).getTree()),i=[];for(let t of r){let r=n?.[t];if(r){let n=await r();for(let r of n)i.push(e.buildPath(t,r))}else i.push(e.buildPath(t,{}))}return i}async function c(t,n,r){let i=r?.deserialize??JSON.parse,a=typeof n==`string`?i(n):n,o=e(t),s=o.hydrationState;o.hydrationState=a;try{return await t.start(a.path)}finally{o.hydrationState=s}}function l(e,t){return((t?.serialize??JSON.stringify)(e)??`null`).replaceAll(`<`,String.raw`\u003c`).replaceAll(`>`,String.raw`\u003e`).replaceAll(`&`,String.raw`\u0026`)}function u(e,t){let n=t?.excludeContext,r=e.context;if(n?.length){let t={},i=e.context;for(let[e,r]of Object.entries(i))n.includes(e)||(t[e]=r);r=t}let i={name:e.name,params:e.params,path:e.path,context:r};return t?.serialize?l(i,{serialize:t.serialize}):l(i)}export{i as createRequestScope,s as getStaticPaths,c as hydrateRouter,u as serializeRouterState,l as serializeState};
|
|
2
2
|
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as validateRoute, i as RouteTree, n as Matcher, r as RouteDefinition, t as CreateMatcherOptions } from "./index-
|
|
1
|
+
import { a as validateRoute, i as RouteTree, n as Matcher, r as RouteDefinition, t as CreateMatcherOptions } from "./index-cgB7PGoM.mjs";
|
|
2
2
|
import { a as PluginFactory, i as Limits, n as EventMethodMap, r as GuardFnFactory } from "./Router-Bm2qafJA.mjs";
|
|
3
3
|
import { n as RouterValidator } from "./RouterError-BEqOMMFO.mjs";
|
|
4
4
|
import { n as SerializedRouterState } from "./index-Cwd11Hun.mjs";
|
|
@@ -244,6 +244,18 @@ interface RouteConfig {
|
|
|
244
244
|
//#endregion
|
|
245
245
|
//#region src/namespaces/RoutesNamespace/routesStore.d.ts
|
|
246
246
|
interface RoutesStore<Dependencies extends DefaultDependencies = DefaultDependencies> {
|
|
247
|
+
/**
|
|
248
|
+
* DERIVED VIEW, not stored state: reconstructed from `tree` on every access
|
|
249
|
+
* via `routeTreeToDefinitions` (the lossless inverse cloneRouter already
|
|
250
|
+
* relies on — the `~` absolute marker is restored, child order is the
|
|
251
|
+
* definition order). The tree is the single source of truth, so a third
|
|
252
|
+
* retained copy of the route table (~30 B/route) is not kept. Every reader
|
|
253
|
+
* is a cold CRUD/plugin-registration path; the derive is O(N).
|
|
254
|
+
*
|
|
255
|
+
* The returned array is a FRESH snapshot each time — mutating it never
|
|
256
|
+
* affects the store (pass an explicitly-mutated snapshot to
|
|
257
|
+
* `commitTreeChanges` instead, as `remove` does).
|
|
258
|
+
*/
|
|
247
259
|
readonly definitions: RouteDefinition[];
|
|
248
260
|
readonly config: RouteConfig;
|
|
249
261
|
tree: RouteTree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.mts","names":[],"sources":["../../src/namespaces/DependenciesNamespace/dependenciesStore.ts","../../src/namespaces/RouteLifecycleNamespace/types.ts","../../src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts","../../src/namespaces/RoutesNamespace/types.ts","../../src/namespaces/RoutesNamespace/routesStore.ts","../../src/internals.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validation.d.mts","names":[],"sources":["../../src/namespaces/DependenciesNamespace/dependenciesStore.ts","../../src/namespaces/RouteLifecycleNamespace/types.ts","../../src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts","../../src/namespaces/RoutesNamespace/types.ts","../../src/namespaces/RoutesNamespace/routesStore.ts","../../src/internals.ts"],"mappings":";;;;;;;;UAKiB,iBAAA,sBACM,mBAAA,GAAsB,mBAAA;EAE3C,YAAA,EAAc,OAAA,CAAQ,YAAA;EACtB,MAAA,EAAQ,MAAA;AAAA;;;UCHO,0BAAA,sBACM,mBAAA,GAAsB,mBAAA;EAE3C,cAAA,GAAiB,OAAA,EAAS,cAAA,CAAe,YAAA,MAAkB,OAAA;;;;ADJ7D;;ECUE,YAAA,QAAoB,eAAA;AAAA;;;;;;;;ADVtB;;;;;KEgCY,eAAA;;;;;;;;;;;;;;AF5BI;;;;ACHhB;;;cCqDa,uBAAA,sBACU,mBAAA,GAAsB,mBAAA;EAAA;EAuC3C,eAAA,CAAgB,IAAA,EAAM,0BAAA,CAA2B,YAAA;EAIjD,eAAA,CAAgB,IAAA;ED9F2C;;;;;;;;;;;;;;;AAMxB;;;;ECsInC,qBAAA,CACE,aAAA,EAAe,QAAA,UACf,eAAA,EAAiB,QAAA,UACjB,gBAAA;EAnHuB;;;AAAA;AAsB3B;;;;;;;;;;;;EAoKE,cAAA,CACE,IAAA,UACA,OAAA,EAAS,cAAA,CAAe,YAAA,aACxB,gBAAA,YACA,aAAA,GAAgB,OAAA;EAmBP;;;;;EAFX,gBAAA,CACE,IAAA,UACA,OAAA,EAAS,cAAA,CAAe,YAAA,aACxB,gBAAA,YACA,aAAA,GAAgB,OAAA;EAwGhB;;;;;;;;;EAnFF,gBAAA,CAAiB,IAAA,UAAc,KAAA,EAAO,eAAA;EAqHJ;;;;;;;;;;;;;;;;;EAhGlC,kBAAA,CAAmB,IAAA,UAAc,KAAA,EAAO,eAAA;EAtOnB;;;;EA8OrB,QAAA;EAvMiD;;;;;;;;;;;;;EA6NjD,qBAAA;EA/FE;;;;;;;;;;EA8HF,YAAA,KACE,MAAA,SAAe,cAAA,CAAe,YAAA,IAC9B,MAAA,SAAe,cAAA,CAAe,YAAA;EApFM;;;;;EA+GtC,oBAAA;IACE,UAAA,GACE,MAAA,SAAe,cAAA,CAAe,YAAA,IAC9B,MAAA,SAAe,cAAA,CAAe,YAAA;IAEhC,QAAA,GACE,MAAA,SAAe,cAAA,CAAe,YAAA,IAC9B,MAAA,SAAe,cAAA,CAAe,YAAA;EAAA;EAPlC;;;;;EAuCA,YAAA,KAAiB,GAAA,SAAY,OAAA,GAAU,GAAA,SAAY,OAAA;EAInD,aAAA,CACE,YAAA,YACA,UAAA,YACA,OAAA,EAAS,KAAA,EACT,SAAA,EAAW,KAAA;EA5CqB;;;;;;;;;;;;;EA0FlC,mBAAA,CACE,OAAA,EAAS,cAAA,CAAe,YAAA,aACxB,UAAA,WACC,OAAA;AAAA;;;;;;;;;UC1cY,kBAAA,sBACM,mBAAA,GAAsB,mBAAA;EHdX;;;;;;EGsBhC,gBAAA,GACE,IAAA,UACA,OAAA,EAAS,cAAA,CAAe,YAAA,GACxB,aAAA,GAAgB,OAAA;EHrBJ;EGyBd,kBAAA,GACE,IAAA,UACA,OAAA,EAAS,cAAA,CAAe,YAAA,GACxB,aAAA,GAAgB,OAAA;EH/BlB;;;;;EGuCA,YAAA,GACE,OAAA,EAAS,cAAA,CAAe,YAAA,GACxB,UAAA,aACG,OAAA;EHvCL;EG0CA,SAAA,aAAsB,MAAA,GAAS,MAAA,EAC7B,IAAA,UACA,MAAA,GAAS,CAAA,EACT,IAAA,WACA,IAAA,GAAO,MAAA,SAAe,MAAA,+BACnB,KAAA,CAAM,CAAA;EH/CG;EGkDd,QAAA,QAAgB,KAAA;;EAGhB,cAAA,GACE,MAAA,EAAQ,KAAA,cACR,MAAA,EAAQ,KAAA,cACR,iBAAA;;EAIF,aAAA,mBAAgC,YAAA,EAAc,IAAA,EAAM,CAAA,KAAM,YAAA,CAAa,CAAA;EF/D9B;EEkEzC,YAAA,aAAyB,MAAA,GAAS,MAAA,EAChC,IAAA,UACA,MAAA,EAAQ,CAAA,KACL,WAAA,CAAY,CAAA;AAAA;;;;;UAOF,WAAA;EFnEoB;EEqEnC,QAAA,EAAU,MAAA,UAAgB,MAAA,EAAQ,MAAA,KAAW,MAAA;EF7E7C;EEgFA,QAAA,EAAU,MAAA,UAAgB,MAAA,EAAQ,MAAA,KAAW,MAAA;EFhFF;EEmF3C,aAAA,EAAe,MAAA,SAAe,MAAA;EFjFJ;EEoF1B,UAAA,EAAY,MAAA;EFpFK;EEwFjB,YAAA,EAAc,MAAA,SAAe,iBAAA;AAAA;;;UC3Dd,WAAA,sBACM,mBAAA,GAAsB,mBAAA;;;AJlC7C;;;;;;;;;;WIgDW,WAAA,EAAa,eAAA;EAAA,SACb,MAAA,EAAQ,WAAA;EACjB,IAAA,EAAM,SAAA;EACN,OAAA,EAAS,OAAA;EJhDK;;;;;AACA;EADA,SIuDL,cAAA,EAAgB,GAAA;EACzB,kBAAA,EAAoB,MAAA;EACpB,iBAAA,EAAmB,MAAA,SAAe,MAAA;EAClC,QAAA;EAAA,SACS,cAAA,EAAgB,oBAAA;EACzB,SAAA,EAAW,kBAAA,CAAmB,YAAA;EAC9B,kBAAA,EAAoB,uBAAA,CAAwB,YAAA;EAAA,SACnC,kBAAA,EAAoB,GAAA,SAAY,cAAA,CAAe,YAAA;EAAA,SAC/C,oBAAA,EAAsB,GAAA,SAAY,cAAA,CAAe,YAAA;AAAA;;;UCjD3C,eAAA,WACL,mBAAA,GAAsB,mBAAA;EAAA,SAEvB,SAAA,aAAsB,MAAA,GAAS,MAAA,EACtC,IAAA,UACA,MAAA,GAAS,CAAA,EACT,IAAA,WACA,IAAA,GAAO,MAAA,SAAe,MAAA,+BACnB,KAAA,CAAM,CAAA;EAAA,SAEF,YAAA,aAAyB,MAAA,GAAS,MAAA,EACzC,SAAA,UACA,WAAA,EAAa,CAAA,KACV,WAAA,CAAY,CAAA;EAAA,SAER,kBAAA,GACP,YAAA,UACA,cAAA,EAAgB,MAAA,KACb,cAAA;EAAA,SAEI,SAAA,aAAsB,MAAA,GAAS,MAAA,EACtC,IAAA,UACA,OAAA,GAAU,OAAA,KACP,KAAA,CAAM,CAAA;EAAA,SAEF,UAAA,QAAkB,OAAA;EAAA,SAElB,gBAAA,aAA6B,SAAA,EACpC,SAAA,EAAW,CAAA,EACX,EAAA,EAAI,MAAA,CAAO,cAAA,CAAe,CAAA,OACvB,WAAA;EL3CG;;;;;;;EAAA,SKoDC,WAAA;IAAA,SACE,IAAA,GAAO,KAAA,EAAO,gBAAA;IAAA,SACd,SAAA,GACP,OAAA,GAAU,KAAA,EAAO,gBAAA,cACd,WAAA;IAAA,SACI,aAAA;ILzDG;AAAA;;;IAAA,SK8DH,UAAA;EAAA;EAAA,SAGF,SAAA,GAAY,KAAA,UAAe,MAAA,GAAS,MAAA;EAAA,SAEpC,mBAAA,GAAsB,KAAA,EAAO,KAAA;EJrEjB;;;;;;EAAA,SI6EZ,qBAAA,GACP,OAAA,EAAS,KAAA,EACT,SAAA,EAAW,KAAA,cACX,IAAA,GAAO,iBAAA;EJxE0B;;;;;;;EAAA,SIkF1B,kBAAA,GAAqB,IAAA,aAAiB,KAAA;EAAA,SAEtC,KAAA,GAAQ,IAAA,aAAiB,OAAA,CAAQ,KAAA;EJpF1C;;;AAAmC;;;EAAnC,SI4FS,eAAA,GACP,KAAA,EAAO,KAAA,EACP,OAAA,GAAU,iBAAA,KACP,OAAA,CAAQ,KAAA;EAAA,SAGJ,YAAA,EAAc,GAAA,WAEnB,IAAA,MAAU,IAAA,oBAAwB,IAAA;EAAA,SAI7B,WAAA,GAAc,QAAA;EAAA,SACd,WAAA;EAAA,SAEA,OAAA,QAAe,SAAA;EAAA,SAEf,UAAA;EAET,SAAA,EAAW,eAAA;EAAA,SAGF,oBAAA,QAA4B,iBAAA,CAAkB,CAAA;EAAA,SAM9C,aAAA;IACP,OAAA,EAAS,OAAA;IACT,YAAA,EAAc,MAAA;IACd,eAAA,EAAiB,aAAA,CAAc,CAAA;EAAA;EAAA,SAIxB,aAAA,QAAqB,WAAA,CAAY,CAAA;EAAA,SAGjC,YAAA;EAAA,SACA,eAAA;EAAA,SACA,UAAA;EAAA,SACA,QAAA,GAAW,KAAA,EAAO,KAAA;EAAA,SAClB,gBAAA;IAAoB,IAAA;EAAA;EAAA,SACpB,mBAAA,EAAqB,GAAA;EH4IU;;;;;;;;;EGjIxC,cAAA,EAAgB,qBAAA;AAAA;AAAA,iBAMF,YAAA,WAAuB,mBAAA,EACrC,MAAA,EAAQ,MAAA,CAAgB,CAAA,IACvB,eAAA,CAAgB,CAAA"}
|
package/dist/esm/validation.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e,
|
|
1
|
+
import{l as e,n as t}from"./esm-CLeBo4Hk.mjs";export{e as getInternals,t as validateRoute};
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./esm-BEsl32ya.js");let t=require("@real-router/logger"),n=require("@real-router/fsm");const r={maxListeners:0,warnListeners:0};var i=class{#e=new Map;#t=new Set;#n=null;#r=r;#i;#a;constructor(e){e?.limits&&(this.#r=e.limits),this.#i=e?.onListenerError??null,this.#a=e?.onListenerWarn??null}static validateCallback(e,t){if(typeof e!=`function`)throw TypeError(`Expected callback to be a function for event ${t}`)}setLimits(e){this.#r=e}on(e,t){let n=this.#e.get(e),r=n?.size??0;if(n?.has(t))throw Error(`Duplicate listener for "${e}"`);let{maxListeners:i,warnListeners:a}=this.#r;if(i!==0&&r>=i)throw Error(`Listener limit (${i}) reached for "${e}"`);a!==0&&r===a&&this.#a!==null&&(this.#n??=new Set,this.#n.has(e)||(this.#a(e,a),this.#n.add(e)));let o=n;return o===void 0&&(o=new Set,this.#e.set(e,o)),o.add(t),()=>{this.off(e,t)}}off(e,t){let n=this.#e.get(e);n&&(n.delete(t),n.size===0&&(this.#e.delete(e),this.#n?.delete(e)))}emit(e,t,n,r,i){let a=this.#e.get(e);if(!a||a.size===0||this.#t.has(e))return;let o=arguments.length-1;this.#t.add(e);try{if(a.size===1){let[s]=a;try{this.#o(s,o,t,n,r,i)}catch(t){this.#i?.(e,t)}}else{let s=[...a];for(let a of s)try{this.#o(a,o,t,n,r,i)}catch(t){this.#i?.(e,t)}}}finally{this.#t.delete(e)}}clearAll(){this.#e.clear(),this.#n=null}listenerCount(e){return this.#e.get(e)?.size??0}isDispatching(e){return this.#t.has(e)}#o(e,t,n,r,i,a){switch(t){case 0:e();break;case 1:e(n);break;case 2:e(n,r);break;case 3:e(n,r,i);break;default:e(n,r,i,a)}}};const a=Object.freeze({ROUTER_NOT_STARTED:`NOT_STARTED`,NO_START_PATH_OR_STATE:`NO_START_PATH_OR_STATE`,ROUTER_ALREADY_STARTED:`ALREADY_STARTED`,ROUTE_NOT_FOUND:`ROUTE_NOT_FOUND`,SAME_STATES:`SAME_STATES`,CANNOT_DEACTIVATE:`CANNOT_DEACTIVATE`,CANNOT_ACTIVATE:`CANNOT_ACTIVATE`,TRANSITION_ERR:`TRANSITION_ERR`,TRANSITION_CANCELLED:`CANCELLED`,ROUTER_DISPOSED:`DISPOSED`,PLUGIN_CONFLICT:`PLUGIN_CONFLICT`,CONTEXT_NAMESPACE_ALREADY_CLAIMED:`CONTEXT_NAMESPACE_ALREADY_CLAIMED`,REENTRANT_NAVIGATION:`REENTRANT_NAVIGATION`,REENTRANT_TREE_MUTATION:`REENTRANT_TREE_MUTATION`}),o=`@@router/UNKNOWN_ROUTE`,s={UNKNOWN_ROUTE:o},c={ROUTER_START:`onStart`,ROUTER_STOP:`onStop`,TRANSITION_START:`onTransitionStart`,TRANSITION_LEAVE_APPROVE:`onTransitionLeaveApprove`,TRANSITION_CANCEL:`onTransitionCancel`,TRANSITION_SUCCESS:`onTransitionSuccess`,TRANSITION_ERROR:`onTransitionError`},l={ROUTER_START:`$start`,ROUTER_STOP:`$stop`,TRANSITION_START:`$$start`,TRANSITION_LEAVE_APPROVE:`$$leaveApprove`,TRANSITION_CANCEL:`$$cancel`,TRANSITION_SUCCESS:`$$success`,TRANSITION_ERROR:`$$error`},u={maxDependencies:100,maxPlugins:50,maxListeners:1e4,warnListeners:1e3,maxLifecycleHandlers:200},d=Object.freeze({}),f=Object.freeze({deactivated:Object.freeze([]),activated:Object.freeze([]),intersection:``}),p=Object.freeze({phase:`activating`,reason:`success`,segments:f}),m={IDLE:`IDLE`,STARTING:`STARTING`,READY:`READY`,TRANSITION_STARTED:`TRANSITION_STARTED`,LEAVE_APPROVED:`LEAVE_APPROVED`,DISPOSED:`DISPOSED`},h={START:`START`,STARTED:`STARTED`,NAVIGATE:`NAVIGATE`,LEAVE_APPROVE:`LEAVE_APPROVE`,COMPLETE:`COMPLETE`,FAIL:`FAIL`,CANCEL:`CANCEL`,STOP:`STOP`,DISPOSE:`DISPOSE`},g={initial:m.IDLE,context:null,transitions:{[m.IDLE]:{[h.START]:m.STARTING,[h.DISPOSE]:m.DISPOSED},[m.STARTING]:{[h.STARTED]:m.READY,[h.FAIL]:m.IDLE,[h.STOP]:m.IDLE,[h.DISPOSE]:m.DISPOSED},[m.READY]:{[h.NAVIGATE]:m.TRANSITION_STARTED,[h.FAIL]:m.READY,[h.STOP]:m.IDLE,[h.DISPOSE]:m.DISPOSED},[m.TRANSITION_STARTED]:{[h.NAVIGATE]:m.TRANSITION_STARTED,[h.LEAVE_APPROVE]:m.LEAVE_APPROVED,[h.CANCEL]:m.READY,[h.FAIL]:m.READY,[h.DISPOSE]:m.DISPOSED},[m.LEAVE_APPROVED]:{[h.NAVIGATE]:m.TRANSITION_STARTED,[h.COMPLETE]:m.READY,[h.CANCEL]:m.READY,[h.FAIL]:m.READY,[h.DISPOSE]:m.DISPOSED},[m.DISPOSED]:{}}};function ee(){return new n.FSM(g)}function _(e){if(!e||typeof e!=`object`||e.constructor!==Object)throw TypeError(`dependencies must be a plain object`);for(let t in e)if(Object.getOwnPropertyDescriptor(e,t)?.get)throw TypeError(`dependencies cannot contain getters: "${t}"`)}function v(e,t){for(let n of e){let e=n;if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(`route must be a non-array object`);t?.routes.guardRouteCallbacks(n),t?.routes.guardNoAsyncCallbacks(n);let r=n.children;r&&v(r,t)}}function y(e){return Object.freeze(e)}function te(e={}){return{...u,...e}}function b(e){if(e===void 0)return e;let t;for(let n in e){if(!Object.hasOwn(e,n))continue;let r=e[n];r!==void 0&&(t??={},t[n]=r)}return t??d}function ne(e={}){let t=Object.create(null);for(let n in e)e[n]!==void 0&&(t[n]=e[n]);return{dependencies:t,limits:u}}const re={defaultRoute:``,defaultParams:{},trailingSlash:`preserve`,caseSensitive:!0,queryParamsMode:`loose`,queryParams:e.o,urlParamsEncoding:`default`,allowNotFound:!0,rewritePathOnMatch:!0};function ie(e){Object.freeze(e);for(let t of Object.values(e))t&&typeof t==`object`&&t.constructor===Object&&ie(t);return e}function ae(e,t){return typeof e==`function`?e(t):e}function oe(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`[router.constructor] options must be a plain object`)}var x=class{#e;constructor(e={}){this.#e=ie({...re,...e})}static validateOptionsIsObject(e){oe(e)}get(){return this.#e}};function S(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!S(e[n],t[n]))return!1;return!0}return!1}const se=new WeakMap;function C(e){return se.get(e)}function ce(e,t){se.set(e,t)}var le=class{#e=void 0;#t=void 0;#n;get(){return this.#e}set(e){this.#t=this.#e,this.#e=e?y(e):void 0}getPrevious(){return this.#t}reset(){this.#e=void 0,this.#t=void 0}setDependencies(e){this.#n=e}makeState(e,t,n,r,i){let a=this.#n.getDefaultParams(),o=Object.hasOwn(a,e),s;s=o?Object.freeze({...a[e],...t}):!t||t===d?d:Object.freeze({...t});let c={name:e,params:s,path:n??this.#n.buildPath(e,t),context:{},...!i&&{transition:p}};return r&&ce(c,r),i?c:y(c)}areStatesEqual(e,t,n=!0){if(!e||!t)return!!e==!!t;if(e.name!==t.name)return!1;if(n){let n=this.#n.getUrlParams(e.name);for(let r of n)if(!S(e.params[r],t.params[r]))return!1;return!0}let r=Object.keys(e.params),i=Object.keys(t.params);if(r.length!==i.length)return!1;for(let n of r)if(!(n in t.params)||!S(e.params[n],t.params[n]))return!1;return!0}};const ue={[c.ROUTER_START]:l.ROUTER_START,[c.ROUTER_STOP]:l.ROUTER_STOP,[c.TRANSITION_SUCCESS]:l.TRANSITION_SUCCESS,[c.TRANSITION_START]:l.TRANSITION_START,[c.TRANSITION_LEAVE_APPROVE]:l.TRANSITION_LEAVE_APPROVE,[c.TRANSITION_ERROR]:l.TRANSITION_ERROR,[c.TRANSITION_CANCEL]:l.TRANSITION_CANCEL},de=Object.keys(ue),w=`router.usePlugin`;function fe(e){if(!(e&&typeof e==`object`)||Array.isArray(e))throw TypeError(`[router.usePlugin] Plugin factory must return an object, got ${typeof e}`);if(typeof e.then==`function`)throw TypeError(`[router.usePlugin] Async plugin factories are not supported. Factory returned a Promise instead of a plugin object.`)}var pe=class e{#e=new Set;#t=new Set;#n;static validatePlugin(e){fe(e)}setDependencies(e){this.#n=e}count(){return this.#e.size}use(...e){if(this.#n.getValidator()?.plugins.validateCountThresholds(this.#e.size+e.length),e.length===1){let n=e[0],r=this.#i(n);this.#e.add(n);let i=!1,a=()=>{if(!i){i=!0,this.#e.delete(n),this.#t.delete(a);try{r()}catch(e){t.logger.error(w,`Error during cleanup:`,e)}}};return this.#t.add(a),a}let n=this.#r(e),r=[];try{for(let e of n){let t=this.#i(e);r.push({factory:e,cleanup:t})}}catch(e){for(let{cleanup:e}of r)try{e()}catch(e){t.logger.error(w,`Cleanup error:`,e)}throw e}for(let{factory:e}of r)this.#e.add(e);let i=!1,a=()=>{if(!i){i=!0,this.#t.delete(a);for(let{factory:e}of r)this.#e.delete(e);for(let{cleanup:e}of r)try{e()}catch(e){t.logger.error(w,`Error during cleanup:`,e)}}};return this.#t.add(a),a}getAll(){return[...this.#e]}has(e){return this.#e.has(e)}disposeAll(){for(let e of this.#t)e();this.#e.clear(),this.#t.clear()}#r(e){let t=new Set;for(let n of e)t.has(n)?this.#n.getValidator()?.plugins.warnBatchDuplicates(e):t.add(n);return t}#i(t){let n=this.#n.compileFactory(t);e.validatePlugin(n),this.#n.getValidator()?.plugins.validatePluginKeys(n),Object.freeze(n);let r=[];for(let e of de)e in n&&(typeof n[e]==`function`?(r.push(this.#n.addEventListener(ue[e],n[e])),e===`onStart`&&this.#n.canNavigate()&&this.#n.getValidator()?.plugins.warnPluginAfterStart(e)):this.#n.getValidator()?.plugins.warnPluginMethodType(e));return()=>{for(let e of r)e();typeof n.teardown==`function`&&n.teardown()}}};const me=()=>!0,he=()=>!1,ge=()=>me,_e=()=>he;function ve(e){return e?ge:_e}var ye=class{#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=new Map;#a=new Map;#o=[this.#i,this.#a];#s;setDependencies(e){this.#s=e}getHandlerCount(e){let t=e===`activate`?this.#e:this.#n,n=e===`activate`?this.#t:this.#r;if(t.size===0)return n.size;if(n.size===0)return t.size;let r=new Set(t.keys());for(let e of n.keys())r.add(e);return r.size}preflightHandlerLimit(e,t,n){let r=this.#s.getValidator();if(!r)return;let i=(e,t,i)=>{let{definition:a,external:o}=this.#d(e),s=0;for(let e of t)(n?o.has(e):a.has(e)||o.has(e))||s++;if(s===0)return;let c=n?o.size:this.getHandlerCount(e);r.lifecycle.validateHandlerLimit(c+s-1,i)};i(`activate`,e,`canActivate`),i(`deactivate`,t,`canDeactivate`)}addCanActivate(e,t,n=!1,r){this.#c(`activate`,e,t,n,`canActivate`,r)}addCanDeactivate(e,t,n=!1,r){this.#c(`deactivate`,e,t,n,`canDeactivate`,r)}clearCanActivate(e,t){this.#l(`activate`,e,t)}clearCanDeactivate(e,t){this.#l(`deactivate`,e,t)}clearAll(){this.#e.clear(),this.#t.clear(),this.#n.clear(),this.#r.clear(),this.#a.clear(),this.#i.clear()}clearDefinitionGuards(){for(let e of this.#e.keys())this.#t.has(e)?this.#u(`activate`,e):this.#a.delete(e);for(let e of this.#n.keys())this.#r.has(e)?this.#u(`deactivate`,e):this.#i.delete(e);this.#e.clear(),this.#n.clear()}getFactories(){let e={},t={};for(let[t,n]of this.#n)e[t]=n;for(let[t,n]of this.#r)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,n]of this.#t)t[e]=n;return[e,t]}getFactoriesByOrigin(){let e={},t={},n={},r={};for(let[t,n]of this.#n)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,t]of this.#r)n[e]=t;for(let[e,t]of this.#t)r[e]=t;return{definition:[e,t],external:[n,r]}}getFunctions(){return this.#o}canNavigateTo(e,t,n,r){for(let t of e)if(!this.#f(this.#i,t,n,r,`canNavigateTo`))return!1;for(let e of t)if(!this.#f(this.#a,e,n,r,`canNavigateTo`))return!1;return!0}compileGuardFactory(e,t){let n=typeof e==`boolean`?ve(e):e,r=this.#s.compileFactory(n);if(typeof r!=`function`)throw TypeError(`[router.${t}] Factory must return a function, got ${typeof r}`);return r}#c(e,t,n,r,i,a){let o=this.#d(e),s=e===`activate`?this.#a:this.#i,c=r?o.definition:o.external,l=r?o.external:o.definition;if(c.has(t)||l.has(t))this.#s.getValidator()?.lifecycle.warnOverwrite(t,e,i);else{let t=this.#s.getValidator();if(t){let n=this.getHandlerCount(e);t.lifecycle.validateHandlerLimit(n,i),t.lifecycle.validateCountThresholds(n+1,i)}}let u=typeof n==`boolean`?ve(n):n,d=c.get(t);c.set(t,u);let f=r&&l.has(t);try{let e=a??this.compileGuardFactory(u,i);f||s.set(t,e)}catch(n){throw d===void 0?c.delete(t):c.set(t,d),this.#u(e,t),n}}#l(e,t,n){let{definition:r,external:i}=this.#d(e),a=n===`external`?!1:r.delete(t),o=n===`definition`?!1:i.delete(t);(a||o)&&this.#u(e,t)}#u(e,t){let n=this.#d(e),r=e===`activate`?this.#a:this.#i,i=n.external.get(t)??n.definition.get(t);if(!i){r.delete(t);return}try{let e=this.#s.compileFactory(i);if(typeof e!=`function`){r.delete(t);return}r.set(t,e)}catch{r.delete(t)}}#d(e){return e===`activate`?{definition:this.#e,external:this.#t}:{definition:this.#n,external:this.#r}}#f(e,n,r,i,a){let o=e.get(n);if(!o)return!0;try{let e=o(r,i);return typeof e==`boolean`?e:(this.#s.getValidator()?.lifecycle.warnAsyncGuardSync(n,a),!1)}catch(e){return t.logger.warn(`router.${a}`,`Guard for "${n}" threw — treated as navigation-blocking (returned false)`,e),!1}}};const be=new Set([`name`,`path`,`children`,`canActivate`,`canDeactivate`,`forwardTo`,`encodeParams`,`decodeParams`,`defaultParams`]);function T(){return{decoders:Object.create(null),encoders:Object.create(null),defaultParams:Object.create(null),forwardMap:Object.create(null),forwardFnMap:Object.create(null)}}function xe(e,t){for(let n of Object.keys(t))Object.assign(e[n],t[n])}function Se(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function Ce(e,t,n){for(let r in e)if(!(r in n)&&e[r]!==t[r])return!1;return!0}function we(e,t){if(!t||!Te(e,t))return e;let n={};for(let r in e)t[r]!==`query`&&(n[r]=e[r]);return n}function Te(e,t){for(let n in e)if(t[n]===`query`)return!0;return!1}function E(e){let t={name:e.name,path:e.path};return e.children&&(t.children=e.children.map(e=>E(e))),t}function Ee(e,t,n=``){for(let r=0;r<e.length;r++){let i=e[r],a=n?`${n}.${i.name}`:i.name;if(a===t)return e.splice(r,1),!0;if(i.children&&t.startsWith(`${a}.`)&&Ee(i.children,t,a))return!0}return!1}function De(e,t){for(let n of Object.keys(e))t(n)&&delete e[n]}function Oe(e,t){let n=t.search(/[?#]/),r=n===-1?t:t.slice(0,n);if(r===`/`||r.endsWith(`/`))return t;let i=e.search(/[?#]/),a=i===-1?e:e.slice(0,i);return a.length>1&&a.endsWith(`/`)?`${r}/${n===-1?``:t.slice(n)}`:t}function ke(e,t,n=100){let r=new Set,i=[e],a=e;for(;t[a];){let e=t[a];if(r.has(e)){let t=i.indexOf(e),n=[...i.slice(t),e];throw Error(`Circular forwardTo: ${n.join(` → `)}`)}if(r.add(a),i.push(e),a=e,i.length>n)throw Error(`forwardTo chain exceeds maximum depth (${n}): ${i.join(` → `)}`)}return a}function Ae(t,n,r){let i=e.i(``,n,t),a=e.t(r);return a.registerTree(i),{tree:i,matcher:a}}function D(e){let t=Ae(e.definitions,e.rootPath,e.matcherOptions);e.tree=t.tree,e.matcher=t.matcher,e.urlParamsCache.clear()}function je(e){D(e),e.resolvedForwardMap=O(e.config)}function Me(e){Ne(e),D(e)}function Ne(e){e.definitions.length=0,Object.assign(e.config,T()),e.resolvedForwardMap=Object.create(null),e.routeCustomFields=Object.create(null)}function O(e){let t=Object.create(null);for(let n of Object.keys(e.forwardMap))t[n]=ke(n,e.forwardMap);return t}function Pe(e,t){if(typeof e!=`function`)return;let n=e.constructor.name===`AsyncFunction`,r=e.toString().includes(`__awaiter`);if(n||r)throw TypeError(`forwardTo callback cannot be async for route "${t}". Async functions break matchPath/buildPath.`)}function Fe(e,n,r){if(e.canActivate){let r=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;t.logger.warn(`real-router`,`Route "${n}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${r}".`)}if(e.canDeactivate){let r=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;t.logger.warn(`real-router`,`Route "${n}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${r}".`)}Pe(e.forwardTo,n),typeof e.forwardTo==`string`?r.forwardMap[n]=e.forwardTo:r.forwardFnMap[n]=e.forwardTo}function Ie(e,t,n,r,i,a){let o=Object.fromEntries(Object.entries(e).filter(([e])=>!be.has(e)));Object.keys(o).length>0&&(r[t]=o),e.canActivate&&i.set(t,e.canActivate),e.canDeactivate&&a.set(t,e.canDeactivate),e.forwardTo&&Fe(e,t,n),e.decodeParams&&(n.decoders[t]=t=>e.decodeParams?.(t)??t),e.encodeParams&&(n.encoders[t]=t=>e.encodeParams?.(t)??t),e.defaultParams&&(n.defaultParams[t]=e.defaultParams)}function Le(e,t,n,r,i,a=``){for(let o of e){let e=a?`${a}.${o.name}`:o.name;Ie(o,e,t,n,r,i),o.children&&Le(o.children,t,n,r,i,e)}}function Re(e){let t=T();return xe(t,e),t}function ze(e,t,n){if(n.length===0)return[...e,...t];let[r,...i]=n;return e.map(e=>{if(e.name!==r)return e;let n=e.children??[];return{...e,children:i.length===0?[...n,...t]:ze(n,t,i)}})}function k(e,t,n){for(let r of e){let e=t?`${t}.${r.name}`:r.name;n(e),r.children&&k(r.children,e,n)}}function A(e,t,n){let r=new Set;k(e,t,e=>{if(r.has(e))throw Error(`[router.${n}] Duplicate route "${e}" in batch`);r.add(e)})}function Be(e,t){if(e.startsWith(`@@`))throw Error(`[router.${t}] Route name "${e}" uses the reserved "@@" prefix. Routes with this prefix are internal and cannot be modified through the public API.`)}function j(e,t){for(let n of e)Be(n.name,t),n.children&&j(n.children,t)}function M(e,t,n){let r=new Map,i=(e,t)=>{for(let a of e){let e=r.get(t);if(e?.has(a.path))throw Error(`[router.${n}] Path "${a.path}" is already defined`);e?e.add(a.path):r.set(t,new Set([a.path])),a.children&&i(a.children,t?`${t}.${a.name}`:a.name)}};i(e,t)}function Ve(e,t,n){if(j(t,`addRoute`),n!==void 0&&!e.matcher.hasRoute(n))throw Error(`[router.addRoute] Parent route "${n}" does not exist`);k(t,n??``,t=>{if(e.matcher.hasRoute(t))throw Error(`[router.addRoute] Route "${t}" already exists`)}),A(t,n??``,`addRoute`),M(t,n??``,`addRoute`)}function N(e,t,n,r,i,a,o){let s=new Map,c=new Map;Le(t,n,r,s,c,i);let l=O(n),{tree:u,matcher:d}=Ae(e,a,o);return{definitions:e,config:n,routeCustomFields:r,pendingCanActivate:s,pendingCanDeactivate:c,tree:u,matcher:d,resolvedForwardMap:l}}function He(e,t,n){return N(ze(e.definitions,t.map(e=>E(e)),n===void 0?[]:n.split(`.`)),t,Re(e.config),Object.assign(Object.create(null),e.routeCustomFields),n??``,e.rootPath,e.matcherOptions)}function P(e,t,n){return N(e.map(e=>E(e)),e,T(),Object.create(null),``,t,n)}function F(e,t,n){let r=[];for(let[i,a]of e)r.push([i,a,t(a,n)]);return r}function I(e,t){return{activate:F(e.pendingCanActivate,t.compileGuard,`canActivate`),deactivate:F(e.pendingCanDeactivate,t.compileGuard,`canDeactivate`)}}function Ue(e,t,n){let r=e.depsStore,{activate:i,deactivate:a}=n??I(t,r);e.definitions.length=0;for(let n of t.definitions)e.definitions.push(n);Object.assign(e.config,t.config),e.routeCustomFields=t.routeCustomFields,e.tree=t.tree,e.matcher=t.matcher,e.urlParamsCache.clear(),e.resolvedForwardMap=t.resolvedForwardMap;for(let[e,t,n]of i)r.addActivateGuard(e,t,n);for(let[e,t,n]of a)r.addDeactivateGuard(e,t,n)}function We(e,t,n,r){let{forwardTo:i,defaultParams:a,decodeParams:o,encodeParams:s,canActivate:c,canDeactivate:l}=r,u=i===void 0?void 0:Ge(n,i,e.config),d=Ke(e,n,r),f=c==null?void 0:t.compileGuardFactory(c,`canActivate`),p=l==null?void 0:t.compileGuardFactory(l,`canDeactivate`);return t.preflightHandlerLimit(f===void 0?[]:[n],p===void 0?[]:[n],!1),d!==void 0&&(Object.keys(d).length>0?e.routeCustomFields[n]=d:delete e.routeCustomFields[n]),u!==void 0&&(e.config.forwardMap=u.forwardMap,e.config.forwardFnMap=u.forwardFnMap,e.resolvedForwardMap=u.resolved),qe(e,n,{defaultParams:a,decodeParams:o,encodeParams:s}),L(t,`activate`,n,c,f),L(t,`deactivate`,n,l,p),{forwardTo:i,defaultParams:a,decodeParams:o,encodeParams:s}}function Ge(e,t,n){Pe(t,e);let r=Object.assign(Object.create(null),n.forwardMap),i=Object.assign(Object.create(null),n.forwardFnMap);return t===null?(delete r[e],delete i[e]):typeof t==`string`?(delete i[e],r[e]=t):(delete r[e],i[e]=t),{forwardMap:r,forwardFnMap:i,resolved:O({...n,forwardMap:r})}}function Ke(e,t,n){let r;for(let i of Object.keys(n)){if(be.has(i))continue;let a=n[i];a!==void 0&&(r??={...e.routeCustomFields[t]},a===null?delete r[i]:r[i]=a)}return r}function qe(e,t,n){if(n.defaultParams!==void 0&&(n.defaultParams===null?delete e.config.defaultParams[t]:e.config.defaultParams[t]=n.defaultParams),n.decodeParams!==void 0)if(n.decodeParams===null)delete e.config.decoders[t];else{let r=n.decodeParams;e.config.decoders[t]=e=>r(e)??e}if(n.encodeParams!==void 0)if(n.encodeParams===null)delete e.config.encoders[t];else{let r=n.encodeParams;e.config.encoders[t]=e=>r(e)??e}}function L(e,t,n,r,i){r!==void 0&&(t===`activate`?r===null?e.clearCanActivate(n,`definition`):e.addCanActivate(n,r,!0,i):r===null?e.clearCanDeactivate(n,`definition`):e.addCanDeactivate(n,r,!0,i))}function Je(e,t){j(e,`addRoute`),A(e,``,`addRoute`);let n=P(e,``,t);return{definitions:n.definitions,config:n.config,tree:n.tree,matcher:n.matcher,urlParamsCache:new Map,resolvedForwardMap:n.resolvedForwardMap,routeCustomFields:n.routeCustomFields,rootPath:``,matcherOptions:t,depsStore:void 0,lifecycleNamespace:void 0,pendingCanActivate:n.pendingCanActivate,pendingCanDeactivate:n.pendingCanDeactivate}}const R=[];Object.freeze(R);function Ye(e){let t=e.split(`.`),n=t.length,r=[t[0]],i=t[0].length;for(let a=1;a<n-1;a++)i+=1+t[a].length,r.push(e.slice(0,i));return r.push(e),r}const Xe=new Set([`string`,`number`,`boolean`]);function Ze(e){return Xe.has(typeof e)}function Qe(e,t,n,r){let i=t[e];if(!i||typeof i!=`object`)return!0;for(let e of Object.keys(i)){let t=n.params[e],i=r.params[e];if(Ze(t)&&Ze(i)&&String(t)!==String(i))return!1}return!0}function $e(e,t,n,r,i,a){for(let o=0;o<a;o++){let a=r[o];if(a!==i[o]||!Qe(a,e,t,n))return o}return a}const et=new Map;function z(e){let t=et.get(e);if(t)return t;let n=tt(e);return Object.freeze(n),et.set(e,n),n}function tt(e){if(!e)return[``];let t=e.indexOf(`.`);if(t===-1)return[e];let n=e.indexOf(`.`,t+1);if(n===-1)return[e.slice(0,t),e];let r=e.indexOf(`.`,n+1);return r===-1?[e.slice(0,t),e.slice(0,n),e]:e.indexOf(`.`,r+1)===-1?[e.slice(0,t),e.slice(0,n),e.slice(0,r),e]:Ye(e)}let B,V,H=null,nt,rt,U=null;function it(e,t){if(!t)return{intersection:``,toActivate:z(e.name),toDeactivate:R};let n=C(e),r=C(t);if(!n&&!r)return{intersection:``,toActivate:z(e.name),toDeactivate:z(t.name)};let i=z(e.name),a=z(t.name),o=Math.min(a.length,i.length),s=$e(n??r,e,t,i,a,o),c;if(s>=a.length)c=R;else if(s===0&&a.length===1)c=a;else{c=[];for(let e=a.length-1;e>=s;e--)c.push(a[e])}let l=s===0?i:i.slice(s);return{intersection:s>0?a[s-1]:``,toDeactivate:c,toActivate:l}}function W(e,t){if(H!==null&&e===B&&t===V)return H;if(U!==null&&e===nt&&t===rt)return U;let n=it(e,t);return nt=B,rt=V,U=H,B=e,V=t,H=n,n}function at(e){let t=[];for(let n of e)for(let e of n.paramMeta.urlParams)t.push(e);return t}function ot(e,t){return{name:t??e.segments.at(-1).fullName,params:e.params,meta:e.meta}}var st=class{#e;#t;#n;get#r(){return this.#e.depsStore}constructor(e=[],t){this.#e=Je(e,t)}static shouldUpdateNode(e){return(t,n)=>{if(!(t&&typeof t==`object`&&`name`in t))throw TypeError(`[router.shouldUpdateNode] toState must be valid State object`);if(t.transition.reload||e===``)return!0;let{intersection:r,toActivate:i,toDeactivate:a}=W(t,n);return e===r||i.includes(e)?!0:a.includes(e)}}setDependencies(e){this.#e.depsStore=e}flushPendingGuards(){let e=this.#r;for(let[t,n]of this.#e.pendingCanActivate)e.addActivateGuard(t,n);this.#e.pendingCanActivate.clear();for(let[t,n]of this.#e.pendingCanDeactivate)e.addDeactivateGuard(t,n);this.#e.pendingCanDeactivate.clear()}setLifecycleNamespace(e){this.#e.lifecycleNamespace=e}setRootPath(e){this.#e.rootPath=e,D(this.#e)}hasRoute(e){return this.#e.matcher.hasRoute(e)}clearRoutes(){Me(this.#e)}buildPath(e,t,n){if(e===s.UNKNOWN_ROUTE)return typeof t?.path==`string`?t.path:``;let r=Object.hasOwn(this.#e.config.defaultParams,e)?{...this.#e.config.defaultParams[e],...t}:t??{},i=typeof this.#e.config.encoders[e]==`function`?this.#e.config.encoders[e]({...r}):r;return this.#e.matcher.buildPath(e,i,this.#a(n))}matchPath(e,t){let n=t,r=this.#e.matcher.match(e);if(!r)return;let{name:i,params:a,meta:o}=ot(r),s=typeof this.#e.config.decoders[i]==`function`?this.#e.config.decoders[i](a):a,{name:c,params:l}=this.#r.forwardState(i,s),u=e;if(n.rewritePathOnMatch){let t=typeof this.#e.config.encoders[c]==`function`?this.#e.config.encoders[c]({...l}):l,r=n.trailingSlash;try{u=this.#e.matcher.buildPath(c,t,{trailingSlash:r===`never`||r===`always`?r:void 0,queryParamsMode:n.queryParamsMode}),r===`preserve`&&(u=Oe(e,u))}catch{u=e}}return this.#r.makeState(c,l,u,o)}forwardState(e,t){if(Object.hasOwn(this.#e.config.forwardFnMap,e)){let n=this.#i(e,t),r=this.#e.config.forwardFnMap[e],i=this.#o(e,r,t);return{name:i,params:this.#i(i,n)}}let n=this.#e.resolvedForwardMap[e]??e;if(n!==e&&Object.hasOwn(this.#e.config.forwardFnMap,n)){let r=this.#i(e,t),i=this.#e.config.forwardFnMap[n],a=this.#o(n,i,t);return{name:a,params:this.#i(a,r)}}if(n!==e){let r=this.#i(e,t);return{name:n,params:this.#i(n,r)}}return{name:e,params:this.#i(e,t)}}buildStateResolved(e,t){let n=this.#e.matcher.getSegmentsByName(e);if(n)return ot({segments:n,params:t,meta:this.#e.matcher.getMetaByName(e)},e)}isActiveRoute(e,t={},n=!1,r=!0){let i=this.#r.getState();if(!i)return!1;let a=i.name;if(a!==e&&!a.startsWith(`${e}.`)&&!e.startsWith(`${a}.`))return!1;let o=this.#e.config.defaultParams[e];if(n||a===e){let n={name:e,params:o?{...o,...t}:t,path:``,transition:p,context:{}};return this.#r.areStatesEqual(n,i,r)}if(!a.startsWith(`${e}.`))return!1;let s=i.params;return Se(t,s)?o?Ce(r?we(o,this.#e.matcher.getMetaByName(e)?.[e]):o,s,t):!0:!1}getMetaForState(e){return this.#e.matcher.hasRoute(e)?this.#e.matcher.getMetaByName(e):void 0}getUrlParams(e){let t=this.#e.urlParamsCache.get(e);if(t!==void 0)return t;let n=this.#e.matcher.getSegmentsByName(e),r=n?at(n):[];return this.#e.urlParamsCache.set(e,r),r}getStore(){return this.#e}#i(e,t){return Object.hasOwn(this.#e.config.defaultParams,e)?{...this.#e.config.defaultParams[e],...t}:t}#a(e){if(this.#t)return e!==this.#n&&t.logger.warn(`router.buildPath`,"`options` differs from the cached source reference; router options are immutable per router instance, so the first-cached buildPath options are reused (#957)."),this.#t;this.#n=e;let n=e?.trailingSlash;return this.#t=Object.freeze({trailingSlash:n===`never`||n===`always`?n:void 0,queryParamsMode:e?.queryParamsMode}),this.#t}#o(e,t,n){let r=new Set([e]),i=t(this.#r.getDependency,n),a=0;if(typeof i!=`string`)throw TypeError(`forwardTo callback must return a string, got ${typeof i}`);for(;a<100;){if(this.#e.matcher.getSegmentsByName(i)===void 0)throw Error(`Route "${i}" does not exist`);if(r.has(i)){let e=[...r,i].join(` → `);throw Error(`Circular forwardTo: ${e}`)}if(r.add(i),Object.hasOwn(this.#e.config.forwardFnMap,i)){let e=this.#e.config.forwardFnMap[i];i=e(this.#r.getDependency,n),a++;continue}let e=this.#e.config.forwardMap[i];if(e!==void 0){i=e,a++;continue}return i}throw Error(`forwardTo exceeds maximum depth of 100`)}};const ct=new Set(Object.values(a)),lt=new Set([`code`,`segment`,`path`]),ut=new Set([`setCode`,`setErrorInstance`,`setAdditionalFields`,`hasField`,`getField`,`toJSON`]);var G=class extends Error{segment;path;code;constructor(e,{message:t,segment:n,path:r,...i}={}){super(t??e),this.name=`RouterError`,this.code=e,this.segment=n,this.path=r;for(let[e,t]of Object.entries(i)){if(lt.has(e))throw TypeError(`[RouterError] Cannot set reserved property "${e}"`);ut.has(e)||(this[e]=t)}}setCode(e){this.code=e,ct.has(this.message)&&(this.message=e)}setErrorInstance(e){if(!e)throw TypeError(`[RouterError.setErrorInstance] err parameter is required and must be an Error instance`);this.message=e.message,this.cause=e.cause,this.stack=e.stack??``}setAdditionalFields(e){for(let[t,n]of Object.entries(e)){if(lt.has(t))throw TypeError(`[RouterError.setAdditionalFields] Cannot set reserved property "${t}"`);ut.has(t)||(this[t]=n)}}hasField(e){return e in this}getField(e){return this[e]}toJSON(){let e={code:this.code,message:this.message};this.segment!==void 0&&(e.segment=this.segment),this.path!==void 0&&(e.path=this.path);let t=new Set([`code`,`message`,`segment`,`path`,`stack`,`name`]);for(let n in this)Object.hasOwn(this,n)&&!t.has(n)&&(e[n]=this[n]);return e}};const dt=new G(a.ROUTER_NOT_STARTED),ft=new G(a.ROUTE_NOT_FOUND),pt=new G(a.SAME_STATES),K=Promise.reject(dt),mt=Promise.reject(ft),ht=Promise.reject(pt);K.catch(()=>{}),mt.catch(()=>{}),ht.catch(()=>{});function gt(e,t,n,r,i){Object.freeze(n),Object.freeze(r);let a={phase:`activating`,reason:`success`,segments:Object.freeze({deactivated:n,activated:r,intersection:i})};return e?.name!==void 0&&(a.from=e.name),t.reload!==void 0&&(a.reload=t.reload),t.replace!==void 0&&(a.replace=t.replace),t.redirected!==void 0&&(a.redirected=t.redirected),Object.freeze(a)}function _t({signal:e,...t}){return t}function vt(e,t){let{toState:n,fromState:r,opts:i,toDeactivate:o,toActivate:c,intersection:l}=t;if(n.name!==s.UNKNOWN_ROUTE&&!e.hasRoute(n.name)){let t=new G(a.ROUTE_NOT_FOUND,{routeName:n.name});throw e.sendTransitionFail(n,r,t),t}if(r)for(let n of o)!c.includes(n)&&t.canDeactivateFunctions.has(n)&&e.clearCanDeactivate(n);n.transition=gt(r,i,o,c,l);let u=Object.freeze(n);e.setState(u);let d=i.signal===void 0?i:_t(i);return e.sendTransitionDone(u,r,d),u}function yt(e,t,n,r){let i=t;i.code===a.TRANSITION_CANCELLED||i.code===a.ROUTE_NOT_FOUND||e.sendTransitionFail(n,r,i)}function q(e,t,n){if(e instanceof DOMException&&e.name===`AbortError`)throw new G(a.TRANSITION_CANCELLED);if(e instanceof G&&e.code===a.TRANSITION_CANCELLED)throw e;bt(e,t,n)}function bt(e,t,n){throw e instanceof G?(e.setCode(t),e):new G(t,St(e,n))}const xt=new Set([`code`,`segment`,`path`,`then`]);function St(e,t){let n={segment:t};if(e instanceof Error)return{...n,message:e.message,stack:e.stack,...`cause`in e&&e.cause!==void 0&&{cause:e.cause}};if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))xt.has(n)||(t[n]=r);return{...n,...t}}return n}async function Ct(e,t,n){let r;try{r=await e}catch(e){q(e,t,n);return}if(!r)throw new G(t,{segment:n})}async function wt(e,t,n,r,i,o,s,c,l,u){await Ct(l,n,u);for(let l=c;l<t.length;l++){if(!s())throw new G(a.TRANSITION_CANCELLED);let c=t[l],u=e.get(c);if(!u)continue;let d=!1;try{d=u(r,i,o)}catch(e){q(e,n,c)}if(d instanceof Promise){await Ct(d,n,c);continue}if(!d)throw new G(n,{segment:c})}}async function Tt(e,t,n,r,i,o,s,c,l){if(await e,!c())throw new G(a.TRANSITION_CANCELLED);let u=l();if(u!==void 0&&(await u,!c()))throw new G(a.TRANSITION_CANCELLED);if(r){let e=J(t,n,a.CANNOT_ACTIVATE,i,o,s,c);if(e!==void 0&&await e,!c())throw new G(a.TRANSITION_CANCELLED)}}function Et(e,t,n,r,i,o,s,c,l,u,d){if(i){let i=J(e,n,a.CANNOT_DEACTIVATE,s,c,l,u);if(i!==void 0)return Tt(i,t,r,o,s,c,l,u,d)}if(!u())throw new G(a.TRANSITION_CANCELLED);let f=d();if(f!==void 0)return Dt(f,o?t:void 0,r,s,c,l,u);if(o)return J(t,r,a.CANNOT_ACTIVATE,s,c,l,u)}async function Dt(e,t,n,r,i,o,s){if(await e,!s())throw new G(a.TRANSITION_CANCELLED);if(t!==void 0){let e=J(t,n,a.CANNOT_ACTIVATE,r,i,o,s);if(e!==void 0&&await e,!s())throw new G(a.TRANSITION_CANCELLED)}}function J(e,t,n,r,i,o,s){for(let[c,l]of t.entries()){if(!s())throw new G(a.TRANSITION_CANCELLED);let u=e.get(l);if(!u)continue;let d=!1;try{d=u(r,i,o)}catch(e){q(e,n,l)}if(d instanceof Promise)return wt(e,t,n,r,i,o,s,c+1,d,l);if(!d)throw new G(n,{segment:l})}}const Ot=Object.freeze([s.UNKNOWN_ROUTE]),kt=Object.freeze({replace:!0});function At(e,t){return t?.name===s.UNKNOWN_ROUTE&&!e.replace?{...e,replace:!0}:e}function jt(e,t,n){return!!e&&!t.reload&&!t.force&&e.path===n.path}var Mt=class{lastSyncResolved=!1;lastSyncRejected=!1;#e;#t=null;#n=0;setDependencies(e){this.#e=e}navigate(e,t,n){this.lastSyncResolved=!1;let r=this.#e;if(!r.canNavigate())return this.lastSyncRejected=!0,K;let i;try{i=r.buildNavigateState(e,t)}catch(e){return Promise.reject(e)}return i?this.#r(i,n):(r.emitTransitionError(void 0,r.getState(),ft),this.lastSyncRejected=!0,mt)}navigateToState(e,t){this.lastSyncResolved=!1;let n=this.#e;if(!n.canNavigate())return this.lastSyncRejected=!0,K;if(e.name!==s.UNKNOWN_ROUTE&&!n.hasRoute(e.name)){let t=new G(a.ROUTE_NOT_FOUND,{routeName:e.name});return n.emitTransitionError(void 0,n.getState(),t),Promise.reject(t)}let r={name:e.name,params:e.params,path:e.path,context:{...e.context}},i=C(e);return i!==void 0&&ce(r,i),this.#r(r,t)}navigateToDefault(e){this.lastSyncResolved=!1;let t=this.#e;if(!t.getOptions().defaultRoute)return Promise.reject(new G(a.ROUTE_NOT_FOUND,{routeName:`defaultRoute not configured`}));let n,r;try{({route:n,params:r}=t.resolveDefault())}catch(e){return Promise.reject(e)}return n?this.navigate(n,r,e):Promise.reject(new G(a.ROUTE_NOT_FOUND,{routeName:`defaultRoute resolved to empty`}))}navigateToNotFound(e){if(!this.#e.isActive())throw new G(a.ROUTER_DISPOSED);this.#c();let t=this.#e.getState(),n=t?z(t.name).toReversed():[];Object.freeze(n);let r={deactivated:n,activated:Ot,intersection:``};Object.freeze(r);let i={phase:`activating`,...t&&{from:t.name},reason:`success`,replace:!0,segments:r};Object.freeze(i);let o={name:s.UNKNOWN_ROUTE,params:d,path:e,transition:i,context:{}};return Object.freeze(o),this.#e.setState(o),this.#e.emitTransitionSuccess(o,t,kt),o}abortCurrentController(e){this.#t?.abort(e??new G(a.TRANSITION_CANCELLED)),this.#t=null}#r(e,t){let n=this.#e,r,i=!1,o=null;try{if(r=n.getState(),t=At(t,r),jt(r,t,e))return n.emitTransitionError(e,r,pt),this.lastSyncRejected=!0,ht;this.#c(t.signal);let c=++this.#n,l=t.signal!==void 0||n.hasLeaveListeners()||n.hasPreCommitListeners();n.startTransition(e,r),i=!0;let[u,d]=n.getLifecycleFunctions(),f=e.name===s.UNKNOWN_ROUTE,p=W(e,r),{toDeactivate:m,toActivate:h,intersection:g}=p,ee=r&&!t.forceDeactivate&&m.length>0,_=!f&&h.length>0,v=u.size>0||d.size>0,y=e;if(!v){let e=this.#o(y,r,c,t,p,u);if(e!==void 0)return e}if(v){o=new AbortController,this.#t=o;let i=()=>this.#n===c&&n.isActive(),s=o.signal,l=Et(u,d,m,h,!!ee,_,e,r,s,i,()=>{if(n.sendLeaveApprove(y,r),n.hasLeaveListeners())return n.awaitLeaveListeners(y,r,s)});if(l!==void 0)return this.#i(l,{toState:e,fromState:r,opts:t,toDeactivate:m,toActivate:h,intersection:g,canDeactivateFunctions:u},o,c);if(!i())throw new G(a.TRANSITION_CANCELLED);this.#s(o,!1)}if(l&&(!n.isActive()||t.signal?.aborted===!0))throw new G(a.TRANSITION_CANCELLED);let te=vt(n,{toState:e,fromState:r,opts:t,toDeactivate:m,toActivate:h,intersection:g,canDeactivateFunctions:u});return this.lastSyncResolved=!0,Promise.resolve(te)}catch(t){return this.#a(t,o,i,e,r),Promise.reject(t)}}async#i(e,t,n,r){let i=this.#e,o=()=>this.#n===r&&!n.signal.aborted&&i.isActive(),s=t.opts.signal,c,l,u=!1,d,f=new Promise(e=>{if(n.signal.aborted){e();return}l=()=>{e()},n.signal.addEventListener(`abort`,l,{once:!0})});e.catch(()=>{});try{if(s){if(s.aborted)throw new G(a.TRANSITION_CANCELLED,{reason:s.reason});c=()=>{i.cancelNavigation(s.reason)},s.addEventListener(`abort`,c,{once:!0})}if(await Promise.race([e,f]),!o())throw new G(a.TRANSITION_CANCELLED);let n=vt(i,t);return u=!0,n}catch(e){throw d=e,yt(i,e,t.toState,t.fromState),e}finally{c&&s?.removeEventListener(`abort`,c),l&&n.signal.removeEventListener(`abort`,l),this.#s(n,!u,d)}}#a(e,t,n,r,i){t&&this.#s(t,!0,e),n&&r&&yt(this.#e,e,r,i)}#o(e,t,n,r,i,a){let o=this.#e;if(o.sendLeaveApprove(e,t),o.hasLeaveListeners()){let s=new AbortController;this.#t=s;let c;try{c=o.awaitLeaveListeners(e,t,s.signal)}catch(e){throw this.#s(s,!0,e),e}if(c!==void 0)return this.#i(c,{toState:e,fromState:t,opts:r,toDeactivate:i.toDeactivate,toActivate:i.toActivate,intersection:i.intersection,canDeactivateFunctions:a},s,n);this.#s(s,!1);return}}#s(e,t,n){t&&e.abort(n),this.#t===e&&(this.#t=null)}#c(e){if(this.#e.isTransitioning()&&(t.logger.warn(`router.navigate`,`Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request.`),this.#e.cancelNavigation()),e?.aborted)throw new G(a.TRANSITION_CANCELLED,{reason:e.reason})}};const Nt=Object.freeze({replace:!0});var Pt=class{#e;setDependencies(e){this.#e=e}async start(e){let t=this.#e;if(t.isIdle())throw new G(a.TRANSITION_CANCELLED);let n=t.getOptions();if(typeof e!=`string`)throw TypeError(`[router.start] path must be a string, got ${typeof e}`);let r=t.matchPath(e);if(!r&&!n.allowNotFound){let n=new G(a.ROUTE_NOT_FOUND,{path:e});throw t.emitTransitionError(void 0,void 0,n),n}return t.completeStart(),r?t.navigateToState(r,Nt):t.navigateToNotFound(e)}stop(){this.#e.clearState()}};const Y=`TREE_CHANGED`;function X(e){return e instanceof Error?e:Error(String(e))}function Ft(e,t,n){return new Promise((r,i)=>{let o=()=>{let e=n.reason;i(e instanceof G&&e.code===a.TRANSITION_CANCELLED?e:new G(a.TRANSITION_CANCELLED,{reason:e}))};if(n.aborted){o();return}n.addEventListener(`abort`,o,{once:!0}),Promise.allSettled(e).then(e=>{if(n.removeEventListener(`abort`,o),n.aborted)return;if(t!==void 0){i(X(t));return}let a=e.find(e=>e.status===`rejected`);if(a!==void 0){i(X(a.reason));return}r()})})}var Z=class{#e;#t;#n;#r;#i=[];#a=0;#o;#s;#c;#l;#u;constructor(e){this.#e=e.routerFSM,this.#t=e.emitter,this.#n=e.onListenerError,this.#r=e.abortController,this.#o=void 0,this.#f()}static validateSubscribeListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribe] Expected a function. For Observable pattern use observable(router) from @real-router/rx`)}static validateSubscribeLeaveListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribeLeave] Expected a function`)}emitRouterStart(){this.#t.emit(l.ROUTER_START)}emitRouterStop(){this.#t.emit(l.ROUTER_STOP)}emitTransitionStart(e,t){this.#a++;try{this.#t.emit(l.TRANSITION_START,e,t)}finally{this.#a--}}emitTransitionSuccess(e,t,n){this.#a++;try{this.#t.emit(l.TRANSITION_SUCCESS,e,t,n)}finally{this.#a--}}emitTransitionError(e,t,n){this.#a++;try{this.#t.emit(l.TRANSITION_ERROR,e,t,n)}finally{this.#a--}}emitTransitionCancel(e,t){this.#a++;try{this.#t.emit(l.TRANSITION_CANCEL,e,t)}finally{this.#a--}}emitTransitionLeaveApprove(e,t){this.#a++;try{this.#t.emit(l.TRANSITION_LEAVE_APPROVE,e,t)}finally{this.#a--}}isProcessing(){return this.#a>0}emitTreeChanged(e){this.#t.emit(Y,e)}isEmittingTreeChanged(){return this.#t.isDispatching(Y)}subscribeTreeChanged(e){if(this.isDisposed())throw new G(a.ROUTER_DISPOSED);return this.#t.on(Y,t=>{e(t)})}treeChangedListenerCount(){return this.#t.listenerCount(Y)}sendStart(){this.#e.send(h.START)}sendStop(){this.#e.send(h.STOP)}sendDispose(){this.#e.send(h.DISPOSE)}sendStarted(){this.#e.send(h.STARTED)}sendNavigate(e,t){this.#o=e,this.#e.send(h.NAVIGATE,{toState:e,fromState:t})}sendComplete(e,t,n={}){this.#e.send(h.COMPLETE,{toState:e,fromState:t,opts:n}),this.#o=void 0}sendLeaveApprove(e,t){this.#e.send(h.LEAVE_APPROVE,{toState:e,fromState:t})}sendFail(e,t,n){this.#s=e,this.#c=t,this.#l=n,this.#e.send(h.FAIL),this.#o=void 0}sendFailSafe(e,t,n){this.isReady()?this.sendFail(e,t,n):this.emitTransitionError(e,t,n)}sendCancel(e,t,n){this.#s=e,this.#c=t,this.#u=n,this.#e.send(h.CANCEL),this.#o=void 0}canBeginTransition(){return this.#e.canSend(h.NAVIGATE)}canStart(){return this.#e.canSend(h.START)}canCancel(){return this.#e.canSend(h.CANCEL)}isActive(){let e=this.#e.getState();return e!==m.IDLE&&e!==m.DISPOSED}isDisposed(){return this.#e.getState()===m.DISPOSED}isTransitioning(){let e=this.#e.getState();return e===m.TRANSITION_STARTED||e===m.LEAVE_APPROVED}isLeaveApproved(){return this.#e.getState()===m.LEAVE_APPROVED}isReady(){return this.#e.getState()===m.READY}isStarting(){return this.#e.getState()===m.STARTING}isIdle(){return this.#e.getState()===m.IDLE}addEventListener(e,t){return this.#t.on(e,t)}subscribe(e){if(this.isDisposed())throw new G(a.ROUTER_DISPOSED);return this.#t.on(l.TRANSITION_SUCCESS,(t,n)=>{let r=e({route:t,previousRoute:n});r!=null&&typeof r.then==`function`&&Promise.resolve(r).catch(e=>{this.#n(l.TRANSITION_SUCCESS,e)})})}subscribeLeave(e){if(this.isDisposed())throw new G(a.ROUTER_DISPOSED);this.#i.push(e);let t=!1;return()=>{if(t)return;t=!0;let n=this.#i.indexOf(e);n!==-1&&this.#i.splice(n,1)}}hasLeaveListeners(){return this.#i.length>0}hasPreCommitListeners(){return this.#t.listenerCount(l.TRANSITION_START)>0||this.#t.listenerCount(l.TRANSITION_LEAVE_APPROVE)>0}awaitLeaveListeners(e,t,n){if(t===void 0)return;let r=Object.freeze({route:t,nextRoute:e,signal:n}),i,a,o=[...this.#i];this.#a++;try{for(let e of o)try{let t=e(r);t!==void 0&&typeof t.then==`function`&&(i??=[],i.push(t))}catch(e){a===void 0&&(a=e)}}finally{this.#a--}if(i===void 0){if(a!==void 0)throw X(a);return}return Ft(i,a,n)}clearAll(){this.#t.clearAll(),this.#i.length=0}setLimits(e){this.#t.setLimits(e)}sendCancelIfPossible(e,t){let n=this.#o;!this.canCancel()||n===void 0||this.sendCancel(n,e,t)}#d(){this.emitTransitionError(this.#s,this.#c,this.#l),this.#s=void 0,this.#c=void 0,this.#l=void 0}#f(){let e=this.#e;e.on(m.STARTING,h.STARTED,()=>{this.emitRouterStart()}),e.on(m.READY,h.STOP,()=>{this.emitRouterStop()});let t=e=>{this.emitTransitionStart(e.toState,e.fromState)};e.on(m.READY,h.NAVIGATE,t),e.on(m.TRANSITION_STARTED,h.NAVIGATE,t),e.on(m.LEAVE_APPROVED,h.NAVIGATE,t),e.on(m.TRANSITION_STARTED,h.LEAVE_APPROVE,e=>{this.emitTransitionLeaveApprove(e.toState,e.fromState)}),e.on(m.LEAVE_APPROVED,h.COMPLETE,e=>{this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let n=()=>{let e=this.#s,t=this.#u;this.#u=void 0,this.#r(t),e!==void 0&&this.emitTransitionCancel(e,this.#c)};e.on(m.TRANSITION_STARTED,h.CANCEL,n),e.on(m.LEAVE_APPROVED,h.CANCEL,n),e.on(m.LEAVE_APPROVED,h.FAIL,()=>{this.#d()}),e.on(m.STARTING,h.FAIL,()=>{this.#d()}),e.on(m.READY,h.FAIL,()=>{this.#d()}),e.on(m.TRANSITION_STARTED,h.FAIL,()=>{this.#d()})}};const It=new G(a.ROUTER_ALREADY_STARTED),Lt=new Set([`all`,`warn-error`,`error-only`,`none`]);function Rt(e){return typeof e==`string`&&Lt.has(e)}function zt(e){return typeof e==`string`?`"${e}"`:typeof e==`object`?JSON.stringify(e):String(e)}function Bt(e){if(typeof e!=`object`)throw TypeError(`Logger config must be an object`);let t=e;for(let e of Object.keys(t))if(e!==`level`&&e!==`callback`&&e!==`callbackIgnoresLevel`)throw TypeError(`Unknown logger config property: "${e}"`);if(`level`in t&&t.level!==void 0&&!Rt(t.level))throw TypeError(`Invalid logger level: ${zt(t.level)}. Expected: "all" | "warn-error" | "error-only" | "none"`);if(`callback`in t&&t.callback!==void 0&&typeof t.callback!=`function`)throw TypeError(`Logger callback must be a function, got ${typeof t.callback}`);if(`callbackIgnoresLevel`in t&&t.callbackIgnoresLevel!==void 0&&typeof t.callbackIgnoresLevel!=`boolean`)throw TypeError(`Logger callbackIgnoresLevel must be a boolean, got ${typeof t.callbackIgnoresLevel}`)}function Vt(t){let n=Ht(t),r=()=>e.l(t.router).validator;Ut(t),Wt(t,n,r),Gt(t),Kt(t,n,r),qt(t),Jt(t),Yt(t)}function Ht(e){let{router:t,dependenciesStore:n}=e,r=e=>n.dependencies[e];return e=>e(t,r)}function Ut(e){e.dependenciesStore.limits=e.limits,e.eventBus.setLimits({maxListeners:e.limits.maxListeners,warnListeners:e.limits.warnListeners})}function Wt(e,t,n){let r={compileFactory:t,getValidator:n};e.routeLifecycle.setDependencies(r)}function Gt(t){t.routes.setDependencies({addActivateGuard:(e,n,r)=>{t.routeLifecycle.addCanActivate(e,n,!0,r)},addDeactivateGuard:(e,n,r)=>{t.routeLifecycle.addCanDeactivate(e,n,!0,r)},compileGuard:(e,n)=>t.routeLifecycle.compileGuardFactory(e,n),makeState:(e,n,r,i)=>t.state.makeState(e,n,r,i),getState:()=>t.state.get(),areStatesEqual:(e,n,r)=>t.state.areStatesEqual(e,n,r),getDependency:e=>t.dependenciesStore.dependencies[e],forwardState:(n,r)=>{let i=e.l(t.router);return i.validator?.routes.validateStateBuilderArgs(n,r,`forwardState`),i.forwardState(n,r)}}),t.routes.setLifecycleNamespace(t.routeLifecycle)}function Kt(e,t,n){let r={addEventListener:(t,n)=>e.eventBus.addEventListener(t,n),canNavigate:()=>e.eventBus.canBeginTransition(),compileFactory:t,getValidator:n};e.plugins.setDependencies(r)}function qt(t){t.navigation.setDependencies({getOptions:()=>t.options.get(),hasRoute:e=>t.routes.hasRoute(e),getState:()=>t.state.get(),setState:e=>{t.state.set(e)},buildNavigateState:(n,r)=>{let i=e.l(t.router);i.validator?.routes.validateStateBuilderArgs(n,r,`navigate`);let a=i.forwardState(n,r),o=a.name,s=b(a.params),c=t.routes.getMetaForState(o);if(c===void 0)return;let l=i.buildPath(o,s);return t.state.makeState(o,s,l,c,!0)},resolveDefault:()=>{let n=t.options.get(),r=e.l(t.router),i=ae(n.defaultRoute,e=>t.dependenciesStore.dependencies[e]),a=ae(n.defaultParams,e=>t.dependenciesStore.dependencies[e]);return typeof n.defaultRoute==`function`&&r.validator?.options.validateResolvedDefaultRoute(i,r.routeGetStore()),{route:i,params:a}},startTransition:(e,n)=>{t.eventBus.sendNavigate(e,n)},cancelNavigation:e=>{t.eventBus.sendCancelIfPossible(t.state.get(),e)},sendTransitionDone:(e,n,r)=>{t.eventBus.sendComplete(e,n,r)},sendTransitionFail:(e,n,r)=>{t.eventBus.sendFail(e,n,r)},emitTransitionError:(e,n,r)=>{t.eventBus.sendFailSafe(e,n,r)},emitTransitionSuccess:(e,n,r)=>{t.eventBus.emitTransitionSuccess(e,n,r)},sendLeaveApprove:(e,n)=>{t.eventBus.sendLeaveApprove(e,n)},canNavigate:()=>t.eventBus.canBeginTransition(),getLifecycleFunctions:()=>t.routeLifecycle.getFunctions(),isActive:()=>t.router.isActive(),isTransitioning:()=>t.eventBus.isTransitioning(),clearCanDeactivate:e=>{t.routeLifecycle.clearCanDeactivate(e,`external`)},hasLeaveListeners:()=>t.eventBus.hasLeaveListeners(),hasPreCommitListeners:()=>t.eventBus.hasPreCommitListeners(),awaitLeaveListeners:(e,n,r)=>t.eventBus.awaitLeaveListeners(e,n,r)})}function Jt(e){e.lifecycle.setDependencies({getOptions:()=>e.options.get(),navigateToState:(t,n)=>e.navigation.navigateToState(t,n),navigateToNotFound:t=>e.navigation.navigateToNotFound(t),clearState:()=>{e.state.set(void 0)},matchPath:t=>e.routes.matchPath(t,e.options.get()),completeStart:()=>{e.eventBus.sendStarted()},isIdle:()=>e.eventBus.isIdle(),emitTransitionError:(t,n,r)=>{e.eventBus.sendFail(t,n,r)}})}function Yt(t){t.state.setDependencies({getDefaultParams:()=>t.routes.getStore().config.defaultParams,buildPath:(n,r)=>e.l(t.router).buildPath(n,r),getUrlParams:e=>t.routes.getUrlParams(e)})}const Q=Object.freeze({}),Xt=new Set([a.SAME_STATES,a.TRANSITION_CANCELLED,a.ROUTER_NOT_STARTED,a.ROUTE_NOT_FOUND,a.CANNOT_ACTIVATE,a.CANNOT_DEACTIVATE]);function Zt(e,n){t.logger.error(`Router`,`Error in listener for ${e}:`,n)}var Qt=class n{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;constructor(r=[],a={},o={}){let{logger:s,...c}=a;s&&(Bt(s),t.logger.configure(s)),x.validateOptionsIsObject(a),_(o),r.length>0&&v(r),this.#e=new x(c),this.#t=te(c.limits),this.#n=ne(o),this.#r=new le,this.#i=new st(r,$t(this.#e.get())),this.#a=new ye,this.#o=new pe,this.#s=new Mt,this.#c=new Pt;let l=ee(),u=new i({onListenerError:Zt,onListenerWarn:(e,n)=>{t.logger.warn(`router.addEventListener`,`Event "${e}" has ${n} listeners — possible memory leak`)}});this.#l=new Z({routerFSM:l,emitter:u,onListenerError:Zt,abortController:e=>{this.#s.abortCurrentController(e)}});let f=new Map;e.u(this,{makeState:(e,t,n,r)=>this.#r.makeState(e,t,n,r),forwardState:e.s(`forwardState`,(e,t)=>this.#i.forwardState(e,t),f),buildStateResolved:(e,t)=>this.#i.buildStateResolved(e,t),matchPath:(e,t)=>this.#i.matchPath(e,t),getOptions:()=>this.#e.get(),addEventListener:(e,t)=>this.#l.addEventListener(e,t),treeChanged:{emit:e=>{this.#l.emitTreeChanged(e)},subscribe:e=>this.#l.subscribeTreeChanged(e),listenerCount:()=>this.#l.treeChangedListenerCount(),isEmitting:()=>this.#l.isEmittingTreeChanged()},buildPath:e.s(`buildPath`,(e,t)=>this.#i.buildPath(e,t??d,this.#e.get()),f),emitTransitionError:e=>{this.#l.sendFailSafe(void 0,this.#r.get(),e)},emitTransitionSuccess:(e,t,n)=>{this.#l.emitTransitionSuccess(e,t,n)},navigateToNotFound:e=>this.#s.navigateToNotFound(e),start:e.c(`start`,e=>this.#c.start(e),f),navigateToState:(e,t)=>{this.#m();let r=this.#s.navigateToState(e,t??Q);return this.#s.lastSyncResolved?this.#s.lastSyncResolved=!1:this.#s.lastSyncRejected?this.#s.lastSyncRejected=!1:n.#p(r),r},interceptors:f,setRootPath:e=>{this.#i.setRootPath(e)},getRootPath:()=>this.#i.getStore().rootPath,getTree:()=>this.#i.getStore().tree,isDisposed:()=>this.#l.isDisposed(),validator:null,dependenciesGetStore:()=>this.#n,getCloneState:()=>({options:{...this.#e.get()},dependencies:{...this.#n.dependencies},pluginFactories:this.#o.getAll()}),routeGetStore:()=>this.#i.getStore(),getStateName:()=>this.#r.get()?.name,isTransitioning:()=>this.#l.isTransitioning(),clearState:()=>{this.#r.set(void 0)},setState:e=>{this.#r.set(e)},routerExtensions:[],contextClaimRecords:new Set,hydrationState:null}),Vt({router:this,options:this.#e,limits:this.#t,dependenciesStore:this.#n,state:this.#r,routes:this.#i,routeLifecycle:this.#a,plugins:this.#o,navigation:this.#s,lifecycle:this.#c,eventBus:this.#l}),this.isActiveRoute=this.isActiveRoute.bind(this),this.buildPath=this.buildPath.bind(this),this.getState=this.getState.bind(this),this.getPreviousState=this.getPreviousState.bind(this),this.areStatesEqual=this.areStatesEqual.bind(this),this.shouldUpdateNode=this.shouldUpdateNode.bind(this),this.isActive=this.isActive.bind(this),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.dispose=this.dispose.bind(this),this.canNavigateTo=this.canNavigateTo.bind(this),this.usePlugin=this.usePlugin.bind(this),this.navigate=this.navigate.bind(this),this.navigateToDefault=this.navigateToDefault.bind(this),this.navigateToNotFound=this.navigateToNotFound.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeLeave=this.subscribeLeave.bind(this),this.isLeaveApproved=this.isLeaveApproved.bind(this);try{this.#i.flushPendingGuards()}catch(e){throw this.dispose(),e}}isActiveRoute(n,r,i,a){return e.l(this).validator?.routes.validateIsActiveRouteArgs(n,r,i,a),e.l(this).validator?.routes.validateRouteName(n,`isActiveRoute`),n===``?(t.logger.warn(`real-router`,`isActiveRoute("") called with empty string. Root node is not considered a parent of any route.`),!1):this.#i.isActiveRoute(n,r,i,a)}buildPath(t,n){let r=e.l(this);return r.validator?.routes.validateBuildPathArgs(t),r.validator?.navigation.validateParams(n,`buildPath`),r.buildPath(t,b(n))}getState(){return this.#r.get()}getPreviousState(){return this.#r.getPrevious()}areStatesEqual(t,n,r=!0){return e.l(this).validator?.state.validateAreStatesEqualArgs(t,n,r),this.#r.areStatesEqual(t,n,r)}shouldUpdateNode(t){return e.l(this).validator?.routes.validateShouldUpdateNodeArgs(t),st.shouldUpdateNode(t)}isActive(){return this.#l.isActive()}start(t){if(!this.#l.canStart())return Promise.reject(It);e.l(this).validator?.navigation.validateStartArgs(t),this.#l.sendStart();let r;try{r=e.l(this).start(t)}catch(e){r=Promise.reject(e)}let i=r.catch(e=>this.#h(e));return n.#p(i,n.#f),i}stop(){return this.#l.sendCancelIfPossible(this.#r.get()),!this.#l.isReady()&&!this.#l.isTransitioning()&&!this.#l.isStarting()?this:(this.#c.stop(),this.#l.sendStop(),this)}dispose(){if(this.#l.isDisposed())return;this.#l.sendCancelIfPossible(this.#r.get()),(this.#l.isReady()||this.#l.isTransitioning())&&(this.#c.stop(),this.#l.sendStop()),this.#l.sendDispose(),this.#l.clearAll(),this.#o.disposeAll();let t=e.l(this);for(let e of t.routerExtensions)for(let t of e.keys)delete this[t];t.routerExtensions.length=0,t.contextClaimRecords.clear(),t.interceptors.clear(),this.#i.clearRoutes(),this.#a.clearAll(),this.#r.reset(),this.#n.dependencies=Object.create(null),this.#g()}canNavigateTo(t,n){let r=e.l(this);if(r.validator?.routes.validateRouteName(t,`canNavigateTo`),r.validator?.navigation.validateParams(n,`canNavigateTo`),!this.#i.hasRoute(t))return!1;let{name:i,params:a}=r.forwardState(t,n??{}),o;try{let e=b(a),t=this.#i.getMetaForState(i),n=r.buildPath(i,e);o=this.#r.makeState(i,e,n,t,!0)}catch{return!1}let s=this.#r.get(),{toDeactivate:c,toActivate:l}=W(o,s);return this.#a.canNavigateTo(c,l,o,s)}usePlugin(...t){if(this.#l.isDisposed())throw new G(a.ROUTER_DISPOSED);let n=t.filter(Boolean);if(n.length===0)return()=>{};let r=e.l(this);r.validator?.plugins.validatePluginLimit(this.#o.count(),this.#t);for(let e of n)r.validator?.plugins.validateNoDuplicatePlugins(e,this.#o.getAll());return this.#o.use(...n)}subscribe(e){return Z.validateSubscribeListener(e),this.#l.subscribe(e)}subscribeLeave(e){return Z.validateSubscribeLeaveListener(e),this.#l.subscribeLeave(e)}isLeaveApproved(){return this.#l.isLeaveApproved()}navigate(t,r,i){this.#m();let a=e.l(this);a.validator?.navigation.validateNavigateArgs(t),a.validator?.navigation.validateParams(r,`navigate`);let o=i??Q;a.validator?.navigation.validateNavigationOptions(o,`navigate`);let s=this.#s.navigate(t,r??d,o);return this.#s.lastSyncResolved?this.#s.lastSyncResolved=!1:this.#s.lastSyncRejected?this.#s.lastSyncRejected=!1:n.#p(s),s}navigateToDefault(t){this.#m();let r=e.l(this);r.validator?.navigation.validateNavigateToDefaultArgs(t);let i=t??Q;r.validator?.navigation.validateNavigationOptions(i,`navigateToDefault`);let a=this.#s.navigateToDefault(i);return this.#s.lastSyncResolved?this.#s.lastSyncResolved=!1:this.#s.lastSyncRejected?this.#s.lastSyncRejected=!1:n.#p(a),a}navigateToNotFound(e){if(this.#m(),!this.#l.isActive())throw new G(a.ROUTER_NOT_STARTED);if(e!==void 0&&typeof e!=`string`)throw TypeError(`[router.navigateToNotFound] path must be a string, got ${typeof e}`);if(e!==void 0)return this.#s.navigateToNotFound(e);let t=this.#r.get();if(t===void 0)throw new G(a.ROUTER_NOT_STARTED,{message:`[router.navigateToNotFound] cannot derive the path before the start navigation commits — pass an explicit path`});return this.#s.navigateToNotFound(t.path)}static#u(e){return e instanceof G&&Xt.has(e.code)}static#d=e=>{n.#u(e)||t.logger.error(`router.navigate`,`Unexpected navigation error`,e)};static#f=e=>{n.#u(e)||t.logger.error(`router.start`,`Unexpected start error`,e)};static#p(e,t=n.#d){e.catch(t)}#m(){if(this.#l.isProcessing())throw new G(a.REENTRANT_NAVIGATION)}#h(e){throw this.#l.isReady()&&this.#r.get()===void 0?(this.#c.stop(),this.#l.sendStop()):this.#l.isStarting()&&this.#l.sendFail(void 0,void 0,e),e}#g(){this.navigate=$,this.navigateToDefault=$,this.navigateToNotFound=$,this.start=$,this.stop=$,this.usePlugin=$,this.subscribe=$,this.subscribeLeave=$,this.canNavigateTo=$}};function $(){throw new G(a.ROUTER_DISPOSED)}function $t(e){return{strictTrailingSlash:e.trailingSlash===`strict`,caseSensitive:e.caseSensitive,strictQueryParams:e.queryParamsMode===`strict`,urlParamsEncoding:e.urlParamsEncoding,queryParams:e.queryParams}}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return Ee}});
|
|
2
|
-
//# sourceMappingURL=Router-jopnJ59k.js.map
|