@real-router/core 0.78.0 → 0.79.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/Router-DGUed2F4.js +2 -0
  3. package/dist/cjs/Router-DGUed2F4.js.map +1 -0
  4. package/dist/cjs/{Router-BG5yNYUG.d.ts → Router.d.ts} +5 -4
  5. package/dist/cjs/Router.d.ts.map +1 -0
  6. package/dist/cjs/Router.js +2 -0
  7. package/dist/cjs/Router.js.map +1 -0
  8. package/dist/cjs/RouterError.d.ts +182 -0
  9. package/dist/cjs/RouterError.d.ts.map +1 -0
  10. package/dist/cjs/RouterError.js +2 -0
  11. package/dist/cjs/RouterError.js.map +1 -0
  12. package/dist/cjs/api/cloneRouter.d.ts +86 -0
  13. package/dist/cjs/api/cloneRouter.d.ts.map +1 -0
  14. package/dist/cjs/api/cloneRouter.js +2 -0
  15. package/dist/cjs/api/cloneRouter.js.map +1 -0
  16. package/dist/cjs/api/getDependenciesApi.d.ts +7 -0
  17. package/dist/cjs/api/getDependenciesApi.d.ts.map +1 -0
  18. package/dist/cjs/api/getDependenciesApi.js +2 -0
  19. package/dist/cjs/api/getDependenciesApi.js.map +1 -0
  20. package/dist/cjs/api/getLifecycleApi.d.ts +7 -0
  21. package/dist/cjs/api/getLifecycleApi.d.ts.map +1 -0
  22. package/dist/cjs/api/getLifecycleApi.js +2 -0
  23. package/dist/cjs/api/getLifecycleApi.js.map +1 -0
  24. package/dist/cjs/api/getPluginApi.d.ts +7 -0
  25. package/dist/cjs/api/getPluginApi.d.ts.map +1 -0
  26. package/dist/cjs/api/getPluginApi.js +2 -0
  27. package/dist/cjs/api/getPluginApi.js.map +1 -0
  28. package/dist/cjs/api/getRoutesApi.d.ts +7 -0
  29. package/dist/cjs/api/getRoutesApi.d.ts.map +1 -0
  30. package/dist/cjs/api/getRoutesApi.js +2 -0
  31. package/dist/cjs/api/getRoutesApi.js.map +1 -0
  32. package/dist/cjs/api/helpers.js +2 -0
  33. package/dist/cjs/api/helpers.js.map +1 -0
  34. package/dist/cjs/api/types.d.ts +9 -0
  35. package/dist/cjs/api/types.d.ts.map +1 -0
  36. package/dist/cjs/api.d.ts +8 -105
  37. package/dist/cjs/api.js +1 -1
  38. package/dist/cjs/api.js.map +1 -1
  39. package/dist/cjs/buildParamMeta-DniluAIV.js +2 -0
  40. package/dist/cjs/buildParamMeta-DniluAIV.js.map +1 -0
  41. package/dist/cjs/{cloneRouter-a6LJt-zh.js → cloneRouter-Ch25z3Z2.js} +2 -2
  42. package/dist/cjs/{cloneRouter-a6LJt-zh.js.map → cloneRouter-Ch25z3Z2.js.map} +1 -1
  43. package/dist/cjs/constants.d.ts +25 -0
  44. package/dist/cjs/constants.d.ts.map +1 -0
  45. package/dist/cjs/constants.js +2 -0
  46. package/dist/cjs/constants.js.map +1 -0
  47. package/dist/cjs/createRouter.d.ts +23 -0
  48. package/dist/cjs/createRouter.d.ts.map +1 -0
  49. package/dist/cjs/createRouter.js +2 -0
  50. package/dist/cjs/createRouter.js.map +1 -0
  51. package/dist/cjs/engine/builder/buildTree.js +2 -0
  52. package/dist/cjs/engine/builder/buildTree.js.map +1 -0
  53. package/dist/cjs/engine/builder/computeCaches.js +2 -0
  54. package/dist/cjs/engine/builder/computeCaches.js.map +1 -0
  55. package/dist/cjs/engine/builder/createRouteTree.js +2 -0
  56. package/dist/cjs/engine/builder/createRouteTree.js.map +1 -0
  57. package/dist/cjs/engine/builder/types.d.ts +48 -0
  58. package/dist/cjs/engine/builder/types.d.ts.map +1 -0
  59. package/dist/cjs/engine/createMatcher.d.ts +29 -0
  60. package/dist/cjs/engine/createMatcher.d.ts.map +1 -0
  61. package/dist/cjs/engine/createMatcher.js +2 -0
  62. package/dist/cjs/engine/createMatcher.js.map +1 -0
  63. package/dist/cjs/engine/operations/routeTreeToDefinitions.js +2 -0
  64. package/dist/cjs/engine/operations/routeTreeToDefinitions.js.map +1 -0
  65. package/dist/cjs/engine/path-matcher/SegmentMatcher.d.ts +16 -0
  66. package/dist/cjs/engine/path-matcher/SegmentMatcher.d.ts.map +1 -0
  67. package/dist/cjs/engine/path-matcher/SegmentMatcher.js +2 -0
  68. package/dist/cjs/engine/path-matcher/SegmentMatcher.js.map +1 -0
  69. package/dist/cjs/engine/path-matcher/buildParamMeta.js +2 -0
  70. package/dist/cjs/engine/path-matcher/buildParamMeta.js.map +1 -0
  71. package/dist/cjs/engine/path-matcher/encoding.js +2 -0
  72. package/dist/cjs/engine/path-matcher/encoding.js.map +1 -0
  73. package/dist/cjs/engine/path-matcher/parseSegment.js +2 -0
  74. package/dist/cjs/engine/path-matcher/parseSegment.js.map +1 -0
  75. package/dist/cjs/engine/path-matcher/pathUtils.js +2 -0
  76. package/dist/cjs/engine/path-matcher/pathUtils.js.map +1 -0
  77. package/dist/cjs/engine/path-matcher/percentEncoding.js +2 -0
  78. package/dist/cjs/engine/path-matcher/percentEncoding.js.map +1 -0
  79. package/dist/cjs/engine/path-matcher/registration/buildParts.js +2 -0
  80. package/dist/cjs/engine/path-matcher/registration/buildParts.js.map +1 -0
  81. package/dist/cjs/engine/path-matcher/registration/context.js +2 -0
  82. package/dist/cjs/engine/path-matcher/registration/context.js.map +1 -0
  83. package/dist/cjs/engine/path-matcher/registration/errors.js +2 -0
  84. package/dist/cjs/engine/path-matcher/registration/errors.js.map +1 -0
  85. package/dist/cjs/engine/path-matcher/registration/index.js +2 -0
  86. package/dist/cjs/engine/path-matcher/registration/index.js.map +1 -0
  87. package/dist/cjs/engine/path-matcher/registration/trie.js +2 -0
  88. package/dist/cjs/engine/path-matcher/registration/trie.js.map +1 -0
  89. package/dist/cjs/engine/path-matcher/registration/trieNodes.js +2 -0
  90. package/dist/cjs/engine/path-matcher/registration/trieNodes.js.map +1 -0
  91. package/dist/cjs/{types-xg2zHVF6.d.ts → engine/path-matcher/types.d.ts} +2 -80
  92. package/dist/cjs/engine/path-matcher/types.d.ts.map +1 -0
  93. package/dist/cjs/engine/search-params/decode.js +2 -0
  94. package/dist/cjs/engine/search-params/decode.js.map +1 -0
  95. package/dist/cjs/engine/search-params/encode.js +2 -0
  96. package/dist/cjs/engine/search-params/encode.js.map +1 -0
  97. package/dist/cjs/engine/search-params/searchParams.js +2 -0
  98. package/dist/cjs/engine/search-params/searchParams.js.map +1 -0
  99. package/dist/cjs/engine/search-params/strategies/array.js +2 -0
  100. package/dist/cjs/engine/search-params/strategies/array.js.map +1 -0
  101. package/dist/cjs/engine/search-params/strategies/boolean.js +2 -0
  102. package/dist/cjs/engine/search-params/strategies/boolean.js.map +1 -0
  103. package/dist/cjs/engine/search-params/strategies/index.js +2 -0
  104. package/dist/cjs/engine/search-params/strategies/index.js.map +1 -0
  105. package/dist/cjs/engine/search-params/strategies/null.js +2 -0
  106. package/dist/cjs/engine/search-params/strategies/null.js.map +1 -0
  107. package/dist/cjs/engine/search-params/strategies/number.js +2 -0
  108. package/dist/cjs/engine/search-params/strategies/number.js.map +1 -0
  109. package/dist/cjs/engine/search-params/types.d.ts +72 -0
  110. package/dist/cjs/engine/search-params/types.d.ts.map +1 -0
  111. package/dist/cjs/engine/search-params/utils.js +2 -0
  112. package/dist/cjs/engine/search-params/utils.js.map +1 -0
  113. package/dist/cjs/engine/validation/route-batch.d.ts +38 -0
  114. package/dist/cjs/engine/validation/route-batch.d.ts.map +1 -0
  115. package/dist/cjs/engine/validation/route-batch.js +2 -0
  116. package/dist/cjs/engine/validation/route-batch.js.map +1 -0
  117. package/dist/cjs/engine/validation/routes.js +2 -0
  118. package/dist/cjs/engine/validation/routes.js.map +1 -0
  119. package/dist/cjs/foundation/event-emitter/EventEmitter.js +2 -0
  120. package/dist/cjs/foundation/event-emitter/EventEmitter.js.map +1 -0
  121. package/dist/cjs/foundation/fsm/fsm.js +2 -0
  122. package/dist/cjs/foundation/fsm/fsm.js.map +1 -0
  123. package/dist/cjs/foundation/logger/RouterLogger.js +2 -0
  124. package/dist/cjs/foundation/logger/RouterLogger.js.map +1 -0
  125. package/dist/cjs/foundation/logger/constants.js +2 -0
  126. package/dist/cjs/foundation/logger/constants.js.map +1 -0
  127. package/dist/cjs/getNavigator.d.ts +6 -0
  128. package/dist/cjs/getNavigator.d.ts.map +1 -0
  129. package/dist/cjs/getNavigator.js +2 -0
  130. package/dist/cjs/getNavigator.js.map +1 -0
  131. package/dist/cjs/guards.js +2 -0
  132. package/dist/cjs/guards.js.map +1 -0
  133. package/dist/cjs/helpers.js +2 -0
  134. package/dist/cjs/helpers.js.map +1 -0
  135. package/dist/cjs/index.d.ts +17 -239
  136. package/dist/cjs/index.js +1 -1
  137. package/dist/cjs/internals.d.ts +99 -0
  138. package/dist/cjs/internals.d.ts.map +1 -0
  139. package/dist/cjs/internals.js +2 -0
  140. package/dist/cjs/internals.js.map +1 -0
  141. package/dist/cjs/namespaces/DependenciesNamespace/dependenciesStore.d.ts +10 -0
  142. package/dist/cjs/namespaces/DependenciesNamespace/dependenciesStore.d.ts.map +1 -0
  143. package/dist/cjs/namespaces/DependenciesNamespace/dependenciesStore.js +2 -0
  144. package/dist/cjs/namespaces/DependenciesNamespace/dependenciesStore.js.map +1 -0
  145. package/dist/cjs/namespaces/EventBusNamespace/EventBusNamespace.js +2 -0
  146. package/dist/cjs/namespaces/EventBusNamespace/EventBusNamespace.js.map +1 -0
  147. package/dist/cjs/namespaces/NavigationNamespace/NavigationNamespace.js +2 -0
  148. package/dist/cjs/namespaces/NavigationNamespace/NavigationNamespace.js.map +1 -0
  149. package/dist/cjs/namespaces/NavigationNamespace/constants.js +2 -0
  150. package/dist/cjs/namespaces/NavigationNamespace/constants.js.map +1 -0
  151. package/dist/cjs/namespaces/NavigationNamespace/transition/completeTransition.js +2 -0
  152. package/dist/cjs/namespaces/NavigationNamespace/transition/completeTransition.js.map +1 -0
  153. package/dist/cjs/namespaces/NavigationNamespace/transition/errorHandling.js +2 -0
  154. package/dist/cjs/namespaces/NavigationNamespace/transition/errorHandling.js.map +1 -0
  155. package/dist/cjs/namespaces/NavigationNamespace/transition/guardPhase.js +2 -0
  156. package/dist/cjs/namespaces/NavigationNamespace/transition/guardPhase.js.map +1 -0
  157. package/dist/cjs/namespaces/OptionsNamespace/OptionsNamespace.js +2 -0
  158. package/dist/cjs/namespaces/OptionsNamespace/OptionsNamespace.js.map +1 -0
  159. package/dist/cjs/namespaces/OptionsNamespace/constants.js +2 -0
  160. package/dist/cjs/namespaces/OptionsNamespace/constants.js.map +1 -0
  161. package/dist/cjs/namespaces/OptionsNamespace/helpers.js +2 -0
  162. package/dist/cjs/namespaces/OptionsNamespace/helpers.js.map +1 -0
  163. package/dist/cjs/namespaces/OptionsNamespace/validators.js +2 -0
  164. package/dist/cjs/namespaces/OptionsNamespace/validators.js.map +1 -0
  165. package/dist/cjs/namespaces/PluginsNamespace/PluginsNamespace.js +2 -0
  166. package/dist/cjs/namespaces/PluginsNamespace/PluginsNamespace.js.map +1 -0
  167. package/dist/cjs/namespaces/PluginsNamespace/constants.js +2 -0
  168. package/dist/cjs/namespaces/PluginsNamespace/constants.js.map +1 -0
  169. package/dist/cjs/namespaces/PluginsNamespace/validators.js +2 -0
  170. package/dist/cjs/namespaces/PluginsNamespace/validators.js.map +1 -0
  171. package/dist/cjs/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.d.ts +174 -0
  172. package/dist/cjs/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.d.ts.map +1 -0
  173. package/dist/cjs/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.js +2 -0
  174. package/dist/cjs/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.js.map +1 -0
  175. package/dist/cjs/namespaces/RouteLifecycleNamespace/types.d.ts +17 -0
  176. package/dist/cjs/namespaces/RouteLifecycleNamespace/types.d.ts.map +1 -0
  177. package/dist/cjs/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.js +2 -0
  178. package/dist/cjs/namespaces/RouterLifecycleNamespace/RouterLifecycleNamespace.js.map +1 -0
  179. package/dist/cjs/namespaces/RouterLifecycleNamespace/constants.js +2 -0
  180. package/dist/cjs/namespaces/RouterLifecycleNamespace/constants.js.map +1 -0
  181. package/dist/cjs/namespaces/RoutesNamespace/RoutesNamespace.js +2 -0
  182. package/dist/cjs/namespaces/RoutesNamespace/RoutesNamespace.js.map +1 -0
  183. package/dist/cjs/namespaces/RoutesNamespace/constants.js +2 -0
  184. package/dist/cjs/namespaces/RoutesNamespace/constants.js.map +1 -0
  185. package/dist/cjs/namespaces/RoutesNamespace/forwardChain.d.ts +5 -0
  186. package/dist/cjs/namespaces/RoutesNamespace/forwardChain.d.ts.map +1 -0
  187. package/dist/cjs/namespaces/RoutesNamespace/forwardChain.js +2 -0
  188. package/dist/cjs/namespaces/RoutesNamespace/forwardChain.js.map +1 -0
  189. package/dist/cjs/namespaces/RoutesNamespace/helpers.js +2 -0
  190. package/dist/cjs/namespaces/RoutesNamespace/helpers.js.map +1 -0
  191. package/dist/cjs/namespaces/RoutesNamespace/routeGuards.js +2 -0
  192. package/dist/cjs/namespaces/RoutesNamespace/routeGuards.js.map +1 -0
  193. package/dist/cjs/namespaces/RoutesNamespace/routesStore.d.ts +42 -0
  194. package/dist/cjs/namespaces/RoutesNamespace/routesStore.d.ts.map +1 -0
  195. package/dist/cjs/namespaces/RoutesNamespace/routesStore.js +2 -0
  196. package/dist/cjs/namespaces/RoutesNamespace/routesStore.js.map +1 -0
  197. package/dist/cjs/namespaces/RoutesNamespace/types.d.ts +57 -0
  198. package/dist/cjs/namespaces/RoutesNamespace/types.d.ts.map +1 -0
  199. package/dist/cjs/namespaces/StateNamespace/StateNamespace.js +2 -0
  200. package/dist/cjs/namespaces/StateNamespace/StateNamespace.js.map +1 -0
  201. package/dist/cjs/namespaces/StateNamespace/helpers.js +2 -0
  202. package/dist/cjs/namespaces/StateNamespace/helpers.js.map +1 -0
  203. package/dist/cjs/routerFSM.js +2 -0
  204. package/dist/cjs/routerFSM.js.map +1 -0
  205. package/dist/cjs/stateMetaStore.js +2 -0
  206. package/dist/cjs/stateMetaStore.js.map +1 -0
  207. package/dist/cjs/transitionPath.js +2 -0
  208. package/dist/cjs/transitionPath.js.map +1 -0
  209. package/dist/cjs/{RouterValidator-CZ8kPkrI.d.ts → types/RouterValidator.d.ts} +2 -2
  210. package/dist/cjs/types/RouterValidator.d.ts.map +1 -0
  211. package/dist/cjs/types/api.d.ts +184 -0
  212. package/dist/cjs/types/api.d.ts.map +1 -0
  213. package/dist/cjs/types/base.d.ts +86 -0
  214. package/dist/cjs/types/base.d.ts.map +1 -0
  215. package/dist/cjs/types/constants.d.ts +72 -0
  216. package/dist/cjs/types/constants.d.ts.map +1 -0
  217. package/dist/cjs/types/internal.d.ts +9 -0
  218. package/dist/cjs/types/internal.d.ts.map +1 -0
  219. package/dist/cjs/types/limits.d.ts +45 -0
  220. package/dist/cjs/types/limits.d.ts.map +1 -0
  221. package/dist/cjs/types/route-node-types.d.ts +46 -0
  222. package/dist/cjs/types/route-node-types.d.ts.map +1 -0
  223. package/dist/cjs/types/router.d.ts +313 -0
  224. package/dist/cjs/types/router.d.ts.map +1 -0
  225. package/dist/cjs/types/tree-changed.d.ts +55 -0
  226. package/dist/cjs/types/tree-changed.d.ts.map +1 -0
  227. package/dist/cjs/types.d.ts +208 -2
  228. package/dist/cjs/types.d.ts.map +1 -0
  229. package/dist/cjs/utils/createRequestScope.d.ts +111 -0
  230. package/dist/cjs/utils/createRequestScope.d.ts.map +1 -0
  231. package/dist/cjs/utils/createRequestScope.js +2 -0
  232. package/dist/cjs/utils/createRequestScope.js.map +1 -0
  233. package/dist/cjs/utils/getStaticPaths.d.ts +7 -0
  234. package/dist/cjs/utils/getStaticPaths.d.ts.map +1 -0
  235. package/dist/cjs/utils/getStaticPaths.js +2 -0
  236. package/dist/cjs/utils/getStaticPaths.js.map +1 -0
  237. package/dist/cjs/utils/hydrateRouter.d.ts +69 -0
  238. package/dist/cjs/utils/hydrateRouter.d.ts.map +1 -0
  239. package/dist/cjs/utils/hydrateRouter.js +2 -0
  240. package/dist/cjs/utils/hydrateRouter.js.map +1 -0
  241. package/dist/cjs/utils/serializeRouterState.d.ts +84 -0
  242. package/dist/cjs/utils/serializeRouterState.d.ts.map +1 -0
  243. package/dist/cjs/utils/serializeRouterState.js +2 -0
  244. package/dist/cjs/utils/serializeRouterState.js.map +1 -0
  245. package/dist/cjs/utils/serializeState.d.ts +50 -0
  246. package/dist/cjs/utils/serializeState.d.ts.map +1 -0
  247. package/dist/cjs/utils/serializeState.js +2 -0
  248. package/dist/cjs/utils/serializeState.js.map +1 -0
  249. package/dist/cjs/utils.d.ts +5 -1
  250. package/dist/cjs/utils.js +1 -1
  251. package/dist/cjs/validation.d.ts +6 -518
  252. package/dist/cjs/validation.js +1 -1
  253. package/dist/cjs/validation.js.map +1 -1
  254. package/dist/cjs/wiring/wireNamespaces.js +2 -0
  255. package/dist/cjs/wiring/wireNamespaces.js.map +1 -0
  256. package/dist/esm/Router-Bk6PfSE8.mjs +2 -0
  257. package/dist/esm/Router-Bk6PfSE8.mjs.map +1 -0
  258. package/dist/esm/{Router-Cy75qbgU.d.mts → Router.d.mts} +5 -4
  259. package/dist/esm/Router.d.mts.map +1 -0
  260. package/dist/esm/RouterError.d.mts +182 -0
  261. package/dist/esm/RouterError.d.mts.map +1 -0
  262. package/dist/esm/api/cloneRouter.d.mts +86 -0
  263. package/dist/esm/api/cloneRouter.d.mts.map +1 -0
  264. package/dist/esm/api/getDependenciesApi.d.mts +7 -0
  265. package/dist/esm/api/getDependenciesApi.d.mts.map +1 -0
  266. package/dist/esm/api/getLifecycleApi.d.mts +7 -0
  267. package/dist/esm/api/getLifecycleApi.d.mts.map +1 -0
  268. package/dist/esm/api/getPluginApi.d.mts +7 -0
  269. package/dist/esm/api/getPluginApi.d.mts.map +1 -0
  270. package/dist/esm/api/getRoutesApi.d.mts +7 -0
  271. package/dist/esm/api/getRoutesApi.d.mts.map +1 -0
  272. package/dist/esm/api/types.d.mts +9 -0
  273. package/dist/esm/api/types.d.mts.map +1 -0
  274. package/dist/esm/api.d.mts +8 -105
  275. package/dist/esm/api.mjs +1 -1
  276. package/dist/esm/api.mjs.map +1 -1
  277. package/dist/esm/buildParamMeta-bOLhLF9h.mjs +2 -0
  278. package/dist/esm/buildParamMeta-bOLhLF9h.mjs.map +1 -0
  279. package/dist/esm/{cloneRouter-CqS4kTs8.mjs → cloneRouter-D4rnqmi9.mjs} +2 -2
  280. package/dist/esm/{cloneRouter-CqS4kTs8.mjs.map → cloneRouter-D4rnqmi9.mjs.map} +1 -1
  281. package/dist/esm/constants.d.mts +25 -0
  282. package/dist/esm/constants.d.mts.map +1 -0
  283. package/dist/esm/createRouter.d.mts +23 -0
  284. package/dist/esm/createRouter.d.mts.map +1 -0
  285. package/dist/esm/engine/builder/types.d.mts +48 -0
  286. package/dist/esm/engine/builder/types.d.mts.map +1 -0
  287. package/dist/esm/engine/createMatcher.d.mts +29 -0
  288. package/dist/esm/engine/createMatcher.d.mts.map +1 -0
  289. package/dist/esm/engine/path-matcher/SegmentMatcher.d.mts +16 -0
  290. package/dist/esm/engine/path-matcher/SegmentMatcher.d.mts.map +1 -0
  291. package/dist/esm/{types-xg2zHVF6.d.mts → engine/path-matcher/types.d.mts} +2 -80
  292. package/dist/esm/engine/path-matcher/types.d.mts.map +1 -0
  293. package/dist/esm/engine/search-params/types.d.mts +72 -0
  294. package/dist/esm/engine/search-params/types.d.mts.map +1 -0
  295. package/dist/esm/engine/validation/route-batch.d.mts +38 -0
  296. package/dist/esm/engine/validation/route-batch.d.mts.map +1 -0
  297. package/dist/esm/getNavigator.d.mts +6 -0
  298. package/dist/esm/getNavigator.d.mts.map +1 -0
  299. package/dist/esm/index.d.mts +17 -239
  300. package/dist/esm/index.mjs +1 -1
  301. package/dist/esm/internals.d.mts +99 -0
  302. package/dist/esm/internals.d.mts.map +1 -0
  303. package/dist/esm/namespaces/DependenciesNamespace/dependenciesStore.d.mts +10 -0
  304. package/dist/esm/namespaces/DependenciesNamespace/dependenciesStore.d.mts.map +1 -0
  305. package/dist/esm/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.d.mts +174 -0
  306. package/dist/esm/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.d.mts.map +1 -0
  307. package/dist/esm/namespaces/RouteLifecycleNamespace/types.d.mts +17 -0
  308. package/dist/esm/namespaces/RouteLifecycleNamespace/types.d.mts.map +1 -0
  309. package/dist/esm/namespaces/RoutesNamespace/forwardChain.d.mts +5 -0
  310. package/dist/esm/namespaces/RoutesNamespace/forwardChain.d.mts.map +1 -0
  311. package/dist/esm/namespaces/RoutesNamespace/routesStore.d.mts +42 -0
  312. package/dist/esm/namespaces/RoutesNamespace/routesStore.d.mts.map +1 -0
  313. package/dist/esm/namespaces/RoutesNamespace/types.d.mts +57 -0
  314. package/dist/esm/namespaces/RoutesNamespace/types.d.mts.map +1 -0
  315. package/dist/esm/{RouterValidator-CZ8kPkrI.d.mts → types/RouterValidator.d.mts} +2 -2
  316. package/dist/esm/types/RouterValidator.d.mts.map +1 -0
  317. package/dist/esm/types/api.d.mts +184 -0
  318. package/dist/esm/types/api.d.mts.map +1 -0
  319. package/dist/esm/types/base.d.mts +86 -0
  320. package/dist/esm/types/base.d.mts.map +1 -0
  321. package/dist/esm/types/constants.d.mts +72 -0
  322. package/dist/esm/types/constants.d.mts.map +1 -0
  323. package/dist/esm/types/internal.d.mts +9 -0
  324. package/dist/esm/types/internal.d.mts.map +1 -0
  325. package/dist/esm/types/limits.d.mts +45 -0
  326. package/dist/esm/types/limits.d.mts.map +1 -0
  327. package/dist/esm/types/route-node-types.d.mts +46 -0
  328. package/dist/esm/types/route-node-types.d.mts.map +1 -0
  329. package/dist/esm/types/router.d.mts +313 -0
  330. package/dist/esm/types/router.d.mts.map +1 -0
  331. package/dist/esm/types/tree-changed.d.mts +55 -0
  332. package/dist/esm/types/tree-changed.d.mts.map +1 -0
  333. package/dist/esm/types.d.mts +208 -2
  334. package/dist/esm/types.d.mts.map +1 -0
  335. package/dist/esm/utils/createRequestScope.d.mts +111 -0
  336. package/dist/esm/utils/createRequestScope.d.mts.map +1 -0
  337. package/dist/esm/utils/getStaticPaths.d.mts +7 -0
  338. package/dist/esm/utils/getStaticPaths.d.mts.map +1 -0
  339. package/dist/esm/utils/hydrateRouter.d.mts +69 -0
  340. package/dist/esm/utils/hydrateRouter.d.mts.map +1 -0
  341. package/dist/esm/utils/serializeRouterState.d.mts +84 -0
  342. package/dist/esm/utils/serializeRouterState.d.mts.map +1 -0
  343. package/dist/esm/utils/serializeState.d.mts +50 -0
  344. package/dist/esm/utils/serializeState.d.mts.map +1 -0
  345. package/dist/esm/utils.d.mts +5 -1
  346. package/dist/esm/utils.mjs +1 -1
  347. package/dist/esm/validation.d.mts +6 -518
  348. package/dist/esm/validation.mjs +1 -1
  349. package/dist/esm/validation.mjs.map +1 -1
  350. package/package.json +2 -2
  351. package/dist/cjs/Router-BG5yNYUG.d.ts.map +0 -1
  352. package/dist/cjs/Router-D6NzRxBA.js +0 -2
  353. package/dist/cjs/Router-D6NzRxBA.js.map +0 -1
  354. package/dist/cjs/RouterValidator-CZ8kPkrI.d.ts.map +0 -1
  355. package/dist/cjs/api.d.ts.map +0 -1
  356. package/dist/cjs/buildParamMeta-CkG6cUIl.js +0 -2
  357. package/dist/cjs/buildParamMeta-CkG6cUIl.js.map +0 -1
  358. package/dist/cjs/index-CAnGQpnz.d.ts +0 -974
  359. package/dist/cjs/index-CAnGQpnz.d.ts.map +0 -1
  360. package/dist/cjs/index-DDrryY2U.d.ts +0 -309
  361. package/dist/cjs/index-DDrryY2U.d.ts.map +0 -1
  362. package/dist/cjs/index.d.ts.map +0 -1
  363. package/dist/cjs/types-xg2zHVF6.d.ts.map +0 -1
  364. package/dist/cjs/validation.d.ts.map +0 -1
  365. package/dist/esm/Router-Cy75qbgU.d.mts.map +0 -1
  366. package/dist/esm/Router-De0Gr9Ll.mjs +0 -2
  367. package/dist/esm/Router-De0Gr9Ll.mjs.map +0 -1
  368. package/dist/esm/RouterValidator-CZ8kPkrI.d.mts.map +0 -1
  369. package/dist/esm/api.d.mts.map +0 -1
  370. package/dist/esm/buildParamMeta-Bl0uORu6.mjs +0 -2
  371. package/dist/esm/buildParamMeta-Bl0uORu6.mjs.map +0 -1
  372. package/dist/esm/index-CAnGQpnz.d.mts +0 -974
  373. package/dist/esm/index-CAnGQpnz.d.mts.map +0 -1
  374. package/dist/esm/index-DnSU6huX.d.mts +0 -309
  375. package/dist/esm/index-DnSU6huX.d.mts.map +0 -1
  376. package/dist/esm/index.d.mts.map +0 -1
  377. package/dist/esm/types-xg2zHVF6.d.mts.map +0 -1
  378. package/dist/esm/validation.d.mts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterValidator.d.ts","names":[],"sources":["../../../src/types/RouterValidator.ts"],"mappings":";;;;;;;;;;UAUiB;;;;EAIf;IACE,wBAAwB;IACxB,wBAAwB;IACxB,4BACE,eACA,iBACA,iBACA;IAEF,+BAA+B;IAC/B,2BACE,eACA,iBACA;IAEF,uBAAuB;IACvB,iBACE,mBACA,eACA;IAEF,0BAA0B;IAC1B,+BAA+B,eAAe;IAC9C,mCAAmC,cAAc;IACjD,sBACE,cACA,kBACA;IAEF,uBAAuB,iBAAiB;IACxC,oBAAoB,eAAe;IACnC,uBAAuB,eAAe;IACtC,8BAA8B,mBAAmB;IACjD,0BAA0B;IAC1B,sBAAsB;IACtB,wBAAwB;;;;;EAM1B;IACE,kBAAkB,kBAAkB;IACpC,+BAA+B,oBAAoB;;;;;EAMrD;IACE,yBAAyB,eAAe;IACxC,4BACE,eACA,gBACA;IAEF,6BAA6B,eAAe;IAC5C,2BAA2B,cAAc;IACzC,0BAA0B,gBAAgB;IAC1C,oBAAoB;IACpB,gBAAgB,cAAc;IAC9B,qBAAqB,gBAAgB;IACrC,wBAAwB;;;;;EAM1B;IACE,sBAAsB,eAAe;IACrC,6BACE,kBACA;IAEF,qBAAqB;IACrB,0BAA0B;IAC1B,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;IACvB,6BAA6B,iBAAiB;;;;;EAMhD;IACE,kBAAkB,kBAAkB;IACpC,uBAAuB,eAAe;IACtC,0BAA0B,eAAe;IACzC,gBAAgB,cAAc,cAAc;IAC5C,qBAAqB,cAAc;;;;;EAMrC;IACE,uBAAuB;IACvB,gCAAgC;IAChC,8BAA8B;IAC9B,4BAA4B,kBAAkB;IAC9C,iBAAiB,iBAAiB;IAClC,oBAAoB;;;;;EAMtB;IACE,wBACE,eACA,iBACA;IAEF,6BACE,aACA,aACA;;;;;EAOJ;IACE,uBAAuB,eAAe;IACtC,0BACE,eACA,mBACA"}
