@real-router/core 0.49.0 → 0.50.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-DrBkBdZ5.d.ts","names":["ConstraintPattern","RegExp","pattern","constraint","ParamMeta","Record","Readonly","ReadonlyMap","urlParams","queryParams","spatParams","paramTypeMap","constraintPatterns","pathPattern","URLParamsEncodingType","MatcherInputNode","name","path","fullName","absolute","children","nonAbsoluteChildren","paramMeta","staticPath","CompiledRoute","ReadonlySet","BuildParamSlot","MatchResult","parent","depth","matchSegments","meta","declaredQueryParams","declaredQueryParamsSet","hasTrailingSlash","hasConstraints","buildStaticParts","buildParamSlots","buildParamNamesSet","cachedResult","forwardTo","defaultParams","paramName","encoder","value","isOptional","BuildPathOptions","queryParamsMode","trailingSlash","SegmentNode","staticChildren","hasChildren","paramChild","node","splatChild","route","slashChildRoute","segments","params","SegmentMatcherOptions","caseSensitive","strictTrailingSlash","strictQueryParams","urlParamsEncoding","parseQueryString","queryString","buildQueryString","ResolvedMatcherOptions","buildParamMeta","validateConstraints","encodeURIComponentExcludingSubDelims","segment","ENCODING_METHODS","param","DECODING_METHODS","encodeParam","encoding","isSpatParam","createSegmentNode","SegmentMatcher","private","options","constructor","registerTree","match","buildPath","getSegmentsByName","getMetaByName","hasRoute","setRootPath","rootPath","ArrayFormat","BooleanFormat","NullFormat","NumberFormat","Options","arrayFormat","booleanFormat","nullFormat","numberFormat","FinalOptions","QueryParamPrimitive","QueryParamValue","SearchParams","Record","OmitResponse","querystring","removedParams","KeepResponse","keptParams","DecodeResult","parse","path","opts","parseInto","queryString","target","build","params","omit","paramsToOmit","keep","paramsToKeep","DEFAULT_QUERY_PARAMS","ParamMeta","SegmentMatcher","URLParamsEncodingType","DEFAULT_QUERY_PARAMS","Options","RouteDefinition","key","name","path","children","RouteTree","ReadonlyMap","Record","Readonly","absolute","paramMeta","parent","nonAbsoluteChildren","fullName","staticPath","paramTypeMap","TreeBuildOptions","skipFreeze","QueryParamsMode","TrailingSlashMode","BasePathOptions","trailingSlashMode","queryParamsMode","queryParams","urlParamsEncoding","BuildOptions","ignoreConstraints","MatchOptions","strictTrailingSlash","strongMatching","ParamSource","ParamTypeMap","RouteTreeStateMeta","MatchResult","P","RouteParams","segments","params","meta","RouteTreeState","createRouteTree","routes","options","getSegmentsByName","tree","routeName","nodeToDefinition","node","routeTreeToDefinitions","QueryParamsConfig","CreateMatcherOptions","caseSensitive","strictQueryParams","Matcher","createMatcher","validateRoute","Set","Map","route","methodName","rootNode","parentName","seenNames","seenPathsByParent"],"sources":["../../../path-matcher/dist/esm/index.d.mts","../../../search-params/dist/esm/index.d.mts","../../../route-tree/dist/esm/index.d.mts","../../src/types.ts","../../src/Router.ts"],"mappings":"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"}
1
+ {"version":3,"file":"Router-DrBkBdZ5.d.ts","names":["ConstraintPattern","RegExp","pattern","constraint","ParamMeta","Record","Readonly","ReadonlyMap","urlParams","queryParams","spatParams","paramTypeMap","constraintPatterns","pathPattern","URLParamsEncodingType","MatcherInputNode","name","path","fullName","absolute","children","nonAbsoluteChildren","paramMeta","staticPath","CompiledRoute","ReadonlySet","BuildParamSlot","MatchResult","parent","depth","matchSegments","meta","declaredQueryParams","declaredQueryParamsSet","hasTrailingSlash","hasConstraints","buildStaticParts","buildParamSlots","buildParamNamesSet","cachedResult","forwardTo","defaultParams","paramName","encoder","value","isOptional","BuildPathOptions","queryParamsMode","trailingSlash","SegmentNode","staticChildren","hasChildren","paramChild","node","splatChild","route","slashChildRoute","segments","params","SegmentMatcherOptions","caseSensitive","strictTrailingSlash","strictQueryParams","urlParamsEncoding","parseQueryString","queryString","buildQueryString","ResolvedMatcherOptions","buildParamMeta","validateConstraints","encodeURIComponentExcludingSubDelims","segment","ENCODING_METHODS","param","DECODING_METHODS","encodeParam","encoding","isSpatParam","createSegmentNode","SegmentMatcher","private","options","constructor","registerTree","match","buildPath","getSegmentsByName","getMetaByName","hasRoute","setRootPath","rootPath","ArrayFormat","BooleanFormat","NullFormat","NumberFormat","Options","arrayFormat","booleanFormat","nullFormat","numberFormat","FinalOptions","QueryParamPrimitive","QueryParamValue","SearchParams","Record","OmitResponse","querystring","removedParams","KeepResponse","keptParams","DecodeResult","parse","path","opts","parseInto","queryString","target","build","params","omit","paramsToOmit","keep","paramsToKeep","DEFAULT_QUERY_PARAMS","ParamMeta","SegmentMatcher","URLParamsEncodingType","DEFAULT_QUERY_PARAMS","Options","RouteDefinition","key","name","path","children","RouteTree","ReadonlyMap","Record","Readonly","absolute","paramMeta","parent","nonAbsoluteChildren","fullName","staticPath","paramTypeMap","TreeBuildOptions","skipFreeze","QueryParamsMode","TrailingSlashMode","BasePathOptions","trailingSlashMode","queryParamsMode","queryParams","urlParamsEncoding","BuildOptions","ignoreConstraints","MatchOptions","strictTrailingSlash","strongMatching","ParamSource","ParamTypeMap","RouteTreeStateMeta","MatchResult","P","RouteParams","segments","params","meta","RouteTreeState","createRouteTree","routes","options","getSegmentsByName","tree","routeName","nodeToDefinition","node","routeTreeToDefinitions","QueryParamsConfig","CreateMatcherOptions","caseSensitive","strictQueryParams","Matcher","createMatcher","validateRoute","Set","Map","route","methodName","rootNode","parentName","seenNames","seenPathsByParent"],"sources":["../../../path-matcher/dist/esm/index.d.mts","../../../search-params/dist/esm/index.d.mts","../../../route-tree/dist/esm/index.d.mts","../../src/types.ts","../../src/Router.ts"],"mappings":"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"}
package/dist/cjs/api.js CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Router-CTgPmeWV.js`),t=require(`./RouterError-BmvAyBlx.js`),n=require(`./internals-na15rxo_.js`),r=require(`./getPluginApi-B_dUJgg4.js`);let i=require(`@real-router/logger`);function a(e,t,n){if(t){let n=t===e,r=t.startsWith(`${e}.`);if(n||r){let r=n?``:` (current: "${t}")`;return i.logger.warn(`router.removeRoute`,`Cannot remove route "${e}" — it is currently active${r}. Navigate away first.`),!1}}return n&&i.logger.warn(`router.removeRoute`,`Route "${e}" removed while navigation is in progress. This may cause unexpected behavior.`),!0}function o(e){return e?(i.logger.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}function s(e,t,n=``){for(let r of e){let e=n?`${n}.${r.name}`:r.name;if(e===t)return r;if(r.children&&t.startsWith(`${e}.`))return s(r.children,t,e)}}function c(t,n,r,i){let a=e=>e===t||e.startsWith(`${t}.`);e.o(n.decoders,a),e.o(n.encoders,a),e.o(n.defaultParams,a),e.o(n.forwardMap,a),e.o(n.forwardFnMap,a),e.o(r,a),e.o(n.forwardMap,e=>a(n.forwardMap[e]));let[o,s]=i.getFactories();for(let e of Object.keys(s))a(e)&&i.clearCanActivate(e);for(let e of Object.keys(o))a(e)&&i.clearCanDeactivate(e)}function l(e,t,n,r){return t===null?(delete n.forwardMap[e],delete n.forwardFnMap[e]):typeof t==`string`?(delete n.forwardFnMap[e],n.forwardMap[e]=t):(delete n.forwardMap[e],n.forwardFnMap[e]=t),r(n)}function u(e,t,n,r){let i={name:e.name,path:e.path},a=n.forwardFnMap[t],o=n.forwardMap[t];a===void 0?o!==void 0&&(i.forwardTo=o):i.forwardTo=a,t in n.defaultParams&&(i.defaultParams=n.defaultParams[t]),t in n.decoders&&(i.decodeParams=n.decoders[t]),t in n.encoders&&(i.encodeParams=n.encoders[t]);let[s,c]=r;return t in c&&(i.canActivate=c[t]),t in s&&(i.canDeactivate=s[t]),e.children&&(i.children=e.children.map(e=>u(e,`${t}.${e.name}`,n,r))),i}function d(t,n,r){if(r){let i=s(t.definitions,r);i.children??=[];for(let t of n)i.children.push(e.c(t))}else for(let r of n)t.definitions.push(e.c(r));e.i(n,t.config,t.routeCustomFields,t.pendingCanActivate,t.pendingCanDeactivate,t.depsStore,r??``),t.treeOperations.commitTreeChanges(t)}function f(t,n,r,i,a){e.n(t),t.lifecycleNamespace.clearDefinitionGuards();for(let r of n)t.definitions.push(e.c(r));if(e.i(n,t.config,t.routeCustomFields,t.pendingCanActivate,t.pendingCanDeactivate,t.depsStore,``),t.treeOperations.commitTreeChanges(t),i!==void 0){let e=r.matchPath(i,r.getOptions());e?r.setState({...e,transition:a}):r.clearState()}}function p(t,n){return e.s(t.definitions,n)?(c(n,t.config,t.routeCustomFields,t.lifecycleNamespace),t.treeOperations.commitTreeChanges(t),!0):!1}function m(t,n,r){if(r.forwardTo!==void 0&&(t.resolvedForwardMap=l(n,r.forwardTo,t.config,t=>e.r(t))),r.defaultParams!==void 0&&(r.defaultParams===null?delete t.config.defaultParams[n]:t.config.defaultParams[n]=r.defaultParams),r.decodeParams!==void 0)if(r.decodeParams===null)delete t.config.decoders[n];else{let e=r.decodeParams;t.config.decoders[n]=t=>e(t)??t}if(r.encodeParams!==void 0)if(r.encodeParams===null)delete t.config.encoders[n];else{let e=r.encodeParams;t.config.encoders[n]=t=>e(t)??t}}function h(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=n.at(-1),i=e.treeOperations.nodeToDefinition(r),a=e.lifecycleNamespace.getFactories();return u(i,t,e.config,a)}function g(t){let s=n.r(t),c=s.routeGetStore(),l=n.t(`add`,(e,t)=>{d(c,e,t?.parent)},s.interceptors);return{add:(t,n)=>{r.n(s.isDisposed);let i=Array.isArray(t)?t:[t],a=n?.parent;e.u(i,s.validator),a!==void 0&&s.validator?.routes.validateParentOption(a,c.tree),s.validator?.routes.throwIfInternalRouteInArray(i,`addRoute`),s.validator?.routes.validateAddRouteArgs(i),s.validator?.routes.validateRoutes(i,c),l(i,a===void 0?void 0:{parent:a})},remove:e=>{r.n(s.isDisposed),s.validator?.routes.validateRemoveRouteArgs(e),s.validator?.routes.throwIfInternalRoute(e,`removeRoute`),a(e,s.getStateName(),s.isTransitioning())&&(p(c,e)||i.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`))},update:(e,t)=>{r.n(s.isDisposed),s.validator?.routes.validateUpdateRouteBasicArgs(e,t),s.validator?.routes.throwIfInternalRoute(e,`updateRoute`);let{forwardTo:n,defaultParams:a,decodeParams:o,encodeParams:l,canActivate:u,canDeactivate:d}=t;s.validator?.routes.validateUpdateRoutePropertyTypes(e,t),s.isTransitioning()&&i.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`),s.validator?.routes.validateUpdateRoute(e,t,c),m(c,e,{forwardTo:n,defaultParams:a,decodeParams:o,encodeParams:l}),u!==void 0&&(u===null?c.lifecycleNamespace.clearCanActivate(e):c.lifecycleNamespace.addCanActivate(e,u,!0)),d!==void 0&&(d===null?c.lifecycleNamespace.clearCanDeactivate(e):c.lifecycleNamespace.addCanDeactivate(e,d,!0))},clear:()=>{r.n(s.isDisposed),o(s.isTransitioning())&&(c.treeOperations.resetStore(c),c.lifecycleNamespace.clearAll(),s.clearState())},has:e=>(s.validator?.routes.validateRouteName(e,`hasRoute`),c.matcher.hasRoute(e)),get:e=>(s.validator?.routes.validateRouteName(e,`getRoute`),h(c,e)),replace:n=>{r.n(s.isDisposed);let i=Array.isArray(n)?n:[n];if(!o(s.isTransitioning()))return;e.u(i,s.validator),s.validator?.routes.throwIfInternalRouteInArray(i,`replaceRoutes`),s.validator?.routes.validateAddRouteArgs(i),s.validator?.routes.validateRoutes(i,c);let a=t.getState();f(c,i,s,a?.path,a?.transition)}}}function _(e,t,n,r){if(n===void 0)return!1;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`)}return e.dependencies[t]=n,!0}function v(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 y(e){let t=n.r(e);return{get:e=>{t.validator?.dependencies.validateDependencyName(e,`getDependency`);let n=t.dependenciesGetStore(),r=n.dependencies[e];return t.validator?.dependencies.validateDependencyExists(e,n),r},getAll:()=>({...t.dependenciesGetStore().dependencies}),set:(e,n)=>{r.n(t.isDisposed),t.validator?.dependencies.validateSetDependencyArgs(e,n,`setDependency`),_(t.dependenciesGetStore(),e,n,t.validator)},setAll:e=>{r.n(t.isDisposed);let n=t.dependenciesGetStore();t.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),t.validator?.dependencies.validateDependencyLimit(n,n.limits),v(n,e,t.validator)},remove:e=>{r.n(t.isDisposed),t.validator?.dependencies.validateDependencyName(e,`removeDependency`);let n=t.dependenciesGetStore();Object.hasOwn(n.dependencies,e)||t.validator?.dependencies.warnRemoveNonExistent(e),delete n.dependencies[e]},reset:()=>{r.n(t.isDisposed);let e=t.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(t.validator?.dependencies.validateDependencyName(e,`hasDependency`),Object.hasOwn(t.dependenciesGetStore().dependencies,e))}}function b(e){let t=n.r(e),i=t.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,n){r.n(t.isDisposed),t.validator?.routes.validateRouteName(e,`addActivateGuard`),t.validator?.lifecycle.validateHandler(n,`addActivateGuard`);let a=i.getHandlerCount(`activate`);t.validator?.lifecycle.validateHandlerLimit(a,t.dependenciesGetStore().limits,`canActivate`),i.addCanActivate(e,n)},addDeactivateGuard(e,n){r.n(t.isDisposed),t.validator?.routes.validateRouteName(e,`addDeactivateGuard`),t.validator?.lifecycle.validateHandler(n,`addDeactivateGuard`);let a=i.getHandlerCount(`deactivate`);t.validator?.lifecycle.validateHandlerLimit(a,t.dependenciesGetStore().limits,`canDeactivate`),i.addCanDeactivate(e,n)},removeActivateGuard(e){r.n(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeActivateGuard`),i.clearCanActivate(e)},removeDeactivateGuard(e){r.n(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),i.clearCanDeactivate(e)}}}function x(r,i){let a=n.r(r);if(a.isDisposed())throw new t.t(t.u.ROUTER_DISPOSED);a.validator?.dependencies.validateCloneArgs(i);let o=a.routeGetStore(),s=e.l(o.tree),c=o.config,l=o.resolvedForwardMap,u=o.routeCustomFields,d=a.cloneOptions(),f=a.cloneDependencies(),[p,m]=a.getLifecycleFactories(),h=a.getPluginFactories(),g=new e.t(s,d,{...f,...i}),_=b(g);for(let[e,t]of Object.entries(p))_.addDeactivateGuard(e,t);for(let[e,t]of Object.entries(m))_.addActivateGuard(e,t);h.length>0&&g.usePlugin(...h);let v=n.r(g).routeGetStore();return Object.assign(v.config.decoders,c.decoders),Object.assign(v.config.encoders,c.encoders),Object.assign(v.config.defaultParams,c.defaultParams),Object.assign(v.config.forwardMap,c.forwardMap),Object.assign(v.config.forwardFnMap,c.forwardFnMap),Object.assign(v.resolvedForwardMap,l),Object.assign(v.routeCustomFields,u),g}exports.cloneRouter=x,exports.getDependenciesApi=y,exports.getLifecycleApi=b,exports.getPluginApi=r.t,exports.getRoutesApi=g;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Router-B-sCdBWo.js`),t=require(`./RouterError-BmvAyBlx.js`),n=require(`./internals-na15rxo_.js`),r=require(`./getPluginApi-BBcZZXA5.js`);let i=require(`@real-router/logger`);function a(e,t,n){if(t){let n=t===e,r=t.startsWith(`${e}.`);if(n||r){let r=n?``:` (current: "${t}")`;return i.logger.warn(`router.removeRoute`,`Cannot remove route "${e}" — it is currently active${r}. Navigate away first.`),!1}}return n&&i.logger.warn(`router.removeRoute`,`Route "${e}" removed while navigation is in progress. This may cause unexpected behavior.`),!0}function o(e){return e?(i.logger.error(`router.clearRoutes`,`Cannot clear routes while navigation is in progress. Wait for navigation to complete.`),!1):!0}function s(e,t,n=``){for(let r of e){let e=n?`${n}.${r.name}`:r.name;if(e===t)return r;if(r.children&&t.startsWith(`${e}.`))return s(r.children,t,e)}}function c(t,n,r,i){let a=e=>e===t||e.startsWith(`${t}.`);e.o(n.decoders,a),e.o(n.encoders,a),e.o(n.defaultParams,a),e.o(n.forwardMap,a),e.o(n.forwardFnMap,a),e.o(r,a),e.o(n.forwardMap,e=>a(n.forwardMap[e]));let[o,s]=i.getFactories();for(let e of Object.keys(s))a(e)&&i.clearCanActivate(e);for(let e of Object.keys(o))a(e)&&i.clearCanDeactivate(e)}function l(e,t,n,r){return t===null?(delete n.forwardMap[e],delete n.forwardFnMap[e]):typeof t==`string`?(delete n.forwardFnMap[e],n.forwardMap[e]=t):(delete n.forwardMap[e],n.forwardFnMap[e]=t),r(n)}function u(e,t,n,r){let i={name:e.name,path:e.path},a=n.forwardFnMap[t],o=n.forwardMap[t];a===void 0?o!==void 0&&(i.forwardTo=o):i.forwardTo=a,t in n.defaultParams&&(i.defaultParams=n.defaultParams[t]),t in n.decoders&&(i.decodeParams=n.decoders[t]),t in n.encoders&&(i.encodeParams=n.encoders[t]);let[s,c]=r;return t in c&&(i.canActivate=c[t]),t in s&&(i.canDeactivate=s[t]),e.children&&(i.children=e.children.map(e=>u(e,`${t}.${e.name}`,n,r))),i}function d(t,n,r){if(r){let i=s(t.definitions,r);i.children??=[];for(let t of n)i.children.push(e.c(t))}else for(let r of n)t.definitions.push(e.c(r));e.i(n,t.config,t.routeCustomFields,t.pendingCanActivate,t.pendingCanDeactivate,t.depsStore,r??``),t.treeOperations.commitTreeChanges(t)}function f(t,n,r,i,a){e.n(t),t.lifecycleNamespace.clearDefinitionGuards();for(let r of n)t.definitions.push(e.c(r));if(e.i(n,t.config,t.routeCustomFields,t.pendingCanActivate,t.pendingCanDeactivate,t.depsStore,``),t.treeOperations.commitTreeChanges(t),i!==void 0){let e=r.matchPath(i,r.getOptions());e?r.setState({...e,transition:a}):r.clearState()}}function p(t,n){return e.s(t.definitions,n)?(c(n,t.config,t.routeCustomFields,t.lifecycleNamespace),t.treeOperations.commitTreeChanges(t),!0):!1}function m(t,n,r){if(r.forwardTo!==void 0&&(t.resolvedForwardMap=l(n,r.forwardTo,t.config,t=>e.r(t))),r.defaultParams!==void 0&&(r.defaultParams===null?delete t.config.defaultParams[n]:t.config.defaultParams[n]=r.defaultParams),r.decodeParams!==void 0)if(r.decodeParams===null)delete t.config.decoders[n];else{let e=r.decodeParams;t.config.decoders[n]=t=>e(t)??t}if(r.encodeParams!==void 0)if(r.encodeParams===null)delete t.config.encoders[n];else{let e=r.encodeParams;t.config.encoders[n]=t=>e(t)??t}}function h(e,t){let n=e.matcher.getSegmentsByName(t);if(!n)return;let r=n.at(-1),i=e.treeOperations.nodeToDefinition(r),a=e.lifecycleNamespace.getFactories();return u(i,t,e.config,a)}function g(t){let s=n.r(t),c=s.routeGetStore(),l=n.t(`add`,(e,t)=>{d(c,e,t?.parent)},s.interceptors);return{add:(t,n)=>{r.n(s.isDisposed);let i=Array.isArray(t)?t:[t],a=n?.parent;e.u(i,s.validator),a!==void 0&&s.validator?.routes.validateParentOption(a,c.tree),s.validator?.routes.throwIfInternalRouteInArray(i,`addRoute`),s.validator?.routes.validateAddRouteArgs(i),s.validator?.routes.validateRoutes(i,c),l(i,a===void 0?void 0:{parent:a})},remove:e=>{r.n(s.isDisposed),s.validator?.routes.validateRemoveRouteArgs(e),s.validator?.routes.throwIfInternalRoute(e,`removeRoute`),a(e,s.getStateName(),s.isTransitioning())&&(p(c,e)||i.logger.warn(`router.removeRoute`,`Route "${e}" not found. No changes made.`))},update:(e,t)=>{r.n(s.isDisposed),s.validator?.routes.validateUpdateRouteBasicArgs(e,t),s.validator?.routes.throwIfInternalRoute(e,`updateRoute`);let{forwardTo:n,defaultParams:a,decodeParams:o,encodeParams:l,canActivate:u,canDeactivate:d}=t;s.validator?.routes.validateUpdateRoutePropertyTypes(e,t),s.isTransitioning()&&i.logger.error(`router.updateRoute`,`Updating route "${e}" while navigation is in progress. This may cause unexpected behavior.`),s.validator?.routes.validateUpdateRoute(e,t,c),m(c,e,{forwardTo:n,defaultParams:a,decodeParams:o,encodeParams:l}),u!==void 0&&(u===null?c.lifecycleNamespace.clearCanActivate(e):c.lifecycleNamespace.addCanActivate(e,u,!0)),d!==void 0&&(d===null?c.lifecycleNamespace.clearCanDeactivate(e):c.lifecycleNamespace.addCanDeactivate(e,d,!0))},clear:()=>{r.n(s.isDisposed),o(s.isTransitioning())&&(c.treeOperations.resetStore(c),c.lifecycleNamespace.clearAll(),s.clearState())},has:e=>(s.validator?.routes.validateRouteName(e,`hasRoute`),c.matcher.hasRoute(e)),get:e=>(s.validator?.routes.validateRouteName(e,`getRoute`),h(c,e)),replace:n=>{r.n(s.isDisposed);let i=Array.isArray(n)?n:[n];if(!o(s.isTransitioning()))return;e.u(i,s.validator),s.validator?.routes.throwIfInternalRouteInArray(i,`replaceRoutes`),s.validator?.routes.validateAddRouteArgs(i),s.validator?.routes.validateRoutes(i,c);let a=t.getState();f(c,i,s,a?.path,a?.transition)}}}function _(e,t,n,r){if(n===void 0)return!1;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`)}return e.dependencies[t]=n,!0}function v(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 y(e){let t=n.r(e);return{get:e=>{t.validator?.dependencies.validateDependencyName(e,`getDependency`);let n=t.dependenciesGetStore(),r=n.dependencies[e];return t.validator?.dependencies.validateDependencyExists(e,n),r},getAll:()=>({...t.dependenciesGetStore().dependencies}),set:(e,n)=>{r.n(t.isDisposed),t.validator?.dependencies.validateSetDependencyArgs(e,n,`setDependency`),_(t.dependenciesGetStore(),e,n,t.validator)},setAll:e=>{r.n(t.isDisposed);let n=t.dependenciesGetStore();t.validator?.dependencies.validateDependenciesObject(e,`setDependencies`),t.validator?.dependencies.validateDependencyLimit(n,n.limits),v(n,e,t.validator)},remove:e=>{r.n(t.isDisposed),t.validator?.dependencies.validateDependencyName(e,`removeDependency`);let n=t.dependenciesGetStore();Object.hasOwn(n.dependencies,e)||t.validator?.dependencies.warnRemoveNonExistent(e),delete n.dependencies[e]},reset:()=>{r.n(t.isDisposed);let e=t.dependenciesGetStore();e.dependencies=Object.create(null)},has:e=>(t.validator?.dependencies.validateDependencyName(e,`hasDependency`),Object.hasOwn(t.dependenciesGetStore().dependencies,e))}}function b(e){let t=n.r(e),i=t.routeGetStore().lifecycleNamespace;return{addActivateGuard(e,n){r.n(t.isDisposed),t.validator?.routes.validateRouteName(e,`addActivateGuard`),t.validator?.lifecycle.validateHandler(n,`addActivateGuard`);let a=i.getHandlerCount(`activate`);t.validator?.lifecycle.validateHandlerLimit(a,t.dependenciesGetStore().limits,`canActivate`),i.addCanActivate(e,n)},addDeactivateGuard(e,n){r.n(t.isDisposed),t.validator?.routes.validateRouteName(e,`addDeactivateGuard`),t.validator?.lifecycle.validateHandler(n,`addDeactivateGuard`);let a=i.getHandlerCount(`deactivate`);t.validator?.lifecycle.validateHandlerLimit(a,t.dependenciesGetStore().limits,`canDeactivate`),i.addCanDeactivate(e,n)},removeActivateGuard(e){r.n(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeActivateGuard`),i.clearCanActivate(e)},removeDeactivateGuard(e){r.n(t.isDisposed),t.validator?.routes.validateRouteName(e,`removeDeactivateGuard`),i.clearCanDeactivate(e)}}}function x(r,i){let a=n.r(r);if(a.isDisposed())throw new t.t(t.u.ROUTER_DISPOSED);a.validator?.dependencies.validateCloneArgs(i);let o=a.routeGetStore(),s=e.l(o.tree),c=o.config,l=o.resolvedForwardMap,u=o.routeCustomFields,d=a.cloneOptions(),f=a.cloneDependencies(),[p,m]=a.getLifecycleFactories(),h=a.getPluginFactories(),g=new e.t(s,d,{...f,...i}),_=b(g);for(let[e,t]of Object.entries(p))_.addDeactivateGuard(e,t);for(let[e,t]of Object.entries(m))_.addActivateGuard(e,t);h.length>0&&g.usePlugin(...h);let v=n.r(g).routeGetStore();return Object.assign(v.config.decoders,c.decoders),Object.assign(v.config.encoders,c.encoders),Object.assign(v.config.defaultParams,c.defaultParams),Object.assign(v.config.forwardMap,c.forwardMap),Object.assign(v.config.forwardFnMap,c.forwardFnMap),Object.assign(v.resolvedForwardMap,l),Object.assign(v.routeCustomFields,u),g}exports.cloneRouter=x,exports.getDependenciesApi=y,exports.getLifecycleApi=b,exports.getPluginApi=r.t,exports.getRoutesApi=g;
2
2
  //# sourceMappingURL=api.js.map
