@digitaldefiance/i18n-lib 3.6.1 → 3.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +9 -0
  2. package/package.json +1 -1
  3. package/src/active-context.d.ts +12 -6
  4. package/src/active-context.d.ts.map +1 -1
  5. package/src/component-registry.d.ts +44 -12
  6. package/src/component-registry.d.ts.map +1 -1
  7. package/src/component-registry.js +44 -12
  8. package/src/component-registry.js.map +1 -1
  9. package/src/context-error-type.d.ts +4 -0
  10. package/src/context-error-type.d.ts.map +1 -1
  11. package/src/context-error-type.js +4 -0
  12. package/src/context-error-type.js.map +1 -1
  13. package/src/core/component-store.d.ts +69 -1
  14. package/src/core/component-store.d.ts.map +1 -1
  15. package/src/core/component-store.js +69 -1
  16. package/src/core/component-store.js.map +1 -1
  17. package/src/core/context-manager.d.ts +53 -1
  18. package/src/core/context-manager.d.ts.map +1 -1
  19. package/src/core/context-manager.js +52 -4
  20. package/src/core/context-manager.js.map +1 -1
  21. package/src/core/enum-registry.d.ts +34 -0
  22. package/src/core/enum-registry.d.ts.map +1 -1
  23. package/src/core/enum-registry.js +34 -0
  24. package/src/core/enum-registry.js.map +1 -1
  25. package/src/core/i18n-engine.d.ts +186 -0
  26. package/src/core/i18n-engine.d.ts.map +1 -1
  27. package/src/core/i18n-engine.js +189 -17
  28. package/src/core/i18n-engine.js.map +1 -1
  29. package/src/core/language-registry.d.ts +139 -0
  30. package/src/core/language-registry.d.ts.map +1 -1
  31. package/src/core/language-registry.js +138 -0
  32. package/src/core/language-registry.js.map +1 -1
  33. package/src/core-i18n.d.ts.map +1 -1
  34. package/src/core-i18n.js +16 -416
  35. package/src/core-i18n.js.map +1 -1
  36. package/src/enum-registry.d.ts +41 -21
  37. package/src/enum-registry.d.ts.map +1 -1
  38. package/src/enum-registry.js +44 -24
  39. package/src/enum-registry.js.map +1 -1
  40. package/src/errors/context-error.d.ts +11 -0
  41. package/src/errors/context-error.d.ts.map +1 -1
  42. package/src/errors/context-error.js +11 -0
  43. package/src/errors/context-error.js.map +1 -1
  44. package/src/errors/handleable.d.ts +33 -0
  45. package/src/errors/handleable.d.ts.map +1 -1
  46. package/src/errors/handleable.js +33 -0
  47. package/src/errors/handleable.js.map +1 -1
  48. package/src/errors/i18n-error.d.ts +107 -0
  49. package/src/errors/i18n-error.d.ts.map +1 -1
  50. package/src/errors/i18n-error.js +104 -0
  51. package/src/errors/i18n-error.js.map +1 -1
  52. package/src/gender/gender-categories.d.ts +11 -0
  53. package/src/gender/gender-categories.d.ts.map +1 -1
  54. package/src/gender/gender-categories.js +5 -0
  55. package/src/gender/gender-categories.js.map +1 -1
  56. package/src/gender/gender-resolver.d.ts +6 -1
  57. package/src/gender/gender-resolver.d.ts.map +1 -1
  58. package/src/gender/gender-resolver.js +6 -1
  59. package/src/gender/gender-resolver.js.map +1 -1
  60. package/src/interfaces/component-config.interface.d.ts +6 -0
  61. package/src/interfaces/component-config.interface.d.ts.map +1 -1
  62. package/src/interfaces/engine-config.interface.d.ts +9 -0
  63. package/src/interfaces/engine-config.interface.d.ts.map +1 -1
  64. package/src/interfaces/handleable-error-options.d.ts +7 -0
  65. package/src/interfaces/handleable-error-options.d.ts.map +1 -1
  66. package/src/interfaces/handleable.d.ts +15 -0
  67. package/src/interfaces/handleable.d.ts.map +1 -1
  68. package/src/interfaces/i18n-engine.interface.d.ts +20 -0
  69. package/src/interfaces/i18n-engine.interface.d.ts.map +1 -1
  70. package/src/interfaces/language-definition.interface.d.ts +7 -0
  71. package/src/interfaces/language-definition.interface.d.ts.map +1 -1
  72. package/src/interfaces/translation-options.interface.d.ts +6 -0
  73. package/src/interfaces/translation-options.interface.d.ts.map +1 -1
  74. package/src/interfaces/validation-result.interface.d.ts +10 -0
  75. package/src/interfaces/validation-result.interface.d.ts.map +1 -1
  76. package/src/registry-error-type.d.ts +7 -0
  77. package/src/registry-error-type.d.ts.map +1 -1
  78. package/src/registry-error-type.js +7 -0
  79. package/src/registry-error-type.js.map +1 -1
  80. package/src/strings/de.d.ts +3 -0
  81. package/src/strings/de.d.ts.map +1 -0
  82. package/src/strings/de.js +57 -0
  83. package/src/strings/de.js.map +1 -0
  84. package/src/strings/en-GB.d.ts +3 -0
  85. package/src/strings/en-GB.d.ts.map +1 -0
  86. package/src/strings/en-GB.js +57 -0
  87. package/src/strings/en-GB.js.map +1 -0
  88. package/src/strings/en-US.d.ts +3 -0
  89. package/src/strings/en-US.d.ts.map +1 -0
  90. package/src/strings/en-US.js +57 -0
  91. package/src/strings/en-US.js.map +1 -0
  92. package/src/strings/es.d.ts +3 -0
  93. package/src/strings/es.d.ts.map +1 -0
  94. package/src/strings/es.js +57 -0
  95. package/src/strings/es.js.map +1 -0
  96. package/src/strings/fr.d.ts +3 -0
  97. package/src/strings/fr.d.ts.map +1 -0
  98. package/src/strings/fr.js +57 -0
  99. package/src/strings/fr.js.map +1 -0
  100. package/src/strings/ja.d.ts +3 -0
  101. package/src/strings/ja.d.ts.map +1 -0
  102. package/src/strings/ja.js +57 -0
  103. package/src/strings/ja.js.map +1 -0
  104. package/src/strings/uk.d.ts +3 -0
  105. package/src/strings/uk.d.ts.map +1 -0
  106. package/src/strings/uk.js +57 -0
  107. package/src/strings/uk.js.map +1 -0
  108. package/src/strings/zh-CN.d.ts +3 -0
  109. package/src/strings/zh-CN.d.ts.map +1 -0
  110. package/src/strings/zh-CN.js +57 -0
  111. package/src/strings/zh-CN.js.map +1 -0
  112. package/src/types/plural-types.d.ts +10 -3
  113. package/src/types/plural-types.d.ts.map +1 -1
  114. package/src/types/plural-types.js +8 -2
  115. package/src/types/plural-types.js.map +1 -1
  116. package/src/utils/currency.d.ts +53 -0
  117. package/src/utils/currency.d.ts.map +1 -1
  118. package/src/utils/currency.js +35 -0
  119. package/src/utils/currency.js.map +1 -1
  120. package/src/utils/html-escape.d.ts +14 -0
  121. package/src/utils/html-escape.d.ts.map +1 -1
  122. package/src/utils/html-escape.js +20 -0
  123. package/src/utils/html-escape.js.map +1 -1
  124. package/src/utils/lru-cache.d.ts +29 -0
  125. package/src/utils/lru-cache.d.ts.map +1 -1
  126. package/src/utils/lru-cache.js +29 -0
  127. package/src/utils/lru-cache.js.map +1 -1
  128. package/src/utils/plural-helpers.d.ts +16 -0
  129. package/src/utils/plural-helpers.d.ts.map +1 -1
  130. package/src/utils/plural-helpers.js +16 -0
  131. package/src/utils/plural-helpers.js.map +1 -1
  132. package/src/utils/safe-object.d.ts +30 -0
  133. package/src/utils/safe-object.d.ts.map +1 -1
  134. package/src/utils/safe-object.js +33 -0
  135. package/src/utils/safe-object.js.map +1 -1
  136. package/src/utils/string-utils.d.ts +19 -0
  137. package/src/utils/string-utils.d.ts.map +1 -1
  138. package/src/utils/string-utils.js +18 -1
  139. package/src/utils/string-utils.js.map +1 -1
  140. package/src/utils/timezone.d.ts +36 -0
  141. package/src/utils/timezone.d.ts.map +1 -1
  142. package/src/utils/timezone.js +36 -0
  143. package/src/utils/timezone.js.map +1 -1
  144. package/src/utils/validation.d.ts +25 -0
  145. package/src/utils/validation.d.ts.map +1 -1
  146. package/src/utils/validation.js +25 -0
  147. package/src/utils/validation.js.map +1 -1
  148. package/src/validation/plural-validator.d.ts +25 -2
  149. package/src/validation/plural-validator.d.ts.map +1 -1
  150. package/src/validation/plural-validator.js +22 -4
  151. package/src/validation/plural-validator.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"enum-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/enum-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,qBAAa,uBAAuB,CAClC,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM;IAExB,SAAS,CAAC,YAAY,mFAGlB;IACJ,SAAS,CAAC,SAAS,uBAA8B;IACjD,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,WAAW,CAAC,EAAE,CACtB,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACvB,MAAM,CAAC;gBAGV,kBAAkB,EAAE,SAAS,EAAE,EAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM;IAMvE;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,YAAY,EAAE,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,EACvD,QAAQ,EAAE,MAAM,GACf,IAAI;IAMP;;;;;;OAMG;IACI,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,SAAS,GAClB,MAAM;IA2CT;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAgB7B"}
