@real-router/core 0.111.0 → 0.111.2

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":"getRoutesApi.d.ts","names":[],"sources":["../../../src/api/getRoutesApi.ts"],"mappings":";;;iBA25BgB,aACd,qBAAqB,sBAAsB,qBAC3C,QAAQ,OAAO,gBAAgB,UAAU"}
1
+ {"version":3,"file":"getRoutesApi.d.ts","names":[],"sources":["../../../src/api/getRoutesApi.ts"],"mappings":";;;iBA85BgB,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("./buildParamMeta-CG-WYPDp.js"),t=require("./ingest-DxGcWzr6.js"),n=require("./Router-Bate6QLt.js");function r(e){if(e())throw n.r(new n.n(t.m.ROUTER_DISPOSED))}function i(e){if(e())throw n.r(new n.n(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 a(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 o(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 s(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function c(e,t,n,r){return n&&s(e)!==s(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 l(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const u=Object.keys,d=new WeakMap;function f(a){let o=d.get(a);if(o)return o;let s=e.u(a),l={makeState:(t,n,r,i)=>(e.f(s,`makeState`,t,n),s.validator?.state.validateMakeStateArgs(t,n,i),s.makeState(t,n,r,i)),forwardState:(e,t,n)=>(s.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),s.forwardState(e,t,n)),matchPath:e=>(s.validator?.routes.validateMatchPathArgs(e),s.matchPath(e,s.getOptions())),navigateToState:(e,t)=>(r(s.isDisposed),s.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&s.validator?.navigation.validateNavigationOptions(t,`navigateToState`),s.navigateToState(e,t)),setRootPath:e=>(r(s.isDisposed),i(s.treeChanged.isEmitting),s.validator?.routes.validateSetRootPathArgs(e),c(s.getRootPath(),e,s.isTransitioning(),s.logger)?(s.setRootPath(e),!0):!1),getRootPath:s.getRootPath,addEventListener:(e,t)=>(r(s.isDisposed),s.validator?.eventBus.validateListenerArgs(e,t),s.addEventListener(e,t)),buildNavigationState:(t,r={},i={})=>{e.f(s,`buildNavigationState`,t,r),s.validator?.routes.validateStateBuilderArgs(t,r,`buildNavigationState`);let a=n.D(s.port(),t,r,i,{diagnoseUndeclared:!0});if(s.buildStateResolved(a.name,a.path))return e.m(`buildNavigationState`,a.name,a.path,s.port().queryNames(a.name)),n.T(a,n.E(a,s.port()))},getOptions:s.getOptions,getTree:s.getTree,addInterceptor:(e,t)=>{r(s.isDisposed),s.validator?.plugins.validateAddInterceptorArgs(e,t);let n=s.interceptors.get(e);n||(n=[],s.interceptors.set(e,n)),n.push(t);let i=!1;return()=>{i||(i=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=s.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{r(s.isDisposed);let i=u(e);for(let e of i)if(e in a)throw n.r(new n.n(t.m.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));for(let t of i)a[t]=e[t];let o={keys:i};s.routerExtensions.push(o);let c=!1;return()=>{if(c)return;c=!0;for(let e of o.keys)delete a[e];let e=s.routerExtensions.indexOf(o);e!==-1&&s.routerExtensions.splice(e,1)}},emitTransitionError:e=>{r(s.isDisposed),s.emitTransitionError(e)},claimContextNamespace:e=>{if(r(s.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(s.contextClaimRecords.has(e))throw n.r(new n.n(t.m.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));return s.contextClaimRecords.add(e),{write(n,r){t.a(n.context,e,r)},release(){s.contextClaimRecords.delete(e)}}}};return d.set(a,l),l}const p=Object.keys,m=Object.freeze({replace:!0,revalidate:!0}),h=Object.freeze([]);function g(e,t,r,i){let a=t=>e.has(t);n.C(t.decoders,a),n.C(t.encoders,a),n.C(t.defaultParams,a),n.C(t.defaultSearch,a),n.C(t.forwardMap,a),n.C(t.forwardFnMap,a),n.C(r,a),n.C(t.forwardMap,e=>a(t.forwardMap[e]));let[o,s]=i.getFactories();for(let e of p(s))a(e)&&i.clearCanActivate(e,`both`);for(let e of p(o))a(e)&&i.clearCanDeactivate(e,`both`)}function _(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 _(i,t,n,r),e.children&&(i.children=e.children.map(e=>v(e,`${t}.${e.name}`,n,r))),i}function y(e,t,n,r){let i={name:e,path:t};return _(i,e,n,r),Object.freeze(i)}function b(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,y(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function x(e,t){let n=b(e,e=>t.has(e));return Object.freeze([...n.values()])}function S(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(y(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),Object.freeze(i)}function C(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 w(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 T(e,t,r,i){let a=n.y(t);n.s(e,a,r);let o=n.p(e,a,r,i);n.x(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!1),n.o(e,o)}function E(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function D(e,t,n,r,i){if(E(e,r.path)!==i){t.revalidateToNotFound(r.path);return}t.systemCommit(n,r,m)}function O(e,t,r,i,a){let o=n.y(t);n.d(o,`addRoute`),n.c(o,`addRoute`),n.l(o,``,`addRoute`),n.u(o,``,`addRoute`);let s=n.m(o,e.rootPath,e.matcherOptions,r.logger);n.x(s.matcher,s.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(s.pendingCanActivate.keys(),s.pendingCanDeactivate.keys(),!0);let c=n._(s,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),n.o(e,s,c),a?.(),i!==void 0){let t=E(e,i.path),a=r.matchPath(i.path,r.getOptions());if(a)if(a.name===i.name)D(e,r,{...a,context:i.context,transition:i.transition},i,t);else{let{toActivate:o}=n.i(a,i,r.getMetaForState);e.lifecycleNamespace.canNavigateTo([],o,a,i)?D(e,r,{...a,transition:i.transition},i,t):r.revalidateToNotFound(i.path)}else r.revalidateToNotFound(i.path)}}function k(e,t,r){let i=e.definitions,a=n.w(i,t);if(a===void 0)return;let o=r?x(e,a):h;return g(a,e.config,e.routeCustomFields,e.lifecycleNamespace),n.g(e,i),o}function A(e,t){let r=e.matcher.getSegmentsByName(t);if(!r)return;let i=n.O(r.at(-1)),a=e.lifecycleNamespace.getFactories();return v(i,t,e.config,a)}const j=new WeakMap;function M(s){let c=j.get(s);if(c)return c;let u=e.u(s),d=u.routeGetStore(),f=e=>{u.treeChanged.emit(e)},m=Object.freeze({add:(e,t)=>{r(u.isDisposed),i(u.treeChanged.isEmitting);let a=Array.isArray(e)?e:[e],o=t?.parent;if(n.j(a,u.validator),o!==void 0&&u.validator?.routes.validateParentOption(o,d.tree),u.validator?.routes.throwIfInternalRouteInArray(a,`addRoute`),u.validator?.routes.validateAddRouteArgs(a),u.validator?.routes.validateRoutes(a,d,o),T(d,a,o,u.logger),u.treeChanged.listenerCount()>0){let e=S(a,o,d);f(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.validator?.routes.validateRemoveRouteArgs(e),u.validator?.routes.throwIfInternalRoute(e,`removeRoute`),n.f(e,`removeRoute`),!a(e,u.getStateName(),u.logger))return;let t=u.treeChanged.listenerCount()>0,s=k(d,e,t);if(s===void 0){u.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}u.isTransitioning()&&o(e,u.logger),t&&f({op:`remove`,name:e,removedSubtree:s})},update:(e,t)=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.validator?.routes.validateUpdateRouteBasicArgs(e,t),u.validator?.routes.throwIfInternalRoute(e,`updateRoute`),n.f(e,`updateRoute`),u.validator?.routes.validateUpdateRoutePropertyTypes(e,t),u.validator?.routes.validateUpdateRoute(e,t,d),!d.matcher.hasRoute(e))return;u.isTransitioning()&&u.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let a=d.lifecycleNamespace,o=n.h(d,a,e,t);if(u.treeChanged.listenerCount()>0){let t=w(o);p(t).length>0&&f({op:`update`,name:e,patch:t})}},clear:()=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.getStateName()!==void 0)throw n.r(new n.n(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(!l(u.isTransitioning(),u.logger))return;let e=u.treeChanged.listenerCount()>0?Object.freeze([...b(d,()=>!0).values()]):void 0;n.v(d),d.lifecycleNamespace.clearAll(),e!==void 0&&f({op:`clear`,removed:e})},has:e=>(u.validator?.routes.validateRouteName(e,`hasRoute`),d.matcher.hasRoute(e)),get:e=>(u.validator?.routes.validateRouteName(e,`getRoute`),A(d,e)),replace:e=>{r(u.isDisposed),i(u.treeChanged.isEmitting);let t=Array.isArray(e)?e:[e];if(!l(u.isTransitioning(),u.logger))return;n.j(t,u.validator),u.validator?.routes.throwIfInternalRouteInArray(t,`replaceRoutes`),u.validator?.routes.validateAddRouteArgs(t),u.validator?.routes.validateRoutes(t,d);let a=s.getState(),o=u.treeChanged.listenerCount()>0?b(d,()=>!0):void 0;O(d,t,u,a,o===void 0?void 0:()=>{let e=b(d,()=>!0),{removed:t,added:n}=C(o,e);f({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>u.treeChanged.subscribe(e)});return j.set(s,m),m}const N=Object.hasOwn,P=e=>typeof e==`symbol`?e:String(e);function F(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=P(t);if(!N(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 I(e,t,r){let i=[],a=e.dependencies;n.M(t,(t,n)=>{N(a,t)?i.push(t):r?.dependencies.validateDependencyCount(e,`setDependencies`),a[t]=n}),i.length>0&&r?.dependencies.warnBatchOverwrite(i,`setDependencies`)}function L(t){let i=e.u(t);return{get:e=>{i.validator?.dependencies.validateDependencyName(e,`getDependency`);let t=i.dependenciesGetStore(),n=t.dependencies[e];return i.validator?.dependencies.validateDependencyExists(e,t),n},getAll:()=>{let e=i.dependenciesGetStore().dependencies;return n.A({...e})},set:(e,t)=>{r(i.isDisposed),i.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),F(i.dependenciesGetStore(),e,t,i.validator),r(i.isDisposed)},setAll:e=>{r(i.isDisposed);let t=i.dependenciesGetStore();i.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),I(t,e,i.validator),r(i.isDisposed)},remove:e=>{r(i.isDisposed),i.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=i.dependenciesGetStore(),n=P(e);N(t.dependencies,n)||i.validator?.dependencies.warnRemoveNonExistent(String(n)),delete t.dependencies[n]},reset:()=>{r(i.isDisposed);let e=i.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(i.validator?.dependencies.validateDependencyName(e,`hasDependency`),N(i.dependenciesGetStore().dependencies,e))}}function R(t){let n=e.u(t),i=n.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`addActivateGuard`),n.validator?.lifecycle.validateHandler(t,`addActivateGuard`),i.addCanActivate(e,t,!1)},addDeactivateGuard(e,t){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`addDeactivateGuard`),n.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),i.addCanDeactivate(e,t,!1)},removeActivateGuard(e){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeActivateGuard`),i.clearCanActivate(e,`external`)},removeDeactivateGuard(e){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),i.clearCanDeactivate(e,`external`)}}}const z=Object.entries,B=Object.hasOwn,V=Object.keys;function H(r,i,a){let o=e.u(r);if(o.isDisposed())throw n.r(new n.n(t.m.ROUTER_DISPOSED));o.validator?.dependencies.validateCloneArgs(i);let s=o.routeGetStore(),c=n.k(s.tree),l=s.config,u=s.resolvedForwardMap,d=s.routeCustomFields,{options:f,dependencies:p,pluginFactories:m,loggerConfig:h,limits:g}=o.getCloneState(),{definition:_,external:v}=s.lifecycleNamespace.getFactoriesByOrigin(),y={...p};i!==void 0&&n.M(i,(e,n)=>{t.a(y,e,n)});let b=a?.logger?{...h,...a.logger}:h,x=new n.t(c,{...f,logger:b,...f.limits!=null&&{limits:Object.fromEntries(V(f.limits).filter(e=>B(g,e)).map(e=>[e,g[e]]))},...s.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:s.matcherOptions.urlParamsEncoding}},y),S=e.u(x),C=S.routeGetStore(),w=C.lifecycleNamespace;n.S(C.config,l),n.a(C,Object.assign(C.resolvedForwardMap,u)),Object.assign(C.routeCustomFields,d),s.rootPath!==``&&S.setRootPath(s.rootPath);let[T,E]=_,[D,O]=v;for(let[e,t]of z(T))w.addCanDeactivate(e,t,!0);for(let[e,t]of z(E))w.addCanActivate(e,t,!0);let k=R(x);for(let[e,t]of z(D))k.addDeactivateGuard(e,t);for(let[e,t]of z(O))k.addActivateGuard(e,t);let A=new Set(S.getCloneState().pluginFactories),j=m.filter(e=>!A.has(e));return j.length>0&&x.usePlugin(...j),x}exports.cloneRouter=H,exports.getDependenciesApi=L,exports.getLifecycleApi=R,exports.getPluginApi=f,exports.getRoutesApi=M;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./buildParamMeta-CG-WYPDp.js"),t=require("./ingest-DxGcWzr6.js"),n=require("./Router-CXthrgGA.js");function r(e){if(e())throw n.r(new n.n(t.m.ROUTER_DISPOSED))}function i(e){if(e())throw n.r(new n.n(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 a(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 o(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 s(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function c(e,t,n,r){return n&&s(e)!==s(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 l(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const u=Object.keys,d=new WeakMap;function f(a){let o=d.get(a);if(o)return o;let s=e.u(a),l={makeState:(t,n,r,i)=>(e.f(s,`makeState`,t,n),s.validator?.state.validateMakeStateArgs(t,n,i),s.makeState(t,n,r,i)),forwardState:(e,t,n)=>(s.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),s.forwardState(e,t,n)),matchPath:e=>(s.validator?.routes.validateMatchPathArgs(e),s.matchPath(e,s.getOptions())),navigateToState:(e,t)=>(r(s.isDisposed),s.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&s.validator?.navigation.validateNavigationOptions(t,`navigateToState`),s.navigateToState(e,t)),setRootPath:e=>(r(s.isDisposed),i(s.treeChanged.isEmitting),s.validator?.routes.validateSetRootPathArgs(e),c(s.getRootPath(),e,s.isTransitioning(),s.logger)?(s.setRootPath(e),!0):!1),getRootPath:s.getRootPath,addEventListener:(e,t)=>(r(s.isDisposed),s.validator?.eventBus.validateListenerArgs(e,t),s.addEventListener(e,t)),buildNavigationState:(t,r={},i={})=>{e.f(s,`buildNavigationState`,t,r),s.validator?.routes.validateStateBuilderArgs(t,r,`buildNavigationState`);let a=n.D(s.port(),t,r,i,{diagnoseUndeclared:!0});if(s.buildStateResolved(a.name,a.path))return e.m(`buildNavigationState`,a.name,a.path,s.port().queryNames(a.name)),n.T(a,n.E(a,s.port()))},getOptions:s.getOptions,getTree:s.getTree,addInterceptor:(e,t)=>{r(s.isDisposed),s.validator?.plugins.validateAddInterceptorArgs(e,t);let n=s.interceptors.get(e);n||(n=[],s.interceptors.set(e,n)),n.push(t);let i=!1;return()=>{i||(i=!0,n.splice(n.indexOf(t),1))}},getRouteConfig:e=>{let t=s.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{r(s.isDisposed);let i=u(e);for(let e of i)if(e in a)throw n.r(new n.n(t.m.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`}));for(let t of i)a[t]=e[t];let o={keys:i};s.routerExtensions.push(o);let c=!1;return()=>{if(c)return;c=!0;for(let e of o.keys)delete a[e];let e=s.routerExtensions.indexOf(o);e!==-1&&s.routerExtensions.splice(e,1)}},emitTransitionError:e=>{r(s.isDisposed),s.emitTransitionError(e)},claimContextNamespace:e=>{if(r(s.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(s.contextClaimRecords.has(e))throw n.r(new n.n(t.m.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`}));return s.contextClaimRecords.add(e),{write(n,r){t.a(n.context,e,r)},release(){s.contextClaimRecords.delete(e)}}}};return d.set(a,l),l}const p=Object.keys,m=Object.freeze({replace:!0,revalidate:!0}),h=Object.freeze([]);function g(e,t,r,i){let a=t=>e.has(t);n.C(t.decoders,a),n.C(t.encoders,a),n.C(t.defaultParams,a),n.C(t.defaultSearch,a),n.C(t.forwardMap,a),n.C(t.forwardFnMap,a),n.C(r,a),n.C(t.forwardMap,e=>a(t.forwardMap[e]));let[o,s]=i.getFactories();for(let e of p(s))a(e)&&i.clearCanActivate(e,`both`);for(let e of p(o))a(e)&&i.clearCanDeactivate(e,`both`)}function _(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 _(i,t,n,r),e.children&&(i.children=e.children.map(e=>v(e,`${t}.${e.name}`,n,r))),i}function y(e,t,n,r){let i={name:e,path:t};return _(i,e,n,r),Object.freeze(i)}function b(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,y(a,s.path,e.config,r)),s.children&&i(s.children,a)}};return i(e.definitions,``),n}function x(e,t){let n=b(e,e=>t.has(e));return Object.freeze([...n.values()])}function S(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(y(e,o.path,n.config,r)),o.children&&a(o.children,e)}};return a(e,t??``),Object.freeze(i)}function C(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 w(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 T(e,t,r,i){let a=n.y(t);n.s(e,a,r);let o=n.p(e,a,r,i);n.x(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!1),n.o(e,o)}function E(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function D(e,t,n,r,i){if(E(e,r.path)!==i){t.revalidateToNotFound(r.path);return}t.systemCommit(n,r,m)}function O(e,t,r,i,a){let o=n.y(t);n.d(o,`addRoute`),n.c(o,`addRoute`),n.l(o,``,`addRoute`),n.u(o,``,`addRoute`);let s=n.m(o,e.rootPath,e.matcherOptions,r.logger);n.x(s.matcher,s.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(s.pendingCanActivate.keys(),s.pendingCanDeactivate.keys(),!0);let c=n._(s,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),n.o(e,s,c),a?.(),i!==void 0){let t=E(e,i.path),a=r.matchPath(i.path,r.getOptions());if(a)if(a.name===i.name)D(e,r,{...a,context:i.context,transition:i.transition},i,t);else{let{toActivate:o}=n.i(a,i,r.getMetaForState);e.lifecycleNamespace.canNavigateTo([],o,a,i)?D(e,r,{...a,transition:i.transition},i,t):r.revalidateToNotFound(i.path)}else r.revalidateToNotFound(i.path)}}function k(e,t,r){let i=e.definitions,a=n.w(i,t);if(a===void 0)return;let o=r?x(e,a):h;return g(a,e.config,e.routeCustomFields,e.lifecycleNamespace),n.g(e,i),o}function A(e,t){let r=e.matcher.getSegmentsByName(t);if(!r)return;let i=n.O(r.at(-1)),a=e.lifecycleNamespace.getFactories();return v(i,t,e.config,a)}const j=new WeakMap;function M(s){let c=j.get(s);if(c)return c;let u=e.u(s),d=u.routeGetStore(),f=e=>{u.treeChanged.emit(e)},m=Object.freeze({add:(e,t)=>{r(u.isDisposed),i(u.treeChanged.isEmitting);let a=Array.isArray(e)?e:[e],o=t?.parent;if(n.j(a,u.validator),o!==void 0&&u.validator?.routes.validateParentOption(o,d.tree),u.validator?.routes.throwIfInternalRouteInArray(a,`addRoute`),u.validator?.routes.validateAddRouteArgs(a),u.validator?.routes.validateRoutes(a,d,o),T(d,a,o,u.logger),u.treeChanged.listenerCount()>0){let e=S(a,o,d);f(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.validator?.routes.validateRemoveRouteArgs(e),u.validator?.routes.throwIfInternalRoute(e,`removeRoute`),n.f(e,`removeRoute`),!a(e,u.getStateName(),u.logger))return;let t=u.treeChanged.listenerCount()>0,s=k(d,e,t);if(s===void 0){u.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}u.isTransitioning()&&o(e,u.logger),t&&f({op:`remove`,name:e,removedSubtree:s})},update:(e,t)=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.validator?.routes.validateUpdateRouteBasicArgs(e,t),u.validator?.routes.throwIfInternalRoute(e,`updateRoute`),n.f(e,`updateRoute`),u.validator?.routes.validateUpdateRoutePropertyTypes(e,t),u.validator?.routes.validateUpdateRoute(e,t,d),!d.matcher.hasRoute(e))return;u.isTransitioning()&&u.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`);let a=d.lifecycleNamespace,o=n.h(d,a,e,t);if(u.treeChanged.listenerCount()>0){let t=w(o);p(t).length>0&&f({op:`update`,name:e,patch:t})}},clear:()=>{if(r(u.isDisposed),i(u.treeChanged.isEmitting),u.getStateName()!==void 0)throw n.r(new n.n(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(!l(u.isTransitioning(),u.logger))return;let e=u.treeChanged.listenerCount()>0?Object.freeze([...b(d,()=>!0).values()]):void 0;n.v(d),d.lifecycleNamespace.clearAll(),e!==void 0&&f({op:`clear`,removed:e})},has:e=>(u.validator?.routes.validateRouteName(e,`hasRoute`),d.matcher.hasRoute(e)),get:e=>(u.validator?.routes.validateRouteName(e,`getRoute`),A(d,e)),replace:e=>{r(u.isDisposed),i(u.treeChanged.isEmitting);let t=Array.isArray(e)?e:[e];if(!l(u.isTransitioning(),u.logger))return;n.j(t,u.validator),u.validator?.routes.throwIfInternalRouteInArray(t,`replaceRoutes`),u.validator?.routes.validateAddRouteArgs(t),u.validator?.routes.validateRoutes(t,d);let a=s.getState(),o=u.treeChanged.listenerCount()>0?b(d,()=>!0):void 0;O(d,t,u,a,o===void 0?void 0:()=>{let e=b(d,()=>!0),{removed:t,added:n}=C(o,e);f({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>u.treeChanged.subscribe(e)});return j.set(s,m),m}const N=Object.hasOwn,P=e=>typeof e==`symbol`?e:String(e);function F(e,t,n,r){if(n===void 0)return;let i=e.dependencies,a=P(t);if(!N(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 I(e,t,r){let i=[],a=e.dependencies;n.M(t,(t,n)=>{N(a,t)?i.push(t):r?.dependencies.validateDependencyCount(e,`setDependencies`),a[t]=n}),i.length>0&&r?.dependencies.warnBatchOverwrite(i,`setDependencies`)}function L(t){let i=e.u(t);return{get:e=>{i.validator?.dependencies.validateDependencyName(e,`getDependency`);let t=i.dependenciesGetStore(),n=t.dependencies[e];return i.validator?.dependencies.validateDependencyExists(e,t),n},getAll:()=>{let e=i.dependenciesGetStore().dependencies;return n.A({...e})},set:(e,t)=>{r(i.isDisposed),i.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),F(i.dependenciesGetStore(),e,t,i.validator),r(i.isDisposed)},setAll:e=>{r(i.isDisposed);let t=i.dependenciesGetStore();i.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),I(t,e,i.validator),r(i.isDisposed)},remove:e=>{r(i.isDisposed),i.validator?.dependencies.validateDependencyName(e,`removeDependency`);let t=i.dependenciesGetStore(),n=P(e);N(t.dependencies,n)||i.validator?.dependencies.warnRemoveNonExistent(String(n)),delete t.dependencies[n]},reset:()=>{r(i.isDisposed);let e=i.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(i.validator?.dependencies.validateDependencyName(e,`hasDependency`),N(i.dependenciesGetStore().dependencies,e))}}function R(t){let n=e.u(t),i=n.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`addActivateGuard`),n.validator?.lifecycle.validateHandler(t,`addActivateGuard`),i.addCanActivate(e,t,!1)},addDeactivateGuard(e,t){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`addDeactivateGuard`),n.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),i.addCanDeactivate(e,t,!1)},removeActivateGuard(e){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeActivateGuard`),i.clearCanActivate(e,`external`)},removeDeactivateGuard(e){r(n.isDisposed),n.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),i.clearCanDeactivate(e,`external`)}}}const z=Object.entries,B=Object.hasOwn,V=Object.keys;function H(r,i,a){let o=e.u(r);if(o.isDisposed())throw n.r(new n.n(t.m.ROUTER_DISPOSED));o.validator?.dependencies.validateCloneArgs(i);let s=o.routeGetStore(),c=n.k(s.tree),l=s.config,u=s.resolvedForwardMap,d=s.routeCustomFields,{options:f,dependencies:p,pluginFactories:m,loggerConfig:h,limits:g}=o.getCloneState(),{definition:_,external:v}=s.lifecycleNamespace.getFactoriesByOrigin(),y={...p};i!==void 0&&n.M(i,(e,n)=>{t.a(y,e,n)});let b=a?.logger?{...h,...a.logger}:h,x=new n.t(c,{...f,logger:b,...f.limits!=null&&{limits:Object.fromEntries(V(f.limits).filter(e=>B(g,e)).map(e=>[e,g[e]]))},...s.matcherOptions?.urlParamsEncoding!==void 0&&{urlParamsEncoding:s.matcherOptions.urlParamsEncoding}},y),S=e.u(x),C=S.routeGetStore(),w=C.lifecycleNamespace;n.S(C.config,l),n.a(C,Object.assign(C.resolvedForwardMap,u)),Object.assign(C.routeCustomFields,d),s.rootPath!==``&&S.setRootPath(s.rootPath);let[T,E]=_,[D,O]=v;for(let[e,t]of z(T))w.addCanDeactivate(e,t,!0);for(let[e,t]of z(E))w.addCanActivate(e,t,!0);let k=R(x);for(let[e,t]of z(D))k.addDeactivateGuard(e,t);for(let[e,t]of z(O))k.addActivateGuard(e,t);let A=new Set(S.getCloneState().pluginFactories),j=m.filter(e=>!A.has(e));return j.length>0&&x.usePlugin(...j),x}exports.cloneRouter=H,exports.getDependenciesApi=L,exports.getLifecycleApi=R,exports.getPluginApi=f,exports.getRoutesApi=M;
2
2
  //# sourceMappingURL=api.js.map