@real-router/core 0.121.1 → 0.123.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -0
- package/dist/cjs/Router-OLCCrAMG.js +2 -0
- package/dist/cjs/Router-OLCCrAMG.js.map +1 -0
- package/dist/cjs/Router.d.ts.map +1 -1
- package/dist/cjs/api/getPluginApi.d.ts.map +1 -1
- 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/engine/validation/route-batch.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/internals-B3RNe4dR.js +2 -0
- package/dist/cjs/internals-B3RNe4dR.js.map +1 -0
- package/dist/cjs/internals.d.ts.map +1 -1
- package/dist/cjs/namespaces/RoutesNamespace/routesStore.d.ts +3 -5
- package/dist/cjs/namespaces/RoutesNamespace/routesStore.d.ts.map +1 -1
- package/dist/cjs/pipeline/port.d.ts +2 -1
- package/dist/cjs/pipeline/port.d.ts.map +1 -1
- package/dist/cjs/types/RouterValidator.d.ts +0 -1
- package/dist/cjs/types/RouterValidator.d.ts.map +1 -1
- package/dist/cjs/validation.js +1 -2
- package/dist/esm/Router-C5eNe1Jl.mjs +2 -0
- package/dist/esm/Router-C5eNe1Jl.mjs.map +1 -0
- package/dist/esm/Router.d.mts.map +1 -1
- package/dist/esm/api/getPluginApi.d.mts.map +1 -1
- 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/engine/validation/route-batch.d.mts.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internals-CVtV8QRG.mjs +2 -0
- package/dist/esm/internals-CVtV8QRG.mjs.map +1 -0
- package/dist/esm/internals.d.mts.map +1 -1
- package/dist/esm/namespaces/RoutesNamespace/routesStore.d.mts +3 -5
- package/dist/esm/namespaces/RoutesNamespace/routesStore.d.mts.map +1 -1
- package/dist/esm/pipeline/port.d.mts +2 -1
- package/dist/esm/pipeline/port.d.mts.map +1 -1
- package/dist/esm/types/RouterValidator.d.mts +0 -1
- package/dist/esm/types/RouterValidator.d.mts.map +1 -1
- package/dist/esm/validation.mjs +1 -2
- package/package.json +1 -1
- package/dist/cjs/Router-Cbp-sZRe.js +0 -2
- package/dist/cjs/Router-Cbp-sZRe.js.map +0 -1
- package/dist/cjs/route-name-CSQu8dZ-.js +0 -2
- package/dist/cjs/route-name-CSQu8dZ-.js.map +0 -1
- package/dist/cjs/validation.js.map +0 -1
- package/dist/esm/Router-CwtXjQfK.mjs +0 -2
- package/dist/esm/Router-CwtXjQfK.mjs.map +0 -1
- package/dist/esm/route-name-GJnRPvBX.mjs +0 -2
- package/dist/esm/route-name-GJnRPvBX.mjs.map +0 -1
- package/dist/esm/validation.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.mts","names":[],"sources":["../../src/Router.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Router.d.mts","names":[],"sources":["../../src/Router.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;cAgGa,OACX,qBAAqB,sBAAsB,gCAChC,SAAgB;;GAC1B;;;;;;EA8CC,YAAA,SAAQ,MAAM,iBACd,UAAS,QAAQ,QAAQ,gBACzB,eAAc;EAqhBhB,cACE,cACA,SAAS,QACT,SAAS,cACT,0BACA;EAwCF,UAAU,eAAe,SAAS,QAAQ,SAAS;EA8BnD,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;EAoItD,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;EAsDX,kBAAkB,UAAU,oBAAoB,QAAQ;EAiBxD,mBAAmB,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPluginApi.d.mts","names":[],"sources":["../../../src/api/getPluginApi.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getPluginApi.d.mts","names":[],"sources":["../../../src/api/getPluginApi.ts"],"mappings":";;;iBA4DgB,aACd,qBAAqB,sBAAsB,qBAC3C,QAAQ,OAAO,gBAAgB"}
|
|
@@ -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":";;;iBA65BgB,aACd,qBAAqB,sBAAsB,qBAC3C,QAAQ,OAAO,gBAAgB,UAAU"}
|
package/dist/esm/api.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as e,h as t,y as n}from"./route-name-GJnRPvBX.mjs";import{a as r,m as i}from"./ingest-XMtKw1RB.mjs";import{A as a,C as o,D as s,E as c,M as l,N as u,O as d,S as f,T as p,_ as m,a as h,b as g,c as _,d as v,f as y,g as b,h as x,i as S,j as C,k as w,l as T,m as E,n as D,o as O,p as k,r as ee,s as A,t as te,u as j,v as M,w as N,x as ne}from"./Router-CwtXjQfK.mjs";import{n as P,t as F}from"./RouterError-iSQqAez7.mjs";function I(e){if(e())throw P(new F(i.ROUTER_DISPOSED))}function L(e){if(e())throw P(new F(i.REENTRANT_TREE_MUTATION,{message:`[router] cannot mutate the route tree from inside a subscribeChanges handler — the mutation would run while a TREE_CHANGED emit is on the stack and the tree must stay atomic. Defer it: queueMicrotask(() => routes.add(...)) or await.`}))}function re(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 ie(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 ae(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):!0}const oe=Object.freeze,se=Object.keys,B=new WeakMap;function ce(o){let s=B.get(o);if(s)return s;let l=t(o),u={makeState:(t,n,r,i)=>(e(l,`makeState`,t,n),l.validator?.state.validateMakeStateArgs(t,n,i),l.validator?.navigation.validateSearch(r,`makeState`),l.makeState(t,n,r,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.validator?.routes.validateMatchPathArgs(e),l.matchPath(e,l.getOptions())),navigateToState:(e,t)=>(I(l.isDisposed),l.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&l.validator?.navigation.validateNavigationOptions(t,`navigateToState`),l.navigateToState(e,t)),setRootPath:e=>(I(l.isDisposed),L(l.treeChanged.isEmitting),l.validator?.routes.validateSetRootPathArgs(e),ae(l.getRootPath(),e,l.isTransitioning(),l.logger)?(l.setRootPath(e),!0):!1),getRootPath:l.getRootPath,addEventListener:(e,t)=>(I(l.isDisposed),a(e),l.validator?.eventBus.validateListenerArgs(e,t),l.addEventListener(e,t)),buildNavigationState:(t,r={},i={})=>{e(l,`buildNavigationState`,t,r),l.validator?.navigation.validateSearch(i,`buildNavigationState`),l.validator?.routes.validateStateBuilderArgs(t,r,`buildNavigationState`);let a=c(l.port(),t,r,i,{diagnoseUndeclared:!0});if(l.buildStateResolved(a.name,a.path))return n(`buildNavigationState`,a.name,a.path,l.port().queryNames(a.name)),N(a,p(a,l.port()))},getOptions:l.getOptions,getTree:l.getTree,addInterceptor:(e,t)=>{I(l.isDisposed),l.validator?.plugins.validateAddInterceptorArgs(e,t);let n=l.interceptors.get(e);n||(n=[],l.interceptors.set(e,n)),n.push(t);let r=!1;return()=>{r||(r=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=l.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{I(l.isDisposed);let t=se(e);for(let e of t)if(e in o)throw P(new F(i.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));for(let n of t)o[n]=e[n];let n={keys:t};l.routerExtensions.push(n);let r=!1;return()=>{if(r)return;r=!0;for(let e of n.keys)delete o[e];let e=l.routerExtensions.indexOf(n);e!==-1&&l.routerExtensions.splice(e,1)}},emitTransitionError:e=>{I(l.isDisposed),l.emitTransitionError(e)},claimContextNamespace:e=>{if(I(l.isDisposed),typeof e!=`string`||e===``)throw TypeError(`[claimContextNamespace] namespace must be a non-empty string, got ${typeof e==`string`?`an empty string`:typeof e}`);if(l.contextClaimRecords.has(e))throw P(new F(i.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));let t={write(n,i){l.contextClaimRecords.get(e)===t&&r(n.context,e,i)},release(){l.contextClaimRecords.get(e)===t&&l.contextClaimRecords.delete(e)}};return l.contextClaimRecords.set(e,t),t}},d=oe(u);return B.set(o,d),d}const V=Object.freeze,H=Object.keys,le=Object.freeze({replace:!0,revalidate:!0}),ue=Object.freeze([]);function de(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(e,t,n,r){let i={name:e.name,path:e.path};return U(i,t,n,r),e.children&&(i.children=e.children.map(e=>W(e,`${t}.${e.name}`,n,r))),i}function G(e,t,n,r){let i={name:e,path:t};return U(i,e,n,r),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 fe(e,t){let n=K(e,e=>t.has(e));return V([...n.values()])}function pe(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 me(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 he(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 ge(e,t,n,r){let i=M(t);h(e,i,n);let a=y(e,i,n,r);return g(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!1),S(e,a),i}function q(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function J(e,t,n,r,i){if(q(e,r.path)!==i){t.revalidateToNotFound(r.path);return}t.systemCommit(n,r,le)}function _e(e,t,n,r,i){let a=M(t);T(a,`addRoute`),v(a,`addRoute`),O(a,`addRoute`),A(a,``,`addRoute`),_(a,``,`addRoute`);let o=k(a,e.rootPath,e.matcherOptions,n.logger);g(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!0);let s=b(o,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),S(e,o,s),i?.(),r!==void 0){let t=q(e,r.path),i=n.matchPath(r.path,n.getOptions());if(i)if(i.name===r.name)J(e,n,{...i,context:r.context,transition:r.transition},r,t);else{let{toActivate:a}=D(i,r,n.getMetaForState);e.lifecycleNamespace.canNavigateTo([],a,i,r)?J(e,n,{...i,transition:r.transition},r,t):n.revalidateToNotFound(r.path)}else n.revalidateToNotFound(r.path)}}function ve(e,t,n){let r=e.definitions,i=o(r,t);if(i===void 0)return;let a=n?fe(e,i):ue;return de(i,e.config,e.routeCustomFields,e.lifecycleNamespace),x(e,r),a}function ye(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=s(n.at(-1)),i=e.lifecycleNamespace.getFactories();return W(r,t,e.config,i)}const Y=new WeakMap;function be(e){let n=Y.get(e);if(n)return n;let r=t(e),a=r.routeGetStore(),o=e=>{r.treeChanged.emit(e)},s=V({add:(e,t)=>{I(r.isDisposed),L(r.treeChanged.isEmitting);let n=Array.isArray(e)?e:[e],i=t?.parent;l(n,r.validator),i!==void 0&&r.validator?.routes.validateParentOption(i,a.tree),r.validator?.routes.throwIfInternalRouteInArray(n,`addRoute`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,a,i);let s=ge(a,n,i,r.logger);if(r.treeChanged.listenerCount()>0){let e=pe(s,i,a);o(i===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:i})}},remove:e=>{if(I(r.isDisposed),L(r.treeChanged.isEmitting),r.validator?.routes.validateRemoveRouteArgs(e),r.validator?.routes.throwIfInternalRoute(e,`removeRoute`),j(e,`removeRoute`),!re(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=ve(a,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&ie(e,r.logger),t&&o({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(I(r.isDisposed),L(r.treeChanged.isEmitting),r.validator?.routes.validateUpdateRouteBasicArgs(e,t),r.validator?.routes.throwIfInternalRoute(e,`updateRoute`),j(e,`updateRoute`),r.validator?.routes.validateUpdateRoutePropertyTypes(e,t),r.validator?.routes.validateUpdateRoute(e,t,a),!a.matcher.hasRoute(e))return;r.isTransitioning()&&r.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let n=a.lifecycleNamespace,i=E(a,n,e,t);if(r.treeChanged.listenerCount()>0){let t=he(i);H(t).length>0&&o({op:`update`,name:e,patch:t})}},clear:()=>{if(I(r.isDisposed),L(r.treeChanged.isEmitting),r.getStateName()!==void 0)throw P(new F(i.ROUTER_NOT_STOPPED,{message:`[router.clear] Cannot clear routes while a state is committed. Use replace(routes) to swap the tree on a running router, or stop() first.`}));if(!z(r.isTransitioning(),r.logger))return;let e=r.treeChanged.listenerCount()>0?V([...K(a,()=>!0).values()]):void 0;m(a),a.lifecycleNamespace.clearAll(),e!==void 0&&o({op:`clear`,removed:e})},has:e=>(r.validator?.routes.validateRouteName(e,`hasRoute`),a.matcher.hasRoute(e)),get:e=>(r.validator?.routes.validateRouteName(e,`getRoute`),ye(a,e)),replace:t=>{I(r.isDisposed),L(r.treeChanged.isEmitting);let n=Array.isArray(t)?t:[t];if(!z(r.isTransitioning(),r.logger))return;l(n,r.validator),r.validator?.routes.throwIfInternalRouteInArray(n,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,a);let i=e.getState(),s=r.treeChanged.listenerCount()>0?K(a,()=>!0):void 0;_e(a,n,r,i,s===void 0?void 0:()=>{let e=K(a,()=>!0),{removed:t,added:n}=me(s,e);o({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>r.treeChanged.subscribe(e)});return Y.set(e,s),s}const xe=Object.create,X=Object.hasOwn,Z=e=>typeof e==`symbol`?e:String(e);function Se(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 Ce(e,t,n){let r=[],i=e.dependencies;u(t,(t,a)=>{X(i,t)?r.push(t):n?.dependencies.validateDependencyCount(e,`setDependencies`),i[t]=a}),r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function we(e){let n=t(e);return{get:e=>{n.validator?.dependencies.validateDependencyName(e,`getDependency`);let t=n.dependenciesGetStore(),r=t.dependencies[e];return n.validator?.dependencies.validateDependencyExists(e,t),r},getAll:()=>{let e=n.dependenciesGetStore().dependencies;return w({...e})},set:(e,t)=>{I(n.isDisposed),n.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),Se(n.dependenciesGetStore(),e,t,n.validator),I(n.isDisposed)},setAll:e=>{I(n.isDisposed);let t=n.dependenciesGetStore();n.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),Ce(t,e,n.validator),I(n.isDisposed)},remove:e=>{I(n.isDisposed),n.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=n.dependenciesGetStore(),r=Z(e);X(t.dependencies,r)||n.validator?.dependencies.warnRemoveNonExistent(String(r)),delete t.dependencies[r]},reset:()=>{I(n.isDisposed);let e=n.dependenciesGetStore();e.dependencies=xe(null)},has:e=>(n.validator?.dependencies.validateDependencyName(e,`hasDependency`),X(n.dependenciesGetStore().dependencies,e))}}function Q(e){let n=t(e),r=n.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){I(n.isDisposed),C(e,`addActivateGuard`),n.validator?.routes.validateRouteName(e,`addActivateGuard`),n.validator?.lifecycle.validateHandler(t,`addActivateGuard`),r.addCanActivate(e,t,!1)},addDeactivateGuard(e,t){I(n.isDisposed),C(e,`addDeactivateGuard`),n.validator?.routes.validateRouteName(e,`addDeactivateGuard`),n.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),r.addCanDeactivate(e,t,!1)},removeActivateGuard(e){I(n.isDisposed),C(e,`removeActivateGuard`),n.validator?.routes.validateRouteName(e,`removeActivateGuard`),r.clearCanActivate(e,`external`)},removeDeactivateGuard(e){I(n.isDisposed),C(e,`removeDeactivateGuard`),n.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),r.clearCanDeactivate(e,`external`)}}}const $=Object.entries,Te=Object.hasOwn;function Ee(e,n,a){let o=t(e);if(o.isDisposed())throw P(new F(i.ROUTER_DISPOSED));o.validator?.dependencies.validateCloneArgs(n);let s=o.routeGetStore(),c=d(s.tree),l=s.config,f=s.resolvedForwardMap,p=s.routeCustomFields,{options:m,dependencies:h,pluginFactories:g,loggerConfig:_,limits:v,limitKeys:y}=o.getCloneState(),{definition:b,external:x}=s.lifecycleNamespace.getFactoriesByOrigin(),S={...h};n!==void 0&&u(n,(e,t)=>{r(S,e,t)});let C=a?.logger?{..._,...a.logger}:_,w=new te(c,{...m,logger:C,...y!==void 0&&{limits:Object.fromEntries(y.filter(e=>Te(v,e)).map(e=>[e,v[e]]))},...s.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:s.matcherOptions.urlParamsEncoding}},S),T=t(w),E=T.routeGetStore(),D=E.lifecycleNamespace;ne(E.config,l),ee(E,Object.assign(E.resolvedForwardMap,f)),Object.assign(E.routeCustomFields,p),s.rootPath!==``&&T.setRootPath(s.rootPath);let[O,k]=b,[A,j]=x;for(let[e,t]of $(O))D.addCanDeactivate(e,t,!0);for(let[e,t]of $(k))D.addCanActivate(e,t,!0);let M=Q(w);for(let[e,t]of $(A))M.addDeactivateGuard(e,t);for(let[e,t]of $(j))M.addActivateGuard(e,t);let N=new Set(T.getCloneState().pluginFactories),I=g.filter(e=>!N.has(e));return I.length>0&&w.usePlugin(...I),w}export{Ee as cloneRouter,we as getDependenciesApi,Q as getLifecycleApi,ce as getPluginApi,be as getRoutesApi};
|
|
1
|
+
import{_ as e,i as t,o as n}from"./internals-CVtV8QRG.mjs";import{a as r,m as i}from"./ingest-XMtKw1RB.mjs";import{A as a,C as o,D as s,E as c,F as l,I 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 y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as ee,s as te,t as ne,u as N,v as P,w as re,x as ie}from"./Router-C5eNe1Jl.mjs";import{n as F,t as I}from"./RouterError-iSQqAez7.mjs";function L(e){if(e())throw F(new I(i.ROUTER_DISPOSED))}function R(e){if(e())throw F(new I(i.REENTRANT_TREE_MUTATION,{message:`[router] cannot mutate the route tree from inside a subscribeChanges handler — the mutation would run while a TREE_CHANGED emit is on the stack and the tree must stay atomic. Defer it: queueMicrotask(() => routes.add(...)) or await.`}))}function 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 z(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function se(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):!0}const ce=Object.freeze,le=Object.keys,V=new WeakMap;function ue(o){let s=V.get(o);if(s)return s;let l=t(o),u={makeState:(e,t,r,i)=>(n(l,`makeState`,e,t),l.validator?.state.validateMakeStateArgs(e,t,i),l.validator?.navigation.validateSearch(r,`makeState`),l.makeState(e,t,r,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.validator?.routes.validateMatchPathArgs(e),l.matchPath(e,l.getOptions())),navigateToState:(e,t)=>(L(l.isDisposed),l.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&l.validator?.navigation.validateNavigationOptions(t,`navigateToState`),l.navigateToState(e,t)),setRootPath:e=>(L(l.isDisposed),R(l.treeChanged.isEmitting),l.validator?.routes.validateSetRootPathArgs(e),se(l.getRootPath(),e,l.isTransitioning(),l.logger)?(l.setRootPath(e),!0):!1),getRootPath:l.getRootPath,addEventListener:(e,t)=>(L(l.isDisposed),p(e),a(t),l.validator?.eventBus.validateListenerArgs(e,t),l.addEventListener(e,t)),buildNavigationState:(t,r={},i={})=>{n(l,`buildNavigationState`,t,r),l.validator?.navigation.validateSearch(i,`buildNavigationState`),l.validator?.routes.validateStateBuilderArgs(t,r,`buildNavigationState`);let a=c(l.port(),t,r,i,{diagnoseUndeclared:!0});if(l.buildStateResolved(a.name,a.path))return e(`buildNavigationState`,a.name,a.path,l.port().queryNames(a.name)),re(a,g(a,l.port()))},getOptions:l.getOptions,getTree:l.getTree,addInterceptor:(e,t)=>{L(l.isDisposed),D(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=>{L(l.isDisposed);let t=le(e);for(let e of t)if(e in o)throw F(new I(i.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));let n=t.map(t=>e[t]),r={keys:t};for(let[e,r]of t.entries())o[r]=n[e];l.routerExtensions.push(r);let a=!1;return()=>{if(a)return;a=!0;for(let e of r.keys)delete o[e];let e=l.routerExtensions.indexOf(r);e!==-1&&l.routerExtensions.splice(e,1)}},emitTransitionError:e=>{L(l.isDisposed),l.emitTransitionError(e)},claimContextNamespace:e=>{if(L(l.isDisposed),typeof e!=`string`||e===``)throw TypeError(`[claimContextNamespace] namespace must be a non-empty string, got ${typeof e==`string`?`an empty string`:typeof e}`);if(l.contextClaimRecords.has(e))throw F(new I(i.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));let t={write(n,i){l.contextClaimRecords.get(e)===t&&r(n.context,e,i)},release(){l.contextClaimRecords.get(e)===t&&l.contextClaimRecords.delete(e)}};return l.contextClaimRecords.set(e,t),t}},d=ce(u);return V.set(o,d),d}const H=Object.freeze,U=Object.keys,de=Object.freeze({replace:!0,revalidate:!0}),fe=Object.freeze([]);function pe(e,t,n,r){let i=t=>e.has(t);h(t.decoders,i),h(t.encoders,i),h(t.defaultParams,i),h(t.defaultSearch,i),h(t.forwardMap,i),h(t.forwardFnMap,i),h(n,i),h(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(e,t,n,r){let i={name:e.name,path:e.path};return W(i,t,n,r),e.children&&(i.children=e.children.map(e=>G(e,`${t}.${e.name}`,n,r))),i}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 me(e,t){let n=q(e,e=>t.has(e));return H([...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(K(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),H(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:H(n),added:H(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),H(t)}function ve(e,t,n,r){v(e,t,n);let i=S(e,t,n,r);y(i.matcher,i.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(i.pendingCanActivate.keys(),i.pendingCanDeactivate.keys(),!1),T(e,i)}function J(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function Y(e,t,n,r,i){if(J(e,r.path)!==i){t.revalidateToNotFound(r.path);return}t.systemCommit(n,r,de)}function ye(e,t,n,r,i){O(t,`addRoute`),x(t,`addRoute`),j(t,`addRoute`),te(t,``,`addRoute`),b(t,``,`addRoute`);let a=M(t,e.rootPath,e.matcherOptions,n.logger);y(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!0);let o=C(a,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),T(e,a,o),i?.(),r!==void 0){let t=J(e,r.path),i=n.matchPath(r.path,n.getOptions());if(i)if(i.name===r.name)Y(e,n,{...i,context:r.context,transition:r.transition},r,t);else{let{toActivate:a}=A(i,r,n.getMetaForState);e.lifecycleNamespace.canNavigateTo([],a,i,r)?Y(e,n,{...i,transition:r.transition},r,t):n.revalidateToNotFound(r.path)}else n.revalidateToNotFound(r.path)}}function be(e,t,n){let r=e.definitions,i=o(r,t);if(i===void 0)return;let a=n?me(e,i):fe;return pe(i,e.config,e.routeCustomFields,e.lifecycleNamespace),w(e,r),a}function xe(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=l(n.at(-1)),i=e.lifecycleNamespace.getFactories();return G(r,t,e.config,i)}const X=new WeakMap;function Se(e){let n=X.get(e);if(n)return n;let r=t(e),a=r.routeGetStore(),o=e=>{r.treeChanged.emit(e)},s=H({add:(e,t)=>{L(r.isDisposed),R(r.treeChanged.isEmitting);let n=Array.isArray(e)?e:[e],i=t?.parent;f(n);let s=P(n);if(d(s,r.validator),i!==void 0&&r.validator?.routes.validateParentOption(i,a.tree),r.validator?.routes.throwIfInternalRouteInArray(s,`addRoute`),r.validator?.routes.validateAddRouteArgs(s),r.validator?.routes.validateRoutes(s,a,i),ve(a,s,i,r.logger),r.treeChanged.listenerCount()>0){let e=he(s,i,a);o(i===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:i})}},remove:e=>{if(L(r.isDisposed),R(r.treeChanged.isEmitting),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(a,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&&o({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(L(r.isDisposed),R(r.treeChanged.isEmitting),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,a),!a.matcher.hasRoute(e))return;r.isTransitioning()&&r.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let n=a.lifecycleNamespace,i=k(a,n,e,t);if(r.treeChanged.listenerCount()>0){let t=_e(i);U(t).length>0&&o({op:`update`,name:e,patch:t})}},clear:()=>{if(L(r.isDisposed),R(r.treeChanged.isEmitting),r.getStateName()!==void 0)throw F(new I(i.ROUTER_NOT_STOPPED,{message:`[router.clear] Cannot clear routes while a state is committed. Use replace(routes) to swap the tree on a running router, or stop() first.`}));if(!B(r.isTransitioning(),r.logger))return;let e=r.treeChanged.listenerCount()>0?H([...q(a,()=>!0).values()]):void 0;_(a),a.lifecycleNamespace.clearAll(),e!==void 0&&o({op:`clear`,removed:e})},has:e=>(r.validator?.routes.validateRouteName(e,`hasRoute`),a.matcher.hasRoute(e)),get:e=>(r.validator?.routes.validateRouteName(e,`getRoute`),xe(a,e)),replace:t=>{L(r.isDisposed),R(r.treeChanged.isEmitting);let n=Array.isArray(t)?t:[t];if(!B(r.isTransitioning(),r.logger))return;f(n);let i=P(n);d(i,r.validator),r.validator?.routes.throwIfInternalRouteInArray(i,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(i),r.validator?.routes.validateRoutes(i,a);let s=e.getState(),c=r.treeChanged.listenerCount()>0?q(a,()=>!0):void 0;ye(a,i,r,s,c===void 0?void 0:()=>{let e=q(a,()=>!0),{removed:t,added:n}=ge(c,e);o({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>r.treeChanged.subscribe(e)});return X.set(e,s),s}const Ce=Object.create,Z=Object.hasOwn,Q=e=>typeof e==`symbol`?e:String(e);function we(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=Q(t);if(!Z(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 Te(e,t,n){let r=[],i=e.dependencies;m(t,(t,a)=>{Z(i,t)?r.push(t):n?.dependencies.validateDependencyCount(e,`setDependencies`),i[t]=a}),r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function Ee(e){let n=t(e);return{get:e=>{n.validator?.dependencies.validateDependencyName(e,`getDependency`);let t=n.dependenciesGetStore(),r=t.dependencies[e];return n.validator?.dependencies.validateDependencyExists(e,t),r},getAll:()=>{let e=n.dependenciesGetStore().dependencies;return s({...e})},set:(e,t)=>{L(n.isDisposed),n.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),we(n.dependenciesGetStore(),e,t,n.validator),L(n.isDisposed)},setAll:e=>{L(n.isDisposed);let t=n.dependenciesGetStore();n.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),Te(t,e,n.validator),L(n.isDisposed)},remove:e=>{L(n.isDisposed),n.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=n.dependenciesGetStore(),r=Q(e);Z(t.dependencies,r)||n.validator?.dependencies.warnRemoveNonExistent(String(r)),delete t.dependencies[r]},reset:()=>{L(n.isDisposed);let e=n.dependenciesGetStore();e.dependencies=Ce(null)},has:e=>(n.validator?.dependencies.validateDependencyName(e,`hasDependency`),Z(n.dependenciesGetStore().dependencies,e))}}function De(e){let n=t(e),r=n.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){L(n.isDisposed),E(e,`addActivateGuard`),n.validator?.routes.validateRouteName(e,`addActivateGuard`),n.validator?.lifecycle.validateHandler(t,`addActivateGuard`),r.addCanActivate(e,t,!1)},addDeactivateGuard(e,t){L(n.isDisposed),E(e,`addDeactivateGuard`),n.validator?.routes.validateRouteName(e,`addDeactivateGuard`),n.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),r.addCanDeactivate(e,t,!1)},removeActivateGuard(e){L(n.isDisposed),E(e,`removeActivateGuard`),n.validator?.routes.validateRouteName(e,`removeActivateGuard`),r.clearCanActivate(e,`external`)},removeDeactivateGuard(e){L(n.isDisposed),E(e,`removeDeactivateGuard`),n.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),r.clearCanDeactivate(e,`external`)}}}const $=Object.entries,Oe=Object.hasOwn;function ke(e,n,a){let o=t(e);if(o.isDisposed())throw F(new I(i.ROUTER_DISPOSED));o.validator?.dependencies.validateCloneArgs(n);let s=o.routeGetStore(),c=u(s.tree),l=s.config,d=s.resolvedForwardMap,f=s.routeCustomFields,{options:p,dependencies:h,pluginFactories:g,loggerConfig:_,limits:v,limitKeys:y}=o.getCloneState(),{definition:b,external:x}=s.lifecycleNamespace.getFactoriesByOrigin(),S={...h};n!==void 0&&m(n,(e,t)=>{r(S,e,t)});let C=a?.logger?{..._,...a.logger}:_,w=new ne(c,{...p,logger:C,...y!==void 0&&{limits:Object.fromEntries(y.filter(e=>Oe(v,e)).map(e=>[e,v[e]]))},...s.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:s.matcherOptions.urlParamsEncoding}},S),T=t(w),E=T.routeGetStore(),D=E.lifecycleNamespace;ie(E.config,l),ee(E,Object.assign(E.resolvedForwardMap,d)),Object.assign(E.routeCustomFields,f),s.rootPath!==``&&T.setRootPath(s.rootPath);let[O,k]=b,[A,j]=x;for(let[e,t]of $(O))D.addCanDeactivate(e,t,!0);for(let[e,t]of $(k))D.addCanActivate(e,t,!0);let M=De(w);for(let[e,t]of $(A))M.addDeactivateGuard(e,t);for(let[e,t]of $(j))M.addActivateGuard(e,t);let te=new Set(T.getCloneState().pluginFactories),N=g.filter(e=>!te.has(e));return N.length>0&&w.usePlugin(...N),w}export{ke as cloneRouter,Ee as getDependenciesApi,De as getLifecycleApi,ue as getPluginApi,Se as getRoutesApi};
|
|
2
2
|
//# sourceMappingURL=api.mjs.map
|