@@ -1,2 +1,2 @@
1
- const e=require(`./RouterError-BmvAyBlx.js`),t=require(`./internals-na15rxo_.js`);function n(t){if(t())throw new e.t(e.u.ROUTER_DISPOSED)}function r(r){let i=t.r(r);return{makeState:(e,t,n,r)=>(i.validator?.state.validateMakeStateArgs(e,t,n),i.makeState(e,t,n,r?.params)),buildState:(e,t)=>{i.validator?.routes.validateStateBuilderArgs(e,t,`buildState`);let{name:n,params:r}=i.forwardState(e,t);return i.buildStateResolved(n,r)},forwardState:(e,t)=>(i.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),i.forwardState(e,t)),matchPath:e=>(i.validator?.routes.validateMatchPathArgs(e),i.matchPath(e,i.getOptions())),setRootPath:e=>{n(i.isDisposed),i.validator?.routes.validateSetRootPathArgs(e),i.setRootPath(e)},getRootPath:i.getRootPath,addEventListener:(e,t)=>(n(i.isDisposed),i.validator?.eventBus.validateListenerArgs(e,t),i.addEventListener(e,t)),buildNavigationState:(e,t={})=>{i.validator?.routes.validateStateBuilderArgs(e,t,`buildNavigationState`);let{name:n,params:r}=i.forwardState(e,t),a=i.buildStateResolved(n,r);if(a)return i.makeState(a.name,a.params,i.buildPath(a.name,a.params),a.meta)},getOptions:i.getOptions,getTree:i.getTree,addInterceptor:(e,t)=>{n(i.isDisposed),i.validator?.plugins.validateAddInterceptorArgs(e,t);let r=i.interceptors.get(e);return r||(r=[],i.interceptors.set(e,r)),r.push(t),()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}},getRouteConfig:e=>{let t=i.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:t=>{n(i.isDisposed);let a=Object.keys(t);for(let t of a)if(t in r)throw new e.t(e.u.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${t}" already exists`});for(let e of a)r[e]=t[e];let o={keys:a};i.routerExtensions.push(o);let s=!1;return()=>{if(s)return;s=!0;for(let e of o.keys)delete r[e];let e=i.routerExtensions.indexOf(o);e!==-1&&i.routerExtensions.splice(e,1)}},claimContextNamespace:(t=>{if(n(i.isDisposed),i.contextClaimRecords.has(t))throw new e.t(e.u.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${t}" is already claimed by another plugin`});return i.contextClaimRecords.add(t),{write(e,n){e.context[t]=n},release(){i.contextClaimRecords.delete(t)}}})}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=getPluginApi-B_dUJgg4.js.map
1
+ const e=require(`./RouterError-BmvAyBlx.js`),t=require(`./internals-na15rxo_.js`);function n(t){if(t())throw new e.t(e.u.ROUTER_DISPOSED)}function r(r){let i=t.r(r);return{makeState:(e,t,n,r)=>(i.validator?.state.validateMakeStateArgs(e,t,n),i.makeState(e,t,n,r?.params)),buildState:(e,t)=>{i.validator?.routes.validateStateBuilderArgs(e,t,`buildState`);let{name:n,params:r}=i.forwardState(e,t);return i.buildStateResolved(n,r)},forwardState:(e,t)=>(i.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),i.forwardState(e,t)),matchPath:e=>(i.validator?.routes.validateMatchPathArgs(e),i.matchPath(e,i.getOptions())),setRootPath:e=>{n(i.isDisposed),i.validator?.routes.validateSetRootPathArgs(e),i.setRootPath(e)},getRootPath:i.getRootPath,addEventListener:(e,t)=>(n(i.isDisposed),i.validator?.eventBus.validateListenerArgs(e,t),i.addEventListener(e,t)),buildNavigationState:(e,t={})=>{i.validator?.routes.validateStateBuilderArgs(e,t,`buildNavigationState`);let{name:n,params:r}=i.forwardState(e,t),a=i.buildStateResolved(n,r);if(a)return i.makeState(a.name,a.params,i.buildPath(a.name,a.params),a.meta)},getOptions:i.getOptions,getTree:i.getTree,addInterceptor:(e,t)=>{n(i.isDisposed),i.validator?.plugins.validateAddInterceptorArgs(e,t);let r=i.interceptors.get(e);return r||(r=[],i.interceptors.set(e,r)),r.push(t),()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}},getRouteConfig:e=>{let t=i.routeGetStore();if(t.matcher.hasRoute(e))return t.routeCustomFields[e]},extendRouter:t=>{n(i.isDisposed);let a=Object.keys(t);for(let t of a)if(t in r)throw new e.t(e.u.PLUGIN_CONFLICT,{message:`Cannot extend router: property "${t}" already exists`});for(let e of a)r[e]=t[e];let o={keys:a};i.routerExtensions.push(o);let s=!1;return()=>{if(s)return;s=!0;for(let e of o.keys)delete r[e];let e=i.routerExtensions.indexOf(o);e!==-1&&i.routerExtensions.splice(e,1)}},emitTransitionError:e=>{n(i.isDisposed),i.emitTransitionError(e)},claimContextNamespace:(t=>{if(n(i.isDisposed),i.contextClaimRecords.has(t))throw new e.t(e.u.CONTEXT_NAMESPACE_ALREADY_CLAIMED,{message:`Cannot claim context namespace: "${t}" is already claimed by another plugin`});return i.contextClaimRecords.add(t),{write(e,n){e.context[t]=n},release(){i.contextClaimRecords.delete(t)}}})}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
+ //# sourceMappingURL=getPluginApi-BBcZZXA5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPluginApi-B_dUJgg4.js","names":["RouterError","errorCodes","getInternals","RouterError","errorCodes"],"sources":["../../src/api/helpers.ts","../../src/api/getPluginApi.ts"],"sourcesContent":["// packages/core/src/api/helpers.ts\n\nimport { errorCodes } from \"../constants\";\nimport { RouterError } from \"../RouterError\";\n\nexport function throwIfDisposed(isDisposed: () => boolean): void {\n if (isDisposed()) {\n throw new RouterError(errorCodes.ROUTER_DISPOSED);\n }\n}\n","import { throwIfDisposed } from \"./helpers\";\nimport { errorCodes } from \"../constants\";\nimport { getInternals } from \"../internals\";\nimport { RouterError } from \"../RouterError\";\n\nimport type { PluginApi } from \"./types\";\nimport type {\n ContextNamespaceClaim,\n DefaultDependencies,\n Params,\n Router,\n State,\n} from \"@real-router/types\";\n\nexport function getPluginApi<\n Dependencies extends DefaultDependencies = DefaultDependencies,\n>(router: Router<Dependencies>): PluginApi {\n const ctx = getInternals(router);\n\n return {\n makeState: (name, params, path, meta) => {\n ctx.validator?.state.validateMakeStateArgs(name, params, path);\n\n return ctx.makeState(\n name,\n params,\n path,\n meta?.params as\n | Record<string, Record<string, \"url\" | \"query\">>\n | undefined,\n );\n },\n buildState: (routeName, routeParams) => {\n ctx.validator?.routes.validateStateBuilderArgs(\n routeName,\n routeParams,\n \"buildState\",\n );\n\n const { name, params } = ctx.forwardState(routeName, routeParams);\n\n return ctx.buildStateResolved(name, params);\n },\n forwardState: <P extends Params = Params>(\n routeName: string,\n routeParams: P,\n ) => {\n ctx.validator?.routes.validateStateBuilderArgs(\n routeName,\n routeParams,\n \"forwardState\",\n );\n\n return ctx.forwardState(routeName, routeParams);\n },\n matchPath: (path) => {\n ctx.validator?.routes.validateMatchPathArgs(path);\n\n return ctx.matchPath(path, ctx.getOptions());\n },\n setRootPath: (rootPath) => {\n throwIfDisposed(ctx.isDisposed);\n\n ctx.validator?.routes.validateSetRootPathArgs(rootPath);\n\n ctx.setRootPath(rootPath);\n },\n getRootPath: ctx.getRootPath,\n addEventListener: (eventName, cb) => {\n throwIfDisposed(ctx.isDisposed);\n\n ctx.validator?.eventBus.validateListenerArgs(eventName, cb);\n\n return ctx.addEventListener(eventName, cb);\n },\n buildNavigationState: (name, params = {}) => {\n ctx.validator?.routes.validateStateBuilderArgs(\n name,\n params,\n \"buildNavigationState\",\n );\n\n const { name: resolvedName, params: resolvedParams } = ctx.forwardState(\n name,\n params,\n );\n const routeInfo = ctx.buildStateResolved(resolvedName, resolvedParams);\n\n if (!routeInfo) {\n return;\n }\n\n return ctx.makeState(\n routeInfo.name,\n routeInfo.params,\n ctx.buildPath(routeInfo.name, routeInfo.params),\n routeInfo.meta,\n );\n },\n getOptions: ctx.getOptions,\n getTree: ctx.getTree,\n addInterceptor: (method, fn) => {\n throwIfDisposed(ctx.isDisposed);\n ctx.validator?.plugins.validateAddInterceptorArgs(method, fn);\n let list = ctx.interceptors.get(method);\n\n if (!list) {\n list = [];\n ctx.interceptors.set(method, list);\n }\n\n list.push(fn);\n\n return () => {\n const index = list.indexOf(fn);\n\n if (index !== -1) {\n list.splice(index, 1);\n }\n };\n },\n getRouteConfig: (name) => {\n const store = ctx.routeGetStore();\n\n if (!store.matcher.hasRoute(name)) {\n return;\n }\n\n return store.routeCustomFields[name];\n },\n extendRouter: (extensions: Record<string, unknown>) => {\n throwIfDisposed(ctx.isDisposed);\n\n const keys = Object.keys(extensions);\n\n for (const key of keys) {\n if (key in router) {\n throw new RouterError(errorCodes.PLUGIN_CONFLICT, {\n message: `Cannot extend router: property \"${key}\" already exists`,\n });\n }\n }\n\n for (const key of keys) {\n (router as Record<string, unknown>)[key] = extensions[key];\n }\n\n const extensionRecord = { keys };\n\n ctx.routerExtensions.push(extensionRecord);\n\n let removed = false;\n\n return () => {\n if (removed) {\n return;\n }\n\n removed = true;\n\n for (const key of extensionRecord.keys) {\n delete (router as Record<string, unknown>)[key];\n }\n\n const idx = ctx.routerExtensions.indexOf(extensionRecord);\n\n if (idx !== -1) {\n ctx.routerExtensions.splice(idx, 1);\n }\n };\n },\n claimContextNamespace: ((namespace: string) => {\n throwIfDisposed(ctx.isDisposed);\n\n if (ctx.contextClaimRecords.has(namespace)) {\n throw new RouterError(errorCodes.CONTEXT_NAMESPACE_ALREADY_CLAIMED, {\n message: `Cannot claim context namespace: \"${namespace}\" is already claimed by another plugin`,\n });\n }\n\n ctx.contextClaimRecords.add(namespace);\n\n return {\n write(state: State, value: unknown) {\n (state.context as Record<string, unknown>)[namespace] = value;\n },\n release() {\n ctx.contextClaimRecords.delete(namespace);\n },\n } satisfies ContextNamespaceClaim;\n }) as PluginApi[\"claimContextNamespace\"],\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"getPluginApi-BBcZZXA5.js","names":["RouterError","errorCodes","getInternals","RouterError","errorCodes"],"sources":["../../src/api/helpers.ts","../../src/api/getPluginApi.ts"],"sourcesContent":["// packages/core/src/api/helpers.ts\n\nimport { errorCodes } from \"../constants\";\nimport { RouterError } from \"../RouterError\";\n\nexport function throwIfDisposed(isDisposed: () => boolean): void {\n if (isDisposed()) {\n throw new RouterError(errorCodes.ROUTER_DISPOSED);\n }\n}\n","import { throwIfDisposed } from \"./helpers\";\nimport { errorCodes } from \"../constants\";\nimport { getInternals } from \"../internals\";\nimport { RouterError } from \"../RouterError\";\n\nimport type { PluginApi } from \"./types\";\nimport type {\n ContextNamespaceClaim,\n DefaultDependencies,\n Params,\n Router,\n State,\n} from \"@real-router/types\";\n\nexport function getPluginApi<\n Dependencies extends DefaultDependencies = DefaultDependencies,\n>(router: Router<Dependencies>): PluginApi {\n const ctx = getInternals(router);\n\n return {\n makeState: (name, params, path, meta) => {\n ctx.validator?.state.validateMakeStateArgs(name, params, path);\n\n return ctx.makeState(\n name,\n params,\n path,\n meta?.params as\n | Record<string, Record<string, \"url\" | \"query\">>\n | undefined,\n );\n },\n buildState: (routeName, routeParams) => {\n ctx.validator?.routes.validateStateBuilderArgs(\n routeName,\n routeParams,\n \"buildState\",\n );\n\n const { name, params } = ctx.forwardState(routeName, routeParams);\n\n return ctx.buildStateResolved(name, params);\n },\n forwardState: <P extends Params = Params>(\n routeName: string,\n routeParams: P,\n ) => {\n ctx.validator?.routes.validateStateBuilderArgs(\n routeName,\n routeParams,\n \"forwardState\",\n );\n\n return ctx.forwardState(routeName, routeParams);\n },\n matchPath: (path) => {\n ctx.validator?.routes.validateMatchPathArgs(path);\n\n return ctx.matchPath(path, ctx.getOptions());\n },\n setRootPath: (rootPath) => {\n throwIfDisposed(ctx.isDisposed);\n\n ctx.validator?.routes.validateSetRootPathArgs(rootPath);\n\n ctx.setRootPath(rootPath);\n },\n getRootPath: ctx.getRootPath,\n addEventListener: (eventName, cb) => {\n throwIfDisposed(ctx.isDisposed);\n\n ctx.validator?.eventBus.validateListenerArgs(eventName, cb);\n\n return ctx.addEventListener(eventName, cb);\n },\n buildNavigationState: (name, params = {}) => {\n ctx.validator?.routes.validateStateBuilderArgs(\n name,\n params,\n \"buildNavigationState\",\n );\n\n const { name: resolvedName, params: resolvedParams } = ctx.forwardState(\n name,\n params,\n );\n const routeInfo = ctx.buildStateResolved(resolvedName, resolvedParams);\n\n if (!routeInfo) {\n return;\n }\n\n return ctx.makeState(\n routeInfo.name,\n routeInfo.params,\n ctx.buildPath(routeInfo.name, routeInfo.params),\n routeInfo.meta,\n );\n },\n getOptions: ctx.getOptions,\n getTree: ctx.getTree,\n addInterceptor: (method, fn) => {\n throwIfDisposed(ctx.isDisposed);\n ctx.validator?.plugins.validateAddInterceptorArgs(method, fn);\n let list = ctx.interceptors.get(method);\n\n if (!list) {\n list = [];\n ctx.interceptors.set(method, list);\n }\n\n list.push(fn);\n\n return () => {\n const index = list.indexOf(fn);\n\n if (index !== -1) {\n list.splice(index, 1);\n }\n };\n },\n getRouteConfig: (name) => {\n const store = ctx.routeGetStore();\n\n if (!store.matcher.hasRoute(name)) {\n return;\n }\n\n return store.routeCustomFields[name];\n },\n extendRouter: (extensions: Record<string, unknown>) => {\n throwIfDisposed(ctx.isDisposed);\n\n const keys = Object.keys(extensions);\n\n for (const key of keys) {\n if (key in router) {\n throw new RouterError(errorCodes.PLUGIN_CONFLICT, {\n message: `Cannot extend router: property \"${key}\" already exists`,\n });\n }\n }\n\n for (const key of keys) {\n (router as Record<string, unknown>)[key] = extensions[key];\n }\n\n const extensionRecord = { keys };\n\n ctx.routerExtensions.push(extensionRecord);\n\n let removed = false;\n\n return () => {\n if (removed) {\n return;\n }\n\n removed = true;\n\n for (const key of extensionRecord.keys) {\n delete (router as Record<string, unknown>)[key];\n }\n\n const idx = ctx.routerExtensions.indexOf(extensionRecord);\n\n if (idx !== -1) {\n ctx.routerExtensions.splice(idx, 1);\n }\n };\n },\n emitTransitionError: (error) => {\n throwIfDisposed(ctx.isDisposed);\n ctx.emitTransitionError(error);\n },\n claimContextNamespace: ((namespace: string) => {\n throwIfDisposed(ctx.isDisposed);\n\n if (ctx.contextClaimRecords.has(namespace)) {\n throw new RouterError(errorCodes.CONTEXT_NAMESPACE_ALREADY_CLAIMED, {\n message: `Cannot claim context namespace: \"${namespace}\" is already claimed by another plugin`,\n });\n }\n\n ctx.contextClaimRecords.add(namespace);\n\n return {\n write(state: State, value: unknown) {\n (state.context as Record<string, unknown>)[namespace] = value;\n },\n release() {\n ctx.contextClaimRecords.delete(namespace);\n },\n } satisfies ContextNamespaceClaim;\n }) as PluginApi[\"claimContextNamespace\"],\n };\n}\n"],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Router-CTgPmeWV.js`),t=require(`./RouterError-BmvAyBlx.js`),n=(t=[],n={},r={})=>new e.t(t,n,r),r=new WeakMap,i=e=>{let t=r.get(e);return t||(t=Object.freeze({navigate:e.navigate,getState:e.getState,isActiveRoute:e.isActiveRoute,canNavigateTo:e.canNavigateTo,subscribe:e.subscribe,subscribeLeave:e.subscribeLeave,isLeaveApproved:e.isLeaveApproved}),r.set(e,t)),t};exports.Router=e.t,exports.RouterError=t.t,exports.UNKNOWN_ROUTE=t.c,exports.constants=t.l,exports.createRouter=n,exports.errorCodes=t.u,exports.events=t.d,exports.getNavigator=i,exports.resolveForwardChain=e.a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Router-B-sCdBWo.js`),t=require(`./RouterError-BmvAyBlx.js`),n=(t=[],n={},r={})=>new e.t(t,n,r),r=new WeakMap,i=e=>{let t=r.get(e);return t||(t=Object.freeze({navigate:e.navigate,getState:e.getState,isActiveRoute:e.isActiveRoute,canNavigateTo:e.canNavigateTo,subscribe:e.subscribe,subscribeLeave:e.subscribeLeave,isLeaveApproved:e.isLeaveApproved}),r.set(e,t)),t};exports.Router=e.t,exports.RouterError=t.t,exports.UNKNOWN_ROUTE=t.c,exports.constants=t.l,exports.createRouter=n,exports.errorCodes=t.u,exports.events=t.d,exports.getNavigator=i,exports.resolveForwardChain=e.a;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internals-na15rxo_.js","names":[],"sources":["../../src/internals.ts"],"sourcesContent":["import type { DependenciesStore } from \"./namespaces/DependenciesNamespace\";\nimport type { RoutesStore } from \"./namespaces/RoutesNamespace\";\nimport type { Router as RouterClass } from \"./Router\";\nimport type { EventMethodMap, GuardFnFactory, PluginFactory } from \"./types\";\nimport type { RouterValidator } from \"./types/RouterValidator\";\nimport type {\n DefaultDependencies,\n EventName,\n Options,\n Params,\n Plugin,\n Router as RouterInterface,\n RouteTreeState,\n SimpleState,\n State,\n Unsubscribe,\n} from \"@real-router/types\";\nimport type { RouteTree } from \"route-tree\";\n\nexport interface RouterInternals<\n D extends DefaultDependencies = DefaultDependencies,\n> {\n readonly makeState: <P extends Params = Params>(\n name: string,\n params?: P,\n path?: string,\n meta?: Record<string, Record<string, \"url\" | \"query\">>,\n ) => State<P>;\n\n readonly forwardState: <P extends Params = Params>(\n routeName: string,\n routeParams: P,\n ) => SimpleState<P>;\n\n readonly buildStateResolved: (\n resolvedName: string,\n resolvedParams: Params,\n ) => RouteTreeState | undefined;\n\n readonly matchPath: <P extends Params = Params>(\n path: string,\n options?: Options,\n ) => State<P> | undefined;\n\n readonly getOptions: () => Options;\n\n readonly addEventListener: <E extends EventName>(\n eventName: E,\n cb: Plugin[EventMethodMap[E]],\n ) => Unsubscribe;\n\n readonly buildPath: (route: string, params?: Params) => string;\n\n readonly start: (path: string) => Promise<State>;\n\n /* eslint-disable @typescript-eslint/no-explicit-any -- heterogeneous map: stores different InterceptorFn<M> types under different keys */\n readonly interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n\n readonly setRootPath: (rootPath: string) => void;\n readonly getRootPath: () => string;\n\n readonly getTree: () => RouteTree;\n\n readonly isDisposed: () => boolean;\n\n validator: RouterValidator | null;\n\n // Dependencies (issue #172)\n readonly dependenciesGetStore: () => DependenciesStore<D>;\n\n // Clone support (issue #173)\n readonly cloneOptions: () => Options;\n readonly cloneDependencies: () => Record<string, unknown>;\n readonly getLifecycleFactories: () => [\n Record<string, GuardFnFactory<D>>,\n Record<string, GuardFnFactory<D>>,\n ];\n readonly getPluginFactories: () => PluginFactory<D>[];\n\n // Consolidated route data store (issue #174 Phase 2)\n readonly routeGetStore: () => RoutesStore<D>;\n\n // Cross-namespace state (issue #174)\n readonly getStateName: () => string | undefined;\n readonly isTransitioning: () => boolean;\n readonly clearState: () => void;\n readonly setState: (state: State) => void;\n readonly routerExtensions: { keys: string[] }[];\n readonly contextClaimRecords: Set<string>;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- existential type: stores RouterInternals for all Dependencies types\nconst internals = new WeakMap<object, RouterInternals<any>>();\n\nexport function getInternals<D extends DefaultDependencies>(\n router: RouterInterface<D>,\n): RouterInternals<D> {\n const ctx = internals.get(router);\n\n if (!ctx) {\n throw new TypeError(\n \"[real-router] Invalid router instance — not found in internals registry\",\n );\n }\n\n return ctx as RouterInternals<D>;\n}\n\nexport function registerInternals<D extends DefaultDependencies>(\n router: RouterClass<D>,\n ctx: RouterInternals<D>,\n): void {\n internals.set(router, ctx);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument -- internal chain execution: type safety enforced at public API boundary (PluginApi.addInterceptor) */\nfunction executeInterceptorChain<T>(\n interceptors: ((next: (...args: any[]) => any, ...args: any[]) => any)[],\n original: (...args: any[]) => T,\n args: any[],\n): T {\n let chain = original as (...args: any[]) => any;\n\n for (const interceptor of interceptors) {\n const prev = chain;\n\n chain = (...chainArgs: any[]) => interceptor(prev, ...chainArgs);\n }\n\n return chain(...args) as T;\n}\n\nexport function createInterceptable<T extends (...args: any[]) => any>(\n name: string,\n original: T,\n interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >,\n): T {\n return ((...args: any[]) => {\n const chain = interceptors.get(name);\n\n if (!chain || chain.length === 0) {\n return original(...args);\n }\n\n return executeInterceptorChain(chain, original, args);\n }) as T;\n}\n\nexport function createInterceptable2<A, B, R>(\n name: string,\n original: (a: A, b: B) => R,\n interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >,\n): (a: A, b: B) => R {\n return (arg1: A, arg2: B) => {\n const chain = interceptors.get(name);\n\n if (!chain || chain.length === 0) {\n return original(arg1, arg2);\n }\n\n return executeInterceptorChain(chain, original, [arg1, arg2]);\n };\n}\n/* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument */\n"],"mappings":"AAgGA,MAAM,EAAY,IAAI,QAEtB,SAAgB,EACd,EACoB,CACpB,IAAM,EAAM,EAAU,IAAI,EAAO,CAEjC,GAAI,CAAC,EACH,MAAU,UACR,0EACD,CAGH,OAAO,EAGT,SAAgB,EACd,EACA,EACM,CACN,EAAU,IAAI,EAAQ,EAAI,CAI5B,SAAS,EACP,EACA,EACA,EACG,CACH,IAAI,EAAQ,EAEZ,IAAK,IAAM,KAAe,EAAc,CACtC,IAAM,EAAO,EAEb,GAAS,GAAG,IAAqB,EAAY,EAAM,GAAG,EAAU,CAGlE,OAAO,EAAM,GAAG,EAAK,CAGvB,SAAgB,EACd,EACA,EACA,EAIG,CACH,QAAS,GAAG,IAAgB,CAC1B,IAAM,EAAQ,EAAa,IAAI,EAAK,CAMpC,MAJI,CAAC,GAAS,EAAM,SAAW,EACtB,EAAS,GAAG,EAAK,CAGnB,EAAwB,EAAO,EAAU,EAAK,GAIzD,SAAgB,EACd,EACA,EACA,EAImB,CACnB,OAAQ,EAAS,IAAY,CAC3B,IAAM,EAAQ,EAAa,IAAI,EAAK,CAMpC,MAJI,CAAC,GAAS,EAAM,SAAW,EACtB,EAAS,EAAM,EAAK,CAGtB,EAAwB,EAAO,EAAU,CAAC,EAAM,EAAK,CAAC"}
1
+ {"version":3,"file":"internals-na15rxo_.js","names":[],"sources":["../../src/internals.ts"],"sourcesContent":["import type { DependenciesStore } from \"./namespaces/DependenciesNamespace\";\nimport type { RoutesStore } from \"./namespaces/RoutesNamespace\";\nimport type { Router as RouterClass } from \"./Router\";\nimport type { EventMethodMap, GuardFnFactory, PluginFactory } from \"./types\";\nimport type { RouterValidator } from \"./types/RouterValidator\";\nimport type {\n DefaultDependencies,\n EventName,\n Options,\n Params,\n Plugin,\n Router as RouterInterface,\n RouteTreeState,\n SimpleState,\n State,\n Unsubscribe,\n} from \"@real-router/types\";\nimport type { RouteTree } from \"route-tree\";\n\nexport interface RouterInternals<\n D extends DefaultDependencies = DefaultDependencies,\n> {\n readonly makeState: <P extends Params = Params>(\n name: string,\n params?: P,\n path?: string,\n meta?: Record<string, Record<string, \"url\" | \"query\">>,\n ) => State<P>;\n\n readonly forwardState: <P extends Params = Params>(\n routeName: string,\n routeParams: P,\n ) => SimpleState<P>;\n\n readonly buildStateResolved: (\n resolvedName: string,\n resolvedParams: Params,\n ) => RouteTreeState | undefined;\n\n readonly matchPath: <P extends Params = Params>(\n path: string,\n options?: Options,\n ) => State<P> | undefined;\n\n readonly getOptions: () => Options;\n\n readonly addEventListener: <E extends EventName>(\n eventName: E,\n cb: Plugin[EventMethodMap[E]],\n ) => Unsubscribe;\n\n readonly buildPath: (route: string, params?: Params) => string;\n\n readonly emitTransitionError: (error: Error) => void;\n\n readonly start: (path: string) => Promise<State>;\n\n /* eslint-disable @typescript-eslint/no-explicit-any -- heterogeneous map: stores different InterceptorFn<M> types under different keys */\n readonly interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n\n readonly setRootPath: (rootPath: string) => void;\n readonly getRootPath: () => string;\n\n readonly getTree: () => RouteTree;\n\n readonly isDisposed: () => boolean;\n\n validator: RouterValidator | null;\n\n // Dependencies (issue #172)\n readonly dependenciesGetStore: () => DependenciesStore<D>;\n\n // Clone support (issue #173)\n readonly cloneOptions: () => Options;\n readonly cloneDependencies: () => Record<string, unknown>;\n readonly getLifecycleFactories: () => [\n Record<string, GuardFnFactory<D>>,\n Record<string, GuardFnFactory<D>>,\n ];\n readonly getPluginFactories: () => PluginFactory<D>[];\n\n // Consolidated route data store (issue #174 Phase 2)\n readonly routeGetStore: () => RoutesStore<D>;\n\n // Cross-namespace state (issue #174)\n readonly getStateName: () => string | undefined;\n readonly isTransitioning: () => boolean;\n readonly clearState: () => void;\n readonly setState: (state: State) => void;\n readonly routerExtensions: { keys: string[] }[];\n readonly contextClaimRecords: Set<string>;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- existential type: stores RouterInternals for all Dependencies types\nconst internals = new WeakMap<object, RouterInternals<any>>();\n\nexport function getInternals<D extends DefaultDependencies>(\n router: RouterInterface<D>,\n): RouterInternals<D> {\n const ctx = internals.get(router);\n\n if (!ctx) {\n throw new TypeError(\n \"[real-router] Invalid router instance — not found in internals registry\",\n );\n }\n\n return ctx as RouterInternals<D>;\n}\n\nexport function registerInternals<D extends DefaultDependencies>(\n router: RouterClass<D>,\n ctx: RouterInternals<D>,\n): void {\n internals.set(router, ctx);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument -- internal chain execution: type safety enforced at public API boundary (PluginApi.addInterceptor) */\nfunction executeInterceptorChain<T>(\n interceptors: ((next: (...args: any[]) => any, ...args: any[]) => any)[],\n original: (...args: any[]) => T,\n args: any[],\n): T {\n let chain = original as (...args: any[]) => any;\n\n for (const interceptor of interceptors) {\n const prev = chain;\n\n chain = (...chainArgs: any[]) => interceptor(prev, ...chainArgs);\n }\n\n return chain(...args) as T;\n}\n\nexport function createInterceptable<T extends (...args: any[]) => any>(\n name: string,\n original: T,\n interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >,\n): T {\n return ((...args: any[]) => {\n const chain = interceptors.get(name);\n\n if (!chain || chain.length === 0) {\n return original(...args);\n }\n\n return executeInterceptorChain(chain, original, args);\n }) as T;\n}\n\nexport function createInterceptable2<A, B, R>(\n name: string,\n original: (a: A, b: B) => R,\n interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >,\n): (a: A, b: B) => R {\n return (arg1: A, arg2: B) => {\n const chain = interceptors.get(name);\n\n if (!chain || chain.length === 0) {\n return original(arg1, arg2);\n }\n\n return executeInterceptorChain(chain, original, [arg1, arg2]);\n };\n}\n/* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument */\n"],"mappings":"AAkGA,MAAM,EAAY,IAAI,QAEtB,SAAgB,EACd,EACoB,CACpB,IAAM,EAAM,EAAU,IAAI,EAAO,CAEjC,GAAI,CAAC,EACH,MAAU,UACR,0EACD,CAGH,OAAO,EAGT,SAAgB,EACd,EACA,EACM,CACN,EAAU,IAAI,EAAQ,EAAI,CAI5B,SAAS,EACP,EACA,EACA,EACG,CACH,IAAI,EAAQ,EAEZ,IAAK,IAAM,KAAe,EAAc,CACtC,IAAM,EAAO,EAEb,GAAS,GAAG,IAAqB,EAAY,EAAM,GAAG,EAAU,CAGlE,OAAO,EAAM,GAAG,EAAK,CAGvB,SAAgB,EACd,EACA,EACA,EAIG,CACH,QAAS,GAAG,IAAgB,CAC1B,IAAM,EAAQ,EAAa,IAAI,EAAK,CAMpC,MAJI,CAAC,GAAS,EAAM,SAAW,EACtB,EAAS,GAAG,EAAK,CAGnB,EAAwB,EAAO,EAAU,EAAK,GAIzD,SAAgB,EACd,EACA,EACA,EAImB,CACnB,OAAQ,EAAS,IAAY,CAC3B,IAAM,EAAQ,EAAa,IAAI,EAAK,CAMpC,MAJI,CAAC,GAAS,EAAM,SAAW,EACtB,EAAS,EAAM,EAAK,CAGtB,EAAwB,EAAO,EAAU,CAAC,EAAM,EAAK,CAAC"}
package/dist/cjs/utils.js CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./getPluginApi-B_dUJgg4.js`);function t(e){let n=[];for(let r of e.children.values())r.children.size===0?n.push(r.fullName):n.push(...t(r));return n}async function n(n,r){let i=t(e.t(n).getTree()),a=[];for(let e of i){let t=r?.[e];if(t){let r=await t();for(let t of r)a.push(n.buildPath(e,t))}else a.push(n.buildPath(e,{}))}return a}function r(e){return e===void 0?`null`:JSON.stringify(e).replaceAll(`<`,String.raw`\u003c`).replaceAll(`>`,String.raw`\u003e`).replaceAll(`&`,String.raw`\u0026`)}exports.getStaticPaths=n,exports.serializeState=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./getPluginApi-BBcZZXA5.js`);function t(e){let n=[];for(let r of e.children.values())r.children.size===0?n.push(r.fullName):n.push(...t(r));return n}async function n(n,r){let i=t(e.t(n).getTree()),a=[];for(let e of i){let t=r?.[e];if(t){let r=await t();for(let t of r)a.push(n.buildPath(e,t))}else a.push(n.buildPath(e,{}))}return a}function r(e){return e===void 0?`null`:JSON.stringify(e).replaceAll(`<`,String.raw`\u003c`).replaceAll(`>`,String.raw`\u003e`).replaceAll(`&`,String.raw`\u0026`)}exports.getStaticPaths=n,exports.serializeState=r;
2
2
  //# sourceMappingURL=utils.js.map
@@ -158,6 +158,7 @@ interface RouterInternals<D extends DefaultDependencies = DefaultDependencies> {
158
158
  readonly getOptions: () => Options;
159
159
  readonly addEventListener: <E extends EventName>(eventName: E, cb: Plugin[EventMethodMap[E]]) => Unsubscribe;
160
160
  readonly buildPath: (route: string, params?: Params) => string;
161
+ readonly emitTransitionError: (error: Error) => void;
161
162
  readonly start: (path: string) => Promise<State>;
162
163
  readonly interceptors: Map<string, ((next: (...args: any[]) => any, ...args: any[]) => any)[]>;
163
164
  readonly setRootPath: (rootPath: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","names":[],"sources":["../../src/namespaces/DependenciesNamespace/dependenciesStore.ts","../../src/namespaces/RoutesNamespace/types.ts","../../src/namespaces/RouteLifecycleNamespace/types.ts","../../src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts","../../src/namespaces/RoutesNamespace/routesStore.ts","../../src/internals.ts"],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","names":[],"sources":["../../src/namespaces/DependenciesNamespace/dependenciesStore.ts","../../src/namespaces/RoutesNamespace/types.ts","../../src/namespaces/RouteLifecycleNamespace/types.ts","../../src/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.ts","../../src/namespaces/RoutesNamespace/routesStore.ts","../../src/internals.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Router-BeXr2zW4.d.mts","names":["ConstraintPattern","RegExp","pattern","constraint","ParamMeta","Record","Readonly","ReadonlyMap","urlParams","queryParams","spatParams","paramTypeMap","constraintPatterns","pathPattern","URLParamsEncodingType","MatcherInputNode","name","path","fullName","absolute","children","nonAbsoluteChildren","paramMeta","staticPath","CompiledRoute","ReadonlySet","BuildParamSlot","MatchResult","parent","depth","matchSegments","meta","declaredQueryParams","declaredQueryParamsSet","hasTrailingSlash","hasConstraints","buildStaticParts","buildParamSlots","buildParamNamesSet","cachedResult","forwardTo","defaultParams","paramName","encoder","value","isOptional","BuildPathOptions","queryParamsMode","trailingSlash","SegmentNode","staticChildren","hasChildren","paramChild","node","splatChild","route","slashChildRoute","segments","params","SegmentMatcherOptions","caseSensitive","strictTrailingSlash","strictQueryParams","urlParamsEncoding","parseQueryString","queryString","buildQueryString","ResolvedMatcherOptions","buildParamMeta","validateConstraints","encodeURIComponentExcludingSubDelims","segment","ENCODING_METHODS","param","DECODING_METHODS","encodeParam","encoding","isSpatParam","createSegmentNode","SegmentMatcher","private","options","constructor","registerTree","match","buildPath","getSegmentsByName","getMetaByName","hasRoute","setRootPath","rootPath","ArrayFormat","BooleanFormat","NullFormat","NumberFormat","Options","arrayFormat","booleanFormat","nullFormat","numberFormat","FinalOptions","QueryParamPrimitive","QueryParamValue","SearchParams","Record","OmitResponse","querystring","removedParams","KeepResponse","keptParams","DecodeResult","parse","path","opts","parseInto","queryString","target","build","params","omit","paramsToOmit","keep","paramsToKeep","DEFAULT_QUERY_PARAMS","ParamMeta","SegmentMatcher","URLParamsEncodingType","DEFAULT_QUERY_PARAMS","Options","RouteDefinition","key","name","path","children","RouteTree","ReadonlyMap","Record","Readonly","absolute","paramMeta","parent","nonAbsoluteChildren","fullName","staticPath","paramTypeMap","TreeBuildOptions","skipFreeze","QueryParamsMode","TrailingSlashMode","BasePathOptions","trailingSlashMode","queryParamsMode","queryParams","urlParamsEncoding","BuildOptions","ignoreConstraints","MatchOptions","strictTrailingSlash","strongMatching","ParamSource","ParamTypeMap","RouteTreeStateMeta","MatchResult","P","RouteParams","segments","params","meta","RouteTreeState","createRouteTree","routes","options","getSegmentsByName","tree","routeName","nodeToDefinition","node","routeTreeToDefinitions","QueryParamsConfig","CreateMatcherOptions","caseSensitive","strictQueryParams","Matcher","createMatcher","validateRoute","Set","Map","route","methodName","rootNode","parentName","seenNames","seenPathsByParent"],"sources":["../../../path-matcher/dist/esm/index.d.mts","../../../search-params/dist/esm/index.d.mts","../../../route-tree/dist/esm/index.d.mts","../../src/types.ts","../../src/Router.ts"],"mappings":"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"}
1
+ {"version":3,"file":"Router-BeXr2zW4.d.mts","names":["ConstraintPattern","RegExp","pattern","constraint","ParamMeta","Record","Readonly","ReadonlyMap","urlParams","queryParams","spatParams","paramTypeMap","constraintPatterns","pathPattern","URLParamsEncodingType","MatcherInputNode","name","path","fullName","absolute","children","nonAbsoluteChildren","paramMeta","staticPath","CompiledRoute","ReadonlySet","BuildParamSlot","MatchResult","parent","depth","matchSegments","meta","declaredQueryParams","declaredQueryParamsSet","hasTrailingSlash","hasConstraints","buildStaticParts","buildParamSlots","buildParamNamesSet","cachedResult","forwardTo","defaultParams","paramName","encoder","value","isOptional","BuildPathOptions","queryParamsMode","trailingSlash","SegmentNode","staticChildren","hasChildren","paramChild","node","splatChild","route","slashChildRoute","segments","params","SegmentMatcherOptions","caseSensitive","strictTrailingSlash","strictQueryParams","urlParamsEncoding","parseQueryString","queryString","buildQueryString","ResolvedMatcherOptions","buildParamMeta","validateConstraints","encodeURIComponentExcludingSubDelims","segment","ENCODING_METHODS","param","DECODING_METHODS","encodeParam","encoding","isSpatParam","createSegmentNode","SegmentMatcher","private","options","constructor","registerTree","match","buildPath","getSegmentsByName","getMetaByName","hasRoute","setRootPath","rootPath","ArrayFormat","BooleanFormat","NullFormat","NumberFormat","Options","arrayFormat","booleanFormat","nullFormat","numberFormat","FinalOptions","QueryParamPrimitive","QueryParamValue","SearchParams","Record","OmitResponse","querystring","removedParams","KeepResponse","keptParams","DecodeResult","parse","path","opts","parseInto","queryString","target","build","params","omit","paramsToOmit","keep","paramsToKeep","DEFAULT_QUERY_PARAMS","ParamMeta","SegmentMatcher","URLParamsEncodingType","DEFAULT_QUERY_PARAMS","Options","RouteDefinition","key","name","path","children","RouteTree","ReadonlyMap","Record","Readonly","absolute","paramMeta","parent","nonAbsoluteChildren","fullName","staticPath","paramTypeMap","TreeBuildOptions","skipFreeze","QueryParamsMode","TrailingSlashMode","BasePathOptions","trailingSlashMode","queryParamsMode","queryParams","urlParamsEncoding","BuildOptions","ignoreConstraints","MatchOptions","strictTrailingSlash","strongMatching","ParamSource","ParamTypeMap","RouteTreeStateMeta","MatchResult","P","RouteParams","segments","params","meta","RouteTreeState","createRouteTree","routes","options","getSegmentsByName","tree","routeName","nodeToDefinition","node","routeTreeToDefinitions","QueryParamsConfig","CreateMatcherOptions","caseSensitive","strictQueryParams","Matcher","createMatcher","validateRoute","Set","Map","route","methodName","rootNode","parentName","seenNames","seenPathsByParent"],"sources":["../../../path-matcher/dist/esm/index.d.mts","../../../search-params/dist/esm/index.d.mts","../../../route-tree/dist/esm/index.d.mts","../../src/types.ts","../../src/Router.ts"],"mappings":"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"}
@@ -2,5 +2,5 @@ import{a as e,d as t,f as n,i as r,l as i,n as a,o,r as s,s as c,t as l,u}from".
2
2
  // eslint-disable-next-line sonarjs/void-use -- @preserve: limits passed to validator via RouterInternals; void suppresses TS6133 until plugin implements validateCountThresholds
3
3
  this.#r=e,this.#r}setValidatorGetter(e){this.#i=e}count(){return this.#e.size}use(...e){if(this.#i?.()?.plugins.validateCountThresholds(this.#e.size+e.length),e.length===1){let t=e[0],n=this.#o(t);this.#e.add(t);let r=!1,i=()=>{if(!r){r=!0,this.#e.delete(t),this.#t.delete(i);try{n()}catch(e){h.error(F,`Error during cleanup:`,e)}}};return this.#t.add(i),i}let t=this.#a(e),n=[];try{for(let e of t){let t=this.#o(e);n.push({factory:e,cleanup:t})}}catch(e){for(let{cleanup:e}of n)try{e()}catch(e){h.error(F,`Cleanup error:`,e)}throw e}for(let{factory:e}of n)this.#e.add(e);let r=!1,i=()=>{if(!r){r=!0,this.#t.delete(i);for(let{factory:e}of n)this.#e.delete(e);for(let{cleanup:e}of n)try{e()}catch(e){h.error(F,`Error during cleanup:`,e)}}};return this.#t.add(i),i}getAll(){return[...this.#e]}has(e){return this.#e.has(e)}disposeAll(){for(let e of this.#t)e();this.#e.clear(),this.#t.clear()}#a(e){let t=new Set;for(let n of e)t.has(n)?this.#i?.()?.plugins.warnBatchDuplicates(e):t.add(n);return t}#o(e){let n=this.#n.compileFactory(e);t.validatePlugin(n),this.#i?.()?.plugins.validatePluginKeys(n),Object.freeze(n);let r=[];for(let e of xt)e in n&&(typeof n[e]==`function`?(r.push(this.#n.addEventListener(bt[e],n[e])),e===`onStart`&&this.#n.canNavigate()&&this.#i?.()?.plugins.warnPluginAfterStart(e)):this.#i?.()?.plugins.warnPluginMethodType(e));return()=>{for(let e of r)e();typeof n.teardown==`function`&&n.teardown()}}};function wt(e){let t=()=>e;return()=>t}var Tt=class{#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=[this.#n,this.#r];#a=new Set;#o=new Set;#s=new Set;#c;#l=e;#u=null;setDependencies(e){this.#c=e}setLimits(e){
4
4
  // eslint-disable-next-line sonarjs/void-use -- @preserve: Wave 3 validator reads limits via RouterInternals; void suppresses TS6133 until then
5
- this.#l=e,this.#l}setValidatorGetter(e){this.#u=e}getHandlerCount(e){return e===`activate`?this.#t.size:this.#e.size}addCanActivate(e,t,n=!1){n?this.#o.add(e):this.#o.delete(e);let r=this.#t.has(e);this.#d(`activate`,e,t,this.#t,this.#r,`canActivate`,r)}addCanDeactivate(e,t,n=!1){n?this.#s.add(e):this.#s.delete(e);let r=this.#e.has(e);this.#d(`deactivate`,e,t,this.#e,this.#n,`canDeactivate`,r)}clearCanActivate(e){this.#t.delete(e),this.#r.delete(e),this.#o.delete(e)}clearCanDeactivate(e){this.#e.delete(e),this.#n.delete(e),this.#s.delete(e)}clearAll(){this.#t.clear(),this.#r.clear(),this.#e.clear(),this.#n.clear(),this.#o.clear(),this.#s.clear()}clearDefinitionGuards(){for(let e of this.#o)this.#t.delete(e),this.#r.delete(e);for(let e of this.#s)this.#e.delete(e),this.#n.delete(e);this.#o.clear(),this.#s.clear()}getFactories(){let e={},t={};for(let[t,n]of this.#e)e[t]=n;for(let[e,n]of this.#t)t[e]=n;return[e,t]}getFunctions(){return this.#i}canNavigateTo(e,t,n,r){for(let t of e)if(!this.#f(this.#n,t,n,r,`canNavigateTo`))return!1;for(let e of t)if(!this.#f(this.#r,e,n,r,`canNavigateTo`))return!1;return!0}#d(e,t,n,r,i,a,o){o?this.#u?.()?.lifecycle.warnOverwrite(t,e,a):this.#u?.()?.lifecycle.validateCountThresholds(r.size+1,a);let s=typeof n==`boolean`?wt(n):n;r.set(t,s),this.#a.add(t);try{let e=this.#c.compileFactory(s);if(typeof e!=`function`)throw TypeError(`[router.${a}] Factory must return a function, got ${typeof e}`);i.set(t,e)}catch(e){throw r.delete(t),e}finally{this.#a.delete(t)}}#f(e,t,n,r,i){let a=e.get(t);if(!a)return!0;try{let e=a(n,r);return typeof e==`boolean`?e:(this.#u?.()?.lifecycle.warnAsyncGuardSync(t,i),!1)}catch{return!1}}};function I(){return{decoders:Object.create(null),encoders:Object.create(null),defaultParams:Object.create(null),forwardMap:Object.create(null),forwardFnMap:Object.create(null)}}function Et(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function Dt(e,t,n){for(let r in e)if(!(r in n)&&e[r]!==t[r])return!1;return!0}function L(e){let t={name:e.name,path:e.path};return e.children&&(t.children=e.children.map(e=>L(e))),t}function Ot(e,t,n=``){for(let r=0;r<e.length;r++){let i=e[r],a=n?`${n}.${i.name}`:i.name;if(a===t)return e.splice(r,1),!0;if(i.children&&t.startsWith(`${a}.`)&&Ot(i.children,t,a))return!0}return!1}function kt(e,t){for(let n of Object.keys(e))t(n)&&delete e[n]}function At(e,t){let n=t.search(/[?#]/),r=n===-1?t:t.slice(0,n);if(r===`/`||r.endsWith(`/`))return t;let i=e.search(/[?#]/),a=i===-1?e:e.slice(0,i);return a.length>1&&a.endsWith(`/`)?`${r}/${n===-1?``:t.slice(n)}`:t}function jt(e,t,n=100){let r=new Set,i=[e],a=e;for(;t[a];){let e=t[a];if(r.has(e)){let t=i.indexOf(e),n=[...i.slice(t),e];throw Error(`Circular forwardTo: ${n.join(` → `)}`)}if(r.add(a),i.push(e),a=e,i.length>n)throw Error(`forwardTo chain exceeds maximum depth (${n}): ${i.join(` → `)}`)}return a}function Mt(e,t,n){let r=ct(``,t,e),i=ut(n);return i.registerTree(r),{tree:r,matcher:i}}function R(e){let t=Mt(e.definitions,e.rootPath,e.matcherOptions);e.tree=t.tree,e.matcher=t.matcher}function Nt(e){R(e),e.resolvedForwardMap=z(e.config)}function Pt(e){Ft(e),R(e)}function Ft(e){e.definitions.length=0,Object.assign(e.config,I()),e.resolvedForwardMap=Object.create(null),e.routeCustomFields=Object.create(null)}function z(e){let t=Object.create(null);for(let n of Object.keys(e.forwardMap))t[n]=jt(n,e.forwardMap);return t}function It(e,t,n){if(e.canActivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;h.warn(`real-router`,`Route "${t}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${n}".`)}if(e.canDeactivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;h.warn(`real-router`,`Route "${t}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${n}".`)}if(typeof e.forwardTo==`function`){let n=e.forwardTo.constructor.name===`AsyncFunction`,r=e.forwardTo.toString().includes(`__awaiter`);if(n||r)throw TypeError(`forwardTo callback cannot be async for route "${t}". Async functions break matchPath/buildPath.`)}typeof e.forwardTo==`string`?n.forwardMap[t]=e.forwardTo:n.forwardFnMap[t]=e.forwardTo}function Lt(e,t,n,r,i,a,o){let s=new Set([`name`,`path`,`children`,`canActivate`,`canDeactivate`,`forwardTo`,`encodeParams`,`decodeParams`,`defaultParams`]),c=Object.fromEntries(Object.entries(e).filter(([e])=>!s.has(e)));Object.keys(c).length>0&&(r[t]=c),e.canActivate&&(o?o.addActivateGuard(t,e.canActivate):i.set(t,e.canActivate)),e.canDeactivate&&(o?o.addDeactivateGuard(t,e.canDeactivate):a.set(t,e.canDeactivate)),e.forwardTo&&It(e,t,n),e.decodeParams&&(n.decoders[t]=t=>e.decodeParams?.(t)??t),e.encodeParams&&(n.encoders[t]=t=>e.encodeParams?.(t)??t),e.defaultParams&&(n.defaultParams[t]=e.defaultParams)}function B(e,t,n,r,i,a,o=``){for(let s of e){let e=o?`${o}.${s.name}`:s.name;Lt(s,e,t,n,r,i,a),s.children&&B(s.children,t,n,r,i,a,e)}}function Rt(e,t){let n=[],r=I(),i=Object.create(null),a=new Map,o=new Map;for(let t of e)n.push(L(t));let{tree:s,matcher:c}=Mt(n,``,t);return B(e,r,i,a,o,void 0,``),{definitions:n,config:r,tree:s,matcher:c,resolvedForwardMap:z(r),routeCustomFields:i,rootPath:``,matcherOptions:t,depsStore:void 0,lifecycleNamespace:void 0,pendingCanActivate:a,pendingCanDeactivate:o,treeOperations:{commitTreeChanges:Nt,resetStore:Pt,nodeToDefinition:N}}}const V=[];Object.freeze(V);function zt(e){let t=e.length,n=[];for(let r=t-1;r>=0;r--)n.push(e[r]);return n}function Bt(e){let t=e.split(`.`),n=t.length,r=[t[0]],i=t[0].length;for(let a=1;a<n-1;a++)i+=1+t[a].length,r.push(e.slice(0,i));return r.push(e),r}function Vt(e){let t=typeof e;return t===`string`||t===`number`||t===`boolean`}function Ht(e,t,n,r){let i=t[e];if(!i||typeof i!=`object`)return!0;for(let e of Object.keys(i)){let t=n.params[e],i=r.params[e];if(Vt(t)&&Vt(i)&&String(t)!==String(i))return!1}return!0}function Ut(e,t,n,r,i,a){for(let o=0;o<a;o++){let a=r[o];if(a!==i[o]||!Ht(a,e,t,n))return o}return a}const Wt=new Map;function H(e){let t=Wt.get(e);if(t)return t;let n=Gt(e);return Object.freeze(n),Wt.set(e,n),n}function Gt(e){if(!e)return[``];let t=e.indexOf(`.`);if(t===-1)return[e];let n=e.indexOf(`.`,t+1);if(n===-1)return[e.slice(0,t),e];let r=e.indexOf(`.`,n+1);return r===-1?[e.slice(0,t),e.slice(0,n),e]:e.indexOf(`.`,r+1)===-1?[e.slice(0,t),e.slice(0,n),e.slice(0,r),e]:Bt(e)}let U,W,G=null,Kt,qt,K=null;function Jt(e,t){if(!t)return{intersection:``,toActivate:H(e.name),toDeactivate:V};let n=_t(e),r=_t(t);if(!n&&!r)return{intersection:``,toActivate:H(e.name),toDeactivate:zt(H(t.name))};let i=H(e.name),a=H(t.name),o=Math.min(a.length,i.length),s=Ut(n??r,e,t,i,a,o),c;if(s>=a.length)c=V;else if(s===0&&a.length===1)c=a;else{c=[];for(let e=a.length-1;e>=s;e--)c.push(a[e])}let l=s===0?i:i.slice(s);return{intersection:s>0?a[s-1]:``,toDeactivate:c,toActivate:l}}function q(e,t){if(G!==null&&e===U&&t===W)return G;if(K!==null&&e===Kt&&t===qt)return K;let n=Jt(e,t);return Kt=U,qt=W,K=G,U=e,W=t,G=n,n}function Yt(e){let t=[];for(let n of e)for(let e of n.paramMeta.urlParams)t.push(e);return t}function Xt(e){return e.at(-1)?.fullName??``}function Zt(e,t){return{name:t??Xt(e.segments),params:e.params,meta:e.meta}}var Qt=class{#e;#t;get#n(){return this.#e.depsStore}constructor(e=[],t){this.#e=Rt(e,t)}static shouldUpdateNode(e){return(t,n)=>{if(!(t&&typeof t==`object`&&`name`in t))throw TypeError(`[router.shouldUpdateNode] toState must be valid State object`);if(t.transition.reload||e===``&&!n)return!0;let{intersection:r,toActivate:i,toDeactivate:a}=q(t,n);return e===r||i.includes(e)?!0:a.includes(e)}}setDependencies(e){this.#e.depsStore=e;for(let[t,n]of this.#e.pendingCanActivate)e.addActivateGuard(t,n);this.#e.pendingCanActivate.clear();for(let[t,n]of this.#e.pendingCanDeactivate)e.addDeactivateGuard(t,n);this.#e.pendingCanDeactivate.clear()}setLifecycleNamespace(e){this.#e.lifecycleNamespace=e}setRootPath(e){this.#e.rootPath=e,R(this.#e)}hasRoute(e){return this.#e.matcher.hasRoute(e)}clearRoutes(){Pt(this.#e)}buildPath(e,t,n){if(e===i.UNKNOWN_ROUTE)return typeof t?.path==`string`?t.path:``;let r=Object.hasOwn(this.#e.config.defaultParams,e)?{...this.#e.config.defaultParams[e],...t}:t??{},a=typeof this.#e.config.encoders[e]==`function`?this.#e.config.encoders[e]({...r}):r;return this.#e.matcher.buildPath(e,a,this.#i(n))}matchPath(e,t){let n=t,r=this.#e.matcher.match(e);if(!r)return;let{name:i,params:a,meta:o}=Zt(r),s=typeof this.#e.config.decoders[i]==`function`?this.#e.config.decoders[i](a):a,{name:c,params:l}=this.#n.forwardState(i,s),u=e;if(n.rewritePathOnMatch){let t=typeof this.#e.config.encoders[c]==`function`?this.#e.config.encoders[c]({...l}):l,r=n.trailingSlash;u=this.#e.matcher.buildPath(c,t,{trailingSlash:r===`never`||r===`always`?r:void 0,queryParamsMode:n.queryParamsMode}),r===`preserve`&&(u=At(e,u))}return this.#n.makeState(c,l,u,o)}forwardState(e,t){if(Object.hasOwn(this.#e.config.forwardFnMap,e)){let n=this.#r(e,t),r=this.#e.config.forwardFnMap[e],i=this.#a(e,r,t);return{name:i,params:this.#r(i,n)}}let n=this.#e.resolvedForwardMap[e]??e;if(n!==e&&Object.hasOwn(this.#e.config.forwardFnMap,n)){let r=this.#r(e,t),i=this.#e.config.forwardFnMap[n],a=this.#a(n,i,t);return{name:a,params:this.#r(a,r)}}if(n!==e){let r=this.#r(e,t);return{name:n,params:this.#r(n,r)}}return{name:e,params:this.#r(e,t)}}buildStateResolved(e,t){let n=this.#e.matcher.getSegmentsByName(e);if(n)return Zt({segments:n,params:t,meta:this.#e.matcher.getMetaByName(e)},e)}isActiveRoute(e,t={},n=!1,r=!0){let i=this.#n.getState();if(!i)return!1;let a=i.name;if(a!==e&&!a.startsWith(`${e}.`)&&!e.startsWith(`${a}.`))return!1;let s=this.#e.config.defaultParams[e];if(n||a===e){let n={name:e,params:s?{...s,...t}:t,path:``,transition:o,context:{}};return this.#n.areStatesEqual(n,i,r)}let c=i.params;return Et(t,c)?!s||Dt(s,c,t):!1}getMetaForState(e){return this.#e.matcher.hasRoute(e)?this.#e.matcher.getMetaByName(e):void 0}getUrlParams(e){let t=this.#e.matcher.getSegmentsByName(e);return t?Yt(t):[]}getStore(){return this.#e}#r(e,t){return Object.hasOwn(this.#e.config.defaultParams,e)?{...this.#e.config.defaultParams[e],...t}:t}#i(e){if(this.#t)return this.#t;let t=e?.trailingSlash;return this.#t=Object.freeze({trailingSlash:t===`never`||t===`always`?t:void 0,queryParamsMode:e?.queryParamsMode}),this.#t}#a(e,t,n){let r=new Set([e]),i=t(this.#n.getDependency,n),a=0;if(typeof i!=`string`)throw TypeError(`forwardTo callback must return a string, got ${typeof i}`);for(;a<100;){if(this.#e.matcher.getSegmentsByName(i)===void 0)throw Error(`Route "${i}" does not exist`);if(r.has(i)){let e=[...r,i].join(` → `);throw Error(`Circular forwardTo detected: ${e}`)}if(r.add(i),Object.hasOwn(this.#e.config.forwardFnMap,i)){let e=this.#e.config.forwardFnMap[i];i=e(this.#n.getDependency,n),a++;continue}let e=this.#e.config.forwardMap[i];if(e!==void 0){i=e,a++;continue}return i}throw Error(`forwardTo exceeds maximum depth of 100`)}};const $t=new l(u.ROUTER_NOT_STARTED),en=new l(u.ROUTE_NOT_FOUND),tn=new l(u.SAME_STATES),nn=Promise.reject($t),rn=Promise.reject(en),J=Promise.reject(tn);nn.catch(()=>{}),rn.catch(()=>{}),J.catch(()=>{});function an(e,t,n,r,i){Object.freeze(n),Object.freeze(r);let a={phase:`activating`,reason:`success`,segments:Object.freeze({deactivated:n,activated:r,intersection:i})};return e?.name!==void 0&&(a.from=e.name),t.reload!==void 0&&(a.reload=t.reload),t.redirected!==void 0&&(a.redirected=t.redirected),Object.freeze(a)}function on({signal:e,...t}){return t}function sn(e,t){let{toState:n,fromState:r,opts:a,toDeactivate:o,toActivate:s,intersection:c}=t;if(n.name!==i.UNKNOWN_ROUTE&&!e.hasRoute(n.name)){let t=new l(u.ROUTE_NOT_FOUND,{routeName:n.name});throw e.sendTransitionFail(n,r,t),t}if(r)for(let n of o)!s.includes(n)&&t.canDeactivateFunctions.has(n)&&e.clearCanDeactivate(n);n.transition=an(r,a,o,s,c);let d=Object.freeze(n);e.setState(d);let f=a.signal===void 0?a:on(a);return e.sendTransitionDone(d,r,f),d}function cn(e,t,n,r){let i=t;i.code===u.TRANSITION_CANCELLED||i.code===u.ROUTE_NOT_FOUND||e.sendTransitionFail(n,r,i)}function Y(e,t,n){if(e instanceof DOMException&&e.name===`AbortError`)throw new l(u.TRANSITION_CANCELLED);ln(e,t,n)}function ln(e,t,n){throw e instanceof l?(e.setCode(t),e):new l(t,dn(e,n))}const un=new Set([`code`,`segment`,`path`,`redirect`]);function dn(e,t){let n={segment:t};if(e instanceof Error)return{...n,message:e.message,stack:e.stack,...`cause`in e&&e.cause!==void 0&&{cause:e.cause}};if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))un.has(n)||(t[n]=r);return{...n,...t}}return n}async function fn(e,t,n){let r;try{r=await e}catch(e){Y(e,t,n);return}if(!r)throw new l(t,{segment:n})}async function pn(e,t,n,r,i,a,o,s,c,d){await fn(c,n,d);for(let c=s;c<t.length;c++){if(!o())throw new l(u.TRANSITION_CANCELLED);let s=t[c],d=e.get(s);if(!d)continue;let f=!1;try{f=d(r,i,a)}catch(e){Y(e,n,s)}if(f instanceof Promise){await fn(f,n,s);continue}if(!f)throw new l(n,{segment:s})}}async function mn(e,t,n,r,i,a,o,s,c){if(await e,!s())throw new l(u.TRANSITION_CANCELLED);let d=c();if(d!==void 0&&(await d,!s()))throw new l(u.TRANSITION_CANCELLED);if(r){let e=X(t,n,u.CANNOT_ACTIVATE,i,a,o,s);if(e!==void 0&&await e,!s())throw new l(u.TRANSITION_CANCELLED)}}function hn(e,t,n,r,i,a,o,s,c,d,f){if(i){let i=X(e,n,u.CANNOT_DEACTIVATE,o,s,c,d);if(i!==void 0)return mn(i,t,r,a,o,s,c,d,f)}if(!d())throw new l(u.TRANSITION_CANCELLED);let p=f();if(p!==void 0)return gn(p,a?t:void 0,r,o,s,c,d);if(a)return X(t,r,u.CANNOT_ACTIVATE,o,s,c,d)}async function gn(e,t,n,r,i,a,o){if(await e,!o())throw new l(u.TRANSITION_CANCELLED);if(t!==void 0){let e=X(t,n,u.CANNOT_ACTIVATE,r,i,a,o);if(e!==void 0&&await e,!o())throw new l(u.TRANSITION_CANCELLED)}}function X(e,t,n,r,i,a,o){for(let[s,c]of t.entries()){if(!o())throw new l(u.TRANSITION_CANCELLED);let d=e.get(c);if(!d)continue;let f=!1;try{f=d(r,i,a)}catch(e){Y(e,n,c)}if(f instanceof Promise)return pn(e,t,n,r,i,a,o,s+1,f,c);if(!f)throw new l(n,{segment:c})}}const _n=[i.UNKNOWN_ROUTE];Object.freeze(_n);const vn={replace:!0};Object.freeze(vn);function yn(e,t){return t?.name===i.UNKNOWN_ROUTE&&!e.replace?{...e,replace:!0}:e}function bn(e,t,n){return!!e&&!t.reload&&!t.force&&e.path===n.path}var xn=class{lastSyncResolved=!1;lastSyncRejected=!1;#e;#t=null;#n=0;setDependencies(e){this.#e=e}navigate(e,t,n){this.lastSyncResolved=!1;let r=this.#e;if(!r.canNavigate())return this.lastSyncRejected=!0,nn;let a,o,s=!1,c=null;try{if(a=r.buildNavigateState(e,t),!a)return r.emitTransitionError(void 0,r.getState(),en),this.lastSyncRejected=!0,rn;if(o=r.getState(),n=yn(n,o),bn(o,n,a))return r.emitTransitionError(a,o,tn),this.lastSyncRejected=!0,J;this.#s(n.signal);let d=++this.#n;if(r.startTransition(a,o),s=!0,this.#n!==d)throw new l(u.TRANSITION_CANCELLED);let[f,p]=r.getLifecycleFunctions(),m=a.name===i.UNKNOWN_ROUTE,h=q(a,o),{toDeactivate:g,toActivate:_,intersection:v}=h,y=o&&!n.forceDeactivate&&g.length>0,b=!m&&_.length>0,x=f.size>0||p.size>0,S=a;if(!x){let e=this.#a(S,o,d,n,h,f);if(e!==void 0)return e}if(x){c=new AbortController,this.#t=c;let e=()=>this.#n===d&&r.isActive(),t=c.signal,i=hn(f,p,g,_,!!y,b,a,o,t,e,()=>{if(r.sendLeaveApprove(S,o),r.hasLeaveListeners())return r.awaitLeaveListeners(S,o,t)});if(i!==void 0)return this.#r(i,{toState:a,fromState:o,opts:n,toDeactivate:g,toActivate:_,intersection:v,canDeactivateFunctions:f},c,d);if(!e())throw new l(u.TRANSITION_CANCELLED);this.#o(c)}return this.lastSyncResolved=!0,Promise.resolve(sn(r,{toState:a,fromState:o,opts:n,toDeactivate:g,toActivate:_,intersection:v,canDeactivateFunctions:f}))}catch(e){return this.#i(e,c,s,a,o),Promise.reject(e)}}navigateToDefault(e){let t=this.#e;if(!t.getOptions().defaultRoute)return Promise.reject(new l(u.ROUTE_NOT_FOUND,{routeName:`defaultRoute not configured`}));let n,r;try{({route:n,params:r}=t.resolveDefault())}catch(e){return Promise.reject(e)}return n?this.navigate(n,r,e):Promise.reject(new l(u.ROUTE_NOT_FOUND,{routeName:`defaultRoute resolved to empty`}))}navigateToNotFound(e){this.#s();let t=this.#e.getState(),n=t?H(t.name).toReversed():[];Object.freeze(n);let r={deactivated:n,activated:_n,intersection:``};Object.freeze(r);let a={phase:`activating`,...t&&{from:t.name},reason:`success`,segments:r};Object.freeze(a);let o={name:i.UNKNOWN_ROUTE,params:c,path:e,transition:a,context:{}};return Object.freeze(o),this.#e.setState(o),this.#e.emitTransitionSuccess(o,t,vn),o}abortCurrentNavigation(){this.#t?.abort(new l(u.TRANSITION_CANCELLED)),this.#t=null}async#r(e,t,n,r){let i=this.#e,a=()=>this.#n===r&&!n.signal.aborted&&i.isActive();try{if(t.opts.signal){if(t.opts.signal.aborted)throw new l(u.TRANSITION_CANCELLED,{reason:t.opts.signal.reason});t.opts.signal.addEventListener(`abort`,()=>{n.abort(t.opts.signal?.reason)},{once:!0,signal:n.signal})}if(await e,!a())throw new l(u.TRANSITION_CANCELLED);return sn(i,t)}catch(e){throw cn(i,e,t.toState,t.fromState),e}finally{this.#o(n)}}#i(e,t,n,r,i){t&&this.#o(t),n&&r&&cn(this.#e,e,r,i)}#a(e,t,n,r,i,a){let o=this.#e;if(o.sendLeaveApprove(e,t),o.hasLeaveListeners()){let s=new AbortController,c=o.awaitLeaveListeners(e,t,s.signal);if(c!==void 0)return this.#t=s,this.#r(c,{toState:e,fromState:t,opts:r,toDeactivate:i.toDeactivate,toActivate:i.toActivate,intersection:i.intersection,canDeactivateFunctions:a},s,n)}if(this.#n!==n)throw new l(u.TRANSITION_CANCELLED)}#o(e){e.abort(),this.#t===e&&(this.#t=null)}#s(e){if(this.#e.isTransitioning()&&(h.warn(`router.navigate`,`Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request.`),this.#t?.abort(new l(u.TRANSITION_CANCELLED)),this.#e.cancelNavigation()),e?.aborted)throw new l(u.TRANSITION_CANCELLED,{reason:e.reason})}};const Sn={replace:!0};Object.freeze(Sn);var Cn=class{#e;setDependencies(e){this.#e=e}async start(e){let t=this.#e,n=t.getOptions(),r=t.matchPath(e);if(!r&&!n.allowNotFound){let n=new l(u.ROUTE_NOT_FOUND,{path:e});throw t.emitTransitionError(void 0,void 0,n),n}return t.completeStart(),r?t.navigate(r.name,r.params,Sn):t.navigateToNotFound(e)}stop(){this.#e.clearState()}};function Z(e){return e instanceof Error?e:Error(String(e))}function wn(e,t){return Promise.allSettled(e).then(e=>{if(t!==void 0)throw Z(t);let n=e.find(e=>e.status===`rejected`);if(n!==void 0)throw Z(n.reason)})}var Q=class{#e;#t;#n=[];#r;#i;#a;#o;constructor(e){this.#e=e.routerFSM,this.#t=e.emitter,this.#r=void 0,this.#c()}static validateSubscribeListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribe] Expected a function. For Observable pattern use @real-router/rx package`)}static validateSubscribeLeaveListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribeLeave] Expected a function`)}emitRouterStart(){this.#t.emit(t.ROUTER_START)}emitRouterStop(){this.#t.emit(t.ROUTER_STOP)}emitTransitionStart(e,n){this.#t.emit(t.TRANSITION_START,e,n)}emitTransitionSuccess(e,n,r){this.#t.emit(t.TRANSITION_SUCCESS,e,n,r)}emitTransitionError(e,n,r){this.#t.emit(t.TRANSITION_ERROR,e,n,r)}emitTransitionCancel(e,n){this.#t.emit(t.TRANSITION_CANCEL,e,n)}emitTransitionLeaveApprove(e,n){this.#t.emit(t.TRANSITION_LEAVE_APPROVE,e,n)}sendStart(){this.#e.send(x.START)}sendStop(){this.#e.send(x.STOP)}sendDispose(){this.#e.send(x.DISPOSE)}sendStarted(){this.#e.send(x.STARTED)}sendNavigate(e,t){this.#r=e,this.#e.forceState(b.TRANSITION_STARTED),this.emitTransitionStart(e,t)}sendComplete(e,t,n={}){this.#e.forceState(b.READY),this.emitTransitionSuccess(e,t,n),this.#r===e&&(this.#r=void 0)}sendLeaveApprove(e,t){this.#e.forceState(b.LEAVE_APPROVED),this.emitTransitionLeaveApprove(e,t)}sendFail(e,t,n){let r=this.#r;this.#i=e,this.#a=t,this.#o=n,this.#e.send(x.FAIL),this.#r===r&&(this.#r=void 0)}sendFailSafe(e,t,n){this.isReady()?this.sendFail(e,t,n):this.emitTransitionError(e,t,n)}sendCancel(e,t){let n=this.#r;this.#i=e,this.#a=t,this.#e.send(x.CANCEL),this.#r===n&&(this.#r=void 0)}canBeginTransition(){return this.#e.canSend(x.NAVIGATE)}canStart(){return this.#e.canSend(x.START)}canCancel(){return this.#e.canSend(x.CANCEL)}isActive(){let e=this.#e.getState();return e!==b.IDLE&&e!==b.DISPOSED}isDisposed(){return this.#e.getState()===b.DISPOSED}isTransitioning(){let e=this.#e.getState();return e===b.TRANSITION_STARTED||e===b.LEAVE_APPROVED}isLeaveApproved(){return this.#e.getState()===b.LEAVE_APPROVED}isReady(){return this.#e.getState()===b.READY}getCurrentToState(){return this.#r}addEventListener(e,t){return this.#t.on(e,t)}subscribe(e){return this.#t.on(t.TRANSITION_SUCCESS,(t,n)=>{e({route:t,previousRoute:n})})}subscribeLeave(e){return this.#n.push(e),()=>{let t=this.#n.indexOf(e);t!==-1&&this.#n.splice(t,1)}}hasLeaveListeners(){return this.#n.length>0}awaitLeaveListeners(e,t,n){if(t===void 0)return;let r={route:t,nextRoute:e,signal:n},i,a;for(let e of this.#n)try{let t=e(r);t!==void 0&&typeof t.then==`function`&&(i??=[],i.push(t))}catch(e){a===void 0&&(a=e)}if(i===void 0){if(a!==void 0)throw Z(a);return}return wn(i,a)}clearAll(){this.#t.clearAll(),this.#n.length=0}setLimits(e){this.#t.setLimits(e)}sendCancelIfPossible(e){let t=this.#r;!this.canCancel()||t===void 0||this.sendCancel(t,e)}#s(){this.emitTransitionError(this.#i,this.#a,this.#o)}#c(){let e=this.#e;e.on(b.STARTING,x.STARTED,()=>{this.emitRouterStart()}),e.on(b.READY,x.STOP,()=>{this.emitRouterStop()});let t=()=>{let e=this.#i;e!==void 0&&this.emitTransitionCancel(e,this.#a)};e.on(b.TRANSITION_STARTED,x.CANCEL,t),e.on(b.LEAVE_APPROVED,x.CANCEL,t),e.on(b.LEAVE_APPROVED,x.FAIL,()=>{this.#s()}),e.on(b.STARTING,x.FAIL,()=>{this.#s()}),e.on(b.READY,x.FAIL,()=>{this.#s()}),e.on(b.TRANSITION_STARTED,x.FAIL,()=>{this.#s()})}};const Tn=new l(u.ROUTER_ALREADY_STARTED),En=new Set([`all`,`warn-error`,`error-only`]);function Dn(e){return typeof e==`string`&&En.has(e)}function On(e){return typeof e==`string`?`"${e}"`:typeof e==`object`?JSON.stringify(e):String(e)}function kn(e){if(typeof e!=`object`||!e)throw TypeError(`Logger config must be an object`);let t=e;for(let e of Object.keys(t))if(e!==`level`&&e!==`callback`)throw TypeError(`Unknown logger config property: "${e}"`);if(`level`in t&&t.level!==void 0&&!Dn(t.level))throw TypeError(`Invalid logger level: ${On(t.level)}. Expected: "all" | "warn-error" | "error-only"`);if(`callback`in t&&t.callback!==void 0&&typeof t.callback!=`function`)throw TypeError(`Logger callback must be a function, got ${typeof t.callback}`);return!0}var An=class{router;options;limits;dependenciesStore;state;routes;routeLifecycle;plugins;navigation;lifecycle;eventBus;constructor(e){this.router=e.router,this.options=e.options,this.limits=e.limits,this.dependenciesStore=e.dependenciesStore,this.state=e.state,this.routes=e.routes,this.routeLifecycle=e.routeLifecycle,this.plugins=e.plugins,this.navigation=e.navigation,this.lifecycle=e.lifecycle,this.eventBus=e.eventBus}wireLimits(){this.dependenciesStore.limits=this.limits,this.plugins.setLimits(this.limits),this.eventBus.setLimits({maxListeners:this.limits.maxListeners,warnListeners:this.limits.warnListeners,maxEventDepth:this.limits.maxEventDepth}),this.routeLifecycle.setLimits(this.limits)}wireRouteLifecycleDeps(){let e={compileFactory:this.createCompileFactory()};this.routeLifecycle.setDependencies(e),this.routeLifecycle.setValidatorGetter(()=>{try{return p(this.router).validator}catch{return null}})}wireRoutesDeps(){this.routes.setDependencies({addActivateGuard:(e,t)=>{this.routeLifecycle.addCanActivate(e,t,!0)},addDeactivateGuard:(e,t)=>{this.routeLifecycle.addCanDeactivate(e,t,!0)},makeState:(e,t,n,r)=>this.state.makeState(e,t,n,r),getState:()=>this.state.get(),areStatesEqual:(e,t,n)=>this.state.areStatesEqual(e,t,n),getDependency:e=>this.dependenciesStore.dependencies[e],forwardState:(e,t)=>{let n=p(this.router);return n.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),n.forwardState(e,t)}}),this.routes.setLifecycleNamespace(this.routeLifecycle)}wirePluginsDeps(){let e={addEventListener:(e,t)=>this.eventBus.addEventListener(e,t),canNavigate:()=>this.eventBus.canBeginTransition(),compileFactory:this.createCompileFactory()};this.plugins.setDependencies(e),this.plugins.setValidatorGetter(()=>{try{return p(this.router).validator}catch{return null}})}wireNavigationDeps(){this.navigation.setDependencies({getOptions:()=>this.options.get(),hasRoute:e=>this.routes.hasRoute(e),getState:()=>this.state.get(),setState:e=>{this.state.set(e)},buildNavigateState:(e,t)=>{let n=p(this.router);n.validator?.routes.validateStateBuilderArgs(e,t,`navigate`);let i=n.forwardState(e,t),a=i.name,o=r(i.params),s=this.routes.getMetaForState(a);if(s===void 0)return;let c=n.buildPath(a,o);return this.state.makeState(a,o,c,s,!0)},resolveDefault:()=>{let e=this.options.get(),t=p(this.router),n=pt(e.defaultRoute,e=>this.dependenciesStore.dependencies[e]),r=pt(e.defaultParams,e=>this.dependenciesStore.dependencies[e]);return typeof e.defaultRoute==`function`&&t.validator?.options.validateResolvedDefaultRoute(n,t.routeGetStore()),{route:n,params:r}},startTransition:(e,t)=>{this.eventBus.sendNavigate(e,t)},cancelNavigation:()=>{let e=this.eventBus.getCurrentToState();e!==void 0&&this.eventBus.sendCancel(e,this.state.get())},sendTransitionDone:(e,t,n)=>{this.eventBus.sendComplete(e,t,n)},sendTransitionFail:(e,t,n)=>{this.eventBus.sendFail(e,t,n)},emitTransitionError:(e,t,n)=>{this.eventBus.sendFailSafe(e,t,n)},emitTransitionSuccess:(e,t,n)=>{this.eventBus.emitTransitionSuccess(e,t,n)},sendLeaveApprove:(e,t)=>{this.eventBus.sendLeaveApprove(e,t)},canNavigate:()=>this.eventBus.canBeginTransition(),getLifecycleFunctions:()=>this.routeLifecycle.getFunctions(),isActive:()=>this.router.isActive(),isTransitioning:()=>this.eventBus.isTransitioning(),clearCanDeactivate:e=>{this.routeLifecycle.clearCanDeactivate(e)},hasLeaveListeners:()=>this.eventBus.hasLeaveListeners(),awaitLeaveListeners:(e,t,n)=>this.eventBus.awaitLeaveListeners(e,t,n)})}wireLifecycleDeps(){this.lifecycle.setDependencies({getOptions:()=>this.options.get(),navigate:(e,t,n)=>this.navigation.navigate(e,t,n),navigateToNotFound:e=>this.navigation.navigateToNotFound(e),clearState:()=>{this.state.set(void 0)},matchPath:e=>this.routes.matchPath(e,this.options.get()),completeStart:()=>{this.eventBus.sendStarted()},emitTransitionError:(e,t,n)=>{this.eventBus.sendFail(e,t,n)}})}wireStateDeps(){this.state.setDependencies({getDefaultParams:()=>this.routes.getStore().config.defaultParams,buildPath:(e,t)=>p(this.router).buildPath(e,t),getUrlParams:e=>this.routes.getUrlParams(e)})}createCompileFactory(){let{router:e,dependenciesStore:t}=this;return n=>n(e,e=>t.dependencies[e])}};function jn(e){e.wireLimits(),e.wireRouteLifecycleDeps(),e.wireRoutesDeps(),e.wirePluginsDeps(),e.wireNavigationDeps(),e.wireLifecycleDeps(),e.wireStateDeps()}const Mn=Object.freeze({});var Nn=class e{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;constructor(e=[],t={},n={}){t.logger&&kn(t.logger)&&(h.configure(t.logger),delete t.logger),ht.validateOptionsIsObject(t),te(n),e.length>0&&C(e),this.#e=new ht(t),this.#t=a(t.limits),this.#n=ne(n),this.#r=new yt,this.#i=new Qt(e,Pn(this.#e.get())),this.#a=new Tt,this.#o=new Ct,this.#s=new xn,this.#c=new Cn,this.#l=new Q({routerFSM:ee(),emitter:new y({onListenerError:(e,t)=>{h.error(`Router`,`Error in listener for ${e}:`,t)},onListenerWarn:(e,t)=>{h.warn(`router.addEventListener`,`Event "${e}" has ${t} listeners — possible memory leak`)}})}),jn(new An({router:this,options:this.#e,limits:this.#t,dependenciesStore:this.#n,state:this.#r,routes:this.#i,routeLifecycle:this.#a,plugins:this.#o,navigation:this.#s,lifecycle:this.#c,eventBus:this.#l}));let r=new Map;d(this,{makeState:(e,t,n,r)=>this.#r.makeState(e,t,n,r),forwardState:f(`forwardState`,(e,t)=>this.#i.forwardState(e,t),r),buildStateResolved:(e,t)=>this.#i.buildStateResolved(e,t),matchPath:(e,t)=>this.#i.matchPath(e,t),getOptions:()=>this.#e.get(),addEventListener:(e,t)=>this.#l.addEventListener(e,t),buildPath:f(`buildPath`,(e,t)=>this.#i.buildPath(e,t??c,this.#e.get()),r),start:m(`start`,e=>this.#c.start(e),r),interceptors:r,setRootPath:e=>{this.#i.setRootPath(e)},getRootPath:()=>this.#i.getStore().rootPath,getTree:()=>this.#i.getStore().tree,isDisposed:()=>this.#l.isDisposed(),validator:null,dependenciesGetStore:()=>this.#n,cloneOptions:()=>({...this.#e.get()}),cloneDependencies:()=>({...this.#n.dependencies}),getLifecycleFactories:()=>this.#a.getFactories(),getPluginFactories:()=>this.#o.getAll(),routeGetStore:()=>this.#i.getStore(),getStateName:()=>this.#r.get()?.name,isTransitioning:()=>this.#l.isTransitioning(),clearState:()=>{this.#r.set(void 0)},setState:e=>{this.#r.set(e)},routerExtensions:[],contextClaimRecords:new Set}),this.isActiveRoute=this.isActiveRoute.bind(this),this.buildPath=this.buildPath.bind(this),this.getState=this.getState.bind(this),this.getPreviousState=this.getPreviousState.bind(this),this.areStatesEqual=this.areStatesEqual.bind(this),this.shouldUpdateNode=this.shouldUpdateNode.bind(this),this.isActive=this.isActive.bind(this),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.dispose=this.dispose.bind(this),this.canNavigateTo=this.canNavigateTo.bind(this),this.usePlugin=this.usePlugin.bind(this),this.navigate=this.navigate.bind(this),this.navigateToDefault=this.navigateToDefault.bind(this),this.navigateToNotFound=this.navigateToNotFound.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeLeave=this.subscribeLeave.bind(this),this.isLeaveApproved=this.isLeaveApproved.bind(this)}isActiveRoute(e,t,n,r){return p(this).validator?.routes.validateIsActiveRouteArgs(e,t,n,r),p(this).validator?.routes.validateRouteName(e,`isActiveRoute`),e===``?(h.warn(`real-router`,`isActiveRoute("") called with empty string. Root node is not considered a parent of any route.`),!1):this.#i.isActiveRoute(e,t,n,r)}buildPath(e,t){let n=p(this);return n.validator?.routes.validateBuildPathArgs(e),n.validator?.navigation.validateParams(t,`buildPath`),n.buildPath(e,r(t))}getState(){return this.#r.get()}getPreviousState(){return this.#r.getPrevious()}areStatesEqual(e,t,n=!0){return p(this).validator?.state.validateAreStatesEqualArgs(e,t,n),this.#r.areStatesEqual(e,t,n)}shouldUpdateNode(e){return p(this).validator?.routes.validateShouldUpdateNodeArgs(e),Qt.shouldUpdateNode(e)}isActive(){return this.#l.isActive()}start(t){if(!this.#l.canStart())return Promise.reject(Tn);p(this).validator?.navigation.validateStartArgs(t),this.#l.sendStart();let n=p(this).start(t).catch(e=>{throw this.#l.isReady()&&(this.#c.stop(),this.#l.sendStop()),e});return e.#d(n),n}stop(){return this.#s.abortCurrentNavigation(),this.#l.sendCancelIfPossible(this.#r.get()),!this.#l.isReady()&&!this.#l.isTransitioning()?this:(this.#c.stop(),this.#l.sendStop(),this)}dispose(){if(this.#l.isDisposed())return;this.#s.abortCurrentNavigation(),this.#l.sendCancelIfPossible(this.#r.get()),(this.#l.isReady()||this.#l.isTransitioning())&&(this.#c.stop(),this.#l.sendStop()),this.#l.sendDispose(),this.#l.clearAll(),this.#o.disposeAll();let e=p(this);for(let t of e.routerExtensions)for(let e of t.keys)delete this[e];e.routerExtensions.length=0,e.contextClaimRecords.clear(),this.#i.clearRoutes(),this.#a.clearAll(),this.#r.reset(),this.#n.dependencies=Object.create(null),this.#f()}canNavigateTo(e,t){let n=p(this);if(n.validator?.routes.validateRouteName(e,`canNavigateTo`),n.validator?.navigation.validateParams(t,`canNavigateTo`),!this.#i.hasRoute(e))return!1;let{name:r,params:i}=n.forwardState(e,t??{}),a=this.#r.makeState(r,i),o=this.#r.get(),{toDeactivate:s,toActivate:c}=q(a,o);return this.#a.canNavigateTo(s,c,a,o)}usePlugin(...e){let t=e.filter(Boolean);if(t.length===0)return()=>{};let n=p(this);n.validator?.plugins.validatePluginLimit(this.#o.count(),this.#t);for(let e of t)n.validator?.plugins.validateNoDuplicatePlugins(e,this.#o.getAll());return this.#o.use(...t)}subscribe(e){return Q.validateSubscribeListener(e),this.#l.subscribe(e)}subscribeLeave(e){return Q.validateSubscribeLeaveListener(e),this.#l.subscribeLeave(e)}isLeaveApproved(){return this.#l.isLeaveApproved()}navigate(t,n,r){let i=p(this);i.validator?.navigation.validateNavigateArgs(t),i.validator?.navigation.validateParams(n,`navigate`);let a=r??Mn;i.validator?.navigation.validateNavigationOptions(a,`navigate`);let o=this.#s.navigate(t,n??c,a);return this.#s.lastSyncResolved?this.#s.lastSyncResolved=!1:this.#s.lastSyncRejected?this.#s.lastSyncRejected=!1:e.#d(o),o}navigateToDefault(t){let n=p(this);n.validator?.navigation.validateNavigateToDefaultArgs(t);let r=t??Mn;n.validator?.navigation.validateNavigationOptions(r,`navigateToDefault`);let i=this.#s.navigateToDefault(r);return this.#s.lastSyncResolved?this.#s.lastSyncResolved=!1:this.#s.lastSyncRejected?this.#s.lastSyncRejected=!1:e.#d(i),i}navigateToNotFound(e){if(!this.#l.isActive())throw new l(u.ROUTER_NOT_STARTED);if(e!==void 0&&typeof e!=`string`)throw TypeError(`[router.navigateToNotFound] path must be a string, got ${typeof e}`);let t=e??this.#r.get().path;return this.#s.navigateToNotFound(t)}static#u=e=>{e instanceof l&&(e.code===u.SAME_STATES||e.code===u.TRANSITION_CANCELLED||e.code===u.ROUTER_NOT_STARTED||e.code===u.ROUTE_NOT_FOUND)||h.error(`router.navigate`,`Unexpected navigation error`,e)};static#d(t){t.catch(e.#u)}#f(){this.navigate=$,this.navigateToDefault=$,this.navigateToNotFound=$,this.start=$,this.stop=$,this.usePlugin=$,this.subscribe=$,this.subscribeLeave=$,this.canNavigateTo=$}};function $(){throw new l(u.ROUTER_DISPOSED)}function Pn(e){return{strictTrailingSlash:e.trailingSlash===`strict`,strictQueryParams:e.queryParamsMode===`strict`,urlParamsEncoding:e.urlParamsEncoding,queryParams:e.queryParams}}export{jt as a,L as c,B as i,lt as l,Ft as n,kt as o,z as r,Ot as s,Nn as t,C as u};
6
- //# sourceMappingURL=Router-Djl3uvph.mjs.map
5
+ this.#l=e,this.#l}setValidatorGetter(e){this.#u=e}getHandlerCount(e){return e===`activate`?this.#t.size:this.#e.size}addCanActivate(e,t,n=!1){n?this.#o.add(e):this.#o.delete(e);let r=this.#t.has(e);this.#d(`activate`,e,t,this.#t,this.#r,`canActivate`,r)}addCanDeactivate(e,t,n=!1){n?this.#s.add(e):this.#s.delete(e);let r=this.#e.has(e);this.#d(`deactivate`,e,t,this.#e,this.#n,`canDeactivate`,r)}clearCanActivate(e){this.#t.delete(e),this.#r.delete(e),this.#o.delete(e)}clearCanDeactivate(e){this.#e.delete(e),this.#n.delete(e),this.#s.delete(e)}clearAll(){this.#t.clear(),this.#r.clear(),this.#e.clear(),this.#n.clear(),this.#o.clear(),this.#s.clear()}clearDefinitionGuards(){for(let e of this.#o)this.#t.delete(e),this.#r.delete(e);for(let e of this.#s)this.#e.delete(e),this.#n.delete(e);this.#o.clear(),this.#s.clear()}getFactories(){let e={},t={};for(let[t,n]of this.#e)e[t]=n;for(let[e,n]of this.#t)t[e]=n;return[e,t]}getFunctions(){return this.#i}canNavigateTo(e,t,n,r){for(let t of e)if(!this.#f(this.#n,t,n,r,`canNavigateTo`))return!1;for(let e of t)if(!this.#f(this.#r,e,n,r,`canNavigateTo`))return!1;return!0}#d(e,t,n,r,i,a,o){o?this.#u?.()?.lifecycle.warnOverwrite(t,e,a):this.#u?.()?.lifecycle.validateCountThresholds(r.size+1,a);let s=typeof n==`boolean`?wt(n):n;r.set(t,s),this.#a.add(t);try{let e=this.#c.compileFactory(s);if(typeof e!=`function`)throw TypeError(`[router.${a}] Factory must return a function, got ${typeof e}`);i.set(t,e)}catch(e){throw r.delete(t),e}finally{this.#a.delete(t)}}#f(e,t,n,r,i){let a=e.get(t);if(!a)return!0;try{let e=a(n,r);return typeof e==`boolean`?e:(this.#u?.()?.lifecycle.warnAsyncGuardSync(t,i),!1)}catch{return!1}}};function I(){return{decoders:Object.create(null),encoders:Object.create(null),defaultParams:Object.create(null),forwardMap:Object.create(null),forwardFnMap:Object.create(null)}}function Et(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function Dt(e,t,n){for(let r in e)if(!(r in n)&&e[r]!==t[r])return!1;return!0}function L(e){let t={name:e.name,path:e.path};return e.children&&(t.children=e.children.map(e=>L(e))),t}function Ot(e,t,n=``){for(let r=0;r<e.length;r++){let i=e[r],a=n?`${n}.${i.name}`:i.name;if(a===t)return e.splice(r,1),!0;if(i.children&&t.startsWith(`${a}.`)&&Ot(i.children,t,a))return!0}return!1}function kt(e,t){for(let n of Object.keys(e))t(n)&&delete e[n]}function At(e,t){let n=t.search(/[?#]/),r=n===-1?t:t.slice(0,n);if(r===`/`||r.endsWith(`/`))return t;let i=e.search(/[?#]/),a=i===-1?e:e.slice(0,i);return a.length>1&&a.endsWith(`/`)?`${r}/${n===-1?``:t.slice(n)}`:t}function jt(e,t,n=100){let r=new Set,i=[e],a=e;for(;t[a];){let e=t[a];if(r.has(e)){let t=i.indexOf(e),n=[...i.slice(t),e];throw Error(`Circular forwardTo: ${n.join(` → `)}`)}if(r.add(a),i.push(e),a=e,i.length>n)throw Error(`forwardTo chain exceeds maximum depth (${n}): ${i.join(` → `)}`)}return a}function Mt(e,t,n){let r=ct(``,t,e),i=ut(n);return i.registerTree(r),{tree:r,matcher:i}}function R(e){let t=Mt(e.definitions,e.rootPath,e.matcherOptions);e.tree=t.tree,e.matcher=t.matcher}function Nt(e){R(e),e.resolvedForwardMap=z(e.config)}function Pt(e){Ft(e),R(e)}function Ft(e){e.definitions.length=0,Object.assign(e.config,I()),e.resolvedForwardMap=Object.create(null),e.routeCustomFields=Object.create(null)}function z(e){let t=Object.create(null);for(let n of Object.keys(e.forwardMap))t[n]=jt(n,e.forwardMap);return t}function It(e,t,n){if(e.canActivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;h.warn(`real-router`,`Route "${t}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${n}".`)}if(e.canDeactivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;h.warn(`real-router`,`Route "${t}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${n}".`)}if(typeof e.forwardTo==`function`){let n=e.forwardTo.constructor.name===`AsyncFunction`,r=e.forwardTo.toString().includes(`__awaiter`);if(n||r)throw TypeError(`forwardTo callback cannot be async for route "${t}". Async functions break matchPath/buildPath.`)}typeof e.forwardTo==`string`?n.forwardMap[t]=e.forwardTo:n.forwardFnMap[t]=e.forwardTo}function Lt(e,t,n,r,i,a,o){let s=new Set([`name`,`path`,`children`,`canActivate`,`canDeactivate`,`forwardTo`,`encodeParams`,`decodeParams`,`defaultParams`]),c=Object.fromEntries(Object.entries(e).filter(([e])=>!s.has(e)));Object.keys(c).length>0&&(r[t]=c),e.canActivate&&(o?o.addActivateGuard(t,e.canActivate):i.set(t,e.canActivate)),e.canDeactivate&&(o?o.addDeactivateGuard(t,e.canDeactivate):a.set(t,e.canDeactivate)),e.forwardTo&&It(e,t,n),e.decodeParams&&(n.decoders[t]=t=>e.decodeParams?.(t)??t),e.encodeParams&&(n.encoders[t]=t=>e.encodeParams?.(t)??t),e.defaultParams&&(n.defaultParams[t]=e.defaultParams)}function B(e,t,n,r,i,a,o=``){for(let s of e){let e=o?`${o}.${s.name}`:s.name;Lt(s,e,t,n,r,i,a),s.children&&B(s.children,t,n,r,i,a,e)}}function Rt(e,t){let n=[],r=I(),i=Object.create(null),a=new Map,o=new Map;for(let t of e)n.push(L(t));let{tree:s,matcher:c}=Mt(n,``,t);return B(e,r,i,a,o,void 0,``),{definitions:n,config:r,tree:s,matcher:c,resolvedForwardMap:z(r),routeCustomFields:i,rootPath:``,matcherOptions:t,depsStore:void 0,lifecycleNamespace:void 0,pendingCanActivate:a,pendingCanDeactivate:o,treeOperations:{commitTreeChanges:Nt,resetStore:Pt,nodeToDefinition:N}}}const V=[];Object.freeze(V);function zt(e){let t=e.length,n=[];for(let r=t-1;r>=0;r--)n.push(e[r]);return n}function Bt(e){let t=e.split(`.`),n=t.length,r=[t[0]],i=t[0].length;for(let a=1;a<n-1;a++)i+=1+t[a].length,r.push(e.slice(0,i));return r.push(e),r}function Vt(e){let t=typeof e;return t===`string`||t===`number`||t===`boolean`}function Ht(e,t,n,r){let i=t[e];if(!i||typeof i!=`object`)return!0;for(let e of Object.keys(i)){let t=n.params[e],i=r.params[e];if(Vt(t)&&Vt(i)&&String(t)!==String(i))return!1}return!0}function Ut(e,t,n,r,i,a){for(let o=0;o<a;o++){let a=r[o];if(a!==i[o]||!Ht(a,e,t,n))return o}return a}const Wt=new Map;function H(e){let t=Wt.get(e);if(t)return t;let n=Gt(e);return Object.freeze(n),Wt.set(e,n),n}function Gt(e){if(!e)return[``];let t=e.indexOf(`.`);if(t===-1)return[e];let n=e.indexOf(`.`,t+1);if(n===-1)return[e.slice(0,t),e];let r=e.indexOf(`.`,n+1);return r===-1?[e.slice(0,t),e.slice(0,n),e]:e.indexOf(`.`,r+1)===-1?[e.slice(0,t),e.slice(0,n),e.slice(0,r),e]:Bt(e)}let U,W,G=null,Kt,qt,K=null;function Jt(e,t){if(!t)return{intersection:``,toActivate:H(e.name),toDeactivate:V};let n=_t(e),r=_t(t);if(!n&&!r)return{intersection:``,toActivate:H(e.name),toDeactivate:zt(H(t.name))};let i=H(e.name),a=H(t.name),o=Math.min(a.length,i.length),s=Ut(n??r,e,t,i,a,o),c;if(s>=a.length)c=V;else if(s===0&&a.length===1)c=a;else{c=[];for(let e=a.length-1;e>=s;e--)c.push(a[e])}let l=s===0?i:i.slice(s);return{intersection:s>0?a[s-1]:``,toDeactivate:c,toActivate:l}}function q(e,t){if(G!==null&&e===U&&t===W)return G;if(K!==null&&e===Kt&&t===qt)return K;let n=Jt(e,t);return Kt=U,qt=W,K=G,U=e,W=t,G=n,n}function Yt(e){let t=[];for(let n of e)for(let e of n.paramMeta.urlParams)t.push(e);return t}function Xt(e){return e.at(-1)?.fullName??``}function Zt(e,t){return{name:t??Xt(e.segments),params:e.params,meta:e.meta}}var Qt=class{#e;#t;get#n(){return this.#e.depsStore}constructor(e=[],t){this.#e=Rt(e,t)}static shouldUpdateNode(e){return(t,n)=>{if(!(t&&typeof t==`object`&&`name`in t))throw TypeError(`[router.shouldUpdateNode] toState must be valid State object`);if(t.transition.reload||e===``&&!n)return!0;let{intersection:r,toActivate:i,toDeactivate:a}=q(t,n);return e===r||i.includes(e)?!0:a.includes(e)}}setDependencies(e){this.#e.depsStore=e;for(let[t,n]of this.#e.pendingCanActivate)e.addActivateGuard(t,n);this.#e.pendingCanActivate.clear();for(let[t,n]of this.#e.pendingCanDeactivate)e.addDeactivateGuard(t,n);this.#e.pendingCanDeactivate.clear()}setLifecycleNamespace(e){this.#e.lifecycleNamespace=e}setRootPath(e){this.#e.rootPath=e,R(this.#e)}hasRoute(e){return this.#e.matcher.hasRoute(e)}clearRoutes(){Pt(this.#e)}buildPath(e,t,n){if(e===i.UNKNOWN_ROUTE)return typeof t?.path==`string`?t.path:``;let r=Object.hasOwn(this.#e.config.defaultParams,e)?{...this.#e.config.defaultParams[e],...t}:t??{},a=typeof this.#e.config.encoders[e]==`function`?this.#e.config.encoders[e]({...r}):r;return this.#e.matcher.buildPath(e,a,this.#i(n))}matchPath(e,t){let n=t,r=this.#e.matcher.match(e);if(!r)return;let{name:i,params:a,meta:o}=Zt(r),s=typeof this.#e.config.decoders[i]==`function`?this.#e.config.decoders[i](a):a,{name:c,params:l}=this.#n.forwardState(i,s),u=e;if(n.rewritePathOnMatch){let t=typeof this.#e.config.encoders[c]==`function`?this.#e.config.encoders[c]({...l}):l,r=n.trailingSlash;u=this.#e.matcher.buildPath(c,t,{trailingSlash:r===`never`||r===`always`?r:void 0,queryParamsMode:n.queryParamsMode}),r===`preserve`&&(u=At(e,u))}return this.#n.makeState(c,l,u,o)}forwardState(e,t){if(Object.hasOwn(this.#e.config.forwardFnMap,e)){let n=this.#r(e,t),r=this.#e.config.forwardFnMap[e],i=this.#a(e,r,t);return{name:i,params:this.#r(i,n)}}let n=this.#e.resolvedForwardMap[e]??e;if(n!==e&&Object.hasOwn(this.#e.config.forwardFnMap,n)){let r=this.#r(e,t),i=this.#e.config.forwardFnMap[n],a=this.#a(n,i,t);return{name:a,params:this.#r(a,r)}}if(n!==e){let r=this.#r(e,t);return{name:n,params:this.#r(n,r)}}return{name:e,params:this.#r(e,t)}}buildStateResolved(e,t){let n=this.#e.matcher.getSegmentsByName(e);if(n)return Zt({segments:n,params:t,meta:this.#e.matcher.getMetaByName(e)},e)}isActiveRoute(e,t={},n=!1,r=!0){let i=this.#n.getState();if(!i)return!1;let a=i.name;if(a!==e&&!a.startsWith(`${e}.`)&&!e.startsWith(`${a}.`))return!1;let s=this.#e.config.defaultParams[e];if(n||a===e){let n={name:e,params:s?{...s,...t}:t,path:``,transition:o,context:{}};return this.#n.areStatesEqual(n,i,r)}let c=i.params;return Et(t,c)?!s||Dt(s,c,t):!1}getMetaForState(e){return this.#e.matcher.hasRoute(e)?this.#e.matcher.getMetaByName(e):void 0}getUrlParams(e){let t=this.#e.matcher.getSegmentsByName(e);return t?Yt(t):[]}getStore(){return this.#e}#r(e,t){return Object.hasOwn(this.#e.config.defaultParams,e)?{...this.#e.config.defaultParams[e],...t}:t}#i(e){if(this.#t)return this.#t;let t=e?.trailingSlash;return this.#t=Object.freeze({trailingSlash:t===`never`||t===`always`?t:void 0,queryParamsMode:e?.queryParamsMode}),this.#t}#a(e,t,n){let r=new Set([e]),i=t(this.#n.getDependency,n),a=0;if(typeof i!=`string`)throw TypeError(`forwardTo callback must return a string, got ${typeof i}`);for(;a<100;){if(this.#e.matcher.getSegmentsByName(i)===void 0)throw Error(`Route "${i}" does not exist`);if(r.has(i)){let e=[...r,i].join(` → `);throw Error(`Circular forwardTo detected: ${e}`)}if(r.add(i),Object.hasOwn(this.#e.config.forwardFnMap,i)){let e=this.#e.config.forwardFnMap[i];i=e(this.#n.getDependency,n),a++;continue}let e=this.#e.config.forwardMap[i];if(e!==void 0){i=e,a++;continue}return i}throw Error(`forwardTo exceeds maximum depth of 100`)}};const $t=new l(u.ROUTER_NOT_STARTED),en=new l(u.ROUTE_NOT_FOUND),tn=new l(u.SAME_STATES),nn=Promise.reject($t),rn=Promise.reject(en),J=Promise.reject(tn);nn.catch(()=>{}),rn.catch(()=>{}),J.catch(()=>{});function an(e,t,n,r,i){Object.freeze(n),Object.freeze(r);let a={phase:`activating`,reason:`success`,segments:Object.freeze({deactivated:n,activated:r,intersection:i})};return e?.name!==void 0&&(a.from=e.name),t.reload!==void 0&&(a.reload=t.reload),t.redirected!==void 0&&(a.redirected=t.redirected),Object.freeze(a)}function on({signal:e,...t}){return t}function sn(e,t){let{toState:n,fromState:r,opts:a,toDeactivate:o,toActivate:s,intersection:c}=t;if(n.name!==i.UNKNOWN_ROUTE&&!e.hasRoute(n.name)){let t=new l(u.ROUTE_NOT_FOUND,{routeName:n.name});throw e.sendTransitionFail(n,r,t),t}if(r)for(let n of o)!s.includes(n)&&t.canDeactivateFunctions.has(n)&&e.clearCanDeactivate(n);n.transition=an(r,a,o,s,c);let d=Object.freeze(n);e.setState(d);let f=a.signal===void 0?a:on(a);return e.sendTransitionDone(d,r,f),d}function cn(e,t,n,r){let i=t;i.code===u.TRANSITION_CANCELLED||i.code===u.ROUTE_NOT_FOUND||e.sendTransitionFail(n,r,i)}function Y(e,t,n){if(e instanceof DOMException&&e.name===`AbortError`)throw new l(u.TRANSITION_CANCELLED);ln(e,t,n)}function ln(e,t,n){throw e instanceof l?(e.setCode(t),e):new l(t,dn(e,n))}const un=new Set([`code`,`segment`,`path`,`redirect`]);function dn(e,t){let n={segment:t};if(e instanceof Error)return{...n,message:e.message,stack:e.stack,...`cause`in e&&e.cause!==void 0&&{cause:e.cause}};if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))un.has(n)||(t[n]=r);return{...n,...t}}return n}async function fn(e,t,n){let r;try{r=await e}catch(e){Y(e,t,n);return}if(!r)throw new l(t,{segment:n})}async function pn(e,t,n,r,i,a,o,s,c,d){await fn(c,n,d);for(let c=s;c<t.length;c++){if(!o())throw new l(u.TRANSITION_CANCELLED);let s=t[c],d=e.get(s);if(!d)continue;let f=!1;try{f=d(r,i,a)}catch(e){Y(e,n,s)}if(f instanceof Promise){await fn(f,n,s);continue}if(!f)throw new l(n,{segment:s})}}async function mn(e,t,n,r,i,a,o,s,c){if(await e,!s())throw new l(u.TRANSITION_CANCELLED);let d=c();if(d!==void 0&&(await d,!s()))throw new l(u.TRANSITION_CANCELLED);if(r){let e=X(t,n,u.CANNOT_ACTIVATE,i,a,o,s);if(e!==void 0&&await e,!s())throw new l(u.TRANSITION_CANCELLED)}}function hn(e,t,n,r,i,a,o,s,c,d,f){if(i){let i=X(e,n,u.CANNOT_DEACTIVATE,o,s,c,d);if(i!==void 0)return mn(i,t,r,a,o,s,c,d,f)}if(!d())throw new l(u.TRANSITION_CANCELLED);let p=f();if(p!==void 0)return gn(p,a?t:void 0,r,o,s,c,d);if(a)return X(t,r,u.CANNOT_ACTIVATE,o,s,c,d)}async function gn(e,t,n,r,i,a,o){if(await e,!o())throw new l(u.TRANSITION_CANCELLED);if(t!==void 0){let e=X(t,n,u.CANNOT_ACTIVATE,r,i,a,o);if(e!==void 0&&await e,!o())throw new l(u.TRANSITION_CANCELLED)}}function X(e,t,n,r,i,a,o){for(let[s,c]of t.entries()){if(!o())throw new l(u.TRANSITION_CANCELLED);let d=e.get(c);if(!d)continue;let f=!1;try{f=d(r,i,a)}catch(e){Y(e,n,c)}if(f instanceof Promise)return pn(e,t,n,r,i,a,o,s+1,f,c);if(!f)throw new l(n,{segment:c})}}const _n=[i.UNKNOWN_ROUTE];Object.freeze(_n);const vn={replace:!0};Object.freeze(vn);function yn(e,t){return t?.name===i.UNKNOWN_ROUTE&&!e.replace?{...e,replace:!0}:e}function bn(e,t,n){return!!e&&!t.reload&&!t.force&&e.path===n.path}var xn=class{lastSyncResolved=!1;lastSyncRejected=!1;#e;#t=null;#n=0;setDependencies(e){this.#e=e}navigate(e,t,n){this.lastSyncResolved=!1;let r=this.#e;if(!r.canNavigate())return this.lastSyncRejected=!0,nn;let a,o,s=!1,c=null;try{if(a=r.buildNavigateState(e,t),!a)return r.emitTransitionError(void 0,r.getState(),en),this.lastSyncRejected=!0,rn;if(o=r.getState(),n=yn(n,o),bn(o,n,a))return r.emitTransitionError(a,o,tn),this.lastSyncRejected=!0,J;this.#s(n.signal);let d=++this.#n;if(r.startTransition(a,o),s=!0,this.#n!==d)throw new l(u.TRANSITION_CANCELLED);let[f,p]=r.getLifecycleFunctions(),m=a.name===i.UNKNOWN_ROUTE,h=q(a,o),{toDeactivate:g,toActivate:_,intersection:v}=h,y=o&&!n.forceDeactivate&&g.length>0,b=!m&&_.length>0,x=f.size>0||p.size>0,S=a;if(!x){let e=this.#a(S,o,d,n,h,f);if(e!==void 0)return e}if(x){c=new AbortController,this.#t=c;let e=()=>this.#n===d&&r.isActive(),t=c.signal,i=hn(f,p,g,_,!!y,b,a,o,t,e,()=>{if(r.sendLeaveApprove(S,o),r.hasLeaveListeners())return r.awaitLeaveListeners(S,o,t)});if(i!==void 0)return this.#r(i,{toState:a,fromState:o,opts:n,toDeactivate:g,toActivate:_,intersection:v,canDeactivateFunctions:f},c,d);if(!e())throw new l(u.TRANSITION_CANCELLED);this.#o(c)}return this.lastSyncResolved=!0,Promise.resolve(sn(r,{toState:a,fromState:o,opts:n,toDeactivate:g,toActivate:_,intersection:v,canDeactivateFunctions:f}))}catch(e){return this.#i(e,c,s,a,o),Promise.reject(e)}}navigateToDefault(e){let t=this.#e;if(!t.getOptions().defaultRoute)return Promise.reject(new l(u.ROUTE_NOT_FOUND,{routeName:`defaultRoute not configured`}));let n,r;try{({route:n,params:r}=t.resolveDefault())}catch(e){return Promise.reject(e)}return n?this.navigate(n,r,e):Promise.reject(new l(u.ROUTE_NOT_FOUND,{routeName:`defaultRoute resolved to empty`}))}navigateToNotFound(e){this.#s();let t=this.#e.getState(),n=t?H(t.name).toReversed():[];Object.freeze(n);let r={deactivated:n,activated:_n,intersection:``};Object.freeze(r);let a={phase:`activating`,...t&&{from:t.name},reason:`success`,segments:r};Object.freeze(a);let o={name:i.UNKNOWN_ROUTE,params:c,path:e,transition:a,context:{}};return Object.freeze(o),this.#e.setState(o),this.#e.emitTransitionSuccess(o,t,vn),o}abortCurrentNavigation(){this.#t?.abort(new l(u.TRANSITION_CANCELLED)),this.#t=null}async#r(e,t,n,r){let i=this.#e,a=()=>this.#n===r&&!n.signal.aborted&&i.isActive();try{if(t.opts.signal){if(t.opts.signal.aborted)throw new l(u.TRANSITION_CANCELLED,{reason:t.opts.signal.reason});t.opts.signal.addEventListener(`abort`,()=>{n.abort(t.opts.signal?.reason)},{once:!0,signal:n.signal})}if(await e,!a())throw new l(u.TRANSITION_CANCELLED);return sn(i,t)}catch(e){throw cn(i,e,t.toState,t.fromState),e}finally{this.#o(n)}}#i(e,t,n,r,i){t&&this.#o(t),n&&r&&cn(this.#e,e,r,i)}#a(e,t,n,r,i,a){let o=this.#e;if(o.sendLeaveApprove(e,t),o.hasLeaveListeners()){let s=new AbortController,c=o.awaitLeaveListeners(e,t,s.signal);if(c!==void 0)return this.#t=s,this.#r(c,{toState:e,fromState:t,opts:r,toDeactivate:i.toDeactivate,toActivate:i.toActivate,intersection:i.intersection,canDeactivateFunctions:a},s,n)}if(this.#n!==n)throw new l(u.TRANSITION_CANCELLED)}#o(e){e.abort(),this.#t===e&&(this.#t=null)}#s(e){if(this.#e.isTransitioning()&&(h.warn(`router.navigate`,`Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request.`),this.#t?.abort(new l(u.TRANSITION_CANCELLED)),this.#e.cancelNavigation()),e?.aborted)throw new l(u.TRANSITION_CANCELLED,{reason:e.reason})}};const Sn={replace:!0};Object.freeze(Sn);var Cn=class{#e;setDependencies(e){this.#e=e}async start(e){let t=this.#e,n=t.getOptions(),r=t.matchPath(e);if(!r&&!n.allowNotFound){let n=new l(u.ROUTE_NOT_FOUND,{path:e});throw t.emitTransitionError(void 0,void 0,n),n}return t.completeStart(),r?t.navigate(r.name,r.params,Sn):t.navigateToNotFound(e)}stop(){this.#e.clearState()}};function Z(e){return e instanceof Error?e:Error(String(e))}function wn(e,t){return Promise.allSettled(e).then(e=>{if(t!==void 0)throw Z(t);let n=e.find(e=>e.status===`rejected`);if(n!==void 0)throw Z(n.reason)})}var Q=class{#e;#t;#n=[];#r;#i;#a;#o;constructor(e){this.#e=e.routerFSM,this.#t=e.emitter,this.#r=void 0,this.#c()}static validateSubscribeListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribe] Expected a function. For Observable pattern use @real-router/rx package`)}static validateSubscribeLeaveListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribeLeave] Expected a function`)}emitRouterStart(){this.#t.emit(t.ROUTER_START)}emitRouterStop(){this.#t.emit(t.ROUTER_STOP)}emitTransitionStart(e,n){this.#t.emit(t.TRANSITION_START,e,n)}emitTransitionSuccess(e,n,r){this.#t.emit(t.TRANSITION_SUCCESS,e,n,r)}emitTransitionError(e,n,r){this.#t.emit(t.TRANSITION_ERROR,e,n,r)}emitTransitionCancel(e,n){this.#t.emit(t.TRANSITION_CANCEL,e,n)}emitTransitionLeaveApprove(e,n){this.#t.emit(t.TRANSITION_LEAVE_APPROVE,e,n)}sendStart(){this.#e.send(x.START)}sendStop(){this.#e.send(x.STOP)}sendDispose(){this.#e.send(x.DISPOSE)}sendStarted(){this.#e.send(x.STARTED)}sendNavigate(e,t){this.#r=e,this.#e.forceState(b.TRANSITION_STARTED),this.emitTransitionStart(e,t)}sendComplete(e,t,n={}){this.#e.forceState(b.READY),this.emitTransitionSuccess(e,t,n),this.#r===e&&(this.#r=void 0)}sendLeaveApprove(e,t){this.#e.forceState(b.LEAVE_APPROVED),this.emitTransitionLeaveApprove(e,t)}sendFail(e,t,n){let r=this.#r;this.#i=e,this.#a=t,this.#o=n,this.#e.send(x.FAIL),this.#r===r&&(this.#r=void 0)}sendFailSafe(e,t,n){this.isReady()?this.sendFail(e,t,n):this.emitTransitionError(e,t,n)}sendCancel(e,t){let n=this.#r;this.#i=e,this.#a=t,this.#e.send(x.CANCEL),this.#r===n&&(this.#r=void 0)}canBeginTransition(){return this.#e.canSend(x.NAVIGATE)}canStart(){return this.#e.canSend(x.START)}canCancel(){return this.#e.canSend(x.CANCEL)}isActive(){let e=this.#e.getState();return e!==b.IDLE&&e!==b.DISPOSED}isDisposed(){return this.#e.getState()===b.DISPOSED}isTransitioning(){let e=this.#e.getState();return e===b.TRANSITION_STARTED||e===b.LEAVE_APPROVED}isLeaveApproved(){return this.#e.getState()===b.LEAVE_APPROVED}isReady(){return this.#e.getState()===b.READY}getCurrentToState(){return this.#r}addEventListener(e,t){return this.#t.on(e,t)}subscribe(e){return this.#t.on(t.TRANSITION_SUCCESS,(t,n)=>{e({route:t,previousRoute:n})})}subscribeLeave(e){return this.#n.push(e),()=>{let t=this.#n.indexOf(e);t!==-1&&this.#n.splice(t,1)}}hasLeaveListeners(){return this.#n.length>0}awaitLeaveListeners(e,t,n){if(t===void 0)return;let r={route:t,nextRoute:e,signal:n},i,a;for(let e of this.#n)try{let t=e(r);t!==void 0&&typeof t.then==`function`&&(i??=[],i.push(t))}catch(e){a===void 0&&(a=e)}if(i===void 0){if(a!==void 0)throw Z(a);return}return wn(i,a)}clearAll(){this.#t.clearAll(),this.#n.length=0}setLimits(e){this.#t.setLimits(e)}sendCancelIfPossible(e){let t=this.#r;!this.canCancel()||t===void 0||this.sendCancel(t,e)}#s(){this.emitTransitionError(this.#i,this.#a,this.#o)}#c(){let e=this.#e;e.on(b.STARTING,x.STARTED,()=>{this.emitRouterStart()}),e.on(b.READY,x.STOP,()=>{this.emitRouterStop()});let t=()=>{let e=this.#i;e!==void 0&&this.emitTransitionCancel(e,this.#a)};e.on(b.TRANSITION_STARTED,x.CANCEL,t),e.on(b.LEAVE_APPROVED,x.CANCEL,t),e.on(b.LEAVE_APPROVED,x.FAIL,()=>{this.#s()}),e.on(b.STARTING,x.FAIL,()=>{this.#s()}),e.on(b.READY,x.FAIL,()=>{this.#s()}),e.on(b.TRANSITION_STARTED,x.FAIL,()=>{this.#s()})}};const Tn=new l(u.ROUTER_ALREADY_STARTED),En=new Set([`all`,`warn-error`,`error-only`]);function Dn(e){return typeof e==`string`&&En.has(e)}function On(e){return typeof e==`string`?`"${e}"`:typeof e==`object`?JSON.stringify(e):String(e)}function kn(e){if(typeof e!=`object`||!e)throw TypeError(`Logger config must be an object`);let t=e;for(let e of Object.keys(t))if(e!==`level`&&e!==`callback`)throw TypeError(`Unknown logger config property: "${e}"`);if(`level`in t&&t.level!==void 0&&!Dn(t.level))throw TypeError(`Invalid logger level: ${On(t.level)}. Expected: "all" | "warn-error" | "error-only"`);if(`callback`in t&&t.callback!==void 0&&typeof t.callback!=`function`)throw TypeError(`Logger callback must be a function, got ${typeof t.callback}`);return!0}var An=class{router;options;limits;dependenciesStore;state;routes;routeLifecycle;plugins;navigation;lifecycle;eventBus;constructor(e){this.router=e.router,this.options=e.options,this.limits=e.limits,this.dependenciesStore=e.dependenciesStore,this.state=e.state,this.routes=e.routes,this.routeLifecycle=e.routeLifecycle,this.plugins=e.plugins,this.navigation=e.navigation,this.lifecycle=e.lifecycle,this.eventBus=e.eventBus}wireLimits(){this.dependenciesStore.limits=this.limits,this.plugins.setLimits(this.limits),this.eventBus.setLimits({maxListeners:this.limits.maxListeners,warnListeners:this.limits.warnListeners,maxEventDepth:this.limits.maxEventDepth}),this.routeLifecycle.setLimits(this.limits)}wireRouteLifecycleDeps(){let e={compileFactory:this.createCompileFactory()};this.routeLifecycle.setDependencies(e),this.routeLifecycle.setValidatorGetter(()=>{try{return p(this.router).validator}catch{return null}})}wireRoutesDeps(){this.routes.setDependencies({addActivateGuard:(e,t)=>{this.routeLifecycle.addCanActivate(e,t,!0)},addDeactivateGuard:(e,t)=>{this.routeLifecycle.addCanDeactivate(e,t,!0)},makeState:(e,t,n,r)=>this.state.makeState(e,t,n,r),getState:()=>this.state.get(),areStatesEqual:(e,t,n)=>this.state.areStatesEqual(e,t,n),getDependency:e=>this.dependenciesStore.dependencies[e],forwardState:(e,t)=>{let n=p(this.router);return n.validator?.routes.validateStateBuilderArgs(e,t,`forwardState`),n.forwardState(e,t)}}),this.routes.setLifecycleNamespace(this.routeLifecycle)}wirePluginsDeps(){let e={addEventListener:(e,t)=>this.eventBus.addEventListener(e,t),canNavigate:()=>this.eventBus.canBeginTransition(),compileFactory:this.createCompileFactory()};this.plugins.setDependencies(e),this.plugins.setValidatorGetter(()=>{try{return p(this.router).validator}catch{return null}})}wireNavigationDeps(){this.navigation.setDependencies({getOptions:()=>this.options.get(),hasRoute:e=>this.routes.hasRoute(e),getState:()=>this.state.get(),setState:e=>{this.state.set(e)},buildNavigateState:(e,t)=>{let n=p(this.router);n.validator?.routes.validateStateBuilderArgs(e,t,`navigate`);let i=n.forwardState(e,t),a=i.name,o=r(i.params),s=this.routes.getMetaForState(a);if(s===void 0)return;let c=n.buildPath(a,o);return this.state.makeState(a,o,c,s,!0)},resolveDefault:()=>{let e=this.options.get(),t=p(this.router),n=pt(e.defaultRoute,e=>this.dependenciesStore.dependencies[e]),r=pt(e.defaultParams,e=>this.dependenciesStore.dependencies[e]);return typeof e.defaultRoute==`function`&&t.validator?.options.validateResolvedDefaultRoute(n,t.routeGetStore()),{route:n,params:r}},startTransition:(e,t)=>{this.eventBus.sendNavigate(e,t)},cancelNavigation:()=>{let e=this.eventBus.getCurrentToState();e!==void 0&&this.eventBus.sendCancel(e,this.state.get())},sendTransitionDone:(e,t,n)=>{this.eventBus.sendComplete(e,t,n)},sendTransitionFail:(e,t,n)=>{this.eventBus.sendFail(e,t,n)},emitTransitionError:(e,t,n)=>{this.eventBus.sendFailSafe(e,t,n)},emitTransitionSuccess:(e,t,n)=>{this.eventBus.emitTransitionSuccess(e,t,n)},sendLeaveApprove:(e,t)=>{this.eventBus.sendLeaveApprove(e,t)},canNavigate:()=>this.eventBus.canBeginTransition(),getLifecycleFunctions:()=>this.routeLifecycle.getFunctions(),isActive:()=>this.router.isActive(),isTransitioning:()=>this.eventBus.isTransitioning(),clearCanDeactivate:e=>{this.routeLifecycle.clearCanDeactivate(e)},hasLeaveListeners:()=>this.eventBus.hasLeaveListeners(),awaitLeaveListeners:(e,t,n)=>this.eventBus.awaitLeaveListeners(e,t,n)})}wireLifecycleDeps(){this.lifecycle.setDependencies({getOptions:()=>this.options.get(),navigate:(e,t,n)=>this.navigation.navigate(e,t,n),navigateToNotFound:e=>this.navigation.navigateToNotFound(e),clearState:()=>{this.state.set(void 0)},matchPath:e=>this.routes.matchPath(e,this.options.get()),completeStart:()=>{this.eventBus.sendStarted()},emitTransitionError:(e,t,n)=>{this.eventBus.sendFail(e,t,n)}})}wireStateDeps(){this.state.setDependencies({getDefaultParams:()=>this.routes.getStore().config.defaultParams,buildPath:(e,t)=>p(this.router).buildPath(e,t),getUrlParams:e=>this.routes.getUrlParams(e)})}createCompileFactory(){let{router:e,dependenciesStore:t}=this;return n=>n(e,e=>t.dependencies[e])}};function jn(e){e.wireLimits(),e.wireRouteLifecycleDeps(),e.wireRoutesDeps(),e.wirePluginsDeps(),e.wireNavigationDeps(),e.wireLifecycleDeps(),e.wireStateDeps()}const Mn=Object.freeze({});var Nn=class e{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;constructor(e=[],t={},n={}){t.logger&&kn(t.logger)&&(h.configure(t.logger),delete t.logger),ht.validateOptionsIsObject(t),te(n),e.length>0&&C(e),this.#e=new ht(t),this.#t=a(t.limits),this.#n=ne(n),this.#r=new yt,this.#i=new Qt(e,Pn(this.#e.get())),this.#a=new Tt,this.#o=new Ct,this.#s=new xn,this.#c=new Cn,this.#l=new Q({routerFSM:ee(),emitter:new y({onListenerError:(e,t)=>{h.error(`Router`,`Error in listener for ${e}:`,t)},onListenerWarn:(e,t)=>{h.warn(`router.addEventListener`,`Event "${e}" has ${t} listeners — possible memory leak`)}})}),jn(new An({router:this,options:this.#e,limits:this.#t,dependenciesStore:this.#n,state:this.#r,routes:this.#i,routeLifecycle:this.#a,plugins:this.#o,navigation:this.#s,lifecycle:this.#c,eventBus:this.#l}));let r=new Map;d(this,{makeState:(e,t,n,r)=>this.#r.makeState(e,t,n,r),forwardState:f(`forwardState`,(e,t)=>this.#i.forwardState(e,t),r),buildStateResolved:(e,t)=>this.#i.buildStateResolved(e,t),matchPath:(e,t)=>this.#i.matchPath(e,t),getOptions:()=>this.#e.get(),addEventListener:(e,t)=>this.#l.addEventListener(e,t),buildPath:f(`buildPath`,(e,t)=>this.#i.buildPath(e,t??c,this.#e.get()),r),emitTransitionError:e=>{this.#l.sendFailSafe(void 0,this.#r.get(),e)},start:m(`start`,e=>this.#c.start(e),r),interceptors:r,setRootPath:e=>{this.#i.setRootPath(e)},getRootPath:()=>this.#i.getStore().rootPath,getTree:()=>this.#i.getStore().tree,isDisposed:()=>this.#l.isDisposed(),validator:null,dependenciesGetStore:()=>this.#n,cloneOptions:()=>({...this.#e.get()}),cloneDependencies:()=>({...this.#n.dependencies}),getLifecycleFactories:()=>this.#a.getFactories(),getPluginFactories:()=>this.#o.getAll(),routeGetStore:()=>this.#i.getStore(),getStateName:()=>this.#r.get()?.name,isTransitioning:()=>this.#l.isTransitioning(),clearState:()=>{this.#r.set(void 0)},setState:e=>{this.#r.set(e)},routerExtensions:[],contextClaimRecords:new Set}),this.isActiveRoute=this.isActiveRoute.bind(this),this.buildPath=this.buildPath.bind(this),this.getState=this.getState.bind(this),this.getPreviousState=this.getPreviousState.bind(this),this.areStatesEqual=this.areStatesEqual.bind(this),this.shouldUpdateNode=this.shouldUpdateNode.bind(this),this.isActive=this.isActive.bind(this),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.dispose=this.dispose.bind(this),this.canNavigateTo=this.canNavigateTo.bind(this),this.usePlugin=this.usePlugin.bind(this),this.navigate=this.navigate.bind(this),this.navigateToDefault=this.navigateToDefault.bind(this),this.navigateToNotFound=this.navigateToNotFound.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeLeave=this.subscribeLeave.bind(this),this.isLeaveApproved=this.isLeaveApproved.bind(this)}isActiveRoute(e,t,n,r){return p(this).validator?.routes.validateIsActiveRouteArgs(e,t,n,r),p(this).validator?.routes.validateRouteName(e,`isActiveRoute`),e===``?(h.warn(`real-router`,`isActiveRoute("") called with empty string. Root node is not considered a parent of any route.`),!1):this.#i.isActiveRoute(e,t,n,r)}buildPath(e,t){let n=p(this);return n.validator?.routes.validateBuildPathArgs(e),n.validator?.navigation.validateParams(t,`buildPath`),n.buildPath(e,r(t))}getState(){return this.#r.get()}getPreviousState(){return this.#r.getPrevious()}areStatesEqual(e,t,n=!0){return p(this).validator?.state.validateAreStatesEqualArgs(e,t,n),this.#r.areStatesEqual(e,t,n)}shouldUpdateNode(e){return p(this).validator?.routes.validateShouldUpdateNodeArgs(e),Qt.shouldUpdateNode(e)}isActive(){return this.#l.isActive()}start(t){if(!this.#l.canStart())return Promise.reject(Tn);p(this).validator?.navigation.validateStartArgs(t),this.#l.sendStart();let n=p(this).start(t).catch(e=>{throw this.#l.isReady()&&(this.#c.stop(),this.#l.sendStop()),e});return e.#d(n),n}stop(){return this.#s.abortCurrentNavigation(),this.#l.sendCancelIfPossible(this.#r.get()),!this.#l.isReady()&&!this.#l.isTransitioning()?this:(this.#c.stop(),this.#l.sendStop(),this)}dispose(){if(this.#l.isDisposed())return;this.#s.abortCurrentNavigation(),this.#l.sendCancelIfPossible(this.#r.get()),(this.#l.isReady()||this.#l.isTransitioning())&&(this.#c.stop(),this.#l.sendStop()),this.#l.sendDispose(),this.#l.clearAll(),this.#o.disposeAll();let e=p(this);for(let t of e.routerExtensions)for(let e of t.keys)delete this[e];e.routerExtensions.length=0,e.contextClaimRecords.clear(),this.#i.clearRoutes(),this.#a.clearAll(),this.#r.reset(),this.#n.dependencies=Object.create(null),this.#f()}canNavigateTo(e,t){let n=p(this);if(n.validator?.routes.validateRouteName(e,`canNavigateTo`),n.validator?.navigation.validateParams(t,`canNavigateTo`),!this.#i.hasRoute(e))return!1;let{name:r,params:i}=n.forwardState(e,t??{}),a=this.#r.makeState(r,i),o=this.#r.get(),{toDeactivate:s,toActivate:c}=q(a,o);return this.#a.canNavigateTo(s,c,a,o)}usePlugin(...e){let t=e.filter(Boolean);if(t.length===0)return()=>{};let n=p(this);n.validator?.plugins.validatePluginLimit(this.#o.count(),this.#t);for(let e of t)n.validator?.plugins.validateNoDuplicatePlugins(e,this.#o.getAll());return this.#o.use(...t)}subscribe(e){return Q.validateSubscribeListener(e),this.#l.subscribe(e)}subscribeLeave(e){return Q.validateSubscribeLeaveListener(e),this.#l.subscribeLeave(e)}isLeaveApproved(){return this.#l.isLeaveApproved()}navigate(t,n,r){let i=p(this);i.validator?.navigation.validateNavigateArgs(t),i.validator?.navigation.validateParams(n,`navigate`);let a=r??Mn;i.validator?.navigation.validateNavigationOptions(a,`navigate`);let o=this.#s.navigate(t,n??c,a);return this.#s.lastSyncResolved?this.#s.lastSyncResolved=!1:this.#s.lastSyncRejected?this.#s.lastSyncRejected=!1:e.#d(o),o}navigateToDefault(t){let n=p(this);n.validator?.navigation.validateNavigateToDefaultArgs(t);let r=t??Mn;n.validator?.navigation.validateNavigationOptions(r,`navigateToDefault`);let i=this.#s.navigateToDefault(r);return this.#s.lastSyncResolved?this.#s.lastSyncResolved=!1:this.#s.lastSyncRejected?this.#s.lastSyncRejected=!1:e.#d(i),i}navigateToNotFound(e){if(!this.#l.isActive())throw new l(u.ROUTER_NOT_STARTED);if(e!==void 0&&typeof e!=`string`)throw TypeError(`[router.navigateToNotFound] path must be a string, got ${typeof e}`);let t=e??this.#r.get().path;return this.#s.navigateToNotFound(t)}static#u=e=>{e instanceof l&&(e.code===u.SAME_STATES||e.code===u.TRANSITION_CANCELLED||e.code===u.ROUTER_NOT_STARTED||e.code===u.ROUTE_NOT_FOUND)||h.error(`router.navigate`,`Unexpected navigation error`,e)};static#d(t){t.catch(e.#u)}#f(){this.navigate=$,this.navigateToDefault=$,this.navigateToNotFound=$,this.start=$,this.stop=$,this.usePlugin=$,this.subscribe=$,this.subscribeLeave=$,this.canNavigateTo=$}};function $(){throw new l(u.ROUTER_DISPOSED)}function Pn(e){return{strictTrailingSlash:e.trailingSlash===`strict`,strictQueryParams:e.queryParamsMode===`strict`,urlParamsEncoding:e.urlParamsEncoding,queryParams:e.queryParams}}export{jt as a,L as c,B as i,lt as l,Ft as n,kt as o,z as r,Ot as s,Nn as t,C as u};
6
+ //# sourceMappingURL=Router-CW1zRyaV.mjs.map