vorma 0.85.0-pre.0 → 0.85.0-pre.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/README.md +2 -3
  2. package/npm_dist/.buildts_cache.json +1 -0
  3. package/npm_dist/{kit/_typescript → typescript/kit}/converters/converters.d.ts +4 -4
  4. package/npm_dist/typescript/kit/converters/converters.d.ts.map +1 -0
  5. package/npm_dist/{kit/_typescript → typescript/kit}/converters/converters.js +1 -1
  6. package/npm_dist/typescript/kit/converters/converters.js.map +7 -0
  7. package/npm_dist/typescript/kit/cookies/cookies.d.ts.map +1 -0
  8. package/npm_dist/typescript/kit/cookies/cookies.js +20 -0
  9. package/npm_dist/typescript/kit/cookies/cookies.js.map +7 -0
  10. package/npm_dist/typescript/kit/csrf/csrf.d.ts.map +1 -0
  11. package/npm_dist/{kit/_typescript → typescript/kit}/csrf/csrf.js +1 -1
  12. package/npm_dist/{kit/_typescript → typescript/kit}/csrf/csrf.js.map +1 -1
  13. package/npm_dist/typescript/kit/debounce/debounce.d.ts.map +1 -0
  14. package/npm_dist/{kit/_typescript → typescript/kit}/debounce/debounce.js +7 -3
  15. package/npm_dist/typescript/kit/debounce/debounce.js.map +7 -0
  16. package/npm_dist/typescript/kit/fmt/fmt.d.ts.map +1 -0
  17. package/npm_dist/{kit/_typescript → typescript/kit}/fmt/fmt.js +1 -1
  18. package/npm_dist/{kit/_typescript → typescript/kit}/fmt/fmt.js.map +1 -1
  19. package/npm_dist/typescript/kit/json/deep_equals.d.ts.map +1 -0
  20. package/npm_dist/typescript/kit/json/json.d.ts.map +1 -0
  21. package/npm_dist/{kit/_typescript → typescript/kit}/json/json.js +21 -10
  22. package/npm_dist/typescript/kit/json/json.js.map +7 -0
  23. package/npm_dist/typescript/kit/json/search_param_serializer.d.ts +2 -0
  24. package/npm_dist/typescript/kit/json/search_param_serializer.d.ts.map +1 -0
  25. package/npm_dist/typescript/kit/json/stringify_stable.d.ts.map +1 -0
  26. package/npm_dist/typescript/kit/listeners/listeners.d.ts.map +1 -0
  27. package/npm_dist/{kit/_typescript → typescript/kit}/listeners/listeners.js +2 -2
  28. package/npm_dist/typescript/kit/listeners/listeners.js.map +7 -0
  29. package/npm_dist/{kit/_typescript → typescript/kit}/matcher/find_best_match.d.ts +1 -1
  30. package/npm_dist/typescript/kit/matcher/find_best_match.d.ts.map +1 -0
  31. package/npm_dist/{kit/_typescript → typescript/kit}/matcher/find_best_match.js +30 -22
  32. package/npm_dist/typescript/kit/matcher/find_best_match.js.map +7 -0
  33. package/npm_dist/{kit/_typescript → typescript/kit}/matcher/find_nested_matches.d.ts +1 -1
  34. package/npm_dist/typescript/kit/matcher/find_nested_matches.d.ts.map +1 -0
  35. package/npm_dist/{kit/_typescript → typescript/kit}/matcher/find_nested_matches.js +4 -8
  36. package/npm_dist/typescript/kit/matcher/find_nested_matches.js.map +7 -0
  37. package/npm_dist/typescript/kit/matcher/register.d.ts.map +1 -0
  38. package/npm_dist/{kit/_typescript/chunk-YBAPNBS2.js → typescript/kit/matcher/register.js} +20 -39
  39. package/npm_dist/typescript/kit/matcher/register.js.map +7 -0
  40. package/npm_dist/typescript/kit/matcher/utils.d.ts +3 -0
  41. package/npm_dist/typescript/kit/matcher/utils.d.ts.map +1 -0
  42. package/npm_dist/typescript/kit/matcher/utils.js +32 -0
  43. package/npm_dist/typescript/kit/matcher/utils.js.map +7 -0
  44. package/npm_dist/typescript/kit/theme/theme.d.ts.map +1 -0
  45. package/npm_dist/{kit/_typescript → typescript/kit}/theme/theme.js +27 -17
  46. package/npm_dist/typescript/kit/theme/theme.js.map +7 -0
  47. package/npm_dist/{kit/_typescript → typescript/kit}/url/url.d.ts +19 -0
  48. package/npm_dist/typescript/kit/url/url.d.ts.map +1 -0
  49. package/npm_dist/{kit/_typescript → typescript/kit}/url/url.js +50 -13
  50. package/npm_dist/typescript/kit/url/url.js.map +7 -0
  51. package/npm_dist/typescript/vorma/client/buildtime.d.ts +3 -0
  52. package/npm_dist/typescript/vorma/client/buildtime.d.ts.map +1 -0
  53. package/npm_dist/typescript/vorma/client/buildtime.js +7 -0
  54. package/npm_dist/typescript/vorma/client/buildtime.js.map +7 -0
  55. package/npm_dist/typescript/vorma/client/chunk-6TANZ7A3.js +3927 -0
  56. package/npm_dist/typescript/vorma/client/chunk-6TANZ7A3.js.map +7 -0
  57. package/npm_dist/typescript/vorma/client/index.d.ts +13 -0
  58. package/npm_dist/typescript/vorma/client/index.d.ts.map +1 -0
  59. package/npm_dist/typescript/vorma/client/index.js +49 -0
  60. package/npm_dist/typescript/vorma/client/internal/hmr_dev.d.ts +28 -0
  61. package/npm_dist/typescript/vorma/client/internal/hmr_dev.d.ts.map +1 -0
  62. package/npm_dist/typescript/vorma/client/internal/hmr_dev.js +231 -0
  63. package/npm_dist/typescript/vorma/client/internal/hmr_dev.js.map +7 -0
  64. package/npm_dist/typescript/vorma/client/internal.d.ts +8 -0
  65. package/npm_dist/typescript/vorma/client/internal.d.ts.map +1 -0
  66. package/npm_dist/typescript/vorma/client/internal.js +51 -0
  67. package/npm_dist/typescript/vorma/client/internal.js.map +7 -0
  68. package/npm_dist/typescript/vorma/client/src/runtime.d.ts +643 -0
  69. package/npm_dist/typescript/vorma/client/src/runtime.d.ts.map +1 -0
  70. package/npm_dist/typescript/vorma/client/testing.d.ts +71 -0
  71. package/npm_dist/typescript/vorma/client/testing.d.ts.map +1 -0
  72. package/npm_dist/typescript/vorma/client/testing.js +309 -0
  73. package/npm_dist/typescript/vorma/client/testing.js.map +7 -0
  74. package/npm_dist/typescript/vorma/client/vitest.dist.config.d.ts +3 -0
  75. package/npm_dist/typescript/vorma/client/vitest.dist.config.d.ts.map +1 -0
  76. package/npm_dist/typescript/vorma/create/main.d.ts.map +1 -0
  77. package/npm_dist/typescript/vorma/create/runtime_helpers.d.ts +28 -0
  78. package/npm_dist/typescript/vorma/create/runtime_helpers.d.ts.map +1 -0
  79. package/npm_dist/typescript/vorma/ui-adapters/preact/index.d.ts +2 -0
  80. package/npm_dist/typescript/vorma/ui-adapters/preact/index.d.ts.map +1 -0
  81. package/npm_dist/typescript/vorma/ui-adapters/preact/index.js +203 -0
  82. package/npm_dist/typescript/vorma/ui-adapters/preact/index.js.map +7 -0
  83. package/npm_dist/typescript/vorma/ui-adapters/preact/src/preact.d.ts +337 -0
  84. package/npm_dist/typescript/vorma/ui-adapters/preact/src/preact.d.ts.map +1 -0
  85. package/npm_dist/typescript/vorma/ui-adapters/react/index.d.ts +2 -0
  86. package/npm_dist/typescript/vorma/ui-adapters/react/index.d.ts.map +1 -0
  87. package/npm_dist/typescript/vorma/ui-adapters/react/index.js +242 -0
  88. package/npm_dist/typescript/vorma/ui-adapters/react/index.js.map +7 -0
  89. package/npm_dist/typescript/vorma/ui-adapters/react/src/react.d.ts +25 -0
  90. package/npm_dist/typescript/vorma/ui-adapters/react/src/react.d.ts.map +1 -0
  91. package/npm_dist/typescript/vorma/ui-adapters/solid/index.d.ts +2 -0
  92. package/npm_dist/typescript/vorma/ui-adapters/solid/index.d.ts.map +1 -0
  93. package/npm_dist/typescript/vorma/ui-adapters/solid/index.js +290 -0
  94. package/npm_dist/typescript/vorma/ui-adapters/solid/index.js.map +7 -0
  95. package/npm_dist/typescript/vorma/ui-adapters/solid/src/solid.d.ts +28 -0
  96. package/npm_dist/typescript/vorma/ui-adapters/solid/src/solid.d.ts.map +1 -0
  97. package/npm_dist/{internal/framework/_typescript → typescript/vorma}/vite/vite.d.ts +4 -5
  98. package/npm_dist/typescript/vorma/vite/vite.d.ts.map +1 -0
  99. package/npm_dist/typescript/vorma/vite/vite.js +243 -0
  100. package/npm_dist/typescript/vorma/vite/vite.js.map +7 -0
  101. package/package.json +74 -56
  102. package/{kit/_typescript → typescript/kit}/converters/converters.ts +6 -5
  103. package/{kit/_typescript → typescript/kit}/cookies/cookies.ts +9 -2
  104. package/typescript/kit/csrf/AGENTS.md +2 -0
  105. package/{kit/_typescript → typescript/kit}/debounce/debounce.ts +6 -2
  106. package/{kit/_typescript → typescript/kit}/json/deep_equals.ts +14 -5
  107. package/{kit/_typescript → typescript/kit}/json/search_param_serializer.ts +4 -3
  108. package/{kit/_typescript → typescript/kit}/json/stringify_stable.ts +7 -2
  109. package/{kit/_typescript → typescript/kit}/listeners/listeners.ts +1 -1
  110. package/typescript/kit/matcher/AGENTS.md +2 -0
  111. package/{kit/_typescript → typescript/kit}/matcher/find_best_match.ts +36 -27
  112. package/{kit/_typescript → typescript/kit}/matcher/find_nested_matches.ts +7 -9
  113. package/{kit/_typescript → typescript/kit}/matcher/register.ts +23 -17
  114. package/{kit/_typescript/matcher/parse_segments.ts → typescript/kit/matcher/utils.ts} +6 -2
  115. package/{kit/_typescript → typescript/kit}/theme/theme.ts +41 -16
  116. package/typescript/kit/url/url.ts +205 -0
  117. package/typescript/vorma/black_box_tests/dist/public_api_types.typecheck.ts +1031 -0
  118. package/typescript/vorma/black_box_tests/dist/tsconfig.json +9 -0
  119. package/typescript/vorma/black_box_tests/dist/vitest.config.ts +85 -0
  120. package/typescript/vorma/black_box_tests/src/tsconfig.json +8 -0
  121. package/typescript/vorma/client/README.md +48 -0
  122. package/typescript/vorma/client/buildtime.ts +15 -0
  123. package/typescript/vorma/client/index.ts +66 -0
  124. package/typescript/vorma/client/internal/hmr_dev.ts +353 -0
  125. package/typescript/vorma/client/internal.ts +40 -0
  126. package/typescript/vorma/client/src/import_meta.d.ts +21 -0
  127. package/typescript/vorma/client/src/runtime.ts +5721 -0
  128. package/typescript/vorma/client/testing.ts +487 -0
  129. package/typescript/vorma/client/tsconfig.json +10 -0
  130. package/typescript/vorma/client/vitest.dist.config.ts +85 -0
  131. package/{internal/framework/_typescript → typescript/vorma}/create/main.ts +59 -44
  132. package/{internal/framework/_typescript → typescript/vorma}/create/package.json +6 -3
  133. package/typescript/vorma/create/runtime_helpers.ts +164 -0
  134. package/typescript/vorma/create/tsconfig.json +3 -0
  135. package/typescript/vorma/ui-adapters/README.md +7 -0
  136. package/{internal/framework/_typescript/solid/index.tsx → typescript/vorma/ui-adapters/preact/index.ts} +5 -3
  137. package/typescript/vorma/ui-adapters/preact/src/preact.tsx +319 -0
  138. package/{internal/framework/_typescript/preact/index.tsx → typescript/vorma/ui-adapters/react/index.ts} +5 -3
  139. package/typescript/vorma/ui-adapters/react/src/react.tsx +372 -0
  140. package/{internal/framework/_typescript/react/index.tsx → typescript/vorma/ui-adapters/solid/index.ts} +5 -3
  141. package/typescript/vorma/ui-adapters/solid/src/solid.tsx +446 -0
  142. package/typescript/vorma/vite/tsconfig.json +3 -0
  143. package/typescript/vorma/vite/vite.ts +341 -0
  144. package/internal/framework/_typescript/client/index.ts +0 -64
  145. package/internal/framework/_typescript/client/src/asset_manager.ts +0 -67
  146. package/internal/framework/_typescript/client/src/client.ts +0 -1425
  147. package/internal/framework/_typescript/client/src/client_loaders.ts +0 -249
  148. package/internal/framework/_typescript/client/src/component_loader.ts +0 -105
  149. package/internal/framework/_typescript/client/src/error_boundary.ts +0 -7
  150. package/internal/framework/_typescript/client/src/events.ts +0 -54
  151. package/internal/framework/_typescript/client/src/global_loading_indicator/global_loading_indicator.ts +0 -125
  152. package/internal/framework/_typescript/client/src/hard_reload.ts +0 -1
  153. package/internal/framework/_typescript/client/src/head_elements/head_elements.ts +0 -193
  154. package/internal/framework/_typescript/client/src/history/history.ts +0 -118
  155. package/internal/framework/_typescript/client/src/history/npm_history_types.ts +0 -83
  156. package/internal/framework/_typescript/client/src/hmr/hmr.ts +0 -71
  157. package/internal/framework/_typescript/client/src/init_client.ts +0 -134
  158. package/internal/framework/_typescript/client/src/links.ts +0 -252
  159. package/internal/framework/_typescript/client/src/redirects/redirects.ts +0 -203
  160. package/internal/framework/_typescript/client/src/rendering.ts +0 -135
  161. package/internal/framework/_typescript/client/src/resolve_public_href.ts +0 -15
  162. package/internal/framework/_typescript/client/src/scroll_state_manager.ts +0 -100
  163. package/internal/framework/_typescript/client/src/static_route_defs/route_def_helpers.ts +0 -22
  164. package/internal/framework/_typescript/client/src/ui_lib_impl_helpers/link_components.ts +0 -131
  165. package/internal/framework/_typescript/client/src/ui_lib_impl_helpers/route_components.ts +0 -56
  166. package/internal/framework/_typescript/client/src/ui_lib_impl_helpers/typed_navigate.ts +0 -58
  167. package/internal/framework/_typescript/client/src/utils/errors.ts +0 -10
  168. package/internal/framework/_typescript/client/src/utils/logging.ts +0 -7
  169. package/internal/framework/_typescript/client/src/vorma_app_helpers/vorma_app_helpers.ts +0 -290
  170. package/internal/framework/_typescript/client/src/vorma_ctx/vorma_ctx.ts +0 -128
  171. package/internal/framework/_typescript/client/src/window_focus_revalidation/window_focus_revalidation.ts +0 -32
  172. package/internal/framework/_typescript/client/tsconfig.json +0 -3
  173. package/internal/framework/_typescript/create/pnpm-lock.yaml +0 -70
  174. package/internal/framework/_typescript/create/tsconfig.json +0 -3
  175. package/internal/framework/_typescript/preact/src/helpers.ts +0 -113
  176. package/internal/framework/_typescript/preact/src/link.tsx +0 -107
  177. package/internal/framework/_typescript/preact/src/preact.tsx +0 -191
  178. package/internal/framework/_typescript/react/src/helpers.ts +0 -118
  179. package/internal/framework/_typescript/react/src/link.tsx +0 -115
  180. package/internal/framework/_typescript/react/src/react.tsx +0 -299
  181. package/internal/framework/_typescript/solid/src/helpers.ts +0 -114
  182. package/internal/framework/_typescript/solid/src/link.tsx +0 -104
  183. package/internal/framework/_typescript/solid/src/solid.tsx +0 -204
  184. package/internal/framework/_typescript/vite/tsconfig.json +0 -3
  185. package/internal/framework/_typescript/vite/vite.ts +0 -189
  186. package/kit/_typescript/url/url.ts +0 -132
  187. package/npm_dist/internal/framework/_typescript/client/index.d.ts +0 -17
  188. package/npm_dist/internal/framework/_typescript/client/index.d.ts.map +0 -1
  189. package/npm_dist/internal/framework/_typescript/client/index.js +0 -2671
  190. package/npm_dist/internal/framework/_typescript/client/index.js.map +0 -7
  191. package/npm_dist/internal/framework/_typescript/client/src/asset_manager.d.ts +0 -6
  192. package/npm_dist/internal/framework/_typescript/client/src/asset_manager.d.ts.map +0 -1
  193. package/npm_dist/internal/framework/_typescript/client/src/client.d.ts +0 -128
  194. package/npm_dist/internal/framework/_typescript/client/src/client.d.ts.map +0 -1
  195. package/npm_dist/internal/framework/_typescript/client/src/client_loaders.d.ts +0 -18
  196. package/npm_dist/internal/framework/_typescript/client/src/client_loaders.d.ts.map +0 -1
  197. package/npm_dist/internal/framework/_typescript/client/src/component_loader.d.ts +0 -10
  198. package/npm_dist/internal/framework/_typescript/client/src/component_loader.d.ts.map +0 -1
  199. package/npm_dist/internal/framework/_typescript/client/src/error_boundary.d.ts +0 -3
  200. package/npm_dist/internal/framework/_typescript/client/src/error_boundary.d.ts.map +0 -1
  201. package/npm_dist/internal/framework/_typescript/client/src/events.d.ts +0 -26
  202. package/npm_dist/internal/framework/_typescript/client/src/events.d.ts.map +0 -1
  203. package/npm_dist/internal/framework/_typescript/client/src/global_loading_indicator/global_loading_indicator.d.ts +0 -12
  204. package/npm_dist/internal/framework/_typescript/client/src/global_loading_indicator/global_loading_indicator.d.ts.map +0 -1
  205. package/npm_dist/internal/framework/_typescript/client/src/hard_reload.d.ts +0 -2
  206. package/npm_dist/internal/framework/_typescript/client/src/hard_reload.d.ts.map +0 -1
  207. package/npm_dist/internal/framework/_typescript/client/src/head_elements/head_elements.d.ts +0 -7
  208. package/npm_dist/internal/framework/_typescript/client/src/head_elements/head_elements.d.ts.map +0 -1
  209. package/npm_dist/internal/framework/_typescript/client/src/history/history.d.ts +0 -14
  210. package/npm_dist/internal/framework/_typescript/client/src/history/history.d.ts.map +0 -1
  211. package/npm_dist/internal/framework/_typescript/client/src/history/npm_history_types.d.ts +0 -84
  212. package/npm_dist/internal/framework/_typescript/client/src/history/npm_history_types.d.ts.map +0 -1
  213. package/npm_dist/internal/framework/_typescript/client/src/hmr/hmr.d.ts +0 -3
  214. package/npm_dist/internal/framework/_typescript/client/src/hmr/hmr.d.ts.map +0 -1
  215. package/npm_dist/internal/framework/_typescript/client/src/init_client.d.ts +0 -9
  216. package/npm_dist/internal/framework/_typescript/client/src/init_client.d.ts.map +0 -1
  217. package/npm_dist/internal/framework/_typescript/client/src/links.d.ts +0 -33
  218. package/npm_dist/internal/framework/_typescript/client/src/links.d.ts.map +0 -1
  219. package/npm_dist/internal/framework/_typescript/client/src/redirects/redirects.d.ts +0 -26
  220. package/npm_dist/internal/framework/_typescript/client/src/redirects/redirects.d.ts.map +0 -1
  221. package/npm_dist/internal/framework/_typescript/client/src/rendering.d.ts +0 -18
  222. package/npm_dist/internal/framework/_typescript/client/src/rendering.d.ts.map +0 -1
  223. package/npm_dist/internal/framework/_typescript/client/src/resolve_public_href.d.ts +0 -2
  224. package/npm_dist/internal/framework/_typescript/client/src/resolve_public_href.d.ts.map +0 -1
  225. package/npm_dist/internal/framework/_typescript/client/src/scroll_state_manager.d.ts +0 -22
  226. package/npm_dist/internal/framework/_typescript/client/src/scroll_state_manager.d.ts.map +0 -1
  227. package/npm_dist/internal/framework/_typescript/client/src/static_route_defs/route_def_helpers.d.ts +0 -12
  228. package/npm_dist/internal/framework/_typescript/client/src/static_route_defs/route_def_helpers.d.ts.map +0 -1
  229. package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/link_components.d.ts +0 -28
  230. package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/link_components.d.ts.map +0 -1
  231. package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/route_components.d.ts +0 -18
  232. package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/route_components.d.ts.map +0 -1
  233. package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/typed_navigate.d.ts +0 -11
  234. package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/typed_navigate.d.ts.map +0 -1
  235. package/npm_dist/internal/framework/_typescript/client/src/utils/errors.d.ts +0 -3
  236. package/npm_dist/internal/framework/_typescript/client/src/utils/errors.d.ts.map +0 -1
  237. package/npm_dist/internal/framework/_typescript/client/src/utils/logging.d.ts +0 -3
  238. package/npm_dist/internal/framework/_typescript/client/src/utils/logging.d.ts.map +0 -1
  239. package/npm_dist/internal/framework/_typescript/client/src/vorma_app_helpers/vorma_app_helpers.d.ts +0 -119
  240. package/npm_dist/internal/framework/_typescript/client/src/vorma_app_helpers/vorma_app_helpers.d.ts.map +0 -1
  241. package/npm_dist/internal/framework/_typescript/client/src/vorma_ctx/vorma_ctx.d.ts +0 -88
  242. package/npm_dist/internal/framework/_typescript/client/src/vorma_ctx/vorma_ctx.d.ts.map +0 -1
  243. package/npm_dist/internal/framework/_typescript/client/src/window_focus_revalidation/window_focus_revalidation.d.ts +0 -10
  244. package/npm_dist/internal/framework/_typescript/client/src/window_focus_revalidation/window_focus_revalidation.d.ts.map +0 -1
  245. package/npm_dist/internal/framework/_typescript/create/main.d.ts.map +0 -1
  246. package/npm_dist/internal/framework/_typescript/preact/index.d.ts +0 -4
  247. package/npm_dist/internal/framework/_typescript/preact/index.d.ts.map +0 -1
  248. package/npm_dist/internal/framework/_typescript/preact/index.js +0 -283
  249. package/npm_dist/internal/framework/_typescript/preact/index.js.map +0 -7
  250. package/npm_dist/internal/framework/_typescript/preact/src/helpers.d.ts +0 -21
  251. package/npm_dist/internal/framework/_typescript/preact/src/helpers.d.ts.map +0 -1
  252. package/npm_dist/internal/framework/_typescript/preact/src/link.d.ts +0 -11
  253. package/npm_dist/internal/framework/_typescript/preact/src/link.d.ts.map +0 -1
  254. package/npm_dist/internal/framework/_typescript/preact/src/preact.d.ts +0 -21
  255. package/npm_dist/internal/framework/_typescript/preact/src/preact.d.ts.map +0 -1
  256. package/npm_dist/internal/framework/_typescript/react/index.d.ts +0 -4
  257. package/npm_dist/internal/framework/_typescript/react/index.d.ts.map +0 -1
  258. package/npm_dist/internal/framework/_typescript/react/index.js +0 -370
  259. package/npm_dist/internal/framework/_typescript/react/index.js.map +0 -7
  260. package/npm_dist/internal/framework/_typescript/react/src/helpers.d.ts +0 -21
  261. package/npm_dist/internal/framework/_typescript/react/src/helpers.d.ts.map +0 -1
  262. package/npm_dist/internal/framework/_typescript/react/src/link.d.ts +0 -11
  263. package/npm_dist/internal/framework/_typescript/react/src/link.d.ts.map +0 -1
  264. package/npm_dist/internal/framework/_typescript/react/src/react.d.ts +0 -20
  265. package/npm_dist/internal/framework/_typescript/react/src/react.d.ts.map +0 -1
  266. package/npm_dist/internal/framework/_typescript/solid/index.d.ts +0 -4
  267. package/npm_dist/internal/framework/_typescript/solid/index.d.ts.map +0 -1
  268. package/npm_dist/internal/framework/_typescript/solid/index.js +0 -314
  269. package/npm_dist/internal/framework/_typescript/solid/index.js.map +0 -7
  270. package/npm_dist/internal/framework/_typescript/solid/src/helpers.d.ts +0 -22
  271. package/npm_dist/internal/framework/_typescript/solid/src/helpers.d.ts.map +0 -1
  272. package/npm_dist/internal/framework/_typescript/solid/src/link.d.ts +0 -11
  273. package/npm_dist/internal/framework/_typescript/solid/src/link.d.ts.map +0 -1
  274. package/npm_dist/internal/framework/_typescript/solid/src/solid.d.ts +0 -22
  275. package/npm_dist/internal/framework/_typescript/solid/src/solid.d.ts.map +0 -1
  276. package/npm_dist/internal/framework/_typescript/vite/vite.d.ts.map +0 -1
  277. package/npm_dist/internal/framework/_typescript/vite/vite.js +0 -140
  278. package/npm_dist/internal/framework/_typescript/vite/vite.js.map +0 -7
  279. package/npm_dist/kit/_typescript/chunk-YBAPNBS2.js.map +0 -7
  280. package/npm_dist/kit/_typescript/converters/converters.d.ts.map +0 -1
  281. package/npm_dist/kit/_typescript/converters/converters.js.map +0 -7
  282. package/npm_dist/kit/_typescript/cookies/cookies.d.ts.map +0 -1
  283. package/npm_dist/kit/_typescript/cookies/cookies.js +0 -13
  284. package/npm_dist/kit/_typescript/cookies/cookies.js.map +0 -7
  285. package/npm_dist/kit/_typescript/csrf/csrf.d.ts.map +0 -1
  286. package/npm_dist/kit/_typescript/debounce/debounce.d.ts.map +0 -1
  287. package/npm_dist/kit/_typescript/debounce/debounce.js.map +0 -7
  288. package/npm_dist/kit/_typescript/fmt/fmt.d.ts.map +0 -1
  289. package/npm_dist/kit/_typescript/json/deep_equals.d.ts.map +0 -1
  290. package/npm_dist/kit/_typescript/json/json.d.ts.map +0 -1
  291. package/npm_dist/kit/_typescript/json/json.js.map +0 -7
  292. package/npm_dist/kit/_typescript/json/search_param_serializer.d.ts +0 -2
  293. package/npm_dist/kit/_typescript/json/search_param_serializer.d.ts.map +0 -1
  294. package/npm_dist/kit/_typescript/json/stringify_stable.d.ts.map +0 -1
  295. package/npm_dist/kit/_typescript/listeners/listeners.d.ts.map +0 -1
  296. package/npm_dist/kit/_typescript/listeners/listeners.js.map +0 -7
  297. package/npm_dist/kit/_typescript/matcher/find_best_match.d.ts.map +0 -1
  298. package/npm_dist/kit/_typescript/matcher/find_best_match.js.map +0 -7
  299. package/npm_dist/kit/_typescript/matcher/find_nested_matches.d.ts.map +0 -1
  300. package/npm_dist/kit/_typescript/matcher/find_nested_matches.js.map +0 -7
  301. package/npm_dist/kit/_typescript/matcher/parse_segments.d.ts +0 -2
  302. package/npm_dist/kit/_typescript/matcher/parse_segments.d.ts.map +0 -1
  303. package/npm_dist/kit/_typescript/matcher/register.d.ts.map +0 -1
  304. package/npm_dist/kit/_typescript/matcher/register.js +0 -21
  305. package/npm_dist/kit/_typescript/theme/theme.d.ts.map +0 -1
  306. package/npm_dist/kit/_typescript/theme/theme.js.map +0 -7
  307. package/npm_dist/kit/_typescript/url/url.d.ts.map +0 -1
  308. package/npm_dist/kit/_typescript/url/url.js.map +0 -7
  309. /package/npm_dist/{kit/_typescript → typescript/kit}/cookies/cookies.d.ts +0 -0
  310. /package/npm_dist/{kit/_typescript → typescript/kit}/csrf/csrf.d.ts +0 -0
  311. /package/npm_dist/{kit/_typescript → typescript/kit}/debounce/debounce.d.ts +0 -0
  312. /package/npm_dist/{kit/_typescript → typescript/kit}/fmt/fmt.d.ts +0 -0
  313. /package/npm_dist/{kit/_typescript → typescript/kit}/json/deep_equals.d.ts +0 -0
  314. /package/npm_dist/{kit/_typescript → typescript/kit}/json/json.d.ts +0 -0
  315. /package/npm_dist/{kit/_typescript → typescript/kit}/json/stringify_stable.d.ts +0 -0
  316. /package/npm_dist/{kit/_typescript → typescript/kit}/listeners/listeners.d.ts +0 -0
  317. /package/npm_dist/{kit/_typescript → typescript/kit}/matcher/register.d.ts +0 -0
  318. /package/npm_dist/{kit/_typescript → typescript/kit}/theme/theme.d.ts +0 -0
  319. /package/npm_dist/{kit/_typescript/matcher/register.js.map → typescript/vorma/client/index.js.map} +0 -0
  320. /package/npm_dist/{internal/framework/_typescript → typescript/vorma}/create/main.d.ts +0 -0
  321. /package/{kit/_typescript → typescript/kit}/csrf/csrf.ts +0 -0
  322. /package/{kit/_typescript → typescript/kit}/fmt/fmt.ts +0 -0
  323. /package/{kit/_typescript → typescript/kit}/json/json.ts +0 -0
  324. /package/{kit/_typescript → typescript/kit}/tsconfig.json +0 -0
  325. /package/{internal/framework/_typescript → typescript/vorma/ui-adapters}/preact/tsconfig.json +0 -0
  326. /package/{internal/framework/_typescript → typescript/vorma/ui-adapters}/react/tsconfig.json +0 -0
  327. /package/{internal/framework/_typescript → typescript/vorma/ui-adapters}/solid/tsconfig.json +0 -0
