@digitaldefiance/i18n-lib 3.8.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +182 -0
  3. package/package.json +12 -4
  4. package/src/{active-context.d.ts → active-context.ts} +0 -1
  5. package/src/builders/i18n-builder.ts +82 -0
  6. package/src/builders/{index.d.ts → index.ts} +1 -1
  7. package/src/component-definition.ts +11 -0
  8. package/src/component-registration.ts +29 -0
  9. package/src/component-registry.ts +432 -0
  10. package/src/context-error-type.ts +7 -0
  11. package/src/core/component-store.ts +241 -0
  12. package/src/core/context-manager.ts +113 -0
  13. package/src/core/enum-registry.ts +106 -0
  14. package/src/core/i18n-engine.ts +710 -0
  15. package/src/core/{index.d.ts → index.ts} +4 -1
  16. package/src/core/language-registry.ts +345 -0
  17. package/src/{core-component-id.d.ts → core-component-id.ts} +1 -2
  18. package/src/core-i18n.ts +270 -0
  19. package/src/core-plugin-factory.ts +111 -0
  20. package/src/core-string-key.ts +59 -0
  21. package/src/create-translation-adapter.ts +93 -0
  22. package/src/enum-registry.ts +152 -0
  23. package/src/errors/{base.d.ts → base.ts} +1 -1
  24. package/src/errors/context-error.ts +122 -0
  25. package/src/errors/enhanced-error-base.ts +260 -0
  26. package/src/errors/handleable.ts +152 -0
  27. package/src/errors/i18n-error.ts +494 -0
  28. package/src/errors/{index.d.ts → index.ts} +4 -1
  29. package/src/errors/simple-typed-error.ts +81 -0
  30. package/src/errors/{translatable-exports.d.ts → translatable-exports.ts} +1 -1
  31. package/src/errors/translatable-generic.ts +245 -0
  32. package/src/errors/translatable-handleable-generic.ts +222 -0
  33. package/src/errors/translatable.ts +138 -0
  34. package/src/errors/typed-handleable.ts +138 -0
  35. package/src/errors/typed.ts +617 -0
  36. package/src/gender/{gender-categories.d.ts → gender-categories.ts} +6 -2
  37. package/src/gender/gender-resolver.ts +40 -0
  38. package/src/gender/{index.d.ts → index.ts} +0 -1
  39. package/src/global-active-context.ts +266 -0
  40. package/src/icu/ast.ts +56 -0
  41. package/src/icu/compiler.ts +96 -0
  42. package/src/icu/formatter-registry.ts +36 -0
  43. package/src/icu/formatters/base-formatter.ts +8 -0
  44. package/src/icu/formatters/date-formatter.ts +30 -0
  45. package/src/icu/formatters/number-formatter.ts +32 -0
  46. package/src/icu/formatters/plural-formatter.ts +12 -0
  47. package/src/icu/formatters/select-formatter.ts +7 -0
  48. package/src/icu/formatters/selectordinal-formatter.ts +17 -0
  49. package/src/icu/formatters/time-formatter.ts +30 -0
  50. package/src/icu/helpers.ts +34 -0
  51. package/src/icu/parser.ts +242 -0
  52. package/src/icu/runtime.ts +37 -0
  53. package/src/icu/tokenizer.ts +212 -0
  54. package/src/icu/validator.ts +163 -0
  55. package/src/{index.d.ts → index.ts} +38 -6
  56. package/src/interfaces/active-context.interface.ts +41 -0
  57. package/src/interfaces/component-config.interface.ts +17 -0
  58. package/src/interfaces/engine-config.interface.ts +22 -0
  59. package/src/interfaces/global-active-context.ts +39 -0
  60. package/src/interfaces/handleable-error-options.ts +13 -0
  61. package/src/interfaces/handleable.ts +20 -0
  62. package/src/interfaces/i18n-engine.interface.ts +57 -0
  63. package/src/interfaces/{index.d.ts → index.ts} +1 -1
  64. package/src/interfaces/language-definition.interface.ts +17 -0
  65. package/src/interfaces/translation-options.interface.ts +15 -0
  66. package/src/interfaces/validation-result.interface.ts +24 -0
  67. package/src/language-codes.ts +40 -0
  68. package/src/language-definition.ts +13 -0
  69. package/src/plugin-i18n-engine.ts +707 -0
  70. package/src/pluralization/{index.d.ts → index.ts} +1 -1
  71. package/src/pluralization/language-plural-map.ts +186 -0
  72. package/src/pluralization/{plural-categories.d.ts → plural-categories.ts} +5 -3
  73. package/src/pluralization/plural-rules.ts +228 -0
  74. package/src/registry-config.ts +16 -0
  75. package/src/registry-error-type.ts +19 -0
  76. package/src/registry-error.ts +100 -0
  77. package/src/strict-types.ts +35 -0
  78. package/src/strings/de.ts +75 -0
  79. package/src/strings/en-GB.ts +74 -0
  80. package/src/strings/en-US.ts +74 -0
  81. package/src/strings/es.ts +74 -0
  82. package/src/strings/fr.ts +75 -0
  83. package/src/strings/ja.ts +73 -0
  84. package/src/strings/uk.ts +73 -0
  85. package/src/strings/zh-CN.ts +72 -0
  86. package/src/template.ts +72 -0
  87. package/src/translation-engine.ts +18 -0
  88. package/src/translation-request.ts +12 -0
  89. package/src/translation-response.ts +8 -0
  90. package/src/types/engine.ts +55 -0
  91. package/src/types/{index.d.ts → index.ts} +1 -1
  92. package/src/types/{plural-types.d.ts → plural-types.ts} +29 -3
  93. package/src/{types.d.ts → types.ts} +72 -21
  94. package/src/utils/currency.ts +141 -0
  95. package/src/utils/html-escape.ts +55 -0
  96. package/src/utils/{index.d.ts → index.ts} +0 -1
  97. package/src/utils/lru-cache.ts +76 -0
  98. package/src/utils/{plural-helpers.d.ts → plural-helpers.ts} +14 -4
  99. package/src/utils/{safe-object.js → safe-object.ts} +37 -34
  100. package/src/utils/string-utils.ts +77 -0
  101. package/src/utils/timezone.ts +76 -0
  102. package/src/utils/validation.ts +66 -0
  103. package/src/utils.ts +215 -0
  104. package/src/validation/{index.d.ts → index.ts} +0 -1
  105. package/src/validation/plural-validator.ts +168 -0
  106. package/src/validation-config.ts +11 -0
  107. package/src/validation-result.ts +12 -0
  108. package/src/active-context.d.ts.map +0 -1
  109. package/src/active-context.js +0 -3
  110. package/src/active-context.js.map +0 -1
  111. package/src/builders/i18n-builder.d.ts +0 -26
  112. package/src/builders/i18n-builder.d.ts.map +0 -1
  113. package/src/builders/i18n-builder.js +0 -70
  114. package/src/builders/i18n-builder.js.map +0 -1
  115. package/src/builders/index.d.ts.map +0 -1
  116. package/src/builders/index.js +0 -8
  117. package/src/builders/index.js.map +0 -1
  118. package/src/component-definition.d.ts +0 -12
  119. package/src/component-definition.d.ts.map +0 -1
  120. package/src/component-definition.js +0 -3
  121. package/src/component-definition.js.map +0 -1
  122. package/src/component-registration.d.ts +0 -22
  123. package/src/component-registration.d.ts.map +0 -1
  124. package/src/component-registration.js +0 -3
  125. package/src/component-registration.js.map +0 -1
  126. package/src/component-registry.d.ts +0 -102
  127. package/src/component-registry.d.ts.map +0 -1
  128. package/src/component-registry.js +0 -282
  129. package/src/component-registry.js.map +0 -1
  130. package/src/context-error-type.d.ts +0 -8
  131. package/src/context-error-type.d.ts.map +0 -1
  132. package/src/context-error-type.js +0 -12
  133. package/src/context-error-type.js.map +0 -1
  134. package/src/core/component-store.d.ts +0 -93
  135. package/src/core/component-store.d.ts.map +0 -1
  136. package/src/core/component-store.js +0 -198
  137. package/src/core/component-store.js.map +0 -1
  138. package/src/core/context-manager.d.ts +0 -72
  139. package/src/core/context-manager.d.ts.map +0 -1
  140. package/src/core/context-manager.js +0 -98
  141. package/src/core/context-manager.js.map +0 -1
  142. package/src/core/enum-registry.d.ts +0 -48
  143. package/src/core/enum-registry.d.ts.map +0 -1
  144. package/src/core/enum-registry.js +0 -85
  145. package/src/core/enum-registry.js.map +0 -1
  146. package/src/core/i18n-engine.d.ts +0 -241
  147. package/src/core/i18n-engine.d.ts.map +0 -1
  148. package/src/core/i18n-engine.js +0 -568
  149. package/src/core/i18n-engine.js.map +0 -1
  150. package/src/core/index.d.ts.map +0 -1
  151. package/src/core/index.js +0 -21
  152. package/src/core/index.js.map +0 -1
  153. package/src/core/language-registry.d.ts +0 -180
  154. package/src/core/language-registry.d.ts.map +0 -1
  155. package/src/core/language-registry.js +0 -298
  156. package/src/core/language-registry.js.map +0 -1
  157. package/src/core-component-id.d.ts.map +0 -1
  158. package/src/core-component-id.js +0 -9
  159. package/src/core-component-id.js.map +0 -1
  160. package/src/core-i18n.d.ts +0 -69
  161. package/src/core-i18n.d.ts.map +0 -1
  162. package/src/core-i18n.js +0 -219
  163. package/src/core-i18n.js.map +0 -1
  164. package/src/core-plugin-factory.d.ts +0 -28
  165. package/src/core-plugin-factory.d.ts.map +0 -1
  166. package/src/core-plugin-factory.js +0 -80
  167. package/src/core-plugin-factory.js.map +0 -1
  168. package/src/core-string-key.d.ts +0 -52
  169. package/src/core-string-key.d.ts.map +0 -1
  170. package/src/core-string-key.js +0 -61
  171. package/src/core-string-key.js.map +0 -1
  172. package/src/create-translation-adapter.d.ts +0 -33
  173. package/src/create-translation-adapter.d.ts.map +0 -1
  174. package/src/create-translation-adapter.js +0 -72
  175. package/src/create-translation-adapter.js.map +0 -1
  176. package/src/enum-registry.d.ts +0 -65
  177. package/src/enum-registry.d.ts.map +0 -1
  178. package/src/enum-registry.js +0 -123
  179. package/src/enum-registry.js.map +0 -1
  180. package/src/errors/base.d.ts.map +0 -1
  181. package/src/errors/base.js +0 -11
  182. package/src/errors/base.js.map +0 -1
  183. package/src/errors/context-error.d.ts +0 -50
  184. package/src/errors/context-error.d.ts.map +0 -1
  185. package/src/errors/context-error.js +0 -93
  186. package/src/errors/context-error.js.map +0 -1
  187. package/src/errors/enhanced-error-base.d.ts +0 -125
  188. package/src/errors/enhanced-error-base.d.ts.map +0 -1
  189. package/src/errors/enhanced-error-base.js +0 -165
  190. package/src/errors/enhanced-error-base.js.map +0 -1
  191. package/src/errors/handleable.d.ts +0 -83
  192. package/src/errors/handleable.d.ts.map +0 -1
  193. package/src/errors/handleable.js +0 -136
  194. package/src/errors/handleable.js.map +0 -1
  195. package/src/errors/i18n-error.d.ts +0 -211
  196. package/src/errors/i18n-error.d.ts.map +0 -1
  197. package/src/errors/i18n-error.js +0 -358
  198. package/src/errors/i18n-error.js.map +0 -1
  199. package/src/errors/index.d.ts.map +0 -1
  200. package/src/errors/index.js +0 -17
  201. package/src/errors/index.js.map +0 -1
  202. package/src/errors/simple-typed-error.d.ts +0 -53
  203. package/src/errors/simple-typed-error.d.ts.map +0 -1
  204. package/src/errors/simple-typed-error.js +0 -51
  205. package/src/errors/simple-typed-error.js.map +0 -1
  206. package/src/errors/translatable-exports.d.ts.map +0 -1
  207. package/src/errors/translatable-exports.js +0 -15
  208. package/src/errors/translatable-exports.js.map +0 -1
  209. package/src/errors/translatable-generic.d.ts +0 -87
  210. package/src/errors/translatable-generic.d.ts.map +0 -1
  211. package/src/errors/translatable-generic.js +0 -139
  212. package/src/errors/translatable-generic.js.map +0 -1
  213. package/src/errors/translatable-handleable-generic.d.ts +0 -116
  214. package/src/errors/translatable-handleable-generic.d.ts.map +0 -1
  215. package/src/errors/translatable-handleable-generic.js +0 -121
  216. package/src/errors/translatable-handleable-generic.js.map +0 -1
  217. package/src/errors/translatable.d.ts +0 -63
  218. package/src/errors/translatable.d.ts.map +0 -1
  219. package/src/errors/translatable.js +0 -85
  220. package/src/errors/translatable.js.map +0 -1
  221. package/src/errors/typed-handleable.d.ts +0 -62
  222. package/src/errors/typed-handleable.d.ts.map +0 -1
  223. package/src/errors/typed-handleable.js +0 -108
  224. package/src/errors/typed-handleable.js.map +0 -1
  225. package/src/errors/typed.d.ts +0 -206
  226. package/src/errors/typed.d.ts.map +0 -1
  227. package/src/errors/typed.js +0 -458
  228. package/src/errors/typed.js.map +0 -1
  229. package/src/gender/gender-categories.d.ts.map +0 -1
  230. package/src/gender/gender-categories.js +0 -15
  231. package/src/gender/gender-categories.js.map +0 -1
  232. package/src/gender/gender-resolver.d.ts +0 -14
  233. package/src/gender/gender-resolver.d.ts.map +0 -1
  234. package/src/gender/gender-resolver.js +0 -35
  235. package/src/gender/gender-resolver.js.map +0 -1
  236. package/src/gender/index.d.ts.map +0 -1
  237. package/src/gender/index.js +0 -6
  238. package/src/gender/index.js.map +0 -1
  239. package/src/global-active-context.d.ts +0 -50
  240. package/src/global-active-context.d.ts.map +0 -1
  241. package/src/global-active-context.js +0 -185
  242. package/src/global-active-context.js.map +0 -1
  243. package/src/icu/ast.d.ts +0 -48
  244. package/src/icu/ast.d.ts.map +0 -1
  245. package/src/icu/ast.js +0 -16
  246. package/src/icu/ast.js.map +0 -1
  247. package/src/icu/compiler.d.ts +0 -16
  248. package/src/icu/compiler.d.ts.map +0 -1
  249. package/src/icu/compiler.js +0 -87
  250. package/src/icu/compiler.js.map +0 -1
  251. package/src/icu/formatter-registry.d.ts +0 -10
  252. package/src/icu/formatter-registry.d.ts.map +0 -1
  253. package/src/icu/formatter-registry.js +0 -34
  254. package/src/icu/formatter-registry.js.map +0 -1
  255. package/src/icu/formatters/base-formatter.d.ts +0 -8
  256. package/src/icu/formatters/base-formatter.d.ts.map +0 -1
  257. package/src/icu/formatters/base-formatter.js +0 -3
  258. package/src/icu/formatters/base-formatter.js.map +0 -1
  259. package/src/icu/formatters/date-formatter.d.ts +0 -5
  260. package/src/icu/formatters/date-formatter.d.ts.map +0 -1
  261. package/src/icu/formatters/date-formatter.js +0 -31
  262. package/src/icu/formatters/date-formatter.js.map +0 -1
  263. package/src/icu/formatters/number-formatter.d.ts +0 -5
  264. package/src/icu/formatters/number-formatter.d.ts.map +0 -1
  265. package/src/icu/formatters/number-formatter.js +0 -33
  266. package/src/icu/formatters/number-formatter.js.map +0 -1
  267. package/src/icu/formatters/plural-formatter.d.ts +0 -5
  268. package/src/icu/formatters/plural-formatter.d.ts.map +0 -1
  269. package/src/icu/formatters/plural-formatter.js +0 -15
  270. package/src/icu/formatters/plural-formatter.js.map +0 -1
  271. package/src/icu/formatters/select-formatter.d.ts +0 -5
  272. package/src/icu/formatters/select-formatter.d.ts.map +0 -1
  273. package/src/icu/formatters/select-formatter.js +0 -10
  274. package/src/icu/formatters/select-formatter.js.map +0 -1
  275. package/src/icu/formatters/selectordinal-formatter.d.ts +0 -5
  276. package/src/icu/formatters/selectordinal-formatter.d.ts.map +0 -1
  277. package/src/icu/formatters/selectordinal-formatter.js +0 -22
  278. package/src/icu/formatters/selectordinal-formatter.js.map +0 -1
  279. package/src/icu/formatters/time-formatter.d.ts +0 -5
  280. package/src/icu/formatters/time-formatter.d.ts.map +0 -1
  281. package/src/icu/formatters/time-formatter.js +0 -31
  282. package/src/icu/formatters/time-formatter.js.map +0 -1
  283. package/src/icu/helpers.d.ts +0 -9
  284. package/src/icu/helpers.d.ts.map +0 -1
  285. package/src/icu/helpers.js +0 -31
  286. package/src/icu/helpers.js.map +0 -1
  287. package/src/icu/parser.d.ts +0 -31
  288. package/src/icu/parser.d.ts.map +0 -1
  289. package/src/icu/parser.js +0 -203
  290. package/src/icu/parser.js.map +0 -1
  291. package/src/icu/runtime.d.ts +0 -10
  292. package/src/icu/runtime.d.ts.map +0 -1
  293. package/src/icu/runtime.js +0 -33
  294. package/src/icu/runtime.js.map +0 -1
  295. package/src/icu/tokenizer.d.ts +0 -37
  296. package/src/icu/tokenizer.d.ts.map +0 -1
  297. package/src/icu/tokenizer.js +0 -187
  298. package/src/icu/tokenizer.js.map +0 -1
  299. package/src/icu/validator.d.ts +0 -11
  300. package/src/icu/validator.d.ts.map +0 -1
  301. package/src/icu/validator.js +0 -140
  302. package/src/icu/validator.js.map +0 -1
  303. package/src/index.d.ts.map +0 -1
  304. package/src/index.js +0 -76
  305. package/src/index.js.map +0 -1
  306. package/src/interfaces/active-context.interface.d.ts +0 -36
  307. package/src/interfaces/active-context.interface.d.ts.map +0 -1
  308. package/src/interfaces/active-context.interface.js +0 -3
  309. package/src/interfaces/active-context.interface.js.map +0 -1
  310. package/src/interfaces/component-config.interface.d.ts +0 -16
  311. package/src/interfaces/component-config.interface.d.ts.map +0 -1
  312. package/src/interfaces/component-config.interface.js +0 -6
  313. package/src/interfaces/component-config.interface.js.map +0 -1
  314. package/src/interfaces/engine-config.interface.d.ts +0 -22
  315. package/src/interfaces/engine-config.interface.d.ts.map +0 -1
  316. package/src/interfaces/engine-config.interface.js +0 -6
  317. package/src/interfaces/engine-config.interface.js.map +0 -1
  318. package/src/interfaces/global-active-context.d.ts +0 -23
  319. package/src/interfaces/global-active-context.d.ts.map +0 -1
  320. package/src/interfaces/global-active-context.js +0 -3
  321. package/src/interfaces/global-active-context.js.map +0 -1
  322. package/src/interfaces/handleable-error-options.d.ts +0 -14
  323. package/src/interfaces/handleable-error-options.d.ts.map +0 -1
  324. package/src/interfaces/handleable-error-options.js +0 -3
  325. package/src/interfaces/handleable-error-options.js.map +0 -1
  326. package/src/interfaces/handleable.d.ts +0 -21
  327. package/src/interfaces/handleable.d.ts.map +0 -1
  328. package/src/interfaces/handleable.js +0 -3
  329. package/src/interfaces/handleable.js.map +0 -1
  330. package/src/interfaces/i18n-engine.interface.d.ts +0 -46
  331. package/src/interfaces/i18n-engine.interface.d.ts.map +0 -1
  332. package/src/interfaces/i18n-engine.interface.js +0 -6
  333. package/src/interfaces/i18n-engine.interface.js.map +0 -1
  334. package/src/interfaces/index.d.ts.map +0 -1
  335. package/src/interfaces/index.js +0 -7
  336. package/src/interfaces/index.js.map +0 -1
  337. package/src/interfaces/language-definition.interface.d.ts +0 -17
  338. package/src/interfaces/language-definition.interface.d.ts.map +0 -1
  339. package/src/interfaces/language-definition.interface.js +0 -6
  340. package/src/interfaces/language-definition.interface.js.map +0 -1
  341. package/src/interfaces/translation-options.interface.d.ts +0 -15
  342. package/src/interfaces/translation-options.interface.d.ts.map +0 -1
  343. package/src/interfaces/translation-options.interface.js +0 -6
  344. package/src/interfaces/translation-options.interface.js.map +0 -1
  345. package/src/interfaces/validation-result.interface.d.ts +0 -24
  346. package/src/interfaces/validation-result.interface.d.ts.map +0 -1
  347. package/src/interfaces/validation-result.interface.js +0 -6
  348. package/src/interfaces/validation-result.interface.js.map +0 -1
  349. package/src/language-codes.d.ts +0 -28
  350. package/src/language-codes.d.ts.map +0 -1
  351. package/src/language-codes.js +0 -32
  352. package/src/language-codes.js.map +0 -1
  353. package/src/language-definition.d.ts +0 -14
  354. package/src/language-definition.d.ts.map +0 -1
  355. package/src/language-definition.js +0 -3
  356. package/src/language-definition.js.map +0 -1
  357. package/src/plugin-i18n-engine.d.ts +0 -164
  358. package/src/plugin-i18n-engine.d.ts.map +0 -1
  359. package/src/plugin-i18n-engine.js +0 -493
  360. package/src/plugin-i18n-engine.js.map +0 -1
  361. package/src/pluralization/index.d.ts.map +0 -1
  362. package/src/pluralization/index.js +0 -10
  363. package/src/pluralization/index.js.map +0 -1
  364. package/src/pluralization/language-plural-map.d.ts +0 -29
  365. package/src/pluralization/language-plural-map.d.ts.map +0 -1
  366. package/src/pluralization/language-plural-map.js +0 -155
  367. package/src/pluralization/language-plural-map.js.map +0 -1
  368. package/src/pluralization/plural-categories.d.ts.map +0 -1
  369. package/src/pluralization/plural-categories.js +0 -8
  370. package/src/pluralization/plural-categories.js.map +0 -1
  371. package/src/pluralization/plural-rules.d.ts +0 -102
  372. package/src/pluralization/plural-rules.d.ts.map +0 -1
  373. package/src/pluralization/plural-rules.js +0 -263
  374. package/src/pluralization/plural-rules.js.map +0 -1
  375. package/src/registry-config.d.ts +0 -16
  376. package/src/registry-config.d.ts.map +0 -1
  377. package/src/registry-config.js +0 -3
  378. package/src/registry-config.js.map +0 -1
  379. package/src/registry-error-type.d.ts +0 -20
  380. package/src/registry-error-type.d.ts.map +0 -1
  381. package/src/registry-error-type.js +0 -24
  382. package/src/registry-error-type.js.map +0 -1
  383. package/src/registry-error.d.ts +0 -25
  384. package/src/registry-error.d.ts.map +0 -1
  385. package/src/registry-error.js +0 -63
  386. package/src/registry-error.js.map +0 -1
  387. package/src/strict-types.d.ts +0 -19
  388. package/src/strict-types.d.ts.map +0 -1
  389. package/src/strict-types.js +0 -18
  390. package/src/strict-types.js.map +0 -1
  391. package/src/strings/de.d.ts +0 -3
  392. package/src/strings/de.d.ts.map +0 -1
  393. package/src/strings/de.js +0 -57
  394. package/src/strings/de.js.map +0 -1
  395. package/src/strings/en-GB.d.ts +0 -3
  396. package/src/strings/en-GB.d.ts.map +0 -1
  397. package/src/strings/en-GB.js +0 -57
  398. package/src/strings/en-GB.js.map +0 -1
  399. package/src/strings/en-US.d.ts +0 -3
  400. package/src/strings/en-US.d.ts.map +0 -1
  401. package/src/strings/en-US.js +0 -57
  402. package/src/strings/en-US.js.map +0 -1
  403. package/src/strings/es.d.ts +0 -3
  404. package/src/strings/es.d.ts.map +0 -1
  405. package/src/strings/es.js +0 -57
  406. package/src/strings/es.js.map +0 -1
  407. package/src/strings/fr.d.ts +0 -3
  408. package/src/strings/fr.d.ts.map +0 -1
  409. package/src/strings/fr.js +0 -57
  410. package/src/strings/fr.js.map +0 -1
  411. package/src/strings/ja.d.ts +0 -3
  412. package/src/strings/ja.d.ts.map +0 -1
  413. package/src/strings/ja.js +0 -57
  414. package/src/strings/ja.js.map +0 -1
  415. package/src/strings/uk.d.ts +0 -3
  416. package/src/strings/uk.d.ts.map +0 -1
  417. package/src/strings/uk.js +0 -57
  418. package/src/strings/uk.js.map +0 -1
  419. package/src/strings/zh-CN.d.ts +0 -3
  420. package/src/strings/zh-CN.d.ts.map +0 -1
  421. package/src/strings/zh-CN.js +0 -57
  422. package/src/strings/zh-CN.js.map +0 -1
  423. package/src/template.d.ts +0 -13
  424. package/src/template.d.ts.map +0 -1
  425. package/src/template.js +0 -40
  426. package/src/template.js.map +0 -1
  427. package/src/translation-engine.d.ts +0 -9
  428. package/src/translation-engine.d.ts.map +0 -1
  429. package/src/translation-engine.js +0 -3
  430. package/src/translation-engine.js.map +0 -1
  431. package/src/translation-request.d.ts +0 -10
  432. package/src/translation-request.d.ts.map +0 -1
  433. package/src/translation-request.js +0 -3
  434. package/src/translation-request.js.map +0 -1
  435. package/src/translation-response.d.ts +0 -9
  436. package/src/translation-response.d.ts.map +0 -1
  437. package/src/translation-response.js +0 -3
  438. package/src/translation-response.js.map +0 -1
  439. package/src/types/engine.d.ts +0 -47
  440. package/src/types/engine.d.ts.map +0 -1
  441. package/src/types/engine.js +0 -8
  442. package/src/types/engine.js.map +0 -1
  443. package/src/types/index.d.ts.map +0 -1
  444. package/src/types/index.js +0 -9
  445. package/src/types/index.js.map +0 -1
  446. package/src/types/plural-types.d.ts.map +0 -1
  447. package/src/types/plural-types.js +0 -39
  448. package/src/types/plural-types.js.map +0 -1
  449. package/src/types.d.ts.map +0 -1
  450. package/src/types.js +0 -23
  451. package/src/types.js.map +0 -1
  452. package/src/utils/currency.d.ts +0 -81
  453. package/src/utils/currency.d.ts.map +0 -1
  454. package/src/utils/currency.js +0 -99
  455. package/src/utils/currency.js.map +0 -1
  456. package/src/utils/html-escape.d.ts +0 -22
  457. package/src/utils/html-escape.d.ts.map +0 -1
  458. package/src/utils/html-escape.js +0 -53
  459. package/src/utils/html-escape.js.map +0 -1
  460. package/src/utils/index.d.ts.map +0 -1
  461. package/src/utils/index.js +0 -12
  462. package/src/utils/index.js.map +0 -1
  463. package/src/utils/lru-cache.d.ts +0 -42
  464. package/src/utils/lru-cache.d.ts.map +0 -1
  465. package/src/utils/lru-cache.js +0 -73
  466. package/src/utils/lru-cache.js.map +0 -1
  467. package/src/utils/plural-helpers.d.ts.map +0 -1
  468. package/src/utils/plural-helpers.js +0 -35
  469. package/src/utils/plural-helpers.js.map +0 -1
  470. package/src/utils/safe-object.d.ts +0 -39
  471. package/src/utils/safe-object.d.ts.map +0 -1
  472. package/src/utils/safe-object.js.map +0 -1
  473. package/src/utils/string-utils.d.ts +0 -28
  474. package/src/utils/string-utils.d.ts.map +0 -1
  475. package/src/utils/string-utils.js +0 -63
  476. package/src/utils/string-utils.js.map +0 -1
  477. package/src/utils/timezone.d.ts +0 -50
  478. package/src/utils/timezone.d.ts.map +0 -1
  479. package/src/utils/timezone.js +0 -74
  480. package/src/utils/timezone.js.map +0 -1
  481. package/src/utils/validation.d.ts +0 -40
  482. package/src/utils/validation.d.ts.map +0 -1
  483. package/src/utils/validation.js +0 -69
  484. package/src/utils/validation.js.map +0 -1
  485. package/src/utils.d.ts +0 -65
  486. package/src/utils.d.ts.map +0 -1
  487. package/src/utils.js +0 -129
  488. package/src/utils.js.map +0 -1
  489. package/src/validation/index.d.ts.map +0 -1
  490. package/src/validation/index.js +0 -5
  491. package/src/validation/index.js.map +0 -1
  492. package/src/validation/plural-validator.d.ts +0 -46
  493. package/src/validation/plural-validator.d.ts.map +0 -1
  494. package/src/validation/plural-validator.js +0 -123
  495. package/src/validation/plural-validator.js.map +0 -1
  496. package/src/validation-config.d.ts +0 -12
  497. package/src/validation-config.d.ts.map +0 -1
  498. package/src/validation-config.js +0 -3
  499. package/src/validation-config.js.map +0 -1
  500. package/src/validation-result.d.ts +0 -13
  501. package/src/validation-result.d.ts.map +0 -1
  502. package/src/validation-result.js +0 -3
  503. package/src/validation-result.js.map +0 -1
