@digitaldefiance/i18n-lib 3.8.2 → 3.8.4

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 +8 -7
  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,358 @@
1
+ "use strict";
2
+ /**
3
+ * Unified error class for i18n library with ICU MessageFormat support
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.I18nError = exports.I18nErrorCode = void 0;
7
+ const helpers_1 = require("../icu/helpers");
8
+ /**
9
+ * Error codes used throughout the i18n library.
10
+ */
11
+ exports.I18nErrorCode = {
12
+ /** Component not found in registry */
13
+ COMPONENT_NOT_FOUND: 'COMPONENT_NOT_FOUND',
14
+ /** String key not found in component */
15
+ STRING_KEY_NOT_FOUND: 'STRING_KEY_NOT_FOUND',
16
+ /** Language not found in registry */
17
+ LANGUAGE_NOT_FOUND: 'LANGUAGE_NOT_FOUND',
18
+ /** Translation missing for specified key and language */
19
+ TRANSLATION_MISSING: 'TRANSLATION_MISSING',
20
+ /** Invalid configuration provided */
21
+ INVALID_CONFIG: 'INVALID_CONFIG',
22
+ /** Attempt to register duplicate component */
23
+ DUPLICATE_COMPONENT: 'DUPLICATE_COMPONENT',
24
+ /** Attempt to register duplicate language */
25
+ DUPLICATE_LANGUAGE: 'DUPLICATE_LANGUAGE',
26
+ /** Validation failed during registration */
27
+ VALIDATION_FAILED: 'VALIDATION_FAILED',
28
+ /** I18n instance not found */
29
+ INSTANCE_NOT_FOUND: 'INSTANCE_NOT_FOUND',
30
+ /** I18n instance already exists */
31
+ INSTANCE_EXISTS: 'INSTANCE_EXISTS',
32
+ /** Invalid context key provided */
33
+ INVALID_CONTEXT: 'INVALID_CONTEXT',
34
+ /** Plural form not found for language and category */
35
+ PLURAL_FORM_NOT_FOUND: 'PLURAL_FORM_NOT_FOUND',
36
+ /** Invalid plural category provided */
37
+ INVALID_PLURAL_CATEGORY: 'INVALID_PLURAL_CATEGORY',
38
+ /** Count variable missing for plural translation */
39
+ MISSING_COUNT_VARIABLE: 'MISSING_COUNT_VARIABLE',
40
+ /** Validation threshold exceeded */
41
+ VALIDATION_THRESHOLD_EXCEEDED: 'VALIDATION_THRESHOLD_EXCEEDED',
42
+ /** Operation failed at specific step */
43
+ OPERATION_STEP_FAILED: 'OPERATION_STEP_FAILED',
44
+ /** Rate limit exceeded */
45
+ RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',
46
+ /** Nested validation error with context */
47
+ NESTED_VALIDATION_ERROR: 'NESTED_VALIDATION_ERROR',
48
+ };
49
+ /**
50
+ * Main error class for i18n-related errors.
51
+ * Includes error code and optional metadata for debugging.
52
+ */
53
+ class I18nError extends Error {
54
+ code;
55
+ metadata;
56
+ /**
57
+ * Creates a new I18nError instance.
58
+ * @param code - The specific error code
59
+ * @param message - Human-readable error message
60
+ * @param metadata - Optional metadata providing context about the error
61
+ */
62
+ constructor(code, message, metadata) {
63
+ super(message);
64
+ this.code = code;
65
+ this.metadata = metadata;
66
+ this.name = 'I18nError';
67
+ Object.setPrototypeOf(this, I18nError.prototype);
68
+ }
69
+ /**
70
+ * Creates an error for when a component is not found with nested ICU select formatting.
71
+ * @param componentId - The ID of the component that was not found
72
+ * @param language - Optional language code for message formatting
73
+ * @returns An I18nError instance
74
+ */
75
+ static componentNotFound(componentId, language = 'en-US') {
76
+ const hasNamespace = componentId.includes('.');
77
+ const message = (0, helpers_1.formatICUMessage)('{hasNamespace, select, true {Namespaced component {componentId}} other {Component {componentId}}} not found in registry', { componentId, hasNamespace: hasNamespace ? 'true' : 'false' }, language);
78
+ return new I18nError(exports.I18nErrorCode.COMPONENT_NOT_FOUND, message, {
79
+ componentId,
80
+ });
81
+ }
82
+ /**
83
+ * Creates an error for when a string key is not found in a component with nested ICU formatting.
84
+ * @param componentId - The ID of the component
85
+ * @param stringKey - The string key that was not found
86
+ * @param language - Optional language code for message formatting
87
+ * @returns An I18nError instance
88
+ */
89
+ static stringKeyNotFound(componentId, stringKey, language = 'en-US') {
90
+ const depth = stringKey.split('.').length;
91
+ const isNested = depth > 1;
92
+ const message = (0, helpers_1.formatICUMessage)('{isNested, select, true {Nested string key at {depth, selectordinal, one {#st} two {#nd} few {#rd} other {#th}} level {stringKey}} other {String key {stringKey}}} not found in component {componentId}', { componentId, stringKey, depth, isNested: isNested ? 'true' : 'false' }, language);
93
+ return new I18nError(exports.I18nErrorCode.STRING_KEY_NOT_FOUND, message, {
94
+ componentId,
95
+ stringKey,
96
+ });
97
+ }
98
+ /**
99
+ * Creates an error for when a language is not found with ICU formatting.
100
+ * @param language - The language code that was not found
101
+ * @param messageLanguage - Optional language code for error message formatting
102
+ * @returns An I18nError instance
103
+ */
104
+ static languageNotFound(language, messageLanguage = 'en-US') {
105
+ const message = (0, helpers_1.formatICUMessage)('Language {language} not found', { language }, messageLanguage);
106
+ return new I18nError(exports.I18nErrorCode.LANGUAGE_NOT_FOUND, message, {
107
+ language,
108
+ });
109
+ }
110
+ /**
111
+ * Creates an error for when a translation is missing with nested ICU formatting.
112
+ * @param componentId - The ID of the component
113
+ * @param stringKey - The string key
114
+ * @param language - The language code where translation is missing
115
+ * @param messageLanguage - Optional language code for error message formatting
116
+ * @returns An I18nError instance
117
+ */
118
+ static translationMissing(componentId, stringKey, language, messageLanguage = 'en-US') {
119
+ const hasNestedKey = stringKey.includes('.');
120
+ const message = (0, helpers_1.formatICUMessage)('Translation missing: {hasNested, select, true {nested path} other {key}} {componentId}.{stringKey} not found in language {language}', {
121
+ componentId,
122
+ stringKey,
123
+ language,
124
+ hasNested: hasNestedKey ? 'true' : 'false',
125
+ }, messageLanguage);
126
+ return new I18nError(exports.I18nErrorCode.TRANSLATION_MISSING, message, {
127
+ componentId,
128
+ stringKey,
129
+ language,
130
+ });
131
+ }
132
+ /**
133
+ * Creates an error for invalid configuration.
134
+ * @param reason - The reason why the configuration is invalid
135
+ * @returns An I18nError instance
136
+ */
137
+ static invalidConfig(reason) {
138
+ return new I18nError(exports.I18nErrorCode.INVALID_CONFIG, reason);
139
+ }
140
+ /**
141
+ * Creates an error for duplicate component registration with nested ICU select formatting.
142
+ * @param componentId - The ID of the duplicate component
143
+ * @param language - Optional language code for message formatting
144
+ * @returns An I18nError instance
145
+ */
146
+ static duplicateComponent(componentId, language = 'en-US') {
147
+ const hasNamespace = componentId.includes('.');
148
+ const message = (0, helpers_1.formatICUMessage)('{hasNamespace, select, true {Namespaced component {componentId}} other {Component {componentId}}} is already registered {hasNamespace, select, true {in this namespace} other {in the registry}}', { componentId, hasNamespace: hasNamespace ? 'true' : 'false' }, language);
149
+ return new I18nError(exports.I18nErrorCode.DUPLICATE_COMPONENT, message, {
150
+ componentId,
151
+ });
152
+ }
153
+ /**
154
+ * Creates an error for duplicate language registration with ICU formatting.
155
+ * @param language - The language code that is duplicate
156
+ * @param messageLanguage - Optional language code for error message formatting
157
+ * @returns An I18nError instance
158
+ */
159
+ static duplicateLanguage(language, messageLanguage = 'en-US') {
160
+ const message = `Language '${language}' already registered`;
161
+ return new I18nError(exports.I18nErrorCode.DUPLICATE_LANGUAGE, message, {
162
+ language,
163
+ });
164
+ }
165
+ /**
166
+ * Creates an error for validation failure with ICU plural formatting and number formatting.
167
+ * @param errors - Array of validation error messages
168
+ * @param language - Optional language code for message formatting
169
+ * @returns An I18nError instance
170
+ */
171
+ static validationFailed(errors, language = 'en-US') {
172
+ const message = (0, helpers_1.formatICUMessage)('Validation failed with {count, plural, one {{count, number, integer} error} other {{count, number, integer} errors}}: {details}', { count: errors.length, details: errors.join(', ') }, language);
173
+ return new I18nError(exports.I18nErrorCode.VALIDATION_FAILED, message, {
174
+ errors,
175
+ count: errors.length,
176
+ });
177
+ }
178
+ /**
179
+ * Creates an error for when an i18n instance is not found with nested ICU select formatting.
180
+ * @param key - The instance key that was not found
181
+ * @param language - Optional language code for message formatting
182
+ * @returns An I18nError instance
183
+ */
184
+ static instanceNotFound(key, language = 'en-US') {
185
+ const isDefault = key === 'default' || key === '';
186
+ const message = (0, helpers_1.formatICUMessage)('{isDefault, select, true {Default i18n instance not found} other {I18n instance {key} not found}} in registry', { key, isDefault: isDefault ? 'true' : 'false' }, language);
187
+ return new I18nError(exports.I18nErrorCode.INSTANCE_NOT_FOUND, message, { key });
188
+ }
189
+ /**
190
+ * Creates an error for when an i18n instance already exists with nested ICU select formatting.
191
+ * @param key - The instance key that already exists
192
+ * @param language - Optional language code for message formatting
193
+ * @returns An I18nError instance
194
+ */
195
+ static instanceExists(key, language = 'en-US') {
196
+ const isDefault = key === 'default' || key === '';
197
+ const message = (0, helpers_1.formatICUMessage)("{isDefault, select, true {Default i18n instance 'default' already exists. Use a different key or remove the existing instance first.} other {I18n instance {key} already exists in registry}}", { key, isDefault: isDefault ? 'true' : 'false' }, language);
198
+ return new I18nError(exports.I18nErrorCode.INSTANCE_EXISTS, message, { key });
199
+ }
200
+ /**
201
+ * Creates an error for an invalid context key with ICU formatting.
202
+ * @param contextKey - The invalid context key
203
+ * @param language - Optional language code for message formatting
204
+ * @returns An I18nError instance
205
+ */
206
+ static invalidContext(contextKey, language = 'en-US') {
207
+ const message = (0, helpers_1.formatICUMessage)('Invalid context key {contextKey}', { contextKey }, language);
208
+ return new I18nError(exports.I18nErrorCode.INVALID_CONTEXT, message, {
209
+ contextKey,
210
+ });
211
+ }
212
+ /**
213
+ * Creates an error for when a plural form is not found with nested ICU select and plural formatting.
214
+ * @param category - The plural category that was not found
215
+ * @param language - The language code
216
+ * @param key - The translation key
217
+ * @param availableForms - Array of available plural forms
218
+ * @returns An I18nError instance
219
+ */
220
+ static pluralFormNotFound(category, language, key, availableForms) {
221
+ const formCount = availableForms.length;
222
+ const message = (0, helpers_1.formatICUMessage)('Plural form {category} not found for language {language}{hasKey, select, true { in key {keyName}} other {}}. {formCount, plural, one {Available form} other {Available forms}} ({formCount, number, integer}): {forms}', {
223
+ category,
224
+ language,
225
+ keyName: key,
226
+ hasKey: key ? 'true' : 'false',
227
+ forms: availableForms.join(', '),
228
+ formCount,
229
+ }, language);
230
+ return new I18nError(exports.I18nErrorCode.PLURAL_FORM_NOT_FOUND, message, {
231
+ category,
232
+ language,
233
+ key,
234
+ availableForms,
235
+ formCount,
236
+ });
237
+ }
238
+ /**
239
+ * Creates an error for an invalid plural category with nested ICU plural and number formatting.
240
+ * @param category - The invalid category
241
+ * @param validCategories - Array of valid categories
242
+ * @param language - Optional language code for message formatting
243
+ * @returns An I18nError instance
244
+ */
245
+ static invalidPluralCategory(category, validCategories, language = 'en-US') {
246
+ const count = validCategories.length;
247
+ const message = (0, helpers_1.formatICUMessage)('Invalid plural category {category}. {count, plural, one {Valid category ({count, number, integer})} other {Valid categories ({count, number, integer})}}: {categories}', {
248
+ category,
249
+ categories: validCategories.join(', '),
250
+ count,
251
+ }, language);
252
+ return new I18nError(exports.I18nErrorCode.INVALID_PLURAL_CATEGORY, message, {
253
+ category,
254
+ validCategories,
255
+ count,
256
+ });
257
+ }
258
+ /**
259
+ * Creates an error for when the count variable is missing for plural forms with ICU formatting.
260
+ * @param key - The translation key that requires a count variable
261
+ * @param language - Optional language code for message formatting
262
+ * @returns An I18nError instance
263
+ */
264
+ static missingCountVariable(key, language = 'en-US') {
265
+ const message = (0, helpers_1.formatICUMessage)("Plural forms used in key {key} but no 'count' variable provided", { key }, language);
266
+ return new I18nError(exports.I18nErrorCode.MISSING_COUNT_VARIABLE, message, {
267
+ key,
268
+ });
269
+ }
270
+ /**
271
+ * Creates an error for validation threshold violations with ICU number formatting.
272
+ * Demonstrates currency, percent, and integer formatting based on threshold type.
273
+ * @param fieldName - The field that exceeded the threshold
274
+ * @param value - The actual value
275
+ * @param threshold - The maximum allowed value
276
+ * @param thresholdType - Type of threshold: 'currency', 'percent', or 'integer'
277
+ * @param language - Optional language code for message formatting
278
+ * @returns An I18nError instance
279
+ */
280
+ static validationThresholdExceeded(fieldName, value, threshold, thresholdType = 'integer', language = 'en-US') {
281
+ const message = (0, helpers_1.formatICUMessage)('Validation failed for {fieldName}: value {value, number, ' +
282
+ thresholdType +
283
+ '} exceeds maximum threshold of {threshold, number, ' +
284
+ thresholdType +
285
+ '}', { fieldName, value, threshold }, language);
286
+ return new I18nError(exports.I18nErrorCode.VALIDATION_THRESHOLD_EXCEEDED, message, {
287
+ fieldName,
288
+ value,
289
+ threshold,
290
+ thresholdType,
291
+ });
292
+ }
293
+ /**
294
+ * Creates an error for operation failures at specific steps with ICU selectordinal formatting.
295
+ * Demonstrates 1st, 2nd, 3rd, etc. formatting for step numbers.
296
+ * @param stepNumber - The step number where the operation failed (1-based)
297
+ * @param operationName - The name of the operation
298
+ * @param reason - The reason for failure
299
+ * @param language - Optional language code for message formatting
300
+ * @returns An I18nError instance
301
+ */
302
+ static operationStepFailed(stepNumber, operationName, reason, language = 'en-US') {
303
+ const message = (0, helpers_1.formatICUMessage)('Operation {operationName} failed at {stepNumber, selectordinal, one {#st} two {#nd} few {#rd} other {#th}} step: {reason}', { stepNumber, operationName, reason }, language);
304
+ return new I18nError(exports.I18nErrorCode.OPERATION_STEP_FAILED, message, {
305
+ stepNumber,
306
+ operationName,
307
+ reason,
308
+ });
309
+ }
310
+ /**
311
+ * Creates an error for rate limit violations with nested ICU messages.
312
+ * Demonstrates nested plural, number formatting, and conditional messages.
313
+ * @param requestCount - Number of requests made
314
+ * @param limit - Maximum allowed requests
315
+ * @param windowSeconds - Time window in seconds
316
+ * @param retryAfterSeconds - Seconds until retry is allowed
317
+ * @param language - Optional language code for message formatting
318
+ * @returns An I18nError instance
319
+ */
320
+ static rateLimitExceeded(requestCount, limit, windowSeconds, retryAfterSeconds, language = 'en-US') {
321
+ const message = (0, helpers_1.formatICUMessage)('Rate limit exceeded: {requestCount, plural, one {# request} other {# requests}} made, exceeding limit of {limit, number, integer} {limit, plural, one {request} other {requests}} per {windowSeconds, number, integer} {windowSeconds, plural, one {second} other {seconds}}. {hasRetry, select, true {Retry after {retryAfterSeconds, number, integer} {retryAfterSeconds, plural, one {second} other {seconds}}.} other {Retry immediately.}}', {
322
+ requestCount,
323
+ limit,
324
+ windowSeconds,
325
+ retryAfterSeconds,
326
+ hasRetry: retryAfterSeconds > 0 ? 'true' : 'false',
327
+ }, language);
328
+ return new I18nError(exports.I18nErrorCode.RATE_LIMIT_EXCEEDED, message, {
329
+ requestCount,
330
+ limit,
331
+ windowSeconds,
332
+ retryAfterSeconds,
333
+ });
334
+ }
335
+ /**
336
+ * Creates a nested validation error with multiple layers of context.
337
+ * Demonstrates 4-level deep nested ICU messages with plural, select, and number formatting.
338
+ * @param componentId - The component being validated
339
+ * @param fieldPath - Nested field path (e.g., 'user.profile.settings.theme')
340
+ * @param errorCount - Number of errors found
341
+ * @param errorType - Type of validation error
342
+ * @param severity - Error severity level
343
+ * @param language - Optional language code for message formatting
344
+ * @returns An I18nError instance
345
+ */
346
+ static nestedValidationError(componentId, fieldPath, errorCount, errorType, severity, language = 'en-US') {
347
+ const message = (0, helpers_1.formatICUMessage)('Validation error in component {componentId}: {severity, select, low {Minor issue} medium {Moderate issue} high {Serious issue} critical {Critical issue} other {Issue}} detected in nested field {fieldPath} - {errorType, select, type {Type mismatch} range {Value out of range} format {Invalid format} required {Required field missing} other {Validation error}} with {errorCount, plural, one {# occurrence} other {# occurrences}}', { componentId, fieldPath, errorCount, errorType, severity }, language);
348
+ return new I18nError(exports.I18nErrorCode.NESTED_VALIDATION_ERROR, message, {
349
+ componentId,
350
+ fieldPath,
351
+ errorCount,
352
+ errorType,
353
+ severity,
354
+ });
355
+ }
356
+ }
357
+ exports.I18nError = I18nError;
358
+ //# sourceMappingURL=i18n-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-error.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4CAAkD;AAElD;;GAEG;AACU,QAAA,aAAa,GAAG;IAC3B,sCAAsC;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,wCAAwC;IACxC,oBAAoB,EAAE,sBAAsB;IAC5C,qCAAqC;IACrC,kBAAkB,EAAE,oBAAoB;IACxC,yDAAyD;IACzD,mBAAmB,EAAE,qBAAqB;IAC1C,qCAAqC;IACrC,cAAc,EAAE,gBAAgB;IAChC,8CAA8C;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,6CAA6C;IAC7C,kBAAkB,EAAE,oBAAoB;IACxC,4CAA4C;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,8BAA8B;IAC9B,kBAAkB,EAAE,oBAAoB;IACxC,mCAAmC;IACnC,eAAe,EAAE,iBAAiB;IAClC,mCAAmC;IACnC,eAAe,EAAE,iBAAiB;IAClC,sDAAsD;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,uCAAuC;IACvC,uBAAuB,EAAE,yBAAyB;IAClD,oDAAoD;IACpD,sBAAsB,EAAE,wBAAwB;IAChD,oCAAoC;IACpC,6BAA6B,EAAE,+BAA+B;IAC9D,wCAAwC;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,0BAA0B;IAC1B,mBAAmB,EAAE,qBAAqB;IAC1C,2CAA2C;IAC3C,uBAAuB,EAAE,yBAAyB;CAC1C,CAAC;AAOX;;;GAGG;AACH,MAAa,SAAU,SAAQ,KAAK;IAQhB;IAES;IAT3B;;;;;OAKG;IACH,YACkB,IAAmB,EACnC,OAAe,EACU,QAA8B;QAEvD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAe;QAEV,aAAQ,GAAR,QAAQ,CAAsB;QAGvD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,WAAmB,EAAE,QAAQ,GAAG,OAAO;QAC9D,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,yHAAyH,EACzH,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAC9D,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,mBAAmB,EAAE,OAAO,EAAE;YAC/D,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CACtB,WAAmB,EACnB,SAAiB,EACjB,QAAQ,GAAG,OAAO;QAElB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,yMAAyM,EACzM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EACxE,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,oBAAoB,EAAE,OAAO,EAAE;YAChE,WAAW;YACX,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAAgB,EAChB,eAAe,GAAG,OAAO;QAEzB,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,+BAA+B,EAC/B,EAAE,QAAQ,EAAE,EACZ,eAAe,CAChB,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,kBAAkB,EAAE,OAAO,EAAE;YAC9D,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CACvB,WAAmB,EACnB,SAAiB,EACjB,QAAgB,EAChB,eAAe,GAAG,OAAO;QAEzB,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,qIAAqI,EACrI;YACE,WAAW;YACX,SAAS;YACT,QAAQ;YACR,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SAC3C,EACD,eAAe,CAChB,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,mBAAmB,EAAE,OAAO,EAAE;YAC/D,WAAW;YACX,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAc;QACjC,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CACvB,WAAmB,EACnB,QAAQ,GAAG,OAAO;QAElB,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,kMAAkM,EAClM,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAC9D,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,mBAAmB,EAAE,OAAO,EAAE;YAC/D,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,QAAgB,EAChB,eAAe,GAAG,OAAO;QAEzB,MAAM,OAAO,GAAG,aAAa,QAAQ,sBAAsB,CAAC;QAC5D,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,kBAAkB,EAAE,OAAO,EAAE;YAC9D,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAgB,EAAE,QAAQ,GAAG,OAAO;QAC1D,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,iIAAiI,EACjI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACpD,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,iBAAiB,EAAE,OAAO,EAAE;YAC7D,MAAM;YACN,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAW,EAAE,QAAQ,GAAG,OAAO;QACrD,MAAM,SAAS,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,+GAA+G,EAC/G,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAChD,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,kBAAkB,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,GAAW,EAAE,QAAQ,GAAG,OAAO;QACnD,MAAM,SAAS,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,+LAA+L,EAC/L,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAChD,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,UAAkB,EAAE,QAAQ,GAAG,OAAO;QAC1D,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,kCAAkC,EAClC,EAAE,UAAU,EAAE,EACd,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,eAAe,EAAE,OAAO,EAAE;YAC3D,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAgB,EAChB,QAAgB,EAChB,GAAW,EACX,cAAwB;QAExB,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;QACxC,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,wNAAwN,EACxN;YACE,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC9B,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,SAAS;SACV,EACD,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,qBAAqB,EAAE,OAAO,EAAE;YACjE,QAAQ;YACR,QAAQ;YACR,GAAG;YACH,cAAc;YACd,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAC1B,QAAgB,EAChB,eAAyB,EACzB,QAAQ,GAAG,OAAO;QAElB,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,wKAAwK,EACxK;YACE,QAAQ;YACR,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,KAAK;SACN,EACD,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,uBAAuB,EAAE,OAAO,EAAE;YACnE,QAAQ;YACR,eAAe;YACf,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,GAAW,EAAE,QAAQ,GAAG,OAAO;QACzD,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,iEAAiE,EACjE,EAAE,GAAG,EAAE,EACP,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,sBAAsB,EAAE,OAAO,EAAE;YAClE,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,2BAA2B,CAChC,SAAiB,EACjB,KAAa,EACb,SAAiB,EACjB,gBAAoD,SAAS,EAC7D,QAAQ,GAAG,OAAO;QAElB,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,2DAA2D;YACzD,aAAa;YACb,qDAAqD;YACrD,aAAa;YACb,GAAG,EACL,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAC/B,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,6BAA6B,EAAE,OAAO,EAAE;YACzE,SAAS;YACT,KAAK;YACL,SAAS;YACT,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,mBAAmB,CACxB,UAAkB,EAClB,aAAqB,EACrB,MAAc,EACd,QAAQ,GAAG,OAAO;QAElB,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,2HAA2H,EAC3H,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EACrC,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,qBAAqB,EAAE,OAAO,EAAE;YACjE,UAAU;YACV,aAAa;YACb,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,iBAAiB,CACtB,YAAoB,EACpB,KAAa,EACb,aAAqB,EACrB,iBAAyB,EACzB,QAAQ,GAAG,OAAO;QAElB,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,ibAAib,EACjb;YACE,YAAY;YACZ,KAAK;YACL,aAAa;YACb,iBAAiB;YACjB,QAAQ,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SACnD,EACD,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,mBAAmB,EAAE,OAAO,EAAE;YAC/D,YAAY;YACZ,KAAK;YACL,aAAa;YACb,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,qBAAqB,CAC1B,WAAmB,EACnB,SAAiB,EACjB,UAAkB,EAClB,SAAmD,EACnD,QAAgD,EAChD,QAAQ,GAAG,OAAO;QAElB,MAAM,OAAO,GAAG,IAAA,0BAAgB,EAC9B,4aAA4a,EAC5a,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAC3D,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,SAAS,CAAC,qBAAa,CAAC,uBAAuB,EAAE,OAAO,EAAE;YACnE,WAAW;YACX,SAAS;YACT,UAAU;YACV,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;CACF;AApbD,8BAobC"}
@@ -7,9 +7,6 @@
7
7
  *
