@real-router/core 0.132.3 → 0.132.5
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-BneSMCEV.js → Router-79wRoC9R.js} +2 -2
- package/dist/cjs/{Router-BneSMCEV.js.map → Router-79wRoC9R.js.map} +1 -1
- package/dist/cjs/Router.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-B5K_j-wq.mjs → Router-BKzQ7GAf.mjs} +2 -2
- package/dist/esm/{Router-B5K_j-wq.mjs.map → Router-BKzQ7GAf.mjs.map} +1 -1
- package/dist/esm/Router.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
|
@@ -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;
|
|
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"}
|
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-B5K_j-wq.mjs";import{_ as re,i as L,o as R}from"./internals-CcqRqpm9.mjs";function ie(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 ae(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 oe(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 se=Object.freeze,ce=Object.keys,V=new WeakMap;function le(n){let o=V.get(n);if(o)return o;let l=L(n),d={makeState:(e,t,n,i)=>{R(l,`makeState`,e,t);let a=r(t);return l.validator?.state.validateMakeStateArgs(e,a,i),l.validator?.navigation.validateSearch(n,`makeState`),l.makeState(e,a,n,i)},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),oe(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={})=>{R(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=ce(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=se(d);return V.set(n,f),f}const H=Object.freeze,U=Object.keys,ue=Object.freeze({replace:!0,revalidate:!0}),de=Object.freeze([]);function fe(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 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 pe(e,t){let n=q(e,e=>t.has(e));return H([...n.values()])}function me(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 he(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 ge(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 _e(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 J(e,t,n){e.systemCommit(t,n,ue)}function ve(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)J(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}};J(n,{...t,transition:e},r)}else n.revalidateToNotFound(r.path)}}else n.revalidateToNotFound(r.path)}}finally{e.revalidating=!1}}function ye(e,t,n){let r=e.definitions,i=h(r,t);if(i===void 0)return;let a=n?pe(e,i):de;return fe(i,e.config,e.routeCustomFields,e.lifecycleNamespace),C(e,r),a}function be(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=n.at(-1),i=d(r),a=e.lifecycleNamespace.getFactories();return G(i,t,e.config,a)}const Y=new WeakMap;function xe(e){let n=Y.get(e);if(n)return n;let r=L(e),s=r.routeGetStore(),c=e=>{r.treeChanged.emit(e)},l=H({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),_e(s,a,i,r.logger),r.treeChanged.listenerCount()>0){let e=me(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`),!ie(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=ye(s,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&ae(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=ge(i);U(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(!B(r.isTransitioning(),r.logger))return;let e=r.treeChanged.listenerCount()>0?H([...q(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`),be(s,e)),replace:t=>{m(r.isDisposed),u(r.treeChanged.isEmitting,()=>s.revalidating);let n=Array.isArray(t)?t:[t];if(!B(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?q(s,()=>!0):void 0;ve(s,i,r,a,l===void 0?void 0:()=>{let e=q(s,()=>!0),{removed:t,added:n}=he(l,e);c({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>r.treeChanged.subscribe(e)});return Y.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,le as getPluginApi,xe 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,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-BKzQ7GAf.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};
|
|
2
2
|
//# sourceMappingURL=api.mjs.map
|