@real-router/core 0.132.8 → 0.134.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.
Files changed (35) hide show
  1. package/dist/cjs/Router-DSHn-OMr.js +2 -0
  2. package/dist/cjs/Router-DSHn-OMr.js.map +1 -0
  3. package/dist/cjs/Router.d.ts.map +1 -1
  4. package/dist/cjs/api.js +1 -1
  5. package/dist/cjs/api.js.map +1 -1
  6. package/dist/cjs/index.js +1 -1
  7. package/dist/cjs/internals-BGTllfGV.js.map +1 -1
  8. package/dist/cjs/internals.d.ts +17 -0
  9. package/dist/cjs/internals.d.ts.map +1 -1
  10. package/dist/cjs/namespaces/RoutesNamespace/routesStore.d.ts +5 -4
  11. package/dist/cjs/namespaces/RoutesNamespace/routesStore.d.ts.map +1 -1
  12. package/dist/cjs/pipeline/port.d.ts +30 -9
  13. package/dist/cjs/pipeline/port.d.ts.map +1 -1
  14. package/dist/cjs/types/api.d.ts +16 -0
  15. package/dist/cjs/types/api.d.ts.map +1 -1
  16. package/dist/esm/Router-Vyf1k63r.mjs +2 -0
  17. package/dist/esm/Router-Vyf1k63r.mjs.map +1 -0
  18. package/dist/esm/Router.d.mts.map +1 -1
  19. package/dist/esm/api.mjs +1 -1
  20. package/dist/esm/api.mjs.map +1 -1
  21. package/dist/esm/index.mjs +1 -1
  22. package/dist/esm/internals-CcqRqpm9.mjs.map +1 -1
  23. package/dist/esm/internals.d.mts +17 -0
  24. package/dist/esm/internals.d.mts.map +1 -1
  25. package/dist/esm/namespaces/RoutesNamespace/routesStore.d.mts +5 -4
  26. package/dist/esm/namespaces/RoutesNamespace/routesStore.d.mts.map +1 -1
  27. package/dist/esm/pipeline/port.d.mts +30 -9
  28. package/dist/esm/pipeline/port.d.mts.map +1 -1
  29. package/dist/esm/types/api.d.mts +16 -0
  30. package/dist/esm/types/api.d.mts.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/cjs/Router-BPMxquQn.js +0 -2
  33. package/dist/cjs/Router-BPMxquQn.js.map +0 -1
  34. package/dist/esm/Router-Df6x8P8M.mjs +0 -2
  35. package/dist/esm/Router-Df6x8P8M.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.mts","names":[],"sources":["../../src/Router.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;qBA8Ga,OACX,qBAAqB,sBAAsB,gCAChC,SAAgB;;GAC1B;;;;;;EA+EC,YAAA,SAAQ,MAAM,iBACd,UAAS,QAAQ,QAAQ,gBACzB,eAAc;EA6pBhB,cACE,cACA,SAAS,QACT,SAAS,cACT,0BACA;EAwCF,UAAU,eAAe,SAAS,QAAQ,SAAS;EA+CnD,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;EA6JtD,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;EA2EX,kBAAkB,UAAU,oBAAoB,QAAQ;EAiBxD,mBAAmB,gBAAgB;;;iBA2OpB;WACN,gBAAgB;WAChB,gBAAgB"}