@@ -0,0 +1,184 @@
1
+ import { RouteTreeState } from "./route-node-types.js";
2
+ import { Params, SimpleState, State, StateMetaInput, Unsubscribe } from "./base.js";
3
+ import { DefaultDependencies, GuardFnFactory, Options, Plugin, Route, RouteConfigUpdate } from "./router.js";
4
+ import { EventMethodMap, EventName } from "./constants.js";
5
+ import { TreeChangedEvent } from "./tree-changed.js";
6
+ import { NavigationOptions, StateContext } from "../types.js";
7
+ //#region src/types/api.d.ts
8
+ /**
9
+ * Maps interceptable method names to their signatures.
10
+ * Used by {@link PluginApi.addInterceptor} to provide type-safe interceptor registration.
11
+ *
12
+ * To add a new interceptable method:
13
+ * 1. Add its signature here
14
+ * 2. Wrap it with `createInterceptable()` / `createBinaryInterceptable()` in
15
+ * the `registerInternals` block of the Router constructor
16
+ * (`packages/core/src/Router.ts`)
17
+ */
18
+ interface InterceptableMethodMap {
19
+ start: (path?: string) => Promise<State>;
20
+ buildPath: (route: string, params?: Params) => string;
21
+ forwardState: (routeName: string, routeParams: Params) => SimpleState;
22
+ }
23
+ /**
24
+ * Type-safe interceptor callback.
25
+ * Receives `next` (the next function in the chain) followed by the method's original parameters.
26
+ */
27
+ type InterceptorFn<M extends keyof InterceptableMethodMap> = (next: InterceptableMethodMap[M], ...args: Parameters<InterceptableMethodMap[M]>) => ReturnType<InterceptableMethodMap[M]>;
28
+ /**
29
+ * Writer object returned by {@link PluginApi.claimContextNamespace}. Holds
30
+ * exclusive ownership of a single `state.context.<namespace>` key for the
31
+ * lifetime of the owning plugin.
32
+ *
33
+ * @description
34
+ * A plugin obtains a claim by calling `api.claimContextNamespace("ns")` at
35
+ * registration, then publishes per-navigation data via {@link write} from a
36
+ * lifecycle hook (typically `onTransitionSuccess`) or from an interceptor.
37
+ * The plugin must call {@link release} in its `teardown()` so another plugin
38
+ * can reclaim the same namespace.
39
+ *
40
+ * The core runtime enforces one invariant: a namespace can be held by at most
41
+ * one claim at a time. Double-claiming throws `CONTEXT_NAMESPACE_ALREADY_CLAIMED`.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const navigationPlugin: PluginFactory = (router) => {
46
+ * const api = getPluginApi(router);
47
+ * const claim = api.claimContextNamespace("navigation");
48
+ *
49
+ * return {
50
+ * onTransitionSuccess(toState, fromState) {
51
+ * claim.write(toState, { direction: detectDirection(fromState, toState) });
52
+ * },
53
+ * teardown() {
54
+ * claim.release();
55
+ * },
56
+ * };
57
+ * };
58
+ * ```
59
+ *
60
+ * @see {@link PluginApi.claimContextNamespace}
61
+ * @see {@link State.context}
62
+ */
63
+ interface ContextNamespaceClaim<T = unknown> {
64
+ write: (state: State, value: T) => void;
65
+ release: () => void;
66
+ }
67
+ /**
68
+ * Plugin API — for plugins and infrastructure packages.
69
+ * Hides plugin-internal methods from public autocomplete.
70
+ */
71
+ interface PluginApi {
72
+ makeState: <P extends Params = Params>(name: string, params?: P, path?: string, meta?: StateMetaInput) => State<P>;
73
+ buildState: (routeName: string, routeParams: Params) => RouteTreeState | undefined;
74
+ forwardState: <P extends Params = Params>(routeName: string, routeParams: P) => SimpleState<P>;
75
+ matchPath: <P extends Params = Params>(path: string) => State<P> | undefined;
76
+ /**
77
+ * Navigate to a fully-built `State`, skipping the redundant
78
+ * `forwardState`/`buildPath` round-trip in `buildNavigateState`.
79
+ *
80
+ * Plugin-only entry point for browser-initiated navigation: a plugin
81
+ * receives a URL event, resolves it via `api.matchPath(url)`, then commits
82
+ * the resulting `State` directly via `api.navigateToState(state, opts)`.
83
+ *
84
+ * Semantics vs `router.navigate(name, params, opts)`:
85
+ * - `forwardState` is NOT re-applied (matchPath already ran it).
86
+ * - `buildPath` is NOT re-run; `state.path` is used verbatim, preserving
87
+ * `trailingSlash:"preserve"` source-URL output.
88
+ * - `forwardState`/`buildPath` interceptors do NOT run on this path; the
89
+ * URL the user navigated to is the source of truth.
90
+ * - Pipeline: SAME_STATES check, FSM transition, guards, `subscribeLeave`,
91
+ * `completeTransition`, plugin lifecycle hooks — all unchanged.
92
+ *
93
+ * Programmatic / userland navigation should keep using
94
+ * `router.navigate(name, params, opts)` so interceptors apply.
95
+ */
96
+ navigateToState: (state: State, options?: NavigationOptions) => Promise<State>;
97
+ setRootPath: (rootPath: string) => void;
98
+ getRootPath: () => string;
99
+ addEventListener: <E extends EventName>(eventName: E, cb: Plugin[EventMethodMap[E]]) => Unsubscribe;
100
+ buildNavigationState: (name: string, params?: Params) => State | undefined;
101
+ getOptions: () => Options;
102
+ getTree: () => unknown;
103
+ addInterceptor: <M extends keyof InterceptableMethodMap>(method: M, fn: InterceptorFn<M>) => Unsubscribe;
104
+ extendRouter: (extensions: Record<string, unknown>) => Unsubscribe;
105
+ /**
106
+ * Emits a `$$error` event without going through the navigation pipeline.
107
+ *
108
+ * Used by plugins that detect an error outside a running transition (e.g.,
109
+ * an unmatched URL on popstate in strict mode). The event reaches any
110
+ * `onTransitionError` plugin hook and any `$$error` listener so developers
111
+ * can observe errors raised by the plugin layer.
112
+ *
113
+ * The current router state is used as `fromState`; `toState` is `undefined`
114
+ * because no transition was attempted. Safe to call at any FSM state —
115
+ * delegates to `sendFailSafe` internally (direct emit when not READY).
116
+ */
117
+ emitTransitionError: (error: Error) => void;
118
+ claimContextNamespace: {
119
+ <K extends keyof StateContext & string>(namespace: K): ContextNamespaceClaim<StateContext[K]>;
120
+ (namespace: string): ContextNamespaceClaim;
121
+ };
122
+ getRouteConfig: (name: string) => Record<string, unknown> | undefined;
123
+ }
124
+ /**
125
+ * Routes API — for dynamic route mutation.
126
+ */
127
+ interface RoutesApi<Dependencies extends DefaultDependencies = DefaultDependencies> {
128
+ add: (routes: Route<Dependencies>[] | Route<Dependencies>, options?: {
129
+ parent?: string;
130
+ }) => void;
131
+ remove: (name: string) => void;
132
+ /**
133
+ * Patch an existing route's configuration in place (no tree rebuild).
134
+ *
135
+ * Applies the structural/guard fields and any plugin-defined custom fields
136
+ * (lifecycle hooks, `preload`, `searchSchema`, …) from the patch. Fields are
137
+ * shallow-merged by key; `null` removes a field, `undefined` is a no-op.
138
+ * `name`/`path`/`children` are immutable — use `remove` + `add` to
139
+ * restructure. See {@link RouteConfigUpdate} for the full semantics and the
140
+ * plugin augmentation pattern.
141
+ */
142
+ update: (name: string, updates: RouteConfigUpdate<Dependencies>) => void;
143
+ clear: () => void;
144
+ replace: (routes: Route<Dependencies>[] | Route<Dependencies>) => void;
145
+ has: (name: string) => boolean;
146
+ get: (name: string) => Route<Dependencies> | undefined;
147
+ /**
148
+ * Subscribe to structural route-tree mutations (`add` / `remove` / `update`
149
+ * with structural fields / `replace` / `clear`). Fire-and-forget: the handler
150
+ * cannot cancel the mutation, runs after the atomic commit, and sees the
151
+ * post-mutation tree via `get()` / `has()`.
152
+ *
153
+ * Duplicate-registration semantics are **lenient** (mirrors
154
+ * `router.subscribe`): each call registers an independent listener and
155
+ * returns its own unsubscribe.
156
+ *
157
+ * @returns Unsubscribe function for this specific registration.
158
+ */
159
+ subscribeChanges: (handler: (event: TreeChangedEvent<Dependencies>) => void) => Unsubscribe;
160
+ }
161
+ /**
162
+ * Dependencies API — CRUD for dependency injection.
163
+ */
164
+ interface DependenciesApi<Dependencies extends DefaultDependencies = DefaultDependencies> {
165
+ get: <K extends keyof Dependencies>(key: K) => Dependencies[K];
166
+ getAll: () => Partial<Dependencies>;
167
+ set: <K extends keyof Dependencies & string>(name: K, value: Dependencies[K]) => void;
168
+ setAll: (deps: Dependencies) => void;
169
+ remove: (name: keyof Dependencies) => void;
170
+ reset: () => void;
171
+ has: (name: keyof Dependencies) => boolean;
172
+ }
173
+ /**
174
+ * Lifecycle API — guard registration (addActivateGuard, addDeactivateGuard, etc.)
175
+ */
176
+ interface LifecycleApi<Dependencies extends DefaultDependencies = DefaultDependencies> {
177
+ addActivateGuard: (name: string, canActivateHandler: GuardFnFactory<Dependencies> | boolean) => void;
178
+ addDeactivateGuard: (name: string, canDeactivateHandler: GuardFnFactory<Dependencies> | boolean) => void;
179
+ removeActivateGuard: (name: string) => void;
180
+ removeDeactivateGuard: (name: string) => void;
181
+ }
182
+ //#endregion
183
+ export { ContextNamespaceClaim, DependenciesApi, InterceptableMethodMap, InterceptorFn, LifecycleApi, PluginApi, RoutesApi };
184
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","names":[],"sources":["../../../src/types/api.ts"],"mappings":";;;;;;;;;;;;;;;;;UAqCiB;EACf,QAAQ,kBAAkB,QAAQ;EAClC,YAAY,eAAe,SAAS;EACpC,eAAe,mBAAmB,aAAa,WAAW;;;;;;KAOhD,cAAc,gBAAgB,2BACxC,MAAM,uBAAuB,OAC1B,MAAM,WAAW,uBAAuB,QACxC,WAAW,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAqCtB,sBAAsB;EACrC,QAAQ,OAAO,OAAO,OAAO;EAC7B;;;;;;UAOe;EACf,YAAY,UAAU,SAAS,QAC7B,cACA,SAAS,GACT,eACA,OAAO,mBACJ,MAAM;EAEX,aACE,mBACA,aAAa,WACV;EAEL,eAAe,UAAU,SAAS,QAChC,mBACA,aAAa,MACV,YAAY;EAEjB,YAAY,UAAU,SAAS,QAAQ,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;EAsB9D,kBACE,OAAO,OACP,UAAU,sBACP,QAAQ;EAEb,cAAc;EACd;EAEA,mBAAmB,UAAU,WAC3B,WAAW,GACX,IAAI,OAAO,eAAe,QACvB;EAEL,uBAAuB,cAAc,SAAS,WAAW;EAEzD,kBAAkB;EAElB;EAEA,iBAAiB,gBAAgB,wBAC/B,QAAQ,GACR,IAAI,cAAc,OACf;EAEL,eAAe,YAAY,4BAA4B;;;;;;;;;;;;;EAcvD,sBAAsB,OAAO;EAE7B;KAEG,gBAAgB,uBACf,WAAW,IACV,sBAAsB,aAAa;KACrC,oBAAoB;;EAGvB,iBAAiB,iBAAiB;;;;;UAMnB,UACf,qBAAqB,sBAAsB;EAE3C,MACE,QAAQ,MAAM,kBAAkB,MAAM,eACtC;IAAY;;EAGd,SAAS;;;;;;;;;;;EAYT,SAAS,cAAc,SAAS,kBAAkB;EAElD;EAEA,UAAU,QAAQ,MAAM,kBAAkB,MAAM;EAEhD,MAAM;EAEN,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;EAc7B,mBACE,UAAU,OAAO,iBAAiB,2BAC/B;;;;;UAMU,gBACf,qBAAqB,sBAAsB;EAE3C,MAAM,gBAAgB,cAAc,KAAK,MAAM,aAAa;EAC5D,cAAc,QAAQ;EACtB,MAAM,gBAAgB,uBACpB,MAAM,GACN,OAAO,aAAa;EAEtB,SAAS,MAAM;EACf,SAAS,YAAY;EACrB;EACA,MAAM,YAAY;;;;;UAMH,aACf,qBAAqB,sBAAsB;EAE3C,mBACE,cACA,oBAAoB,eAAe;EAErC,qBACE,cACA,sBAAsB,eAAe;EAEvC,sBAAsB;EACtB,wBAAwB"}
@@ -0,0 +1,86 @@
1
+ import { StateContext } from "../types.js";
2
+ //#region src/types/base.d.ts
3
+ /**
4
+ * Detach function returned by subscription APIs.
5
+ *
6
+ * @description
7
+ * Calling this function removes the associated listener. Returned by
8
+ * `router.subscribe()`, `router.addEventListener()`, `router.subscribeLeave()`,
9
+ * and plugin interceptors. Idempotent — calling more than once is safe and
10
+ * has no additional effect after the first call.
11
+ */
12
+ type Unsubscribe = () => void;
13
+ interface SimpleState<P extends Params = Params> {
14
+ name: string;
15
+ params: P;
16
+ }
17
+ type TransitionPhase = "deactivating" | "activating";
18
+ type TransitionReason = "success" | "blocked" | "cancelled" | "error";
19
+ interface TransitionMeta {
20
+ phase: TransitionPhase;
21
+ reason: TransitionReason;
22
+ reload?: boolean;
23
+ replace?: boolean;
24
+ redirected?: boolean;
25
+ from?: string;
26
+ blocker?: string;
27
+ segments: {
28
+ deactivated: string[];
29
+ activated: string[];
30
+ intersection: string;
31
+ };
32
+ }
33
+ interface State<P extends Params = Params> {
34
+ name: string;
35
+ params: P;
36
+ path: string;
37
+ transition: TransitionMeta;
38
+ /**
39
+ * Plugin-extensible per-route data, attached by plugins via
40
+ * `PluginApi.claimContextNamespace()` + `claim.write(state, value)`.
41
+ *
42
+ * @description
43
+ * Required field — always present as at least `{}` on every State created by
44
+ * the router (via `makeState`, `navigateToNotFound`, or `cloneRouter`).
45
+ *
46
+ * Typed extensions come from plugins augmenting {@link StateContext} through
47
+ * module augmentation. The intersection with `Record<string, unknown>` allows
48
+ * untyped namespaces (inline plugins, tests, or plugins that skip augmentation)
49
+ * to write without compile errors.
50
+ *
51
+ * The `context` object itself is **not frozen** — this is intentional, so
52
+ * plugins can attach data without cloning state. Core structural fields
53
+ * (`name`, `params`, `path`, `transition`) remain immutable via shallow
54
+ * `Object.freeze(state)`.
55
+ *
56
+ * @see {@link StateContext}
57
+ */
58
+ context: StateContext & Record<string, unknown>;
59
+ }
60
+ interface StateMetaInput<P extends Params = Params> {
61
+ params: P;
62
+ }
63
+ /**
64
+ * RouterError interface describing the public API of the RouterError class.
65
+ * The actual class implementation is in the real-router package.
66
+ * This interface enables structural typing compatibility between
67
+ * core-types and real-router packages.
68
+ */
69
+ interface RouterError extends Error {
70
+ [key: string]: unknown;
71
+ readonly code: string;
72
+ readonly segment: string | undefined;
73
+ readonly path: string | undefined;
74
+ setCode: (code: string) => void;
75
+ setErrorInstance: (err: Error) => void;
76
+ setAdditionalFields: (fields: Record<string, unknown>) => void;
77
+ hasField: (key: string) => boolean;
78
+ getField: (key: string) => unknown;
79
+ toJSON: () => Record<string, unknown>;
80
+ }
81
+ interface Params {
82
+ [key: string]: string | string[] | number | number[] | boolean | boolean[] | Params | Params[] | Record<string, string | number | boolean> | null | undefined;
83
+ }
84
+ //#endregion
85
+ export { Params, RouterError, SimpleState, State, StateMetaInput, TransitionMeta, TransitionPhase, TransitionReason, Unsubscribe };
86
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","names":[],"sources":["../../../src/types/base.ts"],"mappings":";;;;;;;;;;;KAmBY;UAEK,YAAY,UAAU,SAAS;EAC9C;EACA,QAAQ;;KAGE;KAEA;UAEK;EACf,OAAO;EACP,QAAQ;EACR;EACA;EACA;EACA;EACA;EACA;IACE;IACA;IACA;;;UAIa,MAAM,UAAU,SAAS;EACxC;EACA,QAAQ;EACR;EACA,YAAY;;;;;;;;;;;;;;;;;;;;;EAqBZ,SAAS,eAAe;;UAGT,eAAe,UAAU,SAAS;EACjD,QAAQ;;;;;;;;UASO,oBAAoB;GAClC;WACQ;WACA;WACA;EACT,UAAU;EACV,mBAAmB,KAAK;EACxB,sBAAsB,QAAQ;EAC9B,WAAW;EACX,WAAW;EACX,cAAc;;UAGC;GACd,4EAOG,SACA,WACA"}
@@ -0,0 +1,72 @@
1
+ //#region src/types/constants.d.ts
2
+ /**
3
+ * Plugin lifecycle method names
4
+ */
5
+ type PluginMethod = "onStart" | "onStop" | "onTransitionStart" | "onTransitionLeaveApprove" | "onTransitionCancel" | "onTransitionSuccess" | "onTransitionError";
6
+ /**
7
+ * Router event names
8
+ */
9
+ type EventName = "$start" | "$stop" | "$$start" | "$$leaveApprove" | "$$cancel" | "$$success" | "$$error";
10
+ /**
11
+ * Event type keys
12
+ */
13
+ type EventsKeys = "ROUTER_START" | "ROUTER_STOP" | "TRANSITION_START" | "TRANSITION_LEAVE_APPROVE" | "TRANSITION_CANCEL" | "TRANSITION_SUCCESS" | "TRANSITION_ERROR";
14
+ /**
15
+ * Error code values
16
+ */
17
+ type ErrorCodeValues = "NOT_STARTED" | "NO_START_PATH_OR_STATE" | "ALREADY_STARTED" | "ROUTE_NOT_FOUND" | "SAME_STATES" | "CANNOT_DEACTIVATE" | "CANNOT_ACTIVATE" | "TRANSITION_ERR" | "CANCELLED" | "DISPOSED" | "PLUGIN_CONFLICT" | "CONTEXT_NAMESPACE_ALREADY_CLAIMED";
18
+ /**
19
+ * Error code keys
20
+ */
21
+ type ErrorCodeKeys = "ROUTER_NOT_STARTED" | "NO_START_PATH_OR_STATE" | "ROUTER_ALREADY_STARTED" | "ROUTE_NOT_FOUND" | "SAME_STATES" | "CANNOT_DEACTIVATE" | "CANNOT_ACTIVATE" | "TRANSITION_ERR" | "TRANSITION_CANCELLED" | "ROUTER_DISPOSED" | "PLUGIN_CONFLICT" | "CONTEXT_NAMESPACE_ALREADY_CLAIMED" | "REENTRANT_NAVIGATION" | "REENTRANT_TREE_MUTATION";
22
+ /**
23
+ * Mapping of event keys to plugin methods
24
+ */
25
+ interface EventToPluginMap {
26
+ readonly ROUTER_START: "onStart";
27
+ readonly ROUTER_STOP: "onStop";
28
+ readonly TRANSITION_START: "onTransitionStart";
29
+ readonly TRANSITION_LEAVE_APPROVE: "onTransitionLeaveApprove";
30
+ readonly TRANSITION_CANCEL: "onTransitionCancel";
31
+ readonly TRANSITION_SUCCESS: "onTransitionSuccess";
32
+ readonly TRANSITION_ERROR: "onTransitionError";
33
+ }
34
+ /**
35
+ * Mapping of event keys to event names
36
+ */
37
+ interface EventToNameMap {
38
+ ROUTER_START: "$start";
39
+ ROUTER_STOP: "$stop";
40
+ TRANSITION_START: "$$start";
41
+ TRANSITION_LEAVE_APPROVE: "$$leaveApprove";
42
+ TRANSITION_CANCEL: "$$cancel";
43
+ TRANSITION_SUCCESS: "$$success";
44
+ TRANSITION_ERROR: "$$error";
45
+ }
46
+ /**
47
+ * Mapping of event names to plugin method names.
48
+ * Type-level computation from EventToNameMap + EventToPluginMap.
49
+ */
50
+ type EventMethodMap = { [K in EventsKeys as EventToNameMap[K]]: EventToPluginMap[K]; };
51
+ /**
52
+ * Mapping of error code keys to their values
53
+ */
54
+ interface ErrorCodeToValueMap {
55
+ ROUTER_NOT_STARTED: "NOT_STARTED";
56
+ NO_START_PATH_OR_STATE: "NO_START_PATH_OR_STATE";
57
+ ROUTER_ALREADY_STARTED: "ALREADY_STARTED";
58
+ ROUTE_NOT_FOUND: "ROUTE_NOT_FOUND";
59
+ SAME_STATES: "SAME_STATES";
60
+ CANNOT_DEACTIVATE: "CANNOT_DEACTIVATE";
61
+ CANNOT_ACTIVATE: "CANNOT_ACTIVATE";
62
+ TRANSITION_ERR: "TRANSITION_ERR";
63
+ TRANSITION_CANCELLED: "CANCELLED";
64
+ ROUTER_DISPOSED: "DISPOSED";
65
+ PLUGIN_CONFLICT: "PLUGIN_CONFLICT";
66
+ CONTEXT_NAMESPACE_ALREADY_CLAIMED: "CONTEXT_NAMESPACE_ALREADY_CLAIMED";
67
+ REENTRANT_NAVIGATION: "REENTRANT_NAVIGATION";
68
+ REENTRANT_TREE_MUTATION: "REENTRANT_TREE_MUTATION";
69
+ }
70
+ //#endregion
71
+ export { ErrorCodeKeys, ErrorCodeToValueMap, ErrorCodeValues, EventMethodMap, EventName, EventToNameMap, EventToPluginMap, EventsKeys, PluginMethod };
72
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../../../src/types/constants.ts"],"mappings":";;;;KAGY;;;;KAYA;;;;KAYA;;;;KAYA;;;;KAiBA;;;;UAmBK;WACN;WACA;WACA;WACA;WACA;WACA;WACA;;;;;UAMM;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;KAOU,oBACT,KAAK,cAAc,eAAe,KAAK,iBAAiB;;;;UAM1C;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA"}
@@ -0,0 +1,9 @@
1
+ import { LimitsConfig } from "./limits.js";
2
+ //#region src/types/internal.d.ts
3
+ /**
4
+ * Immutable limits configuration type.
5
+ */
6
+ type Limits = Readonly<LimitsConfig>;
7
+ //#endregion
8
+ export { Limits };
9
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","names":[],"sources":["../../../src/types/internal.ts"],"mappings":";;;;;KAwDY,SAAS,SAAS"}
@@ -0,0 +1,45 @@
1
+ //#region src/types/limits.d.ts
2
+ /**
3
+ * Configuration for router resource limits.
4
+ * Controls maximum allowed values for various router operations to prevent resource exhaustion.
5
+ */
6
+ interface LimitsConfig {
7
+ /**
8
+ * Maximum number of route dependencies allowed.
9
+ * Prevents circular dependency chains and excessive dependency graphs.
10
+ *
11
+ * @default 100
12
+ */
13
+ maxDependencies: number;
14
+ /**
15
+ * Maximum number of plugins that can be registered.
16
+ * Limits plugin stack depth to prevent performance degradation.
17
+ *
18
+ * @default 50
19
+ */
20
+ maxPlugins: number;
21
+ /**
22
+ * Maximum number of event listeners per event type.
23
+ * Prevents memory leaks from excessive listener registration.
24
+ *
25
+ * @default 10000
26
+ */
27
+ maxListeners: number;
28
+ /**
29
+ * Listener count at which a memory leak warning is logged per event type.
30
+ * Set to 0 to disable the warning.
31
+ *
32
+ * @default 1000
33
+ */
34
+ warnListeners: number;
35
+ /**
36
+ * Maximum number of lifecycle handlers (canActivate/canDeactivate) per route.
37
+ * Controls guard function stack to prevent excessive validation overhead.
38
+ *
39
+ * @default 200
40
+ */
41
+ maxLifecycleHandlers: number;
42
+ }
43
+ //#endregion
44
+ export { LimitsConfig };
45
+ //# sourceMappingURL=limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.d.ts","names":[],"sources":["../../../src/types/limits.ts"],"mappings":";;;;;UAIiB;;;;;;;EAOf;;;;;;;EAQA;;;;;;;EAQA;;;;;;;EAQA;;;;;;;EAQA"}
@@ -0,0 +1,46 @@
1
+ //#region src/types/route-node-types.d.ts
2
+ /**
3
+ * Route Node Type Definitions — Minimal Public API.
4
+ *
5
+ * This module exports ONLY the essential types used by real-router:
6
+ * - QueryParamsMode, QueryParamsOptions
7
+ * - RouteParams, RouteTreeState
8
+ *
9
+ * These types are copied from route-node to avoid circular dependencies.
10
+ *
11
+ * @module route-node-types
12
+ */
13
+ type ArrayFormat = "none" | "brackets" | "index" | "comma";
14
+ type BooleanFormat = "none" | "auto" | "empty-true";
15
+ type NullFormat = "default" | "hidden";
16
+ type NumberFormat = "none" | "auto";
17
+ /**
18
+ * Options for query parameter parsing and building.
19
+ */
20
+ interface QueryParamsOptions {
21
+ arrayFormat?: ArrayFormat;
22
+ booleanFormat?: BooleanFormat;
23
+ nullFormat?: NullFormat;
24
+ numberFormat?: NumberFormat;
25
+ }
26
+ /**
27
+ * Controls how query parameters are handled during matching.
28
+ */
29
+ type QueryParamsMode = "default" | "strict" | "loose";
30
+ type ParamSource = "url" | "query";
31
+ type ParamTypeMap = Record<string, ParamSource>;
32
+ type RouteTreeStateMeta = Record<string, ParamTypeMap>;
33
+ interface RouteParams {
34
+ [key: string]: string | string[] | number | number[] | boolean | boolean[] | RouteParams | RouteParams[] | Record<string, string | number | boolean> | null | undefined;
35
+ }
36
+ /**
37
+ * Complete state representation of a matched route.
38
+ */
39
+ interface RouteTreeState<P extends Record<string, unknown> = RouteParams> {
40
+ name: string;
41
+ params: P;
42
+ meta: RouteTreeStateMeta;
43
+ }
44
+ //#endregion
45
+ export { QueryParamsMode, QueryParamsOptions, RouteParams, RouteTreeState };
46
+ //# sourceMappingURL=route-node-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-node-types.d.ts","names":[],"sources":["../../../src/types/route-node-types.ts"],"mappings":";;;;;;;;;;;;KAgBK;KACA;KACA;KACA;;;;UAKY;EACf,cAAc;EACd,gBAAgB;EAChB,aAAa;EACb,eAAe;;;;;KAUL;KAMP;KACA,eAAe,eAAe;KAC9B,qBAAqB,eAAe;UAExB;GACd,4EAOG,cACA,gBACA;;;;;UAQW,eACf,UAAU,0BAA0B;EAEpC;EACA,QAAQ;EACR,MAAM"}