soseki 0.0.4 → 0.0.6

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 (352) hide show
  1. package/LICENSE +21 -0
  2. package/dist/src/components/browser-router.d.ts +19 -0
  3. package/dist/src/components/browser-router.d.ts.map +1 -0
  4. package/dist/src/components/browser-router.jsx +15 -0
  5. package/dist/src/components/outlet.d.ts +8 -0
  6. package/dist/src/components/outlet.d.ts.map +1 -0
  7. package/dist/src/components/outlet.jsx +15 -0
  8. package/dist/src/components/router.d.ts +21 -0
  9. package/dist/src/components/router.d.ts.map +1 -0
  10. package/dist/src/components/router.jsx +138 -0
  11. package/dist/src/contexts/route-context.d.ts +19 -0
  12. package/dist/src/contexts/route-context.d.ts.map +1 -0
  13. package/dist/src/contexts/route-context.js +6 -0
  14. package/dist/src/contexts/router-context.d.ts +55 -0
  15. package/dist/src/contexts/router-context.d.ts.map +1 -0
  16. package/dist/src/contexts/router-context.js +8 -0
  17. package/dist/src/core/_compare-route-paths.d.ts +11 -0
  18. package/dist/src/core/_compare-route-paths.d.ts.map +1 -0
  19. package/dist/src/core/_compare-route-paths.js +92 -0
  20. package/dist/src/core/_match-route-path.d.ts +22 -0
  21. package/dist/src/core/_match-route-path.d.ts.map +1 -0
  22. package/dist/src/core/_match-route-path.js +26 -0
  23. package/dist/src/core/_process-routes.d.ts +14 -0
  24. package/dist/src/core/_process-routes.d.ts.map +1 -0
  25. package/dist/src/core/_process-routes.js +45 -0
  26. package/dist/src/core/_singleton.d.ts +12 -0
  27. package/dist/src/core/_singleton.d.ts.map +1 -0
  28. package/dist/src/core/_singleton.js +18 -0
  29. package/dist/src/core/_unreachable.d.ts +16 -0
  30. package/dist/src/core/_unreachable.d.ts.map +1 -0
  31. package/dist/src/core/_unreachable.js +8 -0
  32. package/dist/src/core/_valibot.d.ts +25 -0
  33. package/dist/src/core/_valibot.d.ts.map +1 -0
  34. package/dist/src/core/_valibot.js +30 -0
  35. package/dist/src/core/errors.d.ts +182 -0
  36. package/dist/src/core/errors.d.ts.map +1 -0
  37. package/dist/src/core/errors.js +166 -0
  38. package/dist/src/core/expect-history-entry.d.ts +59 -0
  39. package/dist/src/core/expect-history-entry.d.ts.map +1 -0
  40. package/dist/src/core/expect-history-entry.js +42 -0
  41. package/dist/src/core/form-data-to-html-form-element.d.ts +11 -0
  42. package/dist/src/core/form-data-to-html-form-element.d.ts.map +1 -0
  43. package/dist/src/core/form-data-to-html-form-element.js +31 -0
  44. package/dist/src/core/history-entry-id-schema.d.ts +17 -0
  45. package/dist/src/core/history-entry-id-schema.d.ts.map +1 -0
  46. package/dist/src/core/history-entry-id-schema.js +9 -0
  47. package/dist/src/core/history-entry-url-schema.d.ts +18 -0
  48. package/dist/src/core/history-entry-url-schema.d.ts.map +1 -0
  49. package/dist/src/core/history-entry-url-schema.js +20 -0
  50. package/dist/src/core/init-loaders.d.ts +28 -0
  51. package/dist/src/core/init-loaders.d.ts.map +1 -0
  52. package/dist/src/core/init-loaders.js +30 -0
  53. package/dist/src/core/match-routes.d.ts +28 -0
  54. package/dist/src/core/match-routes.d.ts.map +1 -0
  55. package/dist/src/core/match-routes.js +31 -0
  56. package/dist/src/core/readonly-form-data.types.d.ts +74 -0
  57. package/dist/src/core/readonly-form-data.types.d.ts.map +1 -0
  58. package/dist/src/core/readonly-url.types.d.ts +164 -0
  59. package/dist/src/core/readonly-url.types.d.ts.map +1 -0
  60. package/dist/src/core/redirect-response.d.ts +37 -0
  61. package/dist/src/core/redirect-response.d.ts.map +1 -0
  62. package/dist/src/core/redirect-response.js +19 -0
  63. package/dist/src/core/route-path.d.ts +57 -0
  64. package/dist/src/core/route-path.d.ts.map +1 -0
  65. package/dist/src/core/route-path.js +93 -0
  66. package/dist/src/core/route-request.d.ts +149 -0
  67. package/dist/src/core/route-request.d.ts.map +1 -0
  68. package/dist/src/core/route-request.js +41 -0
  69. package/dist/src/core/route.types.d.ts +296 -0
  70. package/dist/src/core/route.types.d.ts.map +1 -0
  71. package/dist/src/core/start-action.d.ts +53 -0
  72. package/dist/src/core/start-action.d.ts.map +1 -0
  73. package/dist/src/core/start-action.js +95 -0
  74. package/dist/src/core/start-loaders.d.ts +63 -0
  75. package/dist/src/core/start-loaders.d.ts.map +1 -0
  76. package/dist/src/core/start-loaders.js +138 -0
  77. package/dist/{core.d.ts → src/core.d.ts} +7 -11
  78. package/dist/src/core.d.ts.map +1 -0
  79. package/dist/{core.js → src/core.js} +2 -4
  80. package/dist/src/engines/engine.types.d.ts +216 -0
  81. package/dist/src/engines/engine.types.d.ts.map +1 -0
  82. package/dist/src/engines/navigation-api-engine.d.ts +50 -0
  83. package/dist/src/engines/navigation-api-engine.d.ts.map +1 -0
  84. package/dist/src/engines/navigation-api-engine.js +411 -0
  85. package/dist/src/engines.d.ts +4 -0
  86. package/dist/src/engines.d.ts.map +1 -0
  87. package/dist/src/engines.js +1 -0
  88. package/dist/src/hooks/_use-singleton.d.ts +11 -0
  89. package/dist/src/hooks/_use-singleton.d.ts.map +1 -0
  90. package/dist/src/hooks/_use-singleton.js +26 -0
  91. package/dist/src/hooks/use-action-data.d.ts +17 -0
  92. package/dist/src/hooks/use-action-data.d.ts.map +1 -0
  93. package/dist/src/hooks/use-action-data.js +16 -0
  94. package/dist/src/hooks/use-form-action.d.ts +7 -0
  95. package/dist/src/hooks/use-form-action.d.ts.map +1 -0
  96. package/dist/src/hooks/use-form-action.js +9 -0
  97. package/dist/src/hooks/use-loader-data.d.ts +9 -0
  98. package/dist/src/hooks/use-loader-data.d.ts.map +1 -0
  99. package/dist/src/hooks/use-loader-data.js +20 -0
  100. package/dist/src/hooks/use-navigate.d.ts +53 -0
  101. package/dist/src/hooks/use-navigate.d.ts.map +1 -0
  102. package/dist/src/hooks/use-navigate.js +43 -0
  103. package/dist/{hooks → src/hooks}/use-params.d.ts +2 -2
  104. package/dist/src/hooks/use-params.d.ts.map +1 -0
  105. package/dist/{hooks → src/hooks}/use-params.js +1 -1
  106. package/dist/src/hooks/use-route-context.d.ts +10 -0
  107. package/dist/src/hooks/use-route-context.d.ts.map +1 -0
  108. package/dist/src/hooks/use-route-context.js +17 -0
  109. package/dist/src/hooks/use-router-context.d.ts +12 -0
  110. package/dist/src/hooks/use-router-context.d.ts.map +1 -0
  111. package/dist/src/hooks/use-router-context.js +20 -0
  112. package/dist/src/hooks/use-submit.d.ts +59 -0
  113. package/dist/src/hooks/use-submit.d.ts.map +1 -0
  114. package/dist/src/hooks/use-submit.js +38 -0
  115. package/dist/src/soseki.d.ts +31 -0
  116. package/dist/src/soseki.d.ts.map +1 -0
  117. package/dist/src/soseki.js +12 -0
  118. package/dist/src/utils/redirect.d.ts +11 -0
  119. package/dist/src/utils/redirect.d.ts.map +1 -0
  120. package/dist/src/utils/redirect.js +12 -0
  121. package/package.json +48 -30
  122. package/src/components/browser-router.tsx +8 -11
  123. package/src/components/outlet.tsx +3 -2
  124. package/src/components/router.tsx +139 -145
  125. package/src/contexts/route-context.ts +6 -5
  126. package/src/contexts/router-context.ts +36 -19
  127. package/src/core/_compare-route-paths.ts +48 -34
  128. package/src/core/_match-route-path.ts +21 -15
  129. package/src/core/_process-routes.ts +44 -46
  130. package/src/core/_singleton.ts +13 -38
  131. package/src/core/_unreachable.ts +12 -7
  132. package/src/core/_valibot.ts +19 -116
  133. package/src/core/errors.ts +150 -495
  134. package/src/core/expect-history-entry.ts +40 -41
  135. package/src/core/form-data-to-html-form-element.ts +37 -0
  136. package/src/core/history-entry-id-schema.ts +6 -11
  137. package/src/core/history-entry-url-schema.ts +25 -18
  138. package/src/core/init-loaders.ts +35 -57
  139. package/src/core/match-routes.ts +33 -65
  140. package/src/core/readonly-form-data.types.ts +48 -28
  141. package/src/core/readonly-url.types.ts +57 -28
  142. package/src/core/redirect-response.ts +26 -15
  143. package/src/core/route-path.ts +114 -0
  144. package/src/core/route-request.ts +144 -32
  145. package/src/core/route.types.ts +250 -226
  146. package/src/core/start-action.ts +164 -0
  147. package/src/core/start-loaders.ts +190 -212
  148. package/src/core.ts +8 -15
  149. package/src/engines/engine.types.ts +204 -166
  150. package/src/engines/navigation-api-engine.ts +332 -233
  151. package/src/engines.ts +4 -0
  152. package/src/hooks/_use-singleton.ts +30 -0
  153. package/src/hooks/use-action-data.ts +21 -26
  154. package/src/hooks/use-form-action.ts +4 -5
  155. package/src/hooks/use-loader-data.ts +16 -18
  156. package/src/hooks/use-navigate.ts +69 -28
  157. package/src/hooks/use-params.ts +4 -4
  158. package/src/hooks/use-route-context.ts +20 -0
  159. package/src/hooks/use-router-context.ts +25 -0
  160. package/src/hooks/use-submit.ts +48 -53
  161. package/src/soseki.ts +27 -34
  162. package/src/utils/redirect.ts +5 -5
  163. package/dist/components/action-id.d.ts +0 -19
  164. package/dist/components/action-id.d.ts.map +0 -1
  165. package/dist/components/action-id.jsx +0 -14
  166. package/dist/components/browser-router.d.ts +0 -17
  167. package/dist/components/browser-router.d.ts.map +0 -1
  168. package/dist/components/browser-router.jsx +0 -13
  169. package/dist/components/hidden-input.d.ts +0 -20
  170. package/dist/components/hidden-input.d.ts.map +0 -1
  171. package/dist/components/hidden-input.jsx +0 -8
  172. package/dist/components/outlet.d.ts +0 -8
  173. package/dist/components/outlet.d.ts.map +0 -1
  174. package/dist/components/outlet.jsx +0 -15
  175. package/dist/components/router.d.ts +0 -23
  176. package/dist/components/router.d.ts.map +0 -1
  177. package/dist/components/router.jsx +0 -128
  178. package/dist/contexts/route-context.d.ts +0 -19
  179. package/dist/contexts/route-context.d.ts.map +0 -1
  180. package/dist/contexts/route-context.js +0 -6
  181. package/dist/contexts/router-context.d.ts +0 -46
  182. package/dist/contexts/router-context.d.ts.map +0 -1
  183. package/dist/contexts/router-context.js +0 -8
  184. package/dist/core/_action-id-registry.d.ts +0 -10
  185. package/dist/core/_action-id-registry.d.ts.map +0 -1
  186. package/dist/core/_action-id-registry.js +0 -8
  187. package/dist/core/_capture-stack-trace.d.ts +0 -8
  188. package/dist/core/_capture-stack-trace.d.ts.map +0 -1
  189. package/dist/core/_capture-stack-trace.js +0 -12
  190. package/dist/core/_compare-route-paths.d.ts +0 -11
  191. package/dist/core/_compare-route-paths.d.ts.map +0 -1
  192. package/dist/core/_compare-route-paths.js +0 -80
  193. package/dist/core/_create-html-form-element-form-form-data.d.ts +0 -9
  194. package/dist/core/_create-html-form-element-form-form-data.d.ts.map +0 -1
  195. package/dist/core/_create-html-form-element-form-form-data.js +0 -27
  196. package/dist/core/_encode-pathname.d.ts +0 -10
  197. package/dist/core/_encode-pathname.d.ts.map +0 -1
  198. package/dist/core/_encode-pathname.js +0 -16
  199. package/dist/core/_is-error.d.ts +0 -3
  200. package/dist/core/_is-error.d.ts.map +0 -1
  201. package/dist/core/_is-error.js +0 -13
  202. package/dist/core/_is-promise-like.d.ts +0 -8
  203. package/dist/core/_is-promise-like.d.ts.map +0 -1
  204. package/dist/core/_is-promise-like.js +0 -12
  205. package/dist/core/_match-route-path.d.ts +0 -19
  206. package/dist/core/_match-route-path.d.ts.map +0 -1
  207. package/dist/core/_match-route-path.js +0 -22
  208. package/dist/core/_process-routes.d.ts +0 -9
  209. package/dist/core/_process-routes.d.ts.map +0 -1
  210. package/dist/core/_process-routes.js +0 -47
  211. package/dist/core/_singleton.d.ts +0 -18
  212. package/dist/core/_singleton.d.ts.map +0 -1
  213. package/dist/core/_singleton.js +0 -37
  214. package/dist/core/_unreachable.d.ts +0 -12
  215. package/dist/core/_unreachable.d.ts.map +0 -1
  216. package/dist/core/_unreachable.js +0 -8
  217. package/dist/core/_use-singleton.d.ts +0 -11
  218. package/dist/core/_use-singleton.d.ts.map +0 -1
  219. package/dist/core/_use-singleton.js +0 -21
  220. package/dist/core/_valibot.d.ts +0 -52
  221. package/dist/core/_valibot.d.ts.map +0 -1
  222. package/dist/core/_valibot.js +0 -107
  223. package/dist/core/_weak-id-registry.d.ts +0 -76
  224. package/dist/core/_weak-id-registry.d.ts.map +0 -1
  225. package/dist/core/_weak-id-registry.js +0 -67
  226. package/dist/core/constants.d.ts +0 -5
  227. package/dist/core/constants.d.ts.map +0 -1
  228. package/dist/core/constants.js +0 -4
  229. package/dist/core/data-map.types.d.ts +0 -23
  230. package/dist/core/data-map.types.d.ts.map +0 -1
  231. package/dist/core/data-map.types.js +0 -1
  232. package/dist/core/data-store.types.d.ts +0 -22
  233. package/dist/core/data-store.types.d.ts.map +0 -1
  234. package/dist/core/data-store.types.js +0 -1
  235. package/dist/core/deferred-promise.d.ts +0 -203
  236. package/dist/core/deferred-promise.d.ts.map +0 -1
  237. package/dist/core/deferred-promise.js +0 -200
  238. package/dist/core/errors.d.ts +0 -303
  239. package/dist/core/errors.d.ts.map +0 -1
  240. package/dist/core/errors.js +0 -400
  241. package/dist/core/expect-history-entry.d.ts +0 -52
  242. package/dist/core/expect-history-entry.d.ts.map +0 -1
  243. package/dist/core/expect-history-entry.js +0 -38
  244. package/dist/core/history-entry-id-schema.d.ts +0 -17
  245. package/dist/core/history-entry-id-schema.d.ts.map +0 -1
  246. package/dist/core/history-entry-id-schema.js +0 -9
  247. package/dist/core/history-entry-url-schema.d.ts +0 -20
  248. package/dist/core/history-entry-url-schema.d.ts.map +0 -1
  249. package/dist/core/history-entry-url-schema.js +0 -16
  250. package/dist/core/init-loaders.d.ts +0 -37
  251. package/dist/core/init-loaders.d.ts.map +0 -1
  252. package/dist/core/init-loaders.js +0 -38
  253. package/dist/core/match-routes.d.ts +0 -31
  254. package/dist/core/match-routes.d.ts.map +0 -1
  255. package/dist/core/match-routes.js +0 -54
  256. package/dist/core/readonly-form-data.types.d.ts +0 -32
  257. package/dist/core/readonly-form-data.types.d.ts.map +0 -1
  258. package/dist/core/readonly-url.types.d.ts +0 -135
  259. package/dist/core/readonly-url.types.d.ts.map +0 -1
  260. package/dist/core/redirect-response.d.ts +0 -29
  261. package/dist/core/redirect-response.d.ts.map +0 -1
  262. package/dist/core/redirect-response.js +0 -17
  263. package/dist/core/route-request.d.ts +0 -52
  264. package/dist/core/route-request.d.ts.map +0 -1
  265. package/dist/core/route-request.js +0 -26
  266. package/dist/core/route.types.d.ts +0 -309
  267. package/dist/core/route.types.d.ts.map +0 -1
  268. package/dist/core/start-actions.d.ts +0 -60
  269. package/dist/core/start-actions.d.ts.map +0 -1
  270. package/dist/core/start-actions.js +0 -186
  271. package/dist/core/start-loaders.d.ts +0 -69
  272. package/dist/core/start-loaders.d.ts.map +0 -1
  273. package/dist/core/start-loaders.js +0 -154
  274. package/dist/core.d.ts.map +0 -1
  275. package/dist/engines/engine.types.d.ts +0 -190
  276. package/dist/engines/engine.types.d.ts.map +0 -1
  277. package/dist/engines/navigation-api-engine.d.ts +0 -48
  278. package/dist/engines/navigation-api-engine.d.ts.map +0 -1
  279. package/dist/engines/navigation-api-engine.js +0 -332
  280. package/dist/hooks/_use-route-context.d.ts +0 -10
  281. package/dist/hooks/_use-route-context.d.ts.map +0 -1
  282. package/dist/hooks/_use-route-context.js +0 -17
  283. package/dist/hooks/_use-router-context.d.ts +0 -10
  284. package/dist/hooks/_use-router-context.d.ts.map +0 -1
  285. package/dist/hooks/_use-router-context.js +0 -18
  286. package/dist/hooks/use-action-data.d.ts +0 -23
  287. package/dist/hooks/use-action-data.d.ts.map +0 -1
  288. package/dist/hooks/use-action-data.js +0 -16
  289. package/dist/hooks/use-form-action.d.ts +0 -7
  290. package/dist/hooks/use-form-action.d.ts.map +0 -1
  291. package/dist/hooks/use-form-action.js +0 -10
  292. package/dist/hooks/use-loader-data.d.ts +0 -11
  293. package/dist/hooks/use-loader-data.d.ts.map +0 -1
  294. package/dist/hooks/use-loader-data.js +0 -19
  295. package/dist/hooks/use-navigate.d.ts +0 -39
  296. package/dist/hooks/use-navigate.d.ts.map +0 -1
  297. package/dist/hooks/use-navigate.js +0 -26
  298. package/dist/hooks/use-params.d.ts.map +0 -1
  299. package/dist/hooks/use-pathname.d.ts +0 -7
  300. package/dist/hooks/use-pathname.d.ts.map +0 -1
  301. package/dist/hooks/use-pathname.js +0 -9
  302. package/dist/hooks/use-submit.d.ts +0 -66
  303. package/dist/hooks/use-submit.d.ts.map +0 -1
  304. package/dist/hooks/use-submit.js +0 -35
  305. package/dist/soseki.d.ts +0 -42
  306. package/dist/soseki.d.ts.map +0 -1
  307. package/dist/soseki.js +0 -19
  308. package/dist/utils/get-action-id.d.ts +0 -8
  309. package/dist/utils/get-action-id.d.ts.map +0 -1
  310. package/dist/utils/get-action-id.js +0 -11
  311. package/dist/utils/href.d.ts +0 -11
  312. package/dist/utils/href.d.ts.map +0 -1
  313. package/dist/utils/href.js +0 -12
  314. package/dist/utils/redirect.d.ts +0 -11
  315. package/dist/utils/redirect.d.ts.map +0 -1
  316. package/dist/utils/redirect.js +0 -12
  317. package/dist/utils/route-index.d.ts +0 -41
  318. package/dist/utils/route-index.d.ts.map +0 -1
  319. package/dist/utils/route-index.js +0 -12
  320. package/dist/utils/route-route.d.ts +0 -62
  321. package/dist/utils/route-route.d.ts.map +0 -1
  322. package/dist/utils/route-route.js +0 -25
  323. package/dist/utils/set-action-id.d.ts +0 -9
  324. package/dist/utils/set-action-id.d.ts.map +0 -1
  325. package/dist/utils/set-action-id.js +0 -12
  326. package/src/components/action-id.tsx +0 -35
  327. package/src/components/hidden-input.tsx +0 -39
  328. package/src/core/_action-id-registry.ts +0 -11
  329. package/src/core/_capture-stack-trace.ts +0 -12
  330. package/src/core/_create-html-form-element-form-form-data.ts +0 -32
  331. package/src/core/_encode-pathname.ts +0 -17
  332. package/src/core/_is-error.ts +0 -16
  333. package/src/core/_is-promise-like.ts +0 -14
  334. package/src/core/_use-singleton.ts +0 -24
  335. package/src/core/_weak-id-registry.ts +0 -125
  336. package/src/core/constants.ts +0 -4
  337. package/src/core/data-map.types.ts +0 -28
  338. package/src/core/data-store.types.ts +0 -25
  339. package/src/core/deferred-promise.ts +0 -408
  340. package/src/core/start-actions.ts +0 -274
  341. package/src/hooks/_use-route-context.ts +0 -19
  342. package/src/hooks/_use-router-context.ts +0 -25
  343. package/src/hooks/use-pathname.ts +0 -10
  344. package/src/utils/get-action-id.ts +0 -12
  345. package/src/utils/href.ts +0 -17
  346. package/src/utils/route-index.ts +0 -70
  347. package/src/utils/route-route.ts +0 -111
  348. package/src/utils/set-action-id.ts +0 -14
  349. /package/dist/{core → src/core}/readonly-form-data.types.js +0 -0
  350. /package/dist/{core → src/core}/readonly-url.types.js +0 -0
  351. /package/dist/{core → src/core}/route.types.js +0 -0
  352. /package/dist/{engines → src/engines}/engine.types.js +0 -0
