intor 2.4.17 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (927) hide show
  1. package/dist/core/export/edge/index.js +0 -5
  2. package/dist/core/export/index.js +4 -4
  3. package/dist/core/export/internal/index.js +1 -2
  4. package/dist/core/export/server/index.js +0 -2
  5. package/dist/core/src/client/shared/helpers/get-client-locale.js +16 -0
  6. package/dist/core/src/client/shared/utils/locale/detect-browser-locale.js +6 -0
  7. package/dist/core/src/client/shared/utils/locale/get-locale-from-cookie.js +9 -0
  8. package/dist/core/src/config/constants/cookie.js +9 -9
  9. package/dist/core/src/config/constants/routing.js +13 -14
  10. package/dist/core/src/config/define-intor-config.js +28 -37
  11. package/dist/core/src/config/resolvers/resolve-cookie-options.js +4 -4
  12. package/dist/core/src/config/resolvers/resolve-fallback-locales.js +33 -51
  13. package/dist/core/src/config/resolvers/resolve-routing-options.js +35 -48
  14. package/dist/core/src/config/validators/validate-default-locale.js +9 -14
  15. package/dist/core/src/config/validators/validate-id.js +9 -14
  16. package/dist/core/src/config/validators/validate-supported-locales.js +9 -14
  17. package/dist/core/src/core/constants/locale-placeholder.js +0 -1
  18. package/dist/core/src/core/error/intor-error.js +17 -18
  19. package/dist/core/src/core/locale/canonicalize-locale.js +7 -18
  20. package/dist/core/src/core/locale/match-locale.js +24 -46
  21. package/dist/core/src/core/locale/parse-locale.js +12 -22
  22. package/dist/core/src/core/logger/get-logger.js +26 -28
  23. package/dist/core/src/core/logger/global-logger-pool.js +5 -13
  24. package/dist/core/src/core/messages/internal-metadata.js +2 -11
  25. package/dist/core/src/core/messages/load-remote-messages/collect-remote-resources.js +13 -22
  26. package/dist/core/src/core/messages/load-remote-messages/fetch-remote-resource.js +30 -39
  27. package/dist/core/src/core/messages/load-remote-messages/load-remote-messages.js +72 -81
  28. package/dist/core/src/core/messages/load-remote-messages/resolve-remote-resources.js +7 -17
  29. package/dist/core/src/core/messages/merge-messages.js +17 -26
  30. package/dist/core/src/core/messages/utils/is-valid-messages.js +22 -37
  31. package/dist/core/src/core/messages/utils/nest-object-from-path.js +5 -17
  32. package/dist/core/src/core/render/create-html-renderer.js +29 -37
  33. package/dist/core/src/core/render/utils/escape-html.js +1 -6
  34. package/dist/core/src/core/render/utils/render-attributes.js +6 -11
  35. package/dist/core/src/core/translator/create-t-rich.js +6 -15
  36. package/dist/core/src/core/translator/create-translator.js +16 -23
  37. package/dist/core/src/core/utils/deep-merge.js +24 -42
  38. package/dist/core/src/core/utils/normalizers/normalize-cache-key.js +14 -40
  39. package/dist/core/src/core/utils/normalizers/normalize-pathname.js +20 -39
  40. package/dist/core/src/core/utils/normalizers/normalize-query.js +6 -20
  41. package/dist/core/src/core/utils/parse-cookie-header.js +11 -18
  42. package/dist/core/src/core/utils/resolve-loader-options.js +6 -32
  43. package/dist/core/src/edge/helpers/get-translator.js +14 -19
  44. package/dist/core/src/edge/translator/init-translator.js +24 -26
  45. package/dist/core/src/routing/inbound/helpers/resolve-inbound-from-request.js +22 -18
  46. package/dist/core/src/routing/inbound/resolve-inbound.js +24 -37
  47. package/dist/core/src/routing/inbound/resolve-locale/resolve-locale.js +22 -24
  48. package/dist/core/src/routing/inbound/resolve-pathname/resolve-pathname.js +36 -0
  49. package/dist/core/src/routing/inbound/resolve-pathname/strategies/all.js +15 -0
  50. package/dist/core/src/routing/inbound/resolve-pathname/strategies/except-default.js +16 -0
  51. package/dist/core/src/routing/inbound/resolve-pathname/strategies/none.js +5 -0
  52. package/dist/core/src/routing/locale/get-locale-from-accept-language.js +21 -34
  53. package/dist/core/src/routing/locale/get-locale-from-host.js +5 -28
  54. package/dist/core/src/routing/locale/get-locale-from-pathname.js +11 -38
  55. package/dist/core/src/routing/locale/get-locale-from-query.js +2 -17
  56. package/dist/core/src/routing/pathname/canonicalize-pathname.js +25 -36
  57. package/dist/core/src/routing/pathname/localize-pathname.js +12 -28
  58. package/dist/core/src/routing/pathname/materialize-pathname.js +9 -33
  59. package/dist/core/src/routing/pathname/standardize-pathname.js +7 -26
  60. package/dist/core/src/server/helpers/get-translator.js +26 -22
  61. package/dist/core/src/server/intor/intor.js +20 -23
  62. package/dist/core/src/server/messages/load-local-messages/cache/messages-pool.js +5 -14
  63. package/dist/core/src/server/messages/load-local-messages/load-local-messages.js +76 -94
  64. package/dist/core/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.js +59 -81
  65. package/dist/core/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.js +53 -88
  66. package/dist/core/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.js +3 -6
  67. package/dist/core/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.js +23 -35
  68. package/dist/core/src/server/messages/load-messages.js +56 -68
  69. package/dist/core/src/server/translator/init-translator.js +29 -26
  70. package/dist/express/src/adapters/express/create-intor-handler.js +36 -45
  71. package/dist/express/src/adapters/express/get-translator.js +3 -24
  72. package/dist/express/src/core/constants/locale-placeholder.js +0 -1
  73. package/dist/express/src/core/locale/canonicalize-locale.js +7 -18
  74. package/dist/express/src/core/locale/match-locale.js +24 -46
  75. package/dist/express/src/core/locale/parse-locale.js +12 -22
  76. package/dist/express/src/core/utils/normalizers/normalize-pathname.js +20 -39
  77. package/dist/express/src/core/utils/normalizers/normalize-query.js +6 -20
  78. package/dist/express/src/core/utils/parse-cookie-header.js +11 -18
  79. package/dist/express/src/routing/inbound/resolve-inbound.js +24 -37
  80. package/dist/express/src/routing/inbound/resolve-locale/resolve-locale.js +22 -24
  81. package/dist/express/src/routing/inbound/resolve-pathname/resolve-pathname.js +36 -0
  82. package/dist/express/src/routing/inbound/resolve-pathname/strategies/all.js +15 -0
  83. package/dist/express/src/routing/inbound/resolve-pathname/strategies/except-default.js +16 -0
  84. package/dist/express/src/routing/inbound/resolve-pathname/strategies/none.js +5 -0
  85. package/dist/express/src/routing/locale/get-locale-from-accept-language.js +21 -34
  86. package/dist/express/src/routing/locale/get-locale-from-host.js +5 -28
  87. package/dist/express/src/routing/locale/get-locale-from-pathname.js +11 -38
  88. package/dist/express/src/routing/locale/get-locale-from-query.js +2 -17
  89. package/dist/express/src/routing/pathname/canonicalize-pathname.js +25 -36
  90. package/dist/express/src/routing/pathname/localize-pathname.js +12 -28
  91. package/dist/express/src/routing/pathname/materialize-pathname.js +9 -33
  92. package/dist/express/src/routing/pathname/standardize-pathname.js +7 -26
  93. package/dist/fastify/src/adapters/fastify/create-intor-handler.js +36 -44
  94. package/dist/fastify/src/adapters/fastify/get-translator.js +3 -24
  95. package/dist/fastify/src/adapters/fastify/intor-fastify-plugin.js +34 -28
  96. package/dist/fastify/src/core/constants/locale-placeholder.js +0 -1
  97. package/dist/fastify/src/core/locale/canonicalize-locale.js +7 -18
  98. package/dist/fastify/src/core/locale/match-locale.js +24 -46
  99. package/dist/fastify/src/core/locale/parse-locale.js +12 -22
  100. package/dist/fastify/src/core/utils/normalizers/normalize-pathname.js +20 -39
  101. package/dist/fastify/src/core/utils/normalizers/normalize-query.js +6 -20
  102. package/dist/fastify/src/core/utils/parse-cookie-header.js +11 -18
  103. package/dist/fastify/src/routing/inbound/resolve-inbound.js +24 -37
  104. package/dist/fastify/src/routing/inbound/resolve-locale/resolve-locale.js +22 -24
  105. package/dist/fastify/src/routing/inbound/resolve-pathname/resolve-pathname.js +36 -0
  106. package/dist/fastify/src/routing/inbound/resolve-pathname/strategies/all.js +15 -0
  107. package/dist/fastify/src/routing/inbound/resolve-pathname/strategies/except-default.js +16 -0
  108. package/dist/fastify/src/routing/inbound/resolve-pathname/strategies/none.js +5 -0
  109. package/dist/fastify/src/routing/locale/get-locale-from-accept-language.js +21 -34
  110. package/dist/fastify/src/routing/locale/get-locale-from-host.js +5 -28
  111. package/dist/fastify/src/routing/locale/get-locale-from-pathname.js +11 -38
  112. package/dist/fastify/src/routing/locale/get-locale-from-query.js +2 -17
  113. package/dist/fastify/src/routing/pathname/canonicalize-pathname.js +25 -36
  114. package/dist/fastify/src/routing/pathname/localize-pathname.js +12 -28
  115. package/dist/fastify/src/routing/pathname/materialize-pathname.js +9 -33
  116. package/dist/fastify/src/routing/pathname/standardize-pathname.js +7 -26
  117. package/dist/hono/src/adapters/hono/create-intor-handler.js +34 -41
  118. package/dist/hono/src/adapters/hono/get-translator.js +3 -15
  119. package/dist/hono/src/core/constants/locale-placeholder.js +0 -1
  120. package/dist/hono/src/core/locale/canonicalize-locale.js +7 -18
  121. package/dist/hono/src/core/locale/match-locale.js +24 -46
  122. package/dist/hono/src/core/locale/parse-locale.js +12 -22
  123. package/dist/hono/src/core/utils/normalizers/normalize-pathname.js +20 -39
  124. package/dist/hono/src/core/utils/normalizers/normalize-query.js +6 -20
  125. package/dist/hono/src/core/utils/parse-cookie-header.js +11 -18
  126. package/dist/hono/src/routing/inbound/resolve-inbound.js +24 -37
  127. package/dist/hono/src/routing/inbound/resolve-locale/resolve-locale.js +22 -24
  128. package/dist/hono/src/routing/inbound/resolve-pathname/resolve-pathname.js +36 -0
  129. package/dist/hono/src/routing/inbound/resolve-pathname/strategies/all.js +15 -0
  130. package/dist/hono/src/routing/inbound/resolve-pathname/strategies/except-default.js +16 -0
  131. package/dist/hono/src/routing/inbound/resolve-pathname/strategies/none.js +5 -0
  132. package/dist/hono/src/routing/locale/get-locale-from-accept-language.js +21 -34
  133. package/dist/hono/src/routing/locale/get-locale-from-host.js +5 -28
  134. package/dist/hono/src/routing/locale/get-locale-from-pathname.js +11 -38
  135. package/dist/hono/src/routing/locale/get-locale-from-query.js +2 -17
  136. package/dist/hono/src/routing/pathname/canonicalize-pathname.js +25 -36
  137. package/dist/hono/src/routing/pathname/localize-pathname.js +12 -28
  138. package/dist/hono/src/routing/pathname/materialize-pathname.js +9 -33
  139. package/dist/hono/src/routing/pathname/standardize-pathname.js +7 -26
  140. package/dist/next/src/adapters/next/create-intor-handler.js +29 -45
  141. package/dist/next/src/adapters/next/link.js +35 -31
  142. package/dist/next/src/adapters/next/redirect.js +13 -18
  143. package/dist/next/src/adapters/next/server/get-locale.js +12 -23
  144. package/dist/next/src/adapters/next/server/get-translator.js +3 -24
  145. package/dist/next/src/adapters/next/server/intor.js +6 -18
  146. package/dist/next/src/adapters/next/use-router.js +54 -47
  147. package/dist/next/src/client/shared/navigation/execute-navigation.js +20 -39
  148. package/dist/next/src/client/shared/utils/build-cookie-string.js +18 -26
  149. package/dist/next/src/client/shared/utils/locale/set-locale-cookie.js +2 -9
  150. package/dist/next/src/core/constants/headers.js +4 -4
  151. package/dist/next/src/core/constants/locale-placeholder.js +0 -1
  152. package/dist/next/src/core/locale/canonicalize-locale.js +7 -18
  153. package/dist/next/src/core/locale/match-locale.js +24 -46
  154. package/dist/next/src/core/locale/parse-locale.js +12 -22
  155. package/dist/next/src/core/utils/normalizers/normalize-pathname.js +20 -39
  156. package/dist/next/src/core/utils/normalizers/normalize-query.js +6 -20
  157. package/dist/next/src/core/utils/resolve-loader-options.js +5 -32
  158. package/dist/next/src/policies/shoud-full-reload.js +2 -6
  159. package/dist/next/src/policies/should-sync-locale.js +1 -4
  160. package/dist/next/src/routing/inbound/resolve-inbound.js +26 -39
  161. package/dist/next/src/routing/inbound/resolve-locale/resolve-locale.js +22 -24
  162. package/dist/next/src/routing/inbound/resolve-pathname/resolve-pathname.js +36 -0
  163. package/dist/next/src/routing/inbound/resolve-pathname/strategies/all.js +18 -0
  164. package/dist/next/src/routing/inbound/resolve-pathname/strategies/except-default.js +19 -0
  165. package/dist/next/src/routing/inbound/resolve-pathname/strategies/none.js +5 -0
  166. package/dist/next/src/routing/locale/get-locale-from-accept-language.js +21 -34
  167. package/dist/next/src/routing/locale/get-locale-from-host.js +5 -28
  168. package/dist/next/src/routing/locale/get-locale-from-pathname.js +11 -38
  169. package/dist/next/src/routing/locale/get-locale-from-query.js +2 -17
  170. package/dist/next/src/routing/outbound/decide-strategy.js +9 -9
  171. package/dist/next/src/routing/outbound/determine-target.js +28 -44
  172. package/dist/next/src/routing/outbound/resolve-outbound.js +12 -16
  173. package/dist/next/src/routing/outbound/utils/derive-host-destination.js +5 -9
  174. package/dist/next/src/routing/outbound/utils/derive-query-destination.js +4 -7
  175. package/dist/next/src/routing/outbound/utils/is-external-destination.js +1 -7
  176. package/dist/next/src/routing/pathname/canonicalize-pathname.js +25 -36
  177. package/dist/next/src/routing/pathname/localize-pathname.js +12 -28
  178. package/dist/next/src/routing/pathname/materialize-pathname.js +9 -33
  179. package/dist/next/src/routing/pathname/standardize-pathname.js +7 -26
  180. package/dist/react/export/react/index.js +1 -3
  181. package/dist/react/export/react/internal/index.js +5 -0
  182. package/dist/react/src/client/react/helpers/use-intor.js +26 -37
  183. package/dist/react/src/client/react/provider/effects/use-locale-effects.js +20 -26
  184. package/dist/react/src/client/react/provider/effects/use-messages-effects.js +17 -16
  185. package/dist/react/src/client/react/provider/intor-provider.js +64 -60
  186. package/dist/react/src/client/react/provider/use-intor-context.js +4 -4
  187. package/dist/react/src/client/react/render/create-react-renderer.js +18 -24
  188. package/dist/react/src/client/react/translator/create-t-rich.js +10 -19
  189. package/dist/react/src/client/react/translator/use-translator.js +11 -16
  190. package/dist/react/src/client/shared/messages/create-refetch-messages.js +41 -51
  191. package/dist/react/src/client/shared/provider/effective-state.js +8 -0
  192. package/dist/react/src/client/shared/utils/build-cookie-string.js +18 -26
  193. package/dist/react/src/client/shared/utils/locale/get-locale-from-cookie.js +5 -12
  194. package/dist/react/src/client/shared/utils/locale/set-document-locale.js +2 -8
  195. package/dist/react/src/client/shared/utils/locale/set-locale-cookie.js +2 -9
  196. package/dist/react/src/core/logger/get-logger.js +26 -28
  197. package/dist/react/src/core/logger/global-logger-pool.js +4 -4
  198. package/dist/react/src/core/messages/load-remote-messages/collect-remote-resources.js +13 -22
  199. package/dist/react/src/core/messages/load-remote-messages/fetch-remote-resource.js +30 -39
  200. package/dist/react/src/core/messages/load-remote-messages/load-remote-messages.js +72 -81
  201. package/dist/react/src/core/messages/load-remote-messages/resolve-remote-resources.js +7 -17
  202. package/dist/react/src/core/messages/merge-messages.js +17 -26
  203. package/dist/react/src/core/messages/utils/is-valid-messages.js +22 -37
  204. package/dist/react/src/core/messages/utils/nest-object-from-path.js +5 -17
  205. package/dist/react/src/core/utils/deep-merge.js +24 -42
  206. package/dist/react/src/core/utils/resolve-loader-options.js +6 -29
  207. package/dist/react/src/policies/should-persist-on-first-visit.js +1 -4
  208. package/dist/svelte/export/svelte/index.js +1 -3
  209. package/dist/svelte/export/svelte/internal/index.js +7 -0
  210. package/dist/svelte/src/client/shared/messages/create-refetch-messages.js +41 -51
  211. package/dist/svelte/src/client/shared/provider/effective-state.js +8 -0
  212. package/dist/svelte/src/client/shared/utils/build-cookie-string.js +18 -26
  213. package/dist/svelte/src/client/shared/utils/locale/get-locale-from-cookie.js +5 -12
  214. package/dist/svelte/src/client/shared/utils/locale/set-document-locale.js +2 -8
  215. package/dist/svelte/src/client/shared/utils/locale/set-locale-cookie.js +2 -9
  216. package/dist/svelte/src/client/svelte/provider/create-intor-store.js +65 -52
  217. package/dist/svelte/src/client/svelte/provider/effects/attach-locale-effects.js +32 -0
  218. package/dist/svelte/src/client/svelte/provider/effects/attach-messages-effects.js +26 -0
  219. package/dist/svelte/src/client/svelte/provider/get-intor-context.js +11 -0
  220. package/dist/svelte/src/client/svelte/translator/use-translator.js +12 -18
  221. package/dist/svelte/src/core/logger/get-logger.js +26 -28
  222. package/dist/svelte/src/core/logger/global-logger-pool.js +4 -4
  223. package/dist/svelte/src/core/messages/load-remote-messages/collect-remote-resources.js +13 -22
  224. package/dist/svelte/src/core/messages/load-remote-messages/fetch-remote-resource.js +30 -39
  225. package/dist/svelte/src/core/messages/load-remote-messages/load-remote-messages.js +72 -81
  226. package/dist/svelte/src/core/messages/load-remote-messages/resolve-remote-resources.js +7 -17
  227. package/dist/svelte/src/core/messages/merge-messages.js +17 -26
  228. package/dist/svelte/src/core/messages/utils/is-valid-messages.js +22 -37
  229. package/dist/svelte/src/core/messages/utils/nest-object-from-path.js +5 -17
  230. package/dist/svelte/src/core/render/create-html-renderer.js +29 -37
  231. package/dist/svelte/src/core/render/utils/escape-html.js +1 -6
  232. package/dist/svelte/src/core/render/utils/render-attributes.js +6 -11
  233. package/dist/svelte/src/core/translator/create-t-rich.js +6 -15
  234. package/dist/svelte/src/core/utils/deep-merge.js +24 -42
  235. package/dist/svelte/src/core/utils/resolve-loader-options.js +6 -29
  236. package/dist/svelte/src/policies/should-persist-on-first-visit.js +1 -4
  237. package/dist/svelte-kit/src/adapters/svelte-kit/create-intor-handler.js +38 -53
  238. package/dist/svelte-kit/src/adapters/svelte-kit/use-navigation.js +31 -30
  239. package/dist/svelte-kit/src/adapters/svelte-kit/utils/is-svelte-kit-ssg.js +4 -11
  240. package/dist/svelte-kit/src/client/shared/navigation/execute-navigation.js +19 -38
  241. package/dist/svelte-kit/src/client/shared/utils/build-cookie-string.js +18 -26
  242. package/dist/svelte-kit/src/client/shared/utils/locale/set-locale-cookie.js +2 -9
  243. package/dist/svelte-kit/src/core/constants/locale-placeholder.js +0 -1
  244. package/dist/svelte-kit/src/core/locale/canonicalize-locale.js +7 -18
  245. package/dist/svelte-kit/src/core/locale/match-locale.js +24 -46
  246. package/dist/svelte-kit/src/core/locale/parse-locale.js +12 -22
  247. package/dist/svelte-kit/src/core/utils/normalizers/normalize-pathname.js +20 -39
  248. package/dist/svelte-kit/src/core/utils/normalizers/normalize-query.js +6 -20
  249. package/dist/svelte-kit/src/core/utils/resolve-loader-options.js +6 -29
  250. package/dist/svelte-kit/src/policies/shoud-full-reload.js +2 -6
  251. package/dist/svelte-kit/src/policies/should-sync-locale.js +1 -4
  252. package/dist/svelte-kit/src/routing/inbound/resolve-inbound.js +24 -37
  253. package/dist/svelte-kit/src/routing/inbound/resolve-locale/resolve-locale.js +22 -24
  254. package/dist/svelte-kit/src/routing/inbound/resolve-pathname/resolve-pathname.js +36 -0
  255. package/dist/svelte-kit/src/routing/inbound/resolve-pathname/strategies/all.js +15 -0
  256. package/dist/svelte-kit/src/routing/inbound/resolve-pathname/strategies/except-default.js +16 -0
  257. package/dist/svelte-kit/src/routing/inbound/resolve-pathname/strategies/none.js +5 -0
  258. package/dist/svelte-kit/src/routing/locale/get-locale-from-accept-language.js +21 -34
  259. package/dist/svelte-kit/src/routing/locale/get-locale-from-host.js +5 -28
  260. package/dist/svelte-kit/src/routing/locale/get-locale-from-pathname.js +11 -38
  261. package/dist/svelte-kit/src/routing/locale/get-locale-from-query.js +2 -17
  262. package/dist/svelte-kit/src/routing/outbound/decide-strategy.js +9 -9
  263. package/dist/svelte-kit/src/routing/outbound/determine-target.js +28 -44
  264. package/dist/svelte-kit/src/routing/outbound/resolve-outbound.js +12 -16
  265. package/dist/svelte-kit/src/routing/outbound/utils/derive-host-destination.js +5 -9
  266. package/dist/svelte-kit/src/routing/outbound/utils/derive-query-destination.js +4 -7
  267. package/dist/svelte-kit/src/routing/outbound/utils/is-external-destination.js +1 -7
  268. package/dist/svelte-kit/src/routing/pathname/canonicalize-pathname.js +25 -36
  269. package/dist/svelte-kit/src/routing/pathname/localize-pathname.js +12 -28
  270. package/dist/svelte-kit/src/routing/pathname/materialize-pathname.js +9 -33
  271. package/dist/svelte-kit/src/routing/pathname/standardize-pathname.js +7 -26
  272. package/dist/types/export/edge/index.d.ts +3 -2
  273. package/dist/types/export/edge/index.d.ts.map +1 -0
  274. package/dist/types/export/express/index.d.ts +3 -0
  275. package/dist/types/export/express/index.d.ts.map +1 -0
  276. package/dist/types/export/fastify/index.d.ts +4 -1
  277. package/dist/types/export/fastify/index.d.ts.map +1 -0
  278. package/dist/types/export/hono/index.d.ts +3 -0
  279. package/dist/types/export/hono/index.d.ts.map +1 -0
  280. package/dist/types/export/index.d.ts +7 -4
  281. package/dist/types/export/index.d.ts.map +1 -0
  282. package/dist/types/export/internal/index.d.ts +6 -3
  283. package/dist/types/export/internal/index.d.ts.map +1 -0
  284. package/dist/types/export/next/index.d.ts +3 -1
  285. package/dist/types/export/next/index.d.ts.map +1 -0
  286. package/dist/types/export/next/server/index.d.ts +4 -1
  287. package/dist/types/export/next/server/index.d.ts.map +1 -0
  288. package/dist/types/export/react/index.d.ts +3 -2
  289. package/dist/types/export/react/index.d.ts.map +1 -0
  290. package/dist/types/export/react/internal/index.d.ts +2 -0
  291. package/dist/types/export/react/internal/index.d.ts.map +1 -0
  292. package/dist/types/export/server/index.d.ts +3 -1
  293. package/dist/types/export/server/index.d.ts.map +1 -0
  294. package/dist/types/export/shared-types.d.ts +3 -0
  295. package/dist/types/export/shared-types.d.ts.map +1 -0
  296. package/dist/types/export/svelte/index.d.ts +8 -3
  297. package/dist/types/export/svelte/index.d.ts.map +1 -0
  298. package/dist/types/export/svelte/internal/index.d.ts +2 -0
  299. package/dist/types/export/svelte/internal/index.d.ts.map +1 -0
  300. package/dist/types/export/svelte-kit/index.d.ts +3 -1
  301. package/dist/types/export/svelte-kit/index.d.ts.map +1 -0
  302. package/dist/types/export/vue/index.d.ts +3 -1
  303. package/dist/types/export/vue/index.d.ts.map +1 -0
  304. package/dist/types/src/adapters/express/augmentation.d.ts +19 -0
  305. package/dist/types/src/adapters/express/augmentation.d.ts.map +1 -0
  306. package/dist/types/src/adapters/express/create-intor-handler.d.ts +6 -5
  307. package/dist/types/src/adapters/express/create-intor-handler.d.ts.map +1 -0
  308. package/dist/types/src/adapters/express/get-translator.d.ts +7 -8
  309. package/dist/types/src/adapters/express/get-translator.d.ts.map +1 -0
  310. package/dist/types/src/adapters/express/index.d.ts +2 -1
  311. package/dist/types/src/adapters/express/index.d.ts.map +1 -0
  312. package/dist/types/src/adapters/fastify/augmentation.d.ts +18 -0
  313. package/dist/types/src/adapters/fastify/augmentation.d.ts.map +1 -0
  314. package/dist/types/src/adapters/fastify/create-intor-handler.d.ts +4 -3
  315. package/dist/types/src/adapters/fastify/create-intor-handler.d.ts.map +1 -0
  316. package/dist/types/src/adapters/fastify/get-translator.d.ts +7 -8
  317. package/dist/types/src/adapters/fastify/get-translator.d.ts.map +1 -0
  318. package/dist/types/src/adapters/fastify/index.d.ts +3 -2
  319. package/dist/types/src/adapters/fastify/index.d.ts.map +1 -0
  320. package/dist/types/src/adapters/fastify/intor-fastify-plugin.d.ts +21 -8
  321. package/dist/types/src/adapters/fastify/intor-fastify-plugin.d.ts.map +1 -0
  322. package/dist/types/src/adapters/hono/augmentation.d.ts +18 -0
  323. package/dist/types/src/adapters/hono/augmentation.d.ts.map +1 -0
  324. package/dist/types/src/adapters/hono/create-intor-handler.d.ts +6 -4
  325. package/dist/types/src/adapters/hono/create-intor-handler.d.ts.map +1 -0
  326. package/dist/types/src/adapters/hono/get-translator.d.ts +7 -8
  327. package/dist/types/src/adapters/hono/get-translator.d.ts.map +1 -0
  328. package/dist/types/src/adapters/hono/index.d.ts +2 -1
  329. package/dist/types/src/adapters/hono/index.d.ts.map +1 -0
  330. package/dist/types/src/adapters/next/create-intor-handler.d.ts +4 -3
  331. package/dist/types/src/adapters/next/create-intor-handler.d.ts.map +1 -0
  332. package/dist/types/src/adapters/next/index.d.ts +1 -0
  333. package/dist/types/src/adapters/next/index.d.ts.map +1 -0
  334. package/dist/types/src/adapters/next/link.d.ts +11 -13
  335. package/dist/types/src/adapters/next/link.d.ts.map +1 -0
  336. package/dist/types/src/adapters/next/redirect.d.ts +5 -4
  337. package/dist/types/src/adapters/next/redirect.d.ts.map +1 -0
  338. package/dist/types/src/adapters/next/server/get-locale.d.ts +6 -4
  339. package/dist/types/src/adapters/next/server/get-locale.d.ts.map +1 -0
  340. package/dist/types/src/adapters/next/server/get-translator.d.ts +7 -8
  341. package/dist/types/src/adapters/next/server/get-translator.d.ts.map +1 -0
  342. package/dist/types/src/adapters/next/server/index.d.ts +1 -0
  343. package/dist/types/src/adapters/next/server/index.d.ts.map +1 -0
  344. package/dist/types/src/adapters/next/server/intor.d.ts +8 -9
  345. package/dist/types/src/adapters/next/server/intor.d.ts.map +1 -0
  346. package/dist/types/src/adapters/next/use-router.d.ts +12 -10
  347. package/dist/types/src/adapters/next/use-router.d.ts.map +1 -0
  348. package/dist/types/src/adapters/svelte-kit/create-intor-handler.d.ts +4 -3
  349. package/dist/types/src/adapters/svelte-kit/create-intor-handler.d.ts.map +1 -0
  350. package/dist/types/src/adapters/svelte-kit/index.d.ts +1 -0
  351. package/dist/types/src/adapters/svelte-kit/index.d.ts.map +1 -0
  352. package/dist/types/src/adapters/svelte-kit/use-navigation.d.ts +2 -1
  353. package/dist/types/src/adapters/svelte-kit/use-navigation.d.ts.map +1 -0
  354. package/dist/types/src/adapters/svelte-kit/utils/is-svelte-kit-ssg.d.ts +1 -0
  355. package/dist/types/src/adapters/svelte-kit/utils/is-svelte-kit-ssg.d.ts.map +1 -0
  356. package/dist/types/src/client/index.d.ts +2 -0
  357. package/dist/types/src/client/index.d.ts.map +1 -0
  358. package/dist/types/src/client/react/helpers/index.d.ts +1 -0
  359. package/dist/types/src/client/react/helpers/index.d.ts.map +1 -0
  360. package/dist/types/src/client/react/helpers/use-intor.d.ts +12 -3
  361. package/dist/types/src/client/react/helpers/use-intor.d.ts.map +1 -0
  362. package/dist/types/src/client/react/index.d.ts +4 -3
  363. package/dist/types/src/client/react/index.d.ts.map +1 -0
  364. package/dist/types/src/client/react/provider/effects/use-locale-effects.d.ts +1 -0
  365. package/dist/types/src/client/react/provider/effects/use-locale-effects.d.ts.map +1 -0
  366. package/dist/types/src/client/react/provider/effects/use-messages-effects.d.ts +1 -0
  367. package/dist/types/src/client/react/provider/effects/use-messages-effects.d.ts.map +1 -0
  368. package/dist/types/src/client/react/provider/index.d.ts +1 -0
  369. package/dist/types/src/client/react/provider/index.d.ts.map +1 -0
  370. package/dist/types/src/client/react/provider/intor-provider.d.ts +7 -1
  371. package/dist/types/src/client/react/provider/intor-provider.d.ts.map +1 -0
  372. package/dist/types/src/client/react/provider/types.d.ts +28 -11
  373. package/dist/types/src/client/react/provider/types.d.ts.map +1 -0
  374. package/dist/types/src/client/react/provider/use-intor-context.d.ts +1 -0
  375. package/dist/types/src/client/react/provider/use-intor-context.d.ts.map +1 -0
  376. package/dist/types/src/client/react/render/create-react-renderer.d.ts +1 -0
  377. package/dist/types/src/client/react/render/create-react-renderer.d.ts.map +1 -0
  378. package/dist/types/src/client/react/render/index.d.ts +1 -0
  379. package/dist/types/src/client/react/render/index.d.ts.map +1 -0
  380. package/dist/types/src/client/react/render/types.d.ts +9 -2
  381. package/dist/types/src/client/react/render/types.d.ts.map +1 -0
  382. package/dist/types/src/client/react/translator/create-t-rich.d.ts +3 -1
  383. package/dist/types/src/client/react/translator/create-t-rich.d.ts.map +1 -0
  384. package/dist/types/src/client/react/translator/index.d.ts +2 -1
  385. package/dist/types/src/client/react/translator/index.d.ts.map +1 -0
  386. package/dist/types/src/client/react/translator/types.d.ts +21 -0
  387. package/dist/types/src/client/react/translator/types.d.ts.map +1 -0
  388. package/dist/types/src/client/react/translator/use-translator.d.ts +4 -3
  389. package/dist/types/src/client/react/translator/use-translator.d.ts.map +1 -0
  390. package/dist/types/src/client/shared/helpers/get-client-locale.d.ts +14 -3
  391. package/dist/types/src/client/shared/helpers/get-client-locale.d.ts.map +1 -0
  392. package/dist/types/src/client/shared/helpers/index.d.ts +1 -0
  393. package/dist/types/src/client/shared/helpers/index.d.ts.map +1 -0
  394. package/dist/types/src/client/shared/messages/create-refetch-messages.d.ts +1 -0
  395. package/dist/types/src/client/shared/messages/create-refetch-messages.d.ts.map +1 -0
  396. package/dist/types/src/client/shared/messages/index.d.ts +1 -0
  397. package/dist/types/src/client/shared/messages/index.d.ts.map +1 -0
  398. package/dist/types/src/client/shared/navigation/execute-navigation.d.ts +2 -1
  399. package/dist/types/src/client/shared/navigation/execute-navigation.d.ts.map +1 -0
  400. package/dist/types/src/client/shared/navigation/index.d.ts +1 -0
  401. package/dist/types/src/client/shared/navigation/index.d.ts.map +1 -0
  402. package/dist/types/src/client/shared/provider/effective-state.d.ts +3 -0
  403. package/dist/types/src/client/shared/provider/effective-state.d.ts.map +1 -0
  404. package/dist/types/src/client/shared/utils/build-cookie-string.d.ts +1 -0
  405. package/dist/types/src/client/shared/utils/build-cookie-string.d.ts.map +1 -0
  406. package/dist/types/src/client/shared/utils/index.d.ts +1 -0
  407. package/dist/types/src/client/shared/utils/index.d.ts.map +1 -0
  408. package/dist/types/src/client/shared/utils/locale/detect-browser-locale.d.ts +1 -0
  409. package/dist/types/src/client/shared/utils/locale/detect-browser-locale.d.ts.map +1 -0
  410. package/dist/types/src/client/shared/utils/locale/get-locale-from-cookie.d.ts +1 -0
  411. package/dist/types/src/client/shared/utils/locale/get-locale-from-cookie.d.ts.map +1 -0
  412. package/dist/types/src/client/shared/utils/locale/index.d.ts +1 -0
  413. package/dist/types/src/client/shared/utils/locale/index.d.ts.map +1 -0
  414. package/dist/types/src/client/shared/utils/locale/set-document-locale.d.ts +1 -0
  415. package/dist/types/src/client/shared/utils/locale/set-document-locale.d.ts.map +1 -0
  416. package/dist/types/src/client/shared/utils/locale/set-locale-cookie.d.ts +1 -0
  417. package/dist/types/src/client/shared/utils/locale/set-locale-cookie.d.ts.map +1 -0
  418. package/dist/types/src/client/svelte/index.d.ts +3 -3
  419. package/dist/types/src/client/svelte/index.d.ts.map +1 -0
  420. package/dist/types/src/client/svelte/provider/create-intor-store.d.ts +16 -1
  421. package/dist/types/src/client/svelte/provider/create-intor-store.d.ts.map +1 -0
  422. package/dist/types/src/client/svelte/provider/effects/{locale-effects.d.ts → attach-locale-effects.d.ts} +1 -0
  423. package/dist/types/src/client/svelte/provider/effects/attach-locale-effects.d.ts.map +1 -0
  424. package/dist/types/src/client/svelte/provider/effects/{messages-effects.d.ts → attach-messages-effects.d.ts} +1 -0
  425. package/dist/types/src/client/svelte/provider/effects/attach-messages-effects.d.ts.map +1 -0
  426. package/dist/types/src/client/svelte/provider/get-intor-context.d.ts +3 -0
  427. package/dist/types/src/client/svelte/provider/get-intor-context.d.ts.map +1 -0
  428. package/dist/types/src/client/svelte/provider/index.d.ts +2 -1
  429. package/dist/types/src/client/svelte/provider/index.d.ts.map +1 -0
  430. package/dist/types/src/client/svelte/provider/types.d.ts +28 -10
  431. package/dist/types/src/client/svelte/provider/types.d.ts.map +1 -0
  432. package/dist/types/src/client/svelte/translator/index.d.ts +2 -0
  433. package/dist/types/src/client/svelte/translator/index.d.ts.map +1 -0
  434. package/dist/types/src/client/svelte/translator/types.d.ts +28 -0
  435. package/dist/types/src/client/svelte/translator/types.d.ts.map +1 -0
  436. package/dist/types/src/client/svelte/translator/use-translator.d.ts +4 -3
  437. package/dist/types/src/client/svelte/translator/use-translator.d.ts.map +1 -0
  438. package/dist/types/src/client/vue/helpers/index.d.ts +1 -0
  439. package/dist/types/src/client/vue/helpers/index.d.ts.map +1 -0
  440. package/dist/types/src/client/vue/helpers/use-intor.d.ts +12 -3
  441. package/dist/types/src/client/vue/helpers/use-intor.d.ts.map +1 -0
  442. package/dist/types/src/client/vue/index.d.ts +4 -3
  443. package/dist/types/src/client/vue/index.d.ts.map +1 -0
  444. package/dist/types/src/client/vue/provider/effects/use-locale-effects.d.ts +1 -0
  445. package/dist/types/src/client/vue/provider/effects/use-locale-effects.d.ts.map +1 -0
  446. package/dist/types/src/client/vue/provider/effects/use-messages-effects.d.ts +1 -0
  447. package/dist/types/src/client/vue/provider/effects/use-messages-effects.d.ts.map +1 -0
  448. package/dist/types/src/client/vue/provider/index.d.ts +3 -2
  449. package/dist/types/src/client/vue/provider/index.d.ts.map +1 -0
  450. package/dist/types/src/client/vue/provider/inject-intor-context.d.ts +4 -0
  451. package/dist/types/src/client/vue/provider/inject-intor-context.d.ts.map +1 -0
  452. package/dist/types/src/client/vue/provider/intor-provider.d.ts +7 -1
  453. package/dist/types/src/client/vue/provider/intor-provider.d.ts.map +1 -0
  454. package/dist/types/src/client/vue/provider/types.d.ts +27 -10
  455. package/dist/types/src/client/vue/provider/types.d.ts.map +1 -0
  456. package/dist/types/src/client/vue/render/create-vue-renderer.d.ts +1 -0
  457. package/dist/types/src/client/vue/render/create-vue-renderer.d.ts.map +1 -0
  458. package/dist/types/src/client/vue/render/index.d.ts +1 -0
  459. package/dist/types/src/client/vue/render/index.d.ts.map +1 -0
  460. package/dist/types/src/client/vue/render/types.d.ts +9 -2
  461. package/dist/types/src/client/vue/render/types.d.ts.map +1 -0
  462. package/dist/types/src/client/vue/translator/create-t-rich.d.ts +2 -1
  463. package/dist/types/src/client/vue/translator/create-t-rich.d.ts.map +1 -0
  464. package/dist/types/src/client/vue/translator/index.d.ts +2 -0
  465. package/dist/types/src/client/vue/translator/index.d.ts.map +1 -0
  466. package/dist/types/src/client/vue/translator/trans.d.ts +6 -3
  467. package/dist/types/src/client/vue/translator/trans.d.ts.map +1 -0
  468. package/dist/types/src/client/vue/translator/types.d.ts +25 -0
  469. package/dist/types/src/client/vue/translator/types.d.ts.map +1 -0
  470. package/dist/types/src/client/vue/translator/use-translator.d.ts +4 -3
  471. package/dist/types/src/client/vue/translator/use-translator.d.ts.map +1 -0
  472. package/dist/types/src/config/constants/cookie.d.ts +1 -0
  473. package/dist/types/src/config/constants/cookie.d.ts.map +1 -0
  474. package/dist/types/src/config/constants/index.d.ts +1 -0
  475. package/dist/types/src/config/constants/index.d.ts.map +1 -0
  476. package/dist/types/src/config/constants/routing.d.ts +1 -0
  477. package/dist/types/src/config/constants/routing.d.ts.map +1 -0
  478. package/dist/types/src/config/define-intor-config.d.ts +11 -4
  479. package/dist/types/src/config/define-intor-config.d.ts.map +1 -0
  480. package/dist/types/src/config/index.d.ts +2 -1
  481. package/dist/types/src/config/index.d.ts.map +1 -0
  482. package/dist/types/src/config/resolvers/resolve-cookie-options.d.ts +1 -0
  483. package/dist/types/src/config/resolvers/resolve-cookie-options.d.ts.map +1 -0
  484. package/dist/types/src/config/resolvers/resolve-fallback-locales.d.ts +1 -0
  485. package/dist/types/src/config/resolvers/resolve-fallback-locales.d.ts.map +1 -0
  486. package/dist/types/src/config/resolvers/resolve-routing-options.d.ts +1 -0
  487. package/dist/types/src/config/resolvers/resolve-routing-options.d.ts.map +1 -0
  488. package/dist/types/src/config/types/cookie.d.ts +12 -1
  489. package/dist/types/src/config/types/cookie.d.ts.map +1 -0
  490. package/dist/types/src/config/types/index.d.ts +4 -3
  491. package/dist/types/src/config/types/index.d.ts.map +1 -0
  492. package/dist/types/src/config/types/intor-config.d.ts +21 -2
  493. package/dist/types/src/config/types/intor-config.d.ts.map +1 -0
  494. package/dist/types/src/config/types/loader.d.ts +32 -5
  495. package/dist/types/src/config/types/loader.d.ts.map +1 -0
  496. package/dist/types/src/config/types/logger.d.ts +18 -5
  497. package/dist/types/src/config/types/logger.d.ts.map +1 -0
  498. package/dist/types/src/config/types/routing.d.ts +34 -13
  499. package/dist/types/src/config/types/routing.d.ts.map +1 -0
  500. package/dist/types/src/config/types/translator.d.ts +8 -3
  501. package/dist/types/src/config/types/translator.d.ts.map +1 -0
  502. package/dist/types/src/config/validators/validate-default-locale.d.ts +1 -0
  503. package/dist/types/src/config/validators/validate-default-locale.d.ts.map +1 -0
  504. package/dist/types/src/config/validators/validate-id.d.ts +1 -0
  505. package/dist/types/src/config/validators/validate-id.d.ts.map +1 -0
  506. package/dist/types/src/config/validators/validate-supported-locales.d.ts +1 -0
  507. package/dist/types/src/config/validators/validate-supported-locales.d.ts.map +1 -0
  508. package/dist/types/src/core/constants/headers.d.ts +1 -0
  509. package/dist/types/src/core/constants/headers.d.ts.map +1 -0
  510. package/dist/types/src/core/constants/index.d.ts +1 -0
  511. package/dist/types/src/core/constants/index.d.ts.map +1 -0
  512. package/dist/types/src/core/constants/locale-placeholder.d.ts +1 -0
  513. package/dist/types/src/core/constants/locale-placeholder.d.ts.map +1 -0
  514. package/dist/types/src/core/error/index.d.ts +2 -1
  515. package/dist/types/src/core/error/index.d.ts.map +1 -0
  516. package/dist/types/src/core/error/intor-error.d.ts +32 -7
  517. package/dist/types/src/core/error/intor-error.d.ts.map +1 -0
  518. package/dist/types/src/core/index.d.ts +6 -5
  519. package/dist/types/src/core/index.d.ts.map +1 -0
  520. package/dist/types/src/core/locale/canonicalize-locale.d.ts +1 -0
  521. package/dist/types/src/core/locale/canonicalize-locale.d.ts.map +1 -0
  522. package/dist/types/src/core/locale/index.d.ts +1 -0
  523. package/dist/types/src/core/locale/index.d.ts.map +1 -0
  524. package/dist/types/src/core/locale/match-locale.d.ts +7 -2
  525. package/dist/types/src/core/locale/match-locale.d.ts.map +1 -0
  526. package/dist/types/src/core/locale/parse-locale.d.ts +1 -0
  527. package/dist/types/src/core/locale/parse-locale.d.ts.map +1 -0
  528. package/dist/types/src/core/logger/get-logger.d.ts +2 -3
  529. package/dist/types/src/core/logger/get-logger.d.ts.map +1 -0
  530. package/dist/types/src/core/logger/global-logger-pool.d.ts +1 -0
  531. package/dist/types/src/core/logger/global-logger-pool.d.ts.map +1 -0
  532. package/dist/types/src/core/logger/index.d.ts +1 -0
  533. package/dist/types/src/core/logger/index.d.ts.map +1 -0
  534. package/dist/types/src/core/messages/index.d.ts +4 -3
  535. package/dist/types/src/core/messages/index.d.ts.map +1 -0
  536. package/dist/types/src/core/messages/internal-metadata.d.ts +1 -5
  537. package/dist/types/src/core/messages/internal-metadata.d.ts.map +1 -0
  538. package/dist/types/src/core/messages/load-remote-messages/collect-remote-resources.d.ts +1 -0
  539. package/dist/types/src/core/messages/load-remote-messages/collect-remote-resources.d.ts.map +1 -0
  540. package/dist/types/src/core/messages/load-remote-messages/fetch-remote-resource.d.ts +2 -1
  541. package/dist/types/src/core/messages/load-remote-messages/fetch-remote-resource.d.ts.map +1 -0
  542. package/dist/types/src/core/messages/load-remote-messages/index.d.ts +1 -0
  543. package/dist/types/src/core/messages/load-remote-messages/index.d.ts.map +1 -0
  544. package/dist/types/src/core/messages/load-remote-messages/load-remote-messages.d.ts +1 -0
  545. package/dist/types/src/core/messages/load-remote-messages/load-remote-messages.d.ts.map +1 -0
  546. package/dist/types/src/core/messages/load-remote-messages/resolve-remote-resources.d.ts +1 -0
  547. package/dist/types/src/core/messages/load-remote-messages/resolve-remote-resources.d.ts.map +1 -0
  548. package/dist/types/src/core/messages/load-remote-messages/types.d.ts +2 -1
  549. package/dist/types/src/core/messages/load-remote-messages/types.d.ts.map +1 -0
  550. package/dist/types/src/core/messages/merge-messages.d.ts +30 -9
  551. package/dist/types/src/core/messages/merge-messages.d.ts.map +1 -0
  552. package/dist/types/src/core/messages/types.d.ts +29 -16
  553. package/dist/types/src/core/messages/types.d.ts.map +1 -0
  554. package/dist/types/src/core/messages/utils/index.d.ts +1 -0
  555. package/dist/types/src/core/messages/utils/index.d.ts.map +1 -0
  556. package/dist/types/src/core/messages/utils/is-valid-messages.d.ts +1 -0
  557. package/dist/types/src/core/messages/utils/is-valid-messages.d.ts.map +1 -0
  558. package/dist/types/src/core/messages/utils/nest-object-from-path.d.ts +1 -0
  559. package/dist/types/src/core/messages/utils/nest-object-from-path.d.ts.map +1 -0
  560. package/dist/types/src/core/render/create-html-renderer.d.ts +1 -0
  561. package/dist/types/src/core/render/create-html-renderer.d.ts.map +1 -0
  562. package/dist/types/src/core/render/index.d.ts +2 -1
  563. package/dist/types/src/core/render/index.d.ts.map +1 -0
  564. package/dist/types/src/core/render/types.d.ts +20 -8
  565. package/dist/types/src/core/render/types.d.ts.map +1 -0
  566. package/dist/types/src/core/render/utils/escape-html.d.ts +1 -0
  567. package/dist/types/src/core/render/utils/escape-html.d.ts.map +1 -0
  568. package/dist/types/src/core/render/utils/render-attributes.d.ts +1 -0
  569. package/dist/types/src/core/render/utils/render-attributes.d.ts.map +1 -0
  570. package/dist/types/src/core/translator/create-t-rich.d.ts +1 -0
  571. package/dist/types/src/core/translator/create-t-rich.d.ts.map +1 -0
  572. package/dist/types/src/core/translator/create-translator.d.ts +5 -4
  573. package/dist/types/src/core/translator/create-translator.d.ts.map +1 -0
  574. package/dist/types/src/core/translator/index.d.ts +1 -0
  575. package/dist/types/src/core/translator/index.d.ts.map +1 -0
  576. package/dist/types/src/core/types/generated-registry.d.ts +12 -0
  577. package/dist/types/src/core/types/generated-registry.d.ts.map +1 -0
  578. package/dist/types/src/core/types/generated.d.ts +25 -7
  579. package/dist/types/src/core/types/generated.d.ts.map +1 -0
  580. package/dist/types/src/core/types/index.d.ts +4 -3
  581. package/dist/types/src/core/types/index.d.ts.map +1 -0
  582. package/dist/types/src/core/types/routing.d.ts +27 -20
  583. package/dist/types/src/core/types/routing.d.ts.map +1 -0
  584. package/dist/types/src/core/types/runtime-fetch.d.ts +8 -0
  585. package/dist/types/src/core/types/runtime-fetch.d.ts.map +1 -0
  586. package/dist/types/src/core/types/translator.d.ts +24 -0
  587. package/dist/types/src/core/types/translator.d.ts.map +1 -0
  588. package/dist/types/src/core/utils/deep-merge.d.ts +5 -0
  589. package/dist/types/src/core/utils/deep-merge.d.ts.map +1 -0
  590. package/dist/types/src/core/utils/index.d.ts +2 -1
  591. package/dist/types/src/core/utils/index.d.ts.map +1 -0
  592. package/dist/types/src/core/utils/normalizers/index.d.ts +1 -0
  593. package/dist/types/src/core/utils/normalizers/index.d.ts.map +1 -0
  594. package/dist/types/src/core/utils/normalizers/normalize-cache-key.d.ts +1 -0
  595. package/dist/types/src/core/utils/normalizers/normalize-cache-key.d.ts.map +1 -0
  596. package/dist/types/src/core/utils/normalizers/normalize-pathname.d.ts +11 -9
  597. package/dist/types/src/core/utils/normalizers/normalize-pathname.d.ts.map +1 -0
  598. package/dist/types/src/core/utils/normalizers/normalize-query.d.ts +1 -0
  599. package/dist/types/src/core/utils/normalizers/normalize-query.d.ts.map +1 -0
  600. package/dist/types/src/core/utils/parse-cookie-header.d.ts +1 -0
  601. package/dist/types/src/core/utils/parse-cookie-header.d.ts.map +1 -0
  602. package/dist/types/src/core/utils/resolve-loader-options.d.ts +3 -1
  603. package/dist/types/src/core/utils/resolve-loader-options.d.ts.map +1 -0
  604. package/dist/types/src/edge/helpers/get-translator.d.ts +16 -8
  605. package/dist/types/src/edge/helpers/get-translator.d.ts.map +1 -0
  606. package/dist/types/src/edge/helpers/index.d.ts +1 -0
  607. package/dist/types/src/edge/helpers/index.d.ts.map +1 -0
  608. package/dist/types/src/edge/index.d.ts +1 -0
  609. package/dist/types/src/edge/index.d.ts.map +1 -0
  610. package/dist/types/src/edge/translator/index.d.ts +1 -0
  611. package/dist/types/src/edge/translator/index.d.ts.map +1 -0
  612. package/dist/types/src/edge/translator/init-translator.d.ts +4 -3
  613. package/dist/types/src/edge/translator/init-translator.d.ts.map +1 -0
  614. package/dist/types/src/policies/index.d.ts +1 -0
  615. package/dist/types/src/policies/index.d.ts.map +1 -0
  616. package/dist/types/src/policies/shoud-full-reload.d.ts +1 -0
  617. package/dist/types/src/policies/shoud-full-reload.d.ts.map +1 -0
  618. package/dist/types/src/policies/should-persist-on-first-visit.d.ts +1 -0
  619. package/dist/types/src/policies/should-persist-on-first-visit.d.ts.map +1 -0
  620. package/dist/types/src/policies/should-sync-locale.d.ts +1 -0
  621. package/dist/types/src/policies/should-sync-locale.d.ts.map +1 -0
  622. package/dist/types/src/routing/inbound/helpers/index.d.ts +1 -0
  623. package/dist/types/src/routing/inbound/helpers/index.d.ts.map +1 -0
  624. package/dist/types/src/routing/inbound/helpers/resolve-inbound-from-request.d.ts +9 -3
  625. package/dist/types/src/routing/inbound/helpers/resolve-inbound-from-request.d.ts.map +1 -0
  626. package/dist/types/src/routing/inbound/index.d.ts +1 -0
  627. package/dist/types/src/routing/inbound/index.d.ts.map +1 -0
  628. package/dist/types/src/routing/inbound/resolve-inbound.d.ts +3 -2
  629. package/dist/types/src/routing/inbound/resolve-inbound.d.ts.map +1 -0
  630. package/dist/types/src/routing/inbound/resolve-locale/index.d.ts +1 -0
  631. package/dist/types/src/routing/inbound/resolve-locale/index.d.ts.map +1 -0
  632. package/dist/types/src/routing/inbound/resolve-locale/resolve-locale.d.ts +7 -3
  633. package/dist/types/src/routing/inbound/resolve-locale/resolve-locale.d.ts.map +1 -0
  634. package/dist/types/src/routing/inbound/resolve-locale/types.d.ts +2 -7
  635. package/dist/types/src/routing/inbound/resolve-locale/types.d.ts.map +1 -0
  636. package/dist/types/src/routing/inbound/resolve-pathname/index.d.ts +2 -0
  637. package/dist/types/src/routing/inbound/resolve-pathname/index.d.ts.map +1 -0
  638. package/dist/types/src/routing/inbound/{resolve-path/resolve-path.d.ts → resolve-pathname/resolve-pathname.d.ts} +2 -1
  639. package/dist/types/src/routing/inbound/resolve-pathname/resolve-pathname.d.ts.map +1 -0
  640. package/dist/types/src/routing/inbound/{resolve-path → resolve-pathname}/strategies/all.d.ts +2 -1
  641. package/dist/types/src/routing/inbound/resolve-pathname/strategies/all.d.ts.map +1 -0
  642. package/dist/types/src/routing/inbound/{resolve-path → resolve-pathname}/strategies/except-default.d.ts +2 -1
  643. package/dist/types/src/routing/inbound/resolve-pathname/strategies/except-default.d.ts.map +1 -0
  644. package/dist/types/src/routing/inbound/{resolve-path → resolve-pathname}/strategies/index.d.ts +1 -0
  645. package/dist/types/src/routing/inbound/resolve-pathname/strategies/index.d.ts.map +1 -0
  646. package/dist/types/src/routing/inbound/{resolve-path → resolve-pathname}/strategies/none.d.ts +1 -0
  647. package/dist/types/src/routing/inbound/resolve-pathname/strategies/none.d.ts.map +1 -0
  648. package/dist/types/src/routing/inbound/{resolve-path → resolve-pathname}/types.d.ts +1 -0
  649. package/dist/types/src/routing/inbound/resolve-pathname/types.d.ts.map +1 -0
  650. package/dist/types/src/routing/inbound/types.d.ts +17 -1
  651. package/dist/types/src/routing/inbound/types.d.ts.map +1 -0
  652. package/dist/types/src/routing/index.d.ts +1 -0
  653. package/dist/types/src/routing/index.d.ts.map +1 -0
  654. package/dist/types/src/routing/locale/get-locale-from-accept-language.d.ts +1 -0
  655. package/dist/types/src/routing/locale/get-locale-from-accept-language.d.ts.map +1 -0
  656. package/dist/types/src/routing/locale/get-locale-from-host.d.ts +1 -0
  657. package/dist/types/src/routing/locale/get-locale-from-host.d.ts.map +1 -0
  658. package/dist/types/src/routing/locale/get-locale-from-pathname.d.ts +1 -0
  659. package/dist/types/src/routing/locale/get-locale-from-pathname.d.ts.map +1 -0
  660. package/dist/types/src/routing/locale/get-locale-from-query.d.ts +1 -0
  661. package/dist/types/src/routing/locale/get-locale-from-query.d.ts.map +1 -0
  662. package/dist/types/src/routing/locale/index.d.ts +1 -0
  663. package/dist/types/src/routing/locale/index.d.ts.map +1 -0
  664. package/dist/types/src/routing/outbound/decide-strategy.d.ts +2 -1
  665. package/dist/types/src/routing/outbound/decide-strategy.d.ts.map +1 -0
  666. package/dist/types/src/routing/outbound/determine-target.d.ts +1 -0
  667. package/dist/types/src/routing/outbound/determine-target.d.ts.map +1 -0
  668. package/dist/types/src/routing/outbound/index.d.ts +1 -0
  669. package/dist/types/src/routing/outbound/index.d.ts.map +1 -0
  670. package/dist/types/src/routing/outbound/resolve-outbound.d.ts +1 -0
  671. package/dist/types/src/routing/outbound/resolve-outbound.d.ts.map +1 -0
  672. package/dist/types/src/routing/outbound/utils/derive-host-destination.d.ts +1 -0
  673. package/dist/types/src/routing/outbound/utils/derive-host-destination.d.ts.map +1 -0
  674. package/dist/types/src/routing/outbound/utils/derive-query-destination.d.ts +1 -0
  675. package/dist/types/src/routing/outbound/utils/derive-query-destination.d.ts.map +1 -0
  676. package/dist/types/src/routing/outbound/utils/is-external-destination.d.ts +1 -0
  677. package/dist/types/src/routing/outbound/utils/is-external-destination.d.ts.map +1 -0
  678. package/dist/types/src/routing/pathname/canonicalize-pathname.d.ts +15 -3
  679. package/dist/types/src/routing/pathname/canonicalize-pathname.d.ts.map +1 -0
  680. package/dist/types/src/routing/pathname/index.d.ts +1 -0
  681. package/dist/types/src/routing/pathname/index.d.ts.map +1 -0
  682. package/dist/types/src/routing/pathname/localize-pathname.d.ts +25 -12
  683. package/dist/types/src/routing/pathname/localize-pathname.d.ts.map +1 -0
  684. package/dist/types/src/routing/pathname/materialize-pathname.d.ts +22 -6
  685. package/dist/types/src/routing/pathname/materialize-pathname.d.ts.map +1 -0
  686. package/dist/types/src/routing/pathname/standardize-pathname.d.ts +13 -4
  687. package/dist/types/src/routing/pathname/standardize-pathname.d.ts.map +1 -0
  688. package/dist/types/src/server/helpers/get-translator.d.ts +16 -9
  689. package/dist/types/src/server/helpers/get-translator.d.ts.map +1 -0
  690. package/dist/types/src/server/helpers/index.d.ts +1 -0
  691. package/dist/types/src/server/helpers/index.d.ts.map +1 -0
  692. package/dist/types/src/server/index.d.ts +2 -2
  693. package/dist/types/src/server/index.d.ts.map +1 -0
  694. package/dist/types/src/server/intor/index.d.ts +2 -1
  695. package/dist/types/src/server/intor/index.d.ts.map +1 -0
  696. package/dist/types/src/server/intor/intor.d.ts +7 -8
  697. package/dist/types/src/server/intor/intor.d.ts.map +1 -0
  698. package/dist/types/src/server/intor/types.d.ts +23 -3
  699. package/dist/types/src/server/intor/types.d.ts.map +1 -0
  700. package/dist/types/src/server/messages/index.d.ts +1 -0
  701. package/dist/types/src/server/messages/index.d.ts.map +1 -0
  702. package/dist/types/src/server/messages/load-local-messages/cache/index.d.ts +1 -0
  703. package/dist/types/src/server/messages/load-local-messages/cache/index.d.ts.map +1 -0
  704. package/dist/types/src/server/messages/load-local-messages/cache/messages-pool.d.ts +1 -0
  705. package/dist/types/src/server/messages/load-local-messages/cache/messages-pool.d.ts.map +1 -0
  706. package/dist/types/src/server/messages/load-local-messages/index.d.ts +1 -0
  707. package/dist/types/src/server/messages/load-local-messages/index.d.ts.map +1 -0
  708. package/dist/types/src/server/messages/load-local-messages/load-local-messages.d.ts +1 -0
  709. package/dist/types/src/server/messages/load-local-messages/load-local-messages.d.ts.map +1 -0
  710. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.d.ts +1 -0
  711. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.d.ts.map +1 -0
  712. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/index.d.ts +1 -0
  713. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/index.d.ts.map +1 -0
  714. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/types.d.ts +1 -0
  715. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/types.d.ts.map +1 -0
  716. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/index.d.ts +1 -0
  717. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/index.d.ts.map +1 -0
  718. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/index.d.ts +1 -0
  719. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/index.d.ts.map +1 -0
  720. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.d.ts +1 -0
  721. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.d.ts.map +1 -0
  722. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/types.d.ts +2 -1
  723. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/types.d.ts.map +1 -0
  724. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.d.ts +1 -0
  725. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.d.ts.map +1 -0
  726. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.d.ts +1 -0
  727. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.d.ts.map +1 -0
  728. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/types.d.ts +1 -0
  729. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/types.d.ts.map +1 -0
  730. package/dist/types/src/server/messages/load-local-messages/types.d.ts +1 -0
  731. package/dist/types/src/server/messages/load-local-messages/types.d.ts.map +1 -0
  732. package/dist/types/src/server/messages/load-messages.d.ts +1 -0
  733. package/dist/types/src/server/messages/load-messages.d.ts.map +1 -0
  734. package/dist/types/src/server/messages/types.d.ts +1 -0
  735. package/dist/types/src/server/messages/types.d.ts.map +1 -0
  736. package/dist/types/src/server/translator/index.d.ts +2 -2
  737. package/dist/types/src/server/translator/index.d.ts.map +1 -0
  738. package/dist/types/src/server/translator/init-translator.d.ts +5 -6
  739. package/dist/types/src/server/translator/init-translator.d.ts.map +1 -0
  740. package/dist/vue/export/vue/index.js +0 -1
  741. package/dist/vue/src/client/shared/messages/create-refetch-messages.js +41 -51
  742. package/dist/vue/src/client/shared/provider/effective-state.js +8 -0
  743. package/dist/vue/src/client/shared/utils/build-cookie-string.js +18 -26
  744. package/dist/vue/src/client/shared/utils/locale/get-locale-from-cookie.js +5 -12
  745. package/dist/vue/src/client/shared/utils/locale/set-document-locale.js +2 -8
  746. package/dist/vue/src/client/shared/utils/locale/set-locale-cookie.js +2 -9
  747. package/dist/vue/src/client/vue/helpers/use-intor.js +21 -35
  748. package/dist/vue/src/client/vue/provider/effects/use-locale-effects.js +23 -25
  749. package/dist/vue/src/client/vue/provider/effects/use-messages-effects.js +15 -29
  750. package/dist/vue/src/client/vue/provider/inject-intor-context.js +11 -0
  751. package/dist/vue/src/client/vue/provider/intor-provider.js +62 -64
  752. package/dist/vue/src/client/vue/render/create-vue-renderer.js +18 -24
  753. package/dist/vue/src/client/vue/translator/create-t-rich.js +5 -17
  754. package/dist/vue/src/client/vue/translator/trans.js +24 -29
  755. package/dist/vue/src/client/vue/translator/use-translator.js +13 -18
  756. package/dist/vue/src/core/logger/get-logger.js +26 -28
  757. package/dist/vue/src/core/logger/global-logger-pool.js +4 -4
  758. package/dist/vue/src/core/messages/load-remote-messages/collect-remote-resources.js +13 -22
  759. package/dist/vue/src/core/messages/load-remote-messages/fetch-remote-resource.js +30 -39
  760. package/dist/vue/src/core/messages/load-remote-messages/load-remote-messages.js +72 -81
  761. package/dist/vue/src/core/messages/load-remote-messages/resolve-remote-resources.js +7 -17
  762. package/dist/vue/src/core/messages/merge-messages.js +17 -26
  763. package/dist/vue/src/core/messages/utils/is-valid-messages.js +22 -37
  764. package/dist/vue/src/core/messages/utils/nest-object-from-path.js +5 -17
  765. package/dist/vue/src/core/utils/deep-merge.js +24 -42
  766. package/dist/vue/src/core/utils/resolve-loader-options.js +6 -29
  767. package/dist/vue/src/policies/should-persist-on-first-visit.js +1 -4
  768. package/package.json +21 -8
  769. package/dist/core/src/routing/inbound/resolve-path/resolve-path.js +0 -42
  770. package/dist/core/src/routing/inbound/resolve-path/strategies/all.js +0 -28
  771. package/dist/core/src/routing/inbound/resolve-path/strategies/except-default.js +0 -29
  772. package/dist/core/src/routing/inbound/resolve-path/strategies/none.js +0 -8
  773. package/dist/express/src/core/error/intor-error.js +0 -9
  774. package/dist/express/src/core/logger/get-logger.js +0 -39
  775. package/dist/express/src/core/logger/global-logger-pool.js +0 -8
  776. package/dist/express/src/core/messages/load-remote-messages/collect-remote-resources.js +0 -25
  777. package/dist/express/src/core/messages/load-remote-messages/fetch-remote-resource.js +0 -47
  778. package/dist/express/src/core/messages/load-remote-messages/load-remote-messages.js +0 -93
  779. package/dist/express/src/core/messages/load-remote-messages/resolve-remote-resources.js +0 -24
  780. package/dist/express/src/core/messages/merge-messages.js +0 -33
  781. package/dist/express/src/core/messages/utils/is-valid-messages.js +0 -44
  782. package/dist/express/src/core/messages/utils/nest-object-from-path.js +0 -21
  783. package/dist/express/src/core/render/create-html-renderer.js +0 -44
  784. package/dist/express/src/core/render/utils/escape-html.js +0 -10
  785. package/dist/express/src/core/render/utils/render-attributes.js +0 -17
  786. package/dist/express/src/core/translator/create-t-rich.js +0 -22
  787. package/dist/express/src/core/translator/create-translator.js +0 -30
  788. package/dist/express/src/core/utils/deep-merge.js +0 -47
  789. package/dist/express/src/core/utils/normalizers/normalize-cache-key.js +0 -45
  790. package/dist/express/src/core/utils/resolve-loader-options.js +0 -27
  791. package/dist/express/src/routing/inbound/resolve-path/resolve-path.js +0 -42
  792. package/dist/express/src/routing/inbound/resolve-path/strategies/all.js +0 -28
  793. package/dist/express/src/routing/inbound/resolve-path/strategies/except-default.js +0 -29
  794. package/dist/express/src/routing/inbound/resolve-path/strategies/none.js +0 -8
  795. package/dist/express/src/server/helpers/get-translator.js +0 -32
  796. package/dist/express/src/server/messages/load-local-messages/cache/messages-pool.js +0 -11
  797. package/dist/express/src/server/messages/load-local-messages/load-local-messages.js +0 -108
  798. package/dist/express/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.js +0 -91
  799. package/dist/express/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.js +0 -103
  800. package/dist/express/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.js +0 -12
  801. package/dist/express/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.js +0 -42
  802. package/dist/express/src/server/messages/load-messages.js +0 -78
  803. package/dist/express/src/server/translator/init-translator.js +0 -39
  804. package/dist/fastify/src/core/error/intor-error.js +0 -9
  805. package/dist/fastify/src/core/logger/get-logger.js +0 -39
  806. package/dist/fastify/src/core/logger/global-logger-pool.js +0 -8
  807. package/dist/fastify/src/core/messages/load-remote-messages/collect-remote-resources.js +0 -25
  808. package/dist/fastify/src/core/messages/load-remote-messages/fetch-remote-resource.js +0 -47
  809. package/dist/fastify/src/core/messages/load-remote-messages/load-remote-messages.js +0 -93
  810. package/dist/fastify/src/core/messages/load-remote-messages/resolve-remote-resources.js +0 -24
  811. package/dist/fastify/src/core/messages/merge-messages.js +0 -33
  812. package/dist/fastify/src/core/messages/utils/is-valid-messages.js +0 -44
  813. package/dist/fastify/src/core/messages/utils/nest-object-from-path.js +0 -21
  814. package/dist/fastify/src/core/render/create-html-renderer.js +0 -44
  815. package/dist/fastify/src/core/render/utils/escape-html.js +0 -10
  816. package/dist/fastify/src/core/render/utils/render-attributes.js +0 -17
  817. package/dist/fastify/src/core/translator/create-t-rich.js +0 -22
  818. package/dist/fastify/src/core/translator/create-translator.js +0 -30
  819. package/dist/fastify/src/core/utils/deep-merge.js +0 -47
  820. package/dist/fastify/src/core/utils/normalizers/normalize-cache-key.js +0 -45
  821. package/dist/fastify/src/core/utils/resolve-loader-options.js +0 -27
  822. package/dist/fastify/src/routing/inbound/resolve-path/resolve-path.js +0 -42
  823. package/dist/fastify/src/routing/inbound/resolve-path/strategies/all.js +0 -28
  824. package/dist/fastify/src/routing/inbound/resolve-path/strategies/except-default.js +0 -29
  825. package/dist/fastify/src/routing/inbound/resolve-path/strategies/none.js +0 -8
  826. package/dist/fastify/src/server/helpers/get-translator.js +0 -32
  827. package/dist/fastify/src/server/messages/load-local-messages/cache/messages-pool.js +0 -11
  828. package/dist/fastify/src/server/messages/load-local-messages/load-local-messages.js +0 -108
  829. package/dist/fastify/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.js +0 -91
  830. package/dist/fastify/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.js +0 -103
  831. package/dist/fastify/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.js +0 -12
  832. package/dist/fastify/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.js +0 -42
  833. package/dist/fastify/src/server/messages/load-messages.js +0 -78
  834. package/dist/fastify/src/server/translator/init-translator.js +0 -39
  835. package/dist/hono/src/core/error/intor-error.js +0 -9
  836. package/dist/hono/src/core/logger/get-logger.js +0 -39
  837. package/dist/hono/src/core/logger/global-logger-pool.js +0 -8
  838. package/dist/hono/src/core/messages/load-remote-messages/collect-remote-resources.js +0 -25
  839. package/dist/hono/src/core/messages/load-remote-messages/fetch-remote-resource.js +0 -47
  840. package/dist/hono/src/core/messages/load-remote-messages/load-remote-messages.js +0 -93
  841. package/dist/hono/src/core/messages/load-remote-messages/resolve-remote-resources.js +0 -24
  842. package/dist/hono/src/core/messages/merge-messages.js +0 -33
  843. package/dist/hono/src/core/messages/utils/is-valid-messages.js +0 -44
  844. package/dist/hono/src/core/messages/utils/nest-object-from-path.js +0 -21
  845. package/dist/hono/src/core/render/create-html-renderer.js +0 -44
  846. package/dist/hono/src/core/render/utils/escape-html.js +0 -10
  847. package/dist/hono/src/core/render/utils/render-attributes.js +0 -17
  848. package/dist/hono/src/core/translator/create-t-rich.js +0 -22
  849. package/dist/hono/src/core/translator/create-translator.js +0 -30
  850. package/dist/hono/src/core/utils/deep-merge.js +0 -47
  851. package/dist/hono/src/edge/helpers/get-translator.js +0 -29
  852. package/dist/hono/src/edge/translator/init-translator.js +0 -35
  853. package/dist/hono/src/routing/inbound/resolve-path/resolve-path.js +0 -42
  854. package/dist/hono/src/routing/inbound/resolve-path/strategies/all.js +0 -28
  855. package/dist/hono/src/routing/inbound/resolve-path/strategies/except-default.js +0 -29
  856. package/dist/hono/src/routing/inbound/resolve-path/strategies/none.js +0 -8
  857. package/dist/next/src/core/error/intor-error.js +0 -9
  858. package/dist/next/src/core/logger/get-logger.js +0 -39
  859. package/dist/next/src/core/logger/global-logger-pool.js +0 -8
  860. package/dist/next/src/core/messages/load-remote-messages/collect-remote-resources.js +0 -25
  861. package/dist/next/src/core/messages/load-remote-messages/fetch-remote-resource.js +0 -47
  862. package/dist/next/src/core/messages/load-remote-messages/load-remote-messages.js +0 -93
  863. package/dist/next/src/core/messages/load-remote-messages/resolve-remote-resources.js +0 -24
  864. package/dist/next/src/core/messages/merge-messages.js +0 -33
  865. package/dist/next/src/core/messages/utils/is-valid-messages.js +0 -44
  866. package/dist/next/src/core/messages/utils/nest-object-from-path.js +0 -21
  867. package/dist/next/src/core/render/create-html-renderer.js +0 -44
  868. package/dist/next/src/core/render/utils/escape-html.js +0 -10
  869. package/dist/next/src/core/render/utils/render-attributes.js +0 -17
  870. package/dist/next/src/core/translator/create-t-rich.js +0 -22
  871. package/dist/next/src/core/translator/create-translator.js +0 -30
  872. package/dist/next/src/core/utils/deep-merge.js +0 -47
  873. package/dist/next/src/core/utils/normalizers/normalize-cache-key.js +0 -45
  874. package/dist/next/src/routing/inbound/resolve-path/resolve-path.js +0 -42
  875. package/dist/next/src/routing/inbound/resolve-path/strategies/all.js +0 -34
  876. package/dist/next/src/routing/inbound/resolve-path/strategies/except-default.js +0 -35
  877. package/dist/next/src/routing/inbound/resolve-path/strategies/none.js +0 -8
  878. package/dist/next/src/server/helpers/get-translator.js +0 -32
  879. package/dist/next/src/server/intor/intor.js +0 -32
  880. package/dist/next/src/server/messages/load-local-messages/cache/messages-pool.js +0 -11
  881. package/dist/next/src/server/messages/load-local-messages/load-local-messages.js +0 -108
  882. package/dist/next/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.js +0 -91
  883. package/dist/next/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.js +0 -103
  884. package/dist/next/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.js +0 -12
  885. package/dist/next/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.js +0 -42
  886. package/dist/next/src/server/messages/load-messages.js +0 -78
  887. package/dist/next/src/server/translator/init-translator.js +0 -39
  888. package/dist/react/src/client/react/translator/trans.js +0 -15
  889. package/dist/react/src/client/shared/helpers/get-client-locale.js +0 -22
  890. package/dist/react/src/client/shared/utils/locale/detect-browser-locale.js +0 -12
  891. package/dist/react/src/core/error/intor-error.js +0 -9
  892. package/dist/react/src/core/locale/canonicalize-locale.js +0 -23
  893. package/dist/react/src/core/locale/match-locale.js +0 -57
  894. package/dist/react/src/core/locale/parse-locale.js +0 -27
  895. package/dist/svelte/src/client/shared/helpers/get-client-locale.js +0 -22
  896. package/dist/svelte/src/client/shared/utils/locale/detect-browser-locale.js +0 -12
  897. package/dist/svelte/src/client/svelte/provider/effects/locale-effects.js +0 -38
  898. package/dist/svelte/src/client/svelte/provider/effects/messages-effects.js +0 -23
  899. package/dist/svelte/src/client/svelte/provider/use-intor-context.js +0 -11
  900. package/dist/svelte/src/core/error/intor-error.js +0 -9
  901. package/dist/svelte/src/core/locale/canonicalize-locale.js +0 -23
  902. package/dist/svelte/src/core/locale/match-locale.js +0 -57
  903. package/dist/svelte/src/core/locale/parse-locale.js +0 -27
  904. package/dist/svelte-kit/src/core/error/intor-error.js +0 -9
  905. package/dist/svelte-kit/src/routing/inbound/resolve-path/resolve-path.js +0 -42
  906. package/dist/svelte-kit/src/routing/inbound/resolve-path/strategies/all.js +0 -28
  907. package/dist/svelte-kit/src/routing/inbound/resolve-path/strategies/except-default.js +0 -29
  908. package/dist/svelte-kit/src/routing/inbound/resolve-path/strategies/none.js +0 -8
  909. package/dist/types/src/adapters/express/global.d.ts +0 -18
  910. package/dist/types/src/adapters/fastify/global.d.ts +0 -17
  911. package/dist/types/src/adapters/hono/global.d.ts +0 -17
  912. package/dist/types/src/client/react/translator/trans.d.ts +0 -18
  913. package/dist/types/src/client/react/translator/translator-instance.d.ts +0 -12
  914. package/dist/types/src/client/svelte/provider/use-intor-context.d.ts +0 -2
  915. package/dist/types/src/client/svelte/translator/translator-instance.d.ts +0 -19
  916. package/dist/types/src/client/vue/provider/inject.d.ts +0 -3
  917. package/dist/types/src/client/vue/translator/translator-instance.d.ts +0 -16
  918. package/dist/types/src/core/types/translator-instance.d.ts +0 -21
  919. package/dist/types/src/routing/inbound/resolve-path/index.d.ts +0 -1
  920. package/dist/types/src/server/translator/types.d.ts +0 -9
  921. package/dist/vue/src/client/shared/helpers/get-client-locale.js +0 -22
  922. package/dist/vue/src/client/shared/utils/locale/detect-browser-locale.js +0 -12
  923. package/dist/vue/src/client/vue/provider/inject.js +0 -11
  924. package/dist/vue/src/core/error/intor-error.js +0 -9
  925. package/dist/vue/src/core/locale/canonicalize-locale.js +0 -23
  926. package/dist/vue/src/core/locale/match-locale.js +0 -57
  927. package/dist/vue/src/core/locale/parse-locale.js +0 -27
