@digitaldefiance/i18n-lib 3.8.2 → 3.8.3

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 (502) hide show
  1. package/package.json +6 -5
  2. package/src/{active-context.ts → active-context.d.ts} +1 -0
  3. package/src/active-context.d.ts.map +1 -0
  4. package/src/active-context.js +3 -0
  5. package/src/active-context.js.map +1 -0
  6. package/src/builders/i18n-builder.d.ts +26 -0
  7. package/src/builders/i18n-builder.d.ts.map +1 -0
  8. package/src/builders/i18n-builder.js +70 -0
  9. package/src/builders/i18n-builder.js.map +1 -0
  10. package/src/builders/{index.ts → index.d.ts} +1 -1
  11. package/src/builders/index.d.ts.map +1 -0
  12. package/src/builders/index.js +8 -0
  13. package/src/builders/index.js.map +1 -0
  14. package/src/component-definition.d.ts +12 -0
  15. package/src/component-definition.d.ts.map +1 -0
  16. package/src/component-definition.js +3 -0
  17. package/src/component-definition.js.map +1 -0
  18. package/src/component-registration.d.ts +22 -0
  19. package/src/component-registration.d.ts.map +1 -0
  20. package/src/component-registration.js +3 -0
  21. package/src/component-registration.js.map +1 -0
  22. package/src/component-registry.d.ts +102 -0
  23. package/src/component-registry.d.ts.map +1 -0
  24. package/src/component-registry.js +282 -0
  25. package/src/component-registry.js.map +1 -0
  26. package/src/context-error-type.d.ts +8 -0
  27. package/src/context-error-type.d.ts.map +1 -0
  28. package/src/context-error-type.js +12 -0
  29. package/src/context-error-type.js.map +1 -0
  30. package/src/core/component-store.d.ts +93 -0
  31. package/src/core/component-store.d.ts.map +1 -0
  32. package/src/core/component-store.js +198 -0
  33. package/src/core/component-store.js.map +1 -0
  34. package/src/core/context-manager.d.ts +72 -0
  35. package/src/core/context-manager.d.ts.map +1 -0
  36. package/src/core/context-manager.js +98 -0
  37. package/src/core/context-manager.js.map +1 -0
  38. package/src/core/enum-registry.d.ts +48 -0
  39. package/src/core/enum-registry.d.ts.map +1 -0
  40. package/src/core/enum-registry.js +85 -0
  41. package/src/core/enum-registry.js.map +1 -0
  42. package/src/core/i18n-engine.d.ts +241 -0
  43. package/src/core/i18n-engine.d.ts.map +1 -0
  44. package/src/core/i18n-engine.js +568 -0
  45. package/src/core/i18n-engine.js.map +1 -0
  46. package/src/core/{index.ts → index.d.ts} +1 -4
  47. package/src/core/index.d.ts.map +1 -0
  48. package/src/core/index.js +21 -0
  49. package/src/core/index.js.map +1 -0
  50. package/src/core/language-registry.d.ts +180 -0
  51. package/src/core/language-registry.d.ts.map +1 -0
  52. package/src/core/language-registry.js +298 -0
  53. package/src/core/language-registry.js.map +1 -0
  54. package/src/{core-component-id.ts → core-component-id.d.ts} +2 -1
  55. package/src/core-component-id.d.ts.map +1 -0
  56. package/src/core-component-id.js +9 -0
  57. package/src/core-component-id.js.map +1 -0
  58. package/src/core-i18n.d.ts +69 -0
  59. package/src/core-i18n.d.ts.map +1 -0
  60. package/src/core-i18n.js +219 -0
  61. package/src/core-i18n.js.map +1 -0
  62. package/src/core-plugin-factory.d.ts +28 -0
  63. package/src/core-plugin-factory.d.ts.map +1 -0
  64. package/src/core-plugin-factory.js +80 -0
  65. package/src/core-plugin-factory.js.map +1 -0
  66. package/src/core-string-key.d.ts +52 -0
  67. package/src/core-string-key.d.ts.map +1 -0
  68. package/src/core-string-key.js +61 -0
  69. package/src/core-string-key.js.map +1 -0
  70. package/src/create-translation-adapter.d.ts +33 -0
  71. package/src/create-translation-adapter.d.ts.map +1 -0
  72. package/src/create-translation-adapter.js +72 -0
  73. package/src/create-translation-adapter.js.map +1 -0
  74. package/src/enum-registry.d.ts +65 -0
  75. package/src/enum-registry.d.ts.map +1 -0
  76. package/src/enum-registry.js +123 -0
  77. package/src/enum-registry.js.map +1 -0
  78. package/src/errors/{base.ts → base.d.ts} +1 -1
  79. package/src/errors/base.d.ts.map +1 -0
  80. package/src/errors/base.js +11 -0
  81. package/src/errors/base.js.map +1 -0
  82. package/src/errors/context-error.d.ts +50 -0
  83. package/src/errors/context-error.d.ts.map +1 -0
  84. package/src/errors/context-error.js +93 -0
  85. package/src/errors/context-error.js.map +1 -0
  86. package/src/errors/enhanced-error-base.d.ts +125 -0
  87. package/src/errors/enhanced-error-base.d.ts.map +1 -0
  88. package/src/errors/enhanced-error-base.js +165 -0
  89. package/src/errors/enhanced-error-base.js.map +1 -0
  90. package/src/errors/handleable.d.ts +83 -0
  91. package/src/errors/handleable.d.ts.map +1 -0
  92. package/src/errors/handleable.js +136 -0
  93. package/src/errors/handleable.js.map +1 -0
  94. package/src/errors/i18n-error.d.ts +211 -0
  95. package/src/errors/i18n-error.d.ts.map +1 -0
  96. package/src/errors/i18n-error.js +358 -0
  97. package/src/errors/i18n-error.js.map +1 -0
  98. package/src/errors/{index.ts → index.d.ts} +1 -4
  99. package/src/errors/index.d.ts.map +1 -0
  100. package/src/errors/index.js +17 -0
  101. package/src/errors/index.js.map +1 -0
  102. package/src/errors/simple-typed-error.d.ts +53 -0
  103. package/src/errors/simple-typed-error.d.ts.map +1 -0
  104. package/src/errors/simple-typed-error.js +51 -0
  105. package/src/errors/simple-typed-error.js.map +1 -0
  106. package/src/errors/{translatable-exports.ts → translatable-exports.d.ts} +1 -1
  107. package/src/errors/translatable-exports.d.ts.map +1 -0
  108. package/src/errors/translatable-exports.js +15 -0
  109. package/src/errors/translatable-exports.js.map +1 -0
  110. package/src/errors/translatable-generic.d.ts +87 -0
  111. package/src/errors/translatable-generic.d.ts.map +1 -0
  112. package/src/errors/translatable-generic.js +139 -0
  113. package/src/errors/translatable-generic.js.map +1 -0
  114. package/src/errors/translatable-handleable-generic.d.ts +116 -0
  115. package/src/errors/translatable-handleable-generic.d.ts.map +1 -0
  116. package/src/errors/translatable-handleable-generic.js +121 -0
  117. package/src/errors/translatable-handleable-generic.js.map +1 -0
  118. package/src/errors/translatable.d.ts +63 -0
  119. package/src/errors/translatable.d.ts.map +1 -0
  120. package/src/errors/translatable.js +85 -0
  121. package/src/errors/translatable.js.map +1 -0
  122. package/src/errors/typed-handleable.d.ts +62 -0
  123. package/src/errors/typed-handleable.d.ts.map +1 -0
  124. package/src/errors/typed-handleable.js +108 -0
  125. package/src/errors/typed-handleable.js.map +1 -0
  126. package/src/errors/typed.d.ts +206 -0
  127. package/src/errors/typed.d.ts.map +1 -0
  128. package/src/errors/typed.js +458 -0
  129. package/src/errors/typed.js.map +1 -0
  130. package/src/gender/{gender-categories.ts → gender-categories.d.ts} +2 -6
  131. package/src/gender/gender-categories.d.ts.map +1 -0
  132. package/src/gender/gender-categories.js +15 -0
  133. package/src/gender/gender-categories.js.map +1 -0
  134. package/src/gender/gender-resolver.d.ts +14 -0
  135. package/src/gender/gender-resolver.d.ts.map +1 -0
  136. package/src/gender/gender-resolver.js +35 -0
  137. package/src/gender/gender-resolver.js.map +1 -0
  138. package/src/gender/{index.ts → index.d.ts} +1 -0
  139. package/src/gender/index.d.ts.map +1 -0
  140. package/src/gender/index.js +6 -0
  141. package/src/gender/index.js.map +1 -0
  142. package/src/global-active-context.d.ts +50 -0
  143. package/src/global-active-context.d.ts.map +1 -0
  144. package/src/global-active-context.js +185 -0
  145. package/src/global-active-context.js.map +1 -0
  146. package/src/icu/ast.d.ts +48 -0
  147. package/src/icu/ast.d.ts.map +1 -0
  148. package/src/icu/ast.js +16 -0
  149. package/src/icu/ast.js.map +1 -0
  150. package/src/icu/compiler.d.ts +16 -0
  151. package/src/icu/compiler.d.ts.map +1 -0
  152. package/src/icu/compiler.js +87 -0
  153. package/src/icu/compiler.js.map +1 -0
  154. package/src/icu/formatter-registry.d.ts +10 -0
  155. package/src/icu/formatter-registry.d.ts.map +1 -0
  156. package/src/icu/formatter-registry.js +34 -0
  157. package/src/icu/formatter-registry.js.map +1 -0
  158. package/src/icu/formatters/base-formatter.d.ts +8 -0
  159. package/src/icu/formatters/base-formatter.d.ts.map +1 -0
  160. package/src/icu/formatters/base-formatter.js +3 -0
  161. package/src/icu/formatters/base-formatter.js.map +1 -0
  162. package/src/icu/formatters/date-formatter.d.ts +5 -0
  163. package/src/icu/formatters/date-formatter.d.ts.map +1 -0
  164. package/src/icu/formatters/date-formatter.js +31 -0
  165. package/src/icu/formatters/date-formatter.js.map +1 -0
  166. package/src/icu/formatters/number-formatter.d.ts +5 -0
  167. package/src/icu/formatters/number-formatter.d.ts.map +1 -0
  168. package/src/icu/formatters/number-formatter.js +33 -0
  169. package/src/icu/formatters/number-formatter.js.map +1 -0
  170. package/src/icu/formatters/plural-formatter.d.ts +5 -0
  171. package/src/icu/formatters/plural-formatter.d.ts.map +1 -0
  172. package/src/icu/formatters/plural-formatter.js +15 -0
  173. package/src/icu/formatters/plural-formatter.js.map +1 -0
  174. package/src/icu/formatters/select-formatter.d.ts +5 -0
  175. package/src/icu/formatters/select-formatter.d.ts.map +1 -0
  176. package/src/icu/formatters/select-formatter.js +10 -0
  177. package/src/icu/formatters/select-formatter.js.map +1 -0
  178. package/src/icu/formatters/selectordinal-formatter.d.ts +5 -0
  179. package/src/icu/formatters/selectordinal-formatter.d.ts.map +1 -0
  180. package/src/icu/formatters/selectordinal-formatter.js +22 -0
  181. package/src/icu/formatters/selectordinal-formatter.js.map +1 -0
  182. package/src/icu/formatters/time-formatter.d.ts +5 -0
  183. package/src/icu/formatters/time-formatter.d.ts.map +1 -0
  184. package/src/icu/formatters/time-formatter.js +31 -0
  185. package/src/icu/formatters/time-formatter.js.map +1 -0
  186. package/src/icu/helpers.d.ts +9 -0
  187. package/src/icu/helpers.d.ts.map +1 -0
  188. package/src/icu/helpers.js +31 -0
  189. package/src/icu/helpers.js.map +1 -0
  190. package/src/icu/parser.d.ts +31 -0
  191. package/src/icu/parser.d.ts.map +1 -0
  192. package/src/icu/parser.js +203 -0
  193. package/src/icu/parser.js.map +1 -0
  194. package/src/icu/runtime.d.ts +10 -0
  195. package/src/icu/runtime.d.ts.map +1 -0
  196. package/src/icu/runtime.js +33 -0
  197. package/src/icu/runtime.js.map +1 -0
  198. package/src/icu/tokenizer.d.ts +37 -0
  199. package/src/icu/tokenizer.d.ts.map +1 -0
  200. package/src/icu/tokenizer.js +187 -0
  201. package/src/icu/tokenizer.js.map +1 -0
  202. package/src/icu/validator.d.ts +11 -0
  203. package/src/icu/validator.d.ts.map +1 -0
  204. package/src/icu/validator.js +140 -0
  205. package/src/icu/validator.js.map +1 -0
  206. package/src/{index.ts → index.d.ts} +6 -38
  207. package/src/index.d.ts.map +1 -0
  208. package/src/index.js +76 -0
  209. package/src/index.js.map +1 -0
  210. package/src/interfaces/active-context.interface.d.ts +36 -0
  211. package/src/interfaces/active-context.interface.d.ts.map +1 -0
  212. package/src/interfaces/active-context.interface.js +3 -0
  213. package/src/interfaces/active-context.interface.js.map +1 -0
  214. package/src/interfaces/component-config.interface.d.ts +16 -0
  215. package/src/interfaces/component-config.interface.d.ts.map +1 -0
  216. package/src/interfaces/component-config.interface.js +6 -0
  217. package/src/interfaces/component-config.interface.js.map +1 -0
  218. package/src/interfaces/engine-config.interface.d.ts +22 -0
  219. package/src/interfaces/engine-config.interface.d.ts.map +1 -0
  220. package/src/interfaces/engine-config.interface.js +6 -0
  221. package/src/interfaces/engine-config.interface.js.map +1 -0
  222. package/src/interfaces/global-active-context.d.ts +23 -0
  223. package/src/interfaces/global-active-context.d.ts.map +1 -0
  224. package/src/interfaces/global-active-context.js +3 -0
  225. package/src/interfaces/global-active-context.js.map +1 -0
  226. package/src/interfaces/handleable-error-options.d.ts +14 -0
  227. package/src/interfaces/handleable-error-options.d.ts.map +1 -0
  228. package/src/interfaces/handleable-error-options.js +3 -0
  229. package/src/interfaces/handleable-error-options.js.map +1 -0
  230. package/src/interfaces/handleable.d.ts +21 -0
  231. package/src/interfaces/handleable.d.ts.map +1 -0
  232. package/src/interfaces/handleable.js +3 -0
  233. package/src/interfaces/handleable.js.map +1 -0
  234. package/src/interfaces/i18n-engine.interface.d.ts +46 -0
  235. package/src/interfaces/i18n-engine.interface.d.ts.map +1 -0
  236. package/src/interfaces/i18n-engine.interface.js +6 -0
  237. package/src/interfaces/i18n-engine.interface.js.map +1 -0
  238. package/src/interfaces/{index.ts → index.d.ts} +1 -1
  239. package/src/interfaces/index.d.ts.map +1 -0
  240. package/src/interfaces/index.js +7 -0
  241. package/src/interfaces/index.js.map +1 -0
  242. package/src/interfaces/language-definition.interface.d.ts +17 -0
  243. package/src/interfaces/language-definition.interface.d.ts.map +1 -0
  244. package/src/interfaces/language-definition.interface.js +6 -0
  245. package/src/interfaces/language-definition.interface.js.map +1 -0
  246. package/src/interfaces/translation-options.interface.d.ts +15 -0
  247. package/src/interfaces/translation-options.interface.d.ts.map +1 -0
  248. package/src/interfaces/translation-options.interface.js +6 -0
  249. package/src/interfaces/translation-options.interface.js.map +1 -0
  250. package/src/interfaces/validation-result.interface.d.ts +24 -0
  251. package/src/interfaces/validation-result.interface.d.ts.map +1 -0
  252. package/src/interfaces/validation-result.interface.js +6 -0
  253. package/src/interfaces/validation-result.interface.js.map +1 -0
  254. package/src/language-codes.d.ts +28 -0
  255. package/src/language-codes.d.ts.map +1 -0
  256. package/src/language-codes.js +32 -0
  257. package/src/language-codes.js.map +1 -0
  258. package/src/language-definition.d.ts +14 -0
  259. package/src/language-definition.d.ts.map +1 -0
  260. package/src/language-definition.js +3 -0
  261. package/src/language-definition.js.map +1 -0
  262. package/src/plugin-i18n-engine.d.ts +164 -0
  263. package/src/plugin-i18n-engine.d.ts.map +1 -0
  264. package/src/plugin-i18n-engine.js +493 -0
  265. package/src/plugin-i18n-engine.js.map +1 -0
  266. package/src/pluralization/{index.ts → index.d.ts} +1 -1
  267. package/src/pluralization/index.d.ts.map +1 -0
  268. package/src/pluralization/index.js +10 -0
  269. package/src/pluralization/index.js.map +1 -0
  270. package/src/pluralization/language-plural-map.d.ts +29 -0
  271. package/src/pluralization/language-plural-map.d.ts.map +1 -0
  272. package/src/pluralization/language-plural-map.js +155 -0
  273. package/src/pluralization/language-plural-map.js.map +1 -0
  274. package/src/pluralization/{plural-categories.ts → plural-categories.d.ts} +3 -5
  275. package/src/pluralization/plural-categories.d.ts.map +1 -0
  276. package/src/pluralization/plural-categories.js +8 -0
  277. package/src/pluralization/plural-categories.js.map +1 -0
  278. package/src/pluralization/plural-rules.d.ts +102 -0
  279. package/src/pluralization/plural-rules.d.ts.map +1 -0
  280. package/src/pluralization/plural-rules.js +263 -0
  281. package/src/pluralization/plural-rules.js.map +1 -0
  282. package/src/registry-config.d.ts +16 -0
  283. package/src/registry-config.d.ts.map +1 -0
  284. package/src/registry-config.js +3 -0
  285. package/src/registry-config.js.map +1 -0
  286. package/src/registry-error-type.d.ts +20 -0
  287. package/src/registry-error-type.d.ts.map +1 -0
  288. package/src/registry-error-type.js +24 -0
  289. package/src/registry-error-type.js.map +1 -0
  290. package/src/registry-error.d.ts +25 -0
  291. package/src/registry-error.d.ts.map +1 -0
  292. package/src/registry-error.js +63 -0
  293. package/src/registry-error.js.map +1 -0
  294. package/src/strict-types.d.ts +19 -0
  295. package/src/strict-types.d.ts.map +1 -0
  296. package/src/strict-types.js +18 -0
  297. package/src/strict-types.js.map +1 -0
  298. package/src/strings/de.d.ts +3 -0
  299. package/src/strings/de.d.ts.map +1 -0
  300. package/src/strings/de.js +57 -0
  301. package/src/strings/de.js.map +1 -0
  302. package/src/strings/en-GB.d.ts +3 -0
  303. package/src/strings/en-GB.d.ts.map +1 -0
  304. package/src/strings/en-GB.js +57 -0
  305. package/src/strings/en-GB.js.map +1 -0
  306. package/src/strings/en-US.d.ts +3 -0
  307. package/src/strings/en-US.d.ts.map +1 -0
  308. package/src/strings/en-US.js +57 -0
  309. package/src/strings/en-US.js.map +1 -0
  310. package/src/strings/es.d.ts +3 -0
  311. package/src/strings/es.d.ts.map +1 -0
  312. package/src/strings/es.js +57 -0
  313. package/src/strings/es.js.map +1 -0
  314. package/src/strings/fr.d.ts +3 -0
  315. package/src/strings/fr.d.ts.map +1 -0
  316. package/src/strings/fr.js +57 -0
  317. package/src/strings/fr.js.map +1 -0
  318. package/src/strings/ja.d.ts +3 -0
  319. package/src/strings/ja.d.ts.map +1 -0
  320. package/src/strings/ja.js +57 -0
  321. package/src/strings/ja.js.map +1 -0
  322. package/src/strings/uk.d.ts +3 -0
  323. package/src/strings/uk.d.ts.map +1 -0
  324. package/src/strings/uk.js +57 -0
  325. package/src/strings/uk.js.map +1 -0
  326. package/src/strings/zh-CN.d.ts +3 -0
  327. package/src/strings/zh-CN.d.ts.map +1 -0
  328. package/src/strings/zh-CN.js +57 -0
  329. package/src/strings/zh-CN.js.map +1 -0
  330. package/src/template.d.ts +13 -0
  331. package/src/template.d.ts.map +1 -0
  332. package/src/template.js +40 -0
  333. package/src/template.js.map +1 -0
  334. package/src/translation-engine.d.ts +9 -0
  335. package/src/translation-engine.d.ts.map +1 -0
  336. package/src/translation-engine.js +3 -0
  337. package/src/translation-engine.js.map +1 -0
  338. package/src/translation-request.d.ts +10 -0
  339. package/src/translation-request.d.ts.map +1 -0
  340. package/src/translation-request.js +3 -0
  341. package/src/translation-request.js.map +1 -0
  342. package/src/translation-response.d.ts +9 -0
  343. package/src/translation-response.d.ts.map +1 -0
  344. package/src/translation-response.js +3 -0
  345. package/src/translation-response.js.map +1 -0
  346. package/src/types/engine.d.ts +47 -0
  347. package/src/types/engine.d.ts.map +1 -0
  348. package/src/types/engine.js +8 -0
  349. package/src/types/engine.js.map +1 -0
  350. package/src/types/{index.ts → index.d.ts} +1 -1
  351. package/src/types/index.d.ts.map +1 -0
  352. package/src/types/index.js +9 -0
  353. package/src/types/index.js.map +1 -0
  354. package/src/types/{plural-types.ts → plural-types.d.ts} +3 -29
  355. package/src/types/plural-types.d.ts.map +1 -0
  356. package/src/types/plural-types.js +39 -0
  357. package/src/types/plural-types.js.map +1 -0
  358. package/src/{types.ts → types.d.ts} +21 -72
  359. package/src/types.d.ts.map +1 -0
  360. package/src/types.js +23 -0
  361. package/src/types.js.map +1 -0
  362. package/src/utils/currency.d.ts +81 -0
  363. package/src/utils/currency.d.ts.map +1 -0
  364. package/src/utils/currency.js +99 -0
  365. package/src/utils/currency.js.map +1 -0
  366. package/src/utils/html-escape.d.ts +22 -0
  367. package/src/utils/html-escape.d.ts.map +1 -0
  368. package/src/utils/html-escape.js +53 -0
  369. package/src/utils/html-escape.js.map +1 -0
  370. package/src/utils/{index.ts → index.d.ts} +1 -0
  371. package/src/utils/index.d.ts.map +1 -0
  372. package/src/utils/index.js +12 -0
  373. package/src/utils/index.js.map +1 -0
  374. package/src/utils/lru-cache.d.ts +42 -0
  375. package/src/utils/lru-cache.d.ts.map +1 -0
  376. package/src/utils/lru-cache.js +73 -0
  377. package/src/utils/lru-cache.js.map +1 -0
  378. package/src/utils/{plural-helpers.ts → plural-helpers.d.ts} +4 -14
  379. package/src/utils/plural-helpers.d.ts.map +1 -0
  380. package/src/utils/plural-helpers.js +35 -0
  381. package/src/utils/plural-helpers.js.map +1 -0
  382. package/src/utils/safe-object.d.ts +39 -0
  383. package/src/utils/safe-object.d.ts.map +1 -0
  384. package/src/utils/{safe-object.ts → safe-object.js} +34 -37
  385. package/src/utils/safe-object.js.map +1 -0
  386. package/src/utils/string-utils.d.ts +28 -0
  387. package/src/utils/string-utils.d.ts.map +1 -0
  388. package/src/utils/string-utils.js +63 -0
  389. package/src/utils/string-utils.js.map +1 -0
  390. package/src/utils/timezone.d.ts +50 -0
  391. package/src/utils/timezone.d.ts.map +1 -0
  392. package/src/utils/timezone.js +74 -0
  393. package/src/utils/timezone.js.map +1 -0
  394. package/src/utils/validation.d.ts +40 -0
  395. package/src/utils/validation.d.ts.map +1 -0
  396. package/src/utils/validation.js +69 -0
  397. package/src/utils/validation.js.map +1 -0
  398. package/src/utils.d.ts +65 -0
  399. package/src/utils.d.ts.map +1 -0
  400. package/src/utils.js +129 -0
  401. package/src/utils.js.map +1 -0
  402. package/src/validation/{index.ts → index.d.ts} +1 -0
  403. package/src/validation/index.d.ts.map +1 -0
  404. package/src/validation/index.js +5 -0
  405. package/src/validation/index.js.map +1 -0
  406. package/src/validation/plural-validator.d.ts +46 -0
  407. package/src/validation/plural-validator.d.ts.map +1 -0
  408. package/src/validation/plural-validator.js +123 -0
  409. package/src/validation/plural-validator.js.map +1 -0
  410. package/src/validation-config.d.ts +12 -0
  411. package/src/validation-config.d.ts.map +1 -0
  412. package/src/validation-config.js +3 -0
  413. package/src/validation-config.js.map +1 -0
  414. package/src/validation-result.d.ts +13 -0
  415. package/src/validation-result.d.ts.map +1 -0
  416. package/src/validation-result.js +3 -0
  417. package/src/validation-result.js.map +1 -0
  418. package/LICENSE +0 -21
  419. package/src/builders/i18n-builder.ts +0 -82
  420. package/src/component-definition.ts +0 -11
  421. package/src/component-registration.ts +0 -29
  422. package/src/component-registry.ts +0 -432
  423. package/src/context-error-type.ts +0 -7
  424. package/src/core/component-store.ts +0 -241
  425. package/src/core/context-manager.ts +0 -113
  426. package/src/core/enum-registry.ts +0 -106
  427. package/src/core/i18n-engine.ts +0 -710
  428. package/src/core/language-registry.ts +0 -345
  429. package/src/core-i18n.ts +0 -270
  430. package/src/core-plugin-factory.ts +0 -111
  431. package/src/core-string-key.ts +0 -59
  432. package/src/create-translation-adapter.ts +0 -93
  433. package/src/enum-registry.ts +0 -152
  434. package/src/errors/context-error.ts +0 -122
  435. package/src/errors/enhanced-error-base.ts +0 -260
  436. package/src/errors/handleable.ts +0 -152
  437. package/src/errors/i18n-error.ts +0 -494
  438. package/src/errors/simple-typed-error.ts +0 -81
  439. package/src/errors/translatable-generic.ts +0 -245
  440. package/src/errors/translatable-handleable-generic.ts +0 -222
  441. package/src/errors/translatable.ts +0 -138
  442. package/src/errors/typed-handleable.ts +0 -138
  443. package/src/errors/typed.ts +0 -617
  444. package/src/gender/gender-resolver.ts +0 -40
  445. package/src/global-active-context.ts +0 -266
  446. package/src/icu/ast.ts +0 -56
  447. package/src/icu/compiler.ts +0 -96
  448. package/src/icu/formatter-registry.ts +0 -36
  449. package/src/icu/formatters/base-formatter.ts +0 -8
  450. package/src/icu/formatters/date-formatter.ts +0 -30
  451. package/src/icu/formatters/number-formatter.ts +0 -32
  452. package/src/icu/formatters/plural-formatter.ts +0 -12
  453. package/src/icu/formatters/select-formatter.ts +0 -7
  454. package/src/icu/formatters/selectordinal-formatter.ts +0 -17
  455. package/src/icu/formatters/time-formatter.ts +0 -30
  456. package/src/icu/helpers.ts +0 -34
  457. package/src/icu/parser.ts +0 -242
  458. package/src/icu/runtime.ts +0 -37
  459. package/src/icu/tokenizer.ts +0 -212
  460. package/src/icu/validator.ts +0 -163
  461. package/src/interfaces/active-context.interface.ts +0 -41
  462. package/src/interfaces/component-config.interface.ts +0 -17
  463. package/src/interfaces/engine-config.interface.ts +0 -22
  464. package/src/interfaces/global-active-context.ts +0 -39
  465. package/src/interfaces/handleable-error-options.ts +0 -13
  466. package/src/interfaces/handleable.ts +0 -20
  467. package/src/interfaces/i18n-engine.interface.ts +0 -57
  468. package/src/interfaces/language-definition.interface.ts +0 -17
  469. package/src/interfaces/translation-options.interface.ts +0 -15
  470. package/src/interfaces/validation-result.interface.ts +0 -24
  471. package/src/language-codes.ts +0 -40
  472. package/src/language-definition.ts +0 -13
  473. package/src/plugin-i18n-engine.ts +0 -707
  474. package/src/pluralization/language-plural-map.ts +0 -186
  475. package/src/pluralization/plural-rules.ts +0 -228
  476. package/src/registry-config.ts +0 -16
  477. package/src/registry-error-type.ts +0 -19
  478. package/src/registry-error.ts +0 -100
  479. package/src/strict-types.ts +0 -35
  480. package/src/strings/de.ts +0 -75
  481. package/src/strings/en-GB.ts +0 -74
  482. package/src/strings/en-US.ts +0 -74
  483. package/src/strings/es.ts +0 -74
  484. package/src/strings/fr.ts +0 -75
  485. package/src/strings/ja.ts +0 -73
  486. package/src/strings/uk.ts +0 -73
  487. package/src/strings/zh-CN.ts +0 -72
  488. package/src/template.ts +0 -72
  489. package/src/translation-engine.ts +0 -18
  490. package/src/translation-request.ts +0 -12
  491. package/src/translation-response.ts +0 -8
  492. package/src/types/engine.ts +0 -55
  493. package/src/utils/currency.ts +0 -141
  494. package/src/utils/html-escape.ts +0 -55
  495. package/src/utils/lru-cache.ts +0 -76
  496. package/src/utils/string-utils.ts +0 -77
  497. package/src/utils/timezone.ts +0 -76
  498. package/src/utils/validation.ts +0 -66
  499. package/src/utils.ts +0 -215
  500. package/src/validation/plural-validator.ts +0 -168
  501. package/src/validation-config.ts +0 -11
  502. package/src/validation-result.ts +0 -12
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ /**
3
+ * Core I18n component with default languages and system strings
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.coreI18nEngine = exports.CoreComponentDefinition = exports.CoreI18nComponentId = void 0;
7
+ exports.createDefaultLanguages = createDefaultLanguages;
8
+ exports.createCoreComponentStrings = createCoreComponentStrings;
9
+ exports.createCoreComponentRegistration = createCoreComponentRegistration;
10
+ exports.createCoreComponentConfig = createCoreComponentConfig;
11
+ exports.getCoreLanguageCodes = getCoreLanguageCodes;
12
+ exports.getCoreLanguageDefinitions = getCoreLanguageDefinitions;
13
+ exports.getCoreI18nEngine = getCoreI18nEngine;
14
+ exports.resetCoreI18nEngine = resetCoreI18nEngine;
15
+ exports.getCoreTranslation = getCoreTranslation;
16
+ exports.safeCoreTranslation = safeCoreTranslation;
17
+ const core_component_id_1 = require("./core-component-id");
18
+ Object.defineProperty(exports, "CoreI18nComponentId", { enumerable: true, get: function () { return core_component_id_1.CoreI18nComponentId; } });
19
+ const core_string_key_1 = require("./core-string-key");
20
+ const i18n_engine_1 = require("./core/i18n-engine");
21
+ const language_codes_1 = require("./language-codes");
22
+ const strict_types_1 = require("./strict-types");
23
+ const de_1 = require("./strings/de");
24
+ const en_GB_1 = require("./strings/en-GB");
25
+ const en_US_1 = require("./strings/en-US");
26
+ const es_1 = require("./strings/es");
27
+ const fr_1 = require("./strings/fr");
28
+ const ja_1 = require("./strings/ja");
29
+ const uk_1 = require("./strings/uk");
30
+ const zh_CN_1 = require("./strings/zh-CN");
31
+ /**
32
+ * Helper function to create multiple language definitions
33
+ */
34
+ function createLanguageDefinitions(languages) {
35
+ return languages.map((lang) => ({
36
+ id: lang.id,
37
+ name: lang.name,
38
+ code: lang.code,
39
+ isDefault: lang.isDefault || false,
40
+ }));
41
+ }
42
+ /**
43
+ * Create default language definitions
44
+ */
45
+ function createDefaultLanguages() {
46
+ return createLanguageDefinitions([
47
+ {
48
+ id: language_codes_1.LanguageCodes.EN_US,
49
+ name: 'English (US)',
50
+ code: 'en-US',
51
+ isDefault: true,
52
+ },
53
+ {
54
+ id: language_codes_1.LanguageCodes.EN_GB,
55
+ name: 'English (UK)',
56
+ code: 'en-GB',
57
+ },
58
+ {
59
+ id: language_codes_1.LanguageCodes.FR,
60
+ name: 'Français',
61
+ code: 'fr',
62
+ },
63
+ {
64
+ id: language_codes_1.LanguageCodes.ES,
65
+ name: 'Español',
66
+ code: 'es',
67
+ },
68
+ {
69
+ id: language_codes_1.LanguageCodes.DE,
70
+ name: 'Deutsch',
71
+ code: 'de',
72
+ },
73
+ {
74
+ id: language_codes_1.LanguageCodes.ZH_CN,
75
+ name: '中文 (简体)',
76
+ code: 'zh-CN',
77
+ },
78
+ {
79
+ id: language_codes_1.LanguageCodes.JA,
80
+ name: '日本語',
81
+ code: 'ja',
82
+ },
83
+ {
84
+ id: language_codes_1.LanguageCodes.UK,
85
+ name: 'Українська',
86
+ code: 'uk',
87
+ },
88
+ ]);
89
+ }
90
+ /**
91
+ * Core component definition
92
+ */
93
+ exports.CoreComponentDefinition = {
94
+ id: core_component_id_1.CoreI18nComponentId,
95
+ name: 'Core I18n System',
96
+ stringKeys: Object.values(core_string_key_1.CoreStringKey),
97
+ };
98
+ /**
99
+ * Core component strings for all default languages
100
+ */
101
+ function createCoreComponentStrings() {
102
+ return (0, strict_types_1.createCompleteComponentStrings)({
103
+ [language_codes_1.LanguageCodes.EN_US]: en_US_1.americanEnglishString,
104
+ [language_codes_1.LanguageCodes.EN_GB]: en_GB_1.BritishEnglishStrings,
105
+ [language_codes_1.LanguageCodes.FR]: fr_1.frenchStrings,
106
+ [language_codes_1.LanguageCodes.ES]: es_1.spanishStrings,
107
+ [language_codes_1.LanguageCodes.DE]: de_1.germanStrings,
108
+ [language_codes_1.LanguageCodes.ZH_CN]: zh_CN_1.mandarinStrings,
109
+ [language_codes_1.LanguageCodes.JA]: ja_1.japaneseStrings,
110
+ [language_codes_1.LanguageCodes.UK]: uk_1.ukrainianStrings,
111
+ });
112
+ }
113
+ /**
114
+ * Create core component registration (for PluginI18nEngine)
115
+ */
116
+ function createCoreComponentRegistration() {
117
+ return {
118
+ component: exports.CoreComponentDefinition,
119
+ strings: createCoreComponentStrings(),
120
+ };
121
+ }
122
+ /**
123
+ * Create core component config (for I18nEngine)
124
+ */
125
+ function createCoreComponentConfig() {
126
+ return {
127
+ id: core_component_id_1.CoreI18nComponentId,
128
+ strings: createCoreComponentStrings(),
129
+ aliases: ['CoreStringKey'],
130
+ };
131
+ }
132
+ /**
133
+ * Get core language codes as array (for Mongoose enums, etc.)
134
+ */
135
+ function getCoreLanguageCodes() {
136
+ return Object.values(language_codes_1.LanguageCodes);
137
+ }
138
+ /**
139
+ * Get core language definitions
140
+ */
141
+ function getCoreLanguageDefinitions() {
142
+ return createDefaultLanguages();
143
+ }
144
+ // 1.x definitions moved to core-plugin-factory.ts to break circular dependency
145
+ // Import these from './core-plugin-factory' or from the main index
146
+ // 2.x definitions
147
+ //------------------------------
148
+ /**
149
+ * Create Core i18n engine instance
150
+ * Uses i18n 2.0 pattern with runtime validation
151
+ * IMPORTANT: Uses 'default' as instance key so TypedHandleableError can find it
152
+ */
153
+ function createInstance(config) {
154
+ const engine = i18n_engine_1.I18nEngine.registerIfNotExists('default', createDefaultLanguages(), config);
155
+ // Register core component if not already registered
156
+ const coreReg = createCoreComponentRegistration();
157
+ engine.registerIfNotExists({
158
+ id: coreReg.component.id,
159
+ strings: coreReg.strings,
160
+ });
161
+ return engine;
162
+ }
163
+ /**
164
+ * Lazy initialization with Proxy (like core-i18n.ts pattern)
165
+ */
166
+ let _coreEngine;
167
+ function getCoreI18nEngine() {
168
+ // Lazy initialization on first access
169
+ if (!_coreEngine) {
170
+ // Check if instance exists before creating
171
+ if (i18n_engine_1.I18nEngine.hasInstance('default')) {
172
+ _coreEngine = i18n_engine_1.I18nEngine.getInstance('default');
173
+ }
174
+ else {
175
+ _coreEngine = createInstance();
176
+ }
177
+ return _coreEngine;
178
+ }
179
+ // Lazy re-initialization if instance was cleared
180
+ if (i18n_engine_1.I18nEngine.hasInstance('default')) {
181
+ return _coreEngine;
182
+ }
183
+ else {
184
+ _coreEngine = createInstance();
185
+ return _coreEngine;
186
+ }
187
+ }
188
+ /**
189
+ * Proxy for backward compatibility
190
+ */
191
+ exports.coreI18nEngine = new Proxy({}, {
192
+ get(target, prop) {
193
+ return getCoreI18nEngine()[prop];
194
+ },
195
+ });
196
+ /**
197
+ * Reset function for tests
198
+ */
199
+ function resetCoreI18nEngine() {
200
+ _coreEngine = undefined;
201
+ }
202
+ /**
203
+ * Helper to translate Core strings
204
+ */
205
+ function getCoreTranslation(stringKey, variables, language) {
206
+ return getCoreI18nEngine().translate(core_component_id_1.CoreI18nComponentId, stringKey, variables, language);
207
+ }
208
+ /**
209
+ * Safe translation with fallback
210
+ */
211
+ function safeCoreTranslation(stringKey, variables, language) {
212
+ try {
213
+ return getCoreTranslation(stringKey, variables, language);
214
+ }
215
+ catch {
216
+ return `[${stringKey}]`;
217
+ }
218
+ }
219
+ //# sourceMappingURL=core-i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-i18n.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-i18n.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Factory for creating core plugin I18n engine instances
3
+ * This file breaks the circular dependency between core-i18n.ts and plugin-i18n-engine.ts
4
+ */
5
+ import { PluginI18nEngine } from './plugin-i18n-engine';
6
+ import { RegistryConfig } from './registry-config';
7
+ /**
8
+ * Create a pre-configured I18n engine with core components
9
+ * Returns engine with string type - use registry for language validation
10
+ */
11
+ export declare function createCorePluginI18nEngine(instanceKey?: string, config?: Partial<RegistryConfig<string>>): PluginI18nEngine<string>;
12
+ export declare function getCorePluginI18nEngine(): PluginI18nEngine<string>;
13
+ export declare const corePluginI18nEngine: PluginI18nEngine<string>;
14
+ export declare function resetCorePluginI18nEngine(): void;
15
+ /**
16
+ * Type alias for easier usage
17
+ */
18
+ export type CorePluginI18nEngine = PluginI18nEngine<string>;
19
+ /**
20
+ * Helper function to get core translation
21
+ * Uses the core engine instance to ensure core strings are available
22
+ */
23
+ export declare function getCorePluginTranslation(stringKey: string, variables?: Record<string, string | number>, language?: string, instanceKey?: string): string;
24
+ /**
25
+ * Helper function to safely get core translation with fallback
26
+ */
27
+ export declare function safeCorePluginTranslation(stringKey: string, variables?: Record<string, string | number>, language?: string, instanceKey?: string): string;
28
+ //# sourceMappingURL=core-plugin-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-plugin-factory.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-plugin-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,GAAE,MAA2B,EACxC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GACvC,gBAAgB,CAAC,MAAM,CAAC,CAS1B;AAMD,wBAAgB,uBAAuB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAelE;AAGD,eAAO,MAAM,oBAAoB,0BAK/B,CAAC;AAGH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAWR"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /**
3
+ * Factory for creating core plugin I18n engine instances
4
+ * This file breaks the circular dependency between core-i18n.ts and plugin-i18n-engine.ts
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.corePluginI18nEngine = void 0;
8
+ exports.createCorePluginI18nEngine = createCorePluginI18nEngine;
9
+ exports.getCorePluginI18nEngine = getCorePluginI18nEngine;
10
+ exports.resetCorePluginI18nEngine = resetCorePluginI18nEngine;
11
+ exports.getCorePluginTranslation = getCorePluginTranslation;
12
+ exports.safeCorePluginTranslation = safeCorePluginTranslation;
13
+ const core_i18n_1 = require("./core-i18n");
14
+ const plugin_i18n_engine_1 = require("./plugin-i18n-engine");
15
+ const DefaultInstanceKey = 'default';
16
+ /**
17
+ * Create a pre-configured I18n engine with core components
18
+ * Returns engine with string type - use registry for language validation
19
+ */
20
+ function createCorePluginI18nEngine(instanceKey = DefaultInstanceKey, config) {
21
+ const languages = (0, core_i18n_1.createDefaultLanguages)();
22
+ const engine = plugin_i18n_engine_1.PluginI18nEngine.createInstance(instanceKey, languages, config);
23
+ engine.registerComponent((0, core_i18n_1.createCoreComponentRegistration)());
24
+ return engine;
25
+ }
26
+ // Note: Lazy initialization to avoid circular dependency issues
27
+ // Tests should call resetCorePluginI18nEngine() after PluginI18nEngine.resetAll()
28
+ let _corePluginI18nEngine;
29
+ function getCorePluginI18nEngine() {
30
+ // Lazy initialization on first access
31
+ if (!_corePluginI18nEngine) {
32
+ _corePluginI18nEngine = createCorePluginI18nEngine();
33
+ return _corePluginI18nEngine;
34
+ }
35
+ // Lazy re-initialization if instance was cleared
36
+ try {
37
+ plugin_i18n_engine_1.PluginI18nEngine.getInstance(DefaultInstanceKey);
38
+ return _corePluginI18nEngine;
39
+ }
40
+ catch {
41
+ _corePluginI18nEngine = createCorePluginI18nEngine();
42
+ return _corePluginI18nEngine;
43
+ }
44
+ }
45
+ // Getter for direct reference - lazily initialized
46
+ exports.corePluginI18nEngine = new Proxy({}, {
47
+ get(_target, prop) {
48
+ const engine = getCorePluginI18nEngine();
49
+ return engine[prop];
50
+ },
51
+ });
52
+ // Reset function for tests
53
+ function resetCorePluginI18nEngine() {
54
+ _corePluginI18nEngine = undefined;
55
+ }
56
+ /**
57
+ * Helper function to get core translation
58
+ * Uses the core engine instance to ensure core strings are available
59
+ */
60
+ function getCorePluginTranslation(stringKey, variables, language, instanceKey) {
61
+ // Use string literal to avoid circular dependency
62
+ const coreComponentId = 'core';
63
+ // Use core engine if no instance key specified, otherwise use specified instance
64
+ const engine = instanceKey
65
+ ? plugin_i18n_engine_1.PluginI18nEngine.getInstance(instanceKey)
66
+ : getCorePluginI18nEngine();
67
+ return engine.translate(coreComponentId, stringKey, variables, language);
68
+ }
69
+ /**
70
+ * Helper function to safely get core translation with fallback
71
+ */
72
+ function safeCorePluginTranslation(stringKey, variables, language, instanceKey) {
73
+ try {
74
+ return getCorePluginTranslation(stringKey, variables, language, instanceKey);
75
+ }
76
+ catch {
77
+ return `[CoreStringKey.${stringKey}]`;
78
+ }
79
+ }
80
+ //# sourceMappingURL=core-plugin-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-plugin-factory.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-plugin-factory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAeH,gEAYC;AAMD,0DAeC;AAWD,8DAEC;AAWD,4DAcC;AAKD,8DAgBC;AAzGD,2CAGqB;AACrB,6DAAwD;AAGxD,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAErC;;;GAGG;AACH,SAAgB,0BAA0B,CACxC,cAAsB,kBAAkB,EACxC,MAAwC;IAExC,MAAM,SAAS,GAAG,IAAA,kCAAsB,GAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,qCAAgB,CAAC,cAAc,CAC5C,WAAW,EACX,SAAS,EACT,MAAM,CACP,CAAC;IACF,MAAM,CAAC,iBAAiB,CAAC,IAAA,2CAA+B,GAAE,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,kFAAkF;AAClF,IAAI,qBAA2D,CAAC;AAEhE,SAAgB,uBAAuB;IACrC,sCAAsC;IACtC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG,0BAA0B,EAAE,CAAC;QACrD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC;QACH,qCAAgB,CAAC,WAAW,CAAS,kBAAkB,CAAC,CAAC;QACzD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB,GAAG,0BAA0B,EAAE,CAAC;QACrD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,mDAAmD;AACtC,QAAA,oBAAoB,GAAG,IAAI,KAAK,CAAC,EAA8B,EAAE;IAC5E,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,IAAsC,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC;AAEH,2BAA2B;AAC3B,SAAgB,yBAAyB;IACvC,qBAAqB,GAAG,SAAS,CAAC;AACpC,CAAC;AAOD;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,SAAiB,EACjB,SAA2C,EAC3C,QAAiB,EACjB,WAAoB;IAEpB,kDAAkD;IAClD,MAAM,eAAe,GAAG,MAAM,CAAC;IAE/B,iFAAiF;IACjF,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAC,qCAAgB,CAAC,WAAW,CAAS,WAAW,CAAC;QACnD,CAAC,CAAC,uBAAuB,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CACvC,SAAiB,EACjB,SAA2C,EAC3C,QAAiB,EACjB,WAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,wBAAwB,CAC7B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,CACZ,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,kBAAkB,SAAS,GAAG,CAAC;IACxC,CAAC;AACH,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Core system string keys
3
+ */
4
+ export declare enum CoreStringKey {
5
+ Common_Yes = "common_yes",
6
+ Common_No = "common_no",
7
+ Common_Cancel = "common_cancel",
8
+ Common_OK = "common_ok",
9
+ Common_Save = "common_save",
10
+ Common_Delete = "common_delete",
11
+ Common_Edit = "common_edit",
12
+ Common_Create = "common_create",
13
+ Common_Update = "common_update",
14
+ Common_Loading = "common_loading",
15
+ Common_Error = "common_error",
16
+ Common_Success = "common_success",
17
+ Common_Warning = "common_warning",
18
+ Common_Info = "common_info",
19
+ Common_Disposed = "common_disposed",
20
+ Common_Test = "common_test",
21
+ Error_InvalidInput = "error_invalidInput",
22
+ Error_NetworkError = "error_networkError",
23
+ Error_NotFound = "error_notFound",
24
+ Error_AccessDenied = "error_accessDenied",
25
+ Error_InternalServer = "error_internalServer",
26
+ Error_ValidationFailed = "error_validationFailed",
27
+ Error_RequiredField = "error_requiredField",
28
+ Error_InvalidContext = "error_invalidContext",
29
+ Error_InvalidContextTemplate = "error_invalidContextTemplate",
30
+ Error_InvalidCurrencyCodeTemplate = "error_invalidCurrencyCodeTemplate",
31
+ Error_ComponentNotFoundTemplate = "error_componentNotFoundTemplate",
32
+ Error_LanguageNotFoundTemplate = "error_languageNotFoundTemplate",
33
+ Error_StringKeyNotFoundTemplate = "error_stringKeyNotFoundTemplate",
34
+ Error_IncompleteRegistrationTemplate = "error_incompleteRegistrationTemplate",
35
+ Error_DuplicateComponentTemplate = "error_duplicateComponentTemplate",
36
+ Error_DuplicateLanguageTemplate = "error_duplicateLanguageTemplate",
37
+ Error_ValidationFailedTemplate = "error_validationFailedTemplate",
38
+ Error_MissingTranslationKeyTemplate = "error_missingTranslationKeyTemplate",
39
+ System_Welcome = "system_welcome",
40
+ System_Goodbye = "system_goodbye",
41
+ System_PleaseWait = "system_pleaseWait",
42
+ System_ProcessingRequest = "system_processingRequest",
43
+ System_OperationComplete = "system_operationComplete",
44
+ System_NoDataAvailable = "system_noDataAvailable",
45
+ Error_InstanceAlreadyExistsTemplate = "error_instanceAlreadyExistsTemplate",
46
+ Error_InstanceNotFoundTemplate = "error_instanceNotFoundTemplate",
47
+ Error_MissingStringCollectionTemplate = "error_missingStringCollectionTemplate",
48
+ Error_MissingTranslationTemplate = "error_missingTranslationTemplate",
49
+ Error_DefaultLanguageNoCollectionTemplate = "error_defaultLanguageNoCollectionTemplate",
50
+ Error_MissingTranslationKeyForTypeTemplate = "error_missingTranslationKeyForTypeTemplate"
51
+ }
52
+ //# sourceMappingURL=core-string-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-string-key.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-string-key.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,aAAa;IAEvB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAE3B,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,iCAAiC,sCAAsC;IAGvE,+BAA+B,oCAAoC;IACnE,8BAA8B,mCAAmC;IACjE,+BAA+B,oCAAoC;IACnE,oCAAoC,yCAAyC;IAC7E,gCAAgC,qCAAqC;IACrE,+BAA+B,oCAAoC;IACnE,8BAA8B,mCAAmC;IACjE,mCAAmC,wCAAwC;IAG3E,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,sBAAsB,2BAA2B;IAGjD,mCAAmC,wCAAwC;IAC3E,8BAA8B,mCAAmC;IACjE,qCAAqC,0CAA0C;IAC/E,gCAAgC,qCAAqC;IACrE,yCAAyC,8CAA8C;IACvF,0CAA0C,+CAA+C;CAC1F"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreStringKey = void 0;
4
+ /**
5
+ * Core system string keys
6
+ */
7
+ var CoreStringKey;
8
+ (function (CoreStringKey) {
9
+ // Common/General
10
+ CoreStringKey["Common_Yes"] = "common_yes";
11
+ CoreStringKey["Common_No"] = "common_no";
12
+ CoreStringKey["Common_Cancel"] = "common_cancel";
13
+ CoreStringKey["Common_OK"] = "common_ok";
14
+ CoreStringKey["Common_Save"] = "common_save";
15
+ CoreStringKey["Common_Delete"] = "common_delete";
16
+ CoreStringKey["Common_Edit"] = "common_edit";
17
+ CoreStringKey["Common_Create"] = "common_create";
18
+ CoreStringKey["Common_Update"] = "common_update";
19
+ CoreStringKey["Common_Loading"] = "common_loading";
20
+ CoreStringKey["Common_Error"] = "common_error";
21
+ CoreStringKey["Common_Success"] = "common_success";
22
+ CoreStringKey["Common_Warning"] = "common_warning";
23
+ CoreStringKey["Common_Info"] = "common_info";
24
+ CoreStringKey["Common_Disposed"] = "common_disposed";
25
+ CoreStringKey["Common_Test"] = "common_test";
26
+ // Error Messages
27
+ CoreStringKey["Error_InvalidInput"] = "error_invalidInput";
28
+ CoreStringKey["Error_NetworkError"] = "error_networkError";
29
+ CoreStringKey["Error_NotFound"] = "error_notFound";
30
+ CoreStringKey["Error_AccessDenied"] = "error_accessDenied";
31
+ CoreStringKey["Error_InternalServer"] = "error_internalServer";
32
+ CoreStringKey["Error_ValidationFailed"] = "error_validationFailed";
33
+ CoreStringKey["Error_RequiredField"] = "error_requiredField";
34
+ CoreStringKey["Error_InvalidContext"] = "error_invalidContext";
35
+ CoreStringKey["Error_InvalidContextTemplate"] = "error_invalidContextTemplate";
36
+ CoreStringKey["Error_InvalidCurrencyCodeTemplate"] = "error_invalidCurrencyCodeTemplate";
37
+ // Registry Errors (templates support variables)
38
+ CoreStringKey["Error_ComponentNotFoundTemplate"] = "error_componentNotFoundTemplate";
39
+ CoreStringKey["Error_LanguageNotFoundTemplate"] = "error_languageNotFoundTemplate";
40
+ CoreStringKey["Error_StringKeyNotFoundTemplate"] = "error_stringKeyNotFoundTemplate";
41
+ CoreStringKey["Error_IncompleteRegistrationTemplate"] = "error_incompleteRegistrationTemplate";
42
+ CoreStringKey["Error_DuplicateComponentTemplate"] = "error_duplicateComponentTemplate";
43
+ CoreStringKey["Error_DuplicateLanguageTemplate"] = "error_duplicateLanguageTemplate";
44
+ CoreStringKey["Error_ValidationFailedTemplate"] = "error_validationFailedTemplate";
45
+ CoreStringKey["Error_MissingTranslationKeyTemplate"] = "error_missingTranslationKeyTemplate";
46
+ // System Messages
47
+ CoreStringKey["System_Welcome"] = "system_welcome";
48
+ CoreStringKey["System_Goodbye"] = "system_goodbye";
49
+ CoreStringKey["System_PleaseWait"] = "system_pleaseWait";
50
+ CoreStringKey["System_ProcessingRequest"] = "system_processingRequest";
51
+ CoreStringKey["System_OperationComplete"] = "system_operationComplete";
52
+ CoreStringKey["System_NoDataAvailable"] = "system_noDataAvailable";
53
+ // DefaultStringKey
54
+ CoreStringKey["Error_InstanceAlreadyExistsTemplate"] = "error_instanceAlreadyExistsTemplate";
55
+ CoreStringKey["Error_InstanceNotFoundTemplate"] = "error_instanceNotFoundTemplate";
56
+ CoreStringKey["Error_MissingStringCollectionTemplate"] = "error_missingStringCollectionTemplate";
57
+ CoreStringKey["Error_MissingTranslationTemplate"] = "error_missingTranslationTemplate";
58
+ CoreStringKey["Error_DefaultLanguageNoCollectionTemplate"] = "error_defaultLanguageNoCollectionTemplate";
59
+ CoreStringKey["Error_MissingTranslationKeyForTypeTemplate"] = "error_missingTranslationKeyForTypeTemplate";
60
+ })(CoreStringKey || (exports.CoreStringKey = CoreStringKey = {}));
61
+ //# sourceMappingURL=core-string-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-string-key.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/core-string-key.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,aAuDX;AAvDD,WAAY,aAAa;IACvB,iBAAiB;IACjB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,gDAA+B,CAAA;IAC/B,wCAAuB,CAAA;IACvB,4CAA2B,CAAA;IAC3B,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kDAAiC,CAAA;IACjC,8CAA6B,CAAA;IAC7B,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,4CAA2B,CAAA;IAC3B,oDAAmC,CAAA;IACnC,4CAA2B,CAAA;IAC3B,iBAAiB;IACjB,0DAAyC,CAAA;IACzC,0DAAyC,CAAA;IACzC,kDAAiC,CAAA;IACjC,0DAAyC,CAAA;IACzC,8DAA6C,CAAA;IAC7C,kEAAiD,CAAA;IACjD,4DAA2C,CAAA;IAC3C,8DAA6C,CAAA;IAC7C,8EAA6D,CAAA;IAC7D,wFAAuE,CAAA;IAEvE,gDAAgD;IAChD,oFAAmE,CAAA;IACnE,kFAAiE,CAAA;IACjE,oFAAmE,CAAA;IACnE,8FAA6E,CAAA;IAC7E,sFAAqE,CAAA;IACrE,oFAAmE,CAAA;IACnE,kFAAiE,CAAA;IACjE,4FAA2E,CAAA;IAE3E,kBAAkB;IAClB,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;IACvC,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IACrD,kEAAiD,CAAA;IAEjD,mBAAmB;IACnB,4FAA2E,CAAA;IAC3E,kFAAiE,CAAA;IACjE,gGAA+E,CAAA;IAC/E,sFAAqE,CAAA;IACrE,wGAAuF,CAAA;IACvF,0GAAyF,CAAA;AAC3F,CAAC,EAvDW,aAAa,6BAAb,aAAa,QAuDxB"}
@@ -0,0 +1,33 @@
1
+ import { PluginI18nEngine } from './plugin-i18n-engine';
2
+ import { TranslationEngine } from './translation-engine';
3
+ /**
4
+ * Creates a TranslationEngine adapter from a PluginI18nEngine for a specific component.
5
+ * This allows PluginI18nEngine to be used where TranslationEngine interface is expected.
6
+ *
7
+ * The adapter supports both calling conventions:
8
+ * - Full TranslationEngine interface: `translate(componentId, key, vars, lang)`
9
+ * - Simplified interface: `translate(key, vars, lang)` (componentId is bound)
10
+ *
11
+ * @param pluginEngine - The PluginI18nEngine instance to wrap
12
+ * @param componentId - The component ID to use for translations
13
+ * @returns A TranslationEngine that delegates to the PluginI18nEngine
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const pluginEngine = getMyPluginI18nEngine();
18
+ * const adapter = createTranslationAdapter(pluginEngine, 'my-component');
19
+ *
20
+ * // Simplified interface (componentId is bound)
21
+ * const text1 = adapter.translate('key');
22
+ * const text2 = adapter.translate('key', { var: 'value' });
23
+ * const text3 = adapter.translate('key', { var: 'value' }, 'fr');
24
+ *
25
+ * // Full TranslationEngine interface
26
+ * const text4 = adapter.translate('other-component', 'key', { var: 'value' }, 'fr');
27
+ * ```
28
+ */
29
+ export declare function createTranslationAdapter<TStringKey extends string, TLanguage extends string>(pluginEngine: PluginI18nEngine<TLanguage>, componentId: string): TranslationEngine<TStringKey> & {
30
+ translate(key: TStringKey, vars?: Record<string, string | number>, lang?: TLanguage): string;
31
+ safeTranslate(key: TStringKey, vars?: Record<string, string | number>, lang?: TLanguage): string;
32
+ };
33
+ //# sourceMappingURL=create-translation-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-translation-adapter.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/create-translation-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM,EAExB,YAAY,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACzC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,UAAU,CAAC,GAAG;IACjC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7F,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAClG,CAsDA"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTranslationAdapter = createTranslationAdapter;
4
+ /**
5
+ * Creates a TranslationEngine adapter from a PluginI18nEngine for a specific component.
6
+ * This allows PluginI18nEngine to be used where TranslationEngine interface is expected.
7
+ *
8
+ * The adapter supports both calling conventions:
9
+ * - Full TranslationEngine interface: `translate(componentId, key, vars, lang)`
10
+ * - Simplified interface: `translate(key, vars, lang)` (componentId is bound)
11
+ *
12
+ * @param pluginEngine - The PluginI18nEngine instance to wrap
13
+ * @param componentId - The component ID to use for translations
14
+ * @returns A TranslationEngine that delegates to the PluginI18nEngine
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const pluginEngine = getMyPluginI18nEngine();
19
+ * const adapter = createTranslationAdapter(pluginEngine, 'my-component');
20
+ *
21
+ * // Simplified interface (componentId is bound)
22
+ * const text1 = adapter.translate('key');
23
+ * const text2 = adapter.translate('key', { var: 'value' });
24
+ * const text3 = adapter.translate('key', { var: 'value' }, 'fr');
25
+ *
26
+ * // Full TranslationEngine interface
27
+ * const text4 = adapter.translate('other-component', 'key', { var: 'value' }, 'fr');
28
+ * ```
29
+ */
30
+ function createTranslationAdapter(pluginEngine, componentId) {
31
+ const adapter = {
32
+ translate: (keyOrComponentId, varsOrKey, langOrVars, maybeLang) => {
33
+ let actualKey;
34
+ let actualVars;
35
+ let actualLang;
36
+ if (arguments.length >= 4 || (typeof varsOrKey === 'string')) {
37
+ actualKey = varsOrKey;
38
+ actualVars = langOrVars;
39
+ actualLang = maybeLang;
40
+ }
41
+ else {
42
+ actualKey = keyOrComponentId;
43
+ actualVars = varsOrKey;
44
+ actualLang = langOrVars;
45
+ }
46
+ try {
47
+ return pluginEngine.translate(componentId, actualKey, actualVars, actualLang);
48
+ }
49
+ catch (error) {
50
+ return String(actualKey);
51
+ }
52
+ },
53
+ safeTranslate: (keyOrComponentId, varsOrKey, langOrVars, maybeLang) => {
54
+ let actualKey;
55
+ let actualVars;
56
+ let actualLang;
57
+ if (arguments.length >= 4 || (typeof varsOrKey === 'string')) {
58
+ actualKey = varsOrKey;
59
+ actualVars = langOrVars;
60
+ actualLang = maybeLang;
61
+ }
62
+ else {
63
+ actualKey = keyOrComponentId;
64
+ actualVars = varsOrKey;
65
+ actualLang = langOrVars;
66
+ }
67
+ return pluginEngine.safeTranslate(componentId, actualKey, actualVars, actualLang);
68
+ },
69
+ };
70
+ return adapter;
71
+ }
72
+ //# sourceMappingURL=create-translation-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-translation-adapter.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/create-translation-adapter.ts"],"names":[],"mappings":";;AA6BA,4DA+DC;AAzFD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,wBAAwB,CAItC,YAAyC,EACzC,WAAmB;IAKnB,MAAM,OAAO,GAAQ;QACnB,SAAS,EAAE,CACT,gBAAqC,EACrC,SAAwD,EACxD,UAAwD,EACxD,SAAqB,EACb,EAAE;YACV,IAAI,SAAqB,CAAC;YAC1B,IAAI,UAAuD,CAAC;YAC5D,IAAI,UAAiC,CAAC;YAEtC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7D,SAAS,GAAG,SAAuB,CAAC;gBACpC,UAAU,GAAG,UAAyD,CAAC;gBACvE,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,gBAA8B,CAAC;gBAC3C,UAAU,GAAG,SAAwD,CAAC;gBACtE,UAAU,GAAG,UAAmC,CAAC;YACnD,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAChF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,aAAa,EAAE,CACb,gBAAqC,EACrC,SAAwD,EACxD,UAAwD,EACxD,SAAqB,EACb,EAAE;YACV,IAAI,SAAqB,CAAC;YAC1B,IAAI,UAAuD,CAAC;YAC5D,IAAI,UAAiC,CAAC;YAEtC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7D,SAAS,GAAG,SAAuB,CAAC;gBACpC,UAAU,GAAG,UAAyD,CAAC;gBACvE,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,gBAA8B,CAAC;gBAC3C,UAAU,GAAG,SAAwD,CAAC;gBACtE,UAAU,GAAG,UAAmC,CAAC;YACnD,CAAC;YAED,OAAO,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACpF,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { EnumLanguageTranslation } from './types';
2
+ /**
3
+ * Registry for managing translations of enum values across multiple languages.
4
+ *
5
+ * @template TStringKey Type of translation key used in error messages.
6
+ * @template TLanguage Type of supported language codes.
7
+ */
8
+ export declare class EnumTranslationRegistry<TStringKey extends string, TLanguage extends string> {
9
+ protected translations: Map<any, Partial<{ [L in TLanguage]: import("./types").EnumTranslation<any>; }>>;
10
+ protected enumNames: WeakMap<any, string>;
11
+ protected availableLanguages: Set<TLanguage>;
12
+ protected translateFn?: (key: TStringKey, vars?: Record<string, any>) => string;
13
+ /**
14
+ * Creates a new EnumTranslationRegistry.
15
+ *
16
+ * @param availableLanguages Array of supported language codes.
17
+ * @param translateFn Optional translation function for error templates.
18
+ */
19
+ constructor(availableLanguages: TLanguage[], translateFn?: (key: TStringKey, vars?: Record<string, any>) => string);
20
+ /**
21
+ * Registers an enum and its language-specific translations.
22
+ *
23
+ * @template TEnum Enum value type (string or number).
24
+ * @param enumObj The enum object to register.
25
+ * @param translations Mapping of language codes to value-to-string translations.
26
+ * @param enumName Human-readable name of the enum (used in errors).
27
+ * @throws {Error} If translations contain languages not in availableLanguages.
28
+ */
29
+ register<TEnum extends string | number>(enumObj: Record<string, TEnum>, translations: EnumLanguageTranslation<TEnum, TLanguage>, enumName: string): void;
30
+ /**
31
+ * Translates a specific enum value into the target language.
32
+ *
33
+ * @template TEnum Enum value type.
34
+ * @param enumObj The enum object registered previously.
35
+ * @param value The enum value to translate.
36
+ * @param language The target language code.
37
+ * @returns The translated string.
38
+ * @throws {Error} If the enum or language or value is not found.
39
+ */
40
+ translate<TEnum extends string | number>(enumObj: Record<string, TEnum>, value: TEnum, language: TLanguage): string;
41
+ /**
42
+ * Checks whether translations exist for the given enum object.
43
+ *
44
+ * @param enumObj The enum object to check.
45
+ * @returns True if registered, false otherwise.
46
+ */
47
+ has(enumObj: any): boolean;
48
+ /**
49
+ * Internal: Retrieves the human-readable name of the enum.
50
+ *
51
+ * @param enumObj The enum object.
52
+ * @returns Registered enum name or 'UnknownEnum' if not set.
53
+ */
54
+ private getEnumName;
55
+ /**
56
+ * Internal: Validates that translation entries only use available languages.
57
+ *
58
+ * @template TEnum Enum value type.
59
+ * @param translations Mapping of language codes to translations.
60
+ * @param enumName Enum name for error reporting.
61
+ * @throws {Error} If a translation language is not available.
62
+ */
63
+ private validateTranslations;
64
+ }
65
+ //# sourceMappingURL=enum-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/enum-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;GAKG;AACH,qBAAa,uBAAuB,CAClC,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM;IAExB,SAAS,CAAC,YAAY,mFAA2D;IACjF,SAAS,CAAC,SAAS,uBAA8B;IACjD,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAEhF;;;;;OAKG;gBAED,kBAAkB,EAAE,SAAS,EAAE,EAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM;IAMvE;;;;;;;;OAQG;IACI,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,YAAY,EAAE,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,EACvD,QAAQ,EAAE,MAAM,GACf,IAAI;IAMP;;;;;;;;;OASG;IACI,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,SAAS,GAClB,MAAM;IA2CT;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAIjC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;CAgB7B"}