1
+ {"version":3,"file":"Router.d.mts","names":[],"sources":["../../src/Router.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;qBA8Ga,OACX,qBAAqB,sBAAsB,gCAChC,SAAgB;;GAC1B;;;;;;EA+EC,YAAA,SAAQ,MAAM,iBACd,UAAS,QAAQ,QAAQ,gBACzB,eAAc;EA+rBhB,cACE,cACA,SAAS,QACT,SAAS,cACT,0BACA;EAwCF,UAAU,eAAe,SAAS,QAAQ,SAAS;EA+CnD,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;EA6JtD,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;EA2EX,kBAAkB,UAAU,oBAAoB,QAAQ;EAiBxD,mBAAmB,gBAAgB;;;iBA2OpB;WACN,gBAAgB;WAChB,gBAAgB"}
package/dist/esm/api.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{a as e,m as t}from"./ingest-XMtKw1RB.mjs";import{s as n,t as r,v as i,y as a}from"./helpers-CP7uvUBo.mjs";import{A as o,C as s,D as c,E as l,F as u,I as d,L as f,M as p,N as m,O as h,P as g,S as _,T as v,_ as y,a as b,b as ee,c as x,d as S,f as C,g as w,h as T,i as E,j as D,k as O,l as k,m as A,n as j,o as M,p as te,r as ne,s as N,t as re,u as P,w as F,x as I,y as L}from"./Router-Df6x8P8M.mjs";import{_ as ie,i as R,o as ae}from"./internals-CcqRqpm9.mjs";function oe(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 se(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 ce(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 B(e,t){return!e||(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1)}const le=Object.freeze,ue=Object.keys,V=new WeakMap;function de(n){let o=V.get(n);if(o)return o;let l=R(n),u={makeState:(e,t,n,r)=>l.makeState(e,t,n,r),forwardState:(e,t,n)=>(l.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),l.validator?.navigation.validateSearch(n,`forwardState`),l.forwardState(e,t,n)),matchPath:e=>l.matchPath(e,l.getOptions()),navigateToState:(e,t)=>l.navigateToState(e,t),setRootPath:e=>(d(l.isDisposed),f(l.treeChanged.isEmitting,()=>l.routeGetStore().revalidating),ce(l.getRootPath(),e,l.isTransitioning(),l.logger)?(l.setRootPath(e),!0):!1),getRootPath:l.getRootPath,addEventListener:(e,t)=>l.addEventListener(e,t),buildNavigationState:(e,t={},n={})=>{ae(l,`buildNavigationState`,e,t);let i=r(t);l.validator?.navigation.validateSearch(n,`buildNavigationState`),l.validator?.routes.validateStateBuilderArgs(e,i,`buildNavigationState`);let a=v(l.port(),e,i,n,{diagnoseUndeclared:!0});if(l.buildStateResolved(a.name,a.path))return ie(`buildNavigationState`,a.name,a.path,l.port().queryNames(a.name)),s(a,F(a,l.port()))},getOptions:l.getOptions,getTree:l.getTree,addInterceptor:(e,t)=>{d(l.isDisposed),h(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=>{d(l.isDisposed),c(e);let r=ue(e);for(let e of r)if(e in n)throw a(new i(t.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));let o=r.map(t=>e[t]),s={keys:r};for(let[e,t]of r.entries())n[t]=o[e];l.routerExtensions.push(s);let u=!1;return()=>{if(u)return;u=!0;for(let e of s.keys)delete n[e];let e=l.routerExtensions.indexOf(s);e!==-1&&l.routerExtensions.splice(e,1)}},emitTransitionError:e=>{d(l.isDisposed),l.emitTransitionError(e)},claimContextNamespace:n=>{if(d(l.isDisposed),typeof n!=`string`||n===``)throw TypeError(`[claimContextNamespace] namespace must be a non-empty string, got ${typeof n==`string`?`an empty string`:typeof n}`);if(l.contextClaimRecords.has(n))throw a(new i(t.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${n}" is already claimed by another plugin`}));let r={write(t,i){l.contextClaimRecords.get(n)===r&&e(t.context,n,i)},release(){l.contextClaimRecords.get(n)===r&&l.contextClaimRecords.delete(n)}};return l.contextClaimRecords.set(n,r),r}},p=le(u);return V.set(n,p),p}const H=Object.freeze,U=Object.keys,fe=Object.freeze({replace:!0,revalidate:!0}),pe=Object.freeze([]);function me(e,t,n,r){let i=t=>e.has(t);I(t.decoders,i),I(t.encoders,i),I(t.defaultParams,i),I(t.defaultSearch,i),I(t.forwardMap,i),I(t.forwardFnMap,i),I(n,i),I(t.forwardMap,e=>i(t.forwardMap[e]));let[a,o]=r.getFactories();for(let e of U(o))i(e)&&r.clearCanActivate(e,`both`);for(let e of U(a))i(e)&&r.clearCanDeactivate(e,`both`)}function W(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 G(t,n,r,i){let a={name:t.name,path:t.path};return W(a,n,r,i),t.children&&e(a,`children`,t.children.map(e=>G(e,`${n}.${e.name}`,r,i))),a}function K(e,t,n,r){let i={name:e,path:t};return W(i,e,n,r),H(i)}function q(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,K(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function he(e,t){let n=q(e,e=>t.has(e));return H([...n.values()])}function ge(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(K(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),H(i)}function _e(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:H(n),added:H(r)}}function ve(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),H(t)}function ye(e,t,n,r){b(e,t,n);let i=C(e,t,n,r);L(i.matcher,i.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(i.pendingCanActivate.keys(),i.pendingCanDeactivate.keys(),!1),E(e,i)}function J(e,t,n){e.systemCommit(t,n,fe)}function be(e,t,n,r,i){k(t,`addRoute`),S(t,`addRoute`),M(t,`addRoute`),N(t,``,`addRoute`),x(t,``,`addRoute`);let a=te(t,e.rootPath,e.matcherOptions,n.logger);L(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!0);let o=w(a,e.depsStore);e.lifecycleNamespace.clearDefinitionGuards(),E(e,a,o),e.revalidating=!0;try{if(i?.(),r!==void 0){let t=n.matchPath(r.path,n.getOptions());if(t){if(t.name===r.name)J(n,{...t,context:r.context,transition:r.transition},r);else{let{toDeactivate:i,toActivate:a,intersection:o}=j(t,r,n.getMetaForState);if(e.lifecycleNamespace.canNavigateTo([],a,t,r)){let e={phase:`activating`,from:r.name,reason:`success`,replace:!0,segments:{deactivated:i,activated:a,intersection:o}};J(n,{...t,transition:e},r)}else n.revalidateToNotFound(r.path)}}else n.revalidateToNotFound(r.path)}}finally{e.revalidating=!1}}function xe(e,t,n){let r=e.definitions,i=_(r,t);if(i===void 0)return;let a=n?he(e,i):pe;return me(i,e.config,e.routeCustomFields,e.lifecycleNamespace),T(e,r),a}function Se(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=n.at(-1),i=g(r),a=e.lifecycleNamespace.getFactories();return G(i,t,e.config,a)}const Y=new WeakMap;function Ce(e){let n=Y.get(e);if(n)return n;let r=R(e),s=r.routeGetStore(),c=e=>{r.treeChanged.emit(e)},l=H({add:(e,t)=>{d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating);let n=Array.isArray(e)?e:[e],i=t?.parent,a=p(n);if(D(a,r.validator),i!==void 0&&r.validator?.routes.validateParentOption(i,s.tree),r.validator?.routes.throwIfInternalRouteInArray(a,`addRoute`),r.validator?.routes.validateAddRouteArgs(a),r.validator?.routes.validateRoutes(a,s,i),ye(s,a,i,r.logger),r.treeChanged.listenerCount()>0){let e=ge(a,i,s);c(i===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:i})}},remove:e=>{if(d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating),r.validator?.routes.validateRemoveRouteArgs(e),r.validator?.routes.throwIfInternalRoute(e,`removeRoute`),P(e,`removeRoute`),!oe(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=xe(s,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&se(e,r.logger),t&&c({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating),r.validator?.routes.validateUpdateRouteBasicArgs(e,t),r.validator?.routes.throwIfInternalRoute(e,`updateRoute`),P(e,`updateRoute`),r.validator?.routes.validateUpdateRoutePropertyTypes(e,t),r.validator?.routes.validateUpdateRoute(e,t,s),!s.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=s.lifecycleNamespace,i=A(s,n,e,t);if(r.treeChanged.listenerCount()>0){let t=ve(i);U(t).length>0&&c({op:`update`,name:e,patch:t})}},clear:()=>{if(d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating),r.getStateName()!==void 0)throw a(new i(t.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?H([...q(s,()=>!0).values()]):void 0;y(s),s.lifecycleNamespace.clearAll(),e!==void 0&&c({op:`clear`,removed:e})},has:e=>(r.validator?.routes.validateRouteName(e,`hasRoute`),s.matcher.hasRoute(e)),get:e=>(r.validator?.routes.validateRouteName(e,`getRoute`),Se(s,e)),replace:t=>{d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating);let n=Array.isArray(t)?t:[t];if(!B(r.isTransitioning(),r.logger))return;let i=p(n);D(i,r.validator),r.validator?.routes.throwIfInternalRouteInArray(i,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(i),r.validator?.routes.validateRoutes(i,s);let a=e.getState(),o=r.treeChanged.listenerCount()>0?q(s,()=>!0):void 0;be(s,i,r,a,o===void 0?void 0:()=>{let e=q(s,()=>!0),{removed:t,added:n}=_e(o,e);c({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>(o(e),r.treeChanged.subscribe(e))});return Y.set(e,l),l}const we=Object.create,X=Object.hasOwn,Z=e=>typeof e==`symbol`?e:String(e);function Te(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=Z(t);if(!X(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 Ee(e,t,n){let r=[],i=e.dependencies;m(t,(t,a)=>{X(i,t)?r.push(t):n?.dependencies.validateDependencyCount(e,`setDependencies`),l(i,t,a)}),r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function De(e){let t=R(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 n({...e})},set:(e,n)=>{d(t.isDisposed),t.validator?.dependencies.validateSetDependencyArgs(e,n,`setDependency`),Te(t.dependenciesGetStore(),e,n,t.validator),d(t.isDisposed)},setAll:e=>{d(t.isDisposed);let n=t.dependenciesGetStore();t.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),Ee(n,e,t.validator),d(t.isDisposed)},remove:e=>{d(t.isDisposed),t.validator?.dependencies.validateDependencyName(e,`removeDependency`);let n=t.dependenciesGetStore(),r=Z(e);X(n.dependencies,r)||t.validator?.dependencies.warnRemoveNonExistent(String(r)),delete n.dependencies[r]},reset:()=>{d(t.isDisposed);let e=t.dependenciesGetStore();e.dependencies=we(null)},has:e=>(t.validator?.dependencies.validateDependencyName(e,`hasDependency`),X(t.dependenciesGetStore().dependencies,e))}}function Q(e){let t=R(e),n=t.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,r){d(t.isDisposed),O(e,`addActivateGuard`),t.validator?.routes.validateRouteName(e,`addActivateGuard`),t.validator?.lifecycle.validateHandler(r,`addActivateGuard`),n.addCanActivate(e,r,!1)},addDeactivateGuard(e,r){d(t.isDisposed),O(e,`addDeactivateGuard`),t.validator?.routes.validateRouteName(e,`addDeactivateGuard`),t.validator?.lifecycle.validateHandler(r,`addDeactivateGuard`),n.addCanDeactivate(e,r,!1)},removeActivateGuard(e){d(t.isDisposed),O(e,`removeActivateGuard`),t.validator?.routes.validateRouteName(e,`removeActivateGuard`),n.clearCanActivate(e,`external`)},removeDeactivateGuard(e){d(t.isDisposed),O(e,`removeDeactivateGuard`),t.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),n.clearCanDeactivate(e,`external`)}}}const $=Object.entries,Oe=Object.hasOwn;function ke(n,r,o){let s=R(n);if(s.isDisposed())throw a(new i(t.ROUTER_DISPOSED));s.validator?.dependencies.validateCloneArgs(r);let c=s.routeGetStore(),l=u(c.tree),d=c.config,f=c.resolvedForwardMap,p=c.routeCustomFields,{options:h,dependencies:g,pluginFactories:_,loggerConfig:v,limits:y,limitKeys:b}=s.getCloneState(),{definition:x,external:S}=c.lifecycleNamespace.getFactoriesByOrigin(),C={...g};r!==void 0&&m(r,(t,n)=>{e(C,t,n)});let w=o?.logger,T=w?{...v,...w}:v,E=new re(l,{...h,...c.matcherOptions?.queryParams!==void 0&&{queryParams:c.matcherOptions.queryParams},logger:T,...b!==void 0&&{limits:Object.fromEntries(b.filter(e=>Oe(y,e)).map(e=>[e,y[e]]))},...c.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:c.matcherOptions.urlParamsEncoding}},C),D=R(E),O=D.routeGetStore(),k=O.lifecycleNamespace;ee(O.config,d),ne(O,Object.assign(O.resolvedForwardMap,f)),Object.assign(O.routeCustomFields,p),c.rootPath!==``&&D.setRootPath(c.rootPath);let[A,j]=x,[M,te]=S;for(let[e,t]of $(A))k.addCanDeactivate(e,t,!0);for(let[e,t]of $(j))k.addCanActivate(e,t,!0);let N=Q(E);for(let[e,t]of $(M))N.addDeactivateGuard(e,t);for(let[e,t]of $(te))N.addActivateGuard(e,t);let P=new Set(D.getCloneState().pluginFactories),F=_.filter(e=>!P.has(e));return F.length>0&&E.usePlugin(...F),E}export{ke as cloneRouter,De as getDependenciesApi,Q as getLifecycleApi,de as getPluginApi,Ce as getRoutesApi};
1
+ import{a as e,m as t}from"./ingest-XMtKw1RB.mjs";import{s as n,t as r,v as i,y as a}from"./helpers-CP7uvUBo.mjs";import{A as o,C as s,D as c,E as l,F as u,I as d,L as f,M as p,N as m,O as h,P as g,S as _,T as v,_ as y,a as b,b as ee,c as x,d as S,f as C,g as w,h as T,i as E,j as D,k as O,l as k,m as A,n as j,o as M,p as te,r as ne,s as N,t as re,u as P,w as F,x as I,y as L}from"./Router-Vyf1k63r.mjs";import{_ as ie,i as R,o as ae}from"./internals-CcqRqpm9.mjs";function oe(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 se(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 ce(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 B(e,t){return!e||(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1)}const le=Object.freeze,ue=Object.keys,V=new WeakMap;function de(n){let o=V.get(n);if(o)return o;let l=R(n),u={makeState:(e,t,n,r)=>l.makeState(e,t,n,r),forwardState:(e,t,n)=>(l.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),l.validator?.navigation.validateSearch(n,`forwardState`),l.forwardState(e,t,n)),matchPath:e=>l.matchPath(e,l.getOptions()),navigateToState:(e,t)=>l.navigateToState(e,t),setRootPath:e=>(d(l.isDisposed),f(l.treeChanged.isEmitting,()=>l.routeGetStore().revalidating),ce(l.getRootPath(),e,l.isTransitioning(),l.logger)?(l.setRootPath(e),!0):!1),getRootPath:l.getRootPath,addEventListener:(e,t)=>l.addEventListener(e,t),buildNavigationState:(e,t={},n={})=>{ae(l,`buildNavigationState`,e,t);let i=r(t);l.validator?.navigation.validateSearch(n,`buildNavigationState`),l.validator?.routes.validateStateBuilderArgs(e,i,`buildNavigationState`);let a=v(l.port(),e,i,n,{diagnoseUndeclared:!0});if(l.buildStateResolved(a.name,a.path))return ie(`buildNavigationState`,a.name,a.path,l.port().queryNames(a.name)),s(a,F(a,l.port()))},buildPathResolved:(e,t,n)=>l.buildPathResolved(e,t,n),getOptions:l.getOptions,getTree:l.getTree,addInterceptor:(e,t)=>{d(l.isDisposed),h(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=>{d(l.isDisposed),c(e);let r=ue(e);for(let e of r)if(e in n)throw a(new i(t.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));let o=r.map(t=>e[t]),s={keys:r};for(let[e,t]of r.entries())n[t]=o[e];l.routerExtensions.push(s);let u=!1;return()=>{if(u)return;u=!0;for(let e of s.keys)delete n[e];let e=l.routerExtensions.indexOf(s);e!==-1&&l.routerExtensions.splice(e,1)}},emitTransitionError:e=>{d(l.isDisposed),l.emitTransitionError(e)},claimContextNamespace:n=>{if(d(l.isDisposed),typeof n!=`string`||n===``)throw TypeError(`[claimContextNamespace] namespace must be a non-empty string, got ${typeof n==`string`?`an empty string`:typeof n}`);if(l.contextClaimRecords.has(n))throw a(new i(t.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${n}" is already claimed by another plugin`}));let r={write(t,i){l.contextClaimRecords.get(n)===r&&e(t.context,n,i)},release(){l.contextClaimRecords.get(n)===r&&l.contextClaimRecords.delete(n)}};return l.contextClaimRecords.set(n,r),r}},p=le(u);return V.set(n,p),p}const H=Object.freeze,U=Object.keys,fe=Object.freeze({replace:!0,revalidate:!0}),pe=Object.freeze([]);function me(e,t,n,r){let i=t=>e.has(t);I(t.decoders,i),I(t.encoders,i),I(t.defaultParams,i),I(t.defaultSearch,i),I(t.forwardMap,i),I(t.forwardFnMap,i),I(n,i),I(t.forwardMap,e=>i(t.forwardMap[e]));let[a,o]=r.getFactories();for(let e of U(o))i(e)&&r.clearCanActivate(e,`both`);for(let e of U(a))i(e)&&r.clearCanDeactivate(e,`both`)}function W(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 G(t,n,r,i){let a={name:t.name,path:t.path};return W(a,n,r,i),t.children&&e(a,`children`,t.children.map(e=>G(e,`${n}.${e.name}`,r,i))),a}function K(e,t,n,r){let i={name:e,path:t};return W(i,e,n,r),H(i)}function q(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,K(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function he(e,t){let n=q(e,e=>t.has(e));return H([...n.values()])}function ge(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(K(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),H(i)}function _e(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:H(n),added:H(r)}}function ve(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),H(t)}function ye(e,t,n,r){b(e,t,n);let i=C(e,t,n,r);L(i.matcher,i.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(i.pendingCanActivate.keys(),i.pendingCanDeactivate.keys(),!1),E(e,i)}function J(e,t,n){e.systemCommit(t,n,fe)}function be(e,t,n,r,i){k(t,`addRoute`),S(t,`addRoute`),M(t,`addRoute`),N(t,``,`addRoute`),x(t,``,`addRoute`);let a=te(t,e.rootPath,e.matcherOptions,n.logger);L(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!0);let o=w(a,e.depsStore);e.lifecycleNamespace.clearDefinitionGuards(),E(e,a,o),e.revalidating=!0;try{if(i?.(),r!==void 0){let t=n.matchPath(r.path,n.getOptions());if(t){if(t.name===r.name)J(n,{...t,context:r.context,transition:r.transition},r);else{let{toDeactivate:i,toActivate:a,intersection:o}=j(t,r,n.getMetaForState);if(e.lifecycleNamespace.canNavigateTo([],a,t,r)){let e={phase:`activating`,from:r.name,reason:`success`,replace:!0,segments:{deactivated:i,activated:a,intersection:o}};J(n,{...t,transition:e},r)}else n.revalidateToNotFound(r.path)}}else n.revalidateToNotFound(r.path)}}finally{e.revalidating=!1}}function xe(e,t,n){let r=e.definitions,i=_(r,t);if(i===void 0)return;let a=n?he(e,i):pe;return me(i,e.config,e.routeCustomFields,e.lifecycleNamespace),T(e,r),a}function Se(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=n.at(-1),i=g(r),a=e.lifecycleNamespace.getFactories();return G(i,t,e.config,a)}const Y=new WeakMap;function Ce(e){let n=Y.get(e);if(n)return n;let r=R(e),s=r.routeGetStore(),c=e=>{r.treeChanged.emit(e)},l=H({add:(e,t)=>{d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating);let n=Array.isArray(e)?e:[e],i=t?.parent,a=p(n);if(D(a,r.validator),i!==void 0&&r.validator?.routes.validateParentOption(i,s.tree),r.validator?.routes.throwIfInternalRouteInArray(a,`addRoute`),r.validator?.routes.validateAddRouteArgs(a),r.validator?.routes.validateRoutes(a,s,i),ye(s,a,i,r.logger),r.treeChanged.listenerCount()>0){let e=ge(a,i,s);c(i===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:i})}},remove:e=>{if(d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating),r.validator?.routes.validateRemoveRouteArgs(e),r.validator?.routes.throwIfInternalRoute(e,`removeRoute`),P(e,`removeRoute`),!oe(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=xe(s,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&se(e,r.logger),t&&c({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating),r.validator?.routes.validateUpdateRouteBasicArgs(e,t),r.validator?.routes.throwIfInternalRoute(e,`updateRoute`),P(e,`updateRoute`),r.validator?.routes.validateUpdateRoutePropertyTypes(e,t),r.validator?.routes.validateUpdateRoute(e,t,s),!s.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=s.lifecycleNamespace,i=A(s,n,e,t);if(r.treeChanged.listenerCount()>0){let t=ve(i);U(t).length>0&&c({op:`update`,name:e,patch:t})}},clear:()=>{if(d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating),r.getStateName()!==void 0)throw a(new i(t.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?H([...q(s,()=>!0).values()]):void 0;y(s),s.lifecycleNamespace.clearAll(),e!==void 0&&c({op:`clear`,removed:e})},has:e=>(r.validator?.routes.validateRouteName(e,`hasRoute`),s.matcher.hasRoute(e)),get:e=>(r.validator?.routes.validateRouteName(e,`getRoute`),Se(s,e)),replace:t=>{d(r.isDisposed),f(r.treeChanged.isEmitting,()=>s.revalidating);let n=Array.isArray(t)?t:[t];if(!B(r.isTransitioning(),r.logger))return;let i=p(n);D(i,r.validator),r.validator?.routes.throwIfInternalRouteInArray(i,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(i),r.validator?.routes.validateRoutes(i,s);let a=e.getState(),o=r.treeChanged.listenerCount()>0?q(s,()=>!0):void 0;be(s,i,r,a,o===void 0?void 0:()=>{let e=q(s,()=>!0),{removed:t,added:n}=_e(o,e);c({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>(o(e),r.treeChanged.subscribe(e))});return Y.set(e,l),l}const we=Object.create,X=Object.hasOwn,Z=e=>typeof e==`symbol`?e:String(e);function Te(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=Z(t);if(!X(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 Ee(e,t,n){let r=[],i=e.dependencies;m(t,(t,a)=>{X(i,t)?r.push(t):n?.dependencies.validateDependencyCount(e,`setDependencies`),l(i,t,a)}),r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function De(e){let t=R(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 n({...e})},set:(e,n)=>{d(t.isDisposed),t.validator?.dependencies.validateSetDependencyArgs(e,n,`setDependency`),Te(t.dependenciesGetStore(),e,n,t.validator),d(t.isDisposed)},setAll:e=>{d(t.isDisposed);let n=t.dependenciesGetStore();t.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),Ee(n,e,t.validator),d(t.isDisposed)},remove:e=>{d(t.isDisposed),t.validator?.dependencies.validateDependencyName(e,`removeDependency`);let n=t.dependenciesGetStore(),r=Z(e);X(n.dependencies,r)||t.validator?.dependencies.warnRemoveNonExistent(String(r)),delete n.dependencies[r]},reset:()=>{d(t.isDisposed);let e=t.dependenciesGetStore();e.dependencies=we(null)},has:e=>(t.validator?.dependencies.validateDependencyName(e,`hasDependency`),X(t.dependenciesGetStore().dependencies,e))}}function Q(e){let t=R(e),n=t.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,r){d(t.isDisposed),O(e,`addActivateGuard`),t.validator?.routes.validateRouteName(e,`addActivateGuard`),t.validator?.lifecycle.validateHandler(r,`addActivateGuard`),n.addCanActivate(e,r,!1)},addDeactivateGuard(e,r){d(t.isDisposed),O(e,`addDeactivateGuard`),t.validator?.routes.validateRouteName(e,`addDeactivateGuard`),t.validator?.lifecycle.validateHandler(r,`addDeactivateGuard`),n.addCanDeactivate(e,r,!1)},removeActivateGuard(e){d(t.isDisposed),O(e,`removeActivateGuard`),t.validator?.routes.validateRouteName(e,`removeActivateGuard`),n.clearCanActivate(e,`external`)},removeDeactivateGuard(e){d(t.isDisposed),O(e,`removeDeactivateGuard`),t.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),n.clearCanDeactivate(e,`external`)}}}const $=Object.entries,Oe=Object.hasOwn;function ke(n,r,o){let s=R(n);if(s.isDisposed())throw a(new i(t.ROUTER_DISPOSED));s.validator?.dependencies.validateCloneArgs(r);let c=s.routeGetStore(),l=u(c.tree),d=c.config,f=c.resolvedForwardMap,p=c.routeCustomFields,{options:h,dependencies:g,pluginFactories:_,loggerConfig:v,limits:y,limitKeys:b}=s.getCloneState(),{definition:x,external:S}=c.lifecycleNamespace.getFactoriesByOrigin(),C={...g};r!==void 0&&m(r,(t,n)=>{e(C,t,n)});let w=o?.logger,T=w?{...v,...w}:v,E=new re(l,{...h,...c.matcherOptions?.queryParams!==void 0&&{queryParams:c.matcherOptions.queryParams},logger:T,...b!==void 0&&{limits:Object.fromEntries(b.filter(e=>Oe(y,e)).map(e=>[e,y[e]]))},...c.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:c.matcherOptions.urlParamsEncoding}},C),D=R(E),O=D.routeGetStore(),k=O.lifecycleNamespace;ee(O.config,d),ne(O,Object.assign(O.resolvedForwardMap,f)),Object.assign(O.routeCustomFields,p),c.rootPath!==``&&D.setRootPath(c.rootPath);let[A,j]=x,[M,te]=S;for(let[e,t]of $(A))k.addCanDeactivate(e,t,!0);for(let[e,t]of $(j))k.addCanActivate(e,t,!0);let N=Q(E);for(let[e,t]of $(M))N.addDeactivateGuard(e,t);for(let[e,t]of $(te))N.addActivateGuard(e,t);let P=new Set(D.getCloneState().pluginFactories),F=_.filter(e=>!P.has(e));return F.length>0&&E.usePlugin(...F),E}export{ke as cloneRouter,De as getDependenciesApi,Q as getLifecycleApi,de as getPluginApi,Ce as getRoutesApi};
2
2
  //# sourceMappingURL=api.mjs.map