@digitaldefiance/i18n-lib 3.6.3 → 3.7.0
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.
- package/README.md +124 -3
- package/package.json +1 -1
- package/src/errors/context-error.d.ts +33 -1
- package/src/errors/context-error.d.ts.map +1 -1
- package/src/errors/context-error.js +46 -3
- package/src/errors/context-error.js.map +1 -1
- package/src/errors/enhanced-error-base.d.ts +120 -0
- package/src/errors/enhanced-error-base.d.ts.map +1 -0
- package/src/errors/enhanced-error-base.js +165 -0
- package/src/errors/enhanced-error-base.js.map +1 -0
- package/src/errors/handleable.d.ts +38 -2
- package/src/errors/handleable.d.ts.map +1 -1
- package/src/errors/handleable.js +38 -2
- package/src/errors/handleable.js.map +1 -1
- package/src/errors/i18n-error.d.ts +91 -27
- package/src/errors/i18n-error.d.ts.map +1 -1
- package/src/errors/i18n-error.js +150 -40
- package/src/errors/i18n-error.js.map +1 -1
- package/src/errors/index.d.ts +1 -0
- package/src/errors/index.d.ts.map +1 -1
- package/src/errors/index.js +1 -0
- package/src/errors/index.js.map +1 -1
- package/src/errors/translatable-generic.d.ts +55 -1
- package/src/errors/translatable-generic.d.ts.map +1 -1
- package/src/errors/translatable-generic.js +64 -1
- package/src/errors/translatable-generic.js.map +1 -1
- package/src/errors/translatable-handleable-generic.d.ts +88 -1
- package/src/errors/translatable-handleable-generic.d.ts.map +1 -1
- package/src/errors/translatable-handleable-generic.js +77 -1
- package/src/errors/translatable-handleable-generic.js.map +1 -1
- package/src/errors/translatable.d.ts +55 -0
- package/src/errors/translatable.d.ts.map +1 -1
- package/src/errors/translatable.js +66 -0
- package/src/errors/translatable.js.map +1 -1
- package/src/errors/typed-handleable.d.ts +48 -0
- package/src/errors/typed-handleable.d.ts.map +1 -1
- package/src/errors/typed-handleable.js +48 -0
- package/src/errors/typed-handleable.js.map +1 -1
- package/src/errors/typed.d.ts +120 -4
- package/src/errors/typed.d.ts.map +1 -1
- package/src/errors/typed.js +120 -4
- package/src/errors/typed.js.map +1 -1
- package/src/icu/compiler.d.ts.map +1 -1
- package/src/icu/compiler.js +8 -2
- package/src/icu/compiler.js.map +1 -1
- package/src/icu/formatters/number-formatter.d.ts.map +1 -1
- package/src/icu/formatters/number-formatter.js +3 -0
- package/src/icu/formatters/number-formatter.js.map +1 -1
- package/src/types.d.ts +4 -0
- package/src/types.d.ts.map +1 -1
- package/src/types.js +5 -1
- package/src/types.js.map +1 -1
|
@@ -5,6 +5,54 @@ const core_i18n_1 = require("../core-i18n");
|
|
|
5
5
|
const core_string_key_1 = require("../core-string-key");
|
|
6
6
|
const handleable_1 = require("./handleable");
|
|
7
7
|
const core_1 = require("../core");
|
|
8
|
+
/**
|
|
9
|
+
* TypedHandleableError with full i18n feature support.
|
|
10
|
+
*
|
|
11
|
+
* Combines typed errors with handleable error patterns and full i18n capabilities.
|
|
12
|
+
*
|
|
13
|
+
* **Supported i18n Features** (via translation strings):
|
|
14
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
15
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
16
|
+
* - Gender support: male, female, neutral, other
|
|
17
|
+
* - Number formatting: integer, currency, percent
|
|
18
|
+
* - Nested messages: up to 4 levels deep
|
|
19
|
+
*
|
|
20
|
+
* **Translation String Examples:**
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Define error types
|
|
23
|
+
* enum NetworkError {
|
|
24
|
+
* Timeout = 'timeout',
|
|
25
|
+
* RateLimit = 'rateLimit'
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* // Register translations with ICU
|
|
29
|
+
* engine.registerComponent({
|
|
30
|
+
* component: { id: 'network', stringKeys: ['timeout', 'rateLimit'] },
|
|
31
|
+
* strings: {
|
|
32
|
+
* 'en-US': {
|
|
33
|
+
* timeout: \"{count, plural, one {# request timed out} other {# requests timed out}} after {seconds, number, integer} seconds\",
|
|
34
|
+
* rateLimit: \"Rate limit exceeded. {remaining, number, integer} requests remaining. Resets in {minutes, number, integer} minutes.\"
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* // Use typed handleable error
|
|
40
|
+
* try {
|
|
41
|
+
* await apiCall();
|
|
42
|
+
* } catch (error) {
|
|
43
|
+
* throw new TypedHandleableError(
|
|
44
|
+
* 'network',
|
|
45
|
+
* NetworkError.Timeout,
|
|
46
|
+
* reasonMap,
|
|
47
|
+
* error,
|
|
48
|
+
* { retryable: true },
|
|
49
|
+
* 'en-US',
|
|
50
|
+
* { count: 1, seconds: 30 }
|
|
51
|
+
* );
|
|
52
|
+
* }
|
|
53
|
+
* // Result: \"1 request timed out after 30 seconds\"
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
8
56
|
class TypedHandleableError extends handleable_1.HandleableError {
|
|
9
57
|
componentId;
|
|
10
58
|
type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-handleable.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/typed-handleable.ts"],"names":[],"mappings":";;;AAAA,4CAAmD;AACnD,wDAAmD;AACnD,6CAA+C;AAK/C,kCAAqC;AAErC,MAAa,oBAIX,SAAQ,4BAAe;IAGP,WAAW,CAAS;IACpB,IAAI,CAAqB;IACzB,SAAS,CAAuC;IAChD,QAAQ,CAAU;IAClB,SAAS,CAAmC;IAE5D,YACE,WAAmB,EACnB,IAAwB,EACxB,SAA+C,EAC/C,MAAa,EACb,OAAgC,EAChC,QAAiB,EACjB,SAA2C;QAE3C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,iBAAU,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,UAAU,CAAC,SAAS,CAClB,+BAAmB,EACnB,+BAAa,CAAC,mCAAmC,EACjD;gBACE,SAAS,EAAE,GAAa;aACzB,CACF,CACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,GAAW,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,GAAiB,CAAC;YACpC,MAAM,MAAM,GAAG,iBAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjF,OAAO,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,iDAAiD;QACjD,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,gBAAgB,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACxC,CAAC;QAED,2DAA2D;QAC3D,MAAM,YAAY,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9E,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAEtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;IAEe,MAAM;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF;AAvED,oDAuEC"}
|
|
1
|
+
{"version":3,"file":"typed-handleable.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/typed-handleable.ts"],"names":[],"mappings":";;;AAAA,4CAAmD;AACnD,wDAAmD;AACnD,6CAA+C;AAK/C,kCAAqC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAa,oBAIX,SAAQ,4BAAe;IAGP,WAAW,CAAS;IACpB,IAAI,CAAqB;IACzB,SAAS,CAAuC;IAChD,QAAQ,CAAU;IAClB,SAAS,CAAmC;IAE5D,YACE,WAAmB,EACnB,IAAwB,EACxB,SAA+C,EAC/C,MAAa,EACb,OAAgC,EAChC,QAAiB,EACjB,SAA2C;QAE3C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,iBAAU,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,UAAU,CAAC,SAAS,CAClB,+BAAmB,EACnB,+BAAa,CAAC,mCAAmC,EACjD;gBACE,SAAS,EAAE,GAAa;aACzB,CACF,CACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,GAAW,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,GAAiB,CAAC;YACpC,MAAM,MAAM,GAAG,iBAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjF,OAAO,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,iDAAiD;QACjD,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,gBAAgB,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACxC,CAAC;QAED,2DAA2D;QAC3D,MAAM,YAAY,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9E,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAEtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;IAEe,MAAM;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF;AAvED,oDAuEC"}
|
package/src/errors/typed.d.ts
CHANGED
|
@@ -6,7 +6,35 @@ export type { TranslationEngine };
|
|
|
6
6
|
*/
|
|
7
7
|
export type CompleteReasonMap<TEnum extends Record<string, string | number>, TStringKey extends string> = Record<TEnum[keyof TEnum], TStringKey>;
|
|
8
8
|
/**
|
|
9
|
-
* Base typed error class with
|
|
9
|
+
* Base typed error class with full i18n feature support.
|
|
10
|
+
*
|
|
11
|
+
* **Supported i18n Features** (via translation strings):
|
|
12
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
13
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
14
|
+
* - Gender support: male, female, neutral, other
|
|
15
|
+
* - Number formatting: integer, currency, percent
|
|
16
|
+
* - Date/Time formatting: short, medium, long, full
|
|
17
|
+
* - Nested messages: up to 4 levels deep
|
|
18
|
+
*
|
|
19
|
+
* **Translation String Examples:**
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // Register translations with ICU features
|
|
22
|
+
* engine.registerComponent({
|
|
23
|
+
* component: { id: 'errors', name: 'Errors', stringKeys: ['invalidCount'] },
|
|
24
|
+
* strings: {
|
|
25
|
+
* 'en-US': {
|
|
26
|
+
* invalidCount: "{count, plural, one {# item is invalid} other {# items are invalid}}"
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* // Use with typed error
|
|
32
|
+
* throw BaseTypedError.createTranslated(
|
|
33
|
+
* engine, 'errors', ErrorType.InvalidCount, reasonMap,
|
|
34
|
+
* { count: 5 }, 'en-US'
|
|
35
|
+
* );
|
|
36
|
+
* // Result: "5 items are invalid"
|
|
37
|
+
* ```
|
|
10
38
|
*/
|
|
11
39
|
export declare abstract class BaseTypedError<TEnum extends Record<string, string>> extends Error {
|
|
12
40
|
readonly type: TEnum[keyof TEnum];
|
|
@@ -22,7 +50,38 @@ export declare abstract class BaseTypedError<TEnum extends Record<string, string
|
|
|
22
50
|
static createTranslated<TEnum extends Record<string, string>, TStringKey extends string, TError extends BaseTypedError<TEnum>>(this: new (type: TEnum[keyof TEnum], message: string, metadata?: Record<string, any>) => TError, engine: TranslationEngine, componentId: string, type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, TStringKey>, variables?: Record<string, string | number>, language?: string, metadata?: Record<string, any>): TError;
|
|
23
51
|
}
|
|
24
52
|
/**
|
|
25
|
-
*
|
|
53
|
+
* TypedError with complete enum coverage and full i18n feature support.
|
|
54
|
+
*
|
|
55
|
+
* **Supported i18n Features** (via translation strings):
|
|
56
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
57
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
58
|
+
* - Gender support: male, female, neutral, other
|
|
59
|
+
* - Number formatting: integer, currency, percent
|
|
60
|
+
* - Nested messages: up to 4 levels deep
|
|
61
|
+
*
|
|
62
|
+
* **Translation String Examples:**
|
|
63
|
+
* ```typescript
|
|
64
|
+
* // Define error types
|
|
65
|
+
* enum ValidationError {
|
|
66
|
+
* InvalidCount = 'invalidCount',
|
|
67
|
+
* ThresholdExceeded = 'thresholdExceeded'
|
|
68
|
+
* }
|
|
69
|
+
*
|
|
70
|
+
* // Register translations with ICU
|
|
71
|
+
* engine.registerComponent({
|
|
72
|
+
* component: { id: 'validation', stringKeys: ['invalidCount', 'thresholdExceeded'] },
|
|
73
|
+
* strings: {
|
|
74
|
+
* 'en-US': {
|
|
75
|
+
* invalidCount: "{count, plural, one {# error found} other {# errors found}}",
|
|
76
|
+
* thresholdExceeded: "Value {value, number, integer} exceeds limit"
|
|
77
|
+
* }
|
|
78
|
+
* }
|
|
79
|
+
* });
|
|
80
|
+
*
|
|
81
|
+
* // Use typed error
|
|
82
|
+
* throw new MyTypedError('validation', ValidationError.InvalidCount, reasonMap, 'en-US', { count: 3 });
|
|
83
|
+
* // Result: "3 errors found"
|
|
84
|
+
* ```
|
|
26
85
|
*/
|
|
27
86
|
export declare abstract class TypedError<TEnum extends Record<string, string>, TStringKey extends string> extends Error {
|
|
28
87
|
readonly componentId: string;
|
|
@@ -45,7 +104,39 @@ export declare abstract class PluginTypedError<TEnum extends Record<string, stri
|
|
|
45
104
|
constructor(componentId: string, type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, TStringKey>, language?: string | undefined, otherVars?: Record<string, string | number> | undefined);
|
|
46
105
|
}
|
|
47
106
|
/**
|
|
48
|
-
* Component-based TypedError
|
|
107
|
+
* Component-based TypedError with full i18n feature support.
|
|
108
|
+
*
|
|
109
|
+
* **Supported i18n Features** (via translation strings):
|
|
110
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
111
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
112
|
+
* - Gender support: male, female, neutral, other
|
|
113
|
+
* - Number formatting: integer, currency, percent
|
|
114
|
+
* - SelectOrdinal: 1st, 2nd, 3rd formatting
|
|
115
|
+
* - Nested messages: complex multi-level patterns
|
|
116
|
+
*
|
|
117
|
+
* **Translation String Examples:**
|
|
118
|
+
* ```typescript
|
|
119
|
+
* // Define component errors
|
|
120
|
+
* enum UserError {
|
|
121
|
+
* AccountLocked = 'accountLocked',
|
|
122
|
+
* TooManyAttempts = 'tooManyAttempts'
|
|
123
|
+
* }
|
|
124
|
+
*
|
|
125
|
+
* // Register with ICU features
|
|
126
|
+
* engine.registerComponent({
|
|
127
|
+
* component: { id: 'user', stringKeys: ['accountLocked', 'tooManyAttempts'] },
|
|
128
|
+
* strings: {
|
|
129
|
+
* 'en-US': {
|
|
130
|
+
* accountLocked: "{gender, select, male {His account} female {Her account} other {Their account}} is locked",
|
|
131
|
+
* tooManyAttempts: "{count, plural, one {# attempt} other {# attempts}} failed. Try again in {minutes, number, integer} minutes."
|
|
132
|
+
* }
|
|
133
|
+
* }
|
|
134
|
+
* });
|
|
135
|
+
*
|
|
136
|
+
* // Use component error
|
|
137
|
+
* throw new MyComponentError('user', UserError.TooManyAttempts, reasonMap, 'en-US', { count: 5, minutes: 10 });
|
|
138
|
+
* // Result: "5 attempts failed. Try again in 10 minutes."
|
|
139
|
+
* ```
|
|
49
140
|
*/
|
|
50
141
|
export declare abstract class ComponentTypedError<TEnum extends Record<string, string>, TStringKey extends string> extends Error {
|
|
51
142
|
readonly componentId: string;
|
|
@@ -56,7 +147,32 @@ export declare abstract class ComponentTypedError<TEnum extends Record<string, s
|
|
|
56
147
|
constructor(componentId: string, type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, TStringKey>, language?: string | undefined, otherVars?: Record<string, string | number> | undefined);
|
|
57
148
|
}
|
|
58
149
|
/**
|
|
59
|
-
* Core system TypedError using
|
|
150
|
+
* Core system TypedError using core component strings with full i18n support.
|
|
151
|
+
*
|
|
152
|
+
* **Supported i18n Features** (via CoreStringKey translations):
|
|
153
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
154
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
155
|
+
* - Gender support: male, female, neutral, other
|
|
156
|
+
* - Number formatting: integer, currency, percent
|
|
157
|
+
* - Nested messages: complex patterns
|
|
158
|
+
*
|
|
159
|
+
* **Usage Example:**
|
|
160
|
+
* ```typescript
|
|
161
|
+
* // Define core error types
|
|
162
|
+
* enum CoreErrorType {
|
|
163
|
+
* InvalidOperation = 'invalidOperation',
|
|
164
|
+
* ResourceNotFound = 'resourceNotFound'
|
|
165
|
+
* }
|
|
166
|
+
*
|
|
167
|
+
* // Core strings already registered with ICU features
|
|
168
|
+
* const reasonMap: CompleteReasonMap<typeof CoreErrorType, CoreStringKey> = {
|
|
169
|
+
* [CoreErrorType.InvalidOperation]: CoreStringKey.Error_InvalidOperation,
|
|
170
|
+
* [CoreErrorType.ResourceNotFound]: CoreStringKey.Error_ResourceNotFound
|
|
171
|
+
* };
|
|
172
|
+
*
|
|
173
|
+
* // Use core typed error
|
|
174
|
+
* throw new MyCoreError(CoreErrorType.ResourceNotFound, reasonMap, 'en-US', { resource: 'user', id: 123 });
|
|
175
|
+
* ```
|
|
60
176
|
*/
|
|
61
177
|
export declare abstract class CoreTypedError<TEnum extends Record<string, string>> extends Error {
|
|
62
178
|
readonly type: TEnum[keyof TEnum];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/typed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI1D,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAC3B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC7C,UAAU,SAAS,MAAM,IACvB,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/typed.ts"],"names":[],"mappings":"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"}
|
package/src/errors/typed.js
CHANGED
|
@@ -11,7 +11,35 @@ const core_string_key_1 = require("../core-string-key");
|
|
|
11
11
|
const core_i18n_1 = require("../core-i18n");
|
|
12
12
|
const core_1 = require("../core");
|
|
13
13
|
/**
|
|
14
|
-
* Base typed error class with
|
|
14
|
+
* Base typed error class with full i18n feature support.
|
|
15
|
+
*
|
|
16
|
+
* **Supported i18n Features** (via translation strings):
|
|
17
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
18
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
19
|
+
* - Gender support: male, female, neutral, other
|
|
20
|
+
* - Number formatting: integer, currency, percent
|
|
21
|
+
* - Date/Time formatting: short, medium, long, full
|
|
22
|
+
* - Nested messages: up to 4 levels deep
|
|
23
|
+
*
|
|
24
|
+
* **Translation String Examples:**
|
|
25
|
+
* ```typescript
|
|
26
|
+
* // Register translations with ICU features
|
|
27
|
+
* engine.registerComponent({
|
|
28
|
+
* component: { id: 'errors', name: 'Errors', stringKeys: ['invalidCount'] },
|
|
29
|
+
* strings: {
|
|
30
|
+
* 'en-US': {
|
|
31
|
+
* invalidCount: "{count, plural, one {# item is invalid} other {# items are invalid}}"
|
|
32
|
+
* }
|
|
33
|
+
* }
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // Use with typed error
|
|
37
|
+
* throw BaseTypedError.createTranslated(
|
|
38
|
+
* engine, 'errors', ErrorType.InvalidCount, reasonMap,
|
|
39
|
+
* { count: 5 }, 'en-US'
|
|
40
|
+
* );
|
|
41
|
+
* // Result: "5 items are invalid"
|
|
42
|
+
* ```
|
|
15
43
|
*/
|
|
16
44
|
class BaseTypedError extends Error {
|
|
17
45
|
type;
|
|
@@ -47,7 +75,38 @@ class BaseTypedError extends Error {
|
|
|
47
75
|
}
|
|
48
76
|
exports.BaseTypedError = BaseTypedError;
|
|
49
77
|
/**
|
|
50
|
-
*
|
|
78
|
+
* TypedError with complete enum coverage and full i18n feature support.
|
|
79
|
+
*
|
|
80
|
+
* **Supported i18n Features** (via translation strings):
|
|
81
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
82
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
83
|
+
* - Gender support: male, female, neutral, other
|
|
84
|
+
* - Number formatting: integer, currency, percent
|
|
85
|
+
* - Nested messages: up to 4 levels deep
|
|
86
|
+
*
|
|
87
|
+
* **Translation String Examples:**
|
|
88
|
+
* ```typescript
|
|
89
|
+
* // Define error types
|
|
90
|
+
* enum ValidationError {
|
|
91
|
+
* InvalidCount = 'invalidCount',
|
|
92
|
+
* ThresholdExceeded = 'thresholdExceeded'
|
|
93
|
+
* }
|
|
94
|
+
*
|
|
95
|
+
* // Register translations with ICU
|
|
96
|
+
* engine.registerComponent({
|
|
97
|
+
* component: { id: 'validation', stringKeys: ['invalidCount', 'thresholdExceeded'] },
|
|
98
|
+
* strings: {
|
|
99
|
+
* 'en-US': {
|
|
100
|
+
* invalidCount: "{count, plural, one {# error found} other {# errors found}}",
|
|
101
|
+
* thresholdExceeded: "Value {value, number, integer} exceeds limit"
|
|
102
|
+
* }
|
|
103
|
+
* }
|
|
104
|
+
* });
|
|
105
|
+
*
|
|
106
|
+
* // Use typed error
|
|
107
|
+
* throw new MyTypedError('validation', ValidationError.InvalidCount, reasonMap, 'en-US', { count: 3 });
|
|
108
|
+
* // Result: "3 errors found"
|
|
109
|
+
* ```
|
|
51
110
|
*/
|
|
52
111
|
class TypedError extends Error {
|
|
53
112
|
componentId;
|
|
@@ -113,7 +172,39 @@ class PluginTypedError extends Error {
|
|
|
113
172
|
}
|
|
114
173
|
exports.PluginTypedError = PluginTypedError;
|
|
115
174
|
/**
|
|
116
|
-
* Component-based TypedError
|
|
175
|
+
* Component-based TypedError with full i18n feature support.
|
|
176
|
+
*
|
|
177
|
+
* **Supported i18n Features** (via translation strings):
|
|
178
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
179
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
180
|
+
* - Gender support: male, female, neutral, other
|
|
181
|
+
* - Number formatting: integer, currency, percent
|
|
182
|
+
* - SelectOrdinal: 1st, 2nd, 3rd formatting
|
|
183
|
+
* - Nested messages: complex multi-level patterns
|
|
184
|
+
*
|
|
185
|
+
* **Translation String Examples:**
|
|
186
|
+
* ```typescript
|
|
187
|
+
* // Define component errors
|
|
188
|
+
* enum UserError {
|
|
189
|
+
* AccountLocked = 'accountLocked',
|
|
190
|
+
* TooManyAttempts = 'tooManyAttempts'
|
|
191
|
+
* }
|
|
192
|
+
*
|
|
193
|
+
* // Register with ICU features
|
|
194
|
+
* engine.registerComponent({
|
|
195
|
+
* component: { id: 'user', stringKeys: ['accountLocked', 'tooManyAttempts'] },
|
|
196
|
+
* strings: {
|
|
197
|
+
* 'en-US': {
|
|
198
|
+
* accountLocked: "{gender, select, male {His account} female {Her account} other {Their account}} is locked",
|
|
199
|
+
* tooManyAttempts: "{count, plural, one {# attempt} other {# attempts}} failed. Try again in {minutes, number, integer} minutes."
|
|
200
|
+
* }
|
|
201
|
+
* }
|
|
202
|
+
* });
|
|
203
|
+
*
|
|
204
|
+
* // Use component error
|
|
205
|
+
* throw new MyComponentError('user', UserError.TooManyAttempts, reasonMap, 'en-US', { count: 5, minutes: 10 });
|
|
206
|
+
* // Result: "5 attempts failed. Try again in 10 minutes."
|
|
207
|
+
* ```
|
|
117
208
|
*/
|
|
118
209
|
class ComponentTypedError extends Error {
|
|
119
210
|
componentId;
|
|
@@ -145,7 +236,32 @@ class ComponentTypedError extends Error {
|
|
|
145
236
|
}
|
|
146
237
|
exports.ComponentTypedError = ComponentTypedError;
|
|
147
238
|
/**
|
|
148
|
-
* Core system TypedError using
|
|
239
|
+
* Core system TypedError using core component strings with full i18n support.
|
|
240
|
+
*
|
|
241
|
+
* **Supported i18n Features** (via CoreStringKey translations):
|
|
242
|
+
* - ICU MessageFormat: plural, select, selectordinal
|
|
243
|
+
* - Pluralization: 37 languages with CLDR rules
|
|
244
|
+
* - Gender support: male, female, neutral, other
|
|
245
|
+
* - Number formatting: integer, currency, percent
|
|
246
|
+
* - Nested messages: complex patterns
|
|
247
|
+
*
|
|
248
|
+
* **Usage Example:**
|
|
249
|
+
* ```typescript
|
|
250
|
+
* // Define core error types
|
|
251
|
+
* enum CoreErrorType {
|
|
252
|
+
* InvalidOperation = 'invalidOperation',
|
|
253
|
+
* ResourceNotFound = 'resourceNotFound'
|
|
254
|
+
* }
|
|
255
|
+
*
|
|
256
|
+
* // Core strings already registered with ICU features
|
|
257
|
+
* const reasonMap: CompleteReasonMap<typeof CoreErrorType, CoreStringKey> = {
|
|
258
|
+
* [CoreErrorType.InvalidOperation]: CoreStringKey.Error_InvalidOperation,
|
|
259
|
+
* [CoreErrorType.ResourceNotFound]: CoreStringKey.Error_ResourceNotFound
|
|
260
|
+
* };
|
|
261
|
+
*
|
|
262
|
+
* // Use core typed error
|
|
263
|
+
* throw new MyCoreError(CoreErrorType.ResourceNotFound, reasonMap, 'en-US', { resource: 'user', id: 123 });
|
|
264
|
+
* ```
|
|
149
265
|
*/
|
|
150
266
|
class CoreTypedError extends Error {
|
|
151
267
|
type;
|
package/src/errors/typed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/typed.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"typed.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/typed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/icu/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkF,MAAM,OAAO,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC;AAEjG,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAoB;gBAExB,QAAQ,CAAC,EAAE,iBAAiB;IAIxC,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAM1C,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/icu/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkF,MAAM,OAAO,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC;AAEjG,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAoB;gBAExB,QAAQ,CAAC,EAAE,iBAAiB;IAIxC,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAM1C,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,oBAAoB;CAiB7B"}
|
package/src/icu/compiler.js
CHANGED
|
@@ -54,7 +54,10 @@ class Compiler {
|
|
|
54
54
|
if (!caseNode)
|
|
55
55
|
return '';
|
|
56
56
|
const result = this.compileMessage(caseNode, values, context);
|
|
57
|
-
|
|
57
|
+
// Format number with thousand separators using Intl.NumberFormat
|
|
58
|
+
const locale = context.locale || 'en-US';
|
|
59
|
+
const formattedNum = new Intl.NumberFormat(locale, { maximumFractionDigits: 0 }).format(num);
|
|
60
|
+
return result.replace(/#/g, formattedNum);
|
|
58
61
|
}
|
|
59
62
|
compileSelect(node, values, context) {
|
|
60
63
|
const value = String(values[node.name] || '');
|
|
@@ -74,7 +77,10 @@ class Compiler {
|
|
|
74
77
|
if (!caseNode)
|
|
75
78
|
return '';
|
|
76
79
|
const result = this.compileMessage(caseNode, values, context);
|
|
77
|
-
|
|
80
|
+
// Format number with thousand separators using Intl.NumberFormat
|
|
81
|
+
const locale = context.locale || 'en-US';
|
|
82
|
+
const formattedNum = new Intl.NumberFormat(locale, { maximumFractionDigits: 0 }).format(num);
|
|
83
|
+
return result.replace(/#/g, formattedNum);
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
86
|
exports.Compiler = Compiler;
|
package/src/icu/compiler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/icu/compiler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/icu/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-formatter.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-i18n-lib/src/icu/formatters/number-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,qBAAa,eAAgB,YAAW,SAAS;IAC/C,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"number-formatter.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-i18n-lib/src/icu/formatters/number-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,qBAAa,eAAgB,YAAW,SAAS;IAC/C,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;CA4BvE"}
|
|
@@ -18,6 +18,9 @@ class NumberFormatter {
|
|
|
18
18
|
break;
|
|
19
19
|
case 'percent':
|
|
20
20
|
options.style = 'percent';
|
|
21
|
+
// Show up to 2 decimal places for percent, but don't force trailing zeros
|
|
22
|
+
options.minimumFractionDigits = 0;
|
|
23
|
+
options.maximumFractionDigits = 2;
|
|
21
24
|
break;
|
|
22
25
|
case 'decimal':
|
|
23
26
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-i18n-lib/src/icu/formatters/number-formatter.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAC1B,MAAM,CAAC,KAAU,EAAE,KAAc,EAAE,OAA0B;QAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC;QAC1C,MAAM,OAAO,GAA6B,EAAE,CAAC;QAE7C,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;gBAC3B,OAAO,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;gBAC9C,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC1B,MAAM;YACR,KAAK,SAAS,CAAC;YACf;gBACE,MAAM;QACV,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-i18n-lib/src/icu/formatters/number-formatter.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAC1B,MAAM,CAAC,KAAU,EAAE,KAAc,EAAE,OAA0B;QAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC;QAC1C,MAAM,OAAO,GAA6B,EAAE,CAAC;QAE7C,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;gBAC3B,OAAO,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;gBAC9C,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC1B,0EAA0E;gBAC1E,OAAO,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAClC,OAAO,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,SAAS,CAAC;YACf;gBACE,MAAM;QACV,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF;AA7BD,0CA6BC"}
|
package/src/types.d.ts
CHANGED
|
@@ -13,6 +13,10 @@ export declare const DefaultCurrencyCode: string;
|
|
|
13
13
|
* Default timezone
|
|
14
14
|
*/
|
|
15
15
|
export declare const DefaultTimezone: string;
|
|
16
|
+
/**
|
|
17
|
+
* Default language code
|
|
18
|
+
*/
|
|
19
|
+
export declare const DefaultLanguageCode: string;
|
|
16
20
|
/**
|
|
17
21
|
* Currency position type
|
|
18
22
|
*/
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/types.ts"],"names":[],"mappings":"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"}
|
package/src/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultTimezone = exports.DefaultCurrencyCode = void 0;
|
|
3
|
+
exports.DefaultLanguageCode = exports.DefaultTimezone = exports.DefaultCurrencyCode = void 0;
|
|
4
4
|
exports.createTranslations = createTranslations;
|
|
5
5
|
/**
|
|
6
6
|
* Default currency code
|
|
@@ -10,6 +10,10 @@ exports.DefaultCurrencyCode = 'USD';
|
|
|
10
10
|
* Default timezone
|
|
11
11
|
*/
|
|
12
12
|
exports.DefaultTimezone = 'UTC';
|
|
13
|
+
/**
|
|
14
|
+
* Default language code
|
|
15
|
+
*/
|
|
16
|
+
exports.DefaultLanguageCode = 'en-US';
|
|
13
17
|
/**
|
|
14
18
|
* Helper function to create typed translations for an enumeration
|
|
15
19
|
*/
|
package/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/types.ts"],"names":[],"mappings":";;;AA+IA,gDAOC;AA7ID;;GAEG;AACU,QAAA,mBAAmB,GAAW,KAAK,CAAC;AAEjD;;GAEG;AACU,QAAA,eAAe,GAAW,KAAK,CAAC;AAE7C;;GAEG;AACU,QAAA,mBAAmB,GAAW,OAAO,CAAC;AAsHnD;;GAEG;AACH,SAAgB,kBAAkB,CAIhC,YAAmD;IAEnD,OAAO,YAAY,CAAC;AACtB,CAAC"}
|