@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,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.japaneseStrings = void 0;
4
+ const core_string_key_1 = require("../core-string-key");
5
+ exports.japaneseStrings = {
6
+ // Common/General
7
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'はい',
8
+ [core_string_key_1.CoreStringKey.Common_No]: 'いいえ',
9
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'キャンセル',
10
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
11
+ [core_string_key_1.CoreStringKey.Common_Save]: '保存',
12
+ [core_string_key_1.CoreStringKey.Common_Delete]: '削除',
13
+ [core_string_key_1.CoreStringKey.Common_Edit]: '編集',
14
+ [core_string_key_1.CoreStringKey.Common_Create]: '作成',
15
+ [core_string_key_1.CoreStringKey.Common_Update]: '更新',
16
+ [core_string_key_1.CoreStringKey.Common_Loading]: '読み込み中...',
17
+ [core_string_key_1.CoreStringKey.Common_Error]: 'エラー',
18
+ [core_string_key_1.CoreStringKey.Common_Success]: '成功',
19
+ [core_string_key_1.CoreStringKey.Common_Warning]: '警告',
20
+ [core_string_key_1.CoreStringKey.Common_Info]: '情報',
21
+ [core_string_key_1.CoreStringKey.Common_Disposed]: 'オブジェクトは破棄されました',
22
+ [core_string_key_1.CoreStringKey.Common_Test]: 'テスト',
23
+ // Error Messages
24
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: '無効な入力が提供されました',
25
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: 'ネットワーク接続エラー',
26
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'リソースが見つかりません',
27
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'アクセスが拒否されました',
28
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: '内部サーバーエラー',
29
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: '検証に失敗しました',
30
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: 'このフィールドは必須です',
31
+ [core_string_key_1.CoreStringKey.Error_InvalidContext]: '無効なコンテキスト',
32
+ [core_string_key_1.CoreStringKey.Error_InvalidContextTemplate]: '無効なコンテキスト:{contextKey}',
33
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyTemplate]: '翻訳キーが見つかりません:{stringKey}',
34
+ [core_string_key_1.CoreStringKey.Error_InvalidCurrencyCodeTemplate]: '無効な通貨コード:{value}',
35
+ // Registry Error Templates
36
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'コンポーネント "{componentId}" が見つかりません',
37
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: '言語 "{language}" が見つかりません',
38
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'コンポーネント "{componentId}" の文字列キー "{stringKey}" が見つかりません',
39
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'コンポーネント "{componentId}" の登録が不完全です:{missingCount} 個の文字列が不足しています',
40
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'コンポーネント "{componentId}" は既に登録されています',
41
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: '言語 "{languageId}" は既に登録されています',
42
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'コンポーネント "{componentId}" の検証に失敗しました:{errorCount} 個のエラー',
43
+ // System Messages
44
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'ようこそ',
45
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'さようなら',
46
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'お待ちください...',
47
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'リクエストを処理中...',
48
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: '操作が正常に完了しました',
49
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: '利用可能なデータがありません',
50
+ [core_string_key_1.CoreStringKey.Error_InstanceAlreadyExistsTemplate]: "キー'{key}'のインスタンスは既に存在します",
51
+ [core_string_key_1.CoreStringKey.Error_InstanceNotFoundTemplate]: "キー'{key}'のインスタンスが見つかりません",
52
+ [core_string_key_1.CoreStringKey.Error_MissingStringCollectionTemplate]: '言語の文字列コレクションがありません: {language}',
53
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationTemplate]: "言語'{language}'でキー'{key}'の翻訳がありません",
54
+ [core_string_key_1.CoreStringKey.Error_DefaultLanguageNoCollectionTemplate]: "デフォルト言語'{language}'に文字列コレクションがありません",
55
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyForTypeTemplate]: 'タイプの翻訳キーがありません: {type}',
56
+ };
57
+ //# sourceMappingURL=ja.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/strings/ja.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CoreStringKey } from '../core-string-key';
2
+ export declare const ukrainianStrings: Record<CoreStringKey, string>;
3
+ //# sourceMappingURL=uk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/strings/uk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAsEtD,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ukrainianStrings = void 0;
4
+ const core_string_key_1 = require("../core-string-key");
5
+ exports.ukrainianStrings = {
6
+ // Common/General
7
+ [core_string_key_1.CoreStringKey.Common_Yes]: 'Так',
8
+ [core_string_key_1.CoreStringKey.Common_No]: 'Ні',
9
+ [core_string_key_1.CoreStringKey.Common_Cancel]: 'Скасувати',
10
+ [core_string_key_1.CoreStringKey.Common_OK]: 'OK',
11
+ [core_string_key_1.CoreStringKey.Common_Save]: 'Зберегти',
12
+ [core_string_key_1.CoreStringKey.Common_Delete]: 'Видалити',
13
+ [core_string_key_1.CoreStringKey.Common_Edit]: 'Редагувати',
14
+ [core_string_key_1.CoreStringKey.Common_Create]: 'Створити',
15
+ [core_string_key_1.CoreStringKey.Common_Update]: 'Оновити',
16
+ [core_string_key_1.CoreStringKey.Common_Loading]: 'Завантаження...',
17
+ [core_string_key_1.CoreStringKey.Common_Error]: 'Помилка',
18
+ [core_string_key_1.CoreStringKey.Common_Success]: 'Успіх',
19
+ [core_string_key_1.CoreStringKey.Common_Warning]: 'Попередження',
20
+ [core_string_key_1.CoreStringKey.Common_Info]: 'Інформація',
21
+ [core_string_key_1.CoreStringKey.Common_Disposed]: "Об'єкт було звільнено",
22
+ [core_string_key_1.CoreStringKey.Common_Test]: 'Тест',
23
+ // Error Messages
24
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: 'Надано неправильний ввід',
25
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: "Помилка мережевого з'єднання",
26
+ [core_string_key_1.CoreStringKey.Error_NotFound]: 'Ресурс не знайдено',
27
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: 'Доступ заборонено',
28
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: 'Внутрішня помилка сервера',
29
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: 'Перевірка не вдалася',
30
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: "Це поле є обов'язковим",
31
+ [core_string_key_1.CoreStringKey.Error_InvalidContext]: 'Неправильний контекст',
32
+ [core_string_key_1.CoreStringKey.Error_InvalidContextTemplate]: 'Неправильний контекст: {contextKey}',
33
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyTemplate]: 'Відсутній ключ перекладу: {stringKey}',
34
+ [core_string_key_1.CoreStringKey.Error_InvalidCurrencyCodeTemplate]: 'Неправильний код валюти: {value}',
35
+ // Registry Error Templates
36
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: 'Компонент "{componentId}" не знайдено',
37
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: 'Мову "{language}" не знайдено',
38
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: 'Ключ рядка "{stringKey}" не знайдено для компонента "{componentId}"',
39
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: 'Неповна реєстрація для компонента "{componentId}": не вистачає {missingCount} рядків',
40
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: 'Компонент "{componentId}" вже зареєстровано',
41
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: 'Мову "{languageId}" вже зареєстровано',
42
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: 'Перевірка не вдалася для компонента "{componentId}": {errorCount} помилок',
43
+ // System Messages
44
+ [core_string_key_1.CoreStringKey.System_Welcome]: 'Ласкаво просимо',
45
+ [core_string_key_1.CoreStringKey.System_Goodbye]: 'До побачення',
46
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: 'Будь ласка, зачекайте...',
47
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: 'Обробка вашого запиту...',
48
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: 'Операція успішно завершена',
49
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: 'Дані недоступні',
50
+ [core_string_key_1.CoreStringKey.Error_InstanceAlreadyExistsTemplate]: "Екземпляр з ключем '{key}' вже існує",
51
+ [core_string_key_1.CoreStringKey.Error_InstanceNotFoundTemplate]: "Екземпляр з ключем '{key}' не знайдено",
52
+ [core_string_key_1.CoreStringKey.Error_MissingStringCollectionTemplate]: 'Відсутня колекція рядків для мови: {language}',
53
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationTemplate]: "Відсутній переклад для ключа '{key}' в мові '{language}'",
54
+ [core_string_key_1.CoreStringKey.Error_DefaultLanguageNoCollectionTemplate]: "Мова за замовчуванням '{language}' не має колекції рядків",
55
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyForTypeTemplate]: 'Відсутній ключ перекладу для типу: {type}',
56
+ };
57
+ //# sourceMappingURL=uk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/strings/uk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CoreStringKey } from '../core-string-key';
2
+ export declare const mandarinStrings: Record<CoreStringKey, string>;
3
+ //# sourceMappingURL=zh-CN.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/strings/zh-CN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAqErD,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mandarinStrings = void 0;
4
+ const core_string_key_1 = require("../core-string-key");
5
+ exports.mandarinStrings = {
6
+ // Common/General
7
+ [core_string_key_1.CoreStringKey.Common_Yes]: '是',
8
+ [core_string_key_1.CoreStringKey.Common_No]: '否',
9
+ [core_string_key_1.CoreStringKey.Common_Cancel]: '取消',
10
+ [core_string_key_1.CoreStringKey.Common_OK]: '确定',
11
+ [core_string_key_1.CoreStringKey.Common_Save]: '保存',
12
+ [core_string_key_1.CoreStringKey.Common_Delete]: '删除',
13
+ [core_string_key_1.CoreStringKey.Common_Edit]: '编辑',
14
+ [core_string_key_1.CoreStringKey.Common_Create]: '创建',
15
+ [core_string_key_1.CoreStringKey.Common_Update]: '更新',
16
+ [core_string_key_1.CoreStringKey.Common_Loading]: '加载中...',
17
+ [core_string_key_1.CoreStringKey.Common_Error]: '错误',
18
+ [core_string_key_1.CoreStringKey.Common_Success]: '成功',
19
+ [core_string_key_1.CoreStringKey.Common_Warning]: '警告',
20
+ [core_string_key_1.CoreStringKey.Common_Info]: '信息',
21
+ [core_string_key_1.CoreStringKey.Common_Disposed]: '对象已被释放',
22
+ [core_string_key_1.CoreStringKey.Common_Test]: '测试',
23
+ // Error Messages
24
+ [core_string_key_1.CoreStringKey.Error_InvalidInput]: '提供的输入无效',
25
+ [core_string_key_1.CoreStringKey.Error_NetworkError]: '网络连接错误',
26
+ [core_string_key_1.CoreStringKey.Error_NotFound]: '未找到资源',
27
+ [core_string_key_1.CoreStringKey.Error_AccessDenied]: '访问被拒绝',
28
+ [core_string_key_1.CoreStringKey.Error_InternalServer]: '内部服务器错误',
29
+ [core_string_key_1.CoreStringKey.Error_ValidationFailed]: '验证失败',
30
+ [core_string_key_1.CoreStringKey.Error_RequiredField]: '此字段为必填项',
31
+ [core_string_key_1.CoreStringKey.Error_InvalidContext]: '无效的上下文',
32
+ [core_string_key_1.CoreStringKey.Error_InvalidContextTemplate]: '无效的上下文:{contextKey}',
33
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyTemplate]: '缺少翻译键:{stringKey}',
34
+ [core_string_key_1.CoreStringKey.Error_InvalidCurrencyCodeTemplate]: '无效的货币代码:{value}',
35
+ // Registry Error Templates
36
+ [core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate]: '未找到组件 "{componentId}"',
37
+ [core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate]: '未找到语言 "{language}"',
38
+ [core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate]: '组件 "{componentId}" 未找到字符串键 "{stringKey}"',
39
+ [core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate]: '组件 "{componentId}" 注册不完整:缺少 {missingCount} 个字符串',
40
+ [core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate]: '组件 "{componentId}" 已注册',
41
+ [core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate]: '语言 "{languageId}" 已注册',
42
+ [core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate]: '组件 "{componentId}" 验证失败:{errorCount} 个错误',
43
+ // System Messages
44
+ [core_string_key_1.CoreStringKey.System_Welcome]: '欢迎',
45
+ [core_string_key_1.CoreStringKey.System_Goodbye]: '再见',
46
+ [core_string_key_1.CoreStringKey.System_PleaseWait]: '请稍候...',
47
+ [core_string_key_1.CoreStringKey.System_ProcessingRequest]: '正在处理您的请求...',
48
+ [core_string_key_1.CoreStringKey.System_OperationComplete]: '操作成功完成',
49
+ [core_string_key_1.CoreStringKey.System_NoDataAvailable]: '无可用数据',
50
+ [core_string_key_1.CoreStringKey.Error_InstanceAlreadyExistsTemplate]: "键为'{key}'的实例已存在",
51
+ [core_string_key_1.CoreStringKey.Error_InstanceNotFoundTemplate]: "未找到键为'{key}'的实例",
52
+ [core_string_key_1.CoreStringKey.Error_MissingStringCollectionTemplate]: '缺少语言的字符串集合: {language}',
53
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationTemplate]: "在语言'{language}'中缺少键'{key}'的翻译",
54
+ [core_string_key_1.CoreStringKey.Error_DefaultLanguageNoCollectionTemplate]: "默认语言'{language}'没有字符串集合",
55
+ [core_string_key_1.CoreStringKey.Error_MissingTranslationKeyForTypeTemplate]: '类型缺少翻译键: {type}',
56
+ };
57
+ //# sourceMappingURL=zh-CN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/strings/zh-CN.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Template processing utilities for i18n
3
+ */
4
+ export type EnumKeys<T> = keyof T;
5
+ /**
6
+ * Recursive type to validate that all enum keys in the template string exist in the provided enum type
7
+ */
8
+ export type IsValidEnumTemplate<T extends string, TEnum> = T extends `${string}{{${string}.${infer Key}}}${infer Rest}` ? Key extends EnumKeys<TEnum> ? IsValidEnumTemplate<Rest, TEnum> : false : true;
9
+ /**
10
+ * Template function that processes {{EnumName.EnumKey}} patterns
11
+ */
12
+ export declare function createTemplateProcessor<TEnum extends Record<string, string>, TLanguage extends string>(enumObj: TEnum, translateFn: (key: TEnum[keyof TEnum], vars?: Record<string, string | number>, language?: TLanguage) => string, enumName: string): <T extends string>(str: IsValidEnumTemplate<T, TEnum> extends true ? T : never, language?: TLanguage, ...otherVars: Record<string, string | number>[]) => string;
13
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/template.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,MAAM,EAChB,KAAK,IACH,CAAC,SAAS,GAAG,MAAM,KAAK,MAAM,IAAI,MAAM,GAAG,KAAK,MAAM,IAAI,EAAE,GAC5D,GAAG,SAAS,QAAQ,CAAC,KAAK,CAAC,GACzB,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,GAChC,KAAK,GACP,IAAI,CAAC;AAET;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,SAAS,SAAS,MAAM,EAExB,OAAO,EAAE,KAAK,EACd,WAAW,EAAE,CACX,GAAG,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACtC,QAAQ,CAAC,EAAE,SAAS,KACjB,MAAM,EACX,QAAQ,EAAE,MAAM,IAEE,CAAC,SAAS,MAAM,EAChC,KAAK,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,EAC3D,WAAW,SAAS,EACpB,GAAG,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,KAC9C,MAAM,CAmCV"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTemplateProcessor = createTemplateProcessor;
4
+ /**
5
+ * Template function that processes {{EnumName.EnumKey}} patterns
6
+ */
7
+ function createTemplateProcessor(enumObj, translateFn, enumName) {
8
+ return function t(str, language, ...otherVars) {
9
+ let varIndex = 0;
10
+ // Limited pattern to prevent ReDoS
11
+ const pattern = new RegExp(`\\{\\{${enumName}\\.(\\w{1,50})\\}\\}`, 'g');
12
+ // First replace enum patterns
13
+ let result = str.replace(pattern, (match, enumKey) => {
14
+ const enumValue = enumObj[enumKey];
15
+ if (!enumValue) {
16
+ return match; // Return original if enum key not found
17
+ }
18
+ const needsVars = enumValue
19
+ .toLowerCase()
20
+ .endsWith('template');
21
+ const vars = needsVars ? (otherVars[varIndex++] ?? {}) : {};
22
+ return translateFn(enumValue, vars, language);
23
+ });
24
+ // Then replace any remaining variables from all otherVars
25
+ const allVars = {};
26
+ for (const vars of otherVars) {
27
+ for (const [key, value] of Object.entries(vars)) {
28
+ if (!['__proto__', 'constructor', 'prototype'].includes(key)) {
29
+ allVars[key] = value;
30
+ }
31
+ }
32
+ }
33
+ // Limited pattern to prevent ReDoS
34
+ result = result.replace(/\{(\w{1,50})\}/g, (match, varName) => {
35
+ return allVars[varName] !== undefined ? String(allVars[varName]) : match;
36
+ });
37
+ return result;
38
+ };
39
+ }
40
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/template.ts"],"names":[],"mappings":";;AAoBA,0DAmDC;AAtDD;;GAEG;AACH,SAAgB,uBAAuB,CAIrC,OAAc,EACd,WAIW,EACX,QAAgB;IAEhB,OAAO,SAAS,CAAC,CACf,GAA2D,EAC3D,QAAoB,EACpB,GAAG,SAA4C;QAE/C,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,mCAAmC;QACnC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,SAAS,QAAQ,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAEzE,8BAA8B;QAC9B,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAsB,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC,CAAC,wCAAwC;YACxD,CAAC;YAED,MAAM,SAAS,GAAI,SAAoB;iBACpC,WAAW,EAAE;iBACb,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,MAAM,OAAO,GAAoC,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QACD,mCAAmC;QACnC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5D,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Minimal interface for translation engines
3
+ * Allows flexibility in what can be used as a translation engine
4
+ */
5
+ export interface TranslationEngine<TStringKey extends string = string> {
6
+ translate: (componentId: string, key: TStringKey, vars?: Record<string, string | number>, lang?: any) => string;
7
+ safeTranslate: (componentId: string, key: TStringKey, vars?: Record<string, string | number>, lang?: any) => string;
8
+ }
9
+ //# sourceMappingURL=translation-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-engine.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM;IACnE,SAAS,EAAE,CACT,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACtC,IAAI,CAAC,EAAE,GAAG,KACP,MAAM,CAAC;IACZ,aAAa,EAAE,CACb,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACtC,IAAI,CAAC,EAAE,GAAG,KACP,MAAM,CAAC;CACb"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=translation-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-engine.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-engine.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Translation request interface
3
+ */
4
+ export interface TranslationRequest<TStringKeys extends string, TLanguages extends string> {
5
+ readonly componentId: string;
6
+ readonly stringKey: TStringKeys;
7
+ readonly language?: TLanguages;
8
+ readonly variables?: Record<string, string | number>;
9
+ }
10
+ //# sourceMappingURL=translation-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-request.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB,CACjC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM;IAEzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACtD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=translation-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-request.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Translation response interface
3
+ */
4
+ export interface TranslationResponse {
5
+ readonly translation: string;
6
+ readonly actualLanguage: string;
7
+ readonly wasFallback: boolean;
8
+ }
9
+ //# sourceMappingURL=translation-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-response.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=translation-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-response.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-response.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * I18n Engine type definitions
3
+ *
4
+ * This file provides type-safe interfaces for i18n engine implementations.
5
+ */
6
+ /**
7
+ * Generic I18n Engine interface with type-safe string key constraints
8
+ *
9
+ * This interface defines the core methods that any i18n engine implementation
10
+ * should provide, with proper generic constraints for string keys.
11
+ *
12
+ * @template TStringKeys - Union type of valid string keys for translation
13
+ */
14
+ export interface II18nEngine<TStringKeys extends string = string> {
15
+ /**
16
+ * Translate a string key with optional variables
17
+ * @param key - The translation key
18
+ * @param params - Optional parameters for interpolation
19
+ * @returns The translated string
20
+ */
21
+ translate(key: TStringKeys, params?: Record<string, unknown>): string;
22
+ /**
23
+ * Translate an enum value to a string
24
+ * @template T - The enum type
25
+ * @param enumObj - The enum object
26
+ * @param value - The enum value to translate
27
+ * @param language - Optional language override
28
+ * @returns The translated enum value
29
+ */
30
+ translateEnum<T extends Record<string, string | number>>(enumObj: T, value: T[keyof T], language?: string): string;
31
+ /**
32
+ * Set the current language for translations
33
+ * @param language - The language code to set
34
+ */
35
+ setLanguage(language: string): void;
36
+ /**
37
+ * Get the current language
38
+ * @returns The current language code
39
+ */
40
+ getLanguage(): string;
41
+ }
42
+ /**
43
+ * Re-export the main II18nEngine interface from interfaces
44
+ * This provides a centralized location for engine type imports
45
+ */
46
+ export type { II18nEngine as IMainI18nEngine } from '../interfaces/i18n-engine.interface';
47
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IAC9D;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAEtE;;;;;;;OAOG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrD,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC;IAEV;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC;;;OAGG;IACH,WAAW,IAAI,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,YAAY,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * I18n Engine type definitions
4
+ *
5
+ * This file provides type-safe interfaces for i18n engine implementations.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/engine.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Type exports
3
3
  */
