@real-router/core 0.108.1 → 0.108.2

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.
Files changed (41) hide show
  1. package/dist/cjs/Router-B7YxrGSr.js +2 -0
  2. package/dist/cjs/Router-B7YxrGSr.js.map +1 -0
  3. package/dist/cjs/Router.d.ts.map +1 -1
  4. package/dist/cjs/RouterError.d.ts.map +1 -1
  5. package/dist/cjs/api.js +1 -1
  6. package/dist/cjs/api.js.map +1 -1
  7. package/dist/cjs/{buildParamMeta-B9Pnu-Wi.js → buildParamMeta-CiLJsTgP.js} +2 -2
  8. package/dist/cjs/{buildParamMeta-B9Pnu-Wi.js.map → buildParamMeta-CiLJsTgP.js.map} +1 -1
  9. package/dist/cjs/constants.d.ts.map +1 -1
  10. package/dist/cjs/index.js +1 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/ingest-B7dZDSyF.js +2 -0
  13. package/dist/cjs/ingest-B7dZDSyF.js.map +1 -0
  14. package/dist/cjs/utils/ingest.d.ts.map +1 -1
  15. package/dist/cjs/utils.js +1 -1
  16. package/dist/cjs/validation.js +1 -1
  17. package/dist/esm/Router-DwYbAUzA.mjs +2 -0
  18. package/dist/esm/Router-DwYbAUzA.mjs.map +1 -0
  19. package/dist/esm/Router.d.mts.map +1 -1
  20. package/dist/esm/RouterError.d.mts.map +1 -1
  21. package/dist/esm/api.mjs +1 -1
  22. package/dist/esm/api.mjs.map +1 -1
  23. package/dist/esm/{buildParamMeta-BGu_pzH6.mjs → buildParamMeta-C7lPtip_.mjs} +2 -2
  24. package/dist/esm/{buildParamMeta-BGu_pzH6.mjs.map → buildParamMeta-C7lPtip_.mjs.map} +1 -1
  25. package/dist/esm/constants.d.mts.map +1 -1
  26. package/dist/esm/index.mjs +1 -1
  27. package/dist/esm/index.mjs.map +1 -1
  28. package/dist/esm/ingest-C7RmzkLN.mjs +2 -0
  29. package/dist/esm/ingest-C7RmzkLN.mjs.map +1 -0
  30. package/dist/esm/utils/ingest.d.mts.map +1 -1
  31. package/dist/esm/utils.mjs +1 -1
  32. package/dist/esm/validation.mjs +1 -1
  33. package/package.json +1 -1
  34. package/dist/cjs/Router-CWJsuE71.js +0 -2
  35. package/dist/cjs/Router-CWJsuE71.js.map +0 -1
  36. package/dist/cjs/ingest-BxYUIEAj.js +0 -2
  37. package/dist/cjs/ingest-BxYUIEAj.js.map +0 -1
  38. package/dist/esm/Router-BzdMQwFl.mjs +0 -2
  39. package/dist/esm/Router-BzdMQwFl.mjs.map +0 -1
  40. package/dist/esm/ingest-CR-wWB0O.mjs +0 -2
  41. package/dist/esm/ingest-CR-wWB0O.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.mts","names":[],"sources":["../../src/Router.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;cAoFa,OACX,qBAAqB,sBAAsB,gCAChC,SAAgB;;GAC1B;;;;;;EA4CC,YAAA,SAAQ,MAAM,iBACd,UAAS,QAAQ,QAAQ,gBACzB,eAAc;EAwYhB,cACE,cACA,SAAS,QACT,SAAS,cACT,0BACA;EAmCF,UAAU,eAAe,SAAS,QAAQ,SAAS;EA6BnD,SAAS,UAAU,SAAS,WAAW,MAAM;EAI7C,oBAAoB;EAIpB,eACE,QAAQ,mBACR,QAAQ,mBACR;EAWF,iBACE,oBACE,SAAS,OAAO,YAAY;EAYhC;;;;;;;;;;;;;;EAiBA,MAAM,oBAAoB,QAAQ;EAQlC;EAyBA;EAoDA,cAAc,cAAc,SAAS,QAAQ,SAAS;EAuItD,aACK,UAAU,cAAc,8CAC1B;EAyCH,UAAU,UAAU,cAAc;EAMlC,eAAe,UAAU,UAAU;EAMnC;EAQA,SACE,QAAQ,kBACR,UAAU,oBACT,QAAQ;EACX,SACE,mBACA,cAAc,QACd,cAAc,cACd,UAAU,oBACT,QAAQ;EAqDX,kBAAkB,UAAU,oBAAoB,QAAQ;EAiBxD,mBAAmB,gBAAgB"}
