@real-router/core 0.130.0 → 0.131.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","names":[],"sources":["../../src/Router.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;qBAsGa,OACX,qBAAqB,sBAAsB,gCAChC,SAAgB;;GAC1B;;;;;;EA+EC,YAAA,SAAQ,MAAM,iBACd,UAAS,QAAQ,QAAQ,gBACzB,eAAc;EAykBhB,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;;;iBA6NpB;WACN,gBAAgB;WAChB,gBAAgB"}
1
+ {"version":3,"file":"Router.d.ts","names":[],"sources":["../../src/Router.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;qBAsGa,OACX,qBAAqB,sBAAsB,gCAChC,SAAgB;;GAC1B;;;;;;EA+EC,YAAA,SAAQ,MAAM,iBACd,UAAS,QAAQ,QAAQ,gBACzB,eAAc;EAykBhB,cACE,cACA,SAAS,QACT,SAAS,cACT,0BACA;EAwCF,UAAU,eAAe,SAAS,QAAQ,SAAS;EA+CnD,SAAS,UAAU,SAAS,WAAW,MAAM;EAI7C,oBAAoB;EAIpB,eACE,QAAQ,mBACR,QAAQ,mBACR;EAWF,iBACE,oBACE,SAAS,OAAO,YAAY;EAYhC;;;;;;;;;;;;;;EAiBA,MAAM,oBAAoB,QAAQ;EAQlC;EAyBA;EAoDA,cAAc,cAAc,SAAS,QAAQ,SAAS;EA6JtD,aACK,UAAU,cAAc,8CAC1B;EAyCH,UAAU,UAAU,cAAc;EAMlC,eAAe,UAAU,UAAU;EAMnC;EAQA,SACE,QAAQ,kBACR,UAAU,oBACT,QAAQ;EACX,SACE,mBACA,cAAc,QACd,cAAc,cACd,UAAU,oBACT,QAAQ;EA2EX,kBAAkB,UAAU,oBAAoB,QAAQ;EAiBxD,mBAAmB,gBAAgB;;;iBA2OpB;WACN,gBAAgB;WAChB,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRoutesApi.d.ts","names":[],"sources":["../../../src/api/getRoutesApi.ts"],"mappings":";;;wBAs6BgB,aACd,qBAAqB,sBAAsB,qBAC3C,QAAQ,OAAO,gBAAgB,UAAU"}
1
+ {"version":3,"file":"getRoutesApi.d.ts","names":[],"sources":["../../../src/api/getRoutesApi.ts"],"mappings":";;;wBAg3BgB,aACd,qBAAqB,sBAAsB,qBAC3C,QAAQ,OAAO,gBAAgB,UAAU"}
package/dist/cjs/api.js CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./internals-BGTllfGV.js"),t=require("./ingest-C6HQ7xXf.js"),n=require("./Router-B_Zdy0II.js"),r=require("./RouterError-B-j6UqeF.js");function i(e){if(e())throw r.n(new r.t(t.m.ROUTER_DISPOSED))}function a(e){if(e())throw r.n(new r.t(t.m.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 o(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 s(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 c(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function l(e,t,n,r){return n&&c(e)!==c(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 u(e,t){return!e||(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1)}const d=Object.freeze,f=Object.keys,p=new WeakMap;function m(o){let s=p.get(o);if(s)return s;let c=e.i(o),u={makeState:(t,n,i,a)=>{e.o(c,`makeState`,t,n);let o=r.r(n);return c.validator?.state.validateMakeStateArgs(t,o,a),c.validator?.navigation.validateSearch(i,`makeState`),c.makeState(t,o,i,a)},forwardState:(e,t,n)=>(c.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),c.validator?.navigation.validateSearch(n,`forwardState`),c.forwardState(e,t,n)),matchPath:e=>(c.validator?.routes.validateMatchPathArgs(e),c.matchPath(e,c.getOptions())),navigateToState:(e,t)=>(i(c.isDisposed),c.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&c.validator?.navigation.validateNavigationOptions(t,`navigateToState`),c.navigateToState(e,t)),setRootPath:e=>(i(c.isDisposed),a(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)=>(i(c.isDisposed),n.D(e),n.k(t),c.validator?.eventBus.validateListenerArgs(e,t),c.addEventListener(e,t)),buildNavigationState:(t,i={},a={})=>{e.o(c,`buildNavigationState`,t,i);let o=r.r(i);c.validator?.navigation.validateSearch(a,`buildNavigationState`),c.validator?.routes.validateStateBuilderArgs(t,o,`buildNavigationState`);let s=n.T(c.port(),t,o,a,{diagnoseUndeclared:!0});if(c.buildStateResolved(s.name,s.path))return e._(`buildNavigationState`,s.name,s.path,c.port().queryNames(s.name)),n.C(s,n.w(s,c.port()))},getOptions:c.getOptions,getTree:c.getTree,addInterceptor:(e,t)=>{i(c.isDisposed),n.O(e,t);let r=c.interceptors.get(e);r||(r=[],c.interceptors.set(e,r)),r.push(t);let a=!1;return()=>{a||(a=!0,r.splice(r.indexOf(t),1))}},getRouteConfig:e=>{let t=c.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{i(c.isDisposed);let n=f(e);for(let e of n)if(e in o)throw r.n(new r.t(t.m.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));let a=n.map(t=>e[t]),s={keys:n};for(let[e,t]of n.entries())o[t]=a[e];c.routerExtensions.push(s);let l=!1;return()=>{if(l)return;l=!0;for(let e of s.keys)delete o[e];let e=c.routerExtensions.indexOf(s);e!==-1&&c.routerExtensions.splice(e,1)}},emitTransitionError:e=>{i(c.isDisposed),c.emitTransitionError(e)},claimContextNamespace:e=>{if(i(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 r.n(new r.t(t.m.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));let n={write(r,i){c.contextClaimRecords.get(e)===n&&t.a(r.context,e,i)},release(){c.contextClaimRecords.get(e)===n&&c.contextClaimRecords.delete(e)}};return c.contextClaimRecords.set(e,n),n}},m=d(u);return p.set(o,m),m}const h=Object.freeze,g=Object.keys,_=Object.freeze({replace:!0,revalidate:!0}),v=Object.freeze([]);function y(e,t,r,i){let a=t=>e.has(t);n.x(t.decoders,a),n.x(t.encoders,a),n.x(t.defaultParams,a),n.x(t.defaultSearch,a),n.x(t.forwardMap,a),n.x(t.forwardFnMap,a),n.x(r,a),n.x(t.forwardMap,e=>a(t.forwardMap[e]));let[o,s]=i.getFactories();for(let e of g(s))a(e)&&i.clearCanActivate(e,`both`);for(let e of g(o))a(e)&&i.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 x(e,n,r,i){let a={name:e.name,path:e.path};return b(a,n,r,i),e.children&&t.a(a,`children`,e.children.map(e=>x(e,`${n}.${e.name}`,r,i))),a}function S(e,t,n,r){let i={name:e,path:t};return b(i,e,n,r),h(i)}function C(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,S(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function w(e,t){let n=C(e,e=>t.has(e));return h([...n.values()])}function T(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(S(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),h(i)}function E(e,t){let n=[],r=[];for(let[r,i]of e)t.has(r)||n.push(i);for(let[n,i]of t)e.has(n)||r.push(i);return{removed:h(n),added:h(r)}}function D(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 O(e,t,r,i){n.a(e,t,r);let a=n.f(e,t,r,i);n.y(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!1),n.i(e,a)}function k(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function A(e,t,n,r,i){if(k(e,r.path)!==i){t.revalidateToNotFound(r.path);return}t.systemCommit(n,r,_)}function j(e,t,r,i,a){n.l(t,`addRoute`),n.d(t,`addRoute`),n.o(t,`addRoute`),n.s(t,``,`addRoute`),n.c(t,``,`addRoute`);let o=n.p(t,e.rootPath,e.matcherOptions,r.logger);n.y(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!0);let s=n.g(o,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),n.i(e,o,s),a?.(),i!==void 0){let t=k(e,i.path),a=r.matchPath(i.path,r.getOptions());if(a){if(a.name===i.name)A(e,r,{...a,context:i.context,transition:i.transition},i,t);else{let{toActivate:o}=n.n(a,i,r.getMetaForState);e.lifecycleNamespace.canNavigateTo([],o,a,i)?A(e,r,{...a,transition:i.transition},i,t):r.revalidateToNotFound(i.path)}}else r.revalidateToNotFound(i.path)}}function M(e,t,r){let i=e.definitions,a=n.S(i,t);if(a===void 0)return;let o=r?w(e,a):v;return y(a,e.config,e.routeCustomFields,e.lifecycleNamespace),n.h(e,i),o}function N(e,t){let r=e.matcher.getSegmentsByName(t);if(!r)return;let i=r.at(-1),a=n.P(i),o=e.lifecycleNamespace.getFactories();return x(a,t,e.config,o)}const P=new WeakMap;function F(c){let l=P.get(c);if(l)return l;let d=e.i(c),f=d.routeGetStore(),p=e=>{d.treeChanged.emit(e)},m=h({add:(e,t)=>{i(d.isDisposed),a(d.treeChanged.isEmitting);let r=Array.isArray(e)?e:[e],o=t?.parent,s=n.M(r);if(n.j(s,d.validator),o!==void 0&&d.validator?.routes.validateParentOption(o,f.tree),d.validator?.routes.throwIfInternalRouteInArray(s,`addRoute`),d.validator?.routes.validateAddRouteArgs(s),d.validator?.routes.validateRoutes(s,f,o),O(f,s,o,d.logger),d.treeChanged.listenerCount()>0){let e=T(s,o,f);p(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(i(d.isDisposed),a(d.treeChanged.isEmitting),d.validator?.routes.validateRemoveRouteArgs(e),d.validator?.routes.throwIfInternalRoute(e,`removeRoute`),n.u(e,`removeRoute`),!o(e,d.getStateName(),d.logger))return;let t=d.treeChanged.listenerCount()>0,r=M(f,e,t);if(r===void 0){d.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}d.isTransitioning()&&s(e,d.logger),t&&p({op:`remove`,name:e,removedSubtree:r})},update:(e,t)=>{if(i(d.isDisposed),a(d.treeChanged.isEmitting),d.validator?.routes.validateUpdateRouteBasicArgs(e,t),d.validator?.routes.throwIfInternalRoute(e,`updateRoute`),n.u(e,`updateRoute`),d.validator?.routes.validateUpdateRoutePropertyTypes(e,t),d.validator?.routes.validateUpdateRoute(e,t,f),!f.matcher.hasRoute(e))return;d.isTransitioning()&&d.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let r=f.lifecycleNamespace,o=n.m(f,r,e,t);if(d.treeChanged.listenerCount()>0){let t=D(o);g(t).length>0&&p({op:`update`,name:e,patch:t})}},clear:()=>{if(i(d.isDisposed),a(d.treeChanged.isEmitting),d.getStateName()!==void 0)throw r.n(new r.t(t.m.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(!u(d.isTransitioning(),d.logger))return;let e=d.treeChanged.listenerCount()>0?h([...C(f,()=>!0).values()]):void 0;n._(f),f.lifecycleNamespace.clearAll(),e!==void 0&&p({op:`clear`,removed:e})},has:e=>(d.validator?.routes.validateRouteName(e,`hasRoute`),f.matcher.hasRoute(e)),get:e=>(d.validator?.routes.validateRouteName(e,`getRoute`),N(f,e)),replace:e=>{i(d.isDisposed),a(d.treeChanged.isEmitting);let t=Array.isArray(e)?e:[e];if(!u(d.isTransitioning(),d.logger))return;let r=n.M(t);n.j(r,d.validator),d.validator?.routes.throwIfInternalRouteInArray(r,`replaceRoutes`),d.validator?.routes.validateAddRouteArgs(r),d.validator?.routes.validateRoutes(r,f);let o=c.getState(),s=d.treeChanged.listenerCount()>0?C(f,()=>!0):void 0;j(f,r,d,o,s===void 0?void 0:()=>{let e=C(f,()=>!0),{removed:t,added:n}=E(s,e);p({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>d.treeChanged.subscribe(e)});return P.set(c,m),m}const I=Object.create,L=Object.hasOwn,R=e=>typeof e==`symbol`?e:String(e);function z(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=R(t);if(!L(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 B(e,t,r){let i=[],a=e.dependencies;n.N(t,(t,o)=>{L(a,t)?i.push(t):r?.dependencies.validateDependencyCount(e,`setDependencies`),n.E(a,t,o)}),i.length>0&&r?.dependencies.warnBatchOverwrite(i,`setDependencies`)}function V(t){let n=e.i(t);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 r.l({...e})},set:(e,t)=>{i(n.isDisposed),n.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),z(n.dependenciesGetStore(),e,t,n.validator),i(n.isDisposed)},setAll:e=>{i(n.isDisposed);let t=n.dependenciesGetStore();n.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),B(t,e,n.validator),i(n.isDisposed)},remove:e=>{i(n.isDisposed),n.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=n.dependenciesGetStore(),r=R(e);L(t.dependencies,r)||n.validator?.dependencies.warnRemoveNonExistent(String(r)),delete t.dependencies[r]},reset:()=>{i(n.isDisposed);let e=n.dependenciesGetStore();e.dependencies=I(null)},has:e=>(n.validator?.dependencies.validateDependencyName(e,`hasDependency`),L(n.dependenciesGetStore().dependencies,e))}}function H(t){let r=e.i(t),a=r.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){i(r.isDisposed),n.A(e,`addActivateGuard`),r.validator?.routes.validateRouteName(e,`addActivateGuard`),r.validator?.lifecycle.validateHandler(t,`addActivateGuard`),a.addCanActivate(e,t,!1)},addDeactivateGuard(e,t){i(r.isDisposed),n.A(e,`addDeactivateGuard`),r.validator?.routes.validateRouteName(e,`addDeactivateGuard`),r.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),a.addCanDeactivate(e,t,!1)},removeActivateGuard(e){i(r.isDisposed),n.A(e,`removeActivateGuard`),r.validator?.routes.validateRouteName(e,`removeActivateGuard`),a.clearCanActivate(e,`external`)},removeDeactivateGuard(e){i(r.isDisposed),n.A(e,`removeDeactivateGuard`),r.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),a.clearCanDeactivate(e,`external`)}}}const U=Object.entries,W=Object.hasOwn;function G(i,a,o){let s=e.i(i);if(s.isDisposed())throw r.n(new r.t(t.m.ROUTER_DISPOSED));s.validator?.dependencies.validateCloneArgs(a);let c=s.routeGetStore(),l=n.F(c.tree),u=c.config,d=c.resolvedForwardMap,f=c.routeCustomFields,{options:p,dependencies:m,pluginFactories:h,loggerConfig:g,limits:_,limitKeys:v}=s.getCloneState(),{definition:y,external:b}=c.lifecycleNamespace.getFactoriesByOrigin(),x={...m};a!==void 0&&n.N(a,(e,n)=>{t.a(x,e,n)});let S=o?.logger,C=S?{...g,...S}:g,w=new n.t(l,{...p,...c.matcherOptions?.queryParams!==void 0&&{queryParams:c.matcherOptions.queryParams},logger:C,...v!==void 0&&{limits:Object.fromEntries(v.filter(e=>W(_,e)).map(e=>[e,_[e]]))},...c.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:c.matcherOptions.urlParamsEncoding}},x),T=e.i(w),E=T.routeGetStore(),D=E.lifecycleNamespace;n.b(E.config,u),n.r(E,Object.assign(E.resolvedForwardMap,d)),Object.assign(E.routeCustomFields,f),c.rootPath!==``&&T.setRootPath(c.rootPath);let[O,k]=y,[A,j]=b;for(let[e,t]of U(O))D.addCanDeactivate(e,t,!0);for(let[e,t]of U(k))D.addCanActivate(e,t,!0);let M=H(w);for(let[e,t]of U(A))M.addDeactivateGuard(e,t);for(let[e,t]of U(j))M.addActivateGuard(e,t);let N=new Set(T.getCloneState().pluginFactories),P=h.filter(e=>!N.has(e));return P.length>0&&w.usePlugin(...P),w}exports.cloneRouter=G,exports.getDependenciesApi=V,exports.getLifecycleApi=H,exports.getPluginApi=m,exports.getRoutesApi=F;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./internals-BGTllfGV.js"),t=require("./ingest-C6HQ7xXf.js"),n=require("./Router-BiGqB1Jw.js"),r=require("./RouterError-B-j6UqeF.js");function i(e){if(e())throw r.n(new r.t(t.m.ROUTER_DISPOSED))}function a(e,n){if(e())throw r.n(new r.t(t.m.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.`}));if(n())throw r.n(new r.t(t.m.REENTRANT_TREE_MUTATION,{message:`[router] cannot mutate the route tree from inside replace()'s revalidation — the tree would move under a state that has not been revalidated yet. Defer it: queueMicrotask(() => routes.replace(...)) or await.`}))}function o(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 s(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 c(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function l(e,t,n,r){return n&&c(e)!==c(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 u(e,t){return!e||(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1)}const d=Object.freeze,f=Object.keys,p=new WeakMap;function m(o){let s=p.get(o);if(s)return s;let c=e.i(o),u={makeState:(t,n,i,a)=>{e.o(c,`makeState`,t,n);let o=r.r(n);return c.validator?.state.validateMakeStateArgs(t,o,a),c.validator?.navigation.validateSearch(i,`makeState`),c.makeState(t,o,i,a)},forwardState:(e,t,n)=>(c.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),c.validator?.navigation.validateSearch(n,`forwardState`),c.forwardState(e,t,n)),matchPath:e=>(c.validator?.routes.validateMatchPathArgs(e),c.matchPath(e,c.getOptions())),navigateToState:(e,t)=>(i(c.isDisposed),c.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&c.validator?.navigation.validateNavigationOptions(t,`navigateToState`),c.navigateToState(e,t)),setRootPath:e=>(i(c.isDisposed),a(c.treeChanged.isEmitting,()=>c.routeGetStore().revalidating),c.validator?.routes.validateSetRootPathArgs(e),l(c.getRootPath(),e,c.isTransitioning(),c.logger)?(c.setRootPath(e),!0):!1),getRootPath:c.getRootPath,addEventListener:(e,t)=>(i(c.isDisposed),n.D(e),n.k(t),c.validator?.eventBus.validateListenerArgs(e,t),c.addEventListener(e,t)),buildNavigationState:(t,i={},a={})=>{e.o(c,`buildNavigationState`,t,i);let o=r.r(i);c.validator?.navigation.validateSearch(a,`buildNavigationState`),c.validator?.routes.validateStateBuilderArgs(t,o,`buildNavigationState`);let s=n.T(c.port(),t,o,a,{diagnoseUndeclared:!0});if(c.buildStateResolved(s.name,s.path))return e._(`buildNavigationState`,s.name,s.path,c.port().queryNames(s.name)),n.C(s,n.w(s,c.port()))},getOptions:c.getOptions,getTree:c.getTree,addInterceptor:(e,t)=>{i(c.isDisposed),n.O(e,t);let r=c.interceptors.get(e);r||(r=[],c.interceptors.set(e,r)),r.push(t);let a=!1;return()=>{a||(a=!0,r.splice(r.indexOf(t),1))}},getRouteConfig:e=>{let t=c.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{i(c.isDisposed);let n=f(e);for(let e of n)if(e in o)throw r.n(new r.t(t.m.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));let a=n.map(t=>e[t]),s={keys:n};for(let[e,t]of n.entries())o[t]=a[e];c.routerExtensions.push(s);let l=!1;return()=>{if(l)return;l=!0;for(let e of s.keys)delete o[e];let e=c.routerExtensions.indexOf(s);e!==-1&&c.routerExtensions.splice(e,1)}},emitTransitionError:e=>{i(c.isDisposed),c.emitTransitionError(e)},claimContextNamespace:e=>{if(i(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 r.n(new r.t(t.m.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));let n={write(r,i){c.contextClaimRecords.get(e)===n&&t.a(r.context,e,i)},release(){c.contextClaimRecords.get(e)===n&&c.contextClaimRecords.delete(e)}};return c.contextClaimRecords.set(e,n),n}},m=d(u);return p.set(o,m),m}const h=Object.freeze,g=Object.keys,_=Object.freeze({replace:!0,revalidate:!0}),v=Object.freeze([]);function y(e,t,r,i){let a=t=>e.has(t);n.x(t.decoders,a),n.x(t.encoders,a),n.x(t.defaultParams,a),n.x(t.defaultSearch,a),n.x(t.forwardMap,a),n.x(t.forwardFnMap,a),n.x(r,a),n.x(t.forwardMap,e=>a(t.forwardMap[e]));let[o,s]=i.getFactories();for(let e of g(s))a(e)&&i.clearCanActivate(e,`both`);for(let e of g(o))a(e)&&i.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 x(e,n,r,i){let a={name:e.name,path:e.path};return b(a,n,r,i),e.children&&t.a(a,`children`,e.children.map(e=>x(e,`${n}.${e.name}`,r,i))),a}function S(e,t,n,r){let i={name:e,path:t};return b(i,e,n,r),h(i)}function C(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,S(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function w(e,t){let n=C(e,e=>t.has(e));return h([...n.values()])}function T(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(S(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),h(i)}function E(e,t){let n=[],r=[];for(let[r,i]of e)t.has(r)||n.push(i);for(let[n,i]of t)e.has(n)||r.push(i);return{removed:h(n),added:h(r)}}function D(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 O(e,t,r,i){n.a(e,t,r);let a=n.f(e,t,r,i);n.y(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!1),n.i(e,a)}function k(e,t,n){e.systemCommit(t,n,_)}function A(e,t,r,i,a){n.l(t,`addRoute`),n.d(t,`addRoute`),n.o(t,`addRoute`),n.s(t,``,`addRoute`),n.c(t,``,`addRoute`);let o=n.p(t,e.rootPath,e.matcherOptions,r.logger);n.y(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!0);let s=n.g(o,e.depsStore);e.lifecycleNamespace.clearDefinitionGuards(),n.i(e,o,s),e.revalidating=!0;try{if(a?.(),i!==void 0){let t=r.matchPath(i.path,r.getOptions());if(t){if(t.name===i.name)k(r,{...t,context:i.context,transition:i.transition},i);else{let{toDeactivate:a,toActivate:o,intersection:s}=n.n(t,i,r.getMetaForState);if(e.lifecycleNamespace.canNavigateTo([],o,t,i)){let e={phase:`activating`,from:i.name,reason:`success`,replace:!0,segments:{deactivated:a,activated:o,intersection:s}};k(r,{...t,transition:e},i)}else r.revalidateToNotFound(i.path)}}else r.revalidateToNotFound(i.path)}}finally{e.revalidating=!1}}function j(e,t,r){let i=e.definitions,a=n.S(i,t);if(a===void 0)return;let o=r?w(e,a):v;return y(a,e.config,e.routeCustomFields,e.lifecycleNamespace),n.h(e,i),o}function M(e,t){let r=e.matcher.getSegmentsByName(t);if(!r)return;let i=r.at(-1),a=n.P(i),o=e.lifecycleNamespace.getFactories();return x(a,t,e.config,o)}const N=new WeakMap;function P(c){let l=N.get(c);if(l)return l;let d=e.i(c),f=d.routeGetStore(),p=e=>{d.treeChanged.emit(e)},m=h({add:(e,t)=>{i(d.isDisposed),a(d.treeChanged.isEmitting,()=>f.revalidating);let r=Array.isArray(e)?e:[e],o=t?.parent,s=n.M(r);if(n.j(s,d.validator),o!==void 0&&d.validator?.routes.validateParentOption(o,f.tree),d.validator?.routes.throwIfInternalRouteInArray(s,`addRoute`),d.validator?.routes.validateAddRouteArgs(s),d.validator?.routes.validateRoutes(s,f,o),O(f,s,o,d.logger),d.treeChanged.listenerCount()>0){let e=T(s,o,f);p(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(i(d.isDisposed),a(d.treeChanged.isEmitting,()=>f.revalidating),d.validator?.routes.validateRemoveRouteArgs(e),d.validator?.routes.throwIfInternalRoute(e,`removeRoute`),n.u(e,`removeRoute`),!o(e,d.getStateName(),d.logger))return;let t=d.treeChanged.listenerCount()>0,r=j(f,e,t);if(r===void 0){d.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}d.isTransitioning()&&s(e,d.logger),t&&p({op:`remove`,name:e,removedSubtree:r})},update:(e,t)=>{if(i(d.isDisposed),a(d.treeChanged.isEmitting,()=>f.revalidating),d.validator?.routes.validateUpdateRouteBasicArgs(e,t),d.validator?.routes.throwIfInternalRoute(e,`updateRoute`),n.u(e,`updateRoute`),d.validator?.routes.validateUpdateRoutePropertyTypes(e,t),d.validator?.routes.validateUpdateRoute(e,t,f),!f.matcher.hasRoute(e))return;d.isTransitioning()&&d.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let r=f.lifecycleNamespace,o=n.m(f,r,e,t);if(d.treeChanged.listenerCount()>0){let t=D(o);g(t).length>0&&p({op:`update`,name:e,patch:t})}},clear:()=>{if(i(d.isDisposed),a(d.treeChanged.isEmitting,()=>f.revalidating),d.getStateName()!==void 0)throw r.n(new r.t(t.m.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(!u(d.isTransitioning(),d.logger))return;let e=d.treeChanged.listenerCount()>0?h([...C(f,()=>!0).values()]):void 0;n._(f),f.lifecycleNamespace.clearAll(),e!==void 0&&p({op:`clear`,removed:e})},has:e=>(d.validator?.routes.validateRouteName(e,`hasRoute`),f.matcher.hasRoute(e)),get:e=>(d.validator?.routes.validateRouteName(e,`getRoute`),M(f,e)),replace:e=>{i(d.isDisposed),a(d.treeChanged.isEmitting,()=>f.revalidating);let t=Array.isArray(e)?e:[e];if(!u(d.isTransitioning(),d.logger))return;let r=n.M(t);n.j(r,d.validator),d.validator?.routes.throwIfInternalRouteInArray(r,`replaceRoutes`),d.validator?.routes.validateAddRouteArgs(r),d.validator?.routes.validateRoutes(r,f);let o=c.getState(),s=d.treeChanged.listenerCount()>0?C(f,()=>!0):void 0;A(f,r,d,o,s===void 0?void 0:()=>{let e=C(f,()=>!0),{removed:t,added:n}=E(s,e);p({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>d.treeChanged.subscribe(e)});return N.set(c,m),m}const F=Object.create,I=Object.hasOwn,L=e=>typeof e==`symbol`?e:String(e);function R(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=L(t);if(!I(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 z(e,t,r){let i=[],a=e.dependencies;n.N(t,(t,o)=>{I(a,t)?i.push(t):r?.dependencies.validateDependencyCount(e,`setDependencies`),n.E(a,t,o)}),i.length>0&&r?.dependencies.warnBatchOverwrite(i,`setDependencies`)}function B(t){let n=e.i(t);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 r.l({...e})},set:(e,t)=>{i(n.isDisposed),n.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),R(n.dependenciesGetStore(),e,t,n.validator),i(n.isDisposed)},setAll:e=>{i(n.isDisposed);let t=n.dependenciesGetStore();n.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),z(t,e,n.validator),i(n.isDisposed)},remove:e=>{i(n.isDisposed),n.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=n.dependenciesGetStore(),r=L(e);I(t.dependencies,r)||n.validator?.dependencies.warnRemoveNonExistent(String(r)),delete t.dependencies[r]},reset:()=>{i(n.isDisposed);let e=n.dependenciesGetStore();e.dependencies=F(null)},has:e=>(n.validator?.dependencies.validateDependencyName(e,`hasDependency`),I(n.dependenciesGetStore().dependencies,e))}}function V(t){let r=e.i(t),a=r.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){i(r.isDisposed),n.A(e,`addActivateGuard`),r.validator?.routes.validateRouteName(e,`addActivateGuard`),r.validator?.lifecycle.validateHandler(t,`addActivateGuard`),a.addCanActivate(e,t,!1)},addDeactivateGuard(e,t){i(r.isDisposed),n.A(e,`addDeactivateGuard`),r.validator?.routes.validateRouteName(e,`addDeactivateGuard`),r.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),a.addCanDeactivate(e,t,!1)},removeActivateGuard(e){i(r.isDisposed),n.A(e,`removeActivateGuard`),r.validator?.routes.validateRouteName(e,`removeActivateGuard`),a.clearCanActivate(e,`external`)},removeDeactivateGuard(e){i(r.isDisposed),n.A(e,`removeDeactivateGuard`),r.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),a.clearCanDeactivate(e,`external`)}}}const H=Object.entries,U=Object.hasOwn;function W(i,a,o){let s=e.i(i);if(s.isDisposed())throw r.n(new r.t(t.m.ROUTER_DISPOSED));s.validator?.dependencies.validateCloneArgs(a);let c=s.routeGetStore(),l=n.F(c.tree),u=c.config,d=c.resolvedForwardMap,f=c.routeCustomFields,{options:p,dependencies:m,pluginFactories:h,loggerConfig:g,limits:_,limitKeys:v}=s.getCloneState(),{definition:y,external:b}=c.lifecycleNamespace.getFactoriesByOrigin(),x={...m};a!==void 0&&n.N(a,(e,n)=>{t.a(x,e,n)});let S=o?.logger,C=S?{...g,...S}:g,w=new n.t(l,{...p,...c.matcherOptions?.queryParams!==void 0&&{queryParams:c.matcherOptions.queryParams},logger:C,...v!==void 0&&{limits:Object.fromEntries(v.filter(e=>U(_,e)).map(e=>[e,_[e]]))},...c.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:c.matcherOptions.urlParamsEncoding}},x),T=e.i(w),E=T.routeGetStore(),D=E.lifecycleNamespace;n.b(E.config,u),n.r(E,Object.assign(E.resolvedForwardMap,d)),Object.assign(E.routeCustomFields,f),c.rootPath!==``&&T.setRootPath(c.rootPath);let[O,k]=y,[A,j]=b;for(let[e,t]of H(O))D.addCanDeactivate(e,t,!0);for(let[e,t]of H(k))D.addCanActivate(e,t,!0);let M=V(w);for(let[e,t]of H(A))M.addDeactivateGuard(e,t);for(let[e,t]of H(j))M.addActivateGuard(e,t);let N=new Set(T.getCloneState().pluginFactories),P=h.filter(e=>!N.has(e));return P.length>0&&w.usePlugin(...P),w}exports.cloneRouter=W,exports.getDependenciesApi=B,exports.getLifecycleApi=V,exports.getPluginApi=m,exports.getRoutesApi=P;
2
2
  //# sourceMappingURL=api.js.map