4
-
5
4
  export * from './engine';
6
5
  export * from './plural-types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Type exports
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("tslib");
7
+ tslib_1.__exportStar(require("./engine"), exports);
8
+ tslib_1.__exportStar(require("./plural-types"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mDAAyB;AACzB,yDAA+B"}
@@ -1,24 +1,18 @@
1
1
  /**
2
2
  * Type definitions for pluralization support
3
3
  */
4
-
5
4
  import { PluralCategory } from '../pluralization/plural-categories';
6
-
7
5
  /**
8
6
  * A string value that can be either a simple string or an object with plural forms.
9
7
  * When using plural forms, the object should have keys matching PluralCategory values.
10
8
  */
11
9
  export type PluralString = string | Partial<Record<PluralCategory, string>>;
12
-
13
10
  /**
14
11
  * Check if a value is a plural string object (not a simple string).
15
12
  * @param value - The value to check
16
13
  * @returns True if the value is a plural string object, false if it's a simple string
17
14
  */
18
- export function isPluralString(value: any): value is Record<PluralCategory, string> {
19
- return typeof value === 'object' && value !== null && !Array.isArray(value);
20
- }
21
-
15
+ export declare function isPluralString(value: any): value is Record<PluralCategory, string>;
22
16
  /**
23
17
  * Get the appropriate plural form from a PluralString based on the category.
24
18
  * Falls back to 'other' if the exact category is not found, then to the first available form.
@@ -26,25 +20,5 @@ export function isPluralString(value: any): value is Record<PluralCategory, stri
26
20
  * @param category - The plural category to retrieve
27
21
  * @returns The resolved string, or undefined if no suitable form is found
28
22
  */
29
- export function resolvePluralString(
30
- value: PluralString,
31
- category: PluralCategory
32
- ): string | undefined {
33
- if (typeof value === 'string') {
34
- return value;
35
- }
36
-
37
- // Try exact match first
38
- if (value[category]) {
39
- return value[category];
40
- }
41
-
42
- // Fallback to 'other'
43
- if (value.other) {
44
- return value.other;
45
- }
46
-
47
- // Fallback to first available form
48
- const forms = Object.values(value);
49
- return forms.length > 0 ? forms[0] : undefined;
50
- }
23
+ export declare function resolvePluralString(value: PluralString, category: PluralCategory): string | undefined;
24
+ //# sourceMappingURL=plural-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plural-types.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/plural-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAElF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,cAAc,GACvB,MAAM,GAAG,SAAS,CAkBpB"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for pluralization support
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isPluralString = isPluralString;
7
+ exports.resolvePluralString = resolvePluralString;
8
+ /**
9
+ * Check if a value is a plural string object (not a simple string).
10
+ * @param value - The value to check
11
+ * @returns True if the value is a plural string object, false if it's a simple string
12
+ */
13
+ function isPluralString(value) {
14
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
15
+ }
16
+ /**
17
+ * Get the appropriate plural form from a PluralString based on the category.
18
+ * Falls back to 'other' if the exact category is not found, then to the first available form.
19
+ * @param value - The PluralString to resolve (either a string or plural forms object)
20
+ * @param category - The plural category to retrieve
21
+ * @returns The resolved string, or undefined if no suitable form is found
22
+ */
23
+ function resolvePluralString(value, category) {
24
+ if (typeof value === 'string') {
25
+ return value;
26
+ }
27
+ // Try exact match first
28
+ if (value[category]) {
29
+ return value[category];
30
+ }
31
+ // Fallback to 'other'
32
+ if (value.other) {
33
+ return value.other;
34
+ }
35
+ // Fallback to first available form
36
+ const forms = Object.values(value);
37
+ return forms.length > 0 ? forms[0] : undefined;
38
+ }
39
+ //# sourceMappingURL=plural-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plural-types.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/types/plural-types.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAeH,wCAEC;AASD,kDAqBC;AArCD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,KAAmB,EACnB,QAAwB;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wBAAwB;IACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,mCAAmC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC"}