8
8
  * Import from specific files when possible to minimize module loading.
9
9
  */
10
-
11
- // Re-export from base (no core dependencies)
12
10
  export * from './base';
13
-
14
- // Re-export from translatable (uses lazy initialization)
15
11
  export * from './translatable-exports';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,QAAQ,CAAC;AAGvB,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * Error exports
4
+ *
5
+ * This barrel export is split into separate files to avoid circular dependencies:
6
+ * - base.ts: Base error classes without core dependencies
7
+ * - translatable-exports.ts: Errors that use lazy initialization with core modules
8
+ *
9
+ * Import from specific files when possible to minimize module loading.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const tslib_1 = require("tslib");
13
+ // Re-export from base (no core dependencies)
14
+ tslib_1.__exportStar(require("./base"), exports);
15
+ // Re-export from translatable (uses lazy initialization)
16
+ tslib_1.__exportStar(require("./translatable-exports"), exports);
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,6CAA6C;AAC7C,iDAAuB;AAEvB,yDAAyD;AACzD,iEAAuC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * TypedError class with proper type safety
3
+ *
4
+ * This class provides a type-safe way to create errors with additional
5
+ * properties without using type casts. It extends the standard Error class
6
+ * and adds support for:
7
+ * - type: Error type classification
8
+ * - componentId: Component identifier where error originated
9
+ * - reasonMap: Map of reasons or context for the error
10
+ * - metadata: Additional metadata associated with the error
11
+ * - cause: Error cause chaining (ES2022 standard)
12
+ */
13
+ export interface TypedErrorOptions {
14
+ /**
15
+ * Error type classification (e.g., 'validation', 'network', 'auth')
16
+ */
17
+ type: string;
18
+ /**
19
+ * Component identifier where the error originated
20
+ */
21
+ componentId?: string;
22
+ /**
23
+ * Map of reasons or context for the error
24
+ */
25
+ reasonMap?: Record<string, unknown>;
26
+ /**
27
+ * Additional metadata associated with the error
28
+ */
29
+ metadata?: Record<string, unknown>;
30
+ /**
31
+ * The cause of this error (for error chaining)
32
+ */
33
+ cause?: Error;
34
+ }
35
+ /**
36
+ * TypedError class that extends Error with additional type-safe properties
37
+ */
38
+ export declare class TypedError extends Error {
39
+ readonly type: string;
40
+ readonly componentId?: string;
41
+ readonly reasonMap?: Record<string, unknown>;
42
+ readonly metadata?: Record<string, unknown>;
43
+ constructor(message: string, options: TypedErrorOptions);
44
+ /**
45
+ * Check if an error is a TypedError
46
+ */
47
+ static isTypedError(error: unknown): error is TypedError;
48
+ /**
49
+ * Convert a standard Error to a TypedError
50
+ */
51
+ static fromError(error: Error, options: Omit<TypedErrorOptions, 'cause'>): TypedError;
52
+ }
53
+ //# sourceMappingURL=simple-typed-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-typed-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/simple-typed-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAyB,IAAI,EAAE,MAAM,CAAC;IACtC,SAAyB,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9C,SAAyB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,SAAyB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEhD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;IAYvD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU;IAIxD;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GACxC,UAAU;CAMd"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /**
3
+ * TypedError class with proper type safety
4
+ *
5
+ * This class provides a type-safe way to create errors with additional
6
+ * properties without using type casts. It extends the standard Error class
7
+ * and adds support for:
8
+ * - type: Error type classification
9
+ * - componentId: Component identifier where error originated
10
+ * - reasonMap: Map of reasons or context for the error
11
+ * - metadata: Additional metadata associated with the error
12
+ * - cause: Error cause chaining (ES2022 standard)
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TypedError = void 0;
16
+ /**
17
+ * TypedError class that extends Error with additional type-safe properties
18
+ */
19
+ class TypedError extends Error {
20
+ type;
21
+ componentId;
22
+ reasonMap;
23
+ metadata;
24
+ constructor(message, options) {
25
+ super(message, { cause: options.cause });
26
+ this.type = options.type;
27
+ this.componentId = options.componentId;
28
+ this.reasonMap = options.reasonMap;
29
+ this.metadata = options.metadata;
30
+ this.name = 'TypedError';
31
+ // Maintain proper prototype chain
32
+ Object.setPrototypeOf(this, TypedError.prototype);
33
+ }
34
+ /**
35
+ * Check if an error is a TypedError
36
+ */
37
+ static isTypedError(error) {
38
+ return error instanceof TypedError;
39
+ }
40
+ /**
41
+ * Convert a standard Error to a TypedError
42
+ */
43
+ static fromError(error, options) {
44
+ return new TypedError(error.message, {
45
+ ...options,
46
+ cause: error,
47
+ });
48
+ }
49
+ }
50
+ exports.TypedError = TypedError;
51
+ //# sourceMappingURL=simple-typed-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-typed-error.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/simple-typed-error.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AA6BH;;GAEG;AACH,MAAa,UAAW,SAAQ,KAAK;IACV,IAAI,CAAS;IACb,WAAW,CAAU;IACrB,SAAS,CAA2B;IACpC,QAAQ,CAA2B;IAE5D,YAAY,OAAe,EAAE,OAA0B;QACrD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QAEzB,kCAAkC;QAClC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAc;QAChC,OAAO,KAAK,YAAY,UAAU,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,KAAY,EACZ,OAAyC;QAEzC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;YACnC,GAAG,OAAO;YACV,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;CACF;AArCD,gCAqCC"}
@@ -2,7 +2,6 @@
2
2
  * Translatable error exports that use lazy initialization
