@real-router/core 0.99.0 → 0.100.1
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 +37 -1
- package/dist/cjs/Router-4HMZpTtO.js +2 -0
- package/dist/cjs/Router-4HMZpTtO.js.map +1 -0
- package/dist/cjs/RouterError.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/buildParamMeta-B9Pnu-Wi.js +2 -0
- package/dist/cjs/buildParamMeta-B9Pnu-Wi.js.map +1 -0
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/engine/path-matcher/SegmentMatcher.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/ingest-BxYUIEAj.js +2 -0
- package/dist/cjs/ingest-BxYUIEAj.js.map +1 -0
- package/dist/cjs/namespaces/RoutesNamespace/routesStore.d.ts.map +1 -1
- package/dist/cjs/utils/ingest.d.ts +209 -0
- package/dist/cjs/utils/ingest.d.ts.map +1 -0
- package/dist/cjs/utils.d.ts +2 -0
- package/dist/cjs/utils.js +1 -0
- package/dist/cjs/validation.js +1 -1
- package/dist/esm/Router-ENwXaqs6.mjs +2 -0
- package/dist/esm/Router-ENwXaqs6.mjs.map +1 -0
- package/dist/esm/RouterError.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/buildParamMeta-BGu_pzH6.mjs +2 -0
- package/dist/esm/buildParamMeta-BGu_pzH6.mjs.map +1 -0
- package/dist/esm/constants.d.mts.map +1 -1
- package/dist/esm/engine/path-matcher/SegmentMatcher.d.mts.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/ingest-CR-wWB0O.mjs +2 -0
- package/dist/esm/ingest-CR-wWB0O.mjs.map +1 -0
- package/dist/esm/namespaces/RoutesNamespace/routesStore.d.mts.map +1 -1
- package/dist/esm/utils/ingest.d.mts +209 -0
- package/dist/esm/utils/ingest.d.mts.map +1 -0
- package/dist/esm/utils.d.mts +2 -0
- package/dist/esm/utils.mjs +1 -0
- package/dist/esm/validation.mjs +1 -1
- package/package.json +13 -1
- package/dist/cjs/Router-Ct_5AHRe.js +0 -2
- package/dist/cjs/Router-Ct_5AHRe.js.map +0 -1
- package/dist/cjs/buildParamMeta-DfvatZ45.js +0 -2
- package/dist/cjs/buildParamMeta-DfvatZ45.js.map +0 -1
- package/dist/esm/Router-CGuo-GUt.mjs +0 -2
- package/dist/esm/Router-CGuo-GUt.mjs.map +0 -1
- package/dist/esm/buildParamMeta-D99tL6t-.mjs +0 -2
- package/dist/esm/buildParamMeta-D99tL6t-.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterError.d.mts","names":[],"sources":["../../src/RouterError.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"RouterError.d.mts","names":[],"sources":["../../src/RouterError.ts"],"mappings":";cAsBa,oBAAoB;GAC9B;WAIQ;WACA;EAIT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCE,YAAA,gBAEE,SACA,SACA,SACG;KAEF;IACD;IACA;IACA;;;;;;;;;;;;;;;;;;;;;;;EAoEJ,QAAQ;;;;;;;;;;;;;;;;;;;;;EA6BR,iBAAiB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;EAqCtB,oBAAoB,QAAQ;;;;;;;;;;;;;;;;;;;;EAoD5B,SAAS;;;;;;;;;;;;;;;;;;;;;EAwBT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BT,UAAU"}
|
|
@@ -1 +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":";;;iBA2BgB,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":";;;iBA04BgB,aACd,qBAAqB,sBAAsB,qBAC3C,QAAQ,OAAO,gBAAgB,UAAU"}
|
package/dist/esm/api.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as e,u as t}from"./buildParamMeta-D99tL6t-.mjs";import{A as n,C as r,D as i,E as a,M as o,O as s,S as c,T as l,_ as u,a as d,b as f,c as p,d as m,f as h,g,h as _,i as v,l as y,m as b,n as x,o as S,p as C,r as w,s as T,t as E,u as D,w as O,x as k,y as A}from"./Router-CGuo-GUt.mjs";function j(e){if(e())throw new x(o.ROUTER_DISPOSED)}function M(e){if(e())throw new x(o.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 N(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 P(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 F(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function ee(e,t,n,r){return n&&F(e)!==F(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 I(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const L=Object.defineProperty,R=new WeakMap;function z(n){let i=R.get(n);if(i)return i;let a=t(n),s={makeState:(t,n,r,i)=>(e(a,`makeState`,t,n),a.validator?.state.validateMakeStateArgs(t,n,i),a.makeState(t,n,r,i)),forwardState:(e,t,n)=>(a.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),a.forwardState(e,t,n)),matchPath:e=>(a.validator?.routes.validateMatchPathArgs(e),a.matchPath(e,a.getOptions())),navigateToState:(e,t)=>(j(a.isDisposed),a.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&a.validator?.navigation.validateNavigationOptions(t,`navigateToState`),a.navigateToState(e,t)),setRootPath:e=>(j(a.isDisposed),M(a.treeChanged.isEmitting),a.validator?.routes.validateSetRootPathArgs(e),ee(a.getRootPath(),e,a.isTransitioning(),a.logger)?(a.setRootPath(e),!0):!1),getRootPath:a.getRootPath,addEventListener:(e,t)=>(j(a.isDisposed),a.validator?.eventBus.validateListenerArgs(e,t),a.addEventListener(e,t)),buildNavigationState:(t,n={},i={})=>{e(a,`buildNavigationState`,t,n),a.validator?.routes.validateStateBuilderArgs(t,n,`buildNavigationState`);let o=l(a.port(),t,n,i,{diagnoseUndeclared:!0});if(a.buildStateResolved(o.name,o.path))return r(o,{path:O(o,a.port())})},getOptions:a.getOptions,getTree:a.getTree,addInterceptor:(e,t)=>{j(a.isDisposed),a.validator?.plugins.validateAddInterceptorArgs(e,t);let n=a.interceptors.get(e);n||(n=[],a.interceptors.set(e,n)),n.push(t);let r=!1;return()=>{r||(r=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=a.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{j(a.isDisposed);let t=Object.keys(e);for(let e of t)if(e in n)throw new x(o.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`});for(let r of t)n[r]=e[r];let r={keys:t};a.routerExtensions.push(r);let i=!1;return()=>{if(i)return;i=!0;for(let e of r.keys)delete n[e];let e=a.routerExtensions.indexOf(r);e!==-1&&a.routerExtensions.splice(e,1)}},emitTransitionError:e=>{j(a.isDisposed),a.emitTransitionError(e)},claimContextNamespace:e=>{if(j(a.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(a.contextClaimRecords.has(e))throw new x(o.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`});return a.contextClaimRecords.add(e),{write(t,n){e===`__proto__`?L(t.context,e,{value:n,writable:!0,enumerable:!0,configurable:!0}):t.context[e]=n},release(){a.contextClaimRecords.delete(e)}}}};return R.set(n,s),s}const te=Object.freeze({replace:!0,revalidate:!0}),ne=Object.freeze([]);function re(e,t,n,r){let i=t=>e.has(t);k(t.decoders,i),k(t.encoders,i),k(t.defaultParams,i),k(t.defaultSearch,i),k(t.forwardMap,i),k(t.forwardFnMap,i),k(n,i),k(t.forwardMap,e=>i(t.forwardMap[e]));let[a,o]=r.getFactories();for(let e of Object.keys(o))i(e)&&r.clearCanActivate(e,`both`);for(let e of Object.keys(a))i(e)&&r.clearCanDeactivate(e,`both`)}function B(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 V(e,t,n,r){let i={name:e.name,path:e.path};return B(i,t,n,r),e.children&&(i.children=e.children.map(e=>V(e,`${t}.${e.name}`,n,r))),i}function H(e,t,n,r){let i={name:e,path:t};return B(i,e,n,r),Object.freeze(i)}function U(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,H(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function W(e,t){let n=U(e,e=>t.has(e));return Object.freeze([...n.values()])}function G(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(H(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),Object.freeze(i)}function K(e,t){let n=[],r=[];for(let[r,i]of e)t.has(r)||n.push(i);for(let[n,i]of t)e.has(n)||r.push(i);return{removed:Object.freeze(n),added:Object.freeze(r)}}function q(e){let t={};return e.forwardTo!==void 0&&(t.forwardTo=e.forwardTo),e.defaultParams!==void 0&&(t.defaultParams=e.defaultParams),e.defaultSearch!==void 0&&(t.defaultSearch=e.defaultSearch),e.encodeParams!==void 0&&(t.encodeParams=e.encodeParams),e.decodeParams!==void 0&&(t.decodeParams=e.decodeParams),Object.freeze(t)}function J(e,t,n,r){S(e,t,n);let i=h(e,t,n,r);A(i.matcher,i.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(i.pendingCanActivate.keys(),i.pendingCanDeactivate.keys(),!1),d(e,i)}function Y(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function X(e,t,n,r,i){if(Y(e,r.path)!==i){t.navigateToNotFound(r.path,{skipDeactivation:!0});return}t.systemCommit(n,r,te)}function Z(e,t,n,r,i){D(t,`addRoute`),T(t,`addRoute`),p(t,``,`addRoute`),y(t,``,`addRoute`);let a=C(t,e.rootPath,e.matcherOptions,n.logger);A(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!0);let o=g(a,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),d(e,a,o),i?.(),r!==void 0){let t=Y(e,r.path),i=n.matchPath(r.path,n.getOptions());if(i)if(i.name===r.name)X(e,n,{...i,context:r.context,transition:r.transition},r,t);else{let{toActivate:a}=w(i,r,n.getMetaForState);e.lifecycleNamespace.canNavigateTo([],a,i,r)?X(e,n,{...i,transition:r.transition},r,t):n.navigateToNotFound(r.path,{skipDeactivation:!0})}else n.navigateToNotFound(r.path,{skipDeactivation:!0})}}function ie(e,t,n){let r=e.definitions,i=c(r,t);if(i===void 0)return;let a=n?W(e,i):ne;return re(i,e.config,e.routeCustomFields,e.lifecycleNamespace),_(e,r),a}function ae(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=a(n.at(-1)),i=e.lifecycleNamespace.getFactories();return V(r,t,e.config,i)}const Q=new WeakMap;function oe(e){let n=Q.get(e);if(n)return n;let r=t(e),i=r.routeGetStore(),a=e=>{r.treeChanged.emit(e)},c={add:(e,t)=>{j(r.isDisposed),M(r.treeChanged.isEmitting);let n=Array.isArray(e)?e:[e],o=t?.parent;if(s(n,r.validator),o!==void 0&&r.validator?.routes.validateParentOption(o,i.tree),r.validator?.routes.throwIfInternalRouteInArray(n,`addRoute`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,i,o),J(i,n,o,r.logger),r.treeChanged.listenerCount()>0){let e=G(n,o,i);a(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(j(r.isDisposed),M(r.treeChanged.isEmitting),r.validator?.routes.validateRemoveRouteArgs(e),r.validator?.routes.throwIfInternalRoute(e,`removeRoute`),m(e,`removeRoute`),!N(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=ie(i,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&P(e,r.logger),t&&a({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(j(r.isDisposed),M(r.treeChanged.isEmitting),r.validator?.routes.validateUpdateRouteBasicArgs(e,t),r.validator?.routes.throwIfInternalRoute(e,`updateRoute`),m(e,`updateRoute`),r.validator?.routes.validateUpdateRoutePropertyTypes(e,t),r.validator?.routes.validateUpdateRoute(e,t,i),!i.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=i.lifecycleNamespace,o=b(i,n,e,t);if(r.treeChanged.listenerCount()>0){let t=q(o);Object.keys(t).length>0&&a({op:`update`,name:e,patch:t})}},clear:()=>{if(j(r.isDisposed),M(r.treeChanged.isEmitting),r.getStateName()!==void 0)throw new x(o.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(!I(r.isTransitioning(),r.logger))return;let e=r.treeChanged.listenerCount()>0?Object.freeze([...U(i,()=>!0).values()]):void 0;u(i),i.lifecycleNamespace.clearAll(),e!==void 0&&a({op:`clear`,removed:e})},has:e=>(r.validator?.routes.validateRouteName(e,`hasRoute`),i.matcher.hasRoute(e)),get:e=>(r.validator?.routes.validateRouteName(e,`getRoute`),ae(i,e)),replace:t=>{j(r.isDisposed),M(r.treeChanged.isEmitting);let n=Array.isArray(t)?t:[t];if(!I(r.isTransitioning(),r.logger))return;s(n,r.validator),r.validator?.routes.throwIfInternalRouteInArray(n,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,i);let o=e.getState(),c=r.treeChanged.listenerCount()>0?U(i,()=>!0):void 0;Z(i,n,r,o,c===void 0?void 0:()=>{let e=U(i,()=>!0),{removed:t,added:n}=K(c,e);a({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>r.treeChanged.subscribe(e)};return Q.set(e,c),c}const se=Object.keys;function ce(e,t,n,r){if(n===void 0)return;let i=e.dependencies;if(!Object.hasOwn(i,t))r?.dependencies.validateDependencyCount(e,`setDependency`);else{let e=i[t];e!==n&&!(Number.isNaN(e)&&Number.isNaN(n))&&r?.dependencies.warnOverwrite(t,`setDependency`)}i[t]=n}function le(e,t,n){let r=[],i=e.dependencies;for(let a of se(t)){let o=t[a];o!==void 0&&(Object.hasOwn(i,a)?r.push(a):n?.dependencies.validateDependencyCount(e,`setDependencies`),i[a]=o)}r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function ue(e){let r=t(e);return{get:e=>{r.validator?.dependencies.validateDependencyName(e,`getDependency`);let t=r.dependenciesGetStore(),n=t.dependencies[e];return r.validator?.dependencies.validateDependencyExists(e,t),n},getAll:()=>{let e={...r.dependenciesGetStore().dependencies};return delete e[n],e},set:(e,t)=>{j(r.isDisposed),r.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),ce(r.dependenciesGetStore(),e,t,r.validator),j(r.isDisposed)},setAll:e=>{j(r.isDisposed);let t=r.dependenciesGetStore();r.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),le(t,e,r.validator),j(r.isDisposed)},remove:e=>{j(r.isDisposed),r.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=r.dependenciesGetStore();Object.hasOwn(t.dependencies,e)||r.validator?.dependencies.warnRemoveNonExistent(e),delete t.dependencies[e]},reset:()=>{j(r.isDisposed);let e=r.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(r.validator?.dependencies.validateDependencyName(e,`hasDependency`),Object.hasOwn(r.dependenciesGetStore().dependencies,e))}}function $(e){let n=t(e),r=n.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){j(n.isDisposed),n.validator?.routes.validateRouteName(e,`addActivateGuard`),n.validator?.lifecycle.validateHandler(t,`addActivateGuard`),r.addCanActivate(e,t)},addDeactivateGuard(e,t){j(n.isDisposed),n.validator?.routes.validateRouteName(e,`addDeactivateGuard`),n.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),r.addCanDeactivate(e,t)},removeActivateGuard(e){j(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeActivateGuard`),r.clearCanActivate(e,`external`)},removeDeactivateGuard(e){j(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),r.clearCanDeactivate(e,`external`)}}}function de(e,n,r){let a=t(e);if(a.isDisposed())throw new x(o.ROUTER_DISPOSED);a.validator?.dependencies.validateCloneArgs(n);let s=a.routeGetStore(),c=i(s.tree),l=s.config,u=s.resolvedForwardMap,d=s.routeCustomFields,{options:p,dependencies:m,pluginFactories:h,loggerConfig:g,limits:_}=a.getCloneState(),{definition:y,external:b}=s.lifecycleNamespace.getFactoriesByOrigin(),S={...m,...n},C=r?.logger?{...g,...r.logger}:g,w=new E(c,{...p,logger:C,...p.limits!=null&&{limits:Object.fromEntries(Object.keys(p.limits).filter(e=>Object.hasOwn(_,e)).map(e=>[e,_[e]]))},...s.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:s.matcherOptions.urlParamsEncoding}},S),T=t(w),D=T.routeGetStore(),O=D.lifecycleNamespace;f(D.config,l),v(D,Object.assign(D.resolvedForwardMap,u)),Object.assign(D.routeCustomFields,d),s.rootPath!==``&&T.setRootPath(s.rootPath);let[k,A]=y,[j,M]=b;for(let[e,t]of Object.entries(k))O.addCanDeactivate(e,t,!0);for(let[e,t]of Object.entries(A))O.addCanActivate(e,t,!0);let N=$(w);for(let[e,t]of Object.entries(j))N.addDeactivateGuard(e,t);for(let[e,t]of Object.entries(M))N.addActivateGuard(e,t);let P=new Set(T.getCloneState().pluginFactories),F=h.filter(e=>!P.has(e));return F.length>0&&w.usePlugin(...F),w}export{de as cloneRouter,ue as getDependenciesApi,$ as getLifecycleApi,z as getPluginApi,oe as getRoutesApi};
|
|
1
|
+
import{f as e,m as t,u as n}from"./buildParamMeta-BGu_pzH6.mjs";import{i as r}from"./ingest-CR-wWB0O.mjs";import{C as i,D as a,E as o,N as s,O as c,S as l,T as u,_ as d,a as f,b as p,c as m,d as h,f as g,g as _,h as v,i as ee,j as y,k as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k,v as A,w as j,x as M}from"./Router-ENwXaqs6.mjs";function N(e){if(e())throw new C(s.ROUTER_DISPOSED)}function P(e){if(e())throw new C(s.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 te(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 F(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 I(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function L(e,t,n,r){return n&&I(e)!==I(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 R(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const z=new WeakMap;function ne(i){let a=z.get(i);if(a)return a;let c=n(i),l={makeState:(t,n,r,i)=>(e(c,`makeState`,t,n),c.validator?.state.validateMakeStateArgs(t,n,i),c.makeState(t,n,r,i)),forwardState:(e,t,n)=>(c.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),c.forwardState(e,t,n)),matchPath:e=>(c.validator?.routes.validateMatchPathArgs(e),c.matchPath(e,c.getOptions())),navigateToState:(e,t)=>(N(c.isDisposed),c.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&c.validator?.navigation.validateNavigationOptions(t,`navigateToState`),c.navigateToState(e,t)),setRootPath:e=>(N(c.isDisposed),P(c.treeChanged.isEmitting),c.validator?.routes.validateSetRootPathArgs(e),L(c.getRootPath(),e,c.isTransitioning(),c.logger)?(c.setRootPath(e),!0):!1),getRootPath:c.getRootPath,addEventListener:(e,t)=>(N(c.isDisposed),c.validator?.eventBus.validateListenerArgs(e,t),c.addEventListener(e,t)),buildNavigationState:(n,r={},i={})=>{e(c,`buildNavigationState`,n,r),c.validator?.routes.validateStateBuilderArgs(n,r,`buildNavigationState`);let a=o(c.port(),n,r,i,{diagnoseUndeclared:!0});if(c.buildStateResolved(a.name,a.path))return t(`buildNavigationState`,a.name,a.path,c.port().queryNames(a.name)),j(a,{path:u(a,c.port())})},getOptions:c.getOptions,getTree:c.getTree,addInterceptor:(e,t)=>{N(c.isDisposed),c.validator?.plugins.validateAddInterceptorArgs(e,t);let n=c.interceptors.get(e);n||(n=[],c.interceptors.set(e,n)),n.push(t);let r=!1;return()=>{r||(r=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=c.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{N(c.isDisposed);let t=Object.keys(e);for(let e of t)if(e in i)throw new C(s.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`});for(let n of t)i[n]=e[n];let n={keys:t};c.routerExtensions.push(n);let r=!1;return()=>{if(r)return;r=!0;for(let e of n.keys)delete i[e];let e=c.routerExtensions.indexOf(n);e!==-1&&c.routerExtensions.splice(e,1)}},emitTransitionError:e=>{N(c.isDisposed),c.emitTransitionError(e)},claimContextNamespace:e=>{if(N(c.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(c.contextClaimRecords.has(e))throw new C(s.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`});return c.contextClaimRecords.add(e),{write(t,n){r(t.context,e,n)},release(){c.contextClaimRecords.delete(e)}}}};return z.set(i,l),l}const re=Object.freeze({replace:!0,revalidate:!0}),ie=Object.freeze([]);function B(e,t,n,r){let i=t=>e.has(t);l(t.decoders,i),l(t.encoders,i),l(t.defaultParams,i),l(t.defaultSearch,i),l(t.forwardMap,i),l(t.forwardFnMap,i),l(n,i),l(t.forwardMap,e=>i(t.forwardMap[e]));let[a,o]=r.getFactories();for(let e of Object.keys(o))i(e)&&r.clearCanActivate(e,`both`);for(let e of Object.keys(a))i(e)&&r.clearCanDeactivate(e,`both`)}function V(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 H(e,t,n,r){let i={name:e.name,path:e.path};return V(i,t,n,r),e.children&&(i.children=e.children.map(e=>H(e,`${t}.${e.name}`,n,r))),i}function U(e,t,n,r){let i={name:e,path:t};return V(i,e,n,r),Object.freeze(i)}function W(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,U(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function G(e,t){let n=W(e,e=>t.has(e));return Object.freeze([...n.values()])}function K(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(U(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),Object.freeze(i)}function q(e,t){let n=[],r=[];for(let[r,i]of e)t.has(r)||n.push(i);for(let[n,i]of t)e.has(n)||r.push(i);return{removed:Object.freeze(n),added:Object.freeze(r)}}function J(e){let t={};return e.forwardTo!==void 0&&(t.forwardTo=e.forwardTo),e.defaultParams!==void 0&&(t.defaultParams=e.defaultParams),e.defaultSearch!==void 0&&(t.defaultSearch=e.defaultSearch),e.encodeParams!==void 0&&(t.encodeParams=e.encodeParams),e.decodeParams!==void 0&&(t.decodeParams=e.decodeParams),Object.freeze(t)}function ae(e,t,n,r){let i=A(t);w(e,i,n);let a=g(e,i,n,r);p(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!1),f(e,a)}function Y(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function X(e,t,n,r,i){if(Y(e,r.path)!==i){t.navigateToNotFound(r.path,{skipDeactivation:!0});return}t.systemCommit(n,r,re)}function oe(e,t,n,r,i){let a=A(t);k(a,`addRoute`),D(a,`addRoute`),m(a,``,`addRoute`),x(a,``,`addRoute`);let o=T(a,e.rootPath,e.matcherOptions,n.logger);p(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!0);let s=_(o,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),f(e,o,s),i?.(),r!==void 0){let t=Y(e,r.path),i=n.matchPath(r.path,n.getOptions());if(i)if(i.name===r.name)X(e,n,{...i,context:r.context,transition:r.transition},r,t);else{let{toActivate:a}=E(i,r,n.getMetaForState);e.lifecycleNamespace.canNavigateTo([],a,i,r)?X(e,n,{...i,transition:r.transition},r,t):n.navigateToNotFound(r.path,{skipDeactivation:!0})}else n.navigateToNotFound(r.path,{skipDeactivation:!0})}}function se(e,t,n){let r=e.definitions,a=i(r,t);if(a===void 0)return;let o=n?G(e,a):ie;return B(a,e.config,e.routeCustomFields,e.lifecycleNamespace),v(e,r),o}function ce(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=a(n.at(-1)),i=e.lifecycleNamespace.getFactories();return H(r,t,e.config,i)}const Z=new WeakMap;function Q(e){let t=Z.get(e);if(t)return t;let r=n(e),i=r.routeGetStore(),a=e=>{r.treeChanged.emit(e)},o={add:(e,t)=>{N(r.isDisposed),P(r.treeChanged.isEmitting);let n=Array.isArray(e)?e:[e],o=t?.parent;if(b(n,r.validator),o!==void 0&&r.validator?.routes.validateParentOption(o,i.tree),r.validator?.routes.throwIfInternalRouteInArray(n,`addRoute`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,i,o),ae(i,n,o,r.logger),r.treeChanged.listenerCount()>0){let e=K(n,o,i);a(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(N(r.isDisposed),P(r.treeChanged.isEmitting),r.validator?.routes.validateRemoveRouteArgs(e),r.validator?.routes.throwIfInternalRoute(e,`removeRoute`),h(e,`removeRoute`),!te(e,r.getStateName(),r.logger))return;let t=r.treeChanged.listenerCount()>0,n=se(i,e,t);if(n===void 0){r.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}r.isTransitioning()&&F(e,r.logger),t&&a({op:`remove`,name:e,removedSubtree:n})},update:(e,t)=>{if(N(r.isDisposed),P(r.treeChanged.isEmitting),r.validator?.routes.validateUpdateRouteBasicArgs(e,t),r.validator?.routes.throwIfInternalRoute(e,`updateRoute`),h(e,`updateRoute`),r.validator?.routes.validateUpdateRoutePropertyTypes(e,t),r.validator?.routes.validateUpdateRoute(e,t,i),!i.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=i.lifecycleNamespace,o=S(i,n,e,t);if(r.treeChanged.listenerCount()>0){let t=J(o);Object.keys(t).length>0&&a({op:`update`,name:e,patch:t})}},clear:()=>{if(N(r.isDisposed),P(r.treeChanged.isEmitting),r.getStateName()!==void 0)throw new C(s.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(!R(r.isTransitioning(),r.logger))return;let e=r.treeChanged.listenerCount()>0?Object.freeze([...W(i,()=>!0).values()]):void 0;d(i),i.lifecycleNamespace.clearAll(),e!==void 0&&a({op:`clear`,removed:e})},has:e=>(r.validator?.routes.validateRouteName(e,`hasRoute`),i.matcher.hasRoute(e)),get:e=>(r.validator?.routes.validateRouteName(e,`getRoute`),ce(i,e)),replace:t=>{N(r.isDisposed),P(r.treeChanged.isEmitting);let n=Array.isArray(t)?t:[t];if(!R(r.isTransitioning(),r.logger))return;b(n,r.validator),r.validator?.routes.throwIfInternalRouteInArray(n,`replaceRoutes`),r.validator?.routes.validateAddRouteArgs(n),r.validator?.routes.validateRoutes(n,i);let o=e.getState(),s=r.treeChanged.listenerCount()>0?W(i,()=>!0):void 0;oe(i,n,r,o,s===void 0?void 0:()=>{let e=W(i,()=>!0),{removed:t,added:n}=q(s,e);a({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>r.treeChanged.subscribe(e)};return Z.set(e,o),o}const le=Object.keys;function ue(e,t,n,r){if(n===void 0)return;let i=e.dependencies;if(!Object.hasOwn(i,t))r?.dependencies.validateDependencyCount(e,`setDependency`);else{let e=i[t];e!==n&&!(Number.isNaN(e)&&Number.isNaN(n))&&r?.dependencies.warnOverwrite(t,`setDependency`)}i[t]=n}function de(e,t,n){let r=[],i=e.dependencies;for(let a of le(t)){let o=t[a];o!==void 0&&(Object.hasOwn(i,a)?r.push(a):n?.dependencies.validateDependencyCount(e,`setDependencies`),i[a]=o)}r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function fe(e){let t=n(e);return{get:e=>{t.validator?.dependencies.validateDependencyName(e,`getDependency`);let n=t.dependenciesGetStore(),r=n.dependencies[e];return t.validator?.dependencies.validateDependencyExists(e,n),r},getAll:()=>{let e={...t.dependenciesGetStore().dependencies};return delete e[y],e},set:(e,n)=>{N(t.isDisposed),t.validator?.dependencies.validateSetDependencyArgs(e,n,`setDependency`),ue(t.dependenciesGetStore(),e,n,t.validator),N(t.isDisposed)},setAll:e=>{N(t.isDisposed);let n=t.dependenciesGetStore();t.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),de(n,e,t.validator),N(t.isDisposed)},remove:e=>{N(t.isDisposed),t.validator?.dependencies.validateDependencyName(e,`removeDependency`);let n=t.dependenciesGetStore();Object.hasOwn(n.dependencies,e)||t.validator?.dependencies.warnRemoveNonExistent(e),delete n.dependencies[e]},reset:()=>{N(t.isDisposed);let e=t.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(t.validator?.dependencies.validateDependencyName(e,`hasDependency`),Object.hasOwn(t.dependenciesGetStore().dependencies,e))}}function $(e){let t=n(e),r=t.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,n){N(t.isDisposed),t.validator?.routes.validateRouteName(e,`addActivateGuard`),t.validator?.lifecycle.validateHandler(n,`addActivateGuard`),r.addCanActivate(e,n)},addDeactivateGuard(e,n){N(t.isDisposed),t.validator?.routes.validateRouteName(e,`addDeactivateGuard`),t.validator?.lifecycle.validateHandler(n,`addDeactivateGuard`),r.addCanDeactivate(e,n)},removeActivateGuard(e){N(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeActivateGuard`),r.clearCanActivate(e,`external`)},removeDeactivateGuard(e){N(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),r.clearCanDeactivate(e,`external`)}}}function pe(e,t,r){let i=n(e);if(i.isDisposed())throw new C(s.ROUTER_DISPOSED);i.validator?.dependencies.validateCloneArgs(t);let a=i.routeGetStore(),o=c(a.tree),l=a.config,u=a.resolvedForwardMap,d=a.routeCustomFields,{options:f,dependencies:p,pluginFactories:m,loggerConfig:h,limits:g}=i.getCloneState(),{definition:_,external:v}=a.lifecycleNamespace.getFactoriesByOrigin(),y={...p,...t},b=r?.logger?{...h,...r.logger}:h,x=new O(o,{...f,logger:b,...f.limits!=null&&{limits:Object.fromEntries(Object.keys(f.limits).filter(e=>Object.hasOwn(g,e)).map(e=>[e,g[e]]))},...a.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:a.matcherOptions.urlParamsEncoding}},y),S=n(x),w=S.routeGetStore(),T=w.lifecycleNamespace;M(w.config,l),ee(w,Object.assign(w.resolvedForwardMap,u)),Object.assign(w.routeCustomFields,d),a.rootPath!==``&&S.setRootPath(a.rootPath);let[E,D]=_,[k,A]=v;for(let[e,t]of Object.entries(E))T.addCanDeactivate(e,t,!0);for(let[e,t]of Object.entries(D))T.addCanActivate(e,t,!0);let j=$(x);for(let[e,t]of Object.entries(k))j.addDeactivateGuard(e,t);for(let[e,t]of Object.entries(A))j.addActivateGuard(e,t);let N=new Set(S.getCloneState().pluginFactories),P=m.filter(e=>!N.has(e));return P.length>0&&x.usePlugin(...P),x}export{pe as cloneRouter,fe as getDependenciesApi,$ as getLifecycleApi,ne as getPluginApi,Q as getRoutesApi};
|
|
2
2
|
//# sourceMappingURL=api.mjs.map
|