package/README.md CHANGED
@@ -4,14 +4,13 @@
4
4
 
5
5
  ---
6
6
 
7
- The Next.js of Golang, powered by Vite.
7
+ The Golang metaframework, powered by Vite.
8
8
 
9
9
  ## Links
10
10
 
11
11
  [vorma.dev](https://vorma.dev) | [github.com](https://github.com/vormadev/vorma)
12
12
  | [pkg.go.dev](https://pkg.go.dev/github.com/vormadev/vorma) |
13
- [npmjs.com](https://www.npmjs.com/package/vorma) |
14
- [x.com](https://x.com/vormadev)
13
+ [npmx.dev](https://npmx.dev/package/vorma) | [x.com](https://x.com/vormadev)
15
14
 
16
15
  ## Quick Start
17
16
 
@@ -0,0 +1 @@
1
+ {"version":2,"input_hash":"2320072537c0a83ee830136e2fc3a50e5051de550b168e48095834c75c228cba","output_hash":"561a71cc2877b9f58c352c39c08372ea11615cada04dc772e797f64f1f2dc4d3"}
@@ -6,19 +6,19 @@ export type Base64URL = string;
6
6
  export declare function bytesToUTF8(bytes: Uint8Array): UTF8;
7
7
  export declare function bytesToHex(bytes: Uint8Array): Hex;
8
8
  export declare function bytesToBase64(bytes: Uint8Array): Base64;
9
- export declare function bytesToBase64URL(bytes: Uint8Array): Base64;
9
+ export declare function bytesToBase64URL(bytes: Uint8Array): Base64URL;
10
10
  export declare function utf8ToBytes(utf8: UTF8): Uint8Array;
11
11
  export declare function utf8ToHex(utf8: UTF8): Hex;
12
12
  export declare function utf8ToBase64(utf8: UTF8): Base64;
13
- export declare function utf8ToBase64URL(utf8: UTF8): Base64;
13
+ export declare function utf8ToBase64URL(utf8: UTF8): Base64URL;
14
14
  export declare function hexToBytes(hex: Hex): Uint8Array;
15
15
  export declare function hexToUTF8(hex: Hex): UTF8;
16
16
  export declare function hexToBase64(hex: Hex): Base64;
17
- export declare function hexToBase64URL(hex: Hex): Base64;
17
+ export declare function hexToBase64URL(hex: Hex): Base64URL;
18
18
  export declare function base64ToBytes(base64: Base64): Uint8Array;
19
19
  export declare function base64ToUTF8(base64: Base64): UTF8;
20
20
  export declare function base64ToHex(base64: Base64): Hex;
21
- export declare function base64ToBase64URL(base64: Base64): Base64;
21
+ export declare function base64ToBase64URL(base64: Base64): Base64URL;
22
22
  export declare function base64URLToBytes(base64URL: Base64URL): Uint8Array;
23
23
  export declare function base64URLToUTF8(base64URL: Base64URL): UTF8;
24
24
  export declare function base64URLToHex(base64URL: Base64URL): Hex;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/converters/converters.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAC/B,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAO/B,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAEnD;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAEjD;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAGvD;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAG7D;AAOD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAElD;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAGzC;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAG/C;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAGrD;AAOD,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAM/C;AAGD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAGxC;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAG5C;AAGD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAGlD;AAOD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAExD;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGjD;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAG/C;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAM3D;AAOD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAGjE;AAGD,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAG1D;AAGD,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAGxD;AAGD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAK9D"}
@@ -1,4 +1,4 @@
1
- // kit/_typescript/converters/converters.ts
1
+ // typescript/kit/converters/converters.ts
2
2
  function bytesToUTF8(bytes) {
3
3
  return new TextDecoder().decode(bytes);
4
4
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../typescript/kit/converters/converters.ts"],
4
+ "sourcesContent": ["/////////////////////////////////////////////////////////////////////\n/////// TYPE ALIASES\n/////////////////////////////////////////////////////////////////////\n\nexport type Bytes = Uint8Array;\nexport type UTF8 = string;\nexport type Hex = string;\nexport type Base64 = string;\nexport type Base64URL = string;\n\n/////////////////////////////////////////////////////////////////////\n/////// BYTES --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> UTF8\nexport function bytesToUTF8(bytes: Uint8Array): UTF8 {\n\treturn new TextDecoder().decode(bytes);\n}\n\n// --> HEX\nexport function bytesToHex(bytes: Uint8Array): Hex {\n\treturn Array.from(bytes, (x) => x.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\n// --> BASE64\nexport function bytesToBase64(bytes: Uint8Array): Base64 {\n\tconst callback = (x: number) => String.fromCodePoint(x);\n\treturn btoa(Array.from(bytes, callback).join(\"\"));\n}\n\n// --> BASE64URL\nexport function bytesToBase64URL(bytes: Uint8Array): Base64URL {\n\tconst base64 = bytesToBase64(bytes);\n\treturn base64ToBase64URL(base64);\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// UTF8 --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> BYTES\nexport function utf8ToBytes(utf8: UTF8): Uint8Array {\n\treturn new TextEncoder().encode(utf8);\n}\n\n// --> HEX\nexport function utf8ToHex(utf8: UTF8): Hex {\n\tconst bytes = utf8ToBytes(utf8);\n\treturn bytesToHex(bytes);\n}\n\n// --> BASE64\nexport function utf8ToBase64(utf8: UTF8): Base64 {\n\tconst bytes = utf8ToBytes(utf8);\n\treturn bytesToBase64(bytes);\n}\n\n// --> BASE64URL\nexport function utf8ToBase64URL(utf8: UTF8): Base64URL {\n\tconst bytes = utf8ToBytes(utf8);\n\treturn bytesToBase64URL(bytes);\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// HEX --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> BYTES\nexport function hexToBytes(hex: Hex): Uint8Array {\n\tconst cleanHex = hex.startsWith(\"0x\") ? hex.slice(2) : hex;\n\tconst bytes =\n\t\tcleanHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) ||\n\t\t[];\n\treturn new Uint8Array(bytes);\n}\n\n// --> UTF8\nexport function hexToUTF8(hex: Hex): UTF8 {\n\tconst bytes = hexToBytes(hex);\n\treturn bytesToUTF8(bytes);\n}\n\n// --> BASE64\nexport function hexToBase64(hex: Hex): Base64 {\n\tconst bytes = hexToBytes(hex);\n\treturn bytesToBase64(bytes);\n}\n\n// --> BASE64URL\nexport function hexToBase64URL(hex: Hex): Base64URL {\n\tconst bytes = hexToBytes(hex);\n\treturn bytesToBase64URL(bytes);\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// BASE64 --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> BYTES\nexport function base64ToBytes(base64: Base64): Uint8Array {\n\treturn Uint8Array.from(atob(base64), (m) => m.codePointAt(0) || 0);\n}\n\n// --> UTF8\nexport function base64ToUTF8(base64: Base64): UTF8 {\n\tconst bytes = base64ToBytes(base64);\n\treturn bytesToUTF8(bytes);\n}\n\n// --> HEX\nexport function base64ToHex(base64: Base64): Hex {\n\tconst bytes = base64ToBytes(base64);\n\treturn bytesToHex(bytes);\n}\n\n// --> BASE64URL\nexport function base64ToBase64URL(base64: Base64): Base64URL {\n\treturn base64\n\t\t.replace(/[\\r\\n\\t ]+/g, \"\")\n\t\t.replace(/\\+/g, \"-\")\n\t\t.replace(/\\//g, \"_\")\n\t\t.replace(/=+$/, \"\");\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// BASE64URL --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> BYTES\nexport function base64URLToBytes(base64URL: Base64URL): Uint8Array {\n\tconst base64 = base64URLToBase64(base64URL);\n\treturn base64ToBytes(base64);\n}\n\n// --> UTF8\nexport function base64URLToUTF8(base64URL: Base64URL): UTF8 {\n\tconst bytes = base64URLToBytes(base64URL);\n\treturn bytesToUTF8(bytes);\n}\n\n// --> HEX\nexport function base64URLToHex(base64URL: Base64URL): Hex {\n\tconst bytes = base64URLToBytes(base64URL);\n\treturn bytesToHex(bytes);\n}\n\n// --> BASE64\nexport function base64URLToBase64(base64URL: Base64URL): Base64 {\n\treturn base64URL\n\t\t.padEnd(base64URL.length + ((4 - (base64URL.length % 4)) % 4), \"=\")\n\t\t.replace(/-/g, \"+\")\n\t\t.replace(/_/g, \"/\");\n}\n"],
5
+ "mappings": ";AAeO,SAAS,YAAY,OAAyB;AACpD,SAAO,IAAI,YAAY,EAAE,OAAO,KAAK;AACtC;AAGO,SAAS,WAAW,OAAwB;AAClD,SAAO,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AACzE;AAGO,SAAS,cAAc,OAA2B;AACxD,QAAM,WAAW,CAAC,MAAc,OAAO,cAAc,CAAC;AACtD,SAAO,KAAK,MAAM,KAAK,OAAO,QAAQ,EAAE,KAAK,EAAE,CAAC;AACjD;AAGO,SAAS,iBAAiB,OAA8B;AAC9D,QAAM,SAAS,cAAc,KAAK;AAClC,SAAO,kBAAkB,MAAM;AAChC;AAOO,SAAS,YAAY,MAAwB;AACnD,SAAO,IAAI,YAAY,EAAE,OAAO,IAAI;AACrC;AAGO,SAAS,UAAU,MAAiB;AAC1C,QAAM,QAAQ,YAAY,IAAI;AAC9B,SAAO,WAAW,KAAK;AACxB;AAGO,SAAS,aAAa,MAAoB;AAChD,QAAM,QAAQ,YAAY,IAAI;AAC9B,SAAO,cAAc,KAAK;AAC3B;AAGO,SAAS,gBAAgB,MAAuB;AACtD,QAAM,QAAQ,YAAY,IAAI;AAC9B,SAAO,iBAAiB,KAAK;AAC9B;AAOO,SAAS,WAAW,KAAsB;AAChD,QAAM,WAAW,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI;AACvD,QAAM,QACL,SAAS,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,OAAO,SAAS,MAAM,EAAE,CAAC,KAClE,CAAC;AACF,SAAO,IAAI,WAAW,KAAK;AAC5B;AAGO,SAAS,UAAU,KAAgB;AACzC,QAAM,QAAQ,WAAW,GAAG;AAC5B,SAAO,YAAY,KAAK;AACzB;AAGO,SAAS,YAAY,KAAkB;AAC7C,QAAM,QAAQ,WAAW,GAAG;AAC5B,SAAO,cAAc,KAAK;AAC3B;AAGO,SAAS,eAAe,KAAqB;AACnD,QAAM,QAAQ,WAAW,GAAG;AAC5B,SAAO,iBAAiB,KAAK;AAC9B;AAOO,SAAS,cAAc,QAA4B;AACzD,SAAO,WAAW,KAAK,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC;AAClE;AAGO,SAAS,aAAa,QAAsB;AAClD,QAAM,QAAQ,cAAc,MAAM;AAClC,SAAO,YAAY,KAAK;AACzB;AAGO,SAAS,YAAY,QAAqB;AAChD,QAAM,QAAQ,cAAc,MAAM;AAClC,SAAO,WAAW,KAAK;AACxB;AAGO,SAAS,kBAAkB,QAA2B;AAC5D,SAAO,OACL,QAAQ,eAAe,EAAE,EACzB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,EAAE;AACpB;AAOO,SAAS,iBAAiB,WAAkC;AAClE,QAAM,SAAS,kBAAkB,SAAS;AAC1C,SAAO,cAAc,MAAM;AAC5B;AAGO,SAAS,gBAAgB,WAA4B;AAC3D,QAAM,QAAQ,iBAAiB,SAAS;AACxC,SAAO,YAAY,KAAK;AACzB;AAGO,SAAS,eAAe,WAA2B;AACzD,QAAM,QAAQ,iBAAiB,SAAS;AACxC,SAAO,WAAW,KAAK;AACxB;AAGO,SAAS,kBAAkB,WAA8B;AAC/D,SAAO,UACL,OAAO,UAAU,UAAW,IAAK,UAAU,SAAS,KAAM,GAAI,GAAG,EACjE,QAAQ,MAAM,GAAG,EACjB,QAAQ,MAAM,GAAG;AACpB;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/cookies/cookies.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,sBAU3C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAE1D"}
@@ -0,0 +1,20 @@
1
+ // typescript/kit/cookies/cookies.ts
2
+ function getClientCookie(name) {
3
+ const expectedPrefix = `${name}=`;
4
+ const cookiePairs = document.cookie.split(";");
5
+ for (const cookiePair of cookiePairs) {
6
+ const trimmedPair = cookiePair.trim();
7
+ if (trimmedPair.startsWith(expectedPrefix)) {
8
+ return trimmedPair.slice(expectedPrefix.length);
9
+ }
10
+ }
11
+ return void 0;
12
+ }
13
+ function setClientCookie(name, value) {
14
+ document.cookie = `${name}=${value}; path=/; max-age=31536000; SameSite=Lax`;
15
+ }
16
+ export {
17
+ getClientCookie,
18
+ setClientCookie
19
+ };
20
+ //# sourceMappingURL=cookies.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../typescript/kit/cookies/cookies.ts"],
4
+ "sourcesContent": ["/**\n * Checks the client cookie for a specific name. Returns the value if\n * found, otherwise undefined. Does not do any encoding or decoding.\n */\nexport function getClientCookie(name: string) {\n\tconst expectedPrefix = `${name}=`;\n\tconst cookiePairs = document.cookie.split(\";\");\n\tfor (const cookiePair of cookiePairs) {\n\t\tconst trimmedPair = cookiePair.trim();\n\t\tif (trimmedPair.startsWith(expectedPrefix)) {\n\t\t\treturn trimmedPair.slice(expectedPrefix.length);\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Sets a client cookie with the specified name and value. The cookie\n * is set to expire in one year and is accessible to all paths on the\n * domain. The SameSite attribute is set to Lax. Does not do any\n * encoding or decoding.\n */\nexport function setClientCookie(name: string, value: string) {\n\tdocument.cookie = `${name}=${value}; path=/; max-age=31536000; SameSite=Lax`;\n}\n"],
5
+ "mappings": ";AAIO,SAAS,gBAAgB,MAAc;AAC7C,QAAM,iBAAiB,GAAG,IAAI;AAC9B,QAAM,cAAc,SAAS,OAAO,MAAM,GAAG;AAC7C,aAAW,cAAc,aAAa;AACrC,UAAM,cAAc,WAAW,KAAK;AACpC,QAAI,YAAY,WAAW,cAAc,GAAG;AAC3C,aAAO,YAAY,MAAM,eAAe,MAAM;AAAA,IAC/C;AAAA,EACD;AACA,SAAO;AACR;AAQO,SAAS,gBAAgB,MAAc,OAAe;AAC5D,WAAS,SAAS,GAAG,IAAI,IAAI,KAAK;AACnC;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csrf.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/csrf/csrf.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,GAAG,SAAS,CAIrB"}
@@ -1,4 +1,4 @@
1
- // kit/_typescript/csrf/csrf.ts
1
+ // typescript/kit/csrf/csrf.ts
2
2
  import { getClientCookie } from "vorma/kit/cookies";
3
3
  function getCSRFToken(opts) {
4
4
  const prefix = opts.isDev ? "__Dev-" : "__Host-";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../kit/_typescript/csrf/csrf.ts"],
3
+ "sources": ["../../../../typescript/kit/csrf/csrf.ts"],
4
4
  "sourcesContent": ["import { getClientCookie } from \"vorma/kit/cookies\";\n\nexport function getCSRFToken(opts: {\n\tisDev: boolean;\n\tcookieName?: string;\n}): string | undefined {\n\tconst prefix = opts.isDev ? \"__Dev-\" : \"__Host-\";\n\tconst name = opts.cookieName || \"csrf_token\";\n\treturn getClientCookie(prefix + name);\n}\n"],
5
5
  "mappings": ";AAAA,SAAS,uBAAuB;AAEzB,SAAS,aAAa,MAGN;AACtB,QAAM,SAAS,KAAK,QAAQ,WAAW;AACvC,QAAM,OAAO,KAAK,cAAc;AAChC,SAAO,gBAAgB,SAAS,IAAI;AACrC;",
6
6
  "names": []
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/debounce/debounce.ts"],"names":[],"mappings":"AAAA,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,CAAC,SAAS,EAAE,EACpC,EAAE,EAAE,CAAC,EACL,SAAS,EAAE,MAAM,GACf,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAe7D"}
@@ -1,11 +1,15 @@
1
- // kit/_typescript/debounce/debounce.ts
1
+ // typescript/kit/debounce/debounce.ts
2
2
  function debounce(fn, delayInMs) {
3
3
  let timeoutID;
4
4
  return (...args) => {
5
- return new Promise((resolve) => {
5
+ return new Promise((resolve, reject) => {
6
6
  clearTimeout(timeoutID);
7
7
  timeoutID = window.setTimeout(() => {
8
- resolve(fn(...args));
8
+ try {
9
+ resolve(fn(...args));
10
+ } catch (error) {
11
+ reject(error);
12
+ }
9
13
  }, delayInMs);
10
14
  });
11
15
  };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../typescript/kit/debounce/debounce.ts"],
4
+ "sourcesContent": ["type Fn = (...args: Array<any>) => any;\n\nexport function debounce<T extends Fn>(\n\tfn: T,\n\tdelayInMs: number,\n): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>> {\n\tlet timeoutID: number;\n\n\treturn (...args: Parameters<T>) => {\n\t\treturn new Promise<Awaited<ReturnType<T>>>((resolve, reject) => {\n\t\t\tclearTimeout(timeoutID);\n\t\t\ttimeoutID = window.setTimeout(() => {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fn(...args));\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t}, delayInMs);\n\t\t});\n\t};\n}\n"],
5
+ "mappings": ";AAEO,SAAS,SACf,IACA,WAC8D;AAC9D,MAAI;AAEJ,SAAO,IAAI,SAAwB;AAClC,WAAO,IAAI,QAAgC,CAAC,SAAS,WAAW;AAC/D,mBAAa,SAAS;AACtB,kBAAY,OAAO,WAAW,MAAM;AACnC,YAAI;AACH,kBAAQ,GAAG,GAAG,IAAI,CAAC;AAAA,QACpB,SAAS,OAAO;AACf,iBAAO,KAAK;AAAA,QACb;AAAA,MACD,GAAG,SAAS;AAAA,IACb,CAAC;AAAA,EACF;AACD;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fmt.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/fmt/fmt.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE3C"}
@@ -1,4 +1,4 @@
1
- // kit/_typescript/fmt/fmt.ts
1
+ // typescript/kit/fmt/fmt.ts
2
2
  function prettyJSON(obj) {
3
3
  return JSON.stringify(obj, null, 2);
4
4
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../kit/_typescript/fmt/fmt.ts"],
3
+ "sources": ["../../../../typescript/kit/fmt/fmt.ts"],
4
4
  "sourcesContent": ["export function prettyJSON(obj: any): string {\n\treturn JSON.stringify(obj, null, 2);\n}\n"],
5
5
  "mappings": ";AAAO,SAAS,WAAW,KAAkB;AAC5C,SAAO,KAAK,UAAU,KAAK,MAAM,CAAC;AACnC;",
6
6
  "names": []
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep_equals.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/json/deep_equals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAyD9D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/json/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,4 +1,4 @@
1
- // kit/_typescript/json/deep_equals.ts
1
+ // typescript/kit/json/deep_equals.ts
2
2
  function jsonDeepEquals(a, b) {
3
3
  if (a === b) {
4
4
  return true;
@@ -15,25 +15,31 @@ function jsonDeepEquals(a, b) {
15
15
  return false;
16
16
  }
17
17
  if (aIsArray && bIsArray) {
18
- if (a.length !== b.length) {
18
+ const leftArray = a;
19
+ const rightArray = b;
20
+ if (leftArray.length !== rightArray.length) {
19
21
  return false;
20
22
  }
21
- return a.every((item, index) => jsonDeepEquals(item, b[index]));
23
+ return leftArray.every(
24
+ (item, index) => jsonDeepEquals(item, rightArray[index])
25
+ );
22
26
  }
23
27
  if (typeof a === "object" && typeof b === "object") {
24
- const aKeys = Object.keys(a);
25
- const bKeys = Object.keys(b);
28
+ const leftObject = a;
29
+ const rightObject = b;
30
+ const aKeys = Object.keys(leftObject);
31
+ const bKeys = Object.keys(rightObject);
26
32
  if (aKeys.length !== bKeys.length) {
27
33
  return false;
28
34
  }
29
35
  return aKeys.every((key) => {
30
- return Object.hasOwn(b, key) && jsonDeepEquals(a[key], b[key]);
36
+ return Object.hasOwn(rightObject, key) && jsonDeepEquals(leftObject[key], rightObject[key]);
31
37
  });
32
38
  }
33
39
  return false;
34
40
  }
35
41
 
36
- // kit/_typescript/json/search_param_serializer.ts
42
+ // typescript/kit/json/search_param_serializer.ts
37
43
  function serializeToSearchParams(obj) {
38
44
  const params = new URLSearchParams();
39
45
  function appendValue(key, value) {
@@ -76,7 +82,7 @@ function serializeToSearchParams(obj) {
76
82
  return params;
77
83
  }
78
84
 
79
- // kit/_typescript/json/stringify_stable.ts
85
+ // typescript/kit/json/stringify_stable.ts
80
86
  function jsonStringifyStable(input) {
81
87
  const stabilized = stabilizeStructure(input, /* @__PURE__ */ new WeakSet());
82
88
  return JSON.stringify(stabilized);
@@ -86,7 +92,9 @@ function stabilizeStructure(value, visited) {
86
92
  return value;
87
93
  }
88
94
  if (visited.has(value)) {
89
- throw new Error("Circular reference detected during stable JSON stringification");
95
+ throw new Error(
96
+ "Circular reference detected during stable JSON stringification"
97
+ );
90
98
  }
91
99
  visited.add(value);
92
100
  if (Array.isArray(value)) {
@@ -97,7 +105,10 @@ function stabilizeStructure(value, visited) {
97
105
  const keys = Object.keys(value).sort();
98
106
  const stable = {};
99
107
  for (const key of keys) {
100
- stable[key] = stabilizeStructure(value[key], visited);
108
+ stable[key] = stabilizeStructure(
109
+ value[key],
110
+ visited
111
+ );
101
112
  }
102
113
  visited.delete(value);
103
114
  return stable;
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../typescript/kit/json/deep_equals.ts", "../../../../typescript/kit/json/search_param_serializer.ts", "../../../../typescript/kit/json/stringify_stable.ts"],
4
+ "sourcesContent": ["/**\n * Performs a deep equality comparison of two JSON-compatible values.\n * Handles null, undefined, primitives, arrays, and plain objects, recursively.\n * Does not support Maps, Sets, Functions, or other non-JSON types.\n */\nexport function jsonDeepEquals(a: unknown, b: unknown): boolean {\n\t// Tautology\n\tif (a === b) {\n\t\treturn true;\n\t}\n\n\t// If both were null or both were undefined, we would have early returned above.\n\t// So if either at this point is loosely null, we know they're not equal.\n\tif (a == null || b == null) {\n\t\treturn false;\n\t}\n\n\t// If types are different, we know they're not equal.\n\tif (typeof a !== typeof b) {\n\t\treturn false;\n\t}\n\n\tconst aIsArray = Array.isArray(a);\n\tconst bIsArray = Array.isArray(b);\n\n\t// If one is an array and the other is not, we know they're not equal.\n\tif (aIsArray !== bIsArray) {\n\t\treturn false;\n\t}\n\n\t// Handle arrays\n\tif (aIsArray && bIsArray) {\n\t\tconst leftArray = a as unknown[];\n\t\tconst rightArray = b as unknown[];\n\t\tif (leftArray.length !== rightArray.length) {\n\t\t\treturn false;\n\t\t}\n\t\treturn leftArray.every((item, index) =>\n\t\t\tjsonDeepEquals(item, rightArray[index]),\n\t\t);\n\t}\n\n\t// Handle objects\n\tif (typeof a === \"object\" && typeof b === \"object\") {\n\t\tconst leftObject = a as Record<string, unknown>;\n\t\tconst rightObject = b as Record<string, unknown>;\n\t\tconst aKeys = Object.keys(leftObject);\n\t\tconst bKeys = Object.keys(rightObject);\n\n\t\tif (aKeys.length !== bKeys.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn aKeys.every((key) => {\n\t\t\treturn (\n\t\t\t\tObject.hasOwn(rightObject, key) &&\n\t\t\t\tjsonDeepEquals(leftObject[key], rightObject[key])\n\t\t\t);\n\t\t});\n\t}\n\n\treturn false;\n}\n", "export function serializeToSearchParams(obj: unknown): URLSearchParams {\n\tconst params = new URLSearchParams();\n\n\tfunction appendValue(key: string, value: unknown) {\n\t\tif (value === null || value === undefined) {\n\t\t\tparams.append(key, \"\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0) {\n\t\t\t\tparams.append(key, \"\");\n\t\t\t} else {\n\t\t\t\tfor (const item of value) {\n\t\t\t\t\tappendValue(key, item);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof value === \"object\") {\n\t\t\tconst entries = Object.entries(value as Record<string, unknown>);\n\t\t\tif (entries.length === 0) {\n\t\t\t\tparams.append(key, \"\");\n\t\t\t} else {\n\t\t\t\t// Sort nested keys alphabetically\n\t\t\t\tentries.sort(([keyA], [keyB]) => keyA.localeCompare(keyB));\n\t\t\t\tfor (const [subKey, subValue] of entries) {\n\t\t\t\t\tconst newKey = key ? `${key}.${subKey}` : subKey;\n\t\t\t\t\tappendValue(newKey, subValue);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// oxlint-disable-next-line no-base-to-string\n\t\tparams.append(key, String(value));\n\t}\n\n\tif (typeof obj === \"object\" && obj !== null) {\n\t\t// Sort top-level keys alphabetically\n\t\tconst entries = Object.entries(obj);\n\t\tentries.sort(([keyA], [keyB]) => keyA.localeCompare(keyB));\n\t\tfor (const [key, value] of entries) {\n\t\t\tappendValue(key, value);\n\t\t}\n\t}\n\n\treturn params;\n}\n", "/**\n * Deterministically serializes a JSON-compatible value to a stable string.\n * Throws if it detects a circular reference. Does not support Maps, Sets,\n * Functions, or other non-JSON types.\n */\nexport function jsonStringifyStable(input: unknown): string {\n\t// First stabilize the structure, then JSON.stringify\n\tconst stabilized = stabilizeStructure(input, new WeakSet());\n\n\treturn JSON.stringify(stabilized);\n}\n\nfunction stabilizeStructure(value: unknown, visited: WeakSet<object>): unknown {\n\t// Handle primitives and null\n\tif (value === null || typeof value !== \"object\") {\n\t\treturn value;\n\t}\n\n\t// Prevent circular references\n\tif (visited.has(value)) {\n\t\tthrow new Error(\n\t\t\t\"Circular reference detected during stable JSON stringification\",\n\t\t);\n\t}\n\tvisited.add(value);\n\n\t// Handle arrays - recursively stabilize each element\n\tif (Array.isArray(value)) {\n\t\tconst result = value.map((item) => stabilizeStructure(item, visited));\n\t\tvisited.delete(value); // Clean up after processing\n\t\treturn result;\n\t}\n\n\t// Handle objects - sort keys and recursively stabilize values\n\tconst keys = Object.keys(value).sort();\n\tconst stable: Record<string, unknown> = {};\n\n\t// Add sorted keys with stabilized values\n\tfor (const key of keys) {\n\t\tstable[key] = stabilizeStructure(\n\t\t\t(value as Record<string, unknown>)[key],\n\t\t\tvisited,\n\t\t);\n\t}\n\n\tvisited.delete(value); // Clean up after processing\n\treturn stable;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export declare function serializeToSearchParams(obj: unknown): URLSearchParams;
2
+ //# sourceMappingURL=search_param_serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search_param_serializer.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/json/search_param_serializer.ts"],"names":[],"mappings":"AAAA,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAiDrE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify_stable.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/json/stringify_stable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAK1D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listeners.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/listeners/listeners.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAazE"}
@@ -1,10 +1,10 @@
1
- // kit/_typescript/listeners/listeners.ts
1
+ // typescript/kit/listeners/listeners.ts
2
2
  import { debounce } from "vorma/kit/debounce";
3
3
  function addOnWindowFocusListener(callback) {
4
4
  const debouncedCallback = debounce(callback, 30);
5
5
  const ifVisibleCallback = () => {
6
6
  if (document.visibilityState === "visible") {
7
- debouncedCallback();
7
+ void debouncedCallback();
8
8
  }
9
9
  };
10
10
  window.addEventListener("focus", debouncedCallback);
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../typescript/kit/listeners/listeners.ts"],
4
+ "sourcesContent": ["import { debounce } from \"vorma/kit/debounce\";\n\nexport function addOnWindowFocusListener(callback: () => void): () => void {\n\tconst debouncedCallback = debounce(callback, 30);\n\tconst ifVisibleCallback = () => {\n\t\tif (document.visibilityState === \"visible\") {\n\t\t\tvoid debouncedCallback();\n\t\t}\n\t};\n\twindow.addEventListener(\"focus\", debouncedCallback);\n\twindow.addEventListener(\"visibilitychange\", ifVisibleCallback);\n\treturn () => {\n\t\twindow.removeEventListener(\"focus\", debouncedCallback);\n\t\twindow.removeEventListener(\"visibilitychange\", ifVisibleCallback);\n\t};\n}\n"],
5
+ "mappings": ";AAAA,SAAS,gBAAgB;AAElB,SAAS,yBAAyB,UAAkC;AAC1E,QAAM,oBAAoB,SAAS,UAAU,EAAE;AAC/C,QAAM,oBAAoB,MAAM;AAC/B,QAAI,SAAS,oBAAoB,WAAW;AAC3C,WAAK,kBAAkB;AAAA,IACxB;AAAA,EACD;AACA,SAAO,iBAAiB,SAAS,iBAAiB;AAClD,SAAO,iBAAiB,oBAAoB,iBAAiB;AAC7D,SAAO,MAAM;AACZ,WAAO,oBAAoB,SAAS,iBAAiB;AACrD,WAAO,oBAAoB,oBAAoB,iBAAiB;AAAA,EACjE;AACD;",
6
+ "names": []
7
+ }
@@ -1,4 +1,4 @@
1
- import { type Params, type PatternRegistry, type RegisteredPattern } from "./register.ts";
1
+ import { type Params, type PatternRegistry, type RegisteredPattern } from "vorma/kit/matcher/register";
2
2
  type BestMatch = {
3
3
  registeredPattern: RegisteredPattern;
4
4
  params: Params;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_best_match.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/matcher/find_best_match.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEtB,MAAM,4BAA4B,CAAC;AAGpC,KAAK,SAAS,GAAG;IAChB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AA6GF,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACd,SAAS,GAAG,IAAI,CAmFlB"}
@@ -1,14 +1,22 @@
1
+ // typescript/kit/matcher/find_best_match.ts
1
2
  import {
2
3
  NODE_DYNAMIC,
3
4
  NODE_SPLAT,
4
5
  SCORE_DYNAMIC,
5
6
  SCORE_STATIC_MATCH,
6
- SEG_TYPES,
7
- parseSegments
8
- } from "../chunk-YBAPNBS2.js";
9
-
10
- // kit/_typescript/matcher/find_best_match.ts
11
- function dfsBest(registry, node, segments, depth, score, state, checkTrailingSlash) {
7
+ SEG_TYPES
8
+ } from "vorma/kit/matcher/register";
9
+ import { parseSegments } from "vorma/kit/matcher/utils";
10
+ function dfsBest(props) {
11
+ const {
12
+ registry,
13
+ node,
14
+ segments,
15
+ depth,
16
+ score,
17
+ state,
18
+ checkTrailingSlash
19
+ } = props;
12
20
  const atNormalEnd = checkTrailingSlash && depth === segments.length - 1;
13
21
  if (node.pattern.length > 0) {
14
22
  const rp = registry.dynamicPatterns.get(node.pattern);
@@ -31,15 +39,15 @@ function dfsBest(registry, node, segments, depth, score, state, checkTrailingSla
31
39
  if (node.children !== null) {
32
40
  const child = node.children.get(segments[depth]);
33
41
  if (child) {
34
- dfsBest(
42
+ dfsBest({
35
43
  registry,
36
- child,
44
+ node: child,
37
45
  segments,
38
- depth + 1,
39
- score + SCORE_STATIC_MATCH,
46
+ depth: depth + 1,
47
+ score: score + SCORE_STATIC_MATCH,
40
48
  state,
41
49
  checkTrailingSlash
42
- );
50
+ });
43
51
  if (state.foundMatch && depth + 1 === segments.length && child.pattern !== "") {
44
52
  return;
45
53
  }
@@ -49,15 +57,15 @@ function dfsBest(registry, node, segments, depth, score, state, checkTrailingSla
49
57
  switch (child.nodeType) {
50
58
  case NODE_DYNAMIC:
51
59
  if (segments[depth] !== "") {
52
- dfsBest(
60
+ dfsBest({
53
61
  registry,
54
- child,
62
+ node: child,
55
63
  segments,
56
- depth + 1,
57
- score + SCORE_DYNAMIC,
64
+ depth: depth + 1,
65
+ score: score + SCORE_DYNAMIC,
58
66
  state,
59
67
  checkTrailingSlash
60
- );
68
+ });
61
69
  }
62
70
  break;
63
71
  case NODE_SPLAT:
@@ -111,15 +119,15 @@ function findBestMatch(registry, realPath) {
111
119
  bestScore: 0,
112
120
  foundMatch: false
113
121
  };
114
- dfsBest(
122
+ dfsBest({
115
123
  registry,
116
- registry.rootNode,
124
+ node: registry.rootNode,
117
125
  segments,
118
- 0,
119
- 0,
126
+ depth: 0,
127
+ score: 0,
120
128
  state,
121
- hasTrailingSlash
122
- );
129
+ checkTrailingSlash: hasTrailingSlash
130
+ });
123
131
  if (!state.foundMatch || !state.best) {
124
132
  return null;
125
133
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../typescript/kit/matcher/find_best_match.ts"],
4
+ "sourcesContent": ["import {\n\tNODE_DYNAMIC,\n\tNODE_SPLAT,\n\tSCORE_DYNAMIC,\n\tSCORE_STATIC_MATCH,\n\tSEG_TYPES,\n\ttype Params,\n\ttype PatternRegistry,\n\ttype RegisteredPattern,\n\ttype SegmentNode,\n} from \"vorma/kit/matcher/register\";\nimport { parseSegments } from \"vorma/kit/matcher/utils\";\n\ntype BestMatch = {\n\tregisteredPattern: RegisteredPattern;\n\tparams: Params;\n\tsplatValues: string[];\n\tscore: number;\n};\n\ntype DfsBestState = {\n\tbest: BestMatch | null;\n\tbestScore: number;\n\tfoundMatch: boolean;\n};\n\nfunction dfsBest(props: {\n\tregistry: PatternRegistry;\n\tnode: SegmentNode;\n\tsegments: string[];\n\tdepth: number;\n\tscore: number;\n\tstate: DfsBestState;\n\tcheckTrailingSlash: boolean;\n}): void {\n\tconst {\n\t\tregistry,\n\t\tnode,\n\t\tsegments,\n\t\tdepth,\n\t\tscore,\n\t\tstate,\n\t\tcheckTrailingSlash,\n\t} = props;\n\tconst atNormalEnd = checkTrailingSlash && depth === segments.length - 1;\n\n\tif (node.pattern.length > 0) {\n\t\tconst rp = registry.dynamicPatterns.get(node.pattern);\n\t\tif (rp) {\n\t\t\tif (\n\t\t\t\tdepth === segments.length ||\n\t\t\t\tnode.nodeType === NODE_SPLAT ||\n\t\t\t\tatNormalEnd\n\t\t\t) {\n\t\t\t\tif (!state.foundMatch || score > state.bestScore) {\n\t\t\t\t\tstate.best = {\n\t\t\t\t\t\tregisteredPattern: rp,\n\t\t\t\t\t\tparams: {},\n\t\t\t\t\t\tsplatValues: [],\n\t\t\t\t\t\tscore,\n\t\t\t\t\t};\n\t\t\t\t\tstate.bestScore = score;\n\t\t\t\t\tstate.foundMatch = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (depth >= segments.length) return;\n\n\tif (node.children !== null) {\n\t\tconst child = node.children.get(segments[depth]!);\n\t\tif (child) {\n\t\t\tdfsBest({\n\t\t\t\tregistry,\n\t\t\t\tnode: child,\n\t\t\t\tsegments,\n\t\t\t\tdepth: depth + 1,\n\t\t\t\tscore: score + SCORE_STATIC_MATCH,\n\t\t\t\tstate,\n\t\t\t\tcheckTrailingSlash,\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tstate.foundMatch &&\n\t\t\t\tdepth + 1 === segments.length &&\n\t\t\t\tchild.pattern !== \"\"\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (const child of node.dynChildren) {\n\t\tswitch (child.nodeType) {\n\t\t\tcase NODE_DYNAMIC:\n\t\t\t\tif (segments[depth] !== \"\") {\n\t\t\t\t\tdfsBest({\n\t\t\t\t\t\tregistry,\n\t\t\t\t\t\tnode: child,\n\t\t\t\t\t\tsegments,\n\t\t\t\t\t\tdepth: depth + 1,\n\t\t\t\t\t\tscore: score + SCORE_DYNAMIC,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tcheckTrailingSlash,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase NODE_SPLAT:\n\t\t\t\tif (child.pattern.length > 0) {\n\t\t\t\t\tconst rp = registry.dynamicPatterns.get(child.pattern);\n\t\t\t\t\tif (rp && !state.foundMatch) {\n\t\t\t\t\t\tstate.best = {\n\t\t\t\t\t\t\tregisteredPattern: rp,\n\t\t\t\t\t\t\tparams: {},\n\t\t\t\t\t\t\tsplatValues: [],\n\t\t\t\t\t\t\tscore: 0,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tstate.foundMatch = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport function findBestMatch(\n\tregistry: PatternRegistry,\n\trealPath: string,\n): BestMatch | null {\n\t// Check static patterns first\n\tconst rr = registry.staticPatterns.get(realPath);\n\tif (rr) {\n\t\treturn {\n\t\t\tregisteredPattern: rr,\n\t\t\tparams: {},\n\t\t\tsplatValues: [],\n\t\t\tscore: 0,\n\t\t};\n\t}\n\n\tconst segments = parseSegments(realPath);\n\tconst hasTrailingSlash =\n\t\trealPath.length > 0 && realPath[realPath.length - 1] === \"/\";\n\n\t// Check static pattern without trailing slash\n\tif (hasTrailingSlash) {\n\t\tconst pathWithoutTrailingSlash = realPath.substring(\n\t\t\t0,\n\t\t\trealPath.length - 1,\n\t\t);\n\t\tconst rrWithoutSlash = registry.staticPatterns.get(\n\t\t\tpathWithoutTrailingSlash,\n\t\t);\n\t\tif (rrWithoutSlash) {\n\t\t\treturn {\n\t\t\t\tregisteredPattern: rrWithoutSlash,\n\t\t\t\tparams: {},\n\t\t\t\tsplatValues: [],\n\t\t\t\tscore: 0,\n\t\t\t};\n\t\t}\n\t}\n\n\t// Search for dynamic patterns\n\tconst state: DfsBestState = {\n\t\tbest: null,\n\t\tbestScore: 0,\n\t\tfoundMatch: false,\n\t};\n\n\tdfsBest({\n\t\tregistry,\n\t\tnode: registry.rootNode,\n\t\tsegments,\n\t\tdepth: 0,\n\t\tscore: 0,\n\t\tstate,\n\t\tcheckTrailingSlash: hasTrailingSlash,\n\t});\n\n\tif (!state.foundMatch || !state.best) {\n\t\treturn null;\n\t}\n\n\t// Populate params\n\tif (state.best.registeredPattern.numberOfDynamicParamSegs > 0) {\n\t\tconst params: Params = {};\n\t\tfor (\n\t\t\tlet i = 0;\n\t\t\ti < state.best.registeredPattern.normalizedSegments.length;\n\t\t\ti++\n\t\t) {\n\t\t\tconst seg = state.best.registeredPattern.normalizedSegments[i]!;\n\t\t\tif (seg.segType === SEG_TYPES.dynamic) {\n\t\t\t\tparams[seg.normalizedVal.substring(1)] = segments[i]!;\n\t\t\t}\n\t\t}\n\t\tstate.best.params = params;\n\t}\n\n\t// Populate splat values\n\tif (\n\t\tstate.best.registeredPattern.normalizedPattern === \"/*\" ||\n\t\tstate.best.registeredPattern.lastSegIsNonRootSplat\n\t) {\n\t\tstate.best.splatValues = segments.slice(\n\t\t\tstate.best.registeredPattern.normalizedSegments.length - 1,\n\t\t);\n\t}\n\n\treturn state.best;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,4 +1,4 @@
1
- import type { Params, PatternRegistry, RegisteredPattern } from "./register.ts";
1
+ import type { Params, PatternRegistry, RegisteredPattern } from "vorma/kit/matcher/register";
2
2
  export type Match = {
3
3
  registeredPattern: RegisteredPattern;
4
4
  params: Params;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_nested_matches.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/matcher/find_nested_matches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,eAAe,EACf,iBAAiB,EAEjB,MAAM,4BAA4B,CAAC;AAQpC,MAAM,MAAM,KAAK,GAAG;IACnB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAqJF,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACd,uBAAuB,GAAG,IAAI,CAmLhC"}
@@ -1,14 +1,10 @@
1
+ // typescript/kit/matcher/find_nested_matches.ts
1
2
  import {
2
3
  NODE_DYNAMIC,
3
4
  NODE_SPLAT,
4
- SEG_TYPES,
5
- parseSegments
6
- } from "../chunk-YBAPNBS2.js";
7
-
8
- // kit/_typescript/matcher/find_nested_matches.ts
9
- function stripTrailingSlash(pattern) {
10
- return pattern.length > 0 && pattern[pattern.length - 1] === "/" ? pattern.substring(0, pattern.length - 1) : pattern;
11
- }
5
+ SEG_TYPES
6
+ } from "vorma/kit/matcher/register";
7
+ import { parseSegments, stripTrailingSlash } from "vorma/kit/matcher/utils";
12
8
  function dfsNestedMatches(registry, node, segments, depth, params, matches) {
13
9
  if (node.pattern.length > 0) {
14
10
  const rp = registry.dynamicPatterns.get(node.pattern);
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../typescript/kit/matcher/find_nested_matches.ts"],
4
+ "sourcesContent": ["import type {\n\tParams,\n\tPatternRegistry,\n\tRegisteredPattern,\n\tSegmentNode,\n} from \"vorma/kit/matcher/register\";\nimport {\n\tNODE_DYNAMIC,\n\tNODE_SPLAT,\n\tSEG_TYPES,\n} from \"vorma/kit/matcher/register\";\nimport { parseSegments, stripTrailingSlash } from \"vorma/kit/matcher/utils\";\n\nexport type Match = {\n\tregisteredPattern: RegisteredPattern;\n\tparams: Params;\n\tsplatValues: string[];\n};\n\ntype FindNestedMatchesResult = {\n\tparams: Params;\n\tsplatValues: string[];\n\tmatches: Match[];\n};\n\nfunction dfsNestedMatches(\n\tregistry: PatternRegistry,\n\tnode: SegmentNode,\n\tsegments: string[],\n\tdepth: number,\n\tparams: Params,\n\tmatches: Map<string, Match>,\n): void {\n\tif (node.pattern.length > 0) {\n\t\tconst rp = registry.dynamicPatterns.get(node.pattern);\n\t\tif (rp && node.pattern !== \"/*\") {\n\t\t\tconst paramsCopy = { ...params };\n\t\t\tlet splatValues: string[] = [];\n\n\t\t\tif (node.nodeType === NODE_SPLAT && depth < segments.length) {\n\t\t\t\tsplatValues = segments.slice(depth);\n\t\t\t}\n\n\t\t\tmatches.set(node.pattern, {\n\t\t\t\tregisteredPattern: rp,\n\t\t\t\tparams: paramsCopy,\n\t\t\t\tsplatValues,\n\t\t\t});\n\n\t\t\tif (depth === segments.length) {\n\t\t\t\tconst indexPattern = node.pattern + \"/\";\n\t\t\t\tconst rpIndex = registry.dynamicPatterns.get(indexPattern);\n\t\t\t\tif (rpIndex) {\n\t\t\t\t\tmatches.set(indexPattern, {\n\t\t\t\t\t\tregisteredPattern: rpIndex,\n\t\t\t\t\t\tparams: paramsCopy,\n\t\t\t\t\t\tsplatValues: [],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (depth >= segments.length) return;\n\n\tconst seg = segments[depth]!;\n\n\tif (node.children !== null) {\n\t\tconst child = node.children.get(seg);\n\t\tif (child) {\n\t\t\tdfsNestedMatches(\n\t\t\t\tregistry,\n\t\t\t\tchild,\n\t\t\t\tsegments,\n\t\t\t\tdepth + 1,\n\t\t\t\tparams,\n\t\t\t\tmatches,\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (const child of node.dynChildren) {\n\t\tswitch (child.nodeType) {\n\t\t\tcase NODE_DYNAMIC: {\n\t\t\t\tconst oldVal = params[child.paramName];\n\t\t\t\tconst hadVal = oldVal !== undefined;\n\t\t\t\tparams[child.paramName] = seg;\n\n\t\t\t\tdfsNestedMatches(\n\t\t\t\t\tregistry,\n\t\t\t\t\tchild,\n\t\t\t\t\tsegments,\n\t\t\t\t\tdepth + 1,\n\t\t\t\t\tparams,\n\t\t\t\t\tmatches,\n\t\t\t\t);\n\n\t\t\t\tif (hadVal) {\n\t\t\t\t\tparams[child.paramName] = oldVal!;\n\t\t\t\t} else {\n\t\t\t\t\tdelete params[child.paramName];\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase NODE_SPLAT:\n\t\t\t\tdfsNestedMatches(\n\t\t\t\t\tregistry,\n\t\t\t\t\tchild,\n\t\t\t\t\tsegments,\n\t\t\t\t\tdepth,\n\t\t\t\t\tparams,\n\t\t\t\t\tmatches,\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\nfunction flattenAndSortMatches(\n\tmatches: Map<string, Match>,\n\trealPath: string,\n\trealSegmentLen: number,\n): FindNestedMatchesResult | null {\n\tconst results: Match[] = Array.from(matches.values());\n\n\tresults.sort((i, j) => {\n\t\tif (i.registeredPattern.lastSegIsIndex) return 1;\n\t\tif (j.registeredPattern.lastSegIsIndex) return -1;\n\t\treturn (\n\t\t\ti.registeredPattern.normalizedSegments.length -\n\t\t\tj.registeredPattern.normalizedSegments.length\n\t\t);\n\t});\n\n\tif (results.length === 0) return null;\n\n\tconst isNotSlashRoute = realPath !== \"\" && realPath !== \"/\";\n\tif (\n\t\tisNotSlashRoute &&\n\t\tresults.length === 1 &&\n\t\tresults[0]!.registeredPattern.normalizedPattern === \"\"\n\t) {\n\t\treturn null;\n\t}\n\n\tconst lastMatch = results[results.length - 1]!;\n\n\tif (\n\t\t!lastMatch.registeredPattern.lastSegIsNonRootSplat &&\n\t\tlastMatch.registeredPattern.normalizedPattern !== \"/*\"\n\t) {\n\t\tconst patternSegmentsLen =\n\t\t\tlastMatch.registeredPattern.normalizedSegments.length;\n\n\t\tif (patternSegmentsLen < realSegmentLen) return null;\n\n\t\tif (\n\t\t\tpatternSegmentsLen === realSegmentLen &&\n\t\t\tlastMatch.registeredPattern.numberOfDynamicParamSegs > 0 &&\n\t\t\tObject.keys(lastMatch.params).length === 0\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\treturn {\n\t\tparams: lastMatch.params,\n\t\tsplatValues: lastMatch.splatValues,\n\t\tmatches: results,\n\t};\n}\n\nexport function findNestedMatches(\n\tregistry: PatternRegistry,\n\trealPath: string,\n): FindNestedMatchesResult | null {\n\trealPath = stripTrailingSlash(realPath);\n\n\tconst realSegments = parseSegments(realPath);\n\tconst matches: Map<string, Match> = new Map();\n\n\t// Check for empty pattern\n\tconst emptyRR = registry.staticPatterns.get(\"\");\n\tif (emptyRR) {\n\t\tmatches.set(emptyRR.normalizedPattern, {\n\t\t\tregisteredPattern: emptyRR,\n\t\t\tparams: {},\n\t\t\tsplatValues: [],\n\t\t});\n\t}\n\n\tconst realSegmentsLen = realSegments.length;\n\n\t// Handle root path\n\tif (realPath === \"\") {\n\t\tconst rr = registry.staticPatterns.get(\"/\");\n\t\tif (rr) {\n\t\t\tmatches.set(rr.normalizedPattern, {\n\t\t\t\tregisteredPattern: rr,\n\t\t\t\tparams: {},\n\t\t\t\tsplatValues: [],\n\t\t\t});\n\t\t} else {\n\t\t\tconst catchAllRR = registry.dynamicPatterns.get(\"/*\");\n\t\t\tif (catchAllRR) {\n\t\t\t\tmatches.set(\"/*\", {\n\t\t\t\t\tregisteredPattern: catchAllRR,\n\t\t\t\t\tparams: {},\n\t\t\t\t\tsplatValues: [],\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn flattenAndSortMatches(matches, realPath, realSegmentsLen);\n\t}\n\n\t// Check static patterns progressively\n\tlet pb = \"\";\n\tlet foundFullStatic = false;\n\n\tfor (let i = 0; i < realSegments.length; i++) {\n\t\tpb += \"/\" + realSegments[i];\n\t\tconst rr = registry.staticPatterns.get(pb);\n\t\tif (rr) {\n\t\t\tmatches.set(rr.normalizedPattern, {\n\t\t\t\tregisteredPattern: rr,\n\t\t\t\tparams: {},\n\t\t\t\tsplatValues: [],\n\t\t\t});\n\t\t\tif (i === realSegmentsLen - 1) foundFullStatic = true;\n\t\t}\n\t\tif (i === realSegmentsLen - 1) {\n\t\t\tpb += \"/\";\n\t\t\tconst rrWithSlash = registry.staticPatterns.get(pb);\n\t\t\tif (rrWithSlash) {\n\t\t\t\tmatches.set(rrWithSlash.normalizedPattern, {\n\t\t\t\t\tregisteredPattern: rrWithSlash,\n\t\t\t\t\tparams: {},\n\t\t\t\t\tsplatValues: [],\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check dynamic patterns if no full static match\n\tif (!foundFullStatic) {\n\t\tconst rr = registry.dynamicPatterns.get(\"/*\");\n\t\tif (rr) {\n\t\t\tmatches.set(\"/*\", {\n\t\t\t\tregisteredPattern: rr,\n\t\t\t\tparams: {},\n\t\t\t\tsplatValues: realSegments,\n\t\t\t});\n\t\t}\n\n\t\tconst params: Params = {};\n\t\tdfsNestedMatches(\n\t\t\tregistry,\n\t\t\tregistry.rootNode,\n\t\t\trealSegments,\n\t\t\t0,\n\t\t\tparams,\n\t\t\tmatches,\n\t\t);\n\t}\n\n\t// Clean up catch-all pattern if necessary\n\tconst hasEmptyRR = emptyRR !== undefined;\n\tif (matches.has(\"/*\")) {\n\t\tif (hasEmptyRR) {\n\t\t\tif (matches.size > 2) matches.delete(\"/*\");\n\t\t} else if (matches.size > 1) {\n\t\t\tmatches.delete(\"/*\");\n\t\t}\n\t}\n\n\tif (matches.size < 2) {\n\t\treturn flattenAndSortMatches(matches, realPath, realSegmentsLen);\n\t}\n\n\t// Find longest segment matches\n\tlet longestSegmentLen = 0;\n\tconst longestSegmentMatches: Map<string, Match> = new Map();\n\n\tfor (const match of matches.values()) {\n\t\tif (\n\t\t\tmatch.registeredPattern.normalizedSegments.length >\n\t\t\tlongestSegmentLen\n\t\t) {\n\t\t\tlongestSegmentLen =\n\t\t\t\tmatch.registeredPattern.normalizedSegments.length;\n\t\t}\n\t}\n\n\tfor (const match of matches.values()) {\n\t\tif (\n\t\t\tmatch.registeredPattern.normalizedSegments.length ===\n\t\t\tlongestSegmentLen\n\t\t) {\n\t\t\tlongestSegmentMatches.set(\n\t\t\t\tmatch.registeredPattern.lastSegType,\n\t\t\t\tmatch,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Remove shorter matches\n\tfor (const [pattern, match] of matches) {\n\t\tif (\n\t\t\tmatch.registeredPattern.normalizedSegments.length <\n\t\t\tlongestSegmentLen\n\t\t) {\n\t\t\tif (\n\t\t\t\tmatch.registeredPattern.lastSegIsNonRootSplat ||\n\t\t\t\tmatch.registeredPattern.lastSegIsIndex\n\t\t\t) {\n\t\t\t\tmatches.delete(pattern);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (matches.size < 2) {\n\t\treturn flattenAndSortMatches(matches, realPath, realSegmentsLen);\n\t}\n\n\t// Handle conflicts between longest matches\n\tif (longestSegmentMatches.size > 1) {\n\t\tconst indexMatch = longestSegmentMatches.get(SEG_TYPES.index);\n\t\tif (indexMatch) {\n\t\t\tmatches.delete(indexMatch.registeredPattern.normalizedPattern);\n\t\t}\n\n\t\tconst dynamicExists = longestSegmentMatches.has(SEG_TYPES.dynamic);\n\t\tconst splatExists = longestSegmentMatches.has(SEG_TYPES.splat);\n\n\t\tif (\n\t\t\trealSegmentsLen === longestSegmentLen &&\n\t\t\tdynamicExists &&\n\t\t\tsplatExists\n\t\t) {\n\t\t\tconst splatMatch = longestSegmentMatches.get(SEG_TYPES.splat)!;\n\t\t\tmatches.delete(splatMatch.registeredPattern.normalizedPattern);\n\t\t}\n\n\t\tif (\n\t\t\trealSegmentsLen > longestSegmentLen &&\n\t\t\tsplatExists &&\n\t\t\tdynamicExists\n\t\t) {\n\t\t\tconst dynamicMatch = longestSegmentMatches.get(SEG_TYPES.dynamic)!;\n\t\t\tmatches.delete(dynamicMatch.registeredPattern.normalizedPattern);\n\t\t}\n\t}\n\n\treturn flattenAndSortMatches(matches, realPath, realSegmentsLen);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../typescript/kit/matcher/register.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,MAAM,MAAM,OAAO,GAAG;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IAC1C,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAChD,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE;QACP,sBAAsB,EAAE,MAAM,CAAC;QAC/B,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,yBAAyB,EAAE,OAAO,CAAC;KACnC,CAAC;CACF,CAAC;AAMF,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,eAAO,MAAM,SAAS;WACH,OAAO;YACL,OAAO;aACL,OAAO;WACX,OAAO;CACzB,CAAC;AA8IF,wBAAgB,qBAAqB,CACpC,IAAI,CAAC,EAAE,mBAAmB,GACxB,eAAe,CAmBjB;AAED,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,MAAM,GACrB,iBAAiB,CA6CnB"}