@real-router/core 0.113.0 → 0.115.0
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-DFl8BCdk.js +2 -0
- package/dist/cjs/Router-DFl8BCdk.js.map +1 -0
- package/dist/cjs/api.js +1 -1
- package/dist/cjs/engine/path-matcher/SegmentMatcher.d.ts.map +1 -1
- package/dist/cjs/engine/path-matcher/types.d.ts +1 -1
- package/dist/cjs/engine/path-matcher/types.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/types/router.d.ts +3 -1
- package/dist/cjs/types/router.d.ts.map +1 -1
- package/dist/esm/Router-D6UVHXHp.mjs +2 -0
- package/dist/esm/Router-D6UVHXHp.mjs.map +1 -0
- package/dist/esm/api.mjs +1 -1
- package/dist/esm/engine/path-matcher/SegmentMatcher.d.mts.map +1 -1
- package/dist/esm/engine/path-matcher/types.d.mts +1 -1
- package/dist/esm/engine/path-matcher/types.d.mts.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/types/router.d.mts +3 -1
- package/dist/esm/types/router.d.mts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/Router-COsWo_pH.js +0 -2
- package/dist/cjs/Router-COsWo_pH.js.map +0 -1
- package/dist/esm/Router-_h3Gc9Fz.mjs +0 -2
- package/dist/esm/Router-_h3Gc9Fz.mjs.map +0 -1
package/dist/cjs/api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./route-name-BBu872EN.js"),t=require("./ingest-DxGcWzr6.js"),n=require("./Router-COsWo_pH.js");function r(e){if(e())throw n.r(new n.n(t.m.ROUTER_DISPOSED))}function i(e){if(e())throw n.r(new n.n(t.m.REENTRANT_TREE_MUTATION,{message:`[router] cannot mutate the route tree from inside a subscribeChanges handler — the mutation would run while a TREE_CHANGED emit is on the stack and the tree must stay atomic. Defer it: queueMicrotask(() => routes.add(...)) or await.`}))}function a(e,t,n){if(t){let r=t===e;if(r||t.startsWith(`${e}.`)){let i=r?``:` (current: "${t}")`;return n.warn(`router.removeRoute`,`Cannot remove route "${e}" — it is currently active${i}. Navigate away first.`),!1}}return!0}function o(e,t){t.warn(`router.removeRoute`,`Route "${e}" removed while navigation is in progress. Removing a route the router is navigating to (or an ancestor of it) fails that navigation. The rejected navigate() promise carries "CANCELLED" while the guard walk is synchronous and "ROUTE_NOT_FOUND" once it has gone async; onTransitionError always reports "ROUTE_NOT_FOUND", and onTransitionCancel never fires. The committed state is not affected either way.`)}function s(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function c(e,t,n,r){return n&&s(e)!==s(t)?(r.error(`router.setRootPath`,"Cannot change the root PATH while navigation is in progress — it moves every route's path, including the one being navigated to. Wait for navigation to complete. (Changing only the `?`-declared query names is allowed here: it moves no paths.)"),!1):!0}function l(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const u=Object.keys,d=new WeakMap;function f(a){let o=d.get(a);if(o)return o;let s=e.h(a),l={makeState:(t,n,r,i)=>(e._(s,`makeState`,t,n),s.validator?.state.validateMakeStateArgs(t,n,i),s.makeState(t,n,r,i)),forwardState:(e,t,n)=>(s.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),s.forwardState(e,t,n)),matchPath:e=>(s.validator?.routes.validateMatchPathArgs(e),s.matchPath(e,s.getOptions())),navigateToState:(e,t)=>(r(s.isDisposed),s.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&s.validator?.navigation.validateNavigationOptions(t,`navigateToState`),s.navigateToState(e,t)),setRootPath:e=>(r(s.isDisposed),i(s.treeChanged.isEmitting),s.validator?.routes.validateSetRootPathArgs(e),c(s.getRootPath(),e,s.isTransitioning(),s.logger)?(s.setRootPath(e),!0):!1),getRootPath:s.getRootPath,addEventListener:(e,t)=>(r(s.isDisposed),s.validator?.eventBus.validateListenerArgs(e,t),s.addEventListener(e,t)),buildNavigationState:(t,r={},i={})=>{e._(s,`buildNavigationState`,t,r),s.validator?.routes.validateStateBuilderArgs(t,r,`buildNavigationState`);let a=n.O(s.port(),t,r,i,{diagnoseUndeclared:!0});if(s.buildStateResolved(a.name,a.path))return e.y(`buildNavigationState`,a.name,a.path,s.port().queryNames(a.name)),n.E(a,n.D(a,s.port()))},getOptions:s.getOptions,getTree:s.getTree,addInterceptor:(e,t)=>{r(s.isDisposed),s.validator?.plugins.validateAddInterceptorArgs(e,t);let n=s.interceptors.get(e);n||(n=[],s.interceptors.set(e,n)),n.push(t);let i=!1;return()=>{i||(i=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=s.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{r(s.isDisposed);let i=u(e);for(let e of i)if(e in a)throw n.r(new n.n(t.m.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));for(let t of i)a[t]=e[t];let o={keys:i};s.routerExtensions.push(o);let c=!1;return()=>{if(c)return;c=!0;for(let e of o.keys)delete a[e];let e=s.routerExtensions.indexOf(o);e!==-1&&s.routerExtensions.splice(e,1)}},emitTransitionError:e=>{r(s.isDisposed),s.emitTransitionError(e)},claimContextNamespace:e=>{if(r(s.isDisposed),typeof e!=`string`||e===``)throw TypeError(`[claimContextNamespace] namespace must be a non-empty string, got ${typeof e==`string`?`an empty string`:typeof e}`);if(s.contextClaimRecords.has(e))throw n.r(new n.n(t.m.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));return s.contextClaimRecords.add(e),{write(n,r){t.a(n.context,e,r)},release(){s.contextClaimRecords.delete(e)}}}};return d.set(a,l),l}const p=Object.keys,m=Object.freeze({replace:!0,revalidate:!0}),h=Object.freeze([]);function g(e,t,r,i){let a=t=>e.has(t);n.w(t.decoders,a),n.w(t.encoders,a),n.w(t.defaultParams,a),n.w(t.defaultSearch,a),n.w(t.forwardMap,a),n.w(t.forwardFnMap,a),n.w(r,a),n.w(t.forwardMap,e=>a(t.forwardMap[e]));let[o,s]=i.getFactories();for(let e of p(s))a(e)&&i.clearCanActivate(e,`both`);for(let e of p(o))a(e)&&i.clearCanDeactivate(e,`both`)}function _(e,t,n,r){let i=n.forwardFnMap[t],a=n.forwardMap[t];i===void 0?a!==void 0&&(e.forwardTo=a):e.forwardTo=i,t in n.defaultParams&&(e.defaultParams=n.defaultParams[t]),t in n.defaultSearch&&(e.defaultSearch=n.defaultSearch[t]),t in n.decoders&&(e.decodeParams=n.decoders[t]),t in n.encoders&&(e.encodeParams=n.encoders[t]);let[o,s]=r;return t in s&&(e.canActivate=s[t]),t in o&&(e.canDeactivate=o[t]),e}function v(e,t,n,r){let i={name:e.name,path:e.path};return _(i,t,n,r),e.children&&(i.children=e.children.map(e=>v(e,`${t}.${e.name}`,n,r))),i}function y(e,t,n,r){let i={name:e,path:t};return _(i,e,n,r),Object.freeze(i)}function b(e,t){let n=new Map,r=e.lifecycleNamespace.getFactories(),i=(a,o)=>{for(let s of a){let a=o?`${o}.${s.name}`:s.name;t(a)&&n.set(a,y(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function x(e,t){let n=b(e,e=>t.has(e));return Object.freeze([...n.values()])}function S(e,t,n){let r=n.lifecycleNamespace.getFactories(),i=[],a=(e,t)=>{for(let o of e){let e=t?`${t}.${o.name}`:o.name;i.push(y(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),Object.freeze(i)}function C(e,t){let n=[],r=[];for(let[r,i]of e)t.has(r)||n.push(i);for(let[n,i]of t)e.has(n)||r.push(i);return{removed:Object.freeze(n),added:Object.freeze(r)}}function w(e){let t={};return e.forwardTo!==void 0&&(t.forwardTo=e.forwardTo),e.defaultParams!==void 0&&(t.defaultParams=e.defaultParams),e.defaultSearch!==void 0&&(t.defaultSearch=e.defaultSearch),e.encodeParams!==void 0&&(t.encodeParams=e.encodeParams),e.decodeParams!==void 0&&(t.decodeParams=e.decodeParams),Object.freeze(t)}function T(e,t,r,i){let a=n.b(t);n.s(e,a,r);let o=n.m(e,a,r,i);return n.S(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!1),n.o(e,o),a}function E(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function D(e,t,n,r,i){if(E(e,r.path)!==i){t.revalidateToNotFound(r.path);return}t.systemCommit(n,r,m)}function O(e,t,r,i,a){let o=n.b(t);n.d(o,`addRoute`),n.p(o,`addRoute`),n.c(o,`addRoute`),n.l(o,``,`addRoute`),n.u(o,``,`addRoute`);let s=n.h(o,e.rootPath,e.matcherOptions,r.logger);n.S(s.matcher,s.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(s.pendingCanActivate.keys(),s.pendingCanDeactivate.keys(),!0);let c=n.v(s,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),n.o(e,s,c),a?.(),i!==void 0){let t=E(e,i.path),a=r.matchPath(i.path,r.getOptions());if(a)if(a.name===i.name)D(e,r,{...a,context:i.context,transition:i.transition},i,t);else{let{toActivate:o}=n.i(a,i,r.getMetaForState);e.lifecycleNamespace.canNavigateTo([],o,a,i)?D(e,r,{...a,transition:i.transition},i,t):r.revalidateToNotFound(i.path)}else r.revalidateToNotFound(i.path)}}function k(e,t,r){let i=e.definitions,a=n.T(i,t);if(a===void 0)return;let o=r?x(e,a):h;return g(a,e.config,e.routeCustomFields,e.lifecycleNamespace),n._(e,i),o}function A(e,t){let r=e.matcher.getSegmentsByName(t);if(!r)return;let i=n.k(r.at(-1)),a=e.lifecycleNamespace.getFactories();return v(i,t,e.config,a)}const j=new WeakMap;function M(s){let c=j.get(s);if(c)return c;let u=e.h(s),d=u.routeGetStore(),f=e=>{u.treeChanged.emit(e)},m=Object.freeze({add:(e,t)=>{r(u.isDisposed),i(u.treeChanged.isEmitting);let a=Array.isArray(e)?e:[e],o=t?.parent;n.M(a,u.validator),o!==void 0&&u.validator?.routes.validateParentOption(o,d.tree),u.validator?.routes.throwIfInternalRouteInArray(a,`addRoute`),u.validator?.routes.validateAddRouteArgs(a),u.validator?.routes.validateRoutes(a,d,o);let s=T(d,a,o,u.logger);if(u.treeChanged.listenerCount()>0){let e=S(s,o,d);f(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.validator?.routes.validateRemoveRouteArgs(e),u.validator?.routes.throwIfInternalRoute(e,`removeRoute`),n.f(e,`removeRoute`),!a(e,u.getStateName(),u.logger))return;let t=u.treeChanged.listenerCount()>0,s=k(d,e,t);if(s===void 0){u.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}u.isTransitioning()&&o(e,u.logger),t&&f({op:`remove`,name:e,removedSubtree:s})},update:(e,t)=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.validator?.routes.validateUpdateRouteBasicArgs(e,t),u.validator?.routes.throwIfInternalRoute(e,`updateRoute`),n.f(e,`updateRoute`),u.validator?.routes.validateUpdateRoutePropertyTypes(e,t),u.validator?.routes.validateUpdateRoute(e,t,d),!d.matcher.hasRoute(e))return;u.isTransitioning()&&u.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let a=d.lifecycleNamespace,o=n.g(d,a,e,t);if(u.treeChanged.listenerCount()>0){let t=w(o);p(t).length>0&&f({op:`update`,name:e,patch:t})}},clear:()=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.getStateName()!==void 0)throw n.r(new n.n(t.m.ROUTER_NOT_STOPPED,{message:`[router.clear] Cannot clear routes while a state is committed. Use replace(routes) to swap the tree on a running router, or stop() first.`}));if(!l(u.isTransitioning(),u.logger))return;let e=u.treeChanged.listenerCount()>0?Object.freeze([...b(d,()=>!0).values()]):void 0;n.y(d),d.lifecycleNamespace.clearAll(),e!==void 0&&f({op:`clear`,removed:e})},has:e=>(u.validator?.routes.validateRouteName(e,`hasRoute`),d.matcher.hasRoute(e)),get:e=>(u.validator?.routes.validateRouteName(e,`getRoute`),A(d,e)),replace:e=>{r(u.isDisposed),i(u.treeChanged.isEmitting);let t=Array.isArray(e)?e:[e];if(!l(u.isTransitioning(),u.logger))return;n.M(t,u.validator),u.validator?.routes.throwIfInternalRouteInArray(t,`replaceRoutes`),u.validator?.routes.validateAddRouteArgs(t),u.validator?.routes.validateRoutes(t,d);let a=s.getState(),o=u.treeChanged.listenerCount()>0?b(d,()=>!0):void 0;O(d,t,u,a,o===void 0?void 0:()=>{let e=b(d,()=>!0),{removed:t,added:n}=C(o,e);f({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>u.treeChanged.subscribe(e)});return j.set(s,m),m}const N=Object.hasOwn,P=e=>typeof e==`symbol`?e:String(e);function F(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=P(t);if(!N(i,a))r?.dependencies.validateDependencyCount(e,`setDependency`);else{let e=i[a];e!==n&&!(Number.isNaN(e)&&Number.isNaN(n))&&r?.dependencies.warnOverwrite(String(a),`setDependency`)}i[a]=n}function I(e,t,r){let i=[],a=e.dependencies;n.N(t,(t,n)=>{N(a,t)?i.push(t):r?.dependencies.validateDependencyCount(e,`setDependencies`),a[t]=n}),i.length>0&&r?.dependencies.warnBatchOverwrite(i,`setDependencies`)}function L(t){let i=e.h(t);return{get:e=>{i.validator?.dependencies.validateDependencyName(e,`getDependency`);let t=i.dependenciesGetStore(),n=t.dependencies[e];return i.validator?.dependencies.validateDependencyExists(e,t),n},getAll:()=>{let e=i.dependenciesGetStore().dependencies;return n.j({...e})},set:(e,t)=>{r(i.isDisposed),i.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),F(i.dependenciesGetStore(),e,t,i.validator),r(i.isDisposed)},setAll:e=>{r(i.isDisposed);let t=i.dependenciesGetStore();i.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),I(t,e,i.validator),r(i.isDisposed)},remove:e=>{r(i.isDisposed),i.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=i.dependenciesGetStore(),n=P(e);N(t.dependencies,n)||i.validator?.dependencies.warnRemoveNonExistent(String(n)),delete t.dependencies[n]},reset:()=>{r(i.isDisposed);let e=i.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(i.validator?.dependencies.validateDependencyName(e,`hasDependency`),N(i.dependenciesGetStore().dependencies,e))}}function R(t){let n=e.h(t),i=n.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`addActivateGuard`),n.validator?.lifecycle.validateHandler(t,`addActivateGuard`),i.addCanActivate(e,t,!1)},addDeactivateGuard(e,t){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`addDeactivateGuard`),n.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),i.addCanDeactivate(e,t,!1)},removeActivateGuard(e){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeActivateGuard`),i.clearCanActivate(e,`external`)},removeDeactivateGuard(e){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),i.clearCanDeactivate(e,`external`)}}}const z=Object.entries,B=Object.hasOwn;function V(r,i,a){let o=e.h(r);if(o.isDisposed())throw n.r(new n.n(t.m.ROUTER_DISPOSED));o.validator?.dependencies.validateCloneArgs(i);let s=o.routeGetStore(),c=n.A(s.tree),l=s.config,u=s.resolvedForwardMap,d=s.routeCustomFields,{options:f,dependencies:p,pluginFactories:m,loggerConfig:h,limits:g,limitKeys:_}=o.getCloneState(),{definition:v,external:y}=s.lifecycleNamespace.getFactoriesByOrigin(),b={...p};i!==void 0&&n.N(i,(e,n)=>{t.a(b,e,n)});let x=a?.logger?{...h,...a.logger}:h,S=new n.t(c,{...f,logger:x,..._!==void 0&&{limits:Object.fromEntries(_.filter(e=>B(g,e)).map(e=>[e,g[e]]))},...s.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:s.matcherOptions.urlParamsEncoding}},b),C=e.h(S),w=C.routeGetStore(),T=w.lifecycleNamespace;n.C(w.config,l),n.a(w,Object.assign(w.resolvedForwardMap,u)),Object.assign(w.routeCustomFields,d),s.rootPath!==``&&C.setRootPath(s.rootPath);let[E,D]=v,[O,k]=y;for(let[e,t]of z(E))T.addCanDeactivate(e,t,!0);for(let[e,t]of z(D))T.addCanActivate(e,t,!0);let A=R(S);for(let[e,t]of z(O))A.addDeactivateGuard(e,t);for(let[e,t]of z(k))A.addActivateGuard(e,t);let j=new Set(C.getCloneState().pluginFactories),M=m.filter(e=>!j.has(e));return M.length>0&&S.usePlugin(...M),S}exports.cloneRouter=V,exports.getDependenciesApi=L,exports.getLifecycleApi=R,exports.getPluginApi=f,exports.getRoutesApi=M;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./route-name-BBu872EN.js"),t=require("./ingest-DxGcWzr6.js"),n=require("./Router-DFl8BCdk.js");function r(e){if(e())throw n.r(new n.n(t.m.ROUTER_DISPOSED))}function i(e){if(e())throw n.r(new n.n(t.m.REENTRANT_TREE_MUTATION,{message:`[router] cannot mutate the route tree from inside a subscribeChanges handler — the mutation would run while a TREE_CHANGED emit is on the stack and the tree must stay atomic. Defer it: queueMicrotask(() => routes.add(...)) or await.`}))}function a(e,t,n){if(t){let r=t===e;if(r||t.startsWith(`${e}.`)){let i=r?``:` (current: "${t}")`;return n.warn(`router.removeRoute`,`Cannot remove route "${e}" — it is currently active${i}. Navigate away first.`),!1}}return!0}function o(e,t){t.warn(`router.removeRoute`,`Route "${e}" removed while navigation is in progress. Removing a route the router is navigating to (or an ancestor of it) fails that navigation. The rejected navigate() promise carries "CANCELLED" while the guard walk is synchronous and "ROUTE_NOT_FOUND" once it has gone async; onTransitionError always reports "ROUTE_NOT_FOUND", and onTransitionCancel never fires. The committed state is not affected either way.`)}function s(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function c(e,t,n,r){return n&&s(e)!==s(t)?(r.error(`router.setRootPath`,"Cannot change the root PATH while navigation is in progress — it moves every route's path, including the one being navigated to. Wait for navigation to complete. (Changing only the `?`-declared query names is allowed here: it moves no paths.)"),!1):!0}function l(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const u=Object.keys,d=new WeakMap;function f(a){let o=d.get(a);if(o)return o;let s=e.h(a),l={makeState:(t,n,r,i)=>(e._(s,`makeState`,t,n),s.validator?.state.validateMakeStateArgs(t,n,i),s.makeState(t,n,r,i)),forwardState:(e,t,n)=>(s.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),s.forwardState(e,t,n)),matchPath:e=>(s.validator?.routes.validateMatchPathArgs(e),s.matchPath(e,s.getOptions())),navigateToState:(e,t)=>(r(s.isDisposed),s.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&s.validator?.navigation.validateNavigationOptions(t,`navigateToState`),s.navigateToState(e,t)),setRootPath:e=>(r(s.isDisposed),i(s.treeChanged.isEmitting),s.validator?.routes.validateSetRootPathArgs(e),c(s.getRootPath(),e,s.isTransitioning(),s.logger)?(s.setRootPath(e),!0):!1),getRootPath:s.getRootPath,addEventListener:(e,t)=>(r(s.isDisposed),s.validator?.eventBus.validateListenerArgs(e,t),s.addEventListener(e,t)),buildNavigationState:(t,r={},i={})=>{e._(s,`buildNavigationState`,t,r),s.validator?.routes.validateStateBuilderArgs(t,r,`buildNavigationState`);let a=n.O(s.port(),t,r,i,{diagnoseUndeclared:!0});if(s.buildStateResolved(a.name,a.path))return e.y(`buildNavigationState`,a.name,a.path,s.port().queryNames(a.name)),n.E(a,n.D(a,s.port()))},getOptions:s.getOptions,getTree:s.getTree,addInterceptor:(e,t)=>{r(s.isDisposed),s.validator?.plugins.validateAddInterceptorArgs(e,t);let n=s.interceptors.get(e);n||(n=[],s.interceptors.set(e,n)),n.push(t);let i=!1;return()=>{i||(i=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=s.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{r(s.isDisposed);let i=u(e);for(let e of i)if(e in a)throw n.r(new n.n(t.m.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));for(let t of i)a[t]=e[t];let o={keys:i};s.routerExtensions.push(o);let c=!1;return()=>{if(c)return;c=!0;for(let e of o.keys)delete a[e];let e=s.routerExtensions.indexOf(o);e!==-1&&s.routerExtensions.splice(e,1)}},emitTransitionError:e=>{r(s.isDisposed),s.emitTransitionError(e)},claimContextNamespace:e=>{if(r(s.isDisposed),typeof e!=`string`||e===``)throw TypeError(`[claimContextNamespace] namespace must be a non-empty string, got ${typeof e==`string`?`an empty string`:typeof e}`);if(s.contextClaimRecords.has(e))throw n.r(new n.n(t.m.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));return s.contextClaimRecords.add(e),{write(n,r){t.a(n.context,e,r)},release(){s.contextClaimRecords.delete(e)}}}};return d.set(a,l),l}const p=Object.keys,m=Object.freeze({replace:!0,revalidate:!0}),h=Object.freeze([]);function g(e,t,r,i){let a=t=>e.has(t);n.w(t.decoders,a),n.w(t.encoders,a),n.w(t.defaultParams,a),n.w(t.defaultSearch,a),n.w(t.forwardMap,a),n.w(t.forwardFnMap,a),n.w(r,a),n.w(t.forwardMap,e=>a(t.forwardMap[e]));let[o,s]=i.getFactories();for(let e of p(s))a(e)&&i.clearCanActivate(e,`both`);for(let e of p(o))a(e)&&i.clearCanDeactivate(e,`both`)}function _(e,t,n,r){let i=n.forwardFnMap[t],a=n.forwardMap[t];i===void 0?a!==void 0&&(e.forwardTo=a):e.forwardTo=i,t in n.defaultParams&&(e.defaultParams=n.defaultParams[t]),t in n.defaultSearch&&(e.defaultSearch=n.defaultSearch[t]),t in n.decoders&&(e.decodeParams=n.decoders[t]),t in n.encoders&&(e.encodeParams=n.encoders[t]);let[o,s]=r;return t in s&&(e.canActivate=s[t]),t in o&&(e.canDeactivate=o[t]),e}function v(e,t,n,r){let i={name:e.name,path:e.path};return _(i,t,n,r),e.children&&(i.children=e.children.map(e=>v(e,`${t}.${e.name}`,n,r))),i}function y(e,t,n,r){let i={name:e,path:t};return _(i,e,n,r),Object.freeze(i)}function b(e,t){let n=new Map,r=e.lifecycleNamespace.getFactories(),i=(a,o)=>{for(let s of a){let a=o?`${o}.${s.name}`:s.name;t(a)&&n.set(a,y(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function x(e,t){let n=b(e,e=>t.has(e));return Object.freeze([...n.values()])}function S(e,t,n){let r=n.lifecycleNamespace.getFactories(),i=[],a=(e,t)=>{for(let o of e){let e=t?`${t}.${o.name}`:o.name;i.push(y(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),Object.freeze(i)}function C(e,t){let n=[],r=[];for(let[r,i]of e)t.has(r)||n.push(i);for(let[n,i]of t)e.has(n)||r.push(i);return{removed:Object.freeze(n),added:Object.freeze(r)}}function w(e){let t={};return e.forwardTo!==void 0&&(t.forwardTo=e.forwardTo),e.defaultParams!==void 0&&(t.defaultParams=e.defaultParams),e.defaultSearch!==void 0&&(t.defaultSearch=e.defaultSearch),e.encodeParams!==void 0&&(t.encodeParams=e.encodeParams),e.decodeParams!==void 0&&(t.decodeParams=e.decodeParams),Object.freeze(t)}function T(e,t,r,i){let a=n.b(t);n.s(e,a,r);let o=n.m(e,a,r,i);return n.S(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!1),n.o(e,o),a}function E(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function D(e,t,n,r,i){if(E(e,r.path)!==i){t.revalidateToNotFound(r.path);return}t.systemCommit(n,r,m)}function O(e,t,r,i,a){let o=n.b(t);n.d(o,`addRoute`),n.p(o,`addRoute`),n.c(o,`addRoute`),n.l(o,``,`addRoute`),n.u(o,``,`addRoute`);let s=n.h(o,e.rootPath,e.matcherOptions,r.logger);n.S(s.matcher,s.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(s.pendingCanActivate.keys(),s.pendingCanDeactivate.keys(),!0);let c=n.v(s,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),n.o(e,s,c),a?.(),i!==void 0){let t=E(e,i.path),a=r.matchPath(i.path,r.getOptions());if(a)if(a.name===i.name)D(e,r,{...a,context:i.context,transition:i.transition},i,t);else{let{toActivate:o}=n.i(a,i,r.getMetaForState);e.lifecycleNamespace.canNavigateTo([],o,a,i)?D(e,r,{...a,transition:i.transition},i,t):r.revalidateToNotFound(i.path)}else r.revalidateToNotFound(i.path)}}function k(e,t,r){let i=e.definitions,a=n.T(i,t);if(a===void 0)return;let o=r?x(e,a):h;return g(a,e.config,e.routeCustomFields,e.lifecycleNamespace),n._(e,i),o}function A(e,t){let r=e.matcher.getSegmentsByName(t);if(!r)return;let i=n.k(r.at(-1)),a=e.lifecycleNamespace.getFactories();return v(i,t,e.config,a)}const j=new WeakMap;function M(s){let c=j.get(s);if(c)return c;let u=e.h(s),d=u.routeGetStore(),f=e=>{u.treeChanged.emit(e)},m=Object.freeze({add:(e,t)=>{r(u.isDisposed),i(u.treeChanged.isEmitting);let a=Array.isArray(e)?e:[e],o=t?.parent;n.M(a,u.validator),o!==void 0&&u.validator?.routes.validateParentOption(o,d.tree),u.validator?.routes.throwIfInternalRouteInArray(a,`addRoute`),u.validator?.routes.validateAddRouteArgs(a),u.validator?.routes.validateRoutes(a,d,o);let s=T(d,a,o,u.logger);if(u.treeChanged.listenerCount()>0){let e=S(s,o,d);f(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.validator?.routes.validateRemoveRouteArgs(e),u.validator?.routes.throwIfInternalRoute(e,`removeRoute`),n.f(e,`removeRoute`),!a(e,u.getStateName(),u.logger))return;let t=u.treeChanged.listenerCount()>0,s=k(d,e,t);if(s===void 0){u.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}u.isTransitioning()&&o(e,u.logger),t&&f({op:`remove`,name:e,removedSubtree:s})},update:(e,t)=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.validator?.routes.validateUpdateRouteBasicArgs(e,t),u.validator?.routes.throwIfInternalRoute(e,`updateRoute`),n.f(e,`updateRoute`),u.validator?.routes.validateUpdateRoutePropertyTypes(e,t),u.validator?.routes.validateUpdateRoute(e,t,d),!d.matcher.hasRoute(e))return;u.isTransitioning()&&u.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let a=d.lifecycleNamespace,o=n.g(d,a,e,t);if(u.treeChanged.listenerCount()>0){let t=w(o);p(t).length>0&&f({op:`update`,name:e,patch:t})}},clear:()=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.getStateName()!==void 0)throw n.r(new n.n(t.m.ROUTER_NOT_STOPPED,{message:`[router.clear] Cannot clear routes while a state is committed. Use replace(routes) to swap the tree on a running router, or stop() first.`}));if(!l(u.isTransitioning(),u.logger))return;let e=u.treeChanged.listenerCount()>0?Object.freeze([...b(d,()=>!0).values()]):void 0;n.y(d),d.lifecycleNamespace.clearAll(),e!==void 0&&f({op:`clear`,removed:e})},has:e=>(u.validator?.routes.validateRouteName(e,`hasRoute`),d.matcher.hasRoute(e)),get:e=>(u.validator?.routes.validateRouteName(e,`getRoute`),A(d,e)),replace:e=>{r(u.isDisposed),i(u.treeChanged.isEmitting);let t=Array.isArray(e)?e:[e];if(!l(u.isTransitioning(),u.logger))return;n.M(t,u.validator),u.validator?.routes.throwIfInternalRouteInArray(t,`replaceRoutes`),u.validator?.routes.validateAddRouteArgs(t),u.validator?.routes.validateRoutes(t,d);let a=s.getState(),o=u.treeChanged.listenerCount()>0?b(d,()=>!0):void 0;O(d,t,u,a,o===void 0?void 0:()=>{let e=b(d,()=>!0),{removed:t,added:n}=C(o,e);f({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>u.treeChanged.subscribe(e)});return j.set(s,m),m}const N=Object.hasOwn,P=e=>typeof e==`symbol`?e:String(e);function F(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=P(t);if(!N(i,a))r?.dependencies.validateDependencyCount(e,`setDependency`);else{let e=i[a];e!==n&&!(Number.isNaN(e)&&Number.isNaN(n))&&r?.dependencies.warnOverwrite(String(a),`setDependency`)}i[a]=n}function I(e,t,r){let i=[],a=e.dependencies;n.N(t,(t,n)=>{N(a,t)?i.push(t):r?.dependencies.validateDependencyCount(e,`setDependencies`),a[t]=n}),i.length>0&&r?.dependencies.warnBatchOverwrite(i,`setDependencies`)}function L(t){let i=e.h(t);return{get:e=>{i.validator?.dependencies.validateDependencyName(e,`getDependency`);let t=i.dependenciesGetStore(),n=t.dependencies[e];return i.validator?.dependencies.validateDependencyExists(e,t),n},getAll:()=>{let e=i.dependenciesGetStore().dependencies;return n.j({...e})},set:(e,t)=>{r(i.isDisposed),i.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),F(i.dependenciesGetStore(),e,t,i.validator),r(i.isDisposed)},setAll:e=>{r(i.isDisposed);let t=i.dependenciesGetStore();i.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),I(t,e,i.validator),r(i.isDisposed)},remove:e=>{r(i.isDisposed),i.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=i.dependenciesGetStore(),n=P(e);N(t.dependencies,n)||i.validator?.dependencies.warnRemoveNonExistent(String(n)),delete t.dependencies[n]},reset:()=>{r(i.isDisposed);let e=i.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(i.validator?.dependencies.validateDependencyName(e,`hasDependency`),N(i.dependenciesGetStore().dependencies,e))}}function R(t){let n=e.h(t),i=n.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`addActivateGuard`),n.validator?.lifecycle.validateHandler(t,`addActivateGuard`),i.addCanActivate(e,t,!1)},addDeactivateGuard(e,t){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`addDeactivateGuard`),n.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),i.addCanDeactivate(e,t,!1)},removeActivateGuard(e){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeActivateGuard`),i.clearCanActivate(e,`external`)},removeDeactivateGuard(e){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),i.clearCanDeactivate(e,`external`)}}}const z=Object.entries,B=Object.hasOwn;function V(r,i,a){let o=e.h(r);if(o.isDisposed())throw n.r(new n.n(t.m.ROUTER_DISPOSED));o.validator?.dependencies.validateCloneArgs(i);let s=o.routeGetStore(),c=n.A(s.tree),l=s.config,u=s.resolvedForwardMap,d=s.routeCustomFields,{options:f,dependencies:p,pluginFactories:m,loggerConfig:h,limits:g,limitKeys:_}=o.getCloneState(),{definition:v,external:y}=s.lifecycleNamespace.getFactoriesByOrigin(),b={...p};i!==void 0&&n.N(i,(e,n)=>{t.a(b,e,n)});let x=a?.logger?{...h,...a.logger}:h,S=new n.t(c,{...f,logger:x,..._!==void 0&&{limits:Object.fromEntries(_.filter(e=>B(g,e)).map(e=>[e,g[e]]))},...s.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:s.matcherOptions.urlParamsEncoding}},b),C=e.h(S),w=C.routeGetStore(),T=w.lifecycleNamespace;n.C(w.config,l),n.a(w,Object.assign(w.resolvedForwardMap,u)),Object.assign(w.routeCustomFields,d),s.rootPath!==``&&C.setRootPath(s.rootPath);let[E,D]=v,[O,k]=y;for(let[e,t]of z(E))T.addCanDeactivate(e,t,!0);for(let[e,t]of z(D))T.addCanActivate(e,t,!0);let A=R(S);for(let[e,t]of z(O))A.addDeactivateGuard(e,t);for(let[e,t]of z(k))A.addActivateGuard(e,t);let j=new Set(C.getCloneState().pluginFactories),M=m.filter(e=>!j.has(e));return M.length>0&&S.usePlugin(...M),S}exports.cloneRouter=V,exports.getDependenciesApi=L,exports.getLifecycleApi=R,exports.getPluginApi=f,exports.getRoutesApi=M;
|
|
2
2
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentMatcher.d.ts","names":[],"sources":["../../../../src/engine/path-matcher/SegmentMatcher.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"SegmentMatcher.d.ts","names":[],"sources":["../../../../src/engine/path-matcher/SegmentMatcher.ts"],"mappings":";;cAwLa;;MACP,WAAW;EA2BH,YAAA,SAAS;EAoFrB,aAAa,MAAM;EAkBnB,MAAM,eAAe;EAqDrB,UACE,cACA,SAAS,yBACT,SAAS,yBACT,UAAU;EA4BZ,kBAAkB,wBAAwB;EAO1C,cACE,eACC,SAAS,eAAe;;;;;;;;;;;;;EAgB3B,uBAAuB;EAIvB,SAAS"}
|
|
@@ -59,7 +59,7 @@ interface MatcherInputNode {
|
|
|
59
59
|
*/
|
|
60
60
|
interface BuildPathOptions {
|
|
61
61
|
readonly queryParamsMode?: "default" | "strict" | "loose" | undefined;
|
|
62
|
-
readonly trailingSlash?: "default" | "always" | "never" | undefined;
|
|
62
|
+
readonly trailingSlash?: "default" | "always" | "never" | "strict" | undefined;
|
|
63
63
|
}
|
|
64
64
|
interface MatchResult {
|
|
65
65
|
readonly segments: readonly MatcherInputNode[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../src/engine/path-matcher/types.ts"],"mappings":";;;;;;;;;;;UAWiB;;;;;;WAMN;;;;;;WAOA;;;;;;WAOA,cAAc,SAAS;;;;;;WAOvB;;;;;;;;;;KAeC;UAMK;WACN;WACA;WACA;WACA;WACA,UAAU,oBAAoB;WAC9B,8BAA8B;WAC9B,WAAW;WACX,cAAc,SAAS;;;;;UAqCjB;WACN;WACA;;
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../src/engine/path-matcher/types.ts"],"mappings":";;;;;;;;;;;UAWiB;;;;;;WAMN;;;;;;WAOA;;;;;;WAOA,cAAc,SAAS;;;;;;WAOvB;;;;;;;;;;KAeC;UAMK;WACN;WACA;WACA;WACA;WACA,UAAU,oBAAoB;WAC9B,8BAA8B;WAC9B,WAAW;WACX,cAAc,SAAS;;;;;UAqCjB;WACN;WACA;;UA2BM;WACN,mBAAmB;;WAEnB,QAAQ,SAAS;;WAEjB,QAAQ,SAAS;WACjB,MAAM,SAAS,eAAe;;UAOxB;EACf;EACA;EACA;EACA,oBAAoB;EACpB,mBAAmB,wBAAwB;EAC3C,mBAAmB,QAAQ;;UAGZ;WACN;WACA;WACA;WACA,mBAAmB;WACnB,mBAAmB,wBAAwB;WAC3C,mBAAmB,QAAQ"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ingest-DxGcWzr6.js"),t=require("./Router-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ingest-DxGcWzr6.js"),t=require("./Router-DFl8BCdk.js"),n=(e=[],n={},r={})=>new t.t(e,n,r),r=new WeakMap,i=e=>{let t=r.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}),r.set(e,t)),t};exports.Router=t.t,exports.RouterError=t.n,exports.UNKNOWN_ROUTE=e.d,exports.constants=e.p,exports.createRouter=n,exports.errorCodes=e.m,exports.events=e.h,exports.getNavigator=i,exports.resolveForwardChain=t.x;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -98,7 +98,9 @@ interface Options<Dependencies extends DefaultDependencies = DefaultDependencies
|
|
|
98
98
|
defaultSearch: SearchParams | DefaultSearchCallback<Dependencies>;
|
|
99
99
|
/**
|
|
100
100
|
* How to handle trailing slashes in URLs.
|
|
101
|
-
* - "strict":
|
|
101
|
+
* - "strict": both directions honour the route's own form — `buildPath`
|
|
102
|
+
* prints the trailing slash the compiled route declares (and only that),
|
|
103
|
+
* and matching demands exactly it
|
|
102
104
|
* - "never": Always remove trailing slash
|
|
103
105
|
* - "always": Always add trailing slash
|
|
104
106
|
* - "preserve": Keep the source path's trailing-slash choice, even when
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","names":[],"sources":["../../../src/types/router.ts"],"mappings":";;;;;KA4BY;KAEA;KAEA,eACV,OAAO,UACP,iBACA,oBACG;UAGY;EACf,OAAO;EACP,WAAW;EACX;;;;;;;;;;;;;UAce;EACf,MAAM,iBAAiB,oBAAoB;EAC3C,OAAO,iBAAiB,oBAAoB;EAC5C,QAAQ,iBAAiB,oBAAoB;;;;;;KAOnC,qBAAqB,0BAC/B,gBAAgB,gBAAgB,cAAc,MAAM,MAAM,aAAa;;;;;KAO7D,kBAAkB,0BAC5B,gBAAgB,gBAAgB,cAAc,MAAM,MAAM,aAAa,IACvE,QAAQ;;;;;KAOE,sBAAsB,0BAChC,gBAAgB,gBAAgB,cAAc,MAAM,MAAM,aAAa,OACpE;;;;;KAMO,sBAAsB,0BAChC,gBAAgB,gBAAgB,cAAc,MAAM,MAAM,aAAa,OACpE;;;;;;;;;;;;;UAcY,QACf,qBAAqB,sBAAsB;;;;;;;EAQ3C,uBAAuB,qBAAqB;;;;;;;;;;;;;EAc5C,eAAe,SAAS,sBAAsB;;;;;;;;;;;;;;;;EAiB9C,eAAe,eAAe,sBAAsB
|
|
1
|
+
{"version":3,"file":"router.d.ts","names":[],"sources":["../../../src/types/router.ts"],"mappings":";;;;;KA4BY;KAEA;KAEA,eACV,OAAO,UACP,iBACA,oBACG;UAGY;EACf,OAAO;EACP,WAAW;EACX;;;;;;;;;;;;;UAce;EACf,MAAM,iBAAiB,oBAAoB;EAC3C,OAAO,iBAAiB,oBAAoB;EAC5C,QAAQ,iBAAiB,oBAAoB;;;;;;KAOnC,qBAAqB,0BAC/B,gBAAgB,gBAAgB,cAAc,MAAM,MAAM,aAAa;;;;;KAO7D,kBAAkB,0BAC5B,gBAAgB,gBAAgB,cAAc,MAAM,MAAM,aAAa,IACvE,QAAQ;;;;;KAOE,sBAAsB,0BAChC,gBAAgB,gBAAgB,cAAc,MAAM,MAAM,aAAa,OACpE;;;;;KAMO,sBAAsB,0BAChC,gBAAgB,gBAAgB,cAAc,MAAM,MAAM,aAAa,OACpE;;;;;;;;;;;;;UAcY,QACf,qBAAqB,sBAAsB;;;;;;;EAQ3C,uBAAuB,qBAAqB;;;;;;;;;;;;;EAc5C,eAAe,SAAS,sBAAsB;;;;;;;;;;;;;;;;EAiB9C,eAAe,eAAe,sBAAsB;;;;;;;;;;;;;EAcpD;;;;;;;;;;;;;;;;;;EAmBA;;;;;;;;;;EAWA;;;;;;EAOA,iBAAiB;;;;;;;;;;;EAYjB,cAAc;;;;;;;EAQd;;;;;;;;;;EAWA;;;;;;EAOA,SAAS,QAAQ;;;;;;;EAQjB,SAAS,QAAQ;;;;;;;;;;;;;;;;KAiBP,aAAa;KAEb,WACV,SAAS,OACT,WAAW,mBACX,SAAS,0BACI;KAEH;UAEK;EACf;EACA;EACA,qBAAqB,SAAS,OAAO,YAAY;EACjD,4BAA4B,SAAS,OAAO,YAAY;EACxD,sBAAsB,SAAS,OAAO,YAAY;EAClD,qBACE,SAAS,mBACT,WAAW,mBACX,KAAK;EAEP,uBACE,SAAS,OACT,WAAW,mBACX,MAAM;EAER;;UAGe;EACf,OAAO;EACP,gBAAgB;;KAGN,eAAe,OAAO;UAEjB;EACf,OAAO;EACP,WAAW;EACX,QAAQ;;KAGE,WAAW,OAAO,sBAAsB;UAEnC;GACd;EACD,OAAO;EACP,SAAS;EACT;;UAGe;EACf,aAAa;;;;;;;;;;;UAYE;EAGf;KACG,QAAQ,kBAAkB,UAAU,oBAAoB,QAAQ;KAE/D,mBACA,cAAc,QACd,cAAc,cACd,UAAU,oBACT,QAAQ;;EAEb,gBAAgB;EAChB,gBACE,cACA,SAAS,QACT,SAAS,cACT,0BACA;EAEF,gBACE,cACA,SAAS,QACT,SAAS;EAEX,YAAY,UAAU,gBAAgB;EACtC,iBAAiB,UAAU,YAAY;EACvC;;;;;;;;;UAUe,OAAO,UAAU,sBAAsB;GAGrD;EAED,gBACE,cACA,SAAS,QACT,SAAS,cACT,0BACA;EAGF,YAAY,eAAe,SAAS,QAAQ,SAAS;EAErD,WAAW,UAAU,SAAS,aAAa,MAAM;EAEjD,wBAAwB;EAExB,iBACE,QAAQ,mBACR,QAAQ,mBACR;EAGF,mBACE,sBACI,SAAS,OAAO,YAAY;EAElC;EAEA,QAAQ,sBAAsB,QAAQ;EAEtC;EAEA;EAEA,gBACE,cACA,SAAS,QACT,SAAS;EAGX,eACK,UAAU,cAAc,qCACxB;EAEL,YAAY,UAAU,gBAAgB;EAEtC,iBAAiB,UAAU,YAAY;EAEvC;EAIA;KACG,QAAQ,kBAAkB,UAAU,oBAAoB,QAAQ;KAE/D,mBACA,cAAc,QACd,cAAc,cACd,UAAU,oBACT,QAAQ;;EAGb,oBAAoB,UAAU,sBAAsB,QAAQ;EAE5D,qBAAqB,kBAAkB;;;;;;KAW7B,cACV,qBAAqB,sBAAsB,wBAE3C,QAAQ,OAAO,eACf,gBAAgB,gBAAgB,cAAc,KAAK,MAAM,aAAa,OACnE;;;;;KAMO,eACV,qBAAqB,sBAAsB,wBAE3C,QAAQ,OAAO,eACf,gBAAgB,gBAAgB,cAAc,KAAK,MAAM,aAAa,OACnE;;;;UASY,MACf,qBAAqB,sBAAsB;GAE1C;;EAED;;EAEA;;EAEA,cAAc,eAAe;;EAE7B,gBAAgB,eAAe;;;;;;;;;;EAU/B,qBAAqB,kBAAkB;;EAEvC,WAAW,MAAM;;;;;;;;EAQjB,gBAAgB,UAAU,iBAAiB;;;;;;;EAO3C,gBAAgB,UAAU,iBAAiB;;;;;;;;;;;;;;;;;;;EAmB3C,gBAAgB;;;;;;;;;EAShB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BD,kBACf,qBAAqB,sBAAsB;;EAG3C,qBAAqB,kBAAkB;;EAEvC,gBAAgB;;EAEhB,gBAAgB;;EAEhB,iBAAiB,UAAU,iBAAiB;;EAE5C,iBAAiB,UAAU,iBAAiB;;EAE5C,cAAc,eAAe;;EAE7B,gBAAgB,eAAe"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{_ as e,b as t,c as n,d as r,f as i,g as a,h as o,m as s,o as c,p as l,r as u,s as d,t as f,v as p,x as m,y as h}from"./route-name-iyGPA_zr.mjs";import{a as g,c as _,f as v,g as y,h as b,i as ee,l as x,m as S,n as C,o as te,p as w,r as ne,s as re,t as ie,u as T}from"./ingest-Wemkuwfp.mjs";const ae=Object.entries,oe=Object.hasOwn;function se(e,t,n){if(e===void 0||n.length===0)return e;let r,i=!1;for(let[a,o]of ae(e)){if(oe(t,a)&&t[a]!==void 0&&n.includes(a)){i=!0;continue}r??={},g(r,a,o)}return r===void 0?i?void 0:e:r}function ce(e,t,n){for(let[r,i]of ae(e))p(n,r,i,t(r),"this route's `defaultParams`","Move it to `defaultSearch`")}const le=Object.entries,ue=Object.freeze;function de(e,t,n){let r,i=!1;for(let[a,o]of le(e))t.includes(a)?(r??={},g(r,a,o)):(i=!0,n?.(a));return i?ue(r??T):e}const fe=Object.keys,pe=Object.hasOwn,me=Object.getOwnPropertyDescriptor,he=Object.getPrototypeOf,ge=Object;function _e(e){if(!e||typeof e!=`object`)throw TypeError(`dependencies must be a plain object`);let t=he(e);if(t!==null&&t.constructor!==ge)throw TypeError(`dependencies must be a plain object`)}function ve(e,t){_e(e);let n=e,r=[];for(let e of fe(n)){if(me(n,e)?.get)throw TypeError(`dependencies cannot contain getters: "${e}"`);let t=n[e];t!==void 0&&r.push([e,t])}for(let[e,n]of r)t(e,n)}function ye(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&&ye(r,t)}}const be=new Set([`all`,`warn-error`,`error-only`,`none`]);function xe(e){return typeof e==`string`&&be.has(e)}function Se(e){return typeof e==`string`?`"${e}"`:typeof e==`object`?JSON.stringify(e):String(e)}function Ce(e){for(let t of fe(e))if(t!==`level`&&t!==`callback`&&t!==`callbackIgnoresLevel`)throw TypeError(`Unknown logger config property: "${t}"`)}function we(e){if(!pe(e,`level`))return;let t=e.level;if(t!==void 0){if(!xe(t))throw TypeError(`Invalid logger level: ${Se(t)}. Expected: "all" | "warn-error" | "error-only" | "none"`);return t}}function Te(e){if(!pe(e,`callbackIgnoresLevel`))return;let t=e.callbackIgnoresLevel;if(t!==void 0){if(typeof t!=`boolean`)throw TypeError(`Logger callbackIgnoresLevel must be a boolean, got ${typeof t}`);return t}}function Ee(e){if(typeof e!=`object`||!e)throw TypeError(`Logger config must be an object`);let t=e;Ce(t);let n={},r=we(t);if(r!==void 0&&(n.level=r),pe(t,`callback`)){let e=t.callback;if(e!==void 0&&typeof e!=`function`)throw TypeError(`Logger callback must be a function, got ${typeof e}`);n.callback=e}let i=Te(t);return i!==void 0&&(n.callbackIgnoresLevel=i),n}const E=Object.freeze,De=Object.hasOwn,D=Object.keys;function O(e,t){if(e===void 0)return ke(t);let n={};for(let t of D(e)){if(t===`__proto__`)continue;let r=e[t];r!==void 0&&g(n,t,r)}if(t!==void 0)for(let e of D(t)){if(e===`__proto__`)continue;let r=t[e];r!==void 0&&g(n,e,r)}return n}function Oe(e){let t={};for(let n of D(e)){if(n===`__proto__`)continue;let r=e[n];r!==void 0&&g(t,n,r)}return t}function ke(e){if(e===void 0)return;let t;for(let n in e)!De(e,n)||e[n]!==void 0||(t??=Oe(e),delete t[n]);return t??e}const Ae=new Set([`string`,`number`,`boolean`]);function je(e){return Ae.has(typeof e)}function k(e,t){if(e===t)return!0;if(Array.isArray(e)){if(!Array.isArray(t))return e.length===1&&k(e[0],t);if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!k(e[n],t[n]))return!1;return!0}return Array.isArray(t)?t.length===1&&k(e,t[0]):je(e)&&je(t)&&String(e)===String(t)}function Me(e,t){let n=D(e);if(n.length!==D(t).length)return!1;for(let r of n)if(!(r in t)||!k(e[r],t[r]))return!1;return!0}function Ne(e){return E(e)}function Pe(e,t,n){return e===void 0?t===void 0||t===n?n:t:O(e,t)}function Fe(e,t){return Pe(e,t,x)}function Ie(e,t){let n=Pe(e,t,T);return n===T?n:E(n)}function A(e,t){if(e===void 0||e===t)return t;let n=O(void 0,e);if(n!==e)return E(n);let r={};for(let t of D(e)){if(t===`__proto__`)continue;let n=e[t];n!==void 0&&g(r,t,n)}return E(r)}function Le(e){if(e===_)return _;let t={},n=e;for(let e of D(n))e!==`__proto__`&&e!==`signal`&&g(t,e,n[e]);return E(t)}function j(e,t){if(e===void 0)return e;let n;for(let t of D(e)){if(t===`__proto__`)continue;let r=e[t];r!==void 0&&(n??={},g(n,t,r))}return n??t}function Re(e){return delete e[v],e}function M(e){if(!De(e,`__proto__`))return e;let t={};for(let n of D(e))n!==`__proto__`&&g(t,n,e[n]);return t}function ze(e={}){let t={...te,...e};return Object.freeze({maxDependencies:Number(t.maxDependencies),maxPlugins:Number(t.maxPlugins),maxListeners:Number(t.maxListeners),warnListeners:Number(t.warnListeners),maxLifecycleHandlers:Number(t.maxLifecycleHandlers)})}function Be(e={}){let t=Object.create(null),n=e,r=t;return ve(n,(e,t)=>{r[e]=t}),{dependencies:t,limits:te}}function Ve(e,t){let n=e.path,r=n.startsWith(`~`),i=r?n.slice(1):n,a=i!==``&&!i.startsWith(`/`)&&!i.startsWith(`?`)?`/${i}`:i,o={name:e.name,path:a,absolute:r,children:[],parent:t};if(e.children)for(let t of e.children){let e=Ve(t,o);o.children.push(e)}return o}function He(e,t,n){let r=Ve({name:e,path:t},null);for(let e of n){let t=Ve(e,r);r.children.push(t)}return r}const Ue=/[^\w!$'()*+,.:;|~-]/gu,We=/[^\w!$'()*+,.:;|~-]/u,Ge=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,Ke=e=>t=>{try{return e(t)}catch{return e(t.replaceAll(Ge,`�`))}},qe=Ke(e=>e.replaceAll(Ue,e=>encodeURIComponent(e))),Je={default:e=>We.test(e)?qe(e):e,uri:Ke(encodeURI),uriComponent:Ke(encodeURIComponent),none:e=>e},Ye={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:e=>e},Xe=(e,t)=>{let n=Je[t],r=String(e).split(`/`),i=n(r[0]);for(let e=1;e<r.length;e++)i+=`/`+n(r[e]);return i},Ze=Object.freeze(Object.create(null));function Qe(){return{staticChildren:Ze,hasChildren:!1,paramChild:void 0,splatChild:void 0,route:void 0,slashChildRoute:void 0}}function N(e){return e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e}function $e(e,t){return e===``?t:t===``?e:e.endsWith(`/`)&&t.startsWith(`/`)?e+t.slice(1):e+t}function et(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function tt(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(!et(n)||!et(r))return!1;t+=3}else t++;return!0}const nt=Object.freeze([]),rt=Object.freeze(new Set),it=Object.freeze([]),at=Object.freeze({}),ot=Object.freeze({}),st=Object.freeze({});function ct(e,t){let n=e.kind===`splat`;return{paramName:e.name,encoder:n?e=>Xe(e,t):Je[t]}}function lt(e,t,n,a){let o=new Set(a);for(let e of t)for(let t of e.paramMeta.urlParams)o.add(t);if(o.size===0)return{buildStaticParts:[e],buildParamSlots:it};let s=[],c=[],l=``,u=i(e),d=u.length-1;for(let[e,t]of u.entries()){let i=r(t);if(!(!(`error`in i)&&i.kind===`splat`&&e!==d)){if(e>0&&(l+=`/`),`error`in i||i.kind===`static`){l+=t;continue}s.push(l),l=``,c.push(ct(i,n))}}return s.push(l),{buildStaticParts:s,buildParamSlots:c}}function ut(e,t,n){throw Error(`[SegmentMatcher.registerTree] Parameter name conflict at the same path position: '${n}${e}' and '${n}${t}'. One position binds one name across every route that shares it. Rename one — e.g. use '${n}${e}' in both.`)}function dt(){throw Error(`[SegmentMatcher.registerTree] Empty parameter name: a ':'/'*' marker must be followed by a name (e.g. ':id', '*rest'), and a segment cannot end in a bare '?'.`)}function ft(e){throw Error(`[SegmentMatcher.registerTree] Fused parameter marker in segment "${e}": a ':'/'*' marker must begin a segment — write 'a/:b', not 'a:b'.`)}function pt(e){throw Error(`[SegmentMatcher.registerTree] Trailing parameter marker in segment "${e}": a param name cannot end in a bare ':' or '*'. Drop the stray marker.`)}function mt(e){throw Error(`[SegmentMatcher.registerTree] Optional params are not supported: "${e}" — declare two sibling routes instead, one with the segment and one without.`)}function ht(e){throw Error(`[SegmentMatcher.registerTree] Regex constraints are not supported: '<' and '>' are reserved in path segments ("${e}"). Match it as a plain string and validate the value in a canActivate guard.`)}function gt(e){throw Error(`[SegmentMatcher.registerTree] Non-ASCII static segment "${e}": match compares static keys raw and rejects non-ASCII input, so this route can never match. Percent-encode it (e.g. "/caf%C3%A9") or use a param.`)}function _t(e,t){switch(e){case`name-less`:return dt();case`trailing-marker`:return pt(t);case`fused-marker`:return ft(t);case`optional-removed`:return mt(t);case`constraint-removed`:return ht(t)}}function vt(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 name must be unique within a route — the second position overwrites the first. Rename one.`)}function yt(e,t){throw Error(`[SegmentMatcher.registerTree] Invalid query-param declaration "${t}" in route "${e}": a query-param name cannot contain '<' or '>'. Rename it.`)}function bt(e){throw Error(`[SegmentMatcher.registerTree] Double slashes are not allowed in path "${e}": the route would build a URL its own matcher refuses. Remove the empty segment.`)}function xt(e,t){throw Error(`[SegmentMatcher.registerTree] Duplicate route path: routes "${e}" and "${t}" resolve to the same URL — the later would shadow the earlier. Give them distinct paths.`)}function St(e,t){throw Error(`[SegmentMatcher.registerTree] Index route "${e}" (path "/") under the splat parent "${t}" is unreachable: the wildcard match never reaches the index node. Give the index a distinct path, or make the parent static.`)}function Ct(e,t){return e.paramChild?e.paramChild.name!==t&&ut(e.paramChild.name,t,`:`):e.paramChild={node:Qe(),name:t},e.paramChild.node}function wt(e,t){return e.splatChild?e.splatChild.name!==t&&ut(e.splatChild.name,t,`*`):e.splatChild={node:Qe(),name:t},e.splatChild.node}function Tt(e,t){e.route!==void 0&&e.route!==t&&xt(e.route.name,t.name),e.route=t}function Et(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>=128)return!0;return!1}function Dt(e,t,n){let r=N(n);if(r===`/`){Tt(e.root,t);return}Ot(e,e.root,r,1,t)}function Ot(e,t,n,r,i){let a=n.length;for(;r<=a;){let i=n.indexOf(`/`,r),o=i===-1?a:i,s=n.slice(r,o);t=Mt(e,t,s),r=o+1}Tt(t,i)}function kt(e,t,n){let r=n.length;for(;r>1&&n.codePointAt(r-1)===47;)--r;let i=n.slice(0,r);i.slice(i.lastIndexOf(`/`)+1).startsWith(`*`)&&St(t.name,n);let a=At(e,n);a.slashChildRoute=t}function At(e,t){return jt(e,e.root,t)}function jt(e,t,n){let r=N(n);if(r===`/`||r===``)return t;let i=t,a=1,o=r.length;for(;a<=o;){let t=r.indexOf(`/`,a),n=t===-1?o:t;if(n<=a)break;let s=r.slice(a,n);i=Mt(e,i,s),a=n+1}return i}function Mt(e,t,n){let i=r(n);if(`error`in i&&dt(),i.kind===`splat`){let e=wt(t,i.name);return t.hasChildren=!0,e}if(i.kind===`param`){let e=Ct(t,i.name);return t.hasChildren=!0,e}Et(n)&>(n);let a=e.options.caseSensitive?n:n.toLowerCase();return a in t.staticChildren||(t.staticChildren===Ze&&(t.staticChildren=Object.create(null)),t.staticChildren[a]=Qe(),t.hasChildren=!0),t.staticChildren[a]}const Nt=Object.hasOwn;function Pt(e){let t=i(e);for(let[n,r]of t.entries())r===``&&n>0&&n<t.length-1&&bt(e)}function Ft(e){for(let t of i(e)){let e=r(t);`error`in e&&_t(e.error,t)}}function It(e,t,n,r,i){let a=t.fullName===``;a||r.push(t);let o=t.absolute,s=t.paramMeta===c?t.path:t.paramMeta.pathPattern,l=o&&s.startsWith(`~`)?s.slice(1):s,u=o?l:s;Pt(t.path),Ft(u);let d=u,f=o?d:$e(n,d),p=a?i:Lt(e,t,f,o?``:n,r,i);for(let n of t.children.values())It(e,n,f,r,p);a||r.pop()}function Lt(e,t,n,r,i,a){let o=Ht(n,r),s=Object.freeze([...i]),c=Rt(s),l=N(n),u=Ut(e.rootQueryParams,i),{buildStaticParts:d,buildParamSlots:f}=lt(o?N(r):l,o?i.slice(0,-1):i,e.options.urlParamsEncoding,e.rootUrlParams),p=f.map(e=>e.paramName),m=p.length===0?rt:new Set(p);m.size!==p.length&&vt(t.fullName,p),Wt(t.fullName,u);let h={name:t.fullName,parent:a,matchSegments:s,meta:c,declaredQueryParams:u,declaredQueryParamsSet:u.length===0?rt:new Set(u),hasTrailingSlash:n.length>1&&n.endsWith(`/`),buildStaticParts:d,buildParamSlots:f,buildParamNamesSet:m,cachedResult:void 0};return t.paramMeta.urlParams.length===0&&(h.cachedResult=Object.freeze({segments:h.matchSegments,params:at,search:ot,meta:h.meta})),e.routesByName.set(t.fullName,h),o?Bt(e,h,r):Vt(e,h,n,l,t),h}function Rt(e){let t;for(let n of e)zt(n.paramTypeMap)&&(t??=ne(),t[n.fullName]=n.paramTypeMap);return t===void 0?st:Object.freeze(ie(ee(t)))}function zt(e){for(let t in e)if(Nt(e,t))return!0;return!1}function Bt(e,t,n){kt(e,t,n);let r=N(n),i=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.has(i)&&e.staticCache.set(i,t)}function Vt(e,t,n,r,i){if(Dt(e,t,n),i.paramMeta.urlParams.length===0){let n=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.set(n,t)}}function Ht(e,t){return N(e)===N(t)}function Ut(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?nt:n}function Wt(e,t){for(let n of t)d.test(n)&&yt(e,n)}const Gt=Symbol.for(`real-router.searchParams.configFault`),Kt=Object.hasOwn,qt=Object.keys,Jt=Object.getOwnPropertyDescriptor;function Yt(e){try{return Jt(e,Gt)?.configurable===!1}catch{return!1}}function Xt(e){return typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):String(e)}const Zt=Object.freeze({});function Qt(e,t){return e===`strict`?t?`always`:`never`:e}var $t=class{get options(){return this.#e}#e;#t=Qe();#n=new Map;#r=new Map;#i={cleanPath:``,normalized:``,queryString:void 0};#a=[];#o=``;#s;#c;constructor(e){let t=e.urlParamsEncoding??`default`,n=typeof t==`string`?t:String(t),r=Kt(Je,n)?n:`default`;this.#e={caseSensitive:e.caseSensitive??!0,strictTrailingSlash:e.strictTrailingSlash??!1,strictQueryParams:e.strictQueryParams??!1,urlParamsEncoding:r,parseQueryString:e.parseQueryString,buildQueryString:e.buildQueryString},this.#s=this.#e.caseSensitive,this.#c=this.#e.urlParamsEncoding===`none`?null:Ye[this.#e.urlParamsEncoding]}registerTree(e){this.#a=e.paramMeta.queryParams,It({root:this.#t,options:this.#e,routesByName:this.#n,staticCache:this.#r,rootQueryParams:this.#a,rootUrlParams:e.paramMeta.urlParams},e,``,[],null)}match(e){if(!this.#f(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.#g(t,a)?void 0:r===void 0&&a.cachedResult?a.cachedResult:this.#m(a,{},r);let o={},s=this.#_(n,o);if(s&&!(this.#e.strictTrailingSlash&&!this.#g(t,s))&&this.#b(o))return this.#m(s,o,r)}buildPath(e,t,n,r){let i=this.#n.get(e);if(!i)throw Error(`[SegmentMatcher.buildPath] '${e}' is not defined`);let a=this.#l(i,t),o=this.#u(a,Qt(r?.trailingSlash,i.hasTrailingSlash)),s=this.#d(i,n??t,r?.queryParamsMode);return o+(s?`?${s}`:``)}getSegmentsByName(e){return this.#n.get(e)?.matchSegments}getMetaByName(e){return this.#n.get(e)?.meta}getDeclaredQueryParams(e){return this.#n.get(e)?.declaredQueryParams}hasRoute(e){return this.#n.has(e)}#l(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!=null&&Kt(t,a.paramName)?t[a.paramName]:void 0;if(r==null)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}'`);if(r===``)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}' (empty string)`);let o=a.encoder(Xt(r));i+=o+n[e+1]}return i}#u(e,t){return t===`always`&&!e.endsWith(`/`)?`${e}/`:t===`never`&&e!==`/`&&e.endsWith(`/`)?e.slice(0,-1):e}#d(e,t,n){if(!t||e.declaredQueryParams.length===0&&n!==`loose`)return``;let r={},i=!1;for(let n of e.declaredQueryParams)Kt(t,n)&&(g(r,n,t[n]),i=!0);if(n===`loose`)for(let n of qt(t))e.declaredQueryParamsSet.has(n)||e.buildParamNamesSet.has(n)||(g(r,n,t[n]),i=!0);return i?this.#e.buildQueryString(r):``}#f(e){if(e===``&&(e=`/`),e.codePointAt(0)!==47)return!1;let t=this.#p(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=N(n);return this.#i.cleanPath=n,this.#i.normalized=i,this.#i.queryString=r,!0}#p(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}#m(e,t,n){let r=Zt;if(n!==void 0){let t=this.#h(e,n);if(t===void 0)return;r=t}return{segments:e.matchSegments,params:t,search:r,meta:e.meta}}#h(e,t){let n;try{n=this.#e.parseQueryString(t)}catch(e){if(Yt(e))throw e;return}if(this.#e.strictQueryParams){let t=e.declaredQueryParamsSet;for(let e of qt(n))if(!t.has(e))return}return n}#g(e,t){return(e.length>1&&e.endsWith(`/`))===t.hasTrailingSlash}#_(e,t){return e.length===1?this.#t.slashChildRoute??this.#t.route:this.#v(this.#t,e,1,t)}#v(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){let e=i.staticChildren[l];if(i.splatChild!==void 0){let a={},o=this.#v(e,t,s+1,a);return o===void 0?this.#y(i.splatChild,t,n,r):(C(r,a),o)}u=e}else if(i.paramChild){let e=i.paramChild;if(i.splatChild!==void 0){let a={[e.name]:c},o=this.#v(e.node,t,s+1,a);return o===void 0?this.#y(i.splatChild,t,n,r):(C(r,a),o)}u=e.node,g(r,e.name,c)}else if(i.splatChild)return this.#y(i.splatChild,t,n,r);else return;i=u,n=s+1}return i.slashChildRoute??i.route}#y(e,t,n,r){let i=e.node;if(!i.hasChildren)return g(r,e.name,t.slice(n)),i.route;let a={},o=this.#v(i,t,n,a);return o?(C(r,a),o):(g(r,e.name,t.slice(n)),i.route)}#b(e){let t=this.#c;if(!t)return!0;for(let n of qt(e)){let r=e[n];if(r.includes(`%`)){if(!tt(r))return!1;try{e[n]=t(r)}catch{return!1}}}return!0}};const en=Object.freeze(new Map),tn=Object.freeze([]);function nn(e){return e.parent?.name?`${e.parent.fullName}.${e.name}`:e.name}function rn(e){let t=new Map;for(let n of e)t.set(n.name,n);return t}function an(e,t){let n=[],r=[];for(let i of e){let e=on(i,t);n.push(e),e.absolute||r.push(e)}return{childrenMap:rn(n),nonAbsoluteChildren:r}}function on(e,t){let r=n(e.path),i=r.urlParams.length===0&&r.queryParams.length===0&&r.pathPattern===e.path?c:r,a=i.paramTypeMap,o={name:e.name,path:e.path,absolute:e.absolute,parent:t,children:void 0,paramMeta:i,nonAbsoluteChildren:void 0,fullName:``,paramTypeMap:a};if(o.fullName=nn(o),e.children.length===0)o.children=en,o.nonAbsoluteChildren=tn;else{let{childrenMap:t,nonAbsoluteChildren:n}=an(e.children,o);o.children=t,o.nonAbsoluteChildren=n,Object.freeze(o.nonAbsoluteChildren),Object.freeze(o.children)}return Object.freeze(a),Object.freeze(i.urlParams),Object.freeze(i.queryParams),Object.freeze(i),Object.freeze(o),o}function sn(e){return on(e,null)}function cn(e,t,n){return sn(He(e,t,n))}function ln(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(),ln)),n}function un(e){return Array.from(e.children.values(),ln)}const dn=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)},fn=(e,t)=>{if(e===void 0)return t.boolean.decodeUndefined();let n=t.boolean.decodeRaw(e);if(n!==null)return n;let r=dn(e),i=t.number.decode(r);return i===null?t.boolean.decodeValue(r):i},pn=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,mn=e=>{try{return encodeURIComponent(e)}catch(t){if(!(t instanceof URIError))throw t;return encodeURIComponent(String(e).replaceAll(pn,`�`))}},hn=e=>{let t=typeof e;if(t!==`string`&&t!==`number`&&t!==`boolean`)throw TypeError(`[router] Invalid query value: an array element must be a string, number, or boolean — received ${t}`);return mn(e)},gn=(e,t,n,r)=>{let i=`${e}${n}`,a=[];for(let e of t)if(e===null){let e=r.encode(i);e&&a.push(e)}else a.push(`${i}=${hn(e)}`);return a.join(`&`)},_n={none:{encodeArray:(e,t,n)=>gn(e,t,``,n)},brackets:{encodeArray:(e,t,n)=>gn(e,t,`[]`,n)},index:{encodeArray:(e,t,n)=>{let r=[];for(let[i,a]of t.entries()){let t=`${e}[${i}]`;if(a===null){let e=n.encode(t);e&&r.push(e)}else r.push(`${t}=${hn(a)}`)}return r.join(`&`)},indexed:!0},comma:{encodeArray:(e,t)=>{let n=[];for(let e of t)e!==null&&n.push(hn(e));return n.length===0?``:`${e}=${n.join(`,`)}`},decodeValue:e=>e.includes(`,`)?e.split(`,`):null}},vn={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`||e!==`false`&&null,decodeValue:e=>e},"empty-true":{encode:(e,t)=>t?e:`${e}=false`,decodeUndefined:()=>!0,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e}},yn={default:{encode:e=>e},hidden:{encode:()=>``}},bn={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 String(i)!==e||!Number.isSafeInteger(i)&&!r?null:i}},none:{decode:()=>null}},xn=Object.defineProperty,Sn=Object.keys,Cn=Object.hasOwn,wn=Symbol.for(`real-router.searchParams.configFault`),Tn=(e,t,n)=>{let r=typeof t==`string`?t:String(t);if(!Cn(e,r)){let t=TypeError(`[router.constructor] Invalid "queryParams.${n}": "${r}" — expected ${Sn(e).map(e=>`"${e}"`).join(` | `)}`);throw xn(t,wn,{value:!0}),t}return e[r]},En=(e,t,n,r)=>({boolean:Tn(vn,t,`booleanFormat`),null:Tn(yn,n,`nullFormat`),number:Tn(bn,r,`numberFormat`),array:Tn(_n,e,`arrayFormat`)}),Dn=Object.freeze({boolean:vn.auto,null:yn.default,number:bn.auto,array:_n.none}),P=Object.freeze({arrayFormat:`none`,booleanFormat:`auto`,nullFormat:`default`,numberFormat:`auto`}),On=Object.freeze({...P,strategies:Dn}),kn=e=>{if(!e||e.arrayFormat===void 0&&e.booleanFormat===void 0&&e.nullFormat===void 0&&e.numberFormat===void 0)return On;let t=e.arrayFormat??P.arrayFormat,n=e.booleanFormat??P.booleanFormat,r=e.nullFormat??P.nullFormat,i=e.numberFormat??P.numberFormat;return{arrayFormat:t,booleanFormat:n,nullFormat:r,numberFormat:i,strategies:En(t,n,r,i)}},F=e=>mn(e),An=(e,t,n)=>{let r=F(e);switch(typeof t){case`string`:case`number`:return`${r}=${F(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}=${F(t)}`;default:return`${r}=${F(t)}`}},jn=Object.hasOwn,Mn=Object.keys;function Nn(e,t,n){g(e,t,n)}function Pn(e,t,n,r){if(!jn(e,t)){Nn(e,t,r?[n]:n);return}let i=e[t];Array.isArray(i)?i.push(n):Nn(e,t,[i,n])}function Fn(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 In(e,t,n){let{searchPart:r,nameEnd:i,nameSourceEnd:a,rawValue:o,decodedName:s}=e,c=Fn(r,i,a);if(c===null)return!1;let l=fn(o,t),u=n.get(s);return u===void 0?n.set(s,[[c,l]]):u.push([c,l]),!0}function Ln(e,t,n,r,i,a,o){let s=a!==-1&&a<n?e.slice(a+1,n):void 0,c=s===void 0?n:a,l=c,u=!1;for(let n=t;n<c;n++)if(e.codePointAt(n)===91){l=n,u=!0;break}let d=dn(e.slice(t,l));if(!(o!==void 0&&u&&In({searchPart:e,nameEnd:l,nameSourceEnd:c,rawValue:s,decodedName:d},i,o))){if(!u&&s!==void 0&&i.array.decodeValue){let e=i.array.decodeValue(s);if(e){for(let t of e)Pn(r,d,fn(t,i),!0);return}}Pn(r,d,fn(s,i),u)}}const Rn=(e,t)=>{if(e===``||e===`?`)return{};let n={};return zn(e,n,t.strategies),n};function zn(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)),Ln(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]),Nn(t,e,n.map(e=>e[1]))}const Bn=(e,t)=>{let n=Mn(e);if(n.length===0)return``;let r=[];for(let i of n){let n=e[i];if(n===void 0)continue;let a=An(i,n,t);a&&r.push(a)}return r.join(`&`)};function Vn(e){let t=e?.queryParams,n=kn(t);return new $t({...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=>Rn(e,n),buildQueryString:e=>Bn(e,n)})}const Hn={defaultRoute:``,defaultParams:{},defaultSearch:{},trailingSlash:`preserve`,caseSensitive:!0,queryParamsMode:`loose`,queryParams:P,urlParamsEncoding:`default`,allowNotFound:!0,rewritePathOnMatch:!0},Un=Object.getOwnPropertyDescriptor,Wn=Object.getOwnPropertyNames,Gn=Object.freeze;function Kn(e){Gn(e);for(let t of Wn(e)){let n=Un(e,t);if(!n?.enumerable)continue;let r=n.value;r&&typeof r==`object`&&r.constructor===Object&&Kn(r)}return e}function qn(e,t){return typeof e==`function`?e(t):e}function Jn(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`[router.constructor] options must be a plain object`)}var Yn=class{#e;constructor(e={}){this.#e=Kn(Re({...Hn,...e}))}static validateOptionsIsObject(e){Jn(e)}get(){return this.#e}};const Xn=Object.keys;function Zn(e,t,n,r,i){let a=e.pathNames(t);if(a!==void 0)for(let e of Xn(n))!r.includes(e)&&!a.includes(e)&&i(t,e)}function I(e,t,n,r,i){let a=String(t),o=i?.resolveForward===!1?{name:a,params:n,search:r}:e.resolveForward(a,n,r),s=o.name,c=j(o.params,x),l=i?.diagnoseUndeclared===!0?e.reportUndeclaredParamKey:void 0;l&&Zn(e,s,c,e.queryNames(s),l);let u=e.defaultParams(s),d=e.defaultSearch(s);if((o.search===void 0||o.search===T)&&u===void 0&&d===void 0)return{name:s,path:c,query:T};let f=e.queryNames(s),p=e.reportDroppedQueryKey,m=Ie(i?.resolveForward===!1?se(d,c,f):d,j(o.search,T));return{name:s,path:Fe(u,c),query:e.admitsUndeclaredQuery()?m:de(m,f,t=>{p!==void 0&&e.pathNames(s)!==void 0&&p(s,t)})}}const Qn=Object.keys;function L(e,t){return t.buildPath(e.name,e.path,e.query)}function $n(e,t){let n=t.reportUndeclaredParamKey;if(!n)return L(e,t);let r=Qn(e.path).length,i=L(e,t);return Qn(e.path).length>r&&Zn(t,e.name,e.path,t.queryNames(e.name),n),i}const er=Object.freeze;function tr(e,t){let n={name:e.name,params:e.path,search:e.query,path:t,context:{},transition:re};return er(n.params),n}function nr(e,t){return Ne(tr(e,t))}function rr(e,t){return tr(e,t)}var ir=class{#e;#t;get(){return this.#e.current}getPrevious(){return this.#e.previous}setContext(e){this.#e=e}setDependencies(e){this.#t=e}makeState(e,t,n,r){let i=this.#t.port(),a=I(i,e,t??x,n,{resolveForward:!1});return h(`makeState`,a.name,a.path,i.queryNames(a.name)),nr(a,r??L(a,i))}areStatesEqual(e,t,n=!0){if(!e||!t)return!!e==!!t;if(e.name!==t.name)return!1;if(n){let n=this.#t.getUrlParams(e.name);for(let r of n)if(!k(e.params[r],t.params[r]))return!1;return!0}return Me(e.params,t.params)&&Me(e.search,t.search)}};const ar=Object.keys,or={[y.ROUTER_START]:b.ROUTER_START,[y.ROUTER_STOP]:b.ROUTER_STOP,[y.TRANSITION_SUCCESS]:b.TRANSITION_SUCCESS,[y.TRANSITION_START]:b.TRANSITION_START,[y.TRANSITION_LEAVE_APPROVE]:b.TRANSITION_LEAVE_APPROVE,[y.TRANSITION_ERROR]:b.TRANSITION_ERROR,[y.TRANSITION_CANCEL]:b.TRANSITION_CANCEL},sr=ar(or),cr=`router.usePlugin`;function lr(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 ur=class e{#e=new Set;#t=new Set;#n;static validatePlugin(e){lr(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 t=e[0],n=this.#i(t);this.#e.add(t);let r=!1,i=()=>{if(!r){r=!0,this.#e.delete(t),this.#t.delete(i);try{n()}catch(e){this.#n.logger.error(cr,`Error during cleanup:`,e)}}};return this.#t.add(i),i}let t=this.#r(e),n=[];try{for(let e of t){let t=this.#i(e);n.push({factory:e,cleanup:t})}}catch(e){for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(cr,`Cleanup error:`,e)}throw e}for(let{factory:e}of n)this.#e.add(e);let r=!1,i=()=>{if(!r){r=!0,this.#t.delete(i);for(let{factory:e}of n)this.#e.delete(e);for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(cr,`Error during cleanup:`,e)}}};return this.#t.add(i),i}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 sr)e in n&&(typeof n[e]==`function`?(r.push(this.#n.addEventListener(or[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 dr=()=>!0,fr=()=>!1,pr=()=>dr,mr=()=>fr;function hr(e){return e?pr:mr}function gr(e,t,n){n===void 0?e.delete(t):e.set(t,n)}var _r=class{#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=new Map;#a=new Map;#o=new Map;#s=new Map;#c=new Map;#l=new Map;#u=[this.#i,this.#a];#d;setDependencies(e){this.#d=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.#d.getValidator();if(!r)return;let i=(e,t,i)=>{let{definition:a,external:o}=this.#g(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,r){this.#f(`activate`,e,t,n,`canActivate`,r)}addCanDeactivate(e,t,n,r){this.#f(`deactivate`,e,t,n,`canDeactivate`,r)}clearCanActivate(e,t){this.#p(`activate`,e,t)}clearCanDeactivate(e,t){this.#p(`deactivate`,e,t)}clearAll(){this.#e.clear(),this.#t.clear(),this.#n.clear(),this.#r.clear(),this.#a.clear(),this.#i.clear(),this.#o.clear(),this.#s.clear(),this.#c.clear(),this.#l.clear()}clearDefinitionGuards(){for(let e of this.#e.keys())this.#c.delete(e),this.#t.has(e)?this.#m(`activate`,e):this.#a.delete(e);for(let e of this.#n.keys())this.#o.delete(e),this.#r.has(e)?this.#m(`deactivate`,e):this.#i.delete(e);this.#e.clear(),this.#n.clear()}getFactories(){let e=Object.create(null),t=Object.create(null);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=Object.create(null),t=Object.create(null),n=Object.create(null),r=Object.create(null);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.#u}canNavigateTo(e,t,n,r){for(let t of e)if(!this.#_(this.#i,t,n,r,`canNavigateTo`))return!1;for(let e of t)if(!this.#_(this.#a,e,n,r,`canNavigateTo`))return!1;return!0}compileGuardFactory(e,t){let n=typeof e==`boolean`?hr(e):e,r=this.#d.compileFactory(n);if(typeof r!=`function`)throw TypeError(`[router.${t}] Factory must return a function, got ${typeof r}`);return r}#f(e,t,n,r,i,a){let o=this.#g(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.#d.getValidator()?.lifecycle.warnOverwrite(t,e,i);else{let t=this.#d.getValidator();if(t){let n=this.getHandlerCount(e);t.lifecycle.validateHandlerLimit(n,i),t.lifecycle.validateCountThresholds(n+1,i)}}let u=typeof n==`boolean`?hr(n):n,d=c.get(t),f=this.#h(e),p=r?f.definition:f.external,m=p.get(t);c.set(t,u);let h=r&&l.has(t);try{let e=a??this.compileGuardFactory(u,i);p.set(t,e),h||s.set(t,e)}catch(n){throw gr(c,t,d),gr(p,t,m),this.#m(e,t),n}}#p(e,t,n){let{definition:r,external:i}=this.#g(e),a=this.#h(e),o=n!==`external`&&r.delete(t),s=n!==`definition`&&i.delete(t);o&&a.definition.delete(t),s&&a.external.delete(t),(o||s)&&this.#m(e,t)}#m(e,t){let n=this.#h(e),r=e===`activate`?this.#a:this.#i,i=n.external.get(t)??n.definition.get(t);if(!i){r.delete(t);return}r.set(t,i)}#h(e){return e===`activate`?{definition:this.#c,external:this.#l}:{definition:this.#o,external:this.#s}}#g(e){return e===`activate`?{definition:this.#e,external:this.#t}:{definition:this.#n,external:this.#r}}#_(e,t,n,r,i){let a=e.get(t);if(!a)return!0;try{let e=a(n,r);return typeof e==`boolean`?e:(this.#d.getValidator()?.lifecycle.warnAsyncGuardSync(t,i),!1)}catch(e){return this.#d.logger.warn(`router.${i}`,`Guard for "${t}" threw — treated as navigation-blocking (returned false)`,e),!1}}};const vr=new Set([`name`,`path`,`children`,`canActivate`,`canDeactivate`,`forwardTo`,`encodeParams`,`decodeParams`,`defaultParams`,`defaultSearch`]),yr=Object.hasOwn,R=Object.keys;function br(){return{decoders:Object.create(null),encoders:Object.create(null),defaultParams:Object.create(null),defaultSearch:Object.create(null),forwardMap:Object.create(null),forwardFnMap:Object.create(null)}}function xr(e){return R(e.forwardMap).length>0||R(e.forwardFnMap).length>0}function Sr(e,t){for(let n of R(t))Object.assign(e[n],t[n])}function Cr(e,t){for(let n in e)if(yr(t,n)&&!k(e[n],t[n]))return!1;return!0}function wr(e){return typeof e==`string`?e:`<non-string>`}function Tr(e,t){for(let n in e)if(!k(e[n],t[n]))return!1;return!0}function Er(e){let t={name:e.name,path:e.path};return e.children&&(t.children=e.children.map(e=>Er(e))),t}function Dr(e,t,n){if(n.add(t),e.children)for(let r of e.children)Dr(r,`${t}.${r.name}`,n)}function Or(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){e.splice(r,1);let t=new Set;return Dr(i,a,t),t}if(i.children&&t.startsWith(`${a}.`)){let e=Or(i.children,t,a);if(e)return e}}}function kr(e,t){for(let n of R(e))t(n)&&delete e[n]}function Ar(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 jr(e){let t=[];for(let n of e)for(let e of n.paramMeta.urlParams)t.push(e);return t}function Mr(e,t,n){let r=n.get(t);if(r!==void 0)return r;let i=e.getSegmentsByName(t),a=i?jr(i):[];return n.set(t,a),a}function Nr(e,t){return Mr(e.matcher,t,e.urlParamsCache)}function Pr(e,t,n,r){let i=r.get(t);if(i!==void 0)return i;let a=e.getDeclaredQueryParams(t),o=[];if(a){let r=Mr(e,t,n);o=a.filter(e=>!r.includes(e))}return r.set(t,o),o}function Fr(e,t){return Pr(e.matcher,t,e.urlParamsCache,e.queryParamsCache)}function Ir(e,t,n){let r=new Map,i=new Map;ce(t.defaultParams,t=>Pr(e,t,r,i),n)}function Lr(e,t,n=100){let r=String(e),i=new Set,a=[r],o=r;for(;;){let e=t[o];if(!e)break;let r=String(e);if(i.has(r)){let e=a.indexOf(r),t=[...a.slice(e),r];throw Error(`Circular forwardTo: ${t.join(` → `)}`)}if(i.add(o),a.push(r),o=r,a.length>n)throw Error(`forwardTo chain exceeds maximum depth (${n}): ${a.join(` → `)}`)}return o}const Rr=Object.entries,z=Object.keys,zr=Object.defineProperty,Br=Object.fromEntries;function Vr(e,t,n){let r=cn(``,t,e),i=Vn(n);return i.registerTree(r),{tree:r,matcher:i}}function Hr(e,t=e.definitions){let n=Vr(t,e.rootPath,e.matcherOptions);e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function Ur(e,t){let n=Vr(e.definitions,t,e.matcherOptions);Ir(n.matcher,e.config,`setRootPath`),e.rootPath=t,e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function Wr(e,t){Hr(e,t),B(e,qr(e.config))}function Gr(e){Kr(e),Hr(e,[])}function Kr(e){Object.assign(e.config,br()),B(e,Object.create(null)),e.routeCustomFields=Object.create(null)}function B(e,t){e.resolvedForwardMap=t,e.hasAnyForward=xr(e.config)}function qr(e){let t=Object.create(null);for(let n of z(e.forwardMap))t[n]=Lr(n,e.forwardMap);return t}function Jr(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 Yr(e,t,n,r){if(e.canActivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${n}".`)}if(e.canDeactivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${n}".`)}Jr(e.forwardTo,t),typeof e.forwardTo==`string`?n.forwardMap[t]=e.forwardTo:n.forwardFnMap[t]=e.forwardTo}function Xr(e,t,n,r,i,a,o){let s=Br(Rr(e).filter(([e])=>!vr.has(e)));if(z(s).length>0&&(r[t]=s),e.canActivate&&i.set(t,e.canActivate),e.canDeactivate&&a.set(t,e.canDeactivate),e.forwardTo&&Yr(e,t,n,o),e.decodeParams){let r=e.decodeParams;n.decoders[t]=e=>r(e)??e}if(e.encodeParams){let r=e.encodeParams;n.encoders[t]=e=>r(e)??e}e.defaultParams&&(n.defaultParams[t]=e.defaultParams),e.defaultSearch&&(n.defaultSearch[t]=e.defaultSearch)}function Zr(e,t,n,r,i,a,o=``){for(let s of e){let e=o?`${o}.${s.name}`:s.name;Xr(s,e,t,n,r,i,a),s.children&&Zr(s.children,t,n,r,i,a,e)}}function Qr(e){let t=br();return Sr(t,e),t}function $r(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]:$r(n,t,i)}})}function ei(e){return e.map(e=>{let t={...e};return Array.isArray(t.children)&&(t.children=ei(t.children)),t})}function ti(e,t,n){for(let r of e){let e=t?`${t}.${r.name}`:r.name;n(e),r.children&&ti(r.children,e,n)}}function ni(e,t,n){let r=new Set;ti(e,t,e=>{if(r.has(e))throw Error(`[router.${n}] Duplicate route "${e}" in batch`);r.add(e)})}function ri(e,t){if(typeof e!=`string`)throw TypeError(`[router.${t}] Route name must be a string, got ${typeof e}`);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 V(e,t){for(let n of e)ri(n.name,t),n.children&&V(n.children,t)}function H(e,t){for(let n of e)u(n.name,t),n.children&&H(n.children,t)}function U(e,t){for(let n of e)f(n.name,t),n.children&&U(n.children,t)}function ii(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 ai(e,t,n){if(V(t,`addRoute`),H(t,`addRoute`),U(t,`addRoute`),n!==void 0&&!e.matcher.hasRoute(n))throw Error(`[router.addRoute] Parent route "${n}" does not exist`);ti(t,n??``,t=>{if(e.matcher.hasRoute(t))throw Error(`[router.addRoute] Route "${t}" already exists`)}),ni(t,n??``,`addRoute`),ii(t,n??``,`addRoute`)}function oi({definitions:e,routesForHandlers:t,config:n,routeCustomFields:r,handlerParentName:i,rootPath:a,matcherOptions:o,logger:s}){let c=new Map,l=new Map;Zr(t,n,r,c,l,s,i);let u=qr(n),{tree:d,matcher:f}=Vr(e,a,o);return{config:n,routeCustomFields:r,pendingCanActivate:c,pendingCanDeactivate:l,tree:d,matcher:f,resolvedForwardMap:u}}function si(e,t,n,r){return oi({definitions:$r(e.definitions,t.map(e=>Er(e)),n===void 0?[]:n.split(`.`)),routesForHandlers:t,config:Qr(e.config),routeCustomFields:Object.assign(Object.create(null),e.routeCustomFields),handlerParentName:n??``,rootPath:e.rootPath,matcherOptions:e.matcherOptions,logger:r})}function ci(e,t,n,r){return oi({definitions:e.map(e=>Er(e)),routesForHandlers:e,config:br(),routeCustomFields:Object.create(null),handlerParentName:``,rootPath:t,matcherOptions:n,logger:r})}function li(e,t,n){let r=[];for(let[i,a]of e)r.push([i,a,t(a,n)]);return r}function ui(e,t){return{activate:li(e.pendingCanActivate,t.compileGuard,`canActivate`),deactivate:li(e.pendingCanDeactivate,t.compileGuard,`canDeactivate`)}}function di(e,t,n){let r=e.depsStore,{activate:i,deactivate:a}=n??ui(t,r);Object.assign(e.config,t.config),e.routeCustomFields=t.routeCustomFields,e.tree=t.tree,e.matcher=t.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear(),B(e,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 W(e){return e===null?e:e||void 0}function fi(e,t,n,r){let{forwardTo:i,defaultParams:a,defaultSearch:o,decodeParams:s,encodeParams:c,canActivate:l,canDeactivate:u}=r,d=W(i),f=W(a),m=W(o),h=W(s),g=W(c),_=W(l),v=W(u);f!=null&&p(`updateRoute`,n,f,Fr(e,n),"this route's `defaultParams`","Move it to `defaultSearch`");let y=d===void 0?void 0:pi(n,d,e.config),b=mi(e,n,r),ee=_==null?void 0:t.compileGuardFactory(_,`canActivate`),x=v==null?void 0:t.compileGuardFactory(v,`canDeactivate`);return t.preflightHandlerLimit(ee===void 0?[]:[n],x===void 0?[]:[n],!1),b!==void 0&&(z(b).length>0?e.routeCustomFields[n]=b:delete e.routeCustomFields[n]),y!==void 0&&(e.config.forwardMap=y.forwardMap,e.config.forwardFnMap=y.forwardFnMap,B(e,y.resolved)),gi(e,n,{defaultParams:f,defaultSearch:m,decodeParams:h,encodeParams:g}),_i(t,`activate`,n,_,ee),_i(t,`deactivate`,n,v,x),{forwardTo:d,defaultParams:f,defaultSearch:m,decodeParams:h,encodeParams:g}}function pi(e,t,n){Jr(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:qr({...n,forwardMap:r})}}function mi(e,t,n){let r;for(let i of z(n)){if(vr.has(i))continue;let a=n[i];a!==void 0&&(r??={...e.routeCustomFields[t]},a===null?delete r[i]:g(r,i,a))}return r}function hi(e,t,n){n!==void 0&&(n===null?delete e[t]:e[t]=n)}function gi(e,t,n){if(hi(e.config.defaultParams,t,n.defaultParams),hi(e.config.defaultSearch,t,n.defaultSearch),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 _i(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 vi(e,t,n){let r=ei(e);V(r,`addRoute`),H(r,`constructor`),U(r,`constructor`),ni(r,``,`addRoute`);let i=ci(r,``,t,n),a={get definitions(){return un(a.tree)},config:i.config,tree:i.tree,matcher:i.matcher,urlParamsCache:new Map,queryParamsCache:new Map,resolvedForwardMap:i.resolvedForwardMap,hasAnyForward:xr(i.config),routeCustomFields:i.routeCustomFields,rootPath:``,matcherOptions:t,depsStore:void 0,lifecycleNamespace:void 0,pendingCanActivate:i.pendingCanActivate,pendingCanDeactivate:i.pendingCanDeactivate};return Ir(a.matcher,a.config,`addRoute`),zr(a,`matcherOptions`,{writable:!1,configurable:!1}),a}const yi=Object.keys,bi=[];Object.freeze(bi);function xi(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 Si=new Set([`string`,`number`,`boolean`]);function Ci(e){return Si.has(typeof e)}function wi(e,t,n,r){let i=t[e];if(!i||typeof i!=`object`)return!0;for(let e of yi(i)){let t=n.params[e],i=r.params[e];if(Ci(t)&&Ci(i)&&String(t)!==String(i))return!1}return!0}function Ti(e,t,n,r,i,a){for(let o=0;o<a;o++){let a=r[o];if(a!==i[o]||!wi(a,e,t,n))return o}return a}const Ei=new Map;function G(e){let t=Ei.get(e);if(t)return t;let n=Di(e);return Object.freeze(n),Ei.set(e,n),n}function Di(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]:xi(e)}let Oi,ki,Ai=null,ji,Mi,Ni=null;function Pi(e,t,n){if(!t)return{intersection:``,toActivate:G(e.name),toDeactivate:bi};let r=n(e.name),i=n(t.name);if(!r&&!i)return{intersection:``,toActivate:G(e.name),toDeactivate:G(t.name)};let a=G(e.name),o=G(t.name),s=Math.min(o.length,a.length),c=Ti(r??i,e,t,a,o,s),l;if(c>=o.length)l=bi;else if(c===0&&o.length===1)l=o;else{l=[];for(let e=o.length-1;e>=c;e--)l.push(o[e])}let u=c===0?a:a.slice(c);return{intersection:c>0?o[c-1]:``,toDeactivate:l,toActivate:u}}function Fi(e,t,n){if(Ai!==null&&e===Oi&&t===ki)return Ai;if(Ni!==null&&e===ji&&t===Mi)return Ni;let r=Pi(e,t,n);return ji=Oi,Mi=ki,Ni=Ai,Oi=e,ki=t,Ai=r,r}const K=Object.hasOwn;function Ii(e,t){return{name:t??e.segments.at(-1).fullName,params:e.params,search:e.search,meta:e.meta}}function Li(e){return e===`preserve`?void 0:e}var Ri=class{#e;#t;#n;get#r(){return this.#e.depsStore}constructor(e,t,n){this.#e=vi(e,t,n)}static shouldUpdateNode(e,t){return(n,r)=>{if(!(n&&typeof n==`object`&&`name`in n))throw TypeError(`[router.shouldUpdateNode] toState must be valid State object`);if(n.transition?.reload||e===``)return!0;let{intersection:i,toActivate:a,toDeactivate:o}=Fi(n,r,t);return e===i||a.includes(e)?!0:o.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){Ur(this.#e,e)}hasRoute(e){return this.#e.matcher.hasRoute(e)}clearRoutes(){Gr(this.#e)}buildPath(e,t,n,r){if(e===w.UNKNOWN_ROUTE)return typeof t.path==`string`?t.path:``;let i=n??T,a=this.#e.config.encoders[e];if(typeof a==`function`){let n=a({params:{...t},search:{...i}});return this.#e.matcher.buildPath(e,n.params,n.search,this.#c(r))}return this.#e.matcher.buildPath(e,t,i,this.#c(r))}buildPathFromIntent(e,t,n){let r=t??x;return e===w.UNKNOWN_ROUTE?this.#r.port.buildPath(e,r,n??T):L(I(this.#r.port,e,r,n,{resolveForward:!1}),this.#r.port)}matchPath(e,t){let n=t,r=this.#e.matcher.match(e);if(!r)return;let i=Ii(r),{name:a}=i,o=M(i.params),s=M(i.search),c=this.#e.config.decoders[a],l;typeof c==`function`?(l=c({params:o,search:s}),this.#r.getValidator()?.routes.validateStateBuilderArgs(a,l.params,`matchPath`),p(`matchPath`,a,l.params,this.getQueryParams(a),"the `params` returned by this route's `decodeParams`")):l={params:o,search:s};let u=I(this.#r.port,a,l.params,l.search),d=u.name;h(`matchPath`,u.name,u.path,this.getQueryParams(u.name));let f=u.path,m=u.query,g=e;if(n.rewritePathOnMatch){let t=this.#e.config.encoders[d],r=typeof t==`function`?t({params:f,search:m}):{params:f,search:m},i=n.trailingSlash;try{g=this.#e.matcher.buildPath(d,r.params,r.search,{trailingSlash:Li(i),queryParamsMode:n.queryParamsMode}),i===`preserve`&&(g=Ar(e,g))}catch{g=e}}return nr(u,g)}forwardState(e,t,n){let r=n??T;if(K(this.#e.config.forwardFnMap,e)){let n=this.#e.config.forwardFnMap[e],{target:i,chain:a}=this.#l(e,n,t);return this.#s(i,a,t,r)}let i=this.#e.resolvedForwardMap[e]??e;if(i!==e&&K(this.#e.config.forwardFnMap,i)){let n=this.#e.config.forwardFnMap[i],{target:a,chain:o}=this.#l(i,n,t);return this.#s(a,[...this.#o(e),...o],t,r)}return i===e?{name:e,params:t,search:r}:this.#s(i,this.#o(e),t,r)}buildStateResolved(e,t){let n=this.#e.matcher.getSegmentsByName(e);if(n)return Ii({segments:n,params:t,search:{},meta:this.#e.matcher.getMetaByName(e)},e)}isActiveRoute(e,t=x,n=T,r=!1,i=!0){if(this.#i(e,t,n,r,i))return!0;if(!this.#e.hasAnyForward)return!1;let a;try{a=typeof e==`string`?e:String(e)}catch{return!1}if(!K(this.#e.config.forwardMap,a)&&!K(this.#e.config.forwardFnMap,a))return!1;let o;try{o=this.forwardState(e,t,n)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Dynamic forwardTo of route "${wr(e)}" threw while resolving the active-link destination; treating the link as inactive.`,t),!1}return this.#i(o.name,o.params,o.search,r,i)}getMetaForState(e){return this.#e.matcher.hasRoute(e)?this.#e.matcher.getMetaByName(e):void 0}getUrlParams(e){return Nr(this.#e,e)}getQueryParams(e){return Fr(this.#e,e)}getStore(){return this.#e}getPort(){return this.#r.port}#i(e,t,n,r,i){try{return this.#a(e,t,n,r,i)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Reading the arguments for route "${wr(e)}" threw while resolving the active-link state; treating the link as inactive.`,t),!1}}#a(e,t,n,r,i){let a=this.#r.getState();if(!a)return!1;let o=a.name;if(o!==e&&!o.startsWith(`${e}.`)&&!e.startsWith(`${o}.`))return!1;let s=I(this.#r.port,e,t,n,{resolveForward:!1});if(r||o===e){let e=rr(s,``);return!this.#r.areStatesEqual(e,a,!0)||!Cr(s.path,a.params)?!1:i||Me(e.search,a.search)}return!(!o.startsWith(`${e}.`)||!Cr(s.path,a.params)||!i&&!Tr(s.query,a.search))}#o(e){let t=[],n=e;for(;K(this.#e.config.forwardMap,n);)t.push(n),n=this.#e.config.forwardMap[n];return t}#s(e,t,n,r){let i,a;for(let e of t)i=O(this.#e.config.defaultParams[e],i),a=O(this.#e.config.defaultSearch[e],a);return{name:e,params:j(i===void 0?n:O(i,n),x),search:j(a===void 0?r:O(a,r),T)}}#c(e){return this.#t?(e!==this.#n&&this.#r.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,this.#t=Object.freeze({trailingSlash:Li(e?.trailingSlash),queryParamsMode:e?.queryParamsMode}),this.#t)}#l(e,t,n){let r=new Set([e]),i=[e],a=t(this.#r.getDependency,n),o=0;if(typeof a!=`string`)throw TypeError(`forwardTo callback must return a string, got ${typeof a}`);for(;o<100;){if(this.#e.matcher.getSegmentsByName(a)===void 0)throw Error(`Route "${a}" does not exist`);if(r.has(a)){let e=[...r,a].join(` → `);throw Error(`Circular forwardTo: ${e}`)}if(r.add(a),K(this.#e.config.forwardFnMap,a)){let e=this.#e.config.forwardFnMap[a];i.push(a),a=e(this.#r.getDependency,n),o++;continue}let e=this.#e.config.forwardMap[a];if(e!==void 0){i.push(a),a=e,o++;continue}return{target:a,chain:i}}throw Error(`forwardTo exceeds maximum depth of 100`)}};const zi=Object.entries,Bi=Object.values,Vi=Object.hasOwn,Hi=new Set(Bi(S)),Ui=new Set([`code`,`segment`,`path`]),Wi=new Set([`setCode`,`setErrorInstance`,`setAdditionalFields`,`hasField`,`getField`,`toJSON`]);function q(e){return Object.freeze(e)}var J=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 zi(i)){if(Ui.has(e))throw TypeError(`[RouterError] Cannot set reserved property "${e}"`);e!==`__proto__`&&!Wi.has(e)&&g(this,e,t)}}setCode(e){this.code=e,Hi.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 zi(e)){if(Ui.has(t))throw TypeError(`[RouterError.setAdditionalFields] Cannot set reserved property "${t}"`);t!==`__proto__`&&!Wi.has(t)&&g(this,t,n)}}hasField(e){return Vi(this,e)}getField(e){return Vi(this,e)?this[e]:void 0}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)Vi(this,n)&&!t.has(n)&&g(e,n,this[n]);return e}};const Gi=new J(S.ROUTER_NOT_STARTED),Ki=new J(S.ROUTE_NOT_FOUND),qi=new J(S.SAME_STATES),Ji=new J(S.ROUTER_NOT_STARTED,{message:`[router] cannot commit before the start navigation does — the boot would overwrite it; defer with queueMicrotask/await, or navigate after start() resolves`});Object.freeze(Gi),Object.freeze(Ki),Object.freeze(qi),Object.freeze(Ji);const Yi=Promise.reject(Gi),Xi=Promise.reject(Ki),Zi=Promise.reject(qi),Qi=Promise.reject(Ji);Yi.catch(()=>{}),Xi.catch(()=>{}),Zi.catch(()=>{}),Qi.catch(()=>{});const $i=new Set([S.SAME_STATES,S.TRANSITION_CANCELLED,S.ROUTER_NOT_STARTED,S.ROUTE_NOT_FOUND,S.CANNOT_ACTIVATE,S.CANNOT_DEACTIVATE,S.ROUTER_ALREADY_STARTED]);function ea(e){return e instanceof J&&$i.has(e.code)}const ta=new Set([Yi,Xi,Zi,Qi]),Y=Object.freeze;function na(e){let{fromState:t,toDeactivate:n,toActivate:r,intersection:i}=e;Y(n),Y(r);let a={phase:`activating`,reason:`success`,segments:Y({deactivated:n,activated:r,intersection:i})};return t?.name!==void 0&&(a.from=t.name),e.reload!==void 0&&(a.reload=e.reload),e.replace!==void 0&&(a.replace=e.replace),e.redirected!==void 0&&(a.redirected=e.redirected),Y(a)}function ra(e,t){let{toState:n,fromState:r,toDeactivate:i,toActivate:a}=t;if(n.name!==w.UNKNOWN_ROUTE&&!e.hasRoute(n.name)){let i=new J(S.ROUTE_NOT_FOUND,{routeName:n.name});throw e.sendTransitionFail(r,i,t),q(i)}let o=t;n.transition=na(t);let s=Y(n),c=e.canCommitTransition(o);if(!c)throw q(new J(S.TRANSITION_CANCELLED));for(let n of i)a.includes(n)||!t.canDeactivateFunctions.has(n)||e.clearCanDeactivate(n,c);return e.sendTransitionDone(o),s}const ia=Object.entries;function aa(e){return e instanceof J&&e.code===S.TRANSITION_CANCELLED}function oa(e){return aa(e)?e:new J(S.TRANSITION_CANCELLED,{reason:e})}function sa(e,t,n,r){let i=t;i.code!==S.TRANSITION_CANCELLED&&i.code!==S.ROUTE_NOT_FOUND&&e.sendTransitionFail(n,i,r)}function ca(e,t,n){if(e instanceof DOMException&&e.name===`AbortError`)throw q(new J(S.TRANSITION_CANCELLED));if(aa(e))throw e;la(e,t,n)}function la(e,t,n){if(e instanceof J){let{code:n,message:r,...i}=e.toJSON(),a=new J(n,{...i,message:r});throw a.setCode(t),a.stack=e.stack??``,q(a)}throw q(new J(t,da(e,n)))}const ua=new Set([`code`,`segment`,`path`,`then`]);function da(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 ia(e))n!==`__proto__`&&!ua.has(n)&&g(t,n,r);return{...n,...t}}return n}async function fa(e,t,n){let r;try{r=await e}catch(e){ca(e,t,n);return}if(!r)throw q(new J(t,{segment:n}))}function pa(e,t,n,r,i,a,o,s,c,l){if(!c())throw q(new J(S.TRANSITION_CANCELLED));if(e===1){let n=l();return n===void 0?void 0:{phase:e,index:t+1,pending:n}}let u=n[t],d=r.get(u);if(!d)return;let f=!1;try{f=d(a,o,s)}catch(e){ca(e,i,u)}if(f instanceof Promise)return{phase:e,index:t+1,pending:f};if(!f)throw q(new J(i,{segment:u}))}function ma(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=e===1,m=e===0;if(!p&&!(m?o:s))return;let h=m?i:a,g=p?1:h.length,_=m?n:r,v=m?S.CANNOT_DEACTIVATE:S.CANNOT_ACTIVATE;for(let n=t;n<g;n++){let t=pa(e,n,h,_,v,c,l,u,d,f);if(t!==void 0)return t}}function ha(e,t,n,r,i,a,o,s,c,l,u,d,f){for(let p=d;p<=2;p++){let m=ma(p,p===d?f:0,e,t,n,r,i,a,o,s,c,l,u);if(m!==void 0)return m}}async function ga(e,t,n,r,i,a,o,s,c,l,u,d){let f=e;for(;f!==void 0;){if(f.phase===1)await f.pending;else{let e=f.phase===0;await fa(f.pending,e?S.CANNOT_DEACTIVATE:S.CANNOT_ACTIVATE,(e?r:i)[f.index-1])}f=ha(t,n,r,i,a,o,s,c,l,u,d,f.phase,f.index)}}function _a(e,t,n,r,i,a,o,s,c,l,u){let d=ha(e,t,n,r,i,a,o,s,c,l,u,0,0);return d===void 0?void 0:ga(d,e,t,n,r,i,a,o,s,c,l,u)}const va=Object.freeze,ya=Object.freeze([]),ba=new Map;function xa(e,t){return t?va({...e,replace:!0}):e}function Sa(e,t,n,r){return!!e&&!t&&!n&&e.path===r.path}function Ca(e,t){if(e.size===0)return!1;for(let n of t)if(e.has(n))return!0;return!1}function wa(e){let t=e.controller;if(t!==void 0)return t;let n=new AbortController;return e.cancelReason!==void 0&&n.abort(e.cancelReason),e.controller=n,n}function Ta(e,t){t.externalSignal===void 0||t.cancelReason!==void 0||!t.hasGuards||e.bridgeExternalSignal(t)}function Ea(e,t,n,r,i,a,o,s,c,l){Na(e,a);let u=e.hasLeaveListeners()||e.hasPreCommitListeners(),d={toState:t,fromState:n,opts:r,suspendable:i!==void 0||u,forceDeactivate:l,toDeactivate:ya,toActivate:ya,intersection:``,canDeactivateFunctions:ba,canActivateFunctions:ba,shouldDeactivate:!1,shouldActivate:!1,hasGuards:!1,controller:void 0,cancelReason:void 0,detachExternalBridge:void 0,externalSignal:i,reload:o,replace:s,redirected:c};if(!e.startTransition(d))throw q(new J(S.TRANSITION_CANCELLED));return d}function Da(e,t){return e.sendLeaveApprove(t),ra(e,t)}function Oa(e,t){let[n,r]=e.getLifecycleFunctions(),{toDeactivate:i,toActivate:a,intersection:o}=Fi(t.toState,t.fromState,t=>e.getMetaForState(t));t.canDeactivateFunctions=n,t.canActivateFunctions=r,t.toDeactivate=i,t.toActivate=a,t.intersection=o,t.shouldDeactivate=!!t.fromState&&!t.forceDeactivate&&i.length>0,t.shouldActivate=t.toState.name!==w.UNKNOWN_ROUTE&&a.length>0,t.hasGuards=t.shouldDeactivate&&Ca(n,i)||t.shouldActivate&&Ca(r,a)}function ka(e,t,n){let r,i;try{r=e.getState();let a=n.signal,o=a?.aborted===!0?a:void 0;n=Le(n);let s=n.reload,c=n.force,l=n.replace,u=n.redirected,d=n.forceDeactivate===!0,f=r?.name===w.UNKNOWN_ROUTE&&!l,p=f||l;if(n=xa(n,f),Sa(r,s,c,t))return e.emitTransitionError(t,r,qi),Zi;let m=Ea(e,t,r,n,a,o,s,p,u,d);i=m;let h=m.externalSignal;if(h?.aborted===!0&&e.cancelNavigation(h.reason),Oa(e,m),Ta(e,m),!m.hasGuards&&!m.suspendable)return Da(e,m);let{canDeactivateFunctions:g,canActivateFunctions:_,toDeactivate:v,toActivate:y,shouldDeactivate:b,shouldActivate:ee,hasGuards:x}=m,C=t;if(!x){let t=Ma(e,m);if(t!==void 0)return t}if(x){let n=wa(m),i=()=>!n.signal.aborted,a=n.signal,o=_a(g,_,v,y,b,ee,t,r,a,i,()=>{if(e.sendLeaveApprove(m),e.hasLeaveListeners())return e.awaitLeaveListeners(C,r,a)});if(o!==void 0)return Aa(e,o,m,n);if(!i())throw q(new J(S.TRANSITION_CANCELLED))}return ra(e,m)}catch(t){let n=ja(e,t,{nav:i,fromState:r});return Promise.reject(n)}}async function Aa(e,t,n,r){let i=()=>!r.signal.aborted,a=n.externalSignal,o,s=!1,c,l=new Promise(e=>{if(r.signal.aborted){e();return}o=()=>{e()},r.signal.addEventListener(`abort`,o,{once:!0})});t.catch(()=>{});try{if(a?.aborted)throw q(new J(S.TRANSITION_CANCELLED,{reason:a.reason}));if(await Promise.race([t,l]),!i())throw q(new J(S.TRANSITION_CANCELLED));let r=ra(e,n);return s=!0,r}catch(t){let r=i()?t:oa(t);throw c=r,sa(e,r,n.fromState,n),r}finally{o&&r.signal.removeEventListener(`abort`,o),s||r.abort(c)}}function ja(e,t,n){let{nav:r}=n;if(r?.controller?.abort(t),r!==void 0){let i=e.isTransitioning()?t:oa(t);return sa(e,i,n.fromState,r),i}return t}function Ma(e,t){let{toState:n,fromState:r}=t;if(e.hasLeaveListeners()&&wa(t),e.sendLeaveApprove(t),e.hasLeaveListeners()){let i=wa(t),a;try{a=e.awaitLeaveListeners(n,r,i.signal)}catch(e){throw i.abort(e),e}return a===void 0?void 0:Aa(e,a,t,i)}}function Na(e,t){if(e.isTransitioning()&&(e.logger.warn(`router.navigate`,`Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request.`),e.cancelNavigation()),t!==void 0)throw q(new J(S.TRANSITION_CANCELLED,{reason:t.reason}))}const Pa=Object.freeze,Fa=Object.freeze([w.UNKNOWN_ROUTE]),Ia=Object.freeze({replace:!0});function La(e,t,n){Na(e,void 0);let r=e.getState(),i=r?G(r.name).toReversed():[];Pa(i);let a={deactivated:i,activated:Fa,intersection:``};Pa(a);let o={phase:`activating`,...r&&{from:r.name},reason:`success`,replace:!0,segments:a};Pa(o);let s={name:w.UNKNOWN_ROUTE,params:x,search:T,path:t,transition:o,context:{}};if(Pa(s),n&&r!==void 0&&!e.canDeactivateCurrent(i,s,r)){let n=new J(S.CANNOT_DEACTIVATE,{path:t,message:`[router.navigateToNotFound] a canDeactivate guard on "${r.name}" refused to leave for ${t}`});throw e.emitTransitionError(void 0,r,n),q(n)}return e.systemCommit(s,r,Ia)}function Ra(e,t){return La(e,t,!0)}function za(e,t){return La(e,t,!1)}var Ba=class{#e;#t;#n=0;setDependencies(e){this.#e=e,this.#t=t=>{ea(t)||e.logger.error(`router.navigate`,`Unexpected navigation error`,t)}}navigate(e,t,n,r){return this.#r(this.#i(e,t,n,r))}navigateToState(e,t){return this.#r(this.#a(e,t))}navigateToDefault(e){return this.#r(this.#s(e))}navigateToNotFound(e){return Ra(this.#e,e)}revalidateToNotFound(e){return za(this.#e,e)}isPreparing(){return this.#n>0}#r(e){return e instanceof Promise&&!ta.has(e)&&e.catch(this.#t),e}#i(e,t,n,r){let i=this.#e;if(!i.canNavigate())return i.isStarting()?Qi:Yi;let a;this.#n++;try{a=i.buildNavigateState(e,t,n)}catch(e){return Promise.reject(e)}finally{this.#n--}return a?ka(this.#e,a,r):(i.emitTransitionError(void 0,i.getState(),Ki),Xi)}#a(e,n){let r=this.#e;if(!r.canNavigate())return r.isStarting()?Qi:Yi;if(e.name!==w.UNKNOWN_ROUTE&&!r.hasRoute(e.name)){let t=new J(S.ROUTE_NOT_FOUND,{routeName:e.name});return r.emitTransitionError(void 0,r.getState(),t),Promise.reject(t)}let i=t(e.params,r.getQueryParams(e.name));if(i!==void 0){let t=new J(S.WRONG_CHANNEL,{routeName:e.name,message:`[router.navigateToState] ${m(e.name,i,"`state.params`")}`});return r.emitTransitionError(void 0,r.getState(),t),Promise.reject(t)}let a;try{a=this.#o(e)}catch(e){return Promise.reject(e)}return ka(this.#e,a,n)}#o(e){return{name:e.name,params:A(e.params,x),search:A(e.search,T),path:e.path,context:{...e.context},transition:re}}#s(e){let t=this.#e;if(!t.getOptions().defaultRoute)return Promise.reject(new J(S.ROUTE_NOT_FOUND,{routeName:`defaultRoute not configured`}));let n,r,i;this.#n++;try{({route:n,params:r,search:i}=t.resolveDefault())}catch(e){return Promise.reject(e)}finally{this.#n--}return n?typeof n==`string`?this.#i(n,r,i,e):Promise.reject(new J(S.ROUTE_NOT_FOUND,{routeName:`defaultRoute did not resolve to a route name`})):Promise.reject(new J(S.ROUTE_NOT_FOUND,{routeName:`defaultRoute resolved to empty`}))}};const Va={},Ha=Object.freeze({replace:!0});function Ua(e){return[e,e?.reason].some(e=>e instanceof J&&e.code===S.ROUTE_NOT_FOUND)}var Wa=class{#e;setDependencies(e){this.#e=e}async start(e){let t=this.#e;if(t.isIdle())throw q(new J(S.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)throw q(new J(S.ROUTE_NOT_FOUND,{path:e}));if(t.completeStart(),r)try{return await t.navigateToState(r,Ha)}catch(r){if(!n.allowNotFound||!Ua(r))throw r;return t.navigateToNotFound(e)}return t.navigateToNotFound(e)}};const Ga={},Ka=Object.entries,qa=Object.hasOwn,Ja=Object.values,Ya=new WeakMap;function Xa(e,t,n){if(typeof n==`string`)return{target:n,when:void 0,update:void 0};if(n.when!==void 0&&typeof n.when!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].when is not a function`);if(n.update!==void 0&&typeof n.update!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].update is not a function`);return{target:n.target,when:n.when,update:n.update}}function Za(e){let t=Ya.get(e);if(t!==void 0)return t;let n=e,r=Object.create(null);for(let[e,t]of Ka(n)){let n=Object.create(null);for(let[r,i]of Ka(t))i!==void 0&&(n[r]=Xa(e,r,i));r[e]=n}for(let e of Ja(r))for(let t of Ja(e))if(t!==void 0&&r[t.target]===void 0)throw Error(`[FSM.constructor] state "${t.target}" is not declared in config.transitions`);return Ya.set(e,r),r}var Qa=class{#e;#t;#n=0;#r=null;#i;#a;#o=[];constructor(e){if(this.#e=e.initial,this.#i=e.context,this.#a=Za(e.transitions),this.#a[e.initial]===void 0)throw Error(`[FSM.constructor] state "${e.initial}" is not declared in config.transitions`);this.#t=this.#a[e.initial]}send(e,t){let n=this.#t[e];if(n===void 0)return this.#e;let r=t,i=n.when;if(i!==void 0&&!i(this.#i,r))return this.#e;let a=n.target,o=n.update,s=this.#e;if(this.#e=a,this.#t=this.#a[a],o?.(this.#i,r),this.#r!==null){let t=this.#r.get(s)?.get(e);t!==void 0&&t(r)}if(this.#n>0){let t={from:s,to:a,event:e,payload:r};for(let e of this.#o)e!==null&&e(t)}return this.#e}canSend(e,t){let n=this.#t[e];return n===void 0?!1:n.when===void 0||n.when(this.#i,t)}getState(){return this.#e}getContext(){return this.#i}on(e,t,n){let r=this.#a[e];if(r===void 0)throw Error(`[FSM.on] state "${e}" is not declared in config.transitions`);if(!qa(r,t))throw Error(`[FSM.on] event "${t}" has no edge from state "${e}"`);this.#r??=new Map;let i=this.#r.get(e);i||(i=new Map,this.#r.set(e,i));let a=n;return i.set(t,a),()=>{let n=this.#r?.get(e);n?.get(t)===a&&n.delete(t)}}onTransition(e){let t=this.#o.indexOf(null),n;t===-1?(n=this.#o.length,this.#o.push(e)):(this.#o[t]=e,n=t),this.#n++;let r=!0;return()=>{r&&(r=!1,this.#o[n]=null,this.#n--)}}};const X={IDLE:`IDLE`,STARTING:`STARTING`,READY:`READY`,TRANSITION_STARTED:`TRANSITION_STARTED`,LEAVE_APPROVED:`LEAVE_APPROVED`,DISPOSED:`DISPOSED`},Z={START:`START`,STARTED:`STARTED`,NAVIGATE:`NAVIGATE`,LEAVE_APPROVE:`LEAVE_APPROVE`,COMPLETE:`COMPLETE`,FAIL:`FAIL`,CANCEL:`CANCEL`,STOP:`STOP`,DISPOSE:`DISPOSE`,SYSTEM_COMMIT:`SYSTEM_COMMIT`};function $a(){return{inflight:void 0,current:void 0,previous:void 0}}const eo=(e,t)=>t?.nav===void 0||t.nav===e.inflight,to=(e,t)=>t!==void 0&&t===e.inflight&&t.externalSignal?.aborted!==!0,no=(e,t)=>{e.previous=e.current,e.current=Ne(t)},ro=(e,t)=>{no(e,t.toState),e.inflight=void 0},io=(e,t)=>{no(e,t.toState)},ao=e=>{e.previous=e.current,e.current=void 0},Q=e=>{e.current=void 0,e.previous=void 0,e.inflight=void 0},oo=(e,t)=>{e.inflight=t},so={[X.IDLE]:{[Z.START]:X.STARTING,[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.STARTING]:{[Z.STARTED]:X.READY,[Z.FAIL]:X.IDLE,[Z.STOP]:{target:X.IDLE,update:ao},[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.READY]:{[Z.NAVIGATE]:{target:X.TRANSITION_STARTED,update:oo},[Z.SYSTEM_COMMIT]:{target:X.READY,update:io},[Z.STOP]:{target:X.IDLE,update:ao},[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.TRANSITION_STARTED]:{[Z.NAVIGATE]:{target:X.TRANSITION_STARTED,update:oo},[Z.LEAVE_APPROVE]:X.LEAVE_APPROVED,[Z.CANCEL]:X.READY,[Z.FAIL]:{target:X.READY,when:eo},[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.LEAVE_APPROVED]:{[Z.NAVIGATE]:{target:X.TRANSITION_STARTED,update:oo},[Z.COMPLETE]:{target:X.READY,when:to,update:ro},[Z.CANCEL]:X.READY,[Z.FAIL]:{target:X.READY,when:eo},[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.DISPOSED]:{}};function co(){return new Qa({initial:X.IDLE,context:$a(),transitions:so})}const lo=`TREE_CHANGED`;function uo(e){return e instanceof Error?e:Error(String(e))}function fo(e,t,n){return new Promise((r,i)=>{let a=()=>{let e=n.reason;i(e instanceof J&&e.code===S.TRANSITION_CANCELLED?e:new J(S.TRANSITION_CANCELLED,{reason:e}))};if(n.aborted){a();return}n.addEventListener(`abort`,a,{once:!0}),Promise.allSettled(e).then(e=>{if(n.removeEventListener(`abort`,a),n.aborted)return;if(t!==void 0){i(uo(t));return}let o=e.find(e=>e.status===`rejected`);if(o!==void 0){i(uo(o.reason));return}r()})})}function po(e,t,n){return e.addEventListener(`abort`,t,{once:!0}),()=>{n(),e.removeEventListener(`abort`,t)}}var mo=class{#e;#t;#n;#r=[];#i=0;constructor(e){this.#e=e.routerFSM,this.#t=e.emitter,this.#s()}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.#i++;try{this.#t.emit(b.ROUTER_START)}finally{this.#i--}}emitRouterStop(){this.#t.emit(b.ROUTER_STOP)}emitTransitionStart(e,t,n){this.#i++;try{this.#t.emit(b.TRANSITION_START,e,t)}finally{this.#i--}}emitTransitionSuccess(e,t,n){this.#i++;try{this.#t.emit(b.TRANSITION_SUCCESS,e,t,n)}finally{this.#i--}}emitTransitionError(e,t,n){this.#i++;try{this.#t.emit(b.TRANSITION_ERROR,e,t,n)}finally{this.#i--}}emitTransitionCancel(e,t){this.#i++;try{this.#t.emit(b.TRANSITION_CANCEL,e,t)}finally{this.#i--}}emitTransitionLeaveApprove(e,t){this.#i++;try{this.#t.emit(b.TRANSITION_LEAVE_APPROVE,e,t)}finally{this.#i--}}isProcessing(){return this.#i>0}emitTreeChanged(e){this.#t.emit(lo,e)}isEmittingTreeChanged(){return this.#t.isDispatching(lo)}subscribeTreeChanged(e){if(this.isDisposed())throw q(new J(S.ROUTER_DISPOSED));return this.#t.on(lo,t=>{e(t)})}treeChangedListenerCount(){return this.#t.listenerCount(lo)}sendStart(){this.#e.send(Z.START)}sendStop(){this.#e.send(Z.STOP)}sendDispose(){this.#e.send(Z.DISPOSE)}sendStarted(){this.#e.send(Z.STARTED)}sendNavigate(e){return this.#e.send(Z.NAVIGATE,e)===X.TRANSITION_STARTED}canCommitTransition(e){return this.#e.canSend(Z.COMPLETE,e)}sendComplete(e){this.#e.send(Z.COMPLETE,e)}sendLeaveApprove(e){this.#e.send(Z.LEAVE_APPROVE,e)}sendFail(e,t,n){this.#e.send(Z.FAIL,{nav:n,fromState:e,error:t})}sendCancel(e,t){this.#e.send(Z.CANCEL,{fromState:e,reason:t})}systemCommit(e){let{toState:t}=e,n={name:t.name,params:A(t.params,x),search:A(t.search,T),path:t.path,context:{...t.context},...t.transition!==void 0&&{transition:A(t.transition,x)}};if(!this.#e.canSend(Z.SYSTEM_COMMIT))throw this.#o();return this.#e.send(Z.SYSTEM_COMMIT,{...e,toState:n}),n}canBeginTransition(){return this.#e.canSend(Z.NAVIGATE)}canStart(){return this.#e.canSend(Z.START)}canCancel(){return this.#e.canSend(Z.CANCEL)}isActive(){let e=this.#e.getState();return e!==X.IDLE&&e!==X.DISPOSED}isDisposed(){return this.#e.getState()===X.DISPOSED}isTransitioning(){let e=this.#e.getState();return e===X.TRANSITION_STARTED||e===X.LEAVE_APPROVED}isLeaveApproved(){return this.#e.getState()===X.LEAVE_APPROVED}isReady(){return this.#e.getState()===X.READY}isStarting(){return this.#e.getState()===X.STARTING}isIdle(){return this.#e.getState()===X.IDLE}addEventListener(e,t){return this.#a(e,`addEventListener`),this.#t.on(e,t)}subscribe(e){if(this.isDisposed())throw q(new J(S.ROUTER_DISPOSED));return this.#a(b.TRANSITION_SUCCESS,`subscribe`),this.#t.on(b.TRANSITION_SUCCESS,(t,n)=>e({route:t,previousRoute:n}))}subscribeLeave(e){if(this.isDisposed())throw q(new J(S.ROUTER_DISPOSED));this.#r.push(e);let t=!1;return()=>{if(t)return;t=!0;let n=this.#r.indexOf(e);n!==-1&&this.#r.splice(n,1)}}hasLeaveListeners(){return this.#r.length>0}hasPreCommitListeners(){return this.#t.listenerCount(b.TRANSITION_START)>0||this.#t.listenerCount(b.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.#r];this.#i++;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.#i--}if(i===void 0){if(a!==void 0)throw uo(a);return}return fo(i,a,n)}clearAll(){this.#t.clearAll(),this.#r.length=0}setLimits(e){this.#t.setLimits(e)}setValidatorAccessor(e){this.#n=e}sendCancelIfPossible(e,t){this.canCancel()&&this.sendCancel(e,t)}bridgeExternalSignal(e){let t=e.externalSignal;return t===void 0||e.detachExternalBridge!==void 0||(e.detachExternalBridge=po(t,()=>{this.sendCancelIfPossible(this.#e.getContext().current,t.reason)},()=>{e.detachExternalBridge=void 0})),Ga}#a(e,t){let n=this.#n?.();n&&n.eventBus.validateCountThresholds(this.#t.listenerCount(e)+1,e,t)}#o(){if(this.isDisposed())return new J(S.ROUTER_DISPOSED);let e;return e=this.isTransitioning()?`[router] cannot commit a state while a transition is in flight — the navigation in progress commits its own`:this.isStarting()?`[router] cannot commit before the start navigation does — the boot would overwrite it; await start() first`:`[router] cannot commit a state before the router has started`,new J(S.ROUTER_NOT_STARTED,{message:e})}#s(){let e=this.#e;e.on(X.STARTING,Z.STARTED,()=>{this.emitRouterStart()}),e.on(X.READY,Z.STOP,()=>{this.emitRouterStop()});let t=e=>{let t=e.externalSignal!==void 0&&(this.hasLeaveListeners()||this.hasPreCommitListeners())?this.bridgeExternalSignal(e):Ga;this.emitTransitionStart(e.toState,e.fromState,t)};e.on(X.READY,Z.NAVIGATE,t),e.on(X.TRANSITION_STARTED,Z.NAVIGATE,t),e.on(X.LEAVE_APPROVED,Z.NAVIGATE,t),e.on(X.TRANSITION_STARTED,Z.LEAVE_APPROVE,e=>{this.emitTransitionLeaveApprove(e.toState,e.fromState)}),e.on(X.LEAVE_APPROVED,Z.COMPLETE,e=>{e.detachExternalBridge?.(),this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let n=e=>{let{fromState:t,reason:n}=e,r=this.#e.getContext().inflight,i=n??new J(S.TRANSITION_CANCELLED);r.cancelReason=i,r.controller?.abort(i),r.detachExternalBridge?.(),this.emitTransitionCancel(r.toState,t)};e.on(X.TRANSITION_STARTED,Z.CANCEL,n),e.on(X.LEAVE_APPROVED,Z.CANCEL,n),e.on(X.READY,Z.SYSTEM_COMMIT,e=>{this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let r=e=>{let t=this.#e.getContext().inflight;t?.detachExternalBridge?.(),this.emitTransitionError(t?.toState,e.fromState,e.error)};e.on(X.LEAVE_APPROVED,Z.FAIL,r),e.on(X.TRANSITION_STARTED,Z.FAIL,r),e.on(X.STARTING,Z.FAIL,e=>{this.emitTransitionError(void 0,e.fromState,e.error)})}};const ho=new J(S.ROUTER_ALREADY_STARTED);Object.freeze(ho);const go={maxListeners:0,warnListeners:0};var _o=class{#e=new Map;#t=new Set;#n=null;#r=go;#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;this.#o(e,s,o,t,n,r,i)}else{let s=[...a];for(let a of s)this.#o(e,a,o,t,n,r,i)}}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,o){try{let s=this.#s(t,n,r,i,a,o);s!=null&&typeof s.then==`function`&&Promise.resolve(s).catch(t=>{this.#i?.(e,t)})}catch(t){this.#i?.(e,t)}}#s(e,t,n,r,i,a){switch(t){case 0:return e();case 1:return e(n);case 2:return e(n,r);case 3:return e(n,r,i);default:return e(n,r,i,a)}}};const vo=Object.freeze({log:0,warn:1,error:2}),yo=Object.freeze({all:0,"warn-error":1,"error-only":2,none:3}),bo=Object.hasOwn;var xo=class{#e={level:`all`,callbackIgnoresLevel:!1};#t=0;#n=!1;constructor(e){e&&this.configure(e)}configure(e){let t=Ee(e),n=t.level;n!==void 0&&(this.#e.level=n,this.#t=yo[n]),bo(t,`callback`)&&(this.#e.callback=t.callback),t.callbackIgnoresLevel!==void 0&&(this.#e.callbackIgnoresLevel=t.callbackIgnoresLevel)}getConfig(){return{level:this.#e.level,callback:this.#e.callback,callbackIgnoresLevel:this.#e.callbackIgnoresLevel}}log(e,t,...n){this.#r(`log`,e,t,n)}warn(e,t,...n){this.#r(`warn`,e,t,n)}error(e,t,...n){this.#r(`error`,e,t,n)}#r(e,t,n,r){if(this.#e.level===`none`&&!this.#e.callbackIgnoresLevel)return;let i=vo[e]<this.#t;i||this.#i(e,t,n,r),this.#a(e,t,n,i,r)}#i(e,t,n,r){if(typeof console<`u`&&typeof console[e]==`function`){let i=t?`[${t}] ${n}`:n;console[e](i,...r)}}#a(e,t,n,r,i){if(!(!this.#e.callback||!this.#e.callbackIgnoresLevel&&r)&&!this.#n){this.#n=!0;try{let r=this.#e.callback(e,t,n,...i);r!=null&&typeof r.then==`function`&&Promise.resolve(r).catch(e=>{this.#o(`[Logger] Error in async callback:`,e)})}catch(e){this.#o(`[Logger] Error in callback:`,e)}finally{this.#n=!1}}}#o(e,t){typeof console<`u`&&typeof console.error==`function`&&console.error(e,t)}};function So(e){let t=Co(e),n=ko(e),r=()=>o(e.router).validator;wo(e),To(e,r),Eo(e,t,r),Do(e,n,r),Oo(e,t,r),Ao(e,n),jo(e),Mo(e,n)}function Co(e){let{router:t,dependenciesStore:n}=e,r=e=>n.dependencies[e];return e=>e(t,r)}function wo(e){e.dependenciesStore.limits=e.limits,e.eventBus.setLimits({maxListeners:e.limits.maxListeners,warnListeners:e.limits.warnListeners})}function To(e,t){e.eventBus.setValidatorAccessor(t)}function Eo(e,t,n){let r={logger:o(e.router).logger,compileFactory:t,getValidator:n};e.routeLifecycle.setDependencies(r)}function Do(e,t,n){let r={logger:o(e.router).logger,getValidator:n,port:t,addActivateGuard:(t,n,r)=>{e.routeLifecycle.addCanActivate(t,n,!0,r)},addDeactivateGuard:(t,n,r)=>{e.routeLifecycle.addCanDeactivate(t,n,!0,r)},compileGuard:(t,n)=>e.routeLifecycle.compileGuardFactory(t,n),getState:()=>e.state.get(),areStatesEqual:(t,n,r)=>e.state.areStatesEqual(t,n,r),getDependency:t=>e.dependenciesStore.dependencies[t]};e.routes.setDependencies(r),e.routes.setLifecycleNamespace(e.routeLifecycle)}function Oo(e,t,n){let r={logger:o(e.router).logger,addEventListener:(t,n)=>e.eventBus.addEventListener(t,n),canNavigate:()=>e.eventBus.canBeginTransition(),compileFactory:t,getValidator:n};e.plugins.setDependencies(r)}function ko(e){let t=o(e.router),n=e.routes.getStore(),r=(e,n)=>{t.validator?.state.reportUndeclaredParamKey(e,n)},i=(e,n)=>{t.validator?.state.reportDroppedQueryKey(e,n)};return{resolveForward:(e,n,r)=>t.forwardState(e,n,r),defaultParams:e=>n.config.defaultParams[e],defaultSearch:e=>n.config.defaultSearch[e],buildPath:(e,n,r)=>t.buildPath(e,n,r),queryNames:t=>e.routes.getQueryParams(t),pathNames:t=>e.routes.hasRoute(t)?e.routes.getUrlParams(t):void 0,admitsUndeclaredQuery:()=>e.options.get().queryParamsMode===`loose`,get reportDroppedQueryKey(){return t.validator?i:void 0},get reportUndeclaredParamKey(){return t.validator?r:void 0}}}function Ao(e,t){let n={logger:o(e.router).logger,getOptions:()=>e.options.get(),hasRoute:t=>e.routes.hasRoute(t),getQueryParams:t=>e.routes.getQueryParams(t),getMetaForState:t=>e.routes.getMetaForState(t),getState:()=>e.state.get(),buildNavigateState:(n,r,i)=>{o(e.router).validator?.routes.validateStateBuilderArgs(n,r,`navigate`);let a=I(t,n,r,i,{diagnoseUndeclared:!0});if(e.routes.getMetaForState(a.name)!==void 0)return h(`navigate`,a.name,a.path,t.queryNames(a.name)),rr(a,$n(a,t))},resolveDefault:()=>{let t=e.options.get(),n=o(e.router),r=qn(t.defaultRoute,t=>e.dependenciesStore.dependencies[t]),i=qn(t.defaultParams,t=>e.dependenciesStore.dependencies[t]),a=qn(t.defaultSearch,t=>e.dependenciesStore.dependencies[t]);return typeof t.defaultRoute==`function`&&n.validator?.options.validateResolvedDefaultRoute(r,n.routeGetStore()),{route:r,params:i,search:a}},startTransition:t=>e.eventBus.sendNavigate(t),systemCommit:(t,n,r)=>e.eventBus.systemCommit({toState:t,fromState:n,opts:r}),cancelNavigation:t=>{e.eventBus.sendCancelIfPossible(e.state.get(),t)},bridgeExternalSignal:t=>{e.eventBus.bridgeExternalSignal(t)},canCommitTransition:t=>e.eventBus.canCommitTransition(t)?Va:void 0,sendTransitionDone:t=>{e.eventBus.sendComplete(t)},sendTransitionFail:(t,n,r)=>{e.eventBus.sendFail(t,n,r)},emitTransitionError:(t,n,r)=>{e.eventBus.emitTransitionError(t,n,r)},sendLeaveApprove:t=>{e.eventBus.sendLeaveApprove(t)},canNavigate:()=>e.eventBus.canBeginTransition(),isStarting:()=>e.eventBus.isStarting(),getLifecycleFunctions:()=>e.routeLifecycle.getFunctions(),canDeactivateCurrent:(t,n,r)=>e.routeLifecycle.canNavigateTo(t,[],n,r),isTransitioning:()=>e.eventBus.isTransitioning(),clearCanDeactivate:(t,n)=>{e.routeLifecycle.clearCanDeactivate(t,`external`)},hasLeaveListeners:()=>e.eventBus.hasLeaveListeners(),hasPreCommitListeners:()=>e.eventBus.hasPreCommitListeners(),awaitLeaveListeners:(t,n,r)=>e.eventBus.awaitLeaveListeners(t,n,r)};e.navigation.setDependencies(n)}function jo(e){e.lifecycle.setDependencies({getOptions:()=>e.options.get(),navigateToState:(t,n)=>e.navigation.navigateToState(t,n),navigateToNotFound:t=>e.navigation.navigateToNotFound(t),matchPath:t=>e.routes.matchPath(t,e.options.get()),completeStart:()=>{e.eventBus.sendStarted()},isIdle:()=>e.eventBus.isIdle()})}function Mo(e,t){e.state.setDependencies({port:()=>t,getUrlParams:t=>e.routes.getUrlParams(t)})}const No=Object.keys,Po=Object.freeze;var Fo=class n{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;constructor(e=[],t={},r={}){let{logger:i,...o}=t,c=new xo(i?Ee(i):void 0);this.#d=e=>{ea(e)||c.error(`router.start`,`Unexpected start error`,e)},Yn.validateOptionsIsObject(t),_e(r),e.length>0&&ye(e),this.#e=new Yn(o),this.#t=ze(o.limits),this.#n=o.limits==null?void 0:Po(No(o.limits)),this.#r=Be(r),this.#i=new ir,this.#a=new Ri(e,Bo(this.#e.get()),c),this.#o=new _r,this.#s=new ur,this.#c=new Ba,this.#l=new Wa;let u=co();this.#i.setContext(u.getContext());let d=new _o({onListenerError:(e,t)=>{c.error(`Router`,`Error in listener for ${e}:`,t)},onListenerWarn:(e,t)=>{c.warn(`router.addEventListener`,`Event "${e}" has ${t} listeners — possible memory leak`)}});this.#u=new mo({routerFSM:u,emitter:d});let f=new Map,m=s(`forwardState`,(e,t,n)=>this.#a.forwardState(e,t,n),f,e=>{let t=e.params,n=e.search;return{name:e.name,params:t==null?t:M(t),search:n==null?n:M(n)}});a(this,{logger:c,makeState:(e,t,n,r)=>this.#i.makeState(e,t,n,r),getMetaForState:e=>this.#a.getMetaForState(e),getQueryParams:e=>this.#a.getQueryParams(e),forwardState:((e,t,n)=>{let r=m(e,t,n),i=r.name,a=r.params;p(`forwardState`,i,a,this.#a.getQueryParams(i),()=>i===e?"the `params` bag leaving the forwardState chain":`the \`params\` bag leaving the forwardState chain (forwarded here from "${e}")`);let o=r.search,s=o==null;return{name:i,params:M(a??x),search:s?o:M(o)}}),buildStateResolved:(e,t)=>this.#a.buildStateResolved(e,t),port:()=>this.#a.getPort(),matchPath:(e,t)=>this.#a.matchPath(e,t),getOptions:()=>this.#e.get(),addEventListener:(e,t)=>this.#u.addEventListener(e,t),treeChanged:{emit:e=>{this.#u.emitTreeChanged(e)},subscribe:e=>this.#u.subscribeTreeChanged(e),listenerCount:()=>this.#u.treeChangedListenerCount(),isEmitting:()=>this.#u.isEmittingTreeChanged()},buildPath:s(`buildPath`,(e,t,n)=>this.#a.buildPath(e,t??x,n,this.#e.get()),f),emitTransitionError:e=>{this.#u.emitTransitionError(void 0,this.#i.get(),e)},navigateToNotFound:e=>this.#c.navigateToNotFound(e),revalidateToNotFound:e=>this.#c.revalidateToNotFound(e),start:l(`start`,e=>this.#l.start(e),f),navigateToState:(e,t)=>(this.#m(),n.#f(this.#c.navigateToState(e,t??_))),interceptors:f,setRootPath:e=>{this.#a.setRootPath(e)},getRootPath:()=>this.#a.getStore().rootPath,getTree:()=>this.#a.getStore().tree,isDisposed:()=>this.#u.isDisposed(),validator:null,dependenciesGetStore:()=>this.#r,getCloneState:()=>({options:{...this.#e.get()},dependencies:Re({...this.#r.dependencies}),pluginFactories:this.#s.getAll(),loggerConfig:c.getConfig(),limits:this.#t,limitKeys:this.#n}),routeGetStore:()=>this.#a.getStore(),getStateName:()=>this.#i.get()?.name,isTransitioning:()=>this.#u.isTransitioning(),systemCommit:(e,t,n)=>this.#u.systemCommit({toState:e,fromState:t,opts:n}),routerExtensions:[],contextClaimRecords:new Set,hydrationState:null}),So({router:this,options:this.#e,limits:this.#t,dependenciesStore:this.#r,state:this.#i,routes:this.#a,routeLifecycle:this.#o,plugins:this.#s,navigation:this.#c,lifecycle:this.#l,eventBus:this.#u}),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.#a.flushPendingGuards()}catch(e){throw this.dispose(),e}}isActiveRoute(e,t,n,r,i){return o(this).validator?.routes.validateIsActiveRouteArgs(e,t,r,i),o(this).validator?.routes.validateRouteName(e,`isActiveRoute`),e===``?(o(this).logger.warn(`real-router`,`isActiveRoute("") called with empty string. Root node is not considered a parent of any route.`),!1):this.#a.isActiveRoute(e,t,n,r,i)}buildPath(e,t,n){let r=o(this);return r.validator?.routes.validateBuildPathArgs(e),r.validator?.navigation.validateParams(t,`buildPath`),this.#a.buildPathFromIntent(e,j(t,x),n)}getState(){return this.#i.get()}getPreviousState(){return this.#i.getPrevious()}areStatesEqual(e,t,n=!0){return o(this).validator?.state.validateAreStatesEqualArgs(e,t,n),this.#i.areStatesEqual(e,t,n)}shouldUpdateNode(e){return o(this).validator?.routes.validateShouldUpdateNodeArgs(e),Ri.shouldUpdateNode(e,e=>this.#a.getMetaForState(e))}isActive(){return this.#u.isActive()}start(e){let t=this.#p(e);return t.catch(this.#d),t}stop(){return this.#u.sendCancelIfPossible(this.#i.get()),!this.#u.isReady()&&!this.#u.isTransitioning()&&!this.#u.isStarting()||this.#u.sendStop(),this}dispose(){if(this.#u.isDisposed())return;this.#u.sendCancelIfPossible(this.#i.get()),(this.#u.isReady()||this.#u.isTransitioning())&&this.#u.sendStop(),this.#u.sendDispose(),this.#u.clearAll(),this.#s.disposeAll();let e=o(this);for(let t of e.routerExtensions)for(let e of t.keys)delete this[e];e.routerExtensions.length=0,e.contextClaimRecords.clear(),e.interceptors.clear(),this.#a.clearRoutes(),this.#o.clearAll(),this.#r.dependencies=Object.create(null),this.#g()}canNavigateTo(e,n,r){let i=o(this);if(i.validator?.routes.validateRouteName(e,`canNavigateTo`),i.validator?.navigation.validateParams(n,`canNavigateTo`),!this.#a.hasRoute(e)||t(n,this.#a.getQueryParams(e))!==void 0)return!1;let a=this.#a.getPort(),s;try{s=I(a,e,n??x,r)}catch(t){return i.logger.warn(`router.canNavigateTo`,`Resolving route "${e}" threw while answering the predicate; treating the route as unreachable.`,t),!1}let c;try{c=rr(s,L(s,a))}catch{return!1}let l=this.#i.get(),{toDeactivate:u,toActivate:d}=Fi(c,l,e=>this.#a.getMetaForState(e));return this.#o.canNavigateTo(u,d,c,l)}usePlugin(...e){if(this.#u.isDisposed())throw q(new J(S.ROUTER_DISPOSED));let t=e.filter(Boolean);if(t.length===0)return()=>{};let n=o(this);n.validator?.plugins.validatePluginLimit(this.#s.count(),this.#t);for(let e of t)n.validator?.plugins.validateNoDuplicatePlugins(e,this.#s.getAll());return this.#s.use(...t)}subscribe(e){return mo.validateSubscribeListener(e),this.#u.subscribe(e)}subscribeLeave(e){return mo.validateSubscribeLeaveListener(e),this.#u.subscribeLeave(e)}isLeaveApproved(){return this.#u.isLeaveApproved()}navigate(t,r,i,a){this.#m();let s=o(this),c,l,u,d;return typeof t==`object`&&t?(c=t.name,l=t.params,u=t.search,d=r??_):(c=t,l=r,u=i,d=a??_),e(s,`navigate`,c,l),s.validator?.navigation.validateNavigateArgs(c),s.validator?.navigation.validateParams(l,`navigate`),s.validator?.navigation.validateNavigationOptions(d,`navigate`),n.#f(this.#c.navigate(c,l??x,u,d))}navigateToDefault(e){this.#m();let t=o(this);t.validator?.navigation.validateNavigateToDefaultArgs(e);let r=e??_;return t.validator?.navigation.validateNavigationOptions(r,`navigateToDefault`),n.#f(this.#c.navigateToDefault(r))}navigateToNotFound(e){if(this.#m(),!this.#u.isActive())throw q(new J(S.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.#c.navigateToNotFound(e);let t=this.#i.get();if(t===void 0)throw q(new J(S.ROUTER_NOT_STARTED,{message:`[router.navigateToNotFound] cannot derive the path before the start navigation commits — pass an explicit path`}));return this.#c.navigateToNotFound(t.path)}static#f(e){return e instanceof Promise?e:Promise.resolve(e)}#p(e){if(!this.#u.canStart())return Promise.reject(ho);o(this).validator?.navigation.validateStartArgs(e),this.#u.sendStart();let t;try{let n=o(this).start(e);t=typeof n?.then==`function`?n:Promise.reject(TypeError("[router.start] a `start` interceptor returned without calling next(). Every start interceptor must return `next(path)`."))}catch(e){t=Promise.reject(e)}return t.catch(e=>this.#h(e))}#m(){if(this.#u.isProcessing())throw q(new J(S.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a router event listener — the nested navigation would commit a state the outer one overwrites. Defer it: queueMicrotask(() => router.navigate(...)), await the current transition, or use an async listener.`}));if(this.#c.isPreparing())throw q(new J(S.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a forwardState/buildPath interceptor, a route's encodeParams or dynamic forwardTo callback, or a defaultRoute/defaultParams/defaultSearch option callback — they run while a navigation is being prepared, before it is announced. Defer it: queueMicrotask(() => router.navigate(...)).`}))}#h(e){throw this.#u.isReady()&&this.#i.get()===void 0?this.#u.sendStop():this.#u.isStarting()&&this.#u.sendFail(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 q(new J(S.ROUTER_DISPOSED))}const Io=Object.freeze({});function Lo(e,t){let n;try{n=t[e]}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": reading it threw.`,{cause:t})}if(n!=null){if(typeof n==`string`)return n;try{return String(n)}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": its value cannot be converted to a string.`,{cause:t})}}}function Ro(e){if(e==null)return`default`;try{return String(e)}catch(e){throw TypeError(`[router.constructor] Invalid "urlParamsEncoding": coercing it threw.`,{cause:e})}}function zo(e){if(!e)return Io;let t=Lo(`arrayFormat`,e),n=Lo(`booleanFormat`,e),r=Lo(`nullFormat`,e),i=Lo(`numberFormat`,e);return Object.freeze({...t!==void 0&&{arrayFormat:t},...n!==void 0&&{booleanFormat:n},...r!==void 0&&{nullFormat:r},...i!==void 0&&{numberFormat:i}})}function Bo(e){return Object.freeze({strictTrailingSlash:e.trailingSlash===`strict`,caseSensitive:e.caseSensitive,strictQueryParams:e.queryParamsMode===`strict`,urlParamsEncoding:Ro(e.urlParamsEncoding),queryParams:zo(e.queryParams)})}export{un as A,Sr as C,$n as D,nr as E,ye as M,ve as N,I as O,Ir as S,Or as T,Wr as _,B as a,ei as b,U as c,V as d,ri as f,fi as g,ci as h,Fi as i,Re as j,ln as k,ni as l,si as m,J as n,di as o,H as p,q as r,ai as s,Fo as t,ii as u,ui as v,kr as w,Lr as x,Gr as y};
|
|
2
|
+
//# sourceMappingURL=Router-D6UVHXHp.mjs.map
|