1
+ {"version":3,"file":"Router.d.mts","names":[],"sources":["../../src/Router.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;cAoFa,OACX,qBAAqB,sBAAsB,gCAChC,SAAgB;;GAC1B;;;;;;EA4CC,YAAA,SAAQ,MAAM,iBACd,UAAS,QAAQ,QAAQ,gBACzB,eAAc;EAuZhB,cACE,cACA,SAAS,QACT,SAAS,cACT,0BACA;EAmCF,UAAU,eAAe,SAAS,QAAQ,SAAS;EA6BnD,SAAS,UAAU,SAAS,WAAW,MAAM;EAI7C,oBAAoB;EAIpB,eACE,QAAQ,mBACR,QAAQ,mBACR;EAWF,iBACE,oBACE,SAAS,OAAO,YAAY;EAYhC;;;;;;;;;;;;;;EAiBA,MAAM,oBAAoB,QAAQ;EAQlC;EAyBA;EAoDA,cAAc,cAAc,SAAS,QAAQ,SAAS;EAuItD,aACK,UAAU,cAAc,8CAC1B;EAyCH,UAAU,UAAU,cAAc;EAMlC,eAAe,UAAU,UAAU;EAMnC;EAQA,SACE,QAAQ,kBACR,UAAU,oBACT,QAAQ;EACX,SACE,mBACA,cAAc,QACd,cAAc,cACd,UAAU,oBACT,QAAQ;EAqDX,kBAAkB,UAAU,oBAAoB,QAAQ;EAiBxD,mBAAmB,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"RouterError.d.mts","names":[],"sources":["../../src/RouterError.ts"],"mappings":";cA2Ca,oBAAoB;GAC9B;WAIQ;WACA;EAIT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCE,YAAA,gBAEE,SACA,SACA,SACG;KAEF;IACD;IACA;IACA;;;;;;;;;;;;;;;;;;;;;;;EAoEJ,QAAQ;;;;;;;;;;;;;;;;;;;;;EA6BR,iBAAiB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;EAqCtB,oBAAoB,QAAQ;;;;;;;;;;;;;;;;;;;;EAoD5B,SAAS;;;;;;;;;;;;;;;;;;;;;EAwBT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BT,UAAU"}
1
+ {"version":3,"file":"RouterError.d.mts","names":[],"sources":["../../src/RouterError.ts"],"mappings":";cAmDa,oBAAoB;GAC9B;WAIQ;WACA;EAIT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCE,YAAA,gBAEE,SACA,SACA,SACG;KAEF;IACD;IACA;IACA;;;;;;;;;;;;;;;;;;;;;;;EAoEJ,QAAQ;;;;;;;;;;;;;;;;;;;;;EA6BR,iBAAiB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;EAqCtB,oBAAoB,QAAQ;;;;;;;;;;;;;;;;;;;;EAoD5B,SAAS;;;;;;;;;;;;;;;;;;;;;EAoCT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCT,UAAU"}
package/dist/esm/api.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{f as e,m as t,u as n}from"./buildParamMeta-BGu_pzH6.mjs";import{i as r}from"./ingest-CR-wWB0O.mjs";import{A as i,C as a,D as o,E as s,F as c,N as l,O as u,S as ee,T as d,_ as f,a as te,c as p,d as m,f as h,g,h as _,i as v,j as y,k as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k,v as A,w as j,x as M,y as N}from"./Router-BzdMQwFl.mjs";function P(e){if(e())throw E(new C(c.ROUTER_DISPOSED))}function F(e){if(e())throw E(new C(c.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 I(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 L(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 R(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function z(e,t,n,r){return n&&R(e)!==R(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 B(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const V=new WeakMap;function ne(i){let a=V.get(i);if(a)return a;let l=n(i),u={makeState:(t,n,r,i)=>(e(l,`makeState`,t,n),l.validator?.state.validateMakeStateArgs(t,n,i),l.makeState(t,n,r,i)),forwardState:(e,t,n)=>(l.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),l.forwardState(e,t,n)),matchPath:e=>(l.validator?.routes.validateMatchPathArgs(e),l.matchPath(e,l.getOptions())),navigateToState:(e,t)=>(P(l.isDisposed),l.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&l.validator?.navigation.validateNavigationOptions(t,`navigateToState`),l.navigateToState(e,t)),setRootPath:e=>(P(l.isDisposed),F(l.treeChanged.isEmitting),l.validator?.routes.validateSetRootPathArgs(e),z(l.getRootPath(),e,l.isTransitioning(),l.logger)?(l.setRootPath(e),!0):!1),getRootPath:l.getRootPath,addEventListener:(e,t)=>(P(l.isDisposed),l.validator?.eventBus.validateListenerArgs(e,t),l.addEventListener(e,t)),buildNavigationState:(n,r={},i={})=>{e(l,`buildNavigationState`,n,r),l.validator?.routes.validateStateBuilderArgs(n,r,`buildNavigationState`);let a=o(l.port(),n,r,i,{diagnoseUndeclared:!0});if(l.buildStateResolved(a.name,a.path))return t(`buildNavigationState`,a.name,a.path,l.port().queryNames(a.name)),d(a,{path:s(a,l.port())})},getOptions:l.getOptions,getTree:l.getTree,addInterceptor:(e,t)=>{P(l.isDisposed),l.validator?.plugins.validateAddInterceptorArgs(e,t);let n=l.interceptors.get(e);n||(n=[],l.interceptors.set(e,n)),n.push(t);let r=!1;return()=>{r||(r=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=l.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{P(l.isDisposed);let t=Object.keys(e);for(let e of t)if(e in i)throw E(new C(c.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));for(let n of t)i[n]=e[n];let n={keys:t};l.routerExtensions.push(n);let r=!1;return()=>{if(r)return;r=!0;for(let e of n.keys)delete i[e];let e=l.routerExtensions.indexOf(n);e!==-1&&l.routerExtensions.splice(e,1)}},emitTransitionError:e=>{P(l.isDisposed),l.emitTransitionError(e)},claimContextNamespace:e=>{if(P(l.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(l.contextClaimRecords.has(e))throw E(new C(c.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));return l.contextClaimRecords.add(e),{write(t,n){r(t.context,e,n)},release(){l.contextClaimRecords.delete(e)}}}};return V.set(i,u),u}const re=Object.freeze({replace:!0,revalidate:!0}),ie=Object.freeze([]);function ae(e,t,n,r){let i=t=>e.has(t);a(t.decoders,i),a(t.encoders,i),a(t.defaultParams,i),a(t.defaultSearch,i),a(t.forwardMap,i),a(t.forwardFnMap,i),a(n,i),a(t.forwardMap,e=>i(t.forwardMap[e]));let[o,s]=r.getFactories();for(let e of Object.keys(s))i(e)&&r.clearCanActivate(e,`both`);for(let e of Object.keys(o))i(e)&&r.clearCanDeactivate(e,`both`)}function H(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 U(e,t,n,r){let i={name:e.name,path:e.path};return H(i,t,n,r),e.children&&(i.children=e.children.map(e=>U(e,`${t}.${e.name}`,n,r))),i}function W(e,t,n,r){let i={name:e,path:t};return H(i,e,n,r),Object.freeze(i)}function G(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,W(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function K(e,t){let n=G(e,e=>t.has(e));return Object.freeze([...n.values()])}function q(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(W(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),Object.freeze(i)}function oe(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 se(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 ce(e,t,n,r){let i=N(t);D(e,i,n);let a=T(e,i,n,r);M(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!1),w(e,a)}function J(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function Y(e,t,n,r,i){if(J(e,r.path)!==i){t.navigateToNotFound(r.path,{skipDeactivation:!0});return}t.systemCommit(n,r,re)}function le(e,t,n,r,i){let a=N(t);m(a,`addRoute`),p(a,`addRoute`),x(a,``,`addRoute`),k(a,``,`addRoute`);let o=S(a,e.rootPath,e.matcherOptions,n.logger);M(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!0);let s=f(o,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),w(e,o,s),i?.(),r!==void 0){let t=J(e,r.path),i=n.matchPath(r.path,n.getOptions());if(i)if(i.name===r.name)Y(e,n,{...i,context:r.context,transition:r.transition},r,t);else{let{toActivate:a}=v(i,r,n.getMetaForState);e.lifecycleNamespace.canNavigateTo([],a,i,r)?Y(e,n,{...i,transition:r.transition},r,t):n.navigateToNotFound(r.path,{skipDeactivation:!0})}else n.navigateToNotFound(r.path,{skipDeactivation:!0})}}function ue(e,t,n){let r=e.definitions,i=j(r,t);if(i===void 0)return;let a=n?K(e,i):ie;return ae(i,e.config,e.routeCustomFields,e.lifecycleNamespace),g(e,r),a}function de(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=u(n.at(-1)),i=e.lifecycleNamespace.getFactories();return U(r,t,e.config,i)}const X=new WeakMap;function Z(e){let t=X.get(e);if(t)return t;let r=n(e),a=r.routeGetStore(),o=e=>{r.treeChanged.emit(e)},s=Object.freeze({add:(e,t)=>{P(r.isDisposed),F(r.treeChanged.isEmitting);let n=Array.isArray(e)?e:[e],s=t?.parent;if(i(n,r.validator),s!==void 0&&r.validator?.routes.validateParentOption(s,a.tree),r.validator?.routes.throwIfInternalRouteInArray(n,`addRoute`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,a,s),ce(a,n,s,r.logger),r.treeChanged.listenerCount()>0){let e=q(n,s,a);o(s===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:s})}},remove:e=>{if(P(r.isDisposed),F(r.treeChanged.isEmitting),r.validator?.routes.validateRemoveRouteArgs(e),r.validator?.routes.throwIfInternalRoute(e,`removeRoute`),h(e,`removeRoute`),!I(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=ue(a,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&L(e,r.logger),t&&o({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(P(r.isDisposed),F(r.treeChanged.isEmitting),r.validator?.routes.validateUpdateRouteBasicArgs(e,t),r.validator?.routes.throwIfInternalRoute(e,`updateRoute`),h(e,`updateRoute`),r.validator?.routes.validateUpdateRoutePropertyTypes(e,t),r.validator?.routes.validateUpdateRoute(e,t,a),!a.matcher.hasRoute(e))return;r.isTransitioning()&&r.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let n=a.lifecycleNamespace,i=_(a,n,e,t);if(r.treeChanged.listenerCount()>0){let t=se(i);Object.keys(t).length>0&&o({op:`update`,name:e,patch:t})}},clear:()=>{if(P(r.isDisposed),F(r.treeChanged.isEmitting),r.getStateName()!==void 0)throw E(new C(c.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(!B(r.isTransitioning(),r.logger))return;let e=r.treeChanged.listenerCount()>0?Object.freeze([...G(a,()=>!0).values()]):void 0;A(a),a.lifecycleNamespace.clearAll(),e!==void 0&&o({op:`clear`,removed:e})},has:e=>(r.validator?.routes.validateRouteName(e,`hasRoute`),a.matcher.hasRoute(e)),get:e=>(r.validator?.routes.validateRouteName(e,`getRoute`),de(a,e)),replace:t=>{P(r.isDisposed),F(r.treeChanged.isEmitting);let n=Array.isArray(t)?t:[t];if(!B(r.isTransitioning(),r.logger))return;i(n,r.validator),r.validator?.routes.throwIfInternalRouteInArray(n,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,a);let s=e.getState(),c=r.treeChanged.listenerCount()>0?G(a,()=>!0):void 0;le(a,n,r,s,c===void 0?void 0:()=>{let e=G(a,()=>!0),{removed:t,added:n}=oe(c,e);o({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>r.treeChanged.subscribe(e)});return X.set(e,s),s}const Q=e=>typeof e==`symbol`?e:String(e);function fe(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=Q(t);if(!Object.hasOwn(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 pe(e,t,n){let r=[],i=e.dependencies;y(t,(t,a)=>{Object.hasOwn(i,t)?r.push(t):n?.dependencies.validateDependencyCount(e,`setDependencies`),i[t]=a}),r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function me(e){let t=n(e);return{get:e=>{t.validator?.dependencies.validateDependencyName(e,`getDependency`);let n=t.dependenciesGetStore(),r=n.dependencies[e];return t.validator?.dependencies.validateDependencyExists(e,n),r},getAll:()=>{let e={...t.dependenciesGetStore().dependencies};return delete e[l],e},set:(e,n)=>{P(t.isDisposed),t.validator?.dependencies.validateSetDependencyArgs(e,n,`setDependency`),fe(t.dependenciesGetStore(),e,n,t.validator),P(t.isDisposed)},setAll:e=>{P(t.isDisposed);let n=t.dependenciesGetStore();t.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),pe(n,e,t.validator),P(t.isDisposed)},remove:e=>{P(t.isDisposed),t.validator?.dependencies.validateDependencyName(e,`removeDependency`);let n=t.dependenciesGetStore(),r=Q(e);Object.hasOwn(n.dependencies,r)||t.validator?.dependencies.warnRemoveNonExistent(String(r)),delete n.dependencies[r]},reset:()=>{P(t.isDisposed);let e=t.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(t.validator?.dependencies.validateDependencyName(e,`hasDependency`),Object.hasOwn(t.dependenciesGetStore().dependencies,e))}}function $(e){let t=n(e),r=t.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,n){P(t.isDisposed),t.validator?.routes.validateRouteName(e,`addActivateGuard`),t.validator?.lifecycle.validateHandler(n,`addActivateGuard`),r.addCanActivate(e,n)},addDeactivateGuard(e,n){P(t.isDisposed),t.validator?.routes.validateRouteName(e,`addDeactivateGuard`),t.validator?.lifecycle.validateHandler(n,`addDeactivateGuard`),r.addCanDeactivate(e,n)},removeActivateGuard(e){P(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeActivateGuard`),r.clearCanActivate(e,`external`)},removeDeactivateGuard(e){P(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),r.clearCanDeactivate(e,`external`)}}}function he(e,t,i){let a=n(e);if(a.isDisposed())throw E(new C(c.ROUTER_DISPOSED));a.validator?.dependencies.validateCloneArgs(t);let o=a.routeGetStore(),s=b(o.tree),l=o.config,u=o.resolvedForwardMap,d=o.routeCustomFields,{options:f,dependencies:p,pluginFactories:m,loggerConfig:h,limits:g}=a.getCloneState(),{definition:_,external:v}=o.lifecycleNamespace.getFactoriesByOrigin(),x={...p};t!==void 0&&y(t,(e,t)=>{r(x,e,t)});let S=i?.logger?{...h,...i.logger}:h,w=new O(s,{...f,logger:S,...f.limits!=null&&{limits:Object.fromEntries(Object.keys(f.limits).filter(e=>Object.hasOwn(g,e)).map(e=>[e,g[e]]))},...o.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:o.matcherOptions.urlParamsEncoding}},x),T=n(w),D=T.routeGetStore(),k=D.lifecycleNamespace;ee(D.config,l),te(D,Object.assign(D.resolvedForwardMap,u)),Object.assign(D.routeCustomFields,d),o.rootPath!==``&&T.setRootPath(o.rootPath);let[A,j]=_,[M,N]=v;for(let[e,t]of Object.entries(A))k.addCanDeactivate(e,t,!0);for(let[e,t]of Object.entries(j))k.addCanActivate(e,t,!0);let P=$(w);for(let[e,t]of Object.entries(M))P.addDeactivateGuard(e,t);for(let[e,t]of Object.entries(N))P.addActivateGuard(e,t);let F=new Set(T.getCloneState().pluginFactories),I=m.filter(e=>!F.has(e));return I.length>0&&w.usePlugin(...I),w}export{he as cloneRouter,me as getDependenciesApi,$ as getLifecycleApi,ne as getPluginApi,Z as getRoutesApi};
1
+ import{f as e,m as t,u as n}from"./buildParamMeta-C7lPtip_.mjs";import{a as r,p as i}from"./ingest-C7RmzkLN.mjs";import{A as a,C as o,D as s,E as c,M as l,O as u,S as d,T as f,_ as p,a as ee,c as m,d as h,f as g,g as _,h as v,i as y,j as b,k as x,l as S,m as C,n as w,o as T,p as E,r as D,s as O,t as k,u as A,v as j,w as M,x as N,y as P}from"./Router-DwYbAUzA.mjs";function F(e){if(e())throw D(new w(i.ROUTER_DISPOSED))}function I(e){if(e())throw D(new w(i.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 L(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 R(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 z(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function B(e,t,n,r){return n&&z(e)!==z(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 V(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const H=new WeakMap;function te(a){let o=H.get(a);if(o)return o;let l=n(a),u={makeState:(t,n,r,i)=>(e(l,`makeState`,t,n),l.validator?.state.validateMakeStateArgs(t,n,i),l.makeState(t,n,r,i)),forwardState:(e,t,n)=>(l.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),l.forwardState(e,t,n)),matchPath:e=>(l.validator?.routes.validateMatchPathArgs(e),l.matchPath(e,l.getOptions())),navigateToState:(e,t)=>(F(l.isDisposed),l.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&l.validator?.navigation.validateNavigationOptions(t,`navigateToState`),l.navigateToState(e,t)),setRootPath:e=>(F(l.isDisposed),I(l.treeChanged.isEmitting),l.validator?.routes.validateSetRootPathArgs(e),B(l.getRootPath(),e,l.isTransitioning(),l.logger)?(l.setRootPath(e),!0):!1),getRootPath:l.getRootPath,addEventListener:(e,t)=>(F(l.isDisposed),l.validator?.eventBus.validateListenerArgs(e,t),l.addEventListener(e,t)),buildNavigationState:(n,r={},i={})=>{e(l,`buildNavigationState`,n,r),l.validator?.routes.validateStateBuilderArgs(n,r,`buildNavigationState`);let a=s(l.port(),n,r,i,{diagnoseUndeclared:!0});if(l.buildStateResolved(a.name,a.path))return t(`buildNavigationState`,a.name,a.path,l.port().queryNames(a.name)),f(a,{path:c(a,l.port())})},getOptions:l.getOptions,getTree:l.getTree,addInterceptor:(e,t)=>{F(l.isDisposed),l.validator?.plugins.validateAddInterceptorArgs(e,t);let n=l.interceptors.get(e);n||(n=[],l.interceptors.set(e,n)),n.push(t);let r=!1;return()=>{r||(r=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=l.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{F(l.isDisposed);let t=Object.keys(e);for(let e of t)if(e in a)throw D(new w(i.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));for(let n of t)a[n]=e[n];let n={keys:t};l.routerExtensions.push(n);let r=!1;return()=>{if(r)return;r=!0;for(let e of n.keys)delete a[e];let e=l.routerExtensions.indexOf(n);e!==-1&&l.routerExtensions.splice(e,1)}},emitTransitionError:e=>{F(l.isDisposed),l.emitTransitionError(e)},claimContextNamespace:e=>{if(F(l.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(l.contextClaimRecords.has(e))throw D(new w(i.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));return l.contextClaimRecords.add(e),{write(t,n){r(t.context,e,n)},release(){l.contextClaimRecords.delete(e)}}}};return H.set(a,u),u}const ne=Object.freeze({replace:!0,revalidate:!0}),re=Object.freeze([]);function ie(e,t,n,r){let i=t=>e.has(t);o(t.decoders,i),o(t.encoders,i),o(t.defaultParams,i),o(t.defaultSearch,i),o(t.forwardMap,i),o(t.forwardFnMap,i),o(n,i),o(t.forwardMap,e=>i(t.forwardMap[e]));let[a,s]=r.getFactories();for(let e of Object.keys(s))i(e)&&r.clearCanActivate(e,`both`);for(let e of Object.keys(a))i(e)&&r.clearCanDeactivate(e,`both`)}function U(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 W(e,t,n,r){let i={name:e.name,path:e.path};return U(i,t,n,r),e.children&&(i.children=e.children.map(e=>W(e,`${t}.${e.name}`,n,r))),i}function G(e,t,n,r){let i={name:e,path:t};return U(i,e,n,r),Object.freeze(i)}function K(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,G(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function q(e,t){let n=K(e,e=>t.has(e));return Object.freeze([...n.values()])}function J(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(G(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),Object.freeze(i)}function ae(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 oe(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 se(e,t,n,r){let i=P(t);O(e,i,n);let a=E(e,i,n,r);N(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!1),T(e,a)}function Y(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function X(e,t,n,r,i){if(Y(e,r.path)!==i){t.navigateToNotFound(r.path,{skipDeactivation:!0});return}t.systemCommit(n,r,ne)}function ce(e,t,n,r,i){let a=P(t);h(a,`addRoute`),m(a,`addRoute`),S(a,``,`addRoute`),A(a,``,`addRoute`);let o=C(a,e.rootPath,e.matcherOptions,n.logger);N(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!0);let s=p(o,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),T(e,o,s),i?.(),r!==void 0){let t=Y(e,r.path),i=n.matchPath(r.path,n.getOptions());if(i)if(i.name===r.name)X(e,n,{...i,context:r.context,transition:r.transition},r,t);else{let{toActivate:a}=y(i,r,n.getMetaForState);e.lifecycleNamespace.canNavigateTo([],a,i,r)?X(e,n,{...i,transition:r.transition},r,t):n.navigateToNotFound(r.path,{skipDeactivation:!0})}else n.navigateToNotFound(r.path,{skipDeactivation:!0})}}function le(e,t,n){let r=e.definitions,i=M(r,t);if(i===void 0)return;let a=n?q(e,i):re;return ie(i,e.config,e.routeCustomFields,e.lifecycleNamespace),_(e,r),a}function ue(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=u(n.at(-1)),i=e.lifecycleNamespace.getFactories();return W(r,t,e.config,i)}const Z=new WeakMap;function de(e){let t=Z.get(e);if(t)return t;let r=n(e),a=r.routeGetStore(),o=e=>{r.treeChanged.emit(e)},s=Object.freeze({add:(e,t)=>{F(r.isDisposed),I(r.treeChanged.isEmitting);let n=Array.isArray(e)?e:[e],i=t?.parent;if(b(n,r.validator),i!==void 0&&r.validator?.routes.validateParentOption(i,a.tree),r.validator?.routes.throwIfInternalRouteInArray(n,`addRoute`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,a,i),se(a,n,i,r.logger),r.treeChanged.listenerCount()>0){let e=J(n,i,a);o(i===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:i})}},remove:e=>{if(F(r.isDisposed),I(r.treeChanged.isEmitting),r.validator?.routes.validateRemoveRouteArgs(e),r.validator?.routes.throwIfInternalRoute(e,`removeRoute`),g(e,`removeRoute`),!L(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=le(a,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&R(e,r.logger),t&&o({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(F(r.isDisposed),I(r.treeChanged.isEmitting),r.validator?.routes.validateUpdateRouteBasicArgs(e,t),r.validator?.routes.throwIfInternalRoute(e,`updateRoute`),g(e,`updateRoute`),r.validator?.routes.validateUpdateRoutePropertyTypes(e,t),r.validator?.routes.validateUpdateRoute(e,t,a),!a.matcher.hasRoute(e))return;r.isTransitioning()&&r.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let n=a.lifecycleNamespace,i=v(a,n,e,t);if(r.treeChanged.listenerCount()>0){let t=oe(i);Object.keys(t).length>0&&o({op:`update`,name:e,patch:t})}},clear:()=>{if(F(r.isDisposed),I(r.treeChanged.isEmitting),r.getStateName()!==void 0)throw D(new w(i.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(!V(r.isTransitioning(),r.logger))return;let e=r.treeChanged.listenerCount()>0?Object.freeze([...K(a,()=>!0).values()]):void 0;j(a),a.lifecycleNamespace.clearAll(),e!==void 0&&o({op:`clear`,removed:e})},has:e=>(r.validator?.routes.validateRouteName(e,`hasRoute`),a.matcher.hasRoute(e)),get:e=>(r.validator?.routes.validateRouteName(e,`getRoute`),ue(a,e)),replace:t=>{F(r.isDisposed),I(r.treeChanged.isEmitting);let n=Array.isArray(t)?t:[t];if(!V(r.isTransitioning(),r.logger))return;b(n,r.validator),r.validator?.routes.throwIfInternalRouteInArray(n,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,a);let i=e.getState(),s=r.treeChanged.listenerCount()>0?K(a,()=>!0):void 0;ce(a,n,r,i,s===void 0?void 0:()=>{let e=K(a,()=>!0),{removed:t,added:n}=ae(s,e);o({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>r.treeChanged.subscribe(e)});return Z.set(e,s),s}const Q=e=>typeof e==`symbol`?e:String(e);function fe(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=Q(t);if(!Object.hasOwn(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 pe(e,t,n){let r=[],i=e.dependencies;l(t,(t,a)=>{Object.hasOwn(i,t)?r.push(t):n?.dependencies.validateDependencyCount(e,`setDependencies`),i[t]=a}),r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function me(e){let t=n(e);return{get:e=>{t.validator?.dependencies.validateDependencyName(e,`getDependency`);let n=t.dependenciesGetStore(),r=n.dependencies[e];return t.validator?.dependencies.validateDependencyExists(e,n),r},getAll:()=>{let e=t.dependenciesGetStore().dependencies;return a({...e})},set:(e,n)=>{F(t.isDisposed),t.validator?.dependencies.validateSetDependencyArgs(e,n,`setDependency`),fe(t.dependenciesGetStore(),e,n,t.validator),F(t.isDisposed)},setAll:e=>{F(t.isDisposed);let n=t.dependenciesGetStore();t.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),pe(n,e,t.validator),F(t.isDisposed)},remove:e=>{F(t.isDisposed),t.validator?.dependencies.validateDependencyName(e,`removeDependency`);let n=t.dependenciesGetStore(),r=Q(e);Object.hasOwn(n.dependencies,r)||t.validator?.dependencies.warnRemoveNonExistent(String(r)),delete n.dependencies[r]},reset:()=>{F(t.isDisposed);let e=t.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(t.validator?.dependencies.validateDependencyName(e,`hasDependency`),Object.hasOwn(t.dependenciesGetStore().dependencies,e))}}function $(e){let t=n(e),r=t.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,n){F(t.isDisposed),t.validator?.routes.validateRouteName(e,`addActivateGuard`),t.validator?.lifecycle.validateHandler(n,`addActivateGuard`),r.addCanActivate(e,n)},addDeactivateGuard(e,n){F(t.isDisposed),t.validator?.routes.validateRouteName(e,`addDeactivateGuard`),t.validator?.lifecycle.validateHandler(n,`addDeactivateGuard`),r.addCanDeactivate(e,n)},removeActivateGuard(e){F(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeActivateGuard`),r.clearCanActivate(e,`external`)},removeDeactivateGuard(e){F(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),r.clearCanDeactivate(e,`external`)}}}function he(e,t,a){let o=n(e);if(o.isDisposed())throw D(new w(i.ROUTER_DISPOSED));o.validator?.dependencies.validateCloneArgs(t);let s=o.routeGetStore(),c=x(s.tree),u=s.config,f=s.resolvedForwardMap,p=s.routeCustomFields,{options:m,dependencies:h,pluginFactories:g,loggerConfig:_,limits:v}=o.getCloneState(),{definition:y,external:b}=s.lifecycleNamespace.getFactoriesByOrigin(),S={...h};t!==void 0&&l(t,(e,t)=>{r(S,e,t)});let C=a?.logger?{..._,...a.logger}:_,T=new k(c,{...m,logger:C,...m.limits!=null&&{limits:Object.fromEntries(Object.keys(m.limits).filter(e=>Object.hasOwn(v,e)).map(e=>[e,v[e]]))},...s.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:s.matcherOptions.urlParamsEncoding}},S),E=n(T),O=E.routeGetStore(),A=O.lifecycleNamespace;d(O.config,u),ee(O,Object.assign(O.resolvedForwardMap,f)),Object.assign(O.routeCustomFields,p),s.rootPath!==``&&E.setRootPath(s.rootPath);let[j,M]=y,[N,P]=b;for(let[e,t]of Object.entries(j))A.addCanDeactivate(e,t,!0);for(let[e,t]of Object.entries(M))A.addCanActivate(e,t,!0);let F=$(T);for(let[e,t]of Object.entries(N))F.addDeactivateGuard(e,t);for(let[e,t]of Object.entries(P))F.addActivateGuard(e,t);let I=new Set(E.getCloneState().pluginFactories),L=g.filter(e=>!I.has(e));return L.length>0&&T.usePlugin(...L),T}export{he as cloneRouter,me as getDependenciesApi,$ as getLifecycleApi,te as getPluginApi,de as getRoutesApi};
2
2
  //# sourceMappingURL=api.mjs.map