@real-router/core 0.132.6 → 0.132.7
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-eL2nvbqS.js +2 -0
- package/dist/cjs/Router-eL2nvbqS.js.map +1 -0
- package/dist/cjs/api/getRoutesApi.d.ts.map +1 -1
- package/dist/cjs/api.js +1 -1
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/Router-Dai7Ky7R.mjs +2 -0
- package/dist/esm/Router-Dai7Ky7R.mjs.map +1 -0
- package/dist/esm/api/getRoutesApi.d.mts.map +1 -1
- package/dist/esm/api.mjs +1 -1
- package/dist/esm/api.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/cjs/Router-CugWmKKk.js +0 -2
- package/dist/cjs/Router-CugWmKKk.js.map +0 -1
- package/dist/esm/Router-C2q7FCpy.mjs +0 -2
- package/dist/esm/Router-C2q7FCpy.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRoutesApi.d.mts","names":[],"sources":["../../../src/api/getRoutesApi.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getRoutesApi.d.mts","names":[],"sources":["../../../src/api/getRoutesApi.ts"],"mappings":";;;wBAo3BgB,aACd,qBAAqB,sBAAsB,qBAC3C,QAAQ,OAAO,gBAAgB,UAAU"}
|
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-f5UUCiOG.mjs";import{A as o,C as s,D as c,E as l,F as u,M as d,N as f,O as p,P as m,S as h,T as g,_,a as v,b as ee,c as y,d as b,f as x,g as S,h as C,i as w,j as T,k as E,l as D,m as O,n as k,o as A,p as j,r as te,s as M,t as ne,u as N,w as P,x as F,y as I}from"./Router-C2q7FCpy.mjs";import{_ as re,i as L,o as ie}from"./internals-CcqRqpm9.mjs";function ae(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 oe(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 se(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 z(e,t){return!e||(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1)}const ce=Object.freeze,le=Object.keys,B=new WeakMap;function ue(n){let o=B.get(n);if(o)return o;let l=L(n),d={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=>(m(l.isDisposed),u(l.treeChanged.isEmitting,()=>l.routeGetStore().revalidating),se(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={})=>{ie(l,`buildNavigationState`,e,t);let i=r(t);l.validator?.navigation.validateSearch(n,`buildNavigationState`),l.validator?.routes.validateStateBuilderArgs(e,i,`buildNavigationState`);let a=g(l.port(),e,i,n,{diagnoseUndeclared:!0});if(l.buildStateResolved(a.name,a.path))return re(`buildNavigationState`,a.name,a.path,l.port().queryNames(a.name)),s(a,P(a,l.port()))},getOptions:l.getOptions,getTree:l.getTree,addInterceptor:(e,t)=>{m(l.isDisposed),c(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=>{m(l.isDisposed);let r=le(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 c=!1;return()=>{if(c)return;c=!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=>{m(l.isDisposed),l.emitTransitionError(e)},claimContextNamespace:n=>{if(m(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}},f=ce(d);return B.set(n,f),f}const V=Object.freeze,H=Object.keys,de=Object.freeze({replace:!0,revalidate:!0}),fe=Object.freeze([]);function pe(e,t,n,r){let i=t=>e.has(t);F(t.decoders,i),F(t.encoders,i),F(t.defaultParams,i),F(t.defaultSearch,i),F(t.forwardMap,i),F(t.forwardFnMap,i),F(n,i),F(t.forwardMap,e=>i(t.forwardMap[e]));let[a,o]=r.getFactories();for(let e of H(o))i(e)&&r.clearCanActivate(e,`both`);for(let e of H(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(t,n,r,i){let a={name:t.name,path:t.path};return U(a,n,r,i),t.children&&e(a,`children`,t.children.map(e=>W(e,`${n}.${e.name}`,r,i))),a}function G(e,t,n,r){let i={name:e,path:t};return U(i,e,n,r),V(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 me(e,t){let n=K(e,e=>t.has(e));return V([...n.values()])}function he(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??``),V(i)}function ge(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:V(n),added:V(r)}}function _e(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),V(t)}function ve(e,t,n,r){v(e,t,n);let i=x(e,t,n,r);I(i.matcher,i.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(i.pendingCanActivate.keys(),i.pendingCanDeactivate.keys(),!1),w(e,i)}function q(e,t,n){e.systemCommit(t,n,de)}function ye(e,t,n,r,i){D(t,`addRoute`),b(t,`addRoute`),A(t,`addRoute`),M(t,``,`addRoute`),y(t,``,`addRoute`);let a=j(t,e.rootPath,e.matcherOptions,n.logger);I(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!0);let o=S(a,e.depsStore);e.lifecycleNamespace.clearDefinitionGuards(),w(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)q(n,{...t,context:r.context,transition:r.transition},r);else{let{toDeactivate:i,toActivate:a,intersection:o}=k(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}};q(n,{...t,transition:e},r)}else n.revalidateToNotFound(r.path)}}else n.revalidateToNotFound(r.path)}}finally{e.revalidating=!1}}function be(e,t,n){let r=e.definitions,i=h(r,t);if(i===void 0)return;let a=n?me(e,i):fe;return pe(i,e.config,e.routeCustomFields,e.lifecycleNamespace),C(e,r),a}function xe(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=n.at(-1),i=d(r),a=e.lifecycleNamespace.getFactories();return W(i,t,e.config,a)}const J=new WeakMap;function Y(e){let n=J.get(e);if(n)return n;let r=L(e),s=r.routeGetStore(),c=e=>{r.treeChanged.emit(e)},l=V({add:(e,t)=>{m(r.isDisposed),u(r.treeChanged.isEmitting,()=>s.revalidating);let n=Array.isArray(e)?e:[e],i=t?.parent,a=o(n);if(E(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),ve(s,a,i,r.logger),r.treeChanged.listenerCount()>0){let e=he(a,i,s);c(i===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:i})}},remove:e=>{if(m(r.isDisposed),u(r.treeChanged.isEmitting,()=>s.revalidating),r.validator?.routes.validateRemoveRouteArgs(e),r.validator?.routes.throwIfInternalRoute(e,`removeRoute`),N(e,`removeRoute`),!ae(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=be(s,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&oe(e,r.logger),t&&c({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(m(r.isDisposed),u(r.treeChanged.isEmitting,()=>s.revalidating),r.validator?.routes.validateUpdateRouteBasicArgs(e,t),r.validator?.routes.throwIfInternalRoute(e,`updateRoute`),N(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=O(s,n,e,t);if(r.treeChanged.listenerCount()>0){let t=_e(i);H(t).length>0&&c({op:`update`,name:e,patch:t})}},clear:()=>{if(m(r.isDisposed),u(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(!z(r.isTransitioning(),r.logger))return;let e=r.treeChanged.listenerCount()>0?V([...K(s,()=>!0).values()]):void 0;_(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`),xe(s,e)),replace:t=>{m(r.isDisposed),u(r.treeChanged.isEmitting,()=>s.revalidating);let n=Array.isArray(t)?t:[t];if(!z(r.isTransitioning(),r.logger))return;let i=o(n);E(i,r.validator),r.validator?.routes.throwIfInternalRouteInArray(i,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(i),r.validator?.routes.validateRoutes(i,s);let a=e.getState(),l=r.treeChanged.listenerCount()>0?K(s,()=>!0):void 0;ye(s,i,r,a,l===void 0?void 0:()=>{let e=K(s,()=>!0),{removed:t,added:n}=ge(l,e);c({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>r.treeChanged.subscribe(e)});return J.set(e,l),l}const Se=Object.create,X=Object.hasOwn,Z=e=>typeof e==`symbol`?e:String(e);function Ce(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 we(e,t,n){let r=[],i=e.dependencies;T(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 Te(e){let t=L(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)=>{m(t.isDisposed),t.validator?.dependencies.validateSetDependencyArgs(e,n,`setDependency`),Ce(t.dependenciesGetStore(),e,n,t.validator),m(t.isDisposed)},setAll:e=>{m(t.isDisposed);let n=t.dependenciesGetStore();t.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),we(n,e,t.validator),m(t.isDisposed)},remove:e=>{m(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:()=>{m(t.isDisposed);let e=t.dependenciesGetStore();e.dependencies=Se(null)},has:e=>(t.validator?.dependencies.validateDependencyName(e,`hasDependency`),X(t.dependenciesGetStore().dependencies,e))}}function Q(e){let t=L(e),n=t.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,r){m(t.isDisposed),p(e,`addActivateGuard`),t.validator?.routes.validateRouteName(e,`addActivateGuard`),t.validator?.lifecycle.validateHandler(r,`addActivateGuard`),n.addCanActivate(e,r,!1)},addDeactivateGuard(e,r){m(t.isDisposed),p(e,`addDeactivateGuard`),t.validator?.routes.validateRouteName(e,`addDeactivateGuard`),t.validator?.lifecycle.validateHandler(r,`addDeactivateGuard`),n.addCanDeactivate(e,r,!1)},removeActivateGuard(e){m(t.isDisposed),p(e,`removeActivateGuard`),t.validator?.routes.validateRouteName(e,`removeActivateGuard`),n.clearCanActivate(e,`external`)},removeDeactivateGuard(e){m(t.isDisposed),p(e,`removeDeactivateGuard`),t.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),n.clearCanDeactivate(e,`external`)}}}const $=Object.entries,Ee=Object.hasOwn;function De(n,r,o){let s=L(n);if(s.isDisposed())throw a(new i(t.ROUTER_DISPOSED));s.validator?.dependencies.validateCloneArgs(r);let c=s.routeGetStore(),l=f(c.tree),u=c.config,d=c.resolvedForwardMap,p=c.routeCustomFields,{options:m,dependencies:h,pluginFactories:g,loggerConfig:_,limits:v,limitKeys:y}=s.getCloneState(),{definition:b,external:x}=c.lifecycleNamespace.getFactoriesByOrigin(),S={...h};r!==void 0&&T(r,(t,n)=>{e(S,t,n)});let C=o?.logger,w=C?{..._,...C}:_,E=new ne(l,{...m,...c.matcherOptions?.queryParams!==void 0&&{queryParams:c.matcherOptions.queryParams},logger:w,...y!==void 0&&{limits:Object.fromEntries(y.filter(e=>Ee(v,e)).map(e=>[e,v[e]]))},...c.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:c.matcherOptions.urlParamsEncoding}},S),D=L(E),O=D.routeGetStore(),k=O.lifecycleNamespace;ee(O.config,u),te(O,Object.assign(O.resolvedForwardMap,d)),Object.assign(O.routeCustomFields,p),c.rootPath!==``&&D.setRootPath(c.rootPath);let[A,j]=b,[M,N]=x;for(let[e,t]of $(A))k.addCanDeactivate(e,t,!0);for(let[e,t]of $(j))k.addCanActivate(e,t,!0);let P=Q(E);for(let[e,t]of $(M))P.addDeactivateGuard(e,t);for(let[e,t]of $(N))P.addActivateGuard(e,t);let F=new Set(D.getCloneState().pluginFactories),I=g.filter(e=>!F.has(e));return I.length>0&&E.usePlugin(...I),E}export{De as cloneRouter,Te as getDependenciesApi,Q as getLifecycleApi,ue as getPluginApi,Y 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-f5UUCiOG.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-Dai7Ky7R.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};
|
|
2
2
|
//# sourceMappingURL=api.mjs.map
|