3
3
  * These errors depend on core modules but use lazy loading patterns
4
4
  */
5
-
6
5
  export * from './context-error';
7
6
  export * from './i18n-error';
8
7
  export * from './translatable';
@@ -10,3 +9,4 @@ export * from './translatable-generic';
10
9
  export * from './translatable-handleable-generic';
11
10
  export * from './typed';
12
11
  export * from './typed-handleable';
12
+ //# sourceMappingURL=translatable-exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translatable-exports.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/translatable-exports.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Translatable error exports that use lazy initialization
4
+ * These errors depend on core modules but use lazy loading patterns
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const tslib_1 = require("tslib");
8
+ tslib_1.__exportStar(require("./context-error"), exports);
9
+ tslib_1.__exportStar(require("./i18n-error"), exports);
10
+ tslib_1.__exportStar(require("./translatable"), exports);
11
+ tslib_1.__exportStar(require("./translatable-generic"), exports);
12
+ tslib_1.__exportStar(require("./translatable-handleable-generic"), exports);
13
+ tslib_1.__exportStar(require("./typed"), exports);
14
+ tslib_1.__exportStar(require("./typed-handleable"), exports);
15
+ //# sourceMappingURL=translatable-exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translatable-exports.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/translatable-exports.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,0DAAgC;AAChC,uDAA6B;AAC7B,yDAA+B;AAC/B,iEAAuC;AACvC,4EAAkD;AAClD,kDAAwB;AACxB,6DAAmC"}
@@ -0,0 +1,87 @@
1
+ import { I18nEngine } from '../core/i18n-engine';
2
+ import { GenderCategory } from '../gender/gender-categories';
3
+ /**
4
+ * Generic translatable error that works with any plugin engine and component.
5
+ *
6
+ * Uses lazy initialization to avoid circular dependencies with core modules.
7
+ * The I18nEngine is only accessed when the error is constructed, not at module load time.
8
+ *
9
+ * **Full i18n 3.0/3.5 Feature Support:**
10
+ * - ICU MessageFormat (all formatters: plural, select, selectordinal)
11
+ * - Pluralization for 37 languages with CLDR rules
12
+ * - Gender-aware translations (male, female, neutral, other)
13
+ * - Number formatting (integer, currency, percent)
14
+ * - Date/Time formatting (short, medium, long, full)
15
+ * - Nested messages up to 4 levels deep
16
+ * - Context variable injection
17
+ *
18
+ * **Usage Examples:**
19
+ * ```typescript
20
+ * // Plural-aware error
21
+ * new TranslatableGenericError('component', 'errorKey', { count: 5 });
22
+ * // Translation: \"{count, plural, one {# error} other {# errors}}\"
23
+ *
24
+ * // Gender-aware error
25
+ * new TranslatableGenericError('component', 'userError', { gender: 'female', name: 'Alice' });
26
+ * // Translation: \"{gender, select, male {He} female {She}} {name} caused an error\"
27
+ *
28
+ * // Number formatting
29
+ * new TranslatableGenericError('component', 'thresholdError', { value: 1500.50, limit: 1000 });
30
+ * // Translation: \"Value {value, number, currency} exceeds {limit, number, currency}\"
31
+ *
32
+ * // SelectOrdinal
33
+ * new TranslatableGenericError('component', 'stepError', { step: 3 });
34
+ * // Translation: \"Failed at {step, selectordinal, one {#st} two {#nd} few {#rd} other {#th}} step\"
35
+ * ```
36
+ */
37
+ export declare class TranslatableGenericError<TStringKey extends string = string> extends Error {
38
+ readonly stringKey: TStringKey;
39
+ readonly componentId: string;
40
+ readonly language?: string;
41
+ readonly variables?: Record<string, string | number>;
42
+ readonly metadata?: Record<string, any>;
43
+ /**
44
+ * Create a translatable error
45
+ * @param componentId - The component ID to translate from
46
+ * @param stringKey - The translation key
47
+ * @param variables - Variables for interpolation
48
+ * @param language - Optional language override
49
+ * @param metadata - Additional error metadata
50
+ * @param instanceKey - Optional engine instance key
51
+ */
52
+ constructor(componentId: string, stringKey: TStringKey, variables?: Record<string, string | number>, language?: string, metadata?: Record<string, any>, instanceKey?: string);
53
+ /**
54
+ * Create error with explicit engine instance
55
+ */
56
+ static withEngine<TStringKey extends string>(engine: I18nEngine, componentId: string, stringKey: TStringKey, variables?: Record<string, string | number>, language?: string, metadata?: Record<string, any>): TranslatableGenericError<TStringKey>;
57
+ /**
58
+ * Retranslate the error message in a different language
59
+ */
60
+ retranslate(language: string, instanceKey?: string): string;
61
+ /**
62
+ * Create error with plural count
63
+ * Translation string should use ICU plural format
64
+ */
65
+ static withCount<TStringKey extends string>(componentId: string, stringKey: TStringKey, count: number, otherVars?: Record<string, string | number>, language?: string, instanceKey?: string): TranslatableGenericError<TStringKey>;
66
+ /**
67
+ * Create error with gender context
68
+ * Translation string should use ICU select format
69
+ */
70
+ static withGender<TStringKey extends string>(componentId: string, stringKey: TStringKey, gender: GenderCategory, otherVars?: Record<string, string | number>, language?: string, instanceKey?: string): TranslatableGenericError<TStringKey>;
71
+ /**
72
+ * Create error with ordinal number
73
+ * Translation string should use ICU selectordinal format
74
+ */
75
+ static withOrdinal<TStringKey extends string>(componentId: string, stringKey: TStringKey, ordinalNumber: number, otherVars?: Record<string, string | number>, language?: string, instanceKey?: string): TranslatableGenericError<TStringKey>;
76
+ /**
77
+ * Create error with number formatting
78
+ * Translation string should use ICU number format
79
+ */
80
+ static withNumberFormat<TStringKey extends string>(componentId: string, stringKey: TStringKey, value: number, otherVars?: Record<string, string | number>, language?: string, instanceKey?: string): TranslatableGenericError<TStringKey>;
81
+ /**
82
+ * Create error with multiple i18n features combined
83
+ * Translation string can use nested ICU messages
84
+ */
85
+ static withMultipleFeatures<TStringKey extends string>(componentId: string, stringKey: TStringKey, features: Record<string, string | number>, language?: string, instanceKey?: string): TranslatableGenericError<TStringKey>;
86
+ }
87
+ //# sourceMappingURL=translatable-generic.d.ts.map