@@ -1,47 +1,29 @@
1
- /**
2
- * Deeply merges two plain objects.
3
- *
4
- * - Nested plain objects → merged recursively
5
- * - Arrays / primitives → `b` overwrites `a`
6
- *
7
- * Debug behavior (optional):
8
- * - Emits override events via `onOverride`
9
- * - Zero overhead when no options are provided
10
- *
11
- * This function always returns a new plain object.
12
- */
13
1
  const deepMerge = (a = {}, b = {}, options) => {
14
- const result = { ...a };
15
- const basePath = options?._path ?? [];
16
- // Iterate only over b's own enumerable properties
17
- for (const key in b) {
18
- if (!Object.prototype.hasOwnProperty.call(b, key))
19
- continue;
20
- const aValue = a[key];
21
- const bValue = b[key];
22
- const nextPath = [...basePath, key];
23
- // Recursively merge when both sides are plain objects
24
- if (aValue &&
25
- bValue &&
26
- typeof aValue === "object" &&
27
- typeof bValue === "object" &&
28
- !Array.isArray(aValue) &&
29
- !Array.isArray(bValue)) {
30
- result[key] = deepMerge(aValue, bValue, options ? { ...options, _path: nextPath } : undefined);
31
- }
32
- else {
33
- // Emit override event only when debugging is enabled
34
- const isAdd = aValue === undefined;
35
- options?.onOverride?.({
36
- path: nextPath.join("."),
37
- prev: aValue,
38
- next: bValue,
39
- kind: isAdd ? "add" : "override",
40
- });
41
- result[key] = bValue;
42
- }
2
+ const result = { ...a };
3
+ const basePath = options?._path ?? [];
4
+ for (const key in b) {
5
+ if (!Object.prototype.hasOwnProperty.call(b, key)) continue;
6
+ const aValue = a[key];
7
+ const bValue = b[key];
8
+ const nextPath = [...basePath, key];
9
+ if (aValue && bValue && typeof aValue === "object" && typeof bValue === "object" && !Array.isArray(aValue) && !Array.isArray(bValue)) {
10
+ result[key] = deepMerge(
11
+ aValue,
12
+ bValue,
13
+ options ? { ...options, _path: nextPath } : void 0
14
+ );
15
+ } else {
16
+ const isAdd = aValue === void 0;
17
+ options?.onOverride?.({
18
+ path: nextPath.join("."),
19
+ prev: aValue,
20
+ next: bValue,
21
+ kind: isAdd ? "add" : "override"
22
+ });
23
+ result[key] = bValue;
43
24
  }
44
- return result;
25
+ }
26
+ return result;
45
27
  };
46
28
 
47
29
  export { deepMerge };
@@ -1,34 +1,11 @@
1
- /**
2
- * Resolve the effective message loader for a given runtime.
3
- *
4
- * Loader resolution follows an inheritance-based priority model:
5
- *
6
- * - client runtime:
7
- * client.loader → server.loader → root loader
8
- *
9
- * - server runtime:
10
- * server.loader → root loader
11
- *
12
- * This allows the client runtime to inherit server behavior
13
- * when no explicit client loader is provided.
14
- *
15
- * Notes:
16
- * - Static `messages` are intentionally NOT handled here.
17
- * - Returning `undefined` indicates that no loader is enabled
18
- * for the given runtime.
19
- */
20
1
  const resolveLoaderOptions = (config, runtime) => {
21
- // ------------------------------------------------
22
- // runtime: client
23
- // ------------------------------------------------
24
- {
25
- const client = config.client?.loader;
26
- if (client) {
27
- // Client loader is always remote by design
28
- return { mode: "remote", ...client };
29
- }
30
- return config.server?.loader ?? config.loader;
2
+ {
3
+ const client = config.client?.loader;
4
+ if (client) {
5
+ return { mode: "remote", ...client };
31
6
  }
7
+ return config.server?.loader ?? config.loader;
8
+ }
32
9
  };
33
10
 
34
11
  export { resolveLoaderOptions };
@@ -1,8 +1,5 @@
1
- /**
2
- * Allow locale persistence based on first-visit policy.
3
- */
4
1
  function shouldPersistOnFirstVisit(isFirstVisit, persistOnFirstVisit) {
5
- return !isFirstVisit || persistOnFirstVisit;
2
+ return !isFirstVisit || persistOnFirstVisit;
6
3
  }
7
4
 
8
5
  export { shouldPersistOnFirstVisit };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intor",
3
- "version": "2.4.17",
3
+ "version": "2.5.1",
4
4
  "description": "The i18n library for modern JavaScript",
5
5
  "author": "Yiming Liao",
6
6
  "homepage": "https://intor.dev",
@@ -51,6 +51,10 @@
51
51
  "types": "./dist/types/export/react/index.d.ts",
52
52
  "import": "./dist/react/export/react/index.js"
53
53
  },
54
+ "./react/internal": {
55
+ "types": "./dist/types/export/react/internal/index.d.ts",
56
+ "import": "./dist/react/export/react/internal/index.js"
57
+ },
54
58
  "./vue": {
55
59
  "types": "./dist/types/export/vue/index.d.ts",
56
60
  "import": "./dist/vue/export/vue/index.js"
@@ -59,6 +63,10 @@
59
63
  "types": "./dist/types/export/svelte/index.d.ts",
60
64
  "import": "./dist/svelte/export/svelte/index.js"
61
65
  },
66
+ "./svelte/internal": {
67
+ "types": "./dist/types/export/svelte/internal/index.d.ts",
68
+ "import": "./dist/svelte/export/svelte/internal/index.js"
69
+ },
62
70
  "./next": {
63
71
  "types": "./dist/types/export/next/index.d.ts",
64
72
  "import": "./dist/next/export/next/index.js"
@@ -96,36 +104,40 @@
96
104
  "node": ">=20"
97
105
  },
98
106
  "scripts": {
99
- "type": "tsc --noEmit",
107
+ "type": "tsc -p tsconfig.json --noEmit",
100
108
  "lint": "eslint",
101
- "lint:debug": "eslint --debug",
102
109
  "test": "vitest",
103
110
  "test:types": "tsx scripts/test-types.ts",
104
111
  "test:check": "tsx scripts/check-test-structure.ts",
105
112
  "knip": "knip --config .config/knip.config.ts",
113
+ "clean": "rm -rf dist",
106
114
  "build": "tsx scripts/build.ts",
107
- "prepublishOnly": "yarn build"
115
+ "build:types": "tsc -p tsconfig.build.json && tsc-alias tsconfig.build.json --outDir dist/types",
116
+ "build:release": "yarn clean && yarn build && yarn build:types && yarn api:build",
117
+ "api:build": "tsx scripts/api-extractor/build.ts",
118
+ "api:check": "tsx scripts/api-extractor/check.ts",
119
+ "prepublishOnly": "yarn build:release"
108
120
  },
109
121
  "dependencies": {
110
- "intor-translator": "^1.4.15",
122
+ "intor-translator": "^1.5.0",
111
123
  "logry": "2.1.6",
112
124
  "p-limit": "7.2.0"
113
125
  },
114
126
  "devDependencies": {
127
+ "@microsoft/api-extractor": "^7.57.6",
115
128
  "@rollup/plugin-alias": "6.0.0",
116
- "@rollup/plugin-typescript": "12.3.0",
117
129
  "@rollup/pluginutils": "5.3.0",
118
130
  "@sveltejs/kit": "2.50.1",
119
131
  "@testing-library/dom": "10.4.1",
120
132
  "@testing-library/jest-dom": "6.9.1",
121
133
  "@testing-library/react": "16.3.1",
122
- "@testing-library/user-event": "14.6.1",
123
134
  "@types/express": "5.0.6",
124
135
  "@types/node": "24.10.1",
125
136
  "@types/react": "19.0.0",
126
137
  "@types/react-dom": "19.0.0",
127
138
  "@vitejs/plugin-react": "5.1.2",
128
139
  "@vitest/coverage-v8": "4.0.16",
140
+ "@vue/test-utils": "^2.4.6",
129
141
  "eslint": "9.39.2",
130
142
  "eslint-config-prettier": "10.1.8",
131
143
  "eslint-import-resolver-typescript": "4.4.4",
@@ -149,12 +161,13 @@
149
161
  "remark-gfm": "4.0.1",
150
162
  "rollup": "4.53.3",
151
163
  "rollup-plugin-copy": "3.5.0",
164
+ "rollup-plugin-esbuild": "^6.2.1",
152
165
  "svelte": "5.46.1",
153
166
  "tsc-alias": "1.8.16",
154
167
  "tsd": "0.33.0",
155
168
  "tsx": "^4.21.0",
156
169
  "typescript": "5.8.3",
157
- "typescript-eslint": "8.32.1",
170
+ "typescript-eslint": "^8.56.1",
158
171
  "vite": "7.3.0",
159
172
  "vite-tsconfig-paths": "6.0.3",
160
173
  "vitest": "4.0.16",
@@ -1,42 +0,0 @@
1
- import { localizePathname } from '../../pathname/localize-pathname.js';
2
- import { all } from './strategies/all.js';
3
- import { exceptDefault } from './strategies/except-default.js';
4
- import { none } from './strategies/none.js';
5
-
6
- const assertNever = (x) => {
7
- throw new Error(`Unhandled prefix strategy: ${x}`);
8
- };
9
- /**
10
- * Resolves the canonical pathname based on locale prefix behavior.
11
- *
12
- * The resolved pathname represents the final, normalized form
13
- * used for routing and navigation.
14
- */
15
- const resolvePath = (config, rawPathname, context) => {
16
- const { localePrefix } = config.routing;
17
- let directive;
18
- switch (localePrefix) {
19
- case "all": {
20
- directive = all(config, context);
21
- break;
22
- }
23
- case "except-default": {
24
- directive = exceptDefault(config, context);
25
- break;
26
- }
27
- case "none": {
28
- directive = none();
29
- break;
30
- }
31
- default: {
32
- return assertNever(localePrefix);
33
- }
34
- }
35
- const { pathname } = localizePathname(rawPathname, config, context.locale);
36
- return {
37
- pathname,
38
- shouldRedirect: directive.type === "redirect",
39
- };
40
- };
41
-
42
- export { resolvePath };
@@ -1,28 +0,0 @@
1
- /**
2
- * Resolve pathname decision for routing prefix strategy: "all".
3
- */
4
- function all(config, context) {
5
- const { hasPathLocale, hasPersisted} = context;
6
- const { redirect } = config.routing.inbound.firstVisit;
7
- const isFirstVisit = !hasPersisted;
8
- // ----------------------------------------------------------
9
- // URL already canonical
10
- // ----------------------------------------------------------
11
- if (hasPathLocale) {
12
- return { type: "pass" };
13
- }
14
- // ----------------------------------------------------------
15
- // Apply first-visit redirect policy
16
- // ----------------------------------------------------------
17
- if (isFirstVisit) {
18
- if (!redirect)
19
- return { type: "pass" };
20
- return { type: "redirect" };
21
- }
22
- // ----------------------------------------------------------
23
- // Redirect to the locale-prefixed URL
24
- // ----------------------------------------------------------
25
- return { type: "redirect" };
26
- }
27
-
28
- export { all };
@@ -1,29 +0,0 @@
1
- /**
2
- * Resolve pathname decision for routing prefix strategy: "except-default".
3
- */
4
- function exceptDefault(config, context) {
5
- const { hasPathLocale, hasPersisted} = context;
6
- const { redirect } = config.routing.inbound.firstVisit;
7
- const isFirstVisit = !hasPersisted;
8
- const isDefaultLocale = context.locale === config.defaultLocale;
9
- // ----------------------------------------------------------
10
- // URL already canonical
11
- // ----------------------------------------------------------
12
- if (hasPathLocale) {
13
- return { type: "pass" };
14
- }
15
- // ----------------------------------------------------------
16
- // Apply first-visit redirect policy
17
- // ----------------------------------------------------------
18
- if (isFirstVisit) {
19
- if (!redirect)
20
- return { type: "pass" };
21
- return isDefaultLocale ? { type: "pass" } : { type: "redirect" };
22
- }
23
- // ----------------------------------------------------------
24
- // Redirect non-default locale to the locale-prefixed URL
25
- // ----------------------------------------------------------
26
- return isDefaultLocale ? { type: "pass" } : { type: "redirect" };
27
- }
28
-
29
- export { exceptDefault };
@@ -1,8 +0,0 @@
1
- /**
2
- * Resolve pathname decision for routing prefix strategy: "none".
3
- */
4
- function none() {
5
- return { type: "pass" };
6
- }
7
-
8
- export { none };
@@ -1,9 +0,0 @@
1
- var IntorErrorCode;
2
- (function (IntorErrorCode) {
3
- // config
4
- IntorErrorCode["INVALID_CONFIG_ID"] = "INTOR_INVALID_CONFIG_ID";
5
- IntorErrorCode["MISSING_SUPPORTED_LOCALES"] = "INTOR_MISSING_SUPPORTED_LOCALES";
6
- IntorErrorCode["UNSUPPORTED_DEFAULT_LOCALE"] = "INTOR_UNSUPPORTED_DEFAULT_LOCALE";
7
- })(IntorErrorCode || (IntorErrorCode = {}));
8
-
9
- export { IntorErrorCode };
@@ -1,39 +0,0 @@
1
- import { logry } from 'logry';
2
- import { getGlobalLoggerPool } from './global-logger-pool.js';
3
-
4
- const DEFAULT_FORMAT_CONFIG = {
5
- timestamp: { withDate: false },
6
- };
7
- const DEFAULT_RENDER_CONFIG = {
8
- timestamp: {},
9
- id: { visible: true, prefix: "<", suffix: ">" },
10
- meta: { lineBreaksAfter: 1 },
11
- };
12
- /**
13
- * Get a shared logger instance by id.
14
- * - Safe across hot reloads
15
- * - Prevents unbounded memory usage via soft LRU
16
- */
17
- function getLogger({ id = "default", formatConfig, renderConfig, preset, ...options }) {
18
- const pool = getGlobalLoggerPool();
19
- let logger = pool.get(id);
20
- if (!logger) {
21
- logger = logry({
22
- id,
23
- formatConfig: !formatConfig && !preset ? DEFAULT_FORMAT_CONFIG : formatConfig,
24
- renderConfig: !renderConfig && !preset ? DEFAULT_RENDER_CONFIG : renderConfig,
25
- preset,
26
- ...options,
27
- });
28
- pool.set(id, logger);
29
- // Soft LRU: keep pool size under control
30
- if (pool.size > 1000) {
31
- const keys = [...pool.keys()];
32
- for (const key of keys.slice(0, 200))
33
- pool.delete(key);
34
- }
35
- }
36
- return logger;
37
- }
38
-
39
- export { getLogger };
@@ -1,8 +0,0 @@
1
- function getGlobalLoggerPool() {
2
- if (!globalThis.__INTOR_LOGGER_POOL__) {
3
- globalThis.__INTOR_LOGGER_POOL__ = new Map();
4
- }
5
- return globalThis.__INTOR_LOGGER_POOL__;
6
- }
7
-
8
- export { getGlobalLoggerPool };
@@ -1,25 +0,0 @@
1
- /**
2
- * Collect remote message resources for a given locale.
3
- *
4
- * - Always includes the root `index.json`
5
- * - Optionally includes namespace-specific resources
6
- * - Produces semantic paths for later message nesting
7
- *
8
- * This function performs no I/O and does not validate resource existence.
9
- */
10
- function collectRemoteResources({ locale, baseUrl, namespaces, }) {
11
- const basePath = `${baseUrl}/${locale}`;
12
- // Root translation resource (always loaded)
13
- const indexResource = { url: `${basePath}/index.json`, path: [] };
14
- // When no namespaces are provided, the locale domain consists of index only
15
- if (!namespaces || namespaces.length === 0)
16
- return [indexResource];
17
- // Namespace-specific resources are nested under their namespace key
18
- const nsResources = namespaces.map((ns) => ({
19
- url: `${basePath}/${ns}.json`,
20
- path: [ns],
21
- }));
22
- return [indexResource, ...nsResources];
23
- }
24
-
25
- export { collectRemoteResources };
@@ -1,47 +0,0 @@
1
- import { getLogger } from '../../logger/get-logger.js';
2
- import { isValidMessages } from '../utils/is-valid-messages.js';
3
-
4
- /**
5
- * Fetch a single remote messages resource.
6
- *
7
- * This function performs a single HTTP request to retrieve
8
- * a remote translation messages payload.
9
- *
10
- * It is responsible for:
11
- * - Issuing the network request
12
- * - Validating the returned message structure
13
- * - Handling abort and network errors
14
- */
15
- async function fetchRemoteResource({ fetch, url, headers, signal, loggerOptions, }) {
16
- const baseLogger = getLogger(loggerOptions);
17
- const logger = baseLogger.child({ scope: "fetch-locale-messages" });
18
- try {
19
- // Fetch
20
- const response = await fetch(url, {
21
- method: "GET",
22
- headers: { "Content-Type": "application/json", ...headers },
23
- cache: "no-store",
24
- signal,
25
- });
26
- if (!response.ok) {
27
- throw new Error(`HTTP ${response.status} ${response.statusText}`);
28
- }
29
- // Parse JSON body
30
- const data = await response.json();
31
- // Validate messages structure
32
- if (!isValidMessages(data)) {
33
- throw new Error("Invalid messages structure");
34
- }
35
- return data;
36
- }
37
- catch (error) {
38
- if (error instanceof Error && error.name === "AbortError") {
39
- logger.debug("Remote fetch aborted.", { url });
40
- return;
41
- }
42
- logger.warn("Failed to fetch remote messages.", { url, error });
43
- return;
44
- }
45
- }
46
-
47
- export { fetchRemoteResource };
@@ -1,93 +0,0 @@
1
- import pLimit from 'p-limit';
2
- import { getLogger } from '../../logger/get-logger.js';
3
- import { collectRemoteResources } from './collect-remote-resources.js';
4
- import { fetchRemoteResource } from './fetch-remote-resource.js';
5
- import { resolveRemoteResources } from './resolve-remote-resources.js';
6
-
7
- /**
8
- * Load locale messages from a remote source.
9
- *
10
- * This function serves as the orchestration layer for remote message loading.
11
- * It coordinates:
12
- *
13
- * - Locale resolution with fallbacks
14
- * - Concurrency control for network requests
15
- * - Remote resource fetching and message merging
16
- *
17
- * Remote messages are fetched on demand and are not memoized at the process level.
18
- *
19
- * Network requests and response validation are delegated to lower-level utilities.
20
- */
21
- const loadRemoteMessages = async ({ locale, fallbackLocales, namespaces, concurrency, fetch, url: baseUrl, headers, signal, loggerOptions, }) => {
22
- const baseLogger = getLogger(loggerOptions);
23
- const logger = baseLogger.child({ scope: "load-remote-messages" });
24
- // Abort early if the request has already been cancelled
25
- if (signal?.aborted) {
26
- logger.debug("Remote message loading aborted before fetch.");
27
- return;
28
- }
29
- const start = performance.now();
30
- logger.debug("Loading remote messages.", { baseUrl });
31
- // ----------------------------------------------------------------
32
- // Resolve locale messages with ordered fallback strategy
33
- // ----------------------------------------------------------------
34
- const limit = concurrency ? pLimit(concurrency) : undefined;
35
- const candidateLocales = [locale, ...(fallbackLocales || [])];
36
- let messages;
37
- for (let i = 0; i < candidateLocales.length; i++) {
38
- const candidateLocale = candidateLocales[i];
39
- const isLast = i === candidateLocales.length - 1;
40
- try {
41
- // -----------------------------------------------------------------
42
- // Collect remote message resources for the locale
43
- // -----------------------------------------------------------------
44
- const resources = collectRemoteResources({
45
- locale: candidateLocale,
46
- baseUrl,
47
- namespaces,
48
- });
49
- // -----------------------------------------------------------------
50
- // Fetch all message chunks in parallel
51
- // -----------------------------------------------------------------
52
- const fetchUrl = (url) => fetchRemoteResource({ url, headers, signal, loggerOptions, fetch });
53
- const results = await Promise.all(resources.map(({ url }) => limit ? limit(() => fetchUrl(url)) : fetchUrl(url)));
54
- // Guard: no valid remote resources
55
- if (!results.some(Boolean))
56
- continue;
57
- // -----------------------------------------------------------------
58
- // Resolve and merge remote message resources
59
- // -----------------------------------------------------------------
60
- const resolved = resolveRemoteResources(resources.map((res, i) => ({ path: res.path, data: results[i] })));
61
- // -----------------------------------------------------------------
62
- // Wrap resolved messages into locale-scoped LocaleMessages
63
- // -----------------------------------------------------------------
64
- messages = { [candidateLocale]: resolved };
65
- break;
66
- }
67
- catch {
68
- if (signal?.aborted) {
69
- logger.debug("Remote message loading aborted.");
70
- return;
71
- }
72
- if (isLast) {
73
- logger.warn("Failed to load messages for all candidate locales.", {
74
- locale,
75
- fallbackLocales,
76
- });
77
- }
78
- else {
79
- logger.warn(`Failed to load locale messages for "${candidateLocale}", trying next fallback.`);
80
- }
81
- }
82
- }
83
- // Final success log with resolved locale and timing
84
- if (messages) {
85
- logger.trace("Finished loading remote messages.", {
86
- loadedLocale: Object.keys(messages)[0],
87
- duration: `${Math.round(performance.now() - start)} ms`,
88
- });
89
- }
90
- return messages;
91
- };
92
-
93
- export { loadRemoteMessages };
@@ -1,24 +0,0 @@
1
- import { deepMerge } from '../../utils/deep-merge.js';
2
- import { nestObjectFromPath } from '../utils/nest-object-from-path.js';
3
-
4
- /**
5
- * Resolve remote message resources into a single MessageObject.
6
- *
7
- * - Applies semantic nesting based on resource path
8
- * - Merges all resolved message chunks
9
- *
10
- * Always returns a MessageObject.
11
- * An empty object represents an empty translation domain.
12
- */
13
- function resolveRemoteResources(resources) {
14
- let result = {};
15
- for (const { path, data } of resources) {
16
- if (!data)
17
- continue;
18
- const resolved = path.length > 0 ? nestObjectFromPath(path, data) : data;
19
- result = deepMerge(result, resolved);
20
- }
21
- return result;
22
- }
23
-
24
- export { resolveRemoteResources };
@@ -1,33 +0,0 @@
1
- import { getLogger } from '../logger/get-logger.js';
2
- import { deepMerge } from '../utils/deep-merge.js';
3
-
4
- /**
5
- * Merge locale-specific messages with runtime overrides.
6
- *
7
- * - Only merges messages under the given locale
8
- * - Emits debug logs for add / override events
9
- */
10
- function mergeMessages(a, b, { config, locale, onEvent }) {
11
- const baseLogger = getLogger({ ...config.logger, id: config.id });
12
- const logger = baseLogger.child({ scope: "merge-messages" });
13
- // Merge messages for the active locale only
14
- const merged = deepMerge(a?.[locale] ?? {}, b?.[locale] ?? {}, {
15
- onOverride: (event) => {
16
- if (onEvent) {
17
- onEvent(event);
18
- return;
19
- }
20
- const { kind, path, next, prev } = event;
21
- if (kind === "add")
22
- return;
23
- logger.debug(`Override | ${locale}: "${path}"`, { prev, next });
24
- },
25
- });
26
- // Preserve other locales, update only the target one
27
- return {
28
- ...a,
29
- [locale]: merged,
30
- };
31
- }
32
-
33
- export { mergeMessages };
@@ -1,44 +0,0 @@
1
- /** Check if a value is a plain object (not null, not array) */
2
- function isPlainObject(value) {
3
- return typeof value === "object" && value !== null && !Array.isArray(value);
4
- }
5
- /**
6
- * Check if a value is a valid MessageObject.
7
- *
8
- * - Supports all MessageValue variants (primitive, array, object).
9
- * - Uses an iterative approach to avoid stack overflow.
10
- */
11
- function isValidMessages(value) {
12
- if (!isPlainObject(value))
13
- return false;
14
- const stack = [value];
15
- while (stack.length > 0) {
16
- const current = stack.pop();
17
- // primitives are always valid
18
- if (current === null ||
19
- typeof current === "string" ||
20
- typeof current === "number" ||
21
- typeof current === "boolean") {
22
- continue;
23
- }
24
- // array → validate each item
25
- if (Array.isArray(current)) {
26
- for (const item of current) {
27
- stack.push(item);
28
- }
29
- continue;
30
- }
31
- // object → validate each value
32
- if (isPlainObject(current)) {
33
- for (const v of Object.values(current)) {
34
- stack.push(v);
35
- }
36
- continue;
37
- }
38
- // everything else is invalid
39
- return false;
40
- }
41
- return true;
42
- }
43
-
44
- export { isPlainObject, isValidMessages };