1
+ {"version":3,"file":"enum-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/enum-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;GAKG;AACH,qBAAa,uBAAuB,CAClC,UAAU,SAAS,MAAM,EACzB,SAAS,SAAS,MAAM;IAExB,SAAS,CAAC,YAAY,mFAA2D;IACjF,SAAS,CAAC,SAAS,uBAA8B;IACjD,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAEhF;;;;;OAKG;gBAED,kBAAkB,EAAE,SAAS,EAAE,EAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM;IAMvE;;;;;;;;OAQG;IACI,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,YAAY,EAAE,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,EACvD,QAAQ,EAAE,MAAM,GACf,IAAI;IAMP;;;;;;;;;OASG;IACI,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,SAAS,GAClB,MAAM;IA2CT;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAIjC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;CAgB7B"}
@@ -2,22 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnumTranslationRegistry = void 0;
4
4
  /**
5
- * Registry for managing enum translations across multiple languages.
5
+ * Registry for managing translations of enum values across multiple languages.
6
+ *
7
+ * @template TStringKey Type of translation key used in error messages.
8
+ * @template TLanguage Type of supported language codes.
6
9
  */
7
10
  class EnumTranslationRegistry {
8
11
  translations = new Map();
9
12
  enumNames = new WeakMap();
10
13
  availableLanguages;
11
14
  translateFn;
15
+ /**
16
+ * Creates a new EnumTranslationRegistry.
17
+ *
18
+ * @param availableLanguages Array of supported language codes.
19
+ * @param translateFn Optional translation function for error templates.
20
+ */
12
21
  constructor(availableLanguages, translateFn) {
13
22
  this.availableLanguages = new Set(availableLanguages);
14
23
  this.translateFn = translateFn;
15
24
  }
16
25
  /**
17
- * Registers an enumeration with its translations and a name.
18
- * @param enumObj The enumeration object
19
- * @param translations The translations for the enumeration
20
- * @param enumName The name of the enumeration
26
+ * Registers an enum and its language-specific translations.
27
+ *
28
+ * @template TEnum Enum value type (string or number).
29
+ * @param enumObj The enum object to register.
30
+ * @param translations Mapping of language codes to value-to-string translations.
31
+ * @param enumName Human-readable name of the enum (used in errors).
32
+ * @throws {Error} If translations contain languages not in availableLanguages.
21
33
  */
22
34
  register(enumObj, translations, enumName) {
23
35
  this.validateTranslations(translations, enumName);
@@ -25,11 +37,14 @@ class EnumTranslationRegistry {
25
37
  this.enumNames.set(enumObj, enumName);
26
38
  }
27
39
  /**
28
- * Translates a value from the given enumeration to the specified language.
29
- * @param enumObj The enumeration object
30
- * @param value The value to translate
31
- * @param language The target language for translation
32
- * @returns The translated string
40
+ * Translates a specific enum value into the target language.
41
+ *
42
+ * @template TEnum Enum value type.
43
+ * @param enumObj The enum object registered previously.
44
+ * @param value The enum value to translate.
45
+ * @param language The target language code.
46
+ * @returns The translated string.
47
+ * @throws {Error} If the enum or language or value is not found.
33
48
  */
34
49
  translate(enumObj, value, language) {
35
50
  const translations = this.translations.get(enumObj);
@@ -68,32 +83,37 @@ class EnumTranslationRegistry {
68
83
  return result;
69
84
  }
70
85
  /**
71
- * Gets the name of the enumeration.
72
- * @param enumObj The enumeration object
73
- * @returns The name of the enumeration
86
+ * Checks whether translations exist for the given enum object.
87
+ *
88
+ * @param enumObj The enum object to check.
89
+ * @returns True if registered, false otherwise.
74
90
  */
75
- getEnumName(enumObj) {
76
- return this.enumNames.get(enumObj) || 'UnknownEnum';
91
+ has(enumObj) {
92
+ return this.translations.has(enumObj);
77
93
  }
78
94
  /**
79
- * Checks if the registry has translations for the given enumeration.
80
- * @param enumObj The enumeration object
81
- * @returns True if translations exist, false otherwise
95
+ * Internal: Retrieves the human-readable name of the enum.
96
+ *
97
+ * @param enumObj The enum object.
98
+ * @returns Registered enum name or 'UnknownEnum' if not set.
82
99
  */
83
- has(enumObj) {
84
- return this.translations.has(enumObj);
100
+ getEnumName(enumObj) {
101
+ return this.enumNames.get(enumObj) || 'UnknownEnum';
85
102
  }
86
103
  /**
87
- * Validates that enum translations only contain available languages.
88
- * @param translations The translations to validate
89
- * @param enumName The name of the enumeration for error messages
104
+ * Internal: Validates that translation entries only use available languages.
105
+ *
106
+ * @template TEnum Enum value type.
107
+ * @param translations Mapping of language codes to translations.
108
+ * @param enumName Enum name for error reporting.
109
+ * @throws {Error} If a translation language is not available.
90
110
  */
91
111
  validateTranslations(translations, enumName) {
92
112
  for (const language of Object.keys(translations)) {
93
113
  if (!this.availableLanguages.has(language)) {
94
114
  const message = this.translateFn
95
115
  ? this.translateFn('Error_EnumLanguageNotAvailableTemplate', { language, enumName })
96
- : `Language '${language}' in enum '${enumName}' is not available in this engine instance`;
116
+ : `Language '${language}' in enum '${enumName}' is not available in this registry`;
97
117
  throw new Error(message);
98
118
  }
99
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enum-registry.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/enum-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enum-registry.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/enum-registry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,18 @@
1
1
  import { ContextErrorType } from '../context-error-type';
2
+ /**
3
+ * Error class for context-related failures in the i18n system.
4
+ * Thrown when attempting to access or manipulate an invalid or non-existent context.
5
+ */
2
6
  export declare class ContextError extends Error {
7
+ /** The type of context error */
3
8
  readonly type: ContextErrorType;
9
+ /** The context key that caused the error, if applicable */
4
10
  readonly contextKey?: string;
11
+ /**
12
+ * Creates a new ContextError instance.
13
+ * @param type - The type of context error
14
+ * @param contextKey - Optional context key that caused the error
15
+ */
5
16
  constructor(type: ContextErrorType, contextKey?: string);
6
17
  }
7
18
  //# sourceMappingURL=context-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/context-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,gBAAgB,CAAC;IACvC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAExB,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM;CAUxD"}
1
+ {"version":3,"file":"context-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/context-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,gCAAgC;IAChC,SAAgB,IAAI,EAAE,gBAAgB,CAAC;IACvC,2DAA2D;IAC3D,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;OAIG;gBACS,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM;CAUxD"}
@@ -3,9 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContextError = void 0;
4
4
  const core_i18n_1 = require("../core-i18n");
5
5
  const core_string_key_1 = require("../core-string-key");
6
+ /**
7
+ * Error class for context-related failures in the i18n system.
8
+ * Thrown when attempting to access or manipulate an invalid or non-existent context.
9
+ */
6
10
  class ContextError extends Error {
11
+ /** The type of context error */
7
12
  type;
13
+ /** The context key that caused the error, if applicable */
8
14
  contextKey;
15
+ /**
16
+ * Creates a new ContextError instance.
17
+ * @param type - The type of context error
18
+ * @param contextKey - Optional context key that caused the error
19
+ */
9
20
  constructor(type, contextKey) {
10
21
  const engine = (0, core_i18n_1.getCoreI18nEngine)();
11
22
  const message = contextKey
@@ -1 +1 @@
1
- {"version":3,"file":"context-error.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/context-error.ts"],"names":[],"mappings":";;;AACA,4CAAsE;AACtE,wDAAmD;AAEnD,MAAa,YAAa,SAAQ,KAAK;IACrB,IAAI,CAAmB;IACvB,UAAU,CAAU;IAEpC,YAAY,IAAsB,EAAE,UAAmB;QACrD,MAAM,MAAM,GAAG,IAAA,6BAAiB,GAAE,CAAC;QACnC,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,+BAAmB,EAAE,+BAAa,CAAC,4BAA4B,EAAE,EAAC,UAAU,EAAC,CAAC;YACrG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,+BAAmB,EAAE,+BAAa,CAAC,oBAAoB,CAAC,CAAC;QAClF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAdD,oCAcC"}
1
+ {"version":3,"file":"context-error.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/context-error.ts"],"names":[],"mappings":";;;AACA,4CAAsE;AACtE,wDAAmD;AAEnD;;;GAGG;AACH,MAAa,YAAa,SAAQ,KAAK;IACrC,gCAAgC;IAChB,IAAI,CAAmB;IACvC,2DAA2D;IAC3C,UAAU,CAAU;IAEpC;;;;OAIG;IACH,YAAY,IAAsB,EAAE,UAAmB;QACrD,MAAM,MAAM,GAAG,IAAA,6BAAiB,GAAE,CAAC;QACnC,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,+BAAmB,EAAE,+BAAa,CAAC,4BAA4B,EAAE,EAAC,UAAU,EAAC,CAAC;YACrG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,+BAAmB,EAAE,+BAAa,CAAC,oBAAoB,CAAC,CAAC;QAClF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AArBD,oCAqBC"}
@@ -1,14 +1,47 @@
1
1
  import { IHandleable } from '../interfaces/handleable';
2
2
  import { HandleableErrorOptions } from '../interfaces/handleable-error-options';
3
+ /**
4
+ * Base error class that implements IHandleable interface.
5
+ * Provides enhanced error handling capabilities including status codes, handled state tracking,
6
+ * and source data preservation.
7
+ */
3
8
  export declare class HandleableError extends Error implements IHandleable {
9
+ /** The original error that caused this error */
4
10
  readonly cause?: Error;
11
+ /** HTTP status code associated with this error */
5
12
  readonly statusCode: number;
13
+ /** Optional source data related to the error */
6
14
  readonly sourceData?: unknown;
15
+ /** Internal tracking of whether this error has been handled */
7
16
  private _handled;
17
+ /**
18
+ * Creates a new HandleableError instance.
19
+ * @param source - The original error being wrapped
20
+ * @param options - Optional configuration for the error
21
+ */
8
22
  constructor(source: Error, options?: HandleableErrorOptions);
23
+ /**
24
+ * Gets the handled state of this error.
25
+ * @returns True if the error has been handled, false otherwise
26
+ */
9
27
  get handled(): boolean;
28
+ /**
29
+ * Sets the handled state of this error.
30
+ * @param value - The new handled state
31
+ */
10
32
  set handled(value: boolean);
33
+ /**
34
+ * Serializes a value to a JSON-compatible format.
35
+ * Handles objects with toJSON methods, Error instances, arrays, and plain objects.
36
+ * @param value - The value to serialize
37
+ * @returns The serialized value
38
+ */
11
39
  private serializeValue;
40
+ /**
41
+ * Converts the error to a JSON-serializable object.
42
+ * Includes name, message, status code, handled state, stack trace, and optional source data.
43
+ * @returns A plain object representation of the error
44
+ */
12
45
  toJSON(): Record<string, unknown>;
13
46
  }
14
47
  //# sourceMappingURL=handleable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleable.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/handleable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAMhF,qBAAa,eAAgB,SAAQ,KAAM,YAAW,WAAW;IAC/D,SAAyB,KAAK,CAAC,EAAE,KAAK,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAU;gBAEd,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAsB3D,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,OAAO,EAEhC;IAED,OAAO,CAAC,cAAc;IAuBf,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAazC"}
1
+ {"version":3,"file":"handleable.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/handleable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAShF;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAM,YAAW,WAAW;IAC/D,gDAAgD;IAChD,SAAyB,KAAK,CAAC,EAAE,KAAK,CAAC;IACvC,kDAAkD;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,gDAAgD;IAChD,SAAgB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrC,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;OAIG;gBACS,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAsB3D;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;OAGG;IACH,IAAW,OAAO,CAAC,KAAK,EAAE,OAAO,EAEhC;IAED;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;;OAIG;IACI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAazC"}
@@ -1,11 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HandleableError = void 0;
4
+ /**
5
+ * Base error class that implements IHandleable interface.
6
+ * Provides enhanced error handling capabilities including status codes, handled state tracking,
7
+ * and source data preservation.
8
+ */
4
9
  class HandleableError extends Error {
10
+ /** The original error that caused this error */
5
11
  cause;
12
+ /** HTTP status code associated with this error */
6
13
  statusCode;
14
+ /** Optional source data related to the error */
7
15
  sourceData;
16
+ /** Internal tracking of whether this error has been handled */
8
17
  _handled;
18
+ /**
19
+ * Creates a new HandleableError instance.
20
+ * @param source - The original error being wrapped
21
+ * @param options - Optional configuration for the error
22
+ */
9
23
  constructor(source, options) {
10
24
  super(source.message);
11
25
  this.name = this.constructor.name;
@@ -25,12 +39,26 @@ class HandleableError extends Error {
25
39
  this.stack = new Error().stack;
26
40
  }
27
41
  }
42
+ /**
43
+ * Gets the handled state of this error.
44
+ * @returns True if the error has been handled, false otherwise
45
+ */
28
46
  get handled() {
29
47
  return this._handled;
30
48
  }
49
+ /**
50
+ * Sets the handled state of this error.
51
+ * @param value - The new handled state
52
+ */
31
53
  set handled(value) {
32
54
  this._handled = value;
33
55
  }
56
+ /**
57
+ * Serializes a value to a JSON-compatible format.
58
+ * Handles objects with toJSON methods, Error instances, arrays, and plain objects.
59
+ * @param value - The value to serialize
60
+ * @returns The serialized value
61
+ */
34
62
  serializeValue(value) {
35
63
  if (value &&
36
64
  typeof value === 'object' &&
@@ -49,6 +77,11 @@ class HandleableError extends Error {
49
77
  }
50
78
  return value;
51
79
  }
80
+ /**
81
+ * Converts the error to a JSON-serializable object.
82
+ * Includes name, message, status code, handled state, stack trace, and optional source data.
83
+ * @returns A plain object representation of the error
84
+ */
52
85
  toJSON() {
53
86
  return {
54
87
  name: this.name,
@@ -1 +1 @@
1
- {"version":3,"file":"handleable.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/handleable.ts"],"names":[],"mappings":";;;AAOA,MAAa,eAAgB,SAAQ,KAAK;IACf,KAAK,CAAS;IACvB,UAAU,CAAS;IACnB,UAAU,CAAW;IAC7B,QAAQ,CAAU;IAE1B,YAAY,MAAa,EAAE,OAAgC;QACzD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAE9B,sEAAsE;QACtE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,CAAC;aAAM,IAAK,KAAmC,CAAC,iBAAiB,EAAE,CAAC;YACjE,KAAmC,CAAC,iBAAiB,EAAE,CACtD,IAAI,EACJ,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,KAAc;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAEO,cAAc,CAAC,KAAc;QACnC,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,UAAU;gBACjB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;CACF;AAxED,0CAwEC"}
1
+ {"version":3,"file":"handleable.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/handleable.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,147 @@
1
1
  /**
2
2
  * Unified error class for i18n library
3
3
  */
4
+ /**
5
+ * Error codes used throughout the i18n library.
6
+ */
4
7
  export declare const I18nErrorCode: {
8
+ /** Component not found in registry */
5
9
  readonly COMPONENT_NOT_FOUND: "COMPONENT_NOT_FOUND";
10
+ /** String key not found in component */
6
11
  readonly STRING_KEY_NOT_FOUND: "STRING_KEY_NOT_FOUND";
12
+ /** Language not found in registry */
7
13
  readonly LANGUAGE_NOT_FOUND: "LANGUAGE_NOT_FOUND";
14
+ /** Translation missing for specified key and language */
8
15
  readonly TRANSLATION_MISSING: "TRANSLATION_MISSING";
16
+ /** Invalid configuration provided */
9
17
  readonly INVALID_CONFIG: "INVALID_CONFIG";
18
+ /** Attempt to register duplicate component */
10
19
  readonly DUPLICATE_COMPONENT: "DUPLICATE_COMPONENT";
20
+ /** Attempt to register duplicate language */
11
21
  readonly DUPLICATE_LANGUAGE: "DUPLICATE_LANGUAGE";
22
+ /** Validation failed during registration */
12
23
  readonly VALIDATION_FAILED: "VALIDATION_FAILED";
24
+ /** I18n instance not found */
13
25
  readonly INSTANCE_NOT_FOUND: "INSTANCE_NOT_FOUND";
26
+ /** I18n instance already exists */
14
27
  readonly INSTANCE_EXISTS: "INSTANCE_EXISTS";
28
+ /** Invalid context key provided */
15
29
  readonly INVALID_CONTEXT: "INVALID_CONTEXT";
30
+ /** Plural form not found for language and category */
16
31
  readonly PLURAL_FORM_NOT_FOUND: "PLURAL_FORM_NOT_FOUND";
32
+ /** Invalid plural category provided */
17
33
  readonly INVALID_PLURAL_CATEGORY: "INVALID_PLURAL_CATEGORY";
34
+ /** Count variable missing for plural translation */
18
35
  readonly MISSING_COUNT_VARIABLE: "MISSING_COUNT_VARIABLE";
19
36
  };
37
+ /**
38
+ * Type representing all possible i18n error codes.
39
+ */
20
40
  export type I18nErrorCode = (typeof I18nErrorCode)[keyof typeof I18nErrorCode];
41
+ /**
42
+ * Main error class for i18n-related errors.
43
+ * Includes error code and optional metadata for debugging.
44
+ */
21
45
  export declare class I18nError extends Error {
22
46
  readonly code: I18nErrorCode;
23
47
  readonly metadata?: Record<string, any> | undefined;
48
+ /**
49
+ * Creates a new I18nError instance.
50
+ * @param code - The specific error code
51
+ * @param message - Human-readable error message
52
+ * @param metadata - Optional metadata providing context about the error
53
+ */
24
54
  constructor(code: I18nErrorCode, message: string, metadata?: Record<string, any> | undefined);
55
+ /**
56
+ * Creates an error for when a component is not found.
57
+ * @param componentId - The ID of the component that was not found
58
+ * @returns An I18nError instance
59
+ */
25
60
  static componentNotFound(componentId: string): I18nError;
61
+ /**
62
+ * Creates an error for when a string key is not found in a component.
63
+ * @param componentId - The ID of the component
64
+ * @param stringKey - The string key that was not found
65
+ * @returns An I18nError instance
66
+ */
26
67
  static stringKeyNotFound(componentId: string, stringKey: string): I18nError;
68
+ /**
69
+ * Creates an error for when a language is not found.
70
+ * @param language - The language code that was not found
71
+ * @returns An I18nError instance
72
+ */
27
73
  static languageNotFound(language: string): I18nError;
74
+ /**
75
+ * Creates an error for when a translation is missing.
76
+ * @param componentId - The ID of the component
77
+ * @param stringKey - The string key
78
+ * @param language - The language code
79
+ * @returns An I18nError instance
80
+ */
28
81
  static translationMissing(componentId: string, stringKey: string, language: string): I18nError;
82
+ /**
83
+ * Creates an error for invalid configuration.
84
+ * @param reason - The reason why the configuration is invalid
85
+ * @returns An I18nError instance
86
+ */
29
87
  static invalidConfig(reason: string): I18nError;
88
+ /**
89
+ * Creates an error for duplicate component registration.
90
+ * @param componentId - The ID of the duplicate component
91
+ * @returns An I18nError instance
92
+ */
30
93
  static duplicateComponent(componentId: string): I18nError;
94
+ /**
95
+ * Creates an error for duplicate language registration.
96
+ * @param language - The language code that is duplicate
97
+ * @returns An I18nError instance
98
+ */
31
99
  static duplicateLanguage(language: string): I18nError;
100
+ /**
101
+ * Creates an error for validation failure.
102
+ * @param errors - Array of validation error messages
103
+ * @returns An I18nError instance
104
+ */
32
105
  static validationFailed(errors: string[]): I18nError;
106
+ /**
107
+ * Creates an error for when an i18n instance is not found.
108
+ * @param key - The instance key that was not found
109
+ * @returns An I18nError instance
110
+ */
33
111
  static instanceNotFound(key: string): I18nError;
112
+ /**
113
+ * Creates an error for when an i18n instance already exists.
114
+ * @param key - The instance key that already exists
115
+ * @returns An I18nError instance
116
+ */
34
117
  static instanceExists(key: string): I18nError;
118
+ /**
119
+ * Creates an error for an invalid context key.
120
+ * @param contextKey - The invalid context key
121
+ * @returns An I18nError instance
122
+ */
35
123
  static invalidContext(contextKey: string): I18nError;
124
+ /**
125
+ * Creates an error for when a plural form is not found.
126
+ * @param category - The plural category that was not found
127
+ * @param language - The language code
128
+ * @param key - The translation key
129
+ * @param availableForms - Array of available plural forms
130
+ * @returns An I18nError instance
131
+ */
36
132
  static pluralFormNotFound(category: string, language: string, key: string, availableForms: string[]): I18nError;
133
+ /**
134
+ * Creates an error for an invalid plural category.
135
+ * @param category - The invalid category
136
+ * @param validCategories - Array of valid categories
137
+ * @returns An I18nError instance
138
+ */
37
139
  static invalidPluralCategory(category: string, validCategories: string[]): I18nError;
140
+ /**
141
+ * Creates an error for when the count variable is missing for plural forms.
142
+ * @param key - The translation key that requires a count variable
143
+ * @returns An I18nError instance
144
+ */
38
145
  static missingCountVariable(key: string): I18nError;
39
146
  }
40
147
  //# sourceMappingURL=i18n-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAehB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,qBAAa,SAAU,SAAQ,KAAK;aAEhB,IAAI,EAAE,aAAa;aAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAF9B,IAAI,EAAE,aAAa,EACnC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;IAOhD,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAQxD,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS;IAQ3E,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQpD,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,SAAS;IAQZ,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAI/C,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAQzD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQrD,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS;IAQpD,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ/C,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ7C,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;IAQpD,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EAAE,GACvB,SAAS;IAQZ,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS;IAQpF,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;CAOpD"}
1
+ {"version":3,"file":"i18n-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB,sCAAsC;;IAEtC,wCAAwC;;IAExC,qCAAqC;;IAErC,yDAAyD;;IAEzD,qCAAqC;;IAErC,8CAA8C;;IAE9C,6CAA6C;;IAE7C,4CAA4C;;IAE5C,8BAA8B;;IAE9B,mCAAmC;;IAEnC,mCAAmC;;IAEnC,sDAAsD;;IAEtD,uCAAuC;;IAEvC,oDAAoD;;CAE5C,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;aAQhB,IAAI,EAAE,aAAa;aAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAThD;;;;;OAKG;gBAEe,IAAI,EAAE,aAAa,EACnC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;IAOhD;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAQxD;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS;IAQ3E;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQpD;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,SAAS;IAQZ;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAI/C;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAQzD;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQrD;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS;IAQpD;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ/C;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ7C;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;IAQpD;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EAAE,GACvB,SAAS;IAQZ;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS;IAQpF;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;CAOpD"}