@@ -1,31 +0,0 @@
1
- import type { PathParams, Route } from "./route.types.js";
2
- /**
3
- * マッチしたルートの情報に、抽出されたパスパラメーターを統合した型定義です。
4
- */
5
- export type MatchedRoute = Pick<Route, "path" | "index" | "dataFuncs" | "component"> & {
6
- /**
7
- * パス名から抽出された動的なパラメーターのオブジェクトです。
8
- */
9
- readonly params: PathParams;
10
- /**
11
- * ルートのパスパターンに基づく URL のパスです。
12
- *
13
- * @example
14
- * ```ts
15
- * const route = matchRoutes(routes, "/user/123/setting");
16
- * route.path; // "/user/:id"
17
- * route.params; // { id: "123" }
18
- * route.urlPath; // "/user/123"
19
- * ```
20
- */
21
- readonly urlPath: string;
22
- };
23
- /**
24
- * ルート定義のリスト全体から、指定されたパス名にマッチするルートを探索します。
25
- *
26
- * @param routes 探索対象となるルートオブジェクトの配列です。
27
- * @param pathname マッチング対象のパス名です。
28
- * @returns 最初にマッチしたルートとその階層構造を返し、どのルートにもマッチしない場合は `null` を返します。
29
- */
30
- export default function matchRoutes(routes: readonly Route[], pathname: string): readonly [MatchedRoute, ...MatchedRoute[]] | null;
31
- //# sourceMappingURL=match-routes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-routes.d.ts","sourceRoot":"","sources":["../../src/core/match-routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG;IACrF;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AA8CF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,YAAY,EAAE,GAAG,YAAY,EAAE,CAAC,GAAG,IAAI,CASnD"}
@@ -1,54 +0,0 @@
1
- import { inject } from "regexparam";
2
- import matchRoutePath from "./_match-route-path.js";
3
- /**
4
- * 単一のルートとその子ルートに対して、再帰的にパスマッチングを試みます。
5
- *
6
- * @param route マッチングを確認する対象のルートオブジェクトです。
7
- * @param pathname マッチング対象のパス名です。
8
- * @returns マッチした場合は親から子への階層構造を保持した配列を返し、マッチしない場合は `null` を返します。
9
- */
10
- function matchRoute(route, pathname) {
11
- const result = matchRoutePath(route, pathname);
12
- if (!result) {
13
- return null;
14
- }
15
- const matched = {
16
- path: route.path,
17
- index: route.index,
18
- params: result.params,
19
- urlPath: inject(route.path, result.params),
20
- dataFuncs: route.dataFuncs,
21
- component: route.component,
22
- };
23
- // インデックスルート(末端)の場合は、現在のルートを配列に含めて返します。
24
- if (route.index) {
25
- return [matched];
26
- }
27
- // 子ルートの中にマッチするものがあるか探索します。
28
- for (const childRoute of route.children) {
29
- const childMathced = matchRoute(childRoute, pathname);
30
- if (childMathced) {
31
- return [
32
- ...childMathced,
33
- matched,
34
- ];
35
- }
36
- }
37
- return [matched];
38
- }
39
- /**
40
- * ルート定義のリスト全体から、指定されたパス名にマッチするルートを探索します。
41
- *
42
- * @param routes 探索対象となるルートオブジェクトの配列です。
43
- * @param pathname マッチング対象のパス名です。
44
- * @returns 最初にマッチしたルートとその階層構造を返し、どのルートにもマッチしない場合は `null` を返します。
45
- */
46
- export default function matchRoutes(routes, pathname) {
47
- for (const route of routes) {
48
- const matched = matchRoute(route, pathname);
49
- if (matched) {
50
- return matched;
51
- }
52
- }
53
- return null;
54
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * **`ReadonlyFormData`** インターフェースは、フォームフィールドとその値のセットをキーと値のペアで構築する方法を提供します。
3
- *
4
- * 構築したデータは、`fetch()`、`XMLHttpRequest.send()`、または `navigator.sendBeacon()` メソッドを使用して送信できます。
5
- *
6
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/FormData)
7
- */
8
- export interface ReadonlyFormData {
9
- /**
10
- * ReadonlyFormData インターフェースの **`get()`** メソッドは、`FormData` オブジェクト内にある指定したキーに関連付けられた最初の値を返します。
11
- *
12
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/FormData/get)
13
- */
14
- get(name: string): FormDataEntryValue | null;
15
- /**
16
- * ReadonlyFormData インターフェースの **`getAll()`** メソッドは、`FormData` オブジェクト内にある指定したキーに関連付けられたすべての値を返します。
17
- *
18
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/FormData/getAll)
19
- */
20
- getAll(name: string): FormDataEntryValue[];
21
- /**
22
- * ReadonlyFormData インターフェースの **`has()`** メソッドは、`FormData` オブジェクトに特定のキーが含まれているかどうかを返します。
23
- *
24
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/FormData/has)
25
- */
26
- has(name: string): boolean;
27
- /**
28
- * FormData オブジェクトに含まれるすべてのキーと値のペアに対して、指定されたコールバック関数を一度ずつ実行します。
29
- */
30
- forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: ReadonlyFormData) => void, thisArg?: any): void;
31
- }
32
- //# sourceMappingURL=readonly-form-data.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readonly-form-data.types.d.ts","sourceRoot":"","sources":["../../src/core/readonly-form-data.types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAE3C;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE3B;;OAEG;IACH,OAAO,CACL,UAAU,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI,EACtF,OAAO,CAAC,EAAE,GAAG,GACZ,IAAI,CAAC;CA2BT"}
@@ -1,135 +0,0 @@
1
- /**
2
- * **`ReadonlyURL`** インターフェースは、URL の解析、構築、正規化、およびエンコードを行うために使用されます。
3
- *
4
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL)
5
- */
6
- export interface ReadonlyURL {
7
- /**
8
- * ReadonlyURL インターフェースの **`hash`** プロパティーは、"#" とそれに続く ReadonlyURL のフラグメント識別子を含む文字列です。
9
- *
10
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/hash)
11
- */
12
- readonly hash: string;
13
- /**
14
- * ReadonlyURL インターフェースの **`host`** プロパティーは、ホスト(`ReadonlyURL.hostname`)と、URL のポートが空でない場合は ":" に続くポート(`ReadonlyURL.port`)を含む文字列です。
15
- *
16
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/host)
17
- */
18
- readonly host: string;
19
- /**
20
- * ReadonlyURL インターフェースの **`hostname`** プロパティーは、URL のドメイン名または IP アドレスを含む文字列です。
21
- *
22
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/hostname)
23
- */
24
- readonly hostname: string;
25
- /**
26
- * ReadonlyURL インターフェースの **`href`** プロパティーは、URL 全体を含む文字列です。
27
- *
28
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/href)
29
- */
30
- readonly href: string;
31
- /**
32
- * ReadonlyURL インターフェースの **`toString()`** メソッドは、URL をシリアライズした文字列を返します。実際には `ReadonlyURL.href` と同じ値を返します。
33
- *
34
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/toString)
35
- */
36
- toString(): string;
37
- /**
38
- * ReadonlyURL インターフェースの **`origin`** プロパティーは、対象となる ReadonlyURL のオリジンを Unicode 形式でシリアライズした文字列を返します。
39
- *
40
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/origin)
41
- */
42
- readonly origin: string;
43
- /**
44
- * ReadonlyURL インターフェースの **`password`** プロパティーは、URL のパスワード成分を含む文字列です。
45
- *
46
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/password)
47
- */
48
- readonly password: string;
49
- /**
50
- * ReadonlyURL インターフェースの **`pathname`** プロパティーは、階層構造における場所を表します。
51
- *
52
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/pathname)
53
- */
54
- readonly pathname: string;
55
- /**
56
- * ReadonlyURL インターフェースの **`port`** プロパティーは、URL のポート番号を含む文字列です。
57
- *
58
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/port)
59
- */
60
- readonly port: string;
61
- /**
62
- * ReadonlyURL インターフェースの **`protocol`** プロパティーは、末尾の ":" を含む、URL のプロトコルまたはスキームを示す文字列です。
63
- *
64
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/protocol)
65
- */
66
- readonly protocol: string;
67
- /**
68
- * ReadonlyURL インターフェースの **`search`** プロパティーは、検索文字列(またはクエリー文字列)です。これは、"?" とそれに続く ReadonlyURL のパラメーターを含む文字列です。
69
- *
70
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/search)
71
- */
72
- readonly search: string;
73
- /**
74
- * ReadonlyURL インターフェースの **`searchParams`** プロパティーは、URL に含まれるクエリー引数をデコードして扱うための `ReadonlyURLSearchParams` オブジェクトへのアクセスを提供します。
75
- *
76
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/searchParams)
77
- */
78
- readonly searchParams: ReadonlyURLSearchParams;
79
- /**
80
- * ReadonlyURL インターフェースの **`username`** プロパティーは、URL のユーザー名成分を含む文字列です。
81
- *
82
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/username)
83
- */
84
- readonly username: string;
85
- /**
86
- * ReadonlyURL インターフェースの **`toJSON()`** メソッドは、URL をシリアライズした文字列を返します。実際には `ReadonlyURL.href` と同じ値を返します。
87
- *
88
- * [MDN リファレンス](https://developer.mozilla.org/docs/Web/API/URL/toJSON)
89
- */
90
- toJSON(): string;
91
- }
92
- /**
93
- * **`ReadonlyURLSearchParams`** インターフェースは、URLのクエリー文字列を操作するための便利なメソッドを定義します。
94
- *
95
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams)
96
- */
97
- export interface ReadonlyURLSearchParams {
98
- /**
99
- * ReadonlyURLSearchParams インターフェースの **`size`** プロパティーは、検索パラメーターのエントリーの総数を示します。
100
- *
101
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/size)
102
- */
103
- readonly size: number;
104
- /**
105
- * ReadonlyURLSearchParams インターフェースの **`get()`** メソッドは、指定された検索パラメーターに関連付けられた最初の値を返します。
106
- *
107
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/get)
108
- */
109
- get(name: string): string | null;
110
- /**
111
- * ReadonlyURLSearchParams インターフェースの **`getAll()`** メソッドは、指定された検索パラメーターに関連付けられたすべての値を配列として返します。
112
- *
113
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/getAll)
114
- */
115
- getAll(name: string): string[];
116
- /**
117
- * ReadonlyURLSearchParams インターフェースの **`has()`** メソッドは、指定されたパラメーターが検索パラメーターに含まれているかどうかを示す論理値を返します。
118
- *
119
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/has)
120
- */
121
- has(name: string, value?: string): boolean;
122
- /**
123
- * ReadonlyURLSearchParams インターフェースの **`toString()`** メソッドは、URL で使用できるクエリー文字列(先頭の "?" を除く)を返します。
124
- *
125
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/toString)
126
- */
127
- toString(): string;
128
- /**
129
- * ReadonlyURLSearchParams インターフェースの **`forEach()`** メソッドは、このオブジェクト内に存在する各値に対して、渡されたコールバック関数を一度ずつ実行します。
130
- *
131
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URLSearchParams/forEach)
132
- */
133
- forEach(callbackfn: (value: string, key: string, parent: ReadonlyURLSearchParams) => void, thisArg?: any): void;
134
- }
135
- //# sourceMappingURL=readonly-url.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readonly-url.types.d.ts","sourceRoot":"","sources":["../../src/core/readonly-url.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAE/C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEjC;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE/B;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE3C;;;;OAIG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CACL,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,KAAK,IAAI,EACjF,OAAO,CAAC,EAAE,GAAG,GACZ,IAAI,CAAC;CACT"}
@@ -1,29 +0,0 @@
1
- /**
2
- * リダイレクトの識別子として使用されるユニークなシンボルです。
3
- */
4
- declare const ID: unique symbol;
5
- /**
6
- * リダイレクトレスポンスを表現するクラスです。
7
- *
8
- * 指定されたパス名をエンコードして保持します。
9
- */
10
- export default class RedirectResponse {
11
- /**
12
- * クラスを識別するためのユニークな ID です。
13
- *
14
- * @internal
15
- */
16
- readonly ID: typeof ID;
17
- /**
18
- * エンコード済みのリダイレクト先パス名です。
19
- */
20
- readonly pathname: string;
21
- /**
22
- * RedirectResponse クラスの新しいインスタンスを初期化します。
23
- *
24
- * @param pathname リダイレクト先のパス名です。
25
- */
26
- constructor(pathname: string);
27
- }
28
- export {};
29
- //# sourceMappingURL=redirect-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redirect-response.d.ts","sourceRoot":"","sources":["../../src/core/redirect-response.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,MAAM,CAAC;AAEhC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC;;;;OAIG;IAEH,SAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IAE9B;;OAEG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;gBACgB,QAAQ,EAAE,MAAM;CAIpC"}
@@ -1,17 +0,0 @@
1
- import encodePathname from "./_encode-pathname.js";
2
- /**
3
- * リダイレクトレスポンスを表現するクラスです。
4
- *
5
- * 指定されたパス名をエンコードして保持します。
6
- */
7
- export default class RedirectResponse {
8
- /**
9
- * RedirectResponse クラスの新しいインスタンスを初期化します。
10
- *
11
- * @param pathname リダイレクト先のパス名です。
12
- */
13
- constructor(pathname) {
14
- // パス名を適切な形式にエンコードして格納します。
15
- this.pathname = encodePathname(pathname);
16
- }
17
- }
@@ -1,52 +0,0 @@
1
- import type { ReadonlyFormData } from "./readonly-form-data.types.js";
2
- import type { ReadonlyURL } from "./readonly-url.types.js";
3
- /**
4
- * ルーティングのリクエスト情報を管理するクラスです。
5
- */
6
- export default class RouteRequest {
7
- /**
8
- * HTTP メソッドです。 "GET" または "POST" のいずれかとなります。
9
- */
10
- readonly method: "GET" | "POST";
11
- /**
12
- * リクエスト先の URL です。
13
- *
14
- * インスタンス化の際に検索パラメーターがソートされた状態で保持されます。
15
- */
16
- readonly url: ReadonlyURL;
17
- /**
18
- * リクエストのキャンセルや中断を監視するための信号です。
19
- */
20
- readonly signal: AbortSignal;
21
- /**
22
- * 送信されたフォームデータです。
23
- *
24
- * データが存在しない場合は `null` となります。
25
- */
26
- readonly formData: ReadonlyFormData | null;
27
- /**
28
- * RouteRequest クラスの新しいインスタンスを初期化します。
29
- *
30
- * @param method 使用する HTTP メソッドです。
31
- * @param url リクエスト対象の URL オブジェクトです。
32
- * @param signal 処理を中断するための AbortSignal オブジェクトです。
33
- */
34
- constructor(method: "GET", url: ReadonlyURL, signal: AbortSignal);
35
- /**
36
- * RouteRequest クラスの新しいインスタンスを初期化します。
37
- *
38
- * @param method 使用する HTTP メソッドです。
39
- * @param url リクエスト対象の URL オブジェクトです。
40
- * @param signal 処理を中断するための AbortSignal オブジェクトです。
41
- * @param formData 送信するフォームデータです。
42
- */
43
- constructor(method: "POST", url: ReadonlyURL, signal: AbortSignal, formData: ReadonlyFormData);
44
- /**
45
- * 現在のプロパティーを基に、標準の Request オブジェクトを生成して返します。
46
- *
47
- * @param init リクエストに適用したいカスタム設定です。
48
- * @returns fetch API などで使用可能な Request オブジェクトを返します。
49
- */
50
- toRequest(init?: RequestInit | undefined): Request;
51
- }
52
- //# sourceMappingURL=route-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route-request.d.ts","sourceRoot":"","sources":["../../src/core/route-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B;;OAEG;IACH,SAAgB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IAEvC;;;;OAIG;IACH,SAAgB,GAAG,EAAE,WAAW,CAAC;IAEjC;;OAEG;IACH,SAAgB,MAAM,EAAE,WAAW,CAAC;IAEpC;;;;OAIG;IACH,SAAgB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAElD;;;;;;OAMG;gBAED,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW;IAGrB;;;;;;;OAOG;gBAED,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,gBAAgB;IAe5B;;;;;OAKG;IACI,SAAS,CAAC,IAAI,GAAE,WAAW,GAAG,SAAc,GAAG,OAAO;CAc9D"}
@@ -1,26 +0,0 @@
1
- /**
2
- * ルーティングのリクエスト情報を管理するクラスです。
3
- */
4
- export default class RouteRequest {
5
- constructor(method, url, signal, formData) {
6
- this.url = url;
7
- this.method = method;
8
- this.signal = signal;
9
- this.formData = formData || null;
10
- }
11
- /**
12
- * 現在のプロパティーを基に、標準の Request オブジェクトを生成して返します。
13
- *
14
- * @param init リクエストに適用したいカスタム設定です。
15
- * @returns fetch API などで使用可能な Request オブジェクトを返します。
16
- */
17
- toRequest(init = {}) {
18
- const { body = this.formData, method = this.method, signal = this.signal, ...other } = init;
19
- return new Request(this.url.href, {
20
- body,
21
- method,
22
- signal,
23
- ...other,
24
- });
25
- }
26
- }