@real-router/core 0.90.1 → 0.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Router-D_dwJLCj.js +2 -0
- package/dist/cjs/Router-D_dwJLCj.js.map +1 -0
- 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/index.js +1 -1
- package/dist/esm/Router-C62cnt7M.mjs +2 -0
- package/dist/esm/Router-C62cnt7M.mjs.map +1 -0
- 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/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/cjs/Router-S2GVIigJ.js +0 -2
- package/dist/cjs/Router-S2GVIigJ.js.map +0 -1
- package/dist/esm/Router-vZz1iGx7.mjs +0 -2
- package/dist/esm/Router-vZz1iGx7.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRoutesApi.d.ts","names":[],"sources":["../../../src/api/getRoutesApi.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getRoutesApi.d.ts","names":[],"sources":["../../../src/api/getRoutesApi.ts"],"mappings":";;;iBA03BgB,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-0m11OIJS.js"),t=require("./Router-S2GVIigJ.js");function n(e){if(e())throw new t.n(t.k.ROUTER_DISPOSED)}function r(e){if(e())throw new t.n(t.k.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 i(e,t,n,r,i){if(t){let n=t===e;if(n||(i.getSegmentsByName(t)?.some(t=>t.fullName===e)??!1)){let i=n?``:` (current: "${t}")`;return r.warn(`router.removeRoute`,`Cannot remove route "${e}" — it is currently active${i}. Navigate away first.`),!1}}return n&&r.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.`),!0}function a(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function o(e,t,n,r){return n&&a(e)!==a(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 s(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const c=new WeakMap;function l(i){let a=c.get(i);if(a)return a;let s=e.u(i),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)=>(n(s.isDisposed),s.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&s.validator?.navigation.validateNavigationOptions(t,`navigateToState`),s.navigateToState(e,t)),setRootPath:e=>(n(s.isDisposed),r(s.treeChanged.isEmitting),s.validator?.routes.validateSetRootPathArgs(e),o(s.getRootPath(),e,s.isTransitioning(),s.logger)?(s.setRootPath(e),!0):!1),getRootPath:s.getRootPath,addEventListener:(e,t)=>(n(s.isDisposed),s.validator?.eventBus.validateListenerArgs(e,t),s.addEventListener(e,t)),buildNavigationState:(n,r={},i={})=>{e.f(s,`buildNavigationState`,n,r),s.validator?.routes.validateStateBuilderArgs(n,r,`buildNavigationState`);let a=t.C(s.port(),n,r,i,{diagnoseUndeclared:!0});if(s.buildStateResolved(a.name,a.path))return t.x(a,{path:t.S(a,s.port())})},getOptions:s.getOptions,getTree:s.getTree,addInterceptor:(e,t)=>{n(s.isDisposed),s.validator?.plugins.validateAddInterceptorArgs(e,t);let r=s.interceptors.get(e);r||(r=[],s.interceptors.set(e,r)),r.push(t);let i=!1;return()=>{i||(i=!0,r.splice(r.indexOf(t),1))}},getRouteConfig:e=>{let t=s.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{n(s.isDisposed);let r=Object.keys(e);for(let e of r)if(e in i)throw new t.n(t.k.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`});for(let t of r)i[t]=e[t];let a={keys:r};s.routerExtensions.push(a);let o=!1;return()=>{if(o)return;o=!0;for(let e of a.keys)delete i[e];let e=s.routerExtensions.indexOf(a);e!==-1&&s.routerExtensions.splice(e,1)}},emitTransitionError:e=>{n(s.isDisposed),s.emitTransitionError(e)},claimContextNamespace:e=>{if(n(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 new t.n(t.k.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`});return s.contextClaimRecords.add(e),{write(t,n){e===`__proto__`?Object.defineProperty(t.context,e,{value:n,writable:!0,enumerable:!0,configurable:!0}):t.context[e]=n},release(){s.contextClaimRecords.delete(e)}}}};return c.set(i,l),l}const u=Object.freeze({replace:!0,revalidate:!0}),d=Object.freeze([]);function f(e,n,r,i){let a=t=>e.has(t);t.y(n.decoders,a),t.y(n.encoders,a),t.y(n.defaultParams,a),t.y(n.defaultSearch,a),t.y(n.forwardMap,a),t.y(n.forwardFnMap,a),t.y(r,a),t.y(n.forwardMap,e=>a(n.forwardMap[e]));let[o,s]=i.getFactories();for(let e of Object.keys(s))a(e)&&i.clearCanActivate(e,`both`);for(let e of Object.keys(o))a(e)&&i.clearCanDeactivate(e,`both`)}function p(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 m(e,t,n,r){let i={name:e.name,path:e.path};return p(i,t,n,r),e.children&&(i.children=e.children.map(e=>m(e,`${t}.${e.name}`,n,r))),i}function h(e,t,n,r){let i={name:e,path:t};return p(i,e,n,r),Object.freeze(i)}function g(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 _(e,t){let n=g(e,e=>t.has(e));return Object.freeze([...n.values()])}function v(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 y(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 b(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 x(e,n,r,i){t.a(e,n,r);let a=t.u(e,n,r,i);t._(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!1),t.i(e,a)}function S(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function C(e,t,n,r,i){if(S(e,r.path)!==i){t.navigateToNotFound(r.path,{skipDeactivation:!0});return}t.systemCommit(n,r,u)}function w(e,n,r,i,a){t.c(n,`addRoute`),t.o(n,``,`addRoute`),t.s(n,``,`addRoute`);let o=t.d(n,e.rootPath,e.matcherOptions,r.logger);t._(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!0);let s=t.m(o,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),t.i(e,o,s),a?.(),i!==void 0){let n=S(e,i.path),a=r.matchPath(i.path,r.getOptions());if(a)if(a.name===i.name)C(e,r,{...a,context:i.context,transition:i.transition},i,n);else{let{toActivate:o}=t.r(a,i,r.getMetaForState);e.lifecycleNamespace.canNavigateTo([],o,a,i)?C(e,r,{...a,transition:i.transition},i,n):r.navigateToNotFound(i.path,{skipDeactivation:!0})}else r.navigateToNotFound(i.path,{skipDeactivation:!0})}}function T(e,n,r){let i=e.definitions,a=t.b(i,n);if(a===void 0)return;let o=r?_(e,a):d;return f(a,e.config,e.routeCustomFields,e.lifecycleNamespace),t.p(e,i),o}function E(e,n){let r=e.matcher.getSegmentsByName(n);if(!r)return;let i=t.w(r.at(-1)),a=e.lifecycleNamespace.getFactories();return m(i,n,e.config,a)}const D=new WeakMap;function O(a){let o=D.get(a);if(o)return o;let c=e.u(a),l=c.routeGetStore(),u=e=>{c.treeChanged.emit(e)},d={add:(e,i)=>{n(c.isDisposed),r(c.treeChanged.isEmitting);let a=Array.isArray(e)?e:[e],o=i?.parent;if(t.E(a,c.validator),o!==void 0&&c.validator?.routes.validateParentOption(o,l.tree),c.validator?.routes.throwIfInternalRouteInArray(a,`addRoute`),c.validator?.routes.validateAddRouteArgs(a),c.validator?.routes.validateRoutes(a,l,o),x(l,a,o,c.logger),c.treeChanged.listenerCount()>0){let e=v(a,o,l);u(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(n(c.isDisposed),r(c.treeChanged.isEmitting),c.validator?.routes.validateRemoveRouteArgs(e),c.validator?.routes.throwIfInternalRoute(e,`removeRoute`),t.l(e,`removeRoute`),!i(e,c.getStateName(),c.isTransitioning(),c.logger,l.matcher))return;let a=c.treeChanged.listenerCount()>0,o=T(l,e,a);if(o===void 0){c.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}a&&u({op:`remove`,name:e,removedSubtree:o})},update:(e,i)=>{if(n(c.isDisposed),r(c.treeChanged.isEmitting),c.validator?.routes.validateUpdateRouteBasicArgs(e,i),c.validator?.routes.throwIfInternalRoute(e,`updateRoute`),t.l(e,`updateRoute`),c.validator?.routes.validateUpdateRoutePropertyTypes(e,i),c.isTransitioning()&&c.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`),c.validator?.routes.validateUpdateRoute(e,i,l),!l.matcher.hasRoute(e))return;let a=l.lifecycleNamespace,o=t.f(l,a,e,i);if(c.treeChanged.listenerCount()>0){let t=b(o);Object.keys(t).length>0&&u({op:`update`,name:e,patch:t})}},clear:()=>{if(n(c.isDisposed),r(c.treeChanged.isEmitting),c.getStateName()!==void 0)throw new t.n(t.k.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(!s(c.isTransitioning(),c.logger))return;let e=c.treeChanged.listenerCount()>0?Object.freeze([...g(l,()=>!0).values()]):void 0;t.h(l),l.lifecycleNamespace.clearAll(),c.clearState(),e!==void 0&&u({op:`clear`,removed:e})},has:e=>(c.validator?.routes.validateRouteName(e,`hasRoute`),l.matcher.hasRoute(e)),get:e=>(c.validator?.routes.validateRouteName(e,`getRoute`),E(l,e)),replace:e=>{n(c.isDisposed),r(c.treeChanged.isEmitting);let i=Array.isArray(e)?e:[e];if(!s(c.isTransitioning(),c.logger))return;t.E(i,c.validator),c.validator?.routes.throwIfInternalRouteInArray(i,`replaceRoutes`),c.validator?.routes.validateAddRouteArgs(i),c.validator?.routes.validateRoutes(i,l);let o=a.getState(),d=c.treeChanged.listenerCount()>0?g(l,()=>!0):void 0;w(l,i,c,o,d===void 0?void 0:()=>{let e=g(l,()=>!0),{removed:t,added:n}=y(d,e);u({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>c.treeChanged.subscribe(e)};return D.set(a,d),d}function k(e,t,n,r){if(n!==void 0){if(!Object.hasOwn(e.dependencies,t))r?.dependencies.validateDependencyCount(e,`setDependency`);else{let i=e.dependencies[t];i!==n&&!(Number.isNaN(i)&&Number.isNaN(n))&&r?.dependencies.warnOverwrite(t,`setDependency`)}e.dependencies[t]=n}}function A(e,t,n){let r=[];for(let i in t)t[i]!==void 0&&(Object.hasOwn(e.dependencies,i)?r.push(i):n?.dependencies.validateDependencyCount(e,`setDependencies`),e.dependencies[i]=t[i]);r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function j(t){let r=e.u(t);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:()=>({...r.dependenciesGetStore().dependencies}),set:(e,t)=>{n(r.isDisposed),r.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),k(r.dependenciesGetStore(),e,t,r.validator)},setAll:e=>{n(r.isDisposed);let t=r.dependenciesGetStore();r.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),A(t,e,r.validator)},remove:e=>{n(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:()=>{n(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 M(t){let r=e.u(t),i=r.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){n(r.isDisposed),r.validator?.routes.validateRouteName(e,`addActivateGuard`),r.validator?.lifecycle.validateHandler(t,`addActivateGuard`),i.addCanActivate(e,t)},addDeactivateGuard(e,t){n(r.isDisposed),r.validator?.routes.validateRouteName(e,`addDeactivateGuard`),r.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),i.addCanDeactivate(e,t)},removeActivateGuard(e){n(r.isDisposed),r.validator?.routes.validateRouteName(e,`removeActivateGuard`),i.clearCanActivate(e,`external`)},removeDeactivateGuard(e){n(r.isDisposed),r.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),i.clearCanDeactivate(e,`external`)}}}function N(n,r,i){let a=e.u(n);if(a.isDisposed())throw new t.n(t.k.ROUTER_DISPOSED);a.validator?.dependencies.validateCloneArgs(r);let o=a.routeGetStore(),s=t.T(o.tree),c=o.config,l=o.resolvedForwardMap,u=o.routeCustomFields,{options:d,dependencies:f,pluginFactories:p,loggerConfig:m}=a.getCloneState(),{definition:h,external:g}=o.lifecycleNamespace.getFactoriesByOrigin(),_={...f,...r},v=i?.logger?{...m,...i.logger}:m,y=new t.t(s,{...d,logger:v},_),b=e.u(y),x=b.routeGetStore(),S=x.lifecycleNamespace;t.v(x.config,c),Object.assign(x.resolvedForwardMap,l),Object.assign(x.routeCustomFields,u),o.rootPath!==``&&b.setRootPath(o.rootPath);let[C,w]=h,[T,E]=g;for(let[e,t]of Object.entries(C))S.addCanDeactivate(e,t,!0);for(let[e,t]of Object.entries(w))S.addCanActivate(e,t,!0);let D=M(y);for(let[e,t]of Object.entries(T))D.addDeactivateGuard(e,t);for(let[e,t]of Object.entries(E))D.addActivateGuard(e,t);let O=new Set(b.getCloneState().pluginFactories),k=p.filter(e=>!O.has(e));return k.length>0&&y.usePlugin(...k),y}exports.cloneRouter=N,exports.getDependenciesApi=j,exports.getLifecycleApi=M,exports.getPluginApi=l,exports.getRoutesApi=O;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./buildParamMeta-0m11OIJS.js"),t=require("./Router-D_dwJLCj.js");function n(e){if(e())throw new t.n(t.A.ROUTER_DISPOSED)}function r(e){if(e())throw new t.n(t.A.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 i(e,t,n,r,i){if(t){let n=t===e;if(n||(i.getSegmentsByName(t)?.some(t=>t.fullName===e)??!1)){let i=n?``:` (current: "${t}")`;return r.warn(`router.removeRoute`,`Cannot remove route "${e}" — it is currently active${i}. Navigate away first.`),!1}}return n&&r.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.`),!0}function a(e){let t=e.indexOf(`?`);return t===-1?e:e.slice(0,t)}function o(e,t,n,r){return n&&a(e)!==a(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 s(e,t){return e?(t.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}const c=new WeakMap;function l(i){let a=c.get(i);if(a)return a;let s=e.u(i),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)=>(n(s.isDisposed),s.validator?.navigation.validateNavigateToStateArgs(e),t!==void 0&&s.validator?.navigation.validateNavigationOptions(t,`navigateToState`),s.navigateToState(e,t)),setRootPath:e=>(n(s.isDisposed),r(s.treeChanged.isEmitting),s.validator?.routes.validateSetRootPathArgs(e),o(s.getRootPath(),e,s.isTransitioning(),s.logger)?(s.setRootPath(e),!0):!1),getRootPath:s.getRootPath,addEventListener:(e,t)=>(n(s.isDisposed),s.validator?.eventBus.validateListenerArgs(e,t),s.addEventListener(e,t)),buildNavigationState:(n,r={},i={})=>{e.f(s,`buildNavigationState`,n,r),s.validator?.routes.validateStateBuilderArgs(n,r,`buildNavigationState`);let a=t.w(s.port(),n,r,i,{diagnoseUndeclared:!0});if(s.buildStateResolved(a.name,a.path))return t.S(a,{path:t.C(a,s.port())})},getOptions:s.getOptions,getTree:s.getTree,addInterceptor:(e,t)=>{n(s.isDisposed),s.validator?.plugins.validateAddInterceptorArgs(e,t);let r=s.interceptors.get(e);r||(r=[],s.interceptors.set(e,r)),r.push(t);let i=!1;return()=>{i||(i=!0,r.splice(r.indexOf(t),1))}},getRouteConfig:e=>{let t=s.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:e=>{n(s.isDisposed);let r=Object.keys(e);for(let e of r)if(e in i)throw new t.n(t.A.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${e}" already exists`});for(let t of r)i[t]=e[t];let a={keys:r};s.routerExtensions.push(a);let o=!1;return()=>{if(o)return;o=!0;for(let e of a.keys)delete i[e];let e=s.routerExtensions.indexOf(a);e!==-1&&s.routerExtensions.splice(e,1)}},emitTransitionError:e=>{n(s.isDisposed),s.emitTransitionError(e)},claimContextNamespace:e=>{if(n(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 new t.n(t.A.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${e}" is already claimed by another plugin`});return s.contextClaimRecords.add(e),{write(t,n){e===`__proto__`?Object.defineProperty(t.context,e,{value:n,writable:!0,enumerable:!0,configurable:!0}):t.context[e]=n},release(){s.contextClaimRecords.delete(e)}}}};return c.set(i,l),l}const u=Object.freeze({replace:!0,revalidate:!0}),d=Object.freeze([]);function f(e,n,r,i){let a=t=>e.has(t);t.b(n.decoders,a),t.b(n.encoders,a),t.b(n.defaultParams,a),t.b(n.defaultSearch,a),t.b(n.forwardMap,a),t.b(n.forwardFnMap,a),t.b(r,a),t.b(n.forwardMap,e=>a(n.forwardMap[e]));let[o,s]=i.getFactories();for(let e of Object.keys(s))a(e)&&i.clearCanActivate(e,`both`);for(let e of Object.keys(o))a(e)&&i.clearCanDeactivate(e,`both`)}function p(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 m(e,t,n,r){let i={name:e.name,path:e.path};return p(i,t,n,r),e.children&&(i.children=e.children.map(e=>m(e,`${t}.${e.name}`,n,r))),i}function h(e,t,n,r){let i={name:e,path:t};return p(i,e,n,r),Object.freeze(i)}function g(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 _(e,t){let n=g(e,e=>t.has(e));return Object.freeze([...n.values()])}function v(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 y(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 b(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 x(e,n,r,i){t.a(e,n,r);let a=t.d(e,n,r,i);t.v(a.matcher,a.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(a.pendingCanActivate.keys(),a.pendingCanDeactivate.keys(),!1),t.i(e,a)}function S(e,t){return e.matcher.match(t)?.segments.at(-1)?.fullName}function C(e,t,n,r,i){if(S(e,r.path)!==i){t.navigateToNotFound(r.path,{skipDeactivation:!0});return}t.systemCommit(n,r,u)}function w(e,n,r,i,a){t.l(n,`addRoute`),t.o(n,`addRoute`),t.s(n,``,`addRoute`),t.c(n,``,`addRoute`);let o=t.f(n,e.rootPath,e.matcherOptions,r.logger);t.v(o.matcher,o.config,`addRoute`),e.lifecycleNamespace.preflightHandlerLimit(o.pendingCanActivate.keys(),o.pendingCanDeactivate.keys(),!0);let s=t.h(o,e.depsStore);if(e.lifecycleNamespace.clearDefinitionGuards(),t.i(e,o,s),a?.(),i!==void 0){let n=S(e,i.path),a=r.matchPath(i.path,r.getOptions());if(a)if(a.name===i.name)C(e,r,{...a,context:i.context,transition:i.transition},i,n);else{let{toActivate:o}=t.r(a,i,r.getMetaForState);e.lifecycleNamespace.canNavigateTo([],o,a,i)?C(e,r,{...a,transition:i.transition},i,n):r.navigateToNotFound(i.path,{skipDeactivation:!0})}else r.navigateToNotFound(i.path,{skipDeactivation:!0})}}function T(e,n,r){let i=e.definitions,a=t.x(i,n);if(a===void 0)return;let o=r?_(e,a):d;return f(a,e.config,e.routeCustomFields,e.lifecycleNamespace),t.m(e,i),o}function E(e,n){let r=e.matcher.getSegmentsByName(n);if(!r)return;let i=t.T(r.at(-1)),a=e.lifecycleNamespace.getFactories();return m(i,n,e.config,a)}const D=new WeakMap;function O(a){let o=D.get(a);if(o)return o;let c=e.u(a),l=c.routeGetStore(),u=e=>{c.treeChanged.emit(e)},d={add:(e,i)=>{n(c.isDisposed),r(c.treeChanged.isEmitting);let a=Array.isArray(e)?e:[e],o=i?.parent;if(t.D(a,c.validator),o!==void 0&&c.validator?.routes.validateParentOption(o,l.tree),c.validator?.routes.throwIfInternalRouteInArray(a,`addRoute`),c.validator?.routes.validateAddRouteArgs(a),c.validator?.routes.validateRoutes(a,l,o),x(l,a,o,c.logger),c.treeChanged.listenerCount()>0){let e=v(a,o,l);u(o===void 0?{op:`add`,added:e}:{op:`add`,added:e,parent:o})}},remove:e=>{if(n(c.isDisposed),r(c.treeChanged.isEmitting),c.validator?.routes.validateRemoveRouteArgs(e),c.validator?.routes.throwIfInternalRoute(e,`removeRoute`),t.u(e,`removeRoute`),!i(e,c.getStateName(),c.isTransitioning(),c.logger,l.matcher))return;let a=c.treeChanged.listenerCount()>0,o=T(l,e,a);if(o===void 0){c.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`);return}a&&u({op:`remove`,name:e,removedSubtree:o})},update:(e,i)=>{if(n(c.isDisposed),r(c.treeChanged.isEmitting),c.validator?.routes.validateUpdateRouteBasicArgs(e,i),c.validator?.routes.throwIfInternalRoute(e,`updateRoute`),t.u(e,`updateRoute`),c.validator?.routes.validateUpdateRoutePropertyTypes(e,i),c.isTransitioning()&&c.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`),c.validator?.routes.validateUpdateRoute(e,i,l),!l.matcher.hasRoute(e))return;let a=l.lifecycleNamespace,o=t.p(l,a,e,i);if(c.treeChanged.listenerCount()>0){let t=b(o);Object.keys(t).length>0&&u({op:`update`,name:e,patch:t})}},clear:()=>{if(n(c.isDisposed),r(c.treeChanged.isEmitting),c.getStateName()!==void 0)throw new t.n(t.A.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(!s(c.isTransitioning(),c.logger))return;let e=c.treeChanged.listenerCount()>0?Object.freeze([...g(l,()=>!0).values()]):void 0;t.g(l),l.lifecycleNamespace.clearAll(),c.clearState(),e!==void 0&&u({op:`clear`,removed:e})},has:e=>(c.validator?.routes.validateRouteName(e,`hasRoute`),l.matcher.hasRoute(e)),get:e=>(c.validator?.routes.validateRouteName(e,`getRoute`),E(l,e)),replace:e=>{n(c.isDisposed),r(c.treeChanged.isEmitting);let i=Array.isArray(e)?e:[e];if(!s(c.isTransitioning(),c.logger))return;t.D(i,c.validator),c.validator?.routes.throwIfInternalRouteInArray(i,`replaceRoutes`),c.validator?.routes.validateAddRouteArgs(i),c.validator?.routes.validateRoutes(i,l);let o=a.getState(),d=c.treeChanged.listenerCount()>0?g(l,()=>!0):void 0;w(l,i,c,o,d===void 0?void 0:()=>{let e=g(l,()=>!0),{removed:t,added:n}=y(d,e);u({op:`replace`,removed:t,added:n})})},subscribeChanges:e=>c.treeChanged.subscribe(e)};return D.set(a,d),d}function k(e,t,n,r){if(n!==void 0){if(!Object.hasOwn(e.dependencies,t))r?.dependencies.validateDependencyCount(e,`setDependency`);else{let i=e.dependencies[t];i!==n&&!(Number.isNaN(i)&&Number.isNaN(n))&&r?.dependencies.warnOverwrite(t,`setDependency`)}e.dependencies[t]=n}}function A(e,t,n){let r=[];for(let i in t)t[i]!==void 0&&(Object.hasOwn(e.dependencies,i)?r.push(i):n?.dependencies.validateDependencyCount(e,`setDependencies`),e.dependencies[i]=t[i]);r.length>0&&n?.dependencies.warnBatchOverwrite(r,`setDependencies`)}function j(t){let r=e.u(t);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:()=>({...r.dependenciesGetStore().dependencies}),set:(e,t)=>{n(r.isDisposed),r.validator?.dependencies.validateSetDependencyArgs(e,t,`setDependency`),k(r.dependenciesGetStore(),e,t,r.validator)},setAll:e=>{n(r.isDisposed);let t=r.dependenciesGetStore();r.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),A(t,e,r.validator)},remove:e=>{n(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:()=>{n(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 M(t){let r=e.u(t),i=r.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,t){n(r.isDisposed),r.validator?.routes.validateRouteName(e,`addActivateGuard`),r.validator?.lifecycle.validateHandler(t,`addActivateGuard`),i.addCanActivate(e,t)},addDeactivateGuard(e,t){n(r.isDisposed),r.validator?.routes.validateRouteName(e,`addDeactivateGuard`),r.validator?.lifecycle.validateHandler(t,`addDeactivateGuard`),i.addCanDeactivate(e,t)},removeActivateGuard(e){n(r.isDisposed),r.validator?.routes.validateRouteName(e,`removeActivateGuard`),i.clearCanActivate(e,`external`)},removeDeactivateGuard(e){n(r.isDisposed),r.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),i.clearCanDeactivate(e,`external`)}}}function N(n,r,i){let a=e.u(n);if(a.isDisposed())throw new t.n(t.A.ROUTER_DISPOSED);a.validator?.dependencies.validateCloneArgs(r);let o=a.routeGetStore(),s=t.E(o.tree),c=o.config,l=o.resolvedForwardMap,u=o.routeCustomFields,{options:d,dependencies:f,pluginFactories:p,loggerConfig:m}=a.getCloneState(),{definition:h,external:g}=o.lifecycleNamespace.getFactoriesByOrigin(),_={...f,...r},v=i?.logger?{...m,...i.logger}:m,y=new t.t(s,{...d,logger:v},_),b=e.u(y),x=b.routeGetStore(),S=x.lifecycleNamespace;t.y(x.config,c),Object.assign(x.resolvedForwardMap,l),Object.assign(x.routeCustomFields,u),o.rootPath!==``&&b.setRootPath(o.rootPath);let[C,w]=h,[T,E]=g;for(let[e,t]of Object.entries(C))S.addCanDeactivate(e,t,!0);for(let[e,t]of Object.entries(w))S.addCanActivate(e,t,!0);let D=M(y);for(let[e,t]of Object.entries(T))D.addDeactivateGuard(e,t);for(let[e,t]of Object.entries(E))D.addActivateGuard(e,t);let O=new Set(b.getCloneState().pluginFactories),k=p.filter(e=>!O.has(e));return k.length>0&&y.usePlugin(...k),y}exports.cloneRouter=N,exports.getDependenciesApi=j,exports.getLifecycleApi=M,exports.getPluginApi=l,exports.getRoutesApi=O;
|
|
2
2
|
//# sourceMappingURL=api.js.map
|