intor 2.3.6 → 2.3.7

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 (373) hide show
  1. package/dist/core/export/config/index.js +2 -0
  2. package/dist/core/export/index.js +8 -4
  3. package/dist/core/export/server/index.js +1 -4
  4. package/dist/core/src/config/define-intor-config.js +5 -2
  5. package/dist/core/src/config/resolvers/resolve-cache-options.js +2 -1
  6. package/dist/core/src/config/resolvers/resolve-cookie-options.js +2 -1
  7. package/dist/core/src/config/resolvers/resolve-routing-options.js +7 -2
  8. package/dist/core/src/config/validators/validate-default-locale.js +3 -1
  9. package/dist/core/src/config/validators/validate-supported-locales.js +8 -4
  10. package/dist/{react/src/server → core/src/core}/messages/load-remote-messages/fetch-locale-messages/fetch-locale-messages.js +11 -11
  11. package/dist/core/src/{server → core}/messages/load-remote-messages/load-remote-messages.js +13 -15
  12. package/dist/core/src/core/utils/resolve-loader-options.js +25 -0
  13. package/dist/core/src/server/helpers/local-messages-from-url.js +12 -6
  14. package/dist/core/src/server/intor/intor.js +11 -7
  15. package/dist/core/src/server/messages/load-local-messages/load-local-messages.js +16 -16
  16. package/dist/core/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.js +5 -3
  17. package/dist/core/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.js +7 -5
  18. package/dist/core/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.js +2 -2
  19. package/dist/core/src/server/messages/load-messages.js +28 -22
  20. package/dist/core/src/server/translator/get-translator.js +10 -15
  21. package/dist/next/src/adapters/next/navigation/link.js +1 -12
  22. package/dist/next/src/adapters/next/navigation/redirect.js +6 -6
  23. package/dist/next/src/adapters/next/navigation/use-pathname.js +6 -4
  24. package/dist/next/src/adapters/next/navigation/use-router.js +1 -14
  25. package/dist/next/src/adapters/next/proxy/intor-proxy.js +4 -1
  26. package/dist/next/src/adapters/next/server/get-locale.js +4 -1
  27. package/dist/next/src/adapters/next/server/get-translator.js +8 -2
  28. package/dist/next/src/core/error/intor-error.js +9 -0
  29. package/dist/next/src/{server → core}/messages/load-remote-messages/fetch-locale-messages/fetch-locale-messages.js +11 -11
  30. package/dist/next/src/{server → core}/messages/load-remote-messages/load-remote-messages.js +13 -15
  31. package/dist/next/src/core/utils/resolve-loader-options.js +25 -0
  32. package/dist/next/src/routing/pathname/resolve-pathname.js +4 -1
  33. package/dist/next/src/routing/resolve-routing.js +6 -3
  34. package/dist/next/src/server/messages/load-local-messages/load-local-messages.js +16 -16
  35. package/dist/next/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.js +5 -3
  36. package/dist/next/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.js +7 -5
  37. package/dist/next/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.js +2 -2
  38. package/dist/next/src/server/messages/load-messages.js +28 -22
  39. package/dist/next/src/server/translator/get-translator.js +10 -15
  40. package/dist/react/export/react/index.js +5 -15
  41. package/dist/react/src/client/helpers/get-client-locale.js +4 -1
  42. package/dist/react/src/client/react/helpers/use-load-messages.js +46 -0
  43. package/dist/{next → react}/src/client/react/navigation/use-navigation-strategy.js +11 -7
  44. package/dist/{next → react}/src/client/react/navigation/use-navigation-target.js +6 -3
  45. package/dist/react/src/client/react/provider/effects/use-locale-effects.js +14 -0
  46. package/dist/react/src/client/react/provider/effects/use-messages-effects.js +24 -0
  47. package/dist/react/src/client/react/provider/intor-provider.js +70 -0
  48. package/dist/react/src/client/react/provider/use-intor.js +11 -0
  49. package/dist/react/src/client/react/render/create-react-renderer.js +2 -2
  50. package/dist/react/src/client/react/translator/use-translator.js +9 -20
  51. package/dist/react/src/client/shared/messages/create-refetch-messages.js +61 -0
  52. package/dist/react/src/core/constants/prefix-placeholder.js +4 -0
  53. package/dist/react/src/core/error/intor-error.js +9 -0
  54. package/dist/{core/src/server → react/src/core}/messages/load-remote-messages/fetch-locale-messages/fetch-locale-messages.js +11 -11
  55. package/dist/react/src/{server → core}/messages/load-remote-messages/load-remote-messages.js +13 -15
  56. package/dist/react/src/core/utils/is-external-destination.js +11 -0
  57. package/dist/react/src/core/utils/normalizers/normalize-pathname.js +43 -0
  58. package/dist/react/src/core/utils/pathname/get-unprefixed-pathname.js +39 -0
  59. package/dist/react/src/core/utils/pathname/locale-prefix-pathname.js +38 -0
  60. package/dist/react/src/core/utils/pathname/localize-pathname.js +36 -0
  61. package/dist/react/src/core/utils/pathname/standardize-pathname.js +30 -0
  62. package/dist/react/src/core/utils/resolve-loader-options.js +32 -0
  63. package/dist/{next → react}/src/routing/resolve-navigation-target.js +5 -2
  64. package/dist/svelte/export/svelte/index.js +6 -0
  65. package/dist/svelte/src/client/helpers/get-client-locale.js +27 -0
  66. package/dist/svelte/src/client/shared/messages/create-refetch-messages.js +61 -0
  67. package/dist/svelte/src/client/shared/utils/locale/detect-browser-locale.js +12 -0
  68. package/dist/svelte/src/client/shared/utils/locale/get-locale-cookie-browser.js +16 -0
  69. package/dist/svelte/src/client/shared/utils/locale/set-document-locale.js +12 -0
  70. package/dist/svelte/src/client/svelte/runtime/create-intor.js +70 -0
  71. package/dist/svelte/src/client/svelte/runtime/effects/locale-effects.js +19 -0
  72. package/dist/svelte/src/client/svelte/runtime/effects/messages-effects.js +23 -0
  73. package/dist/svelte/src/core/error/intor-error.js +9 -0
  74. package/dist/svelte/src/core/logger/get-logger.js +39 -0
  75. package/dist/svelte/src/core/logger/global-logger-pool.js +8 -0
  76. package/dist/svelte/src/core/messages/load-remote-messages/fetch-locale-messages/fetch-locale-messages.js +55 -0
  77. package/dist/svelte/src/core/messages/load-remote-messages/fetch-locale-messages/utils/build-search-params.js +25 -0
  78. package/dist/svelte/src/core/messages/load-remote-messages/load-remote-messages.js +108 -0
  79. package/dist/svelte/src/core/messages/utils/is-valid-messages.js +36 -0
  80. package/dist/svelte/src/core/utils/deep-merge.js +31 -0
  81. package/dist/svelte/src/core/utils/normalizers/normalize-cache-key.js +45 -0
  82. package/dist/svelte/src/core/utils/normalizers/normalize-locale.js +59 -0
  83. package/dist/svelte/src/core/utils/resolve-loader-options.js +32 -0
  84. package/dist/types/export/index.d.ts +1 -3
  85. package/dist/types/export/internal/index.d.ts +1 -1
  86. package/dist/types/export/react/index.d.ts +4 -1
  87. package/dist/types/export/server/index.d.ts +1 -1
  88. package/dist/types/export/svelte/index.d.ts +1 -0
  89. package/dist/types/export/vue/index.d.ts +1 -0
  90. package/dist/types/src/adapters/next/navigation/link.d.ts +1 -1
  91. package/dist/types/src/adapters/next/navigation/redirect.d.ts +1 -1
  92. package/dist/types/src/adapters/next/navigation/use-router.d.ts +1 -1
  93. package/dist/types/src/adapters/next/proxy/utils/set-locale-cookie-edge.d.ts +1 -1
  94. package/dist/types/src/adapters/next/server/get-locale.d.ts +2 -2
  95. package/dist/types/src/adapters/next/server/get-translator.d.ts +9 -24
  96. package/dist/types/src/client/react/helpers/index.d.ts +1 -0
  97. package/dist/types/src/client/react/helpers/use-load-messages.d.ts +10 -0
  98. package/dist/types/src/client/react/index.d.ts +2 -1
  99. package/dist/types/src/client/react/navigation/use-navigation-strategy.d.ts +1 -1
  100. package/dist/types/src/client/react/navigation/use-navigation-target.d.ts +1 -1
  101. package/dist/types/src/client/react/provider/effects/use-locale-effects.d.ts +3 -0
  102. package/dist/types/src/client/react/provider/effects/use-messages-effects.d.ts +4 -0
  103. package/dist/types/src/client/react/{contexts/intor-provider → provider}/index.d.ts +1 -0
  104. package/dist/types/src/client/react/provider/intor-provider.d.ts +5 -0
  105. package/dist/types/src/client/react/provider/types.d.ts +22 -0
  106. package/dist/types/src/client/react/provider/use-intor.d.ts +2 -0
  107. package/dist/types/src/client/react/render/create-react-renderer.d.ts +1 -0
  108. package/dist/types/src/client/react/translator/create-t-rich.d.ts +1 -1
  109. package/dist/types/src/client/react/translator/t.d.ts +2 -2
  110. package/dist/types/src/client/react/translator/translator-instance.d.ts +12 -8
  111. package/dist/types/src/client/react/translator/use-translator.d.ts +3 -3
  112. package/dist/types/src/client/shared/messages/create-refetch-messages.d.ts +18 -0
  113. package/dist/types/src/client/shared/messages/index.d.ts +1 -0
  114. package/dist/types/src/client/shared/types/bootstrap.d.ts +16 -0
  115. package/dist/types/src/client/shared/types/index.d.ts +1 -1
  116. package/dist/types/src/client/shared/utils/build-cookie-string.d.ts +1 -1
  117. package/dist/types/src/client/shared/utils/locale/set-locale-cookie-browser.d.ts +1 -1
  118. package/dist/types/src/client/svelte/helpers/create-messages.d.ts +11 -0
  119. package/dist/types/src/client/svelte/helpers/index.d.ts +1 -0
  120. package/dist/types/src/client/svelte/index.d.ts +3 -0
  121. package/dist/types/src/client/svelte/runtime/create-intor.d.ts +13 -0
  122. package/dist/types/src/client/svelte/runtime/effects/locale-effects.d.ts +11 -0
  123. package/dist/types/src/client/svelte/runtime/effects/messages-effects.d.ts +9 -0
  124. package/dist/types/src/client/svelte/runtime/index.d.ts +1 -0
  125. package/dist/types/src/client/svelte/runtime/types.d.ts +9 -0
  126. package/dist/types/src/client/vue/helpers/index.d.ts +1 -0
  127. package/dist/types/src/client/vue/helpers/use-load-messages.d.ts +11 -0
  128. package/dist/types/src/client/vue/index.d.ts +4 -0
  129. package/dist/types/src/client/vue/provider/effects/use-locale-effects.d.ts +4 -0
  130. package/dist/types/src/client/vue/provider/effects/use-messages-effects.d.ts +11 -0
  131. package/dist/types/src/client/vue/provider/index.d.ts +2 -0
  132. package/dist/types/src/client/vue/provider/inject.d.ts +3 -0
  133. package/dist/types/src/client/vue/provider/intor-provider.d.ts +4 -0
  134. package/dist/types/src/client/vue/provider/types.d.ts +18 -0
  135. package/dist/types/src/client/vue/render/create-vue-renderer.d.ts +18 -0
  136. package/dist/types/src/client/vue/render/index.d.ts +2 -0
  137. package/dist/types/src/client/vue/render/render-rich-message-react.d.ts +13 -0
  138. package/dist/types/src/client/vue/render/types.d.ts +15 -0
  139. package/dist/types/src/client/vue/translator/create-t-rich.d.ts +16 -0
  140. package/dist/types/src/client/vue/translator/index.d.ts +2 -0
  141. package/dist/types/src/client/vue/translator/t.d.ts +38 -0
  142. package/dist/types/src/client/vue/translator/translator-instance.d.ts +16 -0
  143. package/dist/types/src/client/vue/translator/use-translator.d.ts +8 -0
  144. package/dist/types/src/config/constants/cache.d.ts +2 -0
  145. package/dist/types/src/config/constants/cookie.d.ts +2 -0
  146. package/dist/types/src/config/constants/index.d.ts +3 -0
  147. package/dist/types/src/config/constants/routing.d.ts +2 -0
  148. package/dist/types/src/config/define-intor-config.d.ts +1 -1
  149. package/dist/types/src/config/index.d.ts +2 -1
  150. package/dist/types/src/config/resolvers/resolve-cache-options.d.ts +1 -1
  151. package/dist/types/src/config/resolvers/resolve-cookie-options.d.ts +1 -1
  152. package/dist/types/src/config/resolvers/resolve-fallback-locales.d.ts +1 -1
  153. package/dist/types/src/config/resolvers/resolve-routing-options.d.ts +1 -1
  154. package/dist/types/src/config/types/index.d.ts +7 -0
  155. package/dist/types/src/config/types/{intor-config.types.d.ts → intor-config.d.ts} +28 -24
  156. package/dist/types/src/config/types/{loader.types.d.ts → loader.d.ts} +15 -12
  157. package/dist/types/src/config/types/{logger.types.d.ts → logger.d.ts} +1 -0
  158. package/dist/types/src/config/types/{routing.types.d.ts → routing.d.ts} +1 -1
  159. package/dist/types/src/config/types/translator.d.ts +7 -0
  160. package/dist/types/src/config/validators/validate-default-locale.d.ts +1 -1
  161. package/dist/types/src/config/validators/validate-supported-locales.d.ts +1 -1
  162. package/dist/types/src/core/index.d.ts +6 -0
  163. package/dist/types/src/{server/shared → core}/logger/get-logger.d.ts +3 -4
  164. package/dist/types/src/core/logger/index.d.ts +2 -0
  165. package/dist/types/src/core/messages/index.d.ts +4 -0
  166. package/dist/types/src/{server → core}/messages/load-remote-messages/fetch-locale-messages/fetch-locale-messages.d.ts +1 -1
  167. package/dist/types/src/core/messages/load-remote-messages/fetch-locale-messages/types.d.ts +12 -0
  168. package/dist/types/src/core/messages/load-remote-messages/index.d.ts +1 -0
  169. package/dist/types/src/{server → core}/messages/load-remote-messages/load-remote-messages.d.ts +1 -1
  170. package/dist/types/src/core/messages/load-remote-messages/types.d.ts +15 -0
  171. package/dist/types/src/{server/messages/shared → core/messages}/types.d.ts +8 -5
  172. package/dist/types/src/{server/messages/shared → core/messages}/utils/is-valid-messages.d.ts +1 -1
  173. package/dist/types/src/{shared → core}/types/generated.d.ts +1 -1
  174. package/dist/types/src/core/types/index.d.ts +3 -0
  175. package/dist/types/src/{shared → core}/types/translator-instance.d.ts +2 -6
  176. package/dist/types/src/{shared → core}/utils/index.d.ts +2 -0
  177. package/dist/types/src/{shared → core}/utils/locale/get-locale-from-pathname.d.ts +1 -1
  178. package/dist/types/src/{shared → core}/utils/locale/get-locale-from-query.d.ts +1 -1
  179. package/dist/types/src/{shared → core}/utils/pathname/get-unprefixed-pathname.d.ts +1 -1
  180. package/dist/types/src/{shared → core}/utils/pathname/locale-prefix-pathname.d.ts +1 -1
  181. package/dist/types/src/{shared → core}/utils/pathname/localize-pathname.d.ts +1 -1
  182. package/dist/types/src/{shared → core}/utils/pathname/standardize-pathname.d.ts +1 -1
  183. package/dist/types/src/core/utils/resolve-loader-options.d.ts +21 -0
  184. package/dist/types/src/routing/index.d.ts +2 -0
  185. package/dist/types/src/routing/locale/resolve-locale.d.ts +1 -1
  186. package/dist/types/src/routing/locale/types.d.ts +1 -1
  187. package/dist/types/src/routing/pathname/resolve-pathname.d.ts +1 -1
  188. package/dist/types/src/routing/pathname/types.d.ts +1 -1
  189. package/dist/types/src/routing/resolve-navigation-target.d.ts +1 -1
  190. package/dist/types/src/routing/resolve-routing.d.ts +1 -1
  191. package/dist/types/src/server/helpers/index.d.ts +1 -1
  192. package/dist/types/src/server/helpers/local-messages-from-url.d.ts +15 -5
  193. package/dist/types/src/server/index.d.ts +3 -5
  194. package/dist/types/src/server/intor/intor.d.ts +4 -4
  195. package/dist/types/src/server/intor/types.d.ts +4 -4
  196. package/dist/types/src/server/messages/index.d.ts +0 -2
  197. package/dist/types/src/server/messages/load-local-messages/index.d.ts +1 -1
  198. package/dist/types/src/server/messages/load-local-messages/load-local-messages.d.ts +1 -1
  199. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.d.ts +2 -2
  200. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/types.d.ts +5 -7
  201. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.d.ts +1 -1
  202. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/types.d.ts +5 -7
  203. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.d.ts +1 -1
  204. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/nest-object-from-path.d.ts +1 -1
  205. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.d.ts +2 -2
  206. package/dist/types/src/server/messages/load-local-messages/read-locale-messages/types.d.ts +6 -8
  207. package/dist/types/src/server/messages/load-local-messages/types.d.ts +9 -16
  208. package/dist/types/src/server/messages/load-messages.d.ts +3 -3
  209. package/dist/types/src/server/messages/types.d.ts +11 -5
  210. package/dist/types/src/server/translator/get-translator.d.ts +11 -19
  211. package/dist/types/src/server/translator/index.d.ts +2 -1
  212. package/dist/types/src/server/translator/translator-instance.d.ts +8 -0
  213. package/dist/vue/export/vue/index.js +6 -0
  214. package/dist/vue/src/client/helpers/get-client-locale.js +27 -0
  215. package/dist/vue/src/client/shared/messages/create-refetch-messages.js +61 -0
  216. package/dist/vue/src/client/shared/utils/build-cookie-string.js +30 -0
  217. package/dist/vue/src/client/shared/utils/locale/detect-browser-locale.js +12 -0
  218. package/dist/vue/src/client/shared/utils/locale/get-locale-cookie-browser.js +16 -0
  219. package/dist/vue/src/client/shared/utils/locale/set-document-locale.js +12 -0
  220. package/dist/vue/src/client/shared/utils/locale/set-locale-cookie-browser.js +18 -0
  221. package/dist/vue/src/client/vue/helpers/use-load-messages.js +44 -0
  222. package/dist/vue/src/client/vue/provider/effects/use-locale-effects.js +13 -0
  223. package/dist/vue/src/client/vue/provider/effects/use-messages-effects.js +36 -0
  224. package/dist/vue/src/client/vue/provider/inject.js +11 -0
  225. package/dist/vue/src/client/vue/provider/intor-provider.js +79 -0
  226. package/dist/vue/src/client/vue/render/create-vue-renderer.js +36 -0
  227. package/dist/vue/src/client/vue/render/render-rich-message-react.js +19 -0
  228. package/dist/vue/src/client/vue/translator/create-t-rich.js +26 -0
  229. package/dist/vue/src/client/vue/translator/t.js +32 -0
  230. package/dist/vue/src/client/vue/translator/use-translator.js +28 -0
  231. package/dist/vue/src/core/error/intor-error.js +9 -0
  232. package/dist/vue/src/core/logger/get-logger.js +39 -0
  233. package/dist/vue/src/core/logger/global-logger-pool.js +8 -0
  234. package/dist/vue/src/core/messages/load-remote-messages/fetch-locale-messages/fetch-locale-messages.js +55 -0
  235. package/dist/vue/src/core/messages/load-remote-messages/fetch-locale-messages/utils/build-search-params.js +25 -0
  236. package/dist/vue/src/core/messages/load-remote-messages/load-remote-messages.js +108 -0
  237. package/dist/vue/src/core/messages/utils/is-valid-messages.js +36 -0
  238. package/dist/vue/src/core/utils/deep-merge.js +31 -0
  239. package/dist/vue/src/core/utils/normalizers/normalize-cache-key.js +45 -0
  240. package/dist/vue/src/core/utils/normalizers/normalize-locale.js +59 -0
  241. package/dist/vue/src/core/utils/resolve-loader-options.js +32 -0
  242. package/package.json +16 -6
  243. package/dist/next/src/client/react/contexts/config/context.js +0 -3
  244. package/dist/next/src/client/react/contexts/locale/context.js +0 -3
  245. package/dist/next/src/client/react/contexts/messages/context.js +0 -3
  246. package/dist/next/src/client/react/contexts/translator/context.js +0 -3
  247. package/dist/next/src/client/react/contexts/translator-runtime/context.js +0 -3
  248. package/dist/next/src/config/constants/cache.constants.js +0 -7
  249. package/dist/react/src/client/react/contexts/config/context.js +0 -5
  250. package/dist/react/src/client/react/contexts/config/hook.js +0 -11
  251. package/dist/react/src/client/react/contexts/config/provider.js +0 -14
  252. package/dist/react/src/client/react/contexts/intor-provider/intor-provider.js +0 -17
  253. package/dist/react/src/client/react/contexts/locale/context.js +0 -5
  254. package/dist/react/src/client/react/contexts/locale/hook.js +0 -11
  255. package/dist/react/src/client/react/contexts/locale/provider.js +0 -38
  256. package/dist/react/src/client/react/contexts/locale/utils/change-locale.js +0 -26
  257. package/dist/react/src/client/react/contexts/messages/context.js +0 -5
  258. package/dist/react/src/client/react/contexts/messages/hook.js +0 -11
  259. package/dist/react/src/client/react/contexts/messages/provider.js +0 -39
  260. package/dist/react/src/client/react/contexts/messages/utils/use-refetch-messages.js +0 -70
  261. package/dist/react/src/client/react/contexts/translator/context.js +0 -5
  262. package/dist/react/src/client/react/contexts/translator/hook.js +0 -11
  263. package/dist/react/src/client/react/contexts/translator/provider.js +0 -58
  264. package/dist/react/src/client/react/contexts/translator-runtime/context.js +0 -5
  265. package/dist/react/src/client/react/contexts/translator-runtime/hook.js +0 -9
  266. package/dist/react/src/client/react/contexts/translator-runtime/provider.js +0 -15
  267. package/dist/react/src/config/constants/cache.constants.js +0 -7
  268. package/dist/react/src/server/shared/messages/global-messages-pool.js +0 -10
  269. package/dist/types/src/client/react/contexts/config/context.d.ts +0 -3
  270. package/dist/types/src/client/react/contexts/config/hook.d.ts +0 -2
  271. package/dist/types/src/client/react/contexts/config/index.d.ts +0 -2
  272. package/dist/types/src/client/react/contexts/config/provider.d.ts +0 -2
  273. package/dist/types/src/client/react/contexts/config/types.d.ts +0 -11
  274. package/dist/types/src/client/react/contexts/index.d.ts +0 -6
  275. package/dist/types/src/client/react/contexts/intor-provider/intor-provider.d.ts +0 -2
  276. package/dist/types/src/client/react/contexts/intor-provider/types.d.ts +0 -13
  277. package/dist/types/src/client/react/contexts/locale/context.d.ts +0 -3
  278. package/dist/types/src/client/react/contexts/locale/hook.d.ts +0 -1
  279. package/dist/types/src/client/react/contexts/locale/index.d.ts +0 -2
  280. package/dist/types/src/client/react/contexts/locale/provider.d.ts +0 -3
  281. package/dist/types/src/client/react/contexts/locale/types.d.ts +0 -13
  282. package/dist/types/src/client/react/contexts/locale/utils/change-locale.d.ts +0 -20
  283. package/dist/types/src/client/react/contexts/messages/context.d.ts +0 -3
  284. package/dist/types/src/client/react/contexts/messages/hook.d.ts +0 -2
  285. package/dist/types/src/client/react/contexts/messages/index.d.ts +0 -2
  286. package/dist/types/src/client/react/contexts/messages/provider.d.ts +0 -3
  287. package/dist/types/src/client/react/contexts/messages/types.d.ts +0 -12
  288. package/dist/types/src/client/react/contexts/messages/utils/use-refetch-messages.d.ts +0 -20
  289. package/dist/types/src/client/react/contexts/translator/context.d.ts +0 -3
  290. package/dist/types/src/client/react/contexts/translator/hook.d.ts +0 -2
  291. package/dist/types/src/client/react/contexts/translator/index.d.ts +0 -2
  292. package/dist/types/src/client/react/contexts/translator/provider.d.ts +0 -2
  293. package/dist/types/src/client/react/contexts/translator/types.d.ts +0 -11
  294. package/dist/types/src/client/react/contexts/translator-runtime/context.d.ts +0 -3
  295. package/dist/types/src/client/react/contexts/translator-runtime/hook.d.ts +0 -2
  296. package/dist/types/src/client/react/contexts/translator-runtime/index.d.ts +0 -3
  297. package/dist/types/src/client/react/contexts/translator-runtime/provider.d.ts +0 -2
  298. package/dist/types/src/client/react/contexts/translator-runtime/types.d.ts +0 -13
  299. package/dist/types/src/client/shared/types/translator-instance.d.ts +0 -11
  300. package/dist/types/src/config/constants/cache.constants.d.ts +0 -2
  301. package/dist/types/src/config/constants/cookie.constants.d.ts +0 -2
  302. package/dist/types/src/config/constants/routing.constants.d.ts +0 -2
  303. package/dist/types/src/config/types/translator.types.d.ts +0 -7
  304. package/dist/types/src/server/messages/load-remote-messages/fetch-locale-messages/types.d.ts +0 -14
  305. package/dist/types/src/server/messages/load-remote-messages/index.d.ts +0 -2
  306. package/dist/types/src/server/messages/load-remote-messages/types.d.ts +0 -21
  307. package/dist/types/src/shared/types/index.d.ts +0 -2
  308. /package/dist/core/src/config/constants/{cache.constants.js → cache.js} +0 -0
  309. /package/dist/core/src/config/constants/{cookie.constants.js → cookie.js} +0 -0
  310. /package/dist/core/src/config/constants/{routing.constants.js → routing.js} +0 -0
  311. /package/dist/core/src/{shared → core}/constants/prefix-placeholder.js +0 -0
  312. /package/dist/core/src/{shared → core}/error/intor-error.js +0 -0
  313. /package/dist/core/src/{server/shared → core}/logger/get-logger.js +0 -0
  314. /package/dist/core/src/{server/shared → core}/logger/global-logger-pool.js +0 -0
  315. /package/dist/core/src/{server/shared → core}/messages/global-messages-pool.js +0 -0
  316. /package/dist/core/src/{server → core}/messages/load-remote-messages/fetch-locale-messages/utils/build-search-params.js +0 -0
  317. /package/dist/core/src/{server/messages/shared → core/messages}/utils/is-valid-messages.js +0 -0
  318. /package/dist/core/src/{shared → core}/utils/deep-merge.js +0 -0
  319. /package/dist/core/src/{shared → core}/utils/normalizers/normalize-cache-key.js +0 -0
  320. /package/dist/core/src/{shared → core}/utils/normalizers/normalize-pathname.js +0 -0
  321. /package/dist/core/src/{shared → core}/utils/pathname/get-unprefixed-pathname.js +0 -0
  322. /package/dist/core/src/{shared → core}/utils/pathname/locale-prefix-pathname.js +0 -0
  323. /package/dist/core/src/{shared → core}/utils/pathname/localize-pathname.js +0 -0
  324. /package/dist/core/src/{shared → core}/utils/pathname/standardize-pathname.js +0 -0
  325. /package/dist/next/src/{shared → core}/constants/prefix-placeholder.js +0 -0
  326. /package/dist/next/src/{server/shared → core}/logger/get-logger.js +0 -0
  327. /package/dist/next/src/{server/shared → core}/logger/global-logger-pool.js +0 -0
  328. /package/dist/next/src/{server/shared → core}/messages/global-messages-pool.js +0 -0
  329. /package/dist/next/src/{server → core}/messages/load-remote-messages/fetch-locale-messages/utils/build-search-params.js +0 -0
  330. /package/dist/next/src/{server/messages/shared → core/messages}/utils/is-valid-messages.js +0 -0
  331. /package/dist/next/src/{shared → core}/utils/deep-merge.js +0 -0
  332. /package/dist/next/src/{shared → core}/utils/is-external-destination.js +0 -0
  333. /package/dist/next/src/{shared → core}/utils/locale/get-locale-from-accept-language.js +0 -0
  334. /package/dist/next/src/{shared → core}/utils/locale/get-locale-from-host.js +0 -0
  335. /package/dist/next/src/{shared → core}/utils/locale/get-locale-from-pathname.js +0 -0
  336. /package/dist/next/src/{shared → core}/utils/locale/get-locale-from-query.js +0 -0
  337. /package/dist/next/src/{shared → core}/utils/normalizers/normalize-cache-key.js +0 -0
  338. /package/dist/next/src/{shared → core}/utils/normalizers/normalize-locale.js +0 -0
  339. /package/dist/next/src/{shared → core}/utils/normalizers/normalize-pathname.js +0 -0
  340. /package/dist/next/src/{shared → core}/utils/pathname/get-unprefixed-pathname.js +0 -0
  341. /package/dist/next/src/{shared → core}/utils/pathname/locale-prefix-pathname.js +0 -0
  342. /package/dist/next/src/{shared → core}/utils/pathname/localize-pathname.js +0 -0
  343. /package/dist/next/src/{shared → core}/utils/pathname/standardize-pathname.js +0 -0
  344. /package/dist/react/src/{server/shared → core}/logger/get-logger.js +0 -0
  345. /package/dist/react/src/{server/shared → core}/logger/global-logger-pool.js +0 -0
  346. /package/dist/react/src/{server → core}/messages/load-remote-messages/fetch-locale-messages/utils/build-search-params.js +0 -0
  347. /package/dist/react/src/{server/messages/shared → core/messages}/utils/is-valid-messages.js +0 -0
  348. /package/dist/react/src/{shared → core}/utils/deep-merge.js +0 -0
  349. /package/dist/react/src/{shared → core}/utils/normalizers/normalize-cache-key.js +0 -0
  350. /package/dist/react/src/{shared → core}/utils/normalizers/normalize-locale.js +0 -0
  351. /package/dist/{next → svelte}/src/client/shared/utils/build-cookie-string.js +0 -0
  352. /package/dist/{next → svelte}/src/client/shared/utils/locale/set-locale-cookie-browser.js +0 -0
  353. /package/dist/types/src/config/types/{cache.types.d.ts → cache.d.ts} +0 -0
  354. /package/dist/types/src/config/types/{cookie.types.d.ts → cookie.d.ts} +0 -0
  355. /package/dist/types/src/{shared → core}/constants/index.d.ts +0 -0
  356. /package/dist/types/src/{shared → core}/constants/prefix-placeholder.d.ts +0 -0
  357. /package/dist/types/src/{shared → core}/error/index.d.ts +0 -0
  358. /package/dist/types/src/{shared → core}/error/intor-error.d.ts +0 -0
  359. /package/dist/types/src/{server/shared → core}/logger/global-logger-pool.d.ts +0 -0
  360. /package/dist/types/src/{server/shared → core}/messages/global-messages-pool.d.ts +0 -0
  361. /package/dist/types/src/{server → core}/messages/load-remote-messages/fetch-locale-messages/index.d.ts +0 -0
  362. /package/dist/types/src/{server → core}/messages/load-remote-messages/fetch-locale-messages/utils/build-search-params.d.ts +0 -0
  363. /package/dist/types/src/{shared → core}/types/routing.d.ts +0 -0
  364. /package/dist/types/src/{shared → core}/utils/deep-merge.d.ts +0 -0
  365. /package/dist/types/src/{shared → core}/utils/is-external-destination.d.ts +0 -0
  366. /package/dist/types/src/{shared → core}/utils/locale/get-locale-from-accept-language.d.ts +0 -0
  367. /package/dist/types/src/{shared → core}/utils/locale/get-locale-from-host.d.ts +0 -0
  368. /package/dist/types/src/{shared → core}/utils/locale/index.d.ts +0 -0
  369. /package/dist/types/src/{shared → core}/utils/normalizers/index.d.ts +0 -0
  370. /package/dist/types/src/{shared → core}/utils/normalizers/normalize-cache-key.d.ts +0 -0
  371. /package/dist/types/src/{shared → core}/utils/normalizers/normalize-locale.d.ts +0 -0
  372. /package/dist/types/src/{shared → core}/utils/normalizers/normalize-pathname.d.ts +0 -0
  373. /package/dist/types/src/{shared → core}/utils/pathname/index.d.ts +0 -0
@@ -1,5 +1,5 @@
1
+ import type { LocaleContext, ResolvedLocale } from "./types";
1
2
  import type { IntorResolvedConfig } from "../../config";
2
- import type { LocaleContext, ResolvedLocale } from "../../routing/locale/types";
3
3
  /**
4
4
  * Resolve the final locale based on routing configuration.
5
5
  *
@@ -1,4 +1,4 @@
1
- import type { RoutingLocaleSource } from "../../shared/types/routing";
1
+ import type { RoutingLocaleSource } from "../../core";
2
2
  /** Context for locale resolution. */
3
3
  export interface LocaleContext {
4
4
  /** Locale extracted from the URL pathname, if present */
@@ -1,5 +1,5 @@
1
+ import type { PathnameContext, ResolvedPathname } from "./types";
1
2
  import type { IntorResolvedConfig } from "../../config";
2
- import type { PathnameContext, ResolvedPathname } from "../../routing/pathname/types";
3
3
  /**
4
4
  * Resolve the final pathname based on routing configuration.
5
5
  *
@@ -1,4 +1,4 @@
1
- import type { RoutingLocaleSource } from "../../shared/types/routing";
1
+ import type { RoutingLocaleSource } from "../../core";
2
2
  /**
3
3
  * Context for pathname processing.
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { IntorResolvedConfig } from "../config/types/intor-config.types";
1
+ import type { IntorResolvedConfig } from "../config";
2
2
  import type { Locale } from "intor-translator";
3
3
  export interface NavigationTarget {
4
4
  /** Locale selected for this navigation */
@@ -1,5 +1,5 @@
1
1
  import type { IntorResolvedConfig } from "../config";
2
- import type { RoutingLocaleSource } from "../shared/types/routing";
2
+ import type { RoutingLocaleSource } from "../core";
3
3
  interface ResolveRoutingResult {
4
4
  /** Final resolved locale */
5
5
  locale: string;
@@ -1 +1 @@
1
- export { loadLocalMessagesFromUrl } from "./local-messages-from-url";
1
+ export { loadMessagesFromUrl } from "./local-messages-from-url";
@@ -1,8 +1,18 @@
1
- import type { LoadLocalMessagesExtraOptions } from "../../server/messages/load-local-messages";
1
+ import type { CacheResolvedOptions, LoggerOptions } from "../../config";
2
+ import type { MessagesPool, MessagesReader } from "../../core";
3
+ export interface LoadMessagesFromUrlOptiosn {
4
+ concurrency?: number;
5
+ exts?: string[];
6
+ messagesReader?: MessagesReader;
7
+ pool?: MessagesPool;
8
+ cacheOptions?: CacheResolvedOptions;
9
+ allowCacheWrite?: boolean;
10
+ loggerOptions?: LoggerOptions;
11
+ }
2
12
  /**
3
- * Load local locale messages from a URL-based query protocol.
13
+ * Load locale messages from a URL-based query protocol.
4
14
  *
5
- * - A convenience helper for exposing local messages through a URL-accessible interface.
15
+ * - This helper is intended for building custom HTTP endpoints
6
16
  *
7
17
  * @example
8
18
  * ```ts
@@ -15,7 +25,7 @@ import type { LoadLocalMessagesExtraOptions } from "../../server/messages/load-l
15
25
  * "&fallbackLocales=zh-TW"
16
26
  * );
17
27
  *
18
- * const messages = await loadLocalMessagesFromUrl(url);
28
+ * const messages = await loadMessagesFromUrl(url);
19
29
  * ```
20
30
  */
21
- export declare function loadLocalMessagesFromUrl(url: URL, extraOptions?: LoadLocalMessagesExtraOptions): Promise<import("intor-translator").LocaleMessages | undefined>;
31
+ export declare function loadMessagesFromUrl(url: URL, options?: LoadMessagesFromUrlOptiosn): Promise<import("intor-translator").LocaleMessages | undefined>;
@@ -1,6 +1,4 @@
1
1
  export { intor, type IntorResult } from "./intor";
2
- export { loadMessages, isValidMessages, type Messages, type MessagesReader, } from "./messages";
3
- export { getTranslator } from "./translator";
4
- export { clearLoggerPool } from "./shared/logger/global-logger-pool";
5
- export { clearMessagesPool, setGlobalMessagesPool, } from "./shared/messages/global-messages-pool";
6
- export { loadLocalMessagesFromUrl } from "./helpers";
2
+ export { loadMessages } from "./messages";
3
+ export { getTranslator, type GetTranslatorParams, type TranslatorInstanceServer, } from "./translator";
4
+ export { loadMessagesFromUrl } from "./helpers";
@@ -1,7 +1,7 @@
1
+ import type { IntorResult, LocaleResolver } from "./types";
1
2
  import type { IntorResolvedConfig } from "../../config";
2
- import type { GetLocale, IntorResult } from "../../server/intor/types";
3
- import type { MessagesReader } from "../../server/messages";
4
- import type { GenConfigKeys } from "../../shared/types";
3
+ import type { MessagesReader } from "../../core";
4
+ import type { GenConfigKeys, GenLocale } from "../../core";
5
5
  /**
6
6
  * Entry point for initializing Intor.
7
7
  *
@@ -14,7 +14,7 @@ import type { GenConfigKeys } from "../../shared/types";
14
14
  * This function does not perform routing decisions itself.
15
15
  * Locale resolution is delegated to the provided `getLocale` implementation.
16
16
  */
17
- export declare const intor: <CK extends GenConfigKeys = "__default__">(config: IntorResolvedConfig, getLocale: GetLocale, loadMessagesOptions?: {
17
+ export declare const intor: <CK extends GenConfigKeys = "__default__">(config: IntorResolvedConfig, getLocale: LocaleResolver<CK> | GenLocale<CK>, loadMessagesOptions?: {
18
18
  exts?: string[];
19
19
  messagesReader?: MessagesReader;
20
20
  }) => Promise<IntorResult<CK>>;
@@ -1,9 +1,9 @@
1
- import type { IntorResolvedConfig } from "../../config/types/intor-config.types";
2
- import type { GenConfigKeys, GenLocale } from "../../shared/types/generated";
1
+ import type { IntorResolvedConfig } from "../../config";
2
+ import type { GenConfigKeys, GenLocale } from "../../core";
3
3
  import type { LocaleMessages } from "intor-translator";
4
- export type GetLocale<CK extends GenConfigKeys = "__default__"> = GenLocale<CK> | ((config: IntorResolvedConfig) => GenLocale<CK> | Promise<GenLocale<CK>>);
4
+ export type LocaleResolver<CK extends GenConfigKeys = "__default__"> = (config: IntorResolvedConfig) => GenLocale<CK> | Promise<GenLocale<CK>>;
5
5
  export interface IntorResult<CK extends GenConfigKeys = "__default__"> {
6
6
  config: IntorResolvedConfig;
7
7
  initialLocale: GenLocale<CK>;
8
- messages: LocaleMessages;
8
+ initialMessages: Readonly<LocaleMessages>;
9
9
  }
@@ -1,3 +1 @@
1
1
  export { loadMessages } from "./load-messages";
2
- export { isValidMessages } from "./shared/utils/is-valid-messages";
3
- export type { Messages, MessagesReader } from "./shared/types";
@@ -1,2 +1,2 @@
1
- export type { LoadLocalMessagesParams, LoadLocalMessagesExtraOptions, } from "./types";
1
+ export type { LoadLocalMessagesParams } from "./types";
2
2
  export { loadLocalMessages } from "./load-local-messages";
@@ -12,4 +12,4 @@ import type { LocaleMessages } from "intor-translator";
12
12
  *
13
13
  * File system traversal, parsing, and message validation are delegated to lower-level utilities.
14
14
  */
15
- export declare const loadLocalMessages: ({ pool, rootDir, locale, fallbackLocales, namespaces, extraOptions: { concurrency, cacheOptions, loggerOptions, exts, messagesReader, }, allowCacheWrite, }: LoadLocalMessagesParams) => Promise<LocaleMessages | undefined>;
15
+ export declare const loadLocalMessages: ({ locale, fallbackLocales, namespaces, rootDir, concurrency, exts, messagesReader, pool, cacheOptions, allowCacheWrite, loggerOptions, }: LoadLocalMessagesParams) => Promise<LocaleMessages | undefined>;
@@ -1,5 +1,5 @@
1
1
  import type { CollectFileEntriesParams } from "./types";
2
- import type { FileEntry } from "../../../../../server/messages/load-local-messages/read-locale-messages";
2
+ import type { FileEntry } from "../types";
3
3
  /**
4
4
  * Recursively collects all message files under a given root directory.
5
5
  *
@@ -17,4 +17,4 @@ import type { FileEntry } from "../../../../../server/messages/load-local-messag
17
17
  * }, ... ];
18
18
  * ```
19
19
  */
20
- export declare function collectFileEntries({ readdir, limit, rootDir, namespaces, extraOptions: { exts, loggerOptions }, }: CollectFileEntriesParams): Promise<FileEntry[]>;
20
+ export declare function collectFileEntries({ readdir, namespaces, rootDir, limit, extraOptions: { exts, loggerOptions }, }: CollectFileEntriesParams): Promise<FileEntry[]>;
@@ -1,15 +1,13 @@
1
- import type { LoggerOptions } from "../../../../../config/types/logger.types";
1
+ import type { LoggerOptions } from "../../../../../config";
2
2
  import type fs from "node:fs/promises";
3
3
  import type { LimitFunction } from "p-limit";
4
4
  export interface CollectFileEntriesParams {
5
5
  readdir?: (typeof fs)["readdir"];
6
- limit: LimitFunction;
7
- rootDir: string;
8
6
  namespaces?: string[];
9
- extraOptions?: {
7
+ rootDir: string;
8
+ limit: LimitFunction;
9
+ extraOptions: {
10
10
  exts?: string[];
11
- loggerOptions?: LoggerOptions & {
12
- id?: string;
13
- };
11
+ loggerOptions: LoggerOptions;
14
12
  };
15
13
  }
@@ -1,5 +1,5 @@
1
1
  import type { ParseFileEntriesParams } from "./types";
2
- import type { Messages } from "../../../../../server/messages/shared/types";
2
+ import type { Messages } from "../../../../../core";
3
3
  /**
4
4
  * Parse locale message files (JSON or custom formats) into a unified LocaleMessages object.
5
5
  *
@@ -1,15 +1,13 @@
1
- import type { LoggerOptions } from "../../../../../config/types/logger.types";
2
- import type { FileEntry } from "../../../../../server/messages/load-local-messages/read-locale-messages/types";
3
- import type { MessagesReader, Messages } from "../../../../../server/messages/shared/types";
1
+ import type { FileEntry } from "../types";
2
+ import type { LoggerOptions } from "../../../../../config";
3
+ import type { MessagesReader, Messages } from "../../../../../core";
4
4
  import type { LimitFunction } from "p-limit";
5
5
  export interface ParseFileEntriesParams {
6
6
  fileEntries: FileEntry[];
7
7
  limit: LimitFunction;
8
- extraOptions?: {
9
- loggerOptions?: LoggerOptions & {
10
- id?: string;
11
- };
8
+ extraOptions: {
12
9
  messagesReader?: MessagesReader;
10
+ loggerOptions: LoggerOptions;
13
11
  };
14
12
  }
15
13
  export interface ParsedFileEntries {
@@ -1,4 +1,4 @@
1
- import type { Messages } from "../../../../../../server/messages/shared/types";
1
+ import type { Messages } from "../../../../../../core";
2
2
  import fs from "node:fs/promises";
3
3
  /**
4
4
  * Read & parse a JSON file
@@ -1,4 +1,4 @@
1
- import type { Messages } from "../../../../../../server/messages/shared/types";
1
+ import type { Messages } from "../../../../../../core";
2
2
  /**
3
3
  * Wraps a value inside nested objects according to a given path.
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { ReadLocaleMessagesParams } from "../../../../server/messages/load-local-messages/read-locale-messages/types";
1
+ import type { ReadLocaleMessagesParams } from "./types";
2
2
  import type { LocaleMessages } from "intor-translator";
3
3
  /**
4
4
  * Read messages for a specific locale from the file system.
@@ -7,4 +7,4 @@ import type { LocaleMessages } from "intor-translator";
7
7
  * 2. Parses each file into a messages object.
8
8
  * 3. Wraps the parsed messages under the locale key.
9
9
  */
10
- export declare const readLocaleMessages: ({ limit, rootDir, locale, namespaces, extraOptions: { exts, messagesReader, loggerOptions }, }: ReadLocaleMessagesParams) => Promise<LocaleMessages>;
10
+ export declare const readLocaleMessages: ({ locale, namespaces, rootDir, limit, extraOptions: { exts, messagesReader, loggerOptions }, }: ReadLocaleMessagesParams) => Promise<LocaleMessages>;
@@ -1,5 +1,5 @@
1
- import type { LoggerOptions } from "../../../../config/types/logger.types";
2
- import type { MessagesReader } from "../../../../server/messages/shared/types";
1
+ import type { LoggerOptions } from "../../../../config";
2
+ import type { MessagesReader } from "../../../../core";
3
3
  import type { LimitFunction } from "p-limit";
4
4
  export interface FileEntry {
5
5
  namespace: string;
@@ -9,15 +9,13 @@ export interface FileEntry {
9
9
  basename: string;
10
10
  }
11
11
  export interface ReadLocaleMessagesParams {
12
- limit: LimitFunction;
13
- rootDir?: string;
14
12
  locale: string;
15
13
  namespaces?: string[];
16
- extraOptions?: {
17
- loggerOptions?: LoggerOptions & {
18
- id?: string;
19
- };
14
+ rootDir?: string;
15
+ limit: LimitFunction;
16
+ extraOptions: {
20
17
  exts?: string[];
21
18
  messagesReader?: MessagesReader;
19
+ loggerOptions: LoggerOptions;
22
20
  };
23
21
  }
@@ -1,22 +1,15 @@
1
- import type { CacheResolvedOptions } from "../../../config/types/cache.types";
2
- import type { LoggerOptions } from "../../../config/types/logger.types";
3
- import type { MessagesReader } from "../../../server/messages/shared/types";
4
- import type { MessagesPool } from "../../../server/shared/messages/global-messages-pool";
5
- export interface LoadLocalMessagesExtraOptions {
6
- concurrency?: number;
7
- cacheOptions?: CacheResolvedOptions;
8
- loggerOptions?: LoggerOptions & {
9
- id?: string;
10
- };
11
- exts?: string[];
12
- messagesReader?: MessagesReader;
13
- }
1
+ import type { CacheResolvedOptions, LoggerOptions } from "../../../config";
2
+ import type { MessagesPool, MessagesReader } from "../../../core";
14
3
  export interface LoadLocalMessagesParams {
15
- pool?: MessagesPool;
16
- rootDir?: string;
17
4
  locale: string;
18
5
  fallbackLocales?: string[];
19
6
  namespaces?: string[];
20
- extraOptions?: LoadLocalMessagesExtraOptions;
7
+ rootDir?: string;
8
+ concurrency?: number;
9
+ exts?: string[];
10
+ messagesReader?: MessagesReader;
11
+ pool?: MessagesPool;
12
+ cacheOptions: CacheResolvedOptions;
21
13
  allowCacheWrite?: boolean;
14
+ loggerOptions: LoggerOptions;
22
15
  }
@@ -1,5 +1,5 @@
1
- import type { LoadMessagesOptions, LoadMessagesResult } from "../../server/messages/types";
2
- import type { GenConfigKeys } from "../../shared/types/generated";
1
+ import type { LoadMessagesParams } from "./types";
2
+ import type { LocaleMessages } from "intor-translator";
3
3
  /**
4
4
  * Load locale messages based on the resolved Intor configuration.
5
5
  *
@@ -11,4 +11,4 @@ import type { GenConfigKeys } from "../../shared/types/generated";
11
11
  *
12
12
  * It does not perform message normalization or transformation itself.
13
13
  */
14
- export declare const loadMessages: <CK extends GenConfigKeys = "__default__">({ config, locale, extraOptions: { exts, messagesReader }, allowCacheWrite, }: LoadMessagesOptions) => LoadMessagesResult<CK>;
14
+ export declare const loadMessages: ({ config, locale, extraOptions: { exts, messagesReader }, allowCacheWrite, }: LoadMessagesParams) => Promise<LocaleMessages | undefined>;
@@ -1,14 +1,20 @@
1
- import type { IntorResolvedConfig } from "../../config/types/intor-config.types";
2
- import type { MessagesReader } from "../../server/messages/shared/types";
3
- import type { GenConfigKeys, GenMessages } from "../../shared/types/generated";
1
+ import type { IntorResolvedConfig } from "../../config";
2
+ import type { MessagesReader } from "../../core";
4
3
  import type { Locale } from "intor-translator";
5
- export type LoadMessagesOptions = {
4
+ export type LoadMessagesParams = {
6
5
  config: IntorResolvedConfig;
7
6
  locale: Locale;
8
7
  extraOptions?: {
9
8
  exts?: string[];
10
9
  messagesReader?: MessagesReader;
11
10
  };
11
+ /**
12
+ * Controls whether this load operation is allowed to write into
13
+ * the shared messages cache.
14
+ *
15
+ * This is intended for internal orchestration (e.g. `intor`)
16
+ * to act as the primary cache writer, while other helpers
17
+ * may perform read-only loads.
18
+ */
12
19
  allowCacheWrite?: boolean;
13
20
  };
14
- export type LoadMessagesResult<CK extends GenConfigKeys = "__default__"> = Promise<GenMessages<CK> | undefined>;
@@ -1,22 +1,8 @@
1
- import type { IntorResolvedConfig } from "../../config/types/intor-config.types";
2
- import type { GenConfigKeys, GenLocale, GenMessages } from "../../shared/types/generated";
3
- import type { TranslatorInstance } from "../../shared/types/translator-instance";
1
+ import type { TranslatorInstanceServer } from "./translator-instance";
2
+ import type { IntorResolvedConfig } from "../../config";
3
+ import type { MessagesReader, GenConfigKeys, GenLocale, GenMessages } from "../../core";
4
4
  import type { LocalizedNodeKeys, TranslateHandlers, TranslateHook, TranslatorPlugin } from "intor-translator";
5
- import { type MessagesReader } from "../../server/messages";
6
- /**
7
- * Create a translator instance for a specific locale.
8
- */
9
- export declare function getTranslator<CK extends GenConfigKeys = "__default__">(options: {
10
- config: IntorResolvedConfig;
11
- locale: GenLocale<CK>;
12
- handlers?: TranslateHandlers;
13
- plugins?: (TranslatorPlugin | TranslateHook)[];
14
- extraOptions?: {
15
- exts?: string[];
16
- messagesReader?: MessagesReader;
17
- };
18
- }): Promise<TranslatorInstance<GenMessages<CK>>>;
19
- export declare function getTranslator<CK extends GenConfigKeys = "__default__", PK extends string = LocalizedNodeKeys<GenMessages<CK>>>(options: {
5
+ export interface GetTranslatorParams<CK extends GenConfigKeys = "__default__"> {
20
6
  config: IntorResolvedConfig;
21
7
  locale: GenLocale<CK>;
22
8
  handlers?: TranslateHandlers;
@@ -25,5 +11,11 @@ export declare function getTranslator<CK extends GenConfigKeys = "__default__",
25
11
  exts?: string[];
26
12
  messagesReader?: MessagesReader;
27
13
  };
14
+ }
15
+ /**
16
+ * Create a translator instance for server-side usage.
17
+ */
18
+ export declare function getTranslator<CK extends GenConfigKeys = "__default__">(params: GetTranslatorParams<CK>): Promise<TranslatorInstanceServer<GenMessages<CK>>>;
19
+ export declare function getTranslator<CK extends GenConfigKeys = "__default__", PK extends string = LocalizedNodeKeys<GenMessages<CK>>>(params: GetTranslatorParams<CK> & {
28
20
  preKey?: PK;
29
- }): Promise<TranslatorInstance<GenMessages<CK>, PK>>;
21
+ }): Promise<TranslatorInstanceServer<GenMessages<CK>, PK>>;
@@ -1 +1,2 @@
1
- export { getTranslator } from "./get-translator";
1
+ export { getTranslator, type GetTranslatorParams } from "./get-translator";
2
+ export type { TranslatorInstanceServer } from "./translator-instance";
@@ -0,0 +1,8 @@
1
+ import type { KeyMode, TranslatorInstance } from "../../core";
2
+ import { type Locale, type LocaleMessages } from "intor-translator";
3
+ export type TranslatorInstanceServer<M extends LocaleMessages, PK extends string | undefined = undefined, Mode extends KeyMode = "auto"> = TranslatorInstance<M, PK, Mode> & {
4
+ /** `messages`: The message object containing all translations. */
5
+ messages: M;
6
+ /** Current locale in use. */
7
+ locale: Locale<M>;
8
+ };
@@ -0,0 +1,6 @@
1
+ export { IntorProvider } from '../../src/client/vue/provider/intor-provider.js';
2
+ import 'vue';
3
+ export { useTranslator } from '../../src/client/vue/translator/use-translator.js';
4
+ export { T } from '../../src/client/vue/translator/t.js';
5
+ export { useLoadMessages } from '../../src/client/vue/helpers/use-load-messages.js';
6
+ export { getClientLocale } from '../../src/client/helpers/get-client-locale.js';
@@ -0,0 +1,27 @@
1
+ import '../../core/error/intor-error.js';
2
+ import { normalizeLocale } from '../../core/utils/normalizers/normalize-locale.js';
3
+ import 'logry';
4
+ import 'keyv';
5
+ import { detectBrowserLocale } from '../shared/utils/locale/detect-browser-locale.js';
6
+ import { getLocaleCookieBrowser } from '../shared/utils/locale/get-locale-cookie-browser.js';
7
+
8
+ /**
9
+ * Resolve the locale in a client-only environment.
10
+ *
11
+ * This helper is intended for pure CSR setups (e.g. Vite).
12
+ *
13
+ * For framework-based apps, prefer `useTranslator()`.
14
+ *
15
+ * - Client-side only
16
+ */
17
+ function getClientLocale(config) {
18
+ const { defaultLocale, supportedLocales, cookie } = config;
19
+ // Locale from browser cookie
20
+ const cookieLocale = getLocaleCookieBrowser(cookie.name);
21
+ // Locale from browser preference
22
+ const browserLocale = detectBrowserLocale();
23
+ const localeCandidate = cookieLocale || browserLocale;
24
+ return normalizeLocale(localeCandidate, supportedLocales) || defaultLocale;
25
+ }
26
+
27
+ export { getClientLocale };
@@ -0,0 +1,61 @@
1
+ import '../../../core/error/intor-error.js';
2
+ import { deepMerge } from '../../../core/utils/deep-merge.js';
3
+ import { resolveLoaderOptions } from '../../../core/utils/resolve-loader-options.js';
4
+ import 'logry';
5
+ import { loadRemoteMessages } from '../../../core/messages/load-remote-messages/load-remote-messages.js';
6
+ import 'keyv';
7
+
8
+ /**
9
+ * Creates a framework-agnostic message refetcher.
10
+ *
11
+ * - At most one remote request is active at any time
12
+ * - Previous in-flight requests are aborted on subsequent calls
13
+ * - State updates are applied only for the latest, non-aborted request
14
+ */
15
+ const createRefetchMessages = ({ config, onLoadingStart, onLoadingEnd, onMessages, }) => {
16
+ // Tracks the currently active remote request for this refetcher instance
17
+ let controller = null;
18
+ return async function refetchMessages(newLocale) {
19
+ // No-op when remote loading is not enabled
20
+ const loader = resolveLoaderOptions(config);
21
+ if (!loader || loader.type !== "remote")
22
+ return;
23
+ // Abort previous request
24
+ controller?.abort();
25
+ const currentController = new AbortController();
26
+ controller = currentController;
27
+ onLoadingStart?.();
28
+ try {
29
+ const loadedMessages = await loadRemoteMessages({
30
+ // --- Messages Scope ---
31
+ locale: newLocale,
32
+ fallbackLocales: config.fallbackLocales[newLocale] || [],
33
+ namespaces: loader.namespaces,
34
+ rootDir: loader.rootDir,
35
+ // --- Remote Source ---
36
+ url: loader.url,
37
+ headers: loader.headers,
38
+ signal: currentController.signal,
39
+ // --- Caching ---
40
+ cacheOptions: config.cache,
41
+ // --- Observability ---
42
+ loggerOptions: config.logger,
43
+ });
44
+ // Apply state updates only when this request is still the active one
45
+ // and has not been aborted.
46
+ if (controller === currentController &&
47
+ !currentController.signal.aborted) {
48
+ onMessages?.(deepMerge(config.messages, loadedMessages));
49
+ }
50
+ }
51
+ finally {
52
+ // Clear loading state only if this request is still the active one
53
+ if (controller === currentController &&
54
+ !currentController.signal.aborted) {
55
+ onLoadingEnd?.();
56
+ }
57
+ }
58
+ };
59
+ };
60
+
61
+ export { createRefetchMessages };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Build a serialized cookie string.
3
+ */
4
+ const buildCookieString = (cookieOptions, value) => {
5
+ const { name, maxAge, path, domain, sameSite, secure } = cookieOptions;
6
+ // Cookie name and encoded value
7
+ const parts = [`${name}=${encodeURIComponent(value)}`];
8
+ // Add expiration and max-age if provided
9
+ if (maxAge) {
10
+ const expires = new Date(Date.now() + maxAge * 1000).toUTCString();
11
+ parts.push(`expires=${expires}`, `max-age=${maxAge}`);
12
+ }
13
+ // Set path (default to "/")
14
+ parts.push(`path=${path ?? "/"}`);
15
+ // Add domain if specified
16
+ if (domain) {
17
+ parts.push(`domain=${domain}`);
18
+ }
19
+ // Add SameSite policy (e.g., Lax, Strict)
20
+ if (sameSite) {
21
+ parts.push(`SameSite=${sameSite[0].toUpperCase()}${sameSite.slice(1).toLowerCase()}`);
22
+ }
23
+ // Add Secure flag if not explicitly disabled
24
+ if (secure !== false) {
25
+ parts.push(`Secure`);
26
+ }
27
+ return parts.join("; ");
28
+ };
29
+
30
+ export { buildCookieString };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Detect the preferred locale from the browser.
3
+ *
4
+ * - Client-side only
5
+ */
6
+ function detectBrowserLocale() {
7
+ if (typeof navigator === "undefined")
8
+ return undefined;
9
+ return navigator.languages?.[0] || navigator.language || undefined;
10
+ }
11
+
12
+ export { detectBrowserLocale };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Gets the locale value from the browser cookie.
3
+ *
4
+ * - Client-side only
5
+ */
6
+ function getLocaleCookieBrowser(cookieName) {
7
+ if (typeof document === "undefined")
8
+ return undefined;
9
+ const cookies = document.cookie.split(";").map((c) => c.trim());
10
+ const entry = cookies.find((c) => c.startsWith(`${cookieName}=`));
11
+ if (!entry)
12
+ return undefined;
13
+ return decodeURIComponent(entry.slice(cookieName.length + 1));
14
+ }
15
+
16
+ export { getLocaleCookieBrowser };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Sets the document language attribute.
3
+ *
4
+ * - Client-side only
5
+ */
6
+ function setDocumentLocale(locale) {
7
+ if (typeof document === "undefined")
8
+ return;
9
+ document.documentElement.lang = locale;
10
+ }
11
+
12
+ export { setDocumentLocale };
@@ -0,0 +1,18 @@
1
+ import { buildCookieString } from '../build-cookie-string.js';
2
+
3
+ /**
4
+ * Persist locale to browser cookie.
5
+ *
6
+ * - Client-side only
7
+ */
8
+ const setLocaleCookieBrowser = (cookieOptions, locale) => {
9
+ if (typeof document === "undefined")
10
+ return;
11
+ // Skip when cookie persistence is disabled
12
+ if (!cookieOptions.enabled || !cookieOptions.persist)
13
+ return;
14
+ // Build and apply the cookie string
15
+ document.cookie = buildCookieString(cookieOptions, locale);
16
+ };
17
+
18
+ export { setLocaleCookieBrowser };