@@ -1,187 +0,0 @@
1
- "use strict";
2
- /**
3
- * ICU MessageFormat Tokenizer
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Tokenizer = exports.TokenType = void 0;
7
- var TokenType;
8
- (function (TokenType) {
9
- TokenType["TEXT"] = "TEXT";
10
- TokenType["OPEN_BRACE"] = "OPEN_BRACE";
11
- TokenType["CLOSE_BRACE"] = "CLOSE_BRACE";
12
- TokenType["COMMA"] = "COMMA";
13
- TokenType["HASH"] = "HASH";
14
- TokenType["IDENTIFIER"] = "IDENTIFIER";
15
- TokenType["EOF"] = "EOF";
16
- })(TokenType || (exports.TokenType = TokenType = {}));
17
- class Tokenizer {
18
- input;
19
- position = 0;
20
- length;
21
- braceDepth = 0;
22
- lastTokenType = null;
23
- formatDepths = new Set(); // Tracks which depths are format specs
24
- lastIdentifierWasAtFormatDepth = false;
25
- constructor(input) {
26
- this.input = input;
27
- this.length = input.length;
28
- }
29
- tokenize() {
30
- const tokens = [];
31
- while (this.position < this.length) {
32
- const token = this.nextToken();
33
- if (token.type !== TokenType.EOF) {
34
- tokens.push(token);
35
- }
36
- }
37
- tokens.push({ type: TokenType.EOF, value: '', position: this.position });
38
- return tokens;
39
- }
40
- nextToken() {
41
- if (this.position >= this.length) {
42
- return { type: TokenType.EOF, value: '', position: this.position };
43
- }
44
- const char = this.input[this.position];
45
- // Handle escape sequences - quoted braces
46
- if (char === "'") {
47
- const next = this.peek();
48
- if (next === '{' || next === '}') {
49
- const pos = this.position;
50
- this.position++; // Skip quote
51
- this.position++; // Skip brace
52
- return { type: TokenType.TEXT, value: next, position: pos };
53
- }
54
- }
55
- // Special characters
56
- if (char === '{') {
57
- const prevDepth = this.braceDepth;
58
- this.braceDepth++;
59
- // Add to format depths if:
60
- // 1. Start of message (null)
61
- // 2. After TEXT - new format in message (unless after case name)
62
- // 3. After CLOSE_BRACE at depth 0 - consecutive formats
63
- // 4. After OPEN_BRACE - nested format (unless after case name)
64
- // NOT after IDENTIFIER at format depth - that's a case name, next brace is message content
65
- if (this.lastTokenType === null ||
66
- (this.lastTokenType === TokenType.TEXT && !this.lastIdentifierWasAtFormatDepth) ||
67
- (this.lastTokenType === TokenType.CLOSE_BRACE && prevDepth === 0) ||
68
- (this.lastTokenType === TokenType.OPEN_BRACE && !this.lastIdentifierWasAtFormatDepth)) {
69
- this.formatDepths.add(this.braceDepth);
70
- }
71
- this.lastIdentifierWasAtFormatDepth = false;
72
- const token = { type: TokenType.OPEN_BRACE, value: char, position: this.position++ };
73
- this.lastTokenType = TokenType.OPEN_BRACE;
74
- return token;
75
- }
76
- if (char === '}') {
77
- this.formatDepths.delete(this.braceDepth);
78
- this.braceDepth--;
79
- this.lastIdentifierWasAtFormatDepth = false; // Reset after closing
80
- const token = { type: TokenType.CLOSE_BRACE, value: char, position: this.position++ };
81
- this.lastTokenType = TokenType.CLOSE_BRACE;
82
- return token;
83
- }
84
- if (char === ',') {
85
- // Comma at depth 1+ is format separator, at depth 0 is text
86
- if (this.braceDepth >= 1) {
87
- const token = { type: TokenType.COMMA, value: char, position: this.position++ };
88
- this.lastTokenType = TokenType.COMMA;
89
- return token;
90
- }
91
- // At depth 0, comma is just text
92
- return this.readText();
93
- }
94
- if (char === '#') {
95
- return { type: TokenType.HASH, value: char, position: this.position++ };
96
- }
97
- // Whitespace - skip at format level OR after identifier at depth 1
98
- if (this.isWhitespace(char) && (this.isAtFormatLevel() || (this.braceDepth === 1 && this.lastTokenType === TokenType.IDENTIFIER))) {
99
- this.position++;
100
- return this.nextToken();
101
- }
102
- // Identifier (variable names, keywords) - at format level
103
- if (this.isIdentifierStart(char)) {
104
- if (this.isAtFormatLevel()) {
105
- return this.readIdentifier();
106
- }
107
- }
108
- // Text (everything else)
109
- return this.readText();
110
- }
111
- readIdentifier() {
112
- const start = this.position;
113
- while (this.position < this.length && this.isIdentifierChar(this.input[this.position])) {
114
- this.position++;
115
- }
116
- const token = {
117
- type: TokenType.IDENTIFIER,
118
- value: this.input.substring(start, this.position),
119
- position: start,
120
- };
121
- this.lastTokenType = TokenType.IDENTIFIER;
122
- this.lastIdentifierWasAtFormatDepth = this.formatDepths.has(this.braceDepth);
123
- return token;
124
- }
125
- readText() {
126
- const start = this.position;
127
- let text = '';
128
- while (this.position < this.length) {
129
- const char = this.input[this.position];
130
- // Handle escaped quotes - stop before them
131
- if (char === "'" && (this.peek() === '{' || this.peek() === '}')) {
132
- break;
133
- }
134
- // Stop at special characters (but not if they're escaped)
135
- if (char === '{' || char === '#') {
136
- break;
137
- }
138
- // For }, only stop if we're inside braces
139
- if (char === '}' && this.braceDepth > 0) {
140
- break;
141
- }
142
- // Stop at comma if we're at format level (depth >= 1)
143
- if (char === ',' && this.braceDepth >= 1) {
144
- break;
145
- }
146
- text += char;
147
- this.position++;
148
- }
149
- const token = {
150
- type: TokenType.TEXT,
151
- value: text,
152
- position: start,
153
- };
154
- this.lastTokenType = TokenType.TEXT;
155
- // Don't reset the identifier flag for whitespace-only text
156
- if (text.trim() !== '') {
157
- this.lastIdentifierWasAtFormatDepth = false;
158
- }
159
- return token;
160
- }
161
- peek() {
162
- return this.position + 1 < this.length ? this.input[this.position + 1] : '';
163
- }
164
- isIdentifierStart(char) {
165
- return /[a-zA-Z_]/.test(char);
166
- }
167
- isIdentifierChar(char) {
168
- return /[a-zA-Z0-9_]/.test(char);
169
- }
170
- isWhitespace(char) {
171
- return /\s/.test(char);
172
- }
173
- isAtFormatLevel() {
174
- // We're at format level if current depth is marked as format AND:
175
- // 1. After OPEN_BRACE (expecting variable name)
176
- // 2. After COMMA (expecting format type or case name)
177
- // 3. After CLOSE_BRACE (just finished a case message, expecting another case name)
178
- if (!this.formatDepths.has(this.braceDepth)) {
179
- return false;
180
- }
181
- return this.lastTokenType === TokenType.OPEN_BRACE ||
182
- this.lastTokenType === TokenType.COMMA ||
183
- this.lastTokenType === TokenType.CLOSE_BRACE;
184
- }
185
- }
186
- exports.Tokenizer = Tokenizer;
187
- //# sourceMappingURL=tokenizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/icu/tokenizer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { MessageNode } from './ast';
2
- export declare class ValidationError extends Error {
3
- constructor(message: string);
4
- }
5
- export interface ValidationOptions {
6
- requireOtherCase?: boolean;
7
- allowCircularReferences?: boolean;
8
- maxDepth?: number;
9
- }
10
- export declare function validate(ast: MessageNode, options?: ValidationOptions): void;
11
- //# sourceMappingURL=validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/icu/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqE,MAAM,OAAO,CAAC;AAEvG,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAQD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,GAAE,iBAAsB,GAAG,IAAI,CAIhF"}
@@ -1,140 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValidationError = void 0;
4
- exports.validate = validate;
5
- const ast_1 = require("./ast");
6
- class ValidationError extends Error {
7
- constructor(message) {
8
- super(message);
9
- this.name = 'ValidationError';
10
- }
11
- }
12
- exports.ValidationError = ValidationError;
13
- const DEFAULT_OPTIONS = {
14
- requireOtherCase: true,
15
- allowCircularReferences: false,
16
- maxDepth: 10,
17
- };
18
- function validate(ast, options = {}) {
19
- const opts = { ...DEFAULT_OPTIONS, ...options };
20
- const context = new ValidationContext(opts);
21
- validateMessage(ast, context);
22
- }
23
- class ValidationContext {
24
- options;
25
- argumentNames = new Set();
26
- currentDepth = 0;
27
- constructor(options) {
28
- this.options = options;
29
- }
30
- addArgument(name) {
31
- this.argumentNames.add(name);
32
- }
33
- hasArgument(name) {
34
- return this.argumentNames.has(name);
35
- }
36
- enterDepth() {
37
- this.currentDepth++;
38
- if (this.currentDepth > this.options.maxDepth) {
39
- throw new ValidationError(`Maximum nesting depth of ${this.options.maxDepth} exceeded`);
40
- }
41
- }
42
- exitDepth() {
43
- this.currentDepth--;
44
- }
45
- }
46
- function validateMessage(node, context) {
47
- for (const element of node.elements) {
48
- validateNode(element, context);
49
- }
50
- }
51
- function validateNode(node, context) {
52
- switch (node.type) {
53
- case ast_1.NodeType.LITERAL:
54
- break;
55
- case ast_1.NodeType.ARGUMENT:
56
- validateArgument(node, context);
57
- break;
58
- case ast_1.NodeType.PLURAL:
59
- validatePlural(node, context);
60
- break;
61
- case ast_1.NodeType.SELECT:
62
- validateSelect(node, context);
63
- break;
64
- case ast_1.NodeType.SELECTORDINAL:
65
- validateSelectOrdinal(node, context);
66
- break;
67
- default:
68
- throw new ValidationError(`Unknown node type: ${node.type}`);
69
- }
70
- }
71
- function validateArgument(node, context) {
72
- if (!node.name || node.name.trim() === '') {
73
- throw new ValidationError('Argument name cannot be empty');
74
- }
75
- context.addArgument(node.name);
76
- }
77
- function validatePlural(node, context) {
78
- if (!node.name || node.name.trim() === '') {
79
- throw new ValidationError('Plural variable name cannot be empty');
80
- }
81
- context.addArgument(node.name);
82
- if (!node.cases || Object.keys(node.cases).length === 0) {
83
- throw new ValidationError(`Plural '${node.name}' must have at least one case`);
84
- }
85
- if (context.options.requireOtherCase && !node.cases.other) {
86
- throw new ValidationError(`Plural '${node.name}' must have an 'other' case`);
87
- }
88
- const validCases = ['zero', 'one', 'two', 'few', 'many', 'other'];
89
- for (const caseName of Object.keys(node.cases)) {
90
- if (!validCases.includes(caseName)) {
91
- throw new ValidationError(`Invalid plural case '${caseName}' in '${node.name}'`);
92
- }
93
- }
94
- context.enterDepth();
95
- for (const caseMessage of Object.values(node.cases)) {
96
- validateMessage(caseMessage, context);
97
- }
98
- context.exitDepth();
99
- }
100
- function validateSelect(node, context) {
101
- if (!node.name || node.name.trim() === '') {
102
- throw new ValidationError('Select variable name cannot be empty');
103
- }
104
- context.addArgument(node.name);
105
- if (!node.cases || Object.keys(node.cases).length === 0) {
106
- throw new ValidationError(`Select '${node.name}' must have at least one case`);
107
- }
108
- if (context.options.requireOtherCase && !node.cases.other) {
109
- throw new ValidationError(`Select '${node.name}' must have an 'other' case`);
110
- }
111
- context.enterDepth();
112
- for (const caseMessage of Object.values(node.cases)) {
113
- validateMessage(caseMessage, context);
114
- }
115
- context.exitDepth();
116
- }
117
- function validateSelectOrdinal(node, context) {
118
- if (!node.name || node.name.trim() === '') {
119
- throw new ValidationError('SelectOrdinal variable name cannot be empty');
120
- }
121
- context.addArgument(node.name);
122
- if (!node.cases || Object.keys(node.cases).length === 0) {
123
- throw new ValidationError(`SelectOrdinal '${node.name}' must have at least one case`);
124
- }
125
- if (context.options.requireOtherCase && !node.cases.other) {
126
- throw new ValidationError(`SelectOrdinal '${node.name}' must have an 'other' case`);
127
- }
128
- const validCases = ['zero', 'one', 'two', 'few', 'many', 'other'];
129
- for (const caseName of Object.keys(node.cases)) {
130
- if (!validCases.includes(caseName)) {
131
- throw new ValidationError(`Invalid selectordinal case '${caseName}' in '${node.name}'`);
132
- }
133
- }
134
- context.enterDepth();
135
- for (const caseMessage of Object.values(node.cases)) {
136
- validateMessage(caseMessage, context);
137
- }
138
- context.exitDepth();
139
- }
140
- //# sourceMappingURL=validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/icu/validator.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAG7B,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAIxD,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAGD,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EACL,0BAA0B,IAAI,cAAc,EAC5C,0BAA0B,IAAI,oBAAoB,EAClD,wBAAwB,IAAI,kBAAkB,EAC9C,yBAAyB,IAAI,mBAAmB,GACjD,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAItE,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
package/src/index.js DELETED
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluginI18n = exports.safeCoreTranslation = exports.getCoreTranslation = exports.createCoreI18nEngine = exports.createCoreI18n = exports.I18n = exports.Builder = exports.Timezone = exports.isValidTimezone = exports.createPluralString = exports.createGenderedString = exports.getCurrencyFormat = exports.CurrencyCode = void 0;
4
- exports.resetAll = resetAll;
5
- exports.resetAllI18nEngines = resetAllI18nEngines;
6
- const tslib_1 = require("tslib");
7
- // V2 Exports (primary)
8
- tslib_1.__exportStar(require("./builders"), exports);
9
- tslib_1.__exportStar(require("./core"), exports);
10
- tslib_1.__exportStar(require("./errors"), exports);
11
- tslib_1.__exportStar(require("./gender"), exports);
12
- tslib_1.__exportStar(require("./interfaces"), exports);
13
- tslib_1.__exportStar(require("./pluralization"), exports);
14
- tslib_1.__exportStar(require("./types"), exports);
15
- tslib_1.__exportStar(require("./utils"), exports);
16
- tslib_1.__exportStar(require("./validation"), exports);
17
- var currency_1 = require("./utils/currency");
18
- Object.defineProperty(exports, "CurrencyCode", { enumerable: true, get: function () { return currency_1.CurrencyCode; } });
19
- Object.defineProperty(exports, "getCurrencyFormat", { enumerable: true, get: function () { return currency_1.getCurrencyFormat; } });
20
- var plural_helpers_1 = require("./utils/plural-helpers");
21
- Object.defineProperty(exports, "createGenderedString", { enumerable: true, get: function () { return plural_helpers_1.createGenderedString; } });
22
- Object.defineProperty(exports, "createPluralString", { enumerable: true, get: function () { return plural_helpers_1.createPluralString; } });
23
- var timezone_1 = require("./utils/timezone");
24
- Object.defineProperty(exports, "isValidTimezone", { enumerable: true, get: function () { return timezone_1.isValidTimezone; } });
25
- Object.defineProperty(exports, "Timezone", { enumerable: true, get: function () { return timezone_1.Timezone; } });
26
- // Convenience aliases
27
- var i18n_builder_1 = require("./builders/i18n-builder");
28
- Object.defineProperty(exports, "Builder", { enumerable: true, get: function () { return i18n_builder_1.I18nBuilder; } });
29
- var i18n_engine_1 = require("./core/i18n-engine");
30
- Object.defineProperty(exports, "I18n", { enumerable: true, get: function () { return i18n_engine_1.I18nEngine; } });
31
- // Reset utility
32
- const i18n_engine_2 = require("./core/i18n-engine");
33
- function resetAll() {
34
- i18n_engine_2.I18nEngine.resetAll();
35
- }
36
- // Legacy exports (deprecated - for backwards compatibility)
37
- tslib_1.__exportStar(require("./active-context"), exports);
38
- tslib_1.__exportStar(require("./component-definition"), exports);
39
- tslib_1.__exportStar(require("./global-active-context"), exports);
40
- // export * from './language-registry'; // Removed - conflicts with v2 core/language-registry
41
- tslib_1.__exportStar(require("./component-registration"), exports);
42
- tslib_1.__exportStar(require("./component-registry"), exports);
43
- tslib_1.__exportStar(require("./context-error-type"), exports);
44
- tslib_1.__exportStar(require("./core-i18n"), exports);
45
- tslib_1.__exportStar(require("./core-string-key"), exports);
46
- tslib_1.__exportStar(require("./create-translation-adapter"), exports);
47
- tslib_1.__exportStar(require("./enum-registry"), exports);
48
- tslib_1.__exportStar(require("./interfaces/handleable"), exports);
49
- tslib_1.__exportStar(require("./interfaces/handleable-error-options"), exports);
50
- tslib_1.__exportStar(require("./language-codes"), exports);
51
- tslib_1.__exportStar(require("./plugin-i18n-engine"), exports);
52
- tslib_1.__exportStar(require("./registry-config"), exports);
53
- tslib_1.__exportStar(require("./registry-error"), exports);
54
- tslib_1.__exportStar(require("./registry-error-type"), exports);
55
- tslib_1.__exportStar(require("./template"), exports);
56
- tslib_1.__exportStar(require("./translation-engine"), exports);
57
- tslib_1.__exportStar(require("./translation-request"), exports);
58
- tslib_1.__exportStar(require("./translation-response"), exports);
59
- tslib_1.__exportStar(require("./types"), exports);
60
- tslib_1.__exportStar(require("./validation-config"), exports);
61
- // Legacy convenience exports
62
- var core_plugin_factory_1 = require("./core-plugin-factory");
63
- Object.defineProperty(exports, "createCoreI18n", { enumerable: true, get: function () { return core_plugin_factory_1.createCorePluginI18nEngine; } });
64
- Object.defineProperty(exports, "createCoreI18nEngine", { enumerable: true, get: function () { return core_plugin_factory_1.createCorePluginI18nEngine; } });
65
- Object.defineProperty(exports, "getCoreTranslation", { enumerable: true, get: function () { return core_plugin_factory_1.getCorePluginTranslation; } });
66
- Object.defineProperty(exports, "safeCoreTranslation", { enumerable: true, get: function () { return core_plugin_factory_1.safeCorePluginTranslation; } });
67
- // Export core plugin factory functions
68
- tslib_1.__exportStar(require("./core-plugin-factory"), exports);
69
- var plugin_i18n_engine_1 = require("./plugin-i18n-engine");
70
- Object.defineProperty(exports, "PluginI18n", { enumerable: true, get: function () { return plugin_i18n_engine_1.PluginI18nEngine; } });
71
- // Legacy testing utilities
72
- const plugin_i18n_engine_2 = require("./plugin-i18n-engine");
73
- function resetAllI18nEngines() {
74
- plugin_i18n_engine_2.PluginI18nEngine.resetAll();
75
- }
76
- //# sourceMappingURL=index.js.map
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/index.ts"],"names":[],"mappings":";;;AAgCA,4BAEC;AAyCD,kDAEC;;AA7ED,uBAAuB;AACvB,qDAA2B;AAC3B,iDAAuB;AACvB,mDAAyB;AACzB,mDAAyB;AACzB,uDAA6B;AAC7B,0DAAgC;AAChC,kDAAwB;AACxB,kDAAwB;AACxB,uDAA6B;AAK7B,6CAAmE;AAA1D,wGAAA,YAAY,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAMxC,yDAGgC;AAF9B,sHAAA,oBAAoB,OAAA;AACpB,oHAAA,kBAAkB,OAAA;AAEpB,6CAA6D;AAApD,2GAAA,eAAe,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAElC,sBAAsB;AACtB,wDAAiE;AAAxD,uGAAA,WAAW,OAAW;AAC/B,kDAAwD;AAA/C,mGAAA,UAAU,OAAQ;AAE3B,gBAAgB;AAChB,oDAAgD;AAChD,SAAgB,QAAQ;IACtB,wBAAU,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,4DAA4D;AAC5D,2DAAiC;AACjC,iEAAuC;AACvC,kEAAwC;AACxC,6FAA6F;AAC7F,mEAAyC;AACzC,+DAAqC;AACrC,+DAAqC;AACrC,sDAA4B;AAC5B,4DAAkC;AAClC,uEAA6C;AAC7C,0DAAgC;AAChC,kEAAwC;AACxC,gFAAsD;AACtD,2DAAiC;AACjC,+DAAqC;AACrC,4DAAkC;AAClC,2DAAiC;AACjC,gEAAsC;AACtC,qDAA2B;AAC3B,+DAAqC;AACrC,gEAAsC;AACtC,iEAAuC;AACvC,kDAAwB;AACxB,8DAAoC;AAEpC,6BAA6B;AAC7B,6DAK+B;AAJ7B,qHAAA,0BAA0B,OAAkB;AAC5C,2HAAA,0BAA0B,OAAwB;AAClD,yHAAA,wBAAwB,OAAsB;AAC9C,0HAAA,yBAAyB,OAAuB;AAElD,uCAAuC;AACvC,gEAAsC;AACtC,2DAAsE;AAA7D,gHAAA,gBAAgB,OAAc;AAEvC,2BAA2B;AAC3B,6DAAwD;AACxD,SAAgB,mBAAmB;IACjC,qCAAgB,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
@@ -1,36 +0,0 @@
1
- import type { LanguageContextSpace } from '../types';
2
- import type { CurrencyCode } from '../utils/currency';
3
- import type { Timezone } from '../utils/timezone';
4
- /**
5
- * Represents the active internationalization context for user and admin interfaces,
6
- * including language, currency, and timezone settings.
7
- *
8
- * @template TLanguage The type of language codes (e.g., 'en-US', 'fr').
9
- */
10
- export interface IActiveContext<TLanguage extends string> {
11
- /**
12
- * The default language for the user-facing application.
13
- */
14
- language: TLanguage;
15
- /**
16
- * The default language for the admin interface.
17
- */
18
- adminLanguage: TLanguage;
19
- /**
20
- * The default currency code for the user-facing application.
21
- */
22
- currencyCode: CurrencyCode;
23
- /**
24
- * The current language context space (e.g., 'user' or 'admin').
25
- */
26
- currentContext: LanguageContextSpace;
27
- /**
28
- * The default timezone for the user-facing application.
29
- */
30
- timezone: Timezone;
31
- /**
32
- * The default timezone for the admin interface.
33
- */
34
- adminTimezone: Timezone;
35
- }
36
- //# sourceMappingURL=active-context.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"active-context.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/active-context.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,cAAc,CAAC,SAAS,SAAS,MAAM;IACtD;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,SAAS,CAAC;IAEzB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;OAEG;IACH,cAAc,EAAE,oBAAoB,CAAC;IAErC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,QAAQ,CAAC;CACzB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=active-context.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"active-context.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/active-context.interface.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- /**
2
- * Simplified component configuration
3
- */
4
- import { PluralString } from '../types/plural-types';
5
- /**
6
- * Configuration for registering a component with the i18n system.
7
- */
8
- export interface ComponentConfig {
9
- /** Unique identifier for the component */
10
- readonly id: string;
11
- /** Translation strings organized by language and key */
12
- readonly strings: Record<string, Record<string, string | PluralString>>;
13
- /** Optional alternative names for referencing this component */
14
- readonly aliases?: readonly string[];
15
- }
16
- //# sourceMappingURL=component-config.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-config.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/component-config.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;IACxE,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Simplified component configuration
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=component-config.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-config.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/component-config.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Engine configuration interface
3
- */
4
- /**
5
- * Configuration options for the I18n engine.
6
- */
7
- export interface EngineConfig {
8
- /** Default language to use when none is specified */
9
- defaultLanguage?: string;
10
- /** Fallback language to use when a translation is missing */
11
- fallbackLanguage?: string;
12
- /** Constants available for variable replacement in templates */
13
- constants?: Record<string, any>;
14
- /** Validation configuration */
15
- validation?: {
16
- /** Whether all string keys must be provided for all languages */
17
- requireCompleteStrings?: boolean;
18
- /** Whether to allow component registration with missing translations */
19
- allowPartialRegistration?: boolean;
20
- };
21
- }
22
- //# sourceMappingURL=engine-config.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine-config.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/engine-config.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,+BAA+B;IAC/B,UAAU,CAAC,EAAE;QACX,iEAAiE;QACjE,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,wEAAwE;QACxE,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC,CAAC;CACH"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Engine configuration interface
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=engine-config.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine-config.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/engine-config.interface.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1,23 +0,0 @@
1
- import type { LanguageContextSpace } from '../types';
2
- import type { CurrencyCode } from '../utils/currency';
3
- import type { Timezone } from '../utils/timezone';
4
- import type { IActiveContext } from './active-context.interface';
5
- export interface IGlobalActiveContext<TLanguage extends string, TActiveContext extends IActiveContext<TLanguage>> {
6
- context: TActiveContext;
7
- userLanguage: TLanguage;
8
- currencyCode: CurrencyCode;
9
- adminLanguage: TLanguage;
10
- languageContextSpace: LanguageContextSpace;
11
- userTimezone: Timezone;
12
- adminTimezone: Timezone;
13
- createContext(defaultLanguage: TLanguage, defaultAdminLanguage?: TLanguage, key?: string): TActiveContext;
14
- getContext(key?: string): TActiveContext;
15
- setUserLanguage(language: TLanguage, key?: string): void;
16
- setCurrencyCode(code: CurrencyCode, key?: string): void;
17
- setAdminLanguage(language: TLanguage, key?: string): void;
18
- setLanguageContextSpace(context: LanguageContextSpace, key?: string): void;
19
- getLanguageContextSpace(key?: string): LanguageContextSpace;
20
- setUserTimezone(tz: Timezone, key?: string): void;
21
- setAdminTimezone(tz: Timezone, key?: string): void;
22
- }
23
- //# sourceMappingURL=global-active-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-active-context.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/global-active-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,oBAAoB,CACnC,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,cAAc,CAAC,SAAS,CAAC;IAEhD,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,SAAS,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,YAAY,EAAE,QAAQ,CAAC;IACvB,aAAa,EAAE,QAAQ,CAAC;IAExB,aAAa,CACX,eAAe,EAAE,SAAS,EAC1B,oBAAoB,CAAC,EAAE,SAAS,EAChC,GAAG,CAAC,EAAE,MAAM,GACX,cAAc,CAAC;IAElB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAEzC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzD,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExD,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3E,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAE5D,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpD"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=global-active-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-active-context.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/global-active-context.ts"],"names":[],"mappings":""}
@@ -1,14 +0,0 @@
1
- /**
2
- * Options for creating a HandleableError.
3
- */
4
- export interface HandleableErrorOptions {
5
- /** The original error that caused this error */
6
- cause?: Error;
7
- /** Whether this error has been handled */
8
- handled?: boolean;
9
- /** HTTP status code associated with this error */
10
- statusCode?: number;
11
- /** Optional source data related to the error */
12
- sourceData?: unknown;
13
- }
14
- //# sourceMappingURL=handleable-error-options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleable-error-options.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/handleable-error-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=handleable-error-options.js.map