@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,568 @@
1
+ "use strict";
2
+ /**
3
+ * Main I18n Engine (no generics)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.I18nEngine = void 0;
7
+ const core_component_id_1 = require("../core-component-id");
8
+ const i18n_error_1 = require("../errors/i18n-error");
9
+ const currency_1 = require("../utils/currency");
10
+ const safe_object_1 = require("../utils/safe-object");
11
+ const timezone_1 = require("../utils/timezone");
12
+ const validation_1 = require("../utils/validation");
13
+ const component_store_1 = require("./component-store");
14
+ const context_manager_1 = require("./context-manager");
15
+ const enum_registry_1 = require("./enum-registry");
16
+ const language_registry_1 = require("./language-registry");
17
+ /**
18
+ * I18nEngine implements the II18nEngine interface, providing translation,
19
+ * component registration, enum translation, and context management.
20
+ */
21
+ class I18nEngine {
22
+ static instances = new Map();
23
+ static defaultKey = null;
24
+ static DEFAULT_KEY = 'default';
25
+ static contextManager = new context_manager_1.ContextManager();
26
+ componentStore;
27
+ enumRegistry;
28
+ instanceKey;
29
+ config;
30
+ aliasToComponent = new Map();
31
+ componentKeyLookup = new Map();
32
+ /**
33
+ * Constructs an I18nEngine instance, registering languages, setting defaults,
34
+ * and optionally registering and setting this instance as default.
35
+ *
36
+ * @param languages - Array of language definitions to register.
37
+ * @param config - Engine configuration options.
38
+ * @param options - Optional creation options.
39
+ * @param options.instanceKey - Key to identify this instance.
40
+ * @param options.registerInstance - Whether to add this instance to the registry.
41
+ * @param options.setAsDefault - Whether to set this instance as the default.
42
+ * @throws {I18nError} If an instance with the same key already exists.
43
+ */
44
+ constructor(languages, config = {}, options) {
45
+ // Register languages
46
+ for (const lang of languages) {
47
+ if (!language_registry_1.LanguageRegistry.has(lang.id)) {
48
+ language_registry_1.LanguageRegistry.register(lang);
49
+ }
50
+ }
51
+ // Set defaults
52
+ const defaultLang = languages.find((l) => l.isDefault) || languages[0];
53
+ this.config = {
54
+ defaultLanguage: config.defaultLanguage || defaultLang.id,
55
+ fallbackLanguage: config.fallbackLanguage || defaultLang.id,
56
+ constants: config.constants || {},
57
+ validation: {
58
+ requireCompleteStrings: false,
59
+ allowPartialRegistration: true,
60
+ ...config.validation,
61
+ },
62
+ };
63
+ this.componentStore = new component_store_1.ComponentStore(this.config.constants);
64
+ this.enumRegistry = new enum_registry_1.EnumRegistry((key, vars) => this.safeTranslate(core_component_id_1.CoreI18nComponentId, key, vars));
65
+ this.instanceKey = options?.instanceKey || I18nEngine.DEFAULT_KEY;
66
+ // Create context
67
+ I18nEngine.contextManager.create(this.instanceKey, this.config.defaultLanguage);
68
+ // Register instance
69
+ if (options?.registerInstance !== false) {
70
+ if (I18nEngine.instances.has(this.instanceKey)) {
71
+ throw i18n_error_1.I18nError.instanceExists(this.instanceKey);
72
+ }
73
+ I18nEngine.instances.set(this.instanceKey, this);
74
+ if (options?.setAsDefault !== false || !I18nEngine.defaultKey) {
75
+ I18nEngine.defaultKey = this.instanceKey;
76
+ }
77
+ }
78
+ }
79
+ /**
80
+ * Registers a translation component configuration.
81
+ * @param config - Component configuration object.
82
+ * @returns ValidationResult containing any warnings or errors.
83
+ */
84
+ register(config) {
85
+ (0, validation_1.validateComponentId)(config.id);
86
+ this.registerComponentMetadata(config);
87
+ return this.componentStore.register(config);
88
+ }
89
+ /**
90
+ * Registers a component if not already registered.
91
+ * @param config - Component configuration object.
92
+ * @returns ValidationResult containing any warnings or errors.
93
+ */
94
+ registerIfNotExists(config) {
95
+ if (this.hasComponent(config.id)) {
96
+ return { isValid: true, errors: [], warnings: [] };
97
+ }
98
+ return this.register(config);
99
+ }
100
+ /**
101
+ * Internal: Builds metadata lookup maps from component config.
102
+ * @param config - Component configuration object.
103
+ */
104
+ registerComponentMetadata(config) {
105
+ const componentId = config.id;
106
+ const aliases = config.aliases || [];
107
+ // These properties may exist on extended config types
108
+ // Use type-safe property access with index signature
109
+ const configWithOptional = config;
110
+ const enumName = configWithOptional.enumName;
111
+ const enumObject = configWithOptional.enumObject;
112
+ const aliasSet = new Set();
113
+ if (componentId)
114
+ aliasSet.add(componentId);
115
+ if (enumName)
116
+ aliasSet.add(enumName);
117
+ aliases.forEach((alias) => {
118
+ if (alias)
119
+ aliasSet.add(alias);
120
+ });
121
+ aliasSet.forEach((alias) => {
122
+ const trimmed = alias.trim();
123
+ if (trimmed.length > 0) {
124
+ this.aliasToComponent.set(trimmed, componentId);
125
+ }
126
+ });
127
+ if (!this.componentKeyLookup.has(componentId)) {
128
+ this.componentKeyLookup.set(componentId, new Map());
129
+ }
130
+ const keyMap = this.componentKeyLookup.get(componentId);
131
+ const addKeyVariant = (aliasKey, canonicalKey) => {
132
+ if (!aliasKey || !canonicalKey)
133
+ return;
134
+ keyMap.set(aliasKey, canonicalKey);
135
+ const normalized = this.normalizeLegacyKey(aliasKey);
136
+ if (normalized && normalized !== aliasKey) {
137
+ keyMap.set(normalized, canonicalKey);
138
+ }
139
+ };
140
+ // Get string keys from the strings object
141
+ const firstLang = Object.keys(config.strings)[0];
142
+ if (firstLang) {
143
+ Object.keys(config.strings[firstLang]).forEach((key) => {
144
+ addKeyVariant(key, key);
145
+ });
146
+ }
147
+ if (enumObject) {
148
+ Object.entries(enumObject).forEach(([enumKey, enumValue]) => {
149
+ if (typeof enumValue === 'string') {
150
+ addKeyVariant(enumKey, enumValue);
151
+ }
152
+ });
153
+ }
154
+ }
155
+ /**
156
+ * Internal: Normalizes legacy keys into snake_case lowercased.
157
+ * @param rawKey - The raw key string to normalize.
158
+ * @returns Normalized key or null if empty.
159
+ */
160
+ normalizeLegacyKey(rawKey) {
161
+ if (!rawKey)
162
+ return null;
163
+ const normalized = rawKey
164
+ .replace(/[-\s]+/g, '_')
165
+ .replace(/([a-z0-9])([A-Z])/g, '$1_$2')
166
+ .replace(/__+/g, '_')
167
+ .toLowerCase();
168
+ return normalized.length > 0 ? normalized : null;
169
+ }
170
+ /**
171
+ * Internal: Resolves the component prefix and key to actual IDs.
172
+ * @param prefix - Component or enum alias.
173
+ * @param rawKey - Raw translation key.
174
+ * @returns Object containing resolved componentId and stringKey.
175
+ */
176
+ resolveComponentAndKey(prefix, rawKey) {
177
+ const componentId = this.aliasToComponent.get(prefix) ?? prefix;
178
+ const keyLookup = this.componentKeyLookup.get(componentId);
179
+ if (!keyLookup) {
180
+ return { componentId, stringKey: rawKey };
181
+ }
182
+ const directMatch = keyLookup.get(rawKey);
183
+ if (directMatch) {
184
+ return { componentId, stringKey: directMatch };
185
+ }
186
+ const normalized = this.normalizeLegacyKey(rawKey);
187
+ if (normalized) {
188
+ const normalizedMatch = keyLookup.get(normalized);
189
+ if (normalizedMatch) {
190
+ return { componentId, stringKey: normalizedMatch };
191
+ }
192
+ }
193
+ return { componentId, stringKey: rawKey };
194
+ }
195
+ /**
196
+ * Updates translation strings for a component.
197
+ * @param componentId - ID of the component to update.
198
+ * @param strings - Language-keyed string records.
199
+ * @returns ValidationResult containing any warnings or errors.
200
+ */
201
+ updateStrings(componentId, strings) {
202
+ return this.componentStore.update(componentId, strings);
203
+ }
204
+ /**
205
+ * Checks if a component is registered.
206
+ * @param componentId - ID of the component.
207
+ * @returns True if the component exists.
208
+ */
209
+ hasComponent(componentId) {
210
+ return this.componentStore.has(componentId);
211
+ }
212
+ /**
213
+ * Retrieves all registered component configs.
214
+ * @returns Array of ComponentConfig.
215
+ */
216
+ getComponents() {
217
+ return this.componentStore.getAll();
218
+ }
219
+ /**
220
+ * Translates a key for a component in a given or current language.
221
+ * @param componentId - ID of the component.
222
+ * @param key - Translation key.
223
+ * @param variables - Optional variables for template.
224
+ * @param language - Language code to translate into.
225
+ * @returns Translated string.
226
+ */
227
+ translate(componentId, key, variables, language) {
228
+ const lang = language ||
229
+ I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
230
+ const combinedVars = this.buildCombinedVariables(variables);
231
+ return this.componentStore.translate(componentId, key, combinedVars, lang);
232
+ }
233
+ /**
234
+ * Safely translates a key, returning a placeholder for missing translations.
235
+ * @param componentId - ID of the component.
236
+ * @param key - Translation key.
237
+ * @param variables - Optional variables for template.
238
+ * @param language - Language code to translate into.
239
+ * @returns Safe translated string.
240
+ */
241
+ safeTranslate(componentId, key, variables, language) {
242
+ const lang = language ||
243
+ I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
244
+ const combinedVars = this.buildCombinedVariables(variables);
245
+ return this.componentStore.safeTranslate(componentId, key, combinedVars, lang);
246
+ }
247
+ /**
248
+ * Processes a translation template, replacing component and variable placeholders.
249
+ * @param template - Template string containing {{component.key}} and {variable}.
250
+ * @param variables - Optional variables for substitution.
251
+ * @param language - Language code to translate into.
252
+ * @returns Processed template string.
253
+ * @throws {I18nError} If template length exceeds limits.
254
+ */
255
+ t(template, variables, language) {
256
+ (0, validation_1.validateTemplateLength)(template);
257
+ const lang = language ||
258
+ I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
259
+ // Build combined variables: constants + context + provided (provided overrides all)
260
+ const combinedVars = this.buildCombinedVariables(variables);
261
+ // Replace {{component.key}} or {{EnumName.key}} patterns with alias support
262
+ // Limited pattern to prevent ReDoS: max 100 chars between braces
263
+ let result = template.replace(/\{\{([^}]{1,100})\}\}/g, (match, pattern) => {
264
+ const parts = pattern.split('.');
265
+ if (parts.length === 2) {
266
+ const [rawPrefix, rawKey] = parts;
267
+ const prefix = rawPrefix.trim();
268
+ const key = rawKey.trim();
269
+ // Always pass combined variables to translations
270
+ // The translation will use them if the string has placeholders
271
+ // Resolve aliases and enum names to actual component IDs
272
+ const { componentId, stringKey } = this.resolveComponentAndKey(prefix, key);
273
+ return this.safeTranslate(componentId, stringKey, combinedVars, lang);
274
+ }
275
+ return match;
276
+ });
277
+ // Replace {variable} patterns with combined variables
278
+ // Limited pattern to prevent ReDoS: max 50 chars for variable names
279
+ result = result.replace(/\{(\w{1,50})\}/g, (match, varName) => {
280
+ return combinedVars[varName] !== undefined
281
+ ? String(combinedVars[varName])
282
+ : match;
283
+ });
284
+ return result;
285
+ }
286
+ /**
287
+ * Internal: Combines constants, context, and provided variables for translation.
288
+ * @param variables - Optional overrides for context and constants.
289
+ * @returns Combined variables record.
290
+ */
291
+ buildCombinedVariables(variables) {
292
+ if (variables) {
293
+ (0, safe_object_1.validateObjectKeys)(variables);
294
+ }
295
+ const combined = (0, safe_object_1.createSafeObject)();
296
+ // 1. Start with constants from config
297
+ if (this.config.constants) {
298
+ // Extract values from any wrapper objects in constants
299
+ for (const [key, value] of Object.entries(this.config.constants)) {
300
+ combined[key] = this.extractValue(value);
301
+ }
302
+ }
303
+ // 2. Add context variables (timezone, currency, language, etc.)
304
+ // GlobalActiveContext is optional and may not be available in all environments
305
+ try {
306
+ // Check if GlobalActiveContext is available in global scope
307
+ const GlobalActiveContext = globalThis.GlobalActiveContext;
308
+ if (GlobalActiveContext &&
309
+ typeof GlobalActiveContext.getInstance === 'function') {
310
+ const context = GlobalActiveContext.getInstance()?.context;
311
+ if (context) {
312
+ // Add context variables
313
+ combined['language'] = context.language;
314
+ combined['adminLanguage'] = context.adminLanguage;
315
+ combined['currentContext'] = context.currentContext;
316
+ if (context.currencyCode) {
317
+ // Extract value from CurrencyCode object
318
+ const currencyValue = this.extractValue(context.currencyCode);
319
+ combined['currencyCode'] = currencyValue;
320
+ combined['currency'] = currencyValue;
321
+ }
322
+ if (context.timezone) {
323
+ // Extract value from Timezone object
324
+ const timezoneValue = this.extractValue(context.timezone);
325
+ combined['timezone'] = timezoneValue;
326
+ combined['userTimezone'] = timezoneValue;
327
+ }
328
+ if (context.adminTimezone) {
329
+ // Extract value from Timezone object
330
+ combined['adminTimezone'] = this.extractValue(context.adminTimezone);
331
+ }
332
+ }
333
+ }
334
+ }
335
+ catch (error) {
336
+ // GlobalActiveContext not available or not initialized - continue without context vars
337
+ }
338
+ // 3. Override with provided variables (highest priority)
339
+ // Also extract values from any CurrencyCode or Timezone objects
340
+ if (variables) {
341
+ for (const [key, value] of Object.entries(variables)) {
342
+ if (!['__proto__', 'constructor', 'prototype'].includes(key)) {
343
+ combined[key] = this.extractValue(value);
344
+ }
345
+ }
346
+ }
347
+ return combined;
348
+ }
349
+ /**
350
+ * Internal: Extracts primitive or object 'value' fields, handling CurrencyCode and Timezone.
351
+ * @param value - Value or wrapper object.
352
+ * @returns Extracted primitive value.
353
+ */
354
+ extractValue(value) {
355
+ if (value instanceof currency_1.CurrencyCode)
356
+ return value.value;
357
+ if (value instanceof timezone_1.Timezone)
358
+ return value.value;
359
+ if (value &&
360
+ typeof value === 'object' &&
361
+ 'value' in value &&
362
+ typeof value.value !== 'function') {
363
+ return value.value;
364
+ }
365
+ // Return as-is for primitives and other objects
366
+ return value;
367
+ }
368
+ /**
369
+ * Registers a language in the global LanguageRegistry.
370
+ * @param language - LanguageDefinition to register.
371
+ */
372
+ registerLanguage(language) {
373
+ language_registry_1.LanguageRegistry.register(language);
374
+ }
375
+ /**
376
+ * Sets the current translation language for this instance.
377
+ * @param language - Language code to set.
378
+ * @throws {I18nError} If the language is not registered.
379
+ */
380
+ setLanguage(language) {
381
+ if (!language_registry_1.LanguageRegistry.has(language)) {
382
+ throw i18n_error_1.I18nError.languageNotFound(language);
383
+ }
384
+ I18nEngine.contextManager.setLanguage(this.instanceKey, language);
385
+ }
386
+ /**
387
+ * Sets the current admin translation language for this instance.
388
+ * @param language - Language code to set.
389
+ * @throws {I18nError} If the language is not registered.
390
+ */
391
+ setAdminLanguage(language) {
392
+ if (!language_registry_1.LanguageRegistry.has(language)) {
393
+ throw i18n_error_1.I18nError.languageNotFound(language);
394
+ }
395
+ I18nEngine.contextManager.setAdminLanguage(this.instanceKey, language);
396
+ }
397
+ /**
398
+ * Retrieves all registered languages.
399
+ * @returns Array of LanguageDefinition.
400
+ */
401
+ getLanguages() {
402
+ return language_registry_1.LanguageRegistry.getAll();
403
+ }
404
+ /**
405
+ * Checks if a language is registered in the global registry.
406
+ * @param language - Language code to check.
407
+ * @returns True if the language exists.
408
+ */
409
+ hasLanguage(language) {
410
+ return language_registry_1.LanguageRegistry.has(language);
411
+ }
412
+ /**
413
+ * Merges new constants into existing config constants.
414
+ * @param constants - Key-value constants to merge.
415
+ */
416
+ mergeConstants(constants) {
417
+ (0, safe_object_1.validateObjectKeys)(constants);
418
+ (0, safe_object_1.safeAssign)(this.config.constants, constants);
419
+ }
420
+ /**
421
+ * Updates config constants and componentStore constants to new values.
422
+ * @param constants - New constants record.
423
+ */
424
+ updateConstants(constants) {
425
+ (0, safe_object_1.validateObjectKeys)(constants);
426
+ this.config.constants = constants;
427
+ this.componentStore.setConstants(constants);
428
+ }
429
+ /**
430
+ * Switches translation context to admin.
431
+ */
432
+ switchToAdmin() {
433
+ I18nEngine.contextManager.switchToAdmin(this.instanceKey);
434
+ }
435
+ /**
436
+ * Switches translation context to user.
437
+ */
438
+ switchToUser() {
439
+ I18nEngine.contextManager.switchToUser(this.instanceKey);
440
+ }
441
+ /**
442
+ * Retrieves the current language for this instance.
443
+ * @returns Current language code.
444
+ */
445
+ getCurrentLanguage() {
446
+ return I18nEngine.contextManager.getCurrentLanguage(this.instanceKey);
447
+ }
448
+ /**
449
+ * Registers an enum for translation.
450
+ * @param enumObj - Enum object to register.
451
+ * @param translations - Language keyed translations for enum values.
452
+ * @param enumName - Name to identify the enum in templates.
453
+ */
454
+ registerEnum(enumObj, translations, enumName) {
455
+ this.enumRegistry.register(enumObj, translations, enumName);
456
+ }
457
+ /**
458
+ * Translates an enum value for the current or specified language.
459
+ * @param enumObj - Enum object.
460
+ * @param value - Enum value to translate.
461
+ * @param language - Optional language code.
462
+ * @returns Translated enum string.
463
+ */
464
+ translateEnum(enumObj, value, language) {
465
+ const lang = language || this.getCurrentLanguage();
466
+ return this.enumRegistry.translate(enumObj, value, lang);
467
+ }
468
+ /**
469
+ * Checks if an enum is registered.
470
+ * @param enumObj - Enum object to check.
471
+ * @returns True if the enum is registered.
472
+ */
473
+ hasEnum(enumObj) {
474
+ return this.enumRegistry.has(enumObj);
475
+ }
476
+ /**
477
+ * Validates all registered components for missing translations or warnings.
478
+ * @returns ValidationResult containing errors and warnings.
479
+ */
480
+ validate() {
481
+ const errors = [];
482
+ const warnings = [];
483
+ for (const component of this.componentStore.getAll()) {
484
+ const result = this.componentStore.register(component);
485
+ errors.push(...result.errors);
486
+ warnings.push(...result.warnings);
487
+ }
488
+ return {
489
+ isValid: errors.length === 0,
490
+ errors,
491
+ warnings,
492
+ };
493
+ }
494
+ /**
495
+ * Creates a new engine instance with the given key, languages, and config.
496
+ * @param key - Unique key for the new instance.
497
+ * @param languages - Array of language definitions to register.
498
+ * @param config - Optional engine configuration.
499
+ * @returns Newly created I18nEngine instance.
500
+ */
501
+ static createInstance(key, languages, config) {
502
+ return new I18nEngine(languages, config, {
503
+ instanceKey: key,
504
+ registerInstance: true,
505
+ setAsDefault: false,
506
+ });
507
+ }
508
+ /**
509
+ * Registers or retrieves an existing engine instance by key.
510
+ * @param key - Unique key for the instance.
511
+ * @param languages - Array of language definitions.
512
+ * @param config - Optional engine configuration.
513
+ * @returns Existing or newly created I18nEngine instance.
514
+ */
515
+ static registerIfNotExists(key, languages, config) {
516
+ if (I18nEngine.hasInstance(key)) {
517
+ return I18nEngine.getInstance(key);
518
+ }
519
+ return I18nEngine.createInstance(key, languages, config);
520
+ }
521
+ /**
522
+ * Retrieves an engine instance by key or default if none provided.
523
+ * @param key - Optional instance key.
524
+ * @returns I18nEngine instance.
525
+ * @throws {I18nError} If instance not found.
526
+ */
527
+ static getInstance(key) {
528
+ const instanceKey = key || I18nEngine.defaultKey || I18nEngine.DEFAULT_KEY;
529
+ const instance = I18nEngine.instances.get(instanceKey);
530
+ if (!instance) {
531
+ throw i18n_error_1.I18nError.instanceNotFound(instanceKey);
532
+ }
533
+ return instance;
534
+ }
535
+ /**
536
+ * Checks if an engine instance exists.
537
+ * @param key - Optional instance key.
538
+ * @returns True if instance exists.
539
+ */
540
+ static hasInstance(key) {
541
+ const instanceKey = key || I18nEngine.DEFAULT_KEY;
542
+ return I18nEngine.instances.has(instanceKey);
543
+ }
544
+ /**
545
+ * Removes an engine instance by key.
546
+ * @param key - Optional instance key.
547
+ * @returns True if the instance was removed.
548
+ */
549
+ static removeInstance(key) {
550
+ const instanceKey = key || I18nEngine.DEFAULT_KEY;
551
+ const removed = I18nEngine.instances.delete(instanceKey);
552
+ if (removed && I18nEngine.defaultKey === instanceKey) {
553
+ I18nEngine.defaultKey = null;
554
+ }
555
+ return removed;
556
+ }
557
+ /**
558
+ * Resets all engine instances and clears global registries.
559
+ */
560
+ static resetAll() {
561
+ I18nEngine.instances.clear();
562
+ I18nEngine.defaultKey = null;
563
+ I18nEngine.contextManager.clear();
564
+ language_registry_1.LanguageRegistry.clear();
565
+ }
566
+ }
567
+ exports.I18nEngine = I18nEngine;
568
+ //# sourceMappingURL=i18n-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-engine.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4DAA2D;AAC3D,qDAAiD;AAQjD,gDAAiD;AACjD,sDAI8B;AAC9B,gDAA6C;AAC7C,oDAG6B;AAC7B,uDAAmD;AACnD,uDAAmD;AACnD,mDAA+C;AAC/C,2DAAuD;AAEvD;;;GAGG;AACH,MAAa,UAAU;IACb,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,MAAM,CAAC,UAAU,GAAkB,IAAI,CAAC;IACxC,MAAM,CAAU,WAAW,GAAG,SAAS,CAAC;IACxC,MAAM,CAAU,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;IAE7C,cAAc,CAAiB;IAC/B,YAAY,CAAe;IAC3B,WAAW,CAAS;IACpB,MAAM,CAAyB;IAC/B,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE7E;;;;;;;;;;;OAWG;IACH,YACE,SAAwC,EACxC,SAAuB,EAAE,EACzB,OAIC;QAED,qBAAqB;QACrB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,oCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,oCAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG;YACZ,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,WAAW,CAAC,EAAE;YACzD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,WAAW,CAAC,EAAE;YAC3D,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,UAAU,EAAE;gBACV,sBAAsB,EAAE,KAAK;gBAC7B,wBAAwB,EAAE,IAAI;gBAC9B,GAAG,MAAM,CAAC,UAAU;aACrB;SACF,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACjD,IAAI,CAAC,aAAa,CAAC,uCAAmB,EAAE,GAAG,EAAE,IAAI,CAAC,CACnD,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC;QAElE,iBAAiB;QACjB,UAAU,CAAC,cAAc,CAAC,MAAM,CAC9B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CAAC,eAAe,CAC5B,CAAC;QAEF,oBAAoB;QACpB,IAAI,OAAO,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,MAAM,sBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC;YACD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAEjD,IAAI,OAAO,EAAE,YAAY,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC9D,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,MAAuB;QAC9B,IAAA,gCAAmB,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,MAAuB;QACzC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAAC,MAAuB;QACvD,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,sDAAsD;QACtD,qDAAqD;QACrD,MAAM,kBAAkB,GAAG,MAG1B,CAAC;QACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAI,WAAW;YAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,QAAQ;YAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,IAAI,KAAK;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;QAEzD,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,YAAoB,EAAE,EAAE;YAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY;gBAAE,OAAO;YACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,0CAA0C;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC7D,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE;gBAC1D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAClC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CAAC,MAAc;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM;aACtB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;aACtC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,WAAW,EAAE,CAAC;QACjB,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAC5B,MAAc,EACd,MAAc;QAEd,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,aAAa,CACX,WAAmB,EACnB,OAA+C;QAE/C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,WAAmB,EACnB,GAAW,EACX,SAA+B,EAC/B,QAAiB;QAEjB,MAAM,IAAI,GACR,QAAQ;YACR,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CACX,WAAmB,EACnB,GAAW,EACX,SAA+B,EAC/B,QAAiB;QAEjB,MAAM,IAAI,GACR,QAAQ;YACR,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CACtC,WAAW,EACX,GAAG,EACH,YAAY,EACZ,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,CAAC,CACC,QAAgB,EAChB,SAA+B,EAC/B,QAAiB;QAEjB,IAAA,mCAAsB,EAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,IAAI,GACR,QAAQ;YACR,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjE,oFAAoF;QACpF,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAE5D,4EAA4E;QAC5E,iEAAiE;QACjE,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAC3B,wBAAwB,EACxB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACjB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;gBAClC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE1B,iDAAiD;gBACjD,+DAA+D;gBAC/D,yDAAyD;gBACzD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAC5D,MAAM,EACN,GAAG,CACJ,CAAC;gBACF,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;QAEF,sDAAsD;QACtD,oEAAoE;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5D,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,SAAS;gBACxC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,SAA+B;QAE/B,IAAI,SAAS,EAAE,CAAC;YACd,IAAA,gCAAkB,EAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,QAAQ,GAAwB,IAAA,8BAAgB,GAAE,CAAC;QAEzD,sCAAsC;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,uDAAuD;YACvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,+EAA+E;QAC/E,IAAI,CAAC;YACH,4DAA4D;YAC5D,MAAM,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;YAE3D,IACE,mBAAmB;gBACnB,OAAO,mBAAmB,CAAC,WAAW,KAAK,UAAU,EACrD,CAAC;gBACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC;gBAC3D,IAAI,OAAO,EAAE,CAAC;oBACZ,wBAAwB;oBACxB,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACxC,QAAQ,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;oBAClD,QAAQ,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;oBAEpD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;wBACzB,yCAAyC;wBACzC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAC9D,QAAQ,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC;wBACzC,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;oBACvC,CAAC;oBAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACrB,qCAAqC;wBACrC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC1D,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;wBACrC,QAAQ,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC;oBAC3C,CAAC;oBAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC1B,qCAAqC;wBACrC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,YAAY,CAC3C,OAAO,CAAC,aAAa,CACtB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uFAAuF;QACzF,CAAC;QAED,yDAAyD;QACzD,gEAAgE;QAChE,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,KAAU;QAC7B,IAAI,KAAK,YAAY,uBAAY;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QACtD,IAAI,KAAK,YAAY,mBAAQ;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QAClD,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,IAAI,KAAK;YAChB,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EACjC,CAAC;YACD,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,gDAAgD;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAA4B;QAC3C,oCAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,oCAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,sBAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,IAAI,CAAC,oCAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,sBAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,oCAAgB,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAgB;QAC1B,OAAO,oCAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,SAA8B;QAC3C,IAAA,gCAAkB,EAAC,SAAS,CAAC,CAAC;QAC9B,IAAA,wBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,SAA8B;QAC5C,IAAA,gCAAkB,EAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,aAAa;QACX,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,YAAY;QACV,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,YAAY,CACV,OAA8B,EAC9B,YAAmD,EACnD,QAAgB;QAEhB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CACX,OAA8B,EAC9B,KAAY,EACZ,QAAiB;QAEjB,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAY;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACnB,GAAW,EACX,SAAwC,EACxC,MAAqB;QAErB,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE;YACvC,WAAW,EAAE,GAAG;YAChB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CACxB,GAAW,EACX,SAAwC,EACxC,MAAqB;QAErB,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAY;QAC7B,MAAM,WAAW,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC;QAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,sBAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAY;QAC7B,MAAM,WAAW,GAAG,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC;QAClD,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,GAAY;QAChC,MAAM,WAAW,GAAG,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,UAAU,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;YACrD,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7B,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,oCAAgB,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;;AAnqBH,gCAoqBC"}
@@ -4,13 +4,10 @@
4
4
  * Note: Using regular exports for classes and type-only exports for interfaces
5
5
  * to minimize runtime circular dependencies while maintaining type availability.
6
6
  */
7
-
8
- // Export classes (runtime dependencies)
9
7
  export { ComponentStore } from './component-store';
10
8
  export { ContextManager } from './context-manager';
11
9
  export { EnumRegistry } from './enum-registry';
12
10
  export { I18nEngine } from './i18n-engine';
13
11
  export { LanguageRegistry } from './language-registry';
14
-
15
- // Export types only (no runtime dependency)
16
12
  export type { Context } from './context-manager';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Core exports
4
+ *
5
+ * Note: Using regular exports for classes and type-only exports for interfaces
6
+ * to minimize runtime circular dependencies while maintaining type availability.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LanguageRegistry = exports.I18nEngine = exports.EnumRegistry = exports.ContextManager = exports.ComponentStore = void 0;
10
+ // Export classes (runtime dependencies)
11
+ var component_store_1 = require("./component-store");
12
+ Object.defineProperty(exports, "ComponentStore", { enumerable: true, get: function () { return component_store_1.ComponentStore; } });
13
+ var context_manager_1 = require("./context-manager");
14
+ Object.defineProperty(exports, "ContextManager", { enumerable: true, get: function () { return context_manager_1.ContextManager; } });
15
+ var enum_registry_1 = require("./enum-registry");
16
+ Object.defineProperty(exports, "EnumRegistry", { enumerable: true, get: function () { return enum_registry_1.EnumRegistry; } });
17
+ var i18n_engine_1 = require("./i18n-engine");
18
+ Object.defineProperty(exports, "I18nEngine", { enumerable: true, get: function () { return i18n_engine_1.I18nEngine; } });
19
+ var language_registry_1 = require("./language-registry");
20
+ Object.defineProperty(exports, "LanguageRegistry", { enumerable: true, get: function () { return language_registry_1.LanguageRegistry; } });
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wCAAwC;AACxC,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA"}