@digitaldefiance/i18n-lib 1.3.13 → 1.3.15
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 +143 -87
- package/package.json +4 -3
- package/src/active-context.d.ts +30 -0
- package/src/active-context.d.ts.map +1 -0
- package/src/active-context.js +3 -0
- package/src/active-context.js.map +1 -0
- package/src/component-definition.d.ts +12 -0
- package/src/component-definition.d.ts.map +1 -0
- package/src/component-definition.js +3 -0
- package/src/component-definition.js.map +1 -0
- package/src/component-registration.d.ts +10 -0
- package/src/component-registration.d.ts.map +1 -0
- package/src/component-registration.js +3 -0
- package/src/component-registration.js.map +1 -0
- package/src/component-registry.d.ts +69 -0
- package/src/component-registry.d.ts.map +1 -0
- package/src/component-registry.js +248 -0
- package/src/component-registry.js.map +1 -0
- package/src/context-error-type.d.ts +4 -0
- package/src/context-error-type.d.ts.map +1 -0
- package/src/context-error-type.js +8 -0
- package/src/context-error-type.js.map +1 -0
- package/src/context-error.d.ts +7 -0
- package/src/context-error.d.ts.map +1 -0
- package/src/context-error.js +18 -0
- package/src/context-error.js.map +1 -0
- package/src/context-manager.d.ts +34 -0
- package/src/context-manager.d.ts.map +1 -0
- package/src/context-manager.js +60 -0
- package/src/context-manager.js.map +1 -0
- package/src/context.d.ts +45 -0
- package/src/context.d.ts.map +1 -0
- package/src/context.js +70 -0
- package/src/context.js.map +1 -0
- package/src/core-i18n.d.ts +63 -0
- package/src/core-i18n.d.ts.map +1 -0
- package/src/core-i18n.js +478 -0
- package/src/core-i18n.js.map +1 -0
- package/src/core-string-key.d.ts +43 -0
- package/src/core-string-key.d.ts.map +1 -0
- package/src/core-string-key.js +51 -0
- package/src/core-string-key.js.map +1 -0
- package/src/create-translation-adapter.d.ts +21 -0
- package/src/create-translation-adapter.d.ts.map +1 -0
- package/src/create-translation-adapter.js +37 -0
- package/src/create-translation-adapter.js.map +1 -0
- package/src/currency-code.d.ts +20 -0
- package/src/currency-code.d.ts.map +1 -0
- package/src/currency-code.js +37 -0
- package/src/currency-code.js.map +1 -0
- package/src/{currency-format.ts → currency-format.d.ts} +5 -5
- package/src/currency-format.d.ts.map +1 -0
- package/src/currency-format.js +3 -0
- package/src/currency-format.js.map +1 -0
- package/src/currency.d.ts +12 -0
- package/src/currency.d.ts.map +1 -0
- package/src/currency.js +49 -0
- package/src/currency.js.map +1 -0
- package/src/default-config.d.ts +33 -0
- package/src/default-config.d.ts.map +1 -0
- package/src/default-config.js +102 -0
- package/src/default-config.js.map +1 -0
- package/src/enum-registry.d.ts +45 -0
- package/src/enum-registry.d.ts.map +1 -0
- package/src/enum-registry.js +103 -0
- package/src/enum-registry.js.map +1 -0
- package/src/global-active-context.d.ts +51 -0
- package/src/global-active-context.d.ts.map +1 -0
- package/src/global-active-context.js +179 -0
- package/src/global-active-context.js.map +1 -0
- package/src/handleable.d.ts +14 -0
- package/src/handleable.d.ts.map +1 -0
- package/src/handleable.js +66 -0
- package/src/handleable.js.map +1 -0
- package/src/i-global-active-context.d.ts +23 -0
- package/src/i-global-active-context.d.ts.map +1 -0
- package/src/i-global-active-context.js +3 -0
- package/src/i-global-active-context.js.map +1 -0
- package/src/i-handleable-error-options.d.ts +7 -0
- package/src/i-handleable-error-options.d.ts.map +1 -0
- package/src/i-handleable-error-options.js +3 -0
- package/src/i-handleable-error-options.js.map +1 -0
- package/src/i-handleable.d.ts +6 -0
- package/src/i-handleable.d.ts.map +1 -0
- package/src/i-handleable.js +3 -0
- package/src/i-handleable.js.map +1 -0
- package/src/i18n-config.d.ts +21 -0
- package/src/i18n-config.d.ts.map +1 -0
- package/src/i18n-config.js +3 -0
- package/src/i18n-config.js.map +1 -0
- package/src/{i18n-context.ts → i18n-context.d.ts} +7 -7
- package/src/i18n-context.d.ts.map +1 -0
- package/src/i18n-context.js +3 -0
- package/src/i18n-context.js.map +1 -0
- package/src/i18n-engine.d.ts +179 -0
- package/src/i18n-engine.d.ts.map +1 -0
- package/src/i18n-engine.js +355 -0
- package/src/i18n-engine.js.map +1 -0
- package/src/{index.ts → index.d.ts} +2 -10
- package/src/index.d.ts.map +1 -0
- package/src/index.js +71 -0
- package/src/index.js.map +1 -0
- package/src/{language-codes.ts → language-codes.d.ts} +12 -23
- package/src/language-codes.d.ts.map +1 -0
- package/src/language-codes.js +32 -0
- package/src/language-codes.js.map +1 -0
- package/src/language-definition.d.ts +14 -0
- package/src/language-definition.d.ts.map +1 -0
- package/src/language-definition.js +3 -0
- package/src/language-definition.js.map +1 -0
- package/src/language-registry.d.ts +114 -0
- package/src/language-registry.d.ts.map +1 -0
- package/src/language-registry.js +217 -0
- package/src/language-registry.js.map +1 -0
- package/src/plugin-i18n-engine.d.ts +151 -0
- package/src/plugin-i18n-engine.d.ts.map +1 -0
- package/src/plugin-i18n-engine.js +380 -0
- package/src/plugin-i18n-engine.js.map +1 -0
- package/src/plugin-translatable-generic-error.d.ts +30 -0
- package/src/plugin-translatable-generic-error.d.ts.map +1 -0
- package/src/plugin-translatable-generic-error.js +72 -0
- package/src/plugin-translatable-generic-error.js.map +1 -0
- package/src/plugin-translatable-handleable-generic.d.ts +29 -0
- package/src/plugin-translatable-handleable-generic.d.ts.map +1 -0
- package/src/plugin-translatable-handleable-generic.js +44 -0
- package/src/plugin-translatable-handleable-generic.js.map +1 -0
- package/src/plugin-typed-handleable.d.ts +15 -0
- package/src/plugin-typed-handleable.d.ts.map +1 -0
- package/src/plugin-typed-handleable.js +51 -0
- package/src/plugin-typed-handleable.js.map +1 -0
- package/src/registry-config.d.ts +15 -0
- package/src/registry-config.d.ts.map +1 -0
- package/src/registry-config.js +3 -0
- package/src/registry-config.js.map +1 -0
- package/src/registry-error-type.d.ts +13 -0
- package/src/registry-error-type.d.ts.map +1 -0
- package/src/registry-error-type.js +17 -0
- package/src/registry-error-type.js.map +1 -0
- package/src/registry-error.d.ts +19 -0
- package/src/registry-error.d.ts.map +1 -0
- package/src/registry-error.js +48 -0
- package/src/registry-error.js.map +1 -0
- package/src/strict-types.d.ts +19 -0
- package/src/strict-types.d.ts.map +1 -0
- package/src/strict-types.js +18 -0
- package/src/strict-types.js.map +1 -0
- package/src/template.d.ts +13 -0
- package/src/template.d.ts.map +1 -0
- package/src/template.js +31 -0
- package/src/template.js.map +1 -0
- package/src/timezone.d.ts +12 -0
- package/src/timezone.d.ts.map +1 -0
- package/src/timezone.js +24 -0
- package/src/timezone.js.map +1 -0
- package/src/translatable.d.ts +6 -0
- package/src/translatable.d.ts.map +1 -0
- package/src/translatable.js +12 -0
- package/src/translatable.js.map +1 -0
- package/src/translation-engine.d.ts +9 -0
- package/src/translation-engine.d.ts.map +1 -0
- package/src/translation-engine.js +3 -0
- package/src/translation-engine.js.map +1 -0
- package/src/translation-request.d.ts +10 -0
- package/src/translation-request.d.ts.map +1 -0
- package/src/translation-request.js +3 -0
- package/src/translation-request.js.map +1 -0
- package/src/translation-response.d.ts +9 -0
- package/src/translation-response.d.ts.map +1 -0
- package/src/translation-response.js +3 -0
- package/src/translation-response.js.map +1 -0
- package/src/typed-error.d.ts +73 -0
- package/src/typed-error.d.ts.map +1 -0
- package/src/typed-error.js +267 -0
- package/src/typed-error.js.map +1 -0
- package/src/typed-handleable.d.ts +15 -0
- package/src/typed-handleable.d.ts.map +1 -0
- package/src/typed-handleable.js +46 -0
- package/src/typed-handleable.js.map +1 -0
- package/src/{types.ts → types.d.ts} +21 -75
- package/src/types.d.ts.map +1 -0
- package/src/types.js +19 -0
- package/src/types.js.map +1 -0
- package/src/unified-translator.d.ts +31 -0
- package/src/unified-translator.d.ts.map +1 -0
- package/src/unified-translator.js +71 -0
- package/src/unified-translator.js.map +1 -0
- package/src/utils.d.ts +65 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +129 -0
- package/src/utils.js.map +1 -0
- package/src/validation-config.d.ts +12 -0
- package/src/validation-config.d.ts.map +1 -0
- package/src/validation-config.js +3 -0
- package/src/validation-config.js.map +1 -0
- package/src/validation-result.d.ts +13 -0
- package/src/validation-result.d.ts.map +1 -0
- package/src/validation-result.js +3 -0
- package/src/validation-result.js.map +1 -0
- package/LICENSE +0 -21
- package/src/active-context.ts +0 -30
- package/src/component-definition.ts +0 -11
- package/src/component-registration.ts +0 -13
- package/src/component-registry.ts +0 -392
- package/src/context-error-type.ts +0 -3
- package/src/context-error.ts +0 -16
- package/src/context-manager.ts +0 -71
- package/src/context.ts +0 -90
- package/src/core-i18n.ts +0 -609
- package/src/core-string-key.ts +0 -49
- package/src/create-translation-adapter.ts +0 -47
- package/src/currency-code.ts +0 -35
- package/src/currency.ts +0 -52
- package/src/default-config.ts +0 -199
- package/src/enum-registry.ts +0 -138
- package/src/global-active-context.ts +0 -255
- package/src/handleable.ts +0 -79
- package/src/i-global-active-context.ts +0 -59
- package/src/i-handleable-error-options.ts +0 -6
- package/src/i-handleable.ts +0 -5
- package/src/i18n-config.ts +0 -29
- package/src/i18n-engine.ts +0 -491
- package/src/language-definition.ts +0 -13
- package/src/language-registry.ts +0 -292
- package/src/plugin-i18n-engine.ts +0 -520
- package/src/plugin-translatable-generic-error.ts +0 -106
- package/src/plugin-translatable-handleable-generic.ts +0 -60
- package/src/plugin-typed-handleable.ts +0 -77
- package/src/registry-config.ts +0 -15
- package/src/registry-error-type.ts +0 -12
- package/src/registry-error.ts +0 -74
- package/src/strict-types.ts +0 -35
- package/src/template.ts +0 -63
- package/src/timezone.ts +0 -20
- package/src/translatable.ts +0 -15
- package/src/translation-engine.ts +0 -8
- package/src/translation-request.ts +0 -12
- package/src/translation-response.ts +0 -8
- package/src/typed-error.ts +0 -384
- package/src/typed-handleable.ts +0 -70
- package/src/unified-translator.ts +0 -96
- package/src/utils.ts +0 -213
- package/src/validation-config.ts +0 -11
- package/src/validation-result.ts +0 -12
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
import { IActiveContext } from './active-context';
|
|
2
|
-
import { ContextError } from './context-error';
|
|
3
|
-
import { ContextErrorType } from './context-error-type';
|
|
4
|
-
import { CurrencyCode } from './currency-code';
|
|
5
|
-
import { DefaultLanguageCode } from './default-config';
|
|
6
|
-
import { IGlobalActiveContext } from './i-global-active-context';
|
|
7
|
-
import { Timezone } from './timezone';
|
|
8
|
-
import {
|
|
9
|
-
DefaultCurrencyCode,
|
|
10
|
-
DefaultTimezone,
|
|
11
|
-
LanguageContextSpace,
|
|
12
|
-
} from './types';
|
|
13
|
-
|
|
14
|
-
export class GlobalActiveContext<TLanguage extends string, TActiveContext extends IActiveContext<TLanguage>> implements IGlobalActiveContext<TLanguage, TActiveContext> {
|
|
15
|
-
protected static _contextMap: Map<string, IActiveContext<any>> = new Map();
|
|
16
|
-
public static readonly defaultContextKey = 'default';
|
|
17
|
-
public static readonly defaultLanguage: DefaultLanguageCode = 'en-US';
|
|
18
|
-
|
|
19
|
-
private static _instance: GlobalActiveContext<any, any> | undefined;
|
|
20
|
-
public static get instance(): GlobalActiveContext<any, any> {
|
|
21
|
-
if (!this._instance) {
|
|
22
|
-
this._instance = new GlobalActiveContext<any, any>();
|
|
23
|
-
this._instance.createContext(this.defaultLanguage);
|
|
24
|
-
}
|
|
25
|
-
return this._instance;
|
|
26
|
-
}
|
|
27
|
-
public static getInstance<TLanguage extends string, TActiveContext extends IActiveContext<TLanguage>>(): GlobalActiveContext<TLanguage, TActiveContext> {
|
|
28
|
-
if (!this._instance) {
|
|
29
|
-
this._instance = new GlobalActiveContext<TLanguage, TActiveContext>();
|
|
30
|
-
this._instance.createContext(this.defaultLanguage);
|
|
31
|
-
}
|
|
32
|
-
return this._instance as GlobalActiveContext<TLanguage, TActiveContext>;
|
|
33
|
-
}
|
|
34
|
-
public static overrideInstance(instance: GlobalActiveContext<any, any>): void {
|
|
35
|
-
this._instance = instance;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
public createContext(
|
|
39
|
-
defaultLanguage: TLanguage,
|
|
40
|
-
defaultAdminLanguage: TLanguage = defaultLanguage,
|
|
41
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
42
|
-
): TActiveContext {
|
|
43
|
-
const newContext: IActiveContext<TLanguage> = {
|
|
44
|
-
/**
|
|
45
|
-
* The language to use for translations in the user facing ui
|
|
46
|
-
*/
|
|
47
|
-
language: defaultLanguage,
|
|
48
|
-
/**
|
|
49
|
-
* The language to use for console/admin logs
|
|
50
|
-
*/
|
|
51
|
-
adminLanguage: defaultAdminLanguage,
|
|
52
|
-
currencyCode: new CurrencyCode(DefaultCurrencyCode),
|
|
53
|
-
/**
|
|
54
|
-
* The current default context for language translations
|
|
55
|
-
*/
|
|
56
|
-
currentContext: 'user',
|
|
57
|
-
/**
|
|
58
|
-
* The timezone for the user facing UI
|
|
59
|
-
*/
|
|
60
|
-
timezone: new Timezone(DefaultTimezone),
|
|
61
|
-
/**
|
|
62
|
-
* The timezone for the admin console
|
|
63
|
-
*/
|
|
64
|
-
adminTimezone: new Timezone('UTC'),
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
GlobalActiveContext._contextMap.set(key, newContext);
|
|
68
|
-
return newContext as TActiveContext;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
public getContext(
|
|
72
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
73
|
-
): TActiveContext {
|
|
74
|
-
const context = GlobalActiveContext._contextMap.get(
|
|
75
|
-
key,
|
|
76
|
-
) as TActiveContext;
|
|
77
|
-
if (context) {
|
|
78
|
-
return context;
|
|
79
|
-
}
|
|
80
|
-
throw new ContextError(ContextErrorType.InvalidContext, key);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
public get context(): TActiveContext {
|
|
84
|
-
return this.getContext(
|
|
85
|
-
GlobalActiveContext.defaultContextKey,
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
public set context(ctx: TActiveContext) {
|
|
90
|
-
GlobalActiveContext._contextMap.set(
|
|
91
|
-
GlobalActiveContext.defaultContextKey,
|
|
92
|
-
ctx,
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
public setUserLanguage(
|
|
97
|
-
language: TLanguage,
|
|
98
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
99
|
-
): void {
|
|
100
|
-
const context = GlobalActiveContext._contextMap.get(
|
|
101
|
-
key,
|
|
102
|
-
) as IActiveContext<TLanguage>;
|
|
103
|
-
if (context) {
|
|
104
|
-
context.language = language;
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
throw new ContextError(ContextErrorType.InvalidContext, key);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
public get userLanguage(): TLanguage {
|
|
111
|
-
return this.context.language;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
public set userLanguage(lang: TLanguage) {
|
|
115
|
-
this.context.language = lang;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
public setCurrencyCode(
|
|
119
|
-
code: CurrencyCode,
|
|
120
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
121
|
-
): void {
|
|
122
|
-
const context = GlobalActiveContext._contextMap.get(
|
|
123
|
-
key,
|
|
124
|
-
) as IActiveContext<TLanguage>;
|
|
125
|
-
if (context) {
|
|
126
|
-
context.currencyCode = code;
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
throw new ContextError(ContextErrorType.InvalidContext, key);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
public get currencyCode(): CurrencyCode {
|
|
133
|
-
return this.context.currencyCode;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
public set currencyCode(code: CurrencyCode) {
|
|
137
|
-
this.context.currencyCode = code;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Sets the admin language for console operations
|
|
142
|
-
* @param language The language to set for admin operations
|
|
143
|
-
*/
|
|
144
|
-
public setAdminLanguage(
|
|
145
|
-
language: TLanguage,
|
|
146
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
147
|
-
): void {
|
|
148
|
-
const context = GlobalActiveContext._contextMap.get(
|
|
149
|
-
key,
|
|
150
|
-
) as IActiveContext<TLanguage>;
|
|
151
|
-
if (context) {
|
|
152
|
-
context.adminLanguage = language;
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
throw new ContextError(ContextErrorType.InvalidContext, key);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
public get adminLanguage(): TLanguage {
|
|
159
|
-
return this.context.adminLanguage;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
public set adminLanguage(lang: TLanguage) {
|
|
163
|
-
this.context.adminLanguage = lang;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Sets the language context for the current context
|
|
168
|
-
* @param context The language context to set
|
|
169
|
-
*/
|
|
170
|
-
public setLanguageContextSpace(
|
|
171
|
-
context: LanguageContextSpace,
|
|
172
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
173
|
-
): void {
|
|
174
|
-
const ctx = GlobalActiveContext._contextMap.get(
|
|
175
|
-
key,
|
|
176
|
-
) as IActiveContext<TLanguage>;
|
|
177
|
-
if (ctx) {
|
|
178
|
-
ctx.currentContext = context;
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
throw new ContextError(ContextErrorType.InvalidContext, key);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
public getLanguageContextSpace(
|
|
185
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
186
|
-
): LanguageContextSpace {
|
|
187
|
-
const ctx = GlobalActiveContext._contextMap.get(
|
|
188
|
-
key,
|
|
189
|
-
) as IActiveContext<TLanguage>;
|
|
190
|
-
if (ctx) {
|
|
191
|
-
return ctx.currentContext;
|
|
192
|
-
}
|
|
193
|
-
throw new ContextError(ContextErrorType.InvalidContext, key);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
public get languageContextSpace(): LanguageContextSpace {
|
|
197
|
-
return this.context.currentContext;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
public set languageContextSpace(context: LanguageContextSpace) {
|
|
201
|
-
this.context.currentContext = context;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
public setUserTimezone(
|
|
205
|
-
tz: Timezone,
|
|
206
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
207
|
-
): void {
|
|
208
|
-
const ctx = GlobalActiveContext._contextMap.get(
|
|
209
|
-
key,
|
|
210
|
-
) as IActiveContext<TLanguage>;
|
|
211
|
-
if (ctx) {
|
|
212
|
-
ctx.timezone = tz;
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
throw new ContextError(ContextErrorType.InvalidContext, key);
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
public get userTimezone(): Timezone {
|
|
219
|
-
return this.context.timezone;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
public set userTimezone(tz: Timezone) {
|
|
223
|
-
this.context.timezone = tz;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
public setAdminTimezone(
|
|
227
|
-
tz: Timezone,
|
|
228
|
-
key: string = GlobalActiveContext.defaultContextKey,
|
|
229
|
-
): void {
|
|
230
|
-
const ctx = GlobalActiveContext._contextMap.get(
|
|
231
|
-
key,
|
|
232
|
-
) as IActiveContext<TLanguage>;
|
|
233
|
-
if (ctx) {
|
|
234
|
-
ctx.adminTimezone = tz;
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
throw new ContextError(ContextErrorType.InvalidContext, key);
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
public get adminTimezone(): Timezone {
|
|
241
|
-
return this.context.adminTimezone;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
public set adminTimezone(tz: Timezone) {
|
|
245
|
-
this.context.adminTimezone = tz;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
/**
|
|
249
|
-
* Clear all contexts (useful for testing)
|
|
250
|
-
*/
|
|
251
|
-
public static clearAll(): void {
|
|
252
|
-
GlobalActiveContext._contextMap.clear();
|
|
253
|
-
GlobalActiveContext._instance = undefined;
|
|
254
|
-
}
|
|
255
|
-
}
|
package/src/handleable.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { IHandleable } from './i-handleable';
|
|
2
|
-
import { HandleableErrorOptions } from './i-handleable-error-options';
|
|
3
|
-
|
|
4
|
-
type ErrorConstructorWithStack = ErrorConstructor & {
|
|
5
|
-
captureStackTrace?: (target: Error, constructorOpt?: Function) => void;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export class HandleableError extends Error implements IHandleable {
|
|
9
|
-
public override readonly cause?: Error;
|
|
10
|
-
public readonly statusCode: number;
|
|
11
|
-
public readonly sourceData?: unknown;
|
|
12
|
-
private _handled: boolean;
|
|
13
|
-
|
|
14
|
-
constructor(source: Error, options?: HandleableErrorOptions) {
|
|
15
|
-
super(source.message);
|
|
16
|
-
this.name = this.constructor.name;
|
|
17
|
-
this.cause = options?.cause ?? source;
|
|
18
|
-
this.statusCode = options?.statusCode ?? 500;
|
|
19
|
-
this._handled = options?.handled ?? false;
|
|
20
|
-
this.sourceData = options?.sourceData;
|
|
21
|
-
|
|
22
|
-
// Capture stack trace - prioritize source stack, then capture new one
|
|
23
|
-
if (source.stack) {
|
|
24
|
-
this.stack = source.stack;
|
|
25
|
-
} else if ((Error as ErrorConstructorWithStack).captureStackTrace) {
|
|
26
|
-
(Error as ErrorConstructorWithStack).captureStackTrace?.(
|
|
27
|
-
this,
|
|
28
|
-
this.constructor,
|
|
29
|
-
);
|
|
30
|
-
} else {
|
|
31
|
-
this.stack = new Error().stack;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
public get handled(): boolean {
|
|
36
|
-
return this._handled;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
public set handled(value: boolean) {
|
|
40
|
-
this._handled = value;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
private serializeValue(value: unknown): unknown {
|
|
44
|
-
if (
|
|
45
|
-
value &&
|
|
46
|
-
typeof value === 'object' &&
|
|
47
|
-
'toJSON' in value &&
|
|
48
|
-
typeof value.toJSON === 'function'
|
|
49
|
-
) {
|
|
50
|
-
return value.toJSON();
|
|
51
|
-
}
|
|
52
|
-
if (value instanceof Error) {
|
|
53
|
-
return value.message;
|
|
54
|
-
}
|
|
55
|
-
if (Array.isArray(value)) {
|
|
56
|
-
return value.map((item) => this.serializeValue(item));
|
|
57
|
-
}
|
|
58
|
-
if (value && typeof value === 'object') {
|
|
59
|
-
return Object.fromEntries(
|
|
60
|
-
Object.entries(value).map(([k, v]) => [k, this.serializeValue(v)]),
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
return value;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
public toJSON(): Record<string, unknown> {
|
|
67
|
-
return {
|
|
68
|
-
name: this.name,
|
|
69
|
-
message: this.message,
|
|
70
|
-
statusCode: this.statusCode,
|
|
71
|
-
handled: this.handled,
|
|
72
|
-
stack: this.stack,
|
|
73
|
-
cause: this.serializeValue(this.cause),
|
|
74
|
-
...(this.sourceData
|
|
75
|
-
? { sourceData: this.serializeValue(this.sourceData) }
|
|
76
|
-
: {}),
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { IActiveContext } from './active-context';
|
|
2
|
-
import { CurrencyCode } from './currency-code';
|
|
3
|
-
import { DefaultLanguageCode } from './default-config';
|
|
4
|
-
import { Timezone } from './timezone';
|
|
5
|
-
import { LanguageContextSpace } from './types';
|
|
6
|
-
|
|
7
|
-
export interface IGlobalActiveContext<TLanguage extends string, TActiveContext extends IActiveContext<TLanguage>> {
|
|
8
|
-
context: TActiveContext;
|
|
9
|
-
userLanguage: TLanguage;
|
|
10
|
-
currencyCode: CurrencyCode;
|
|
11
|
-
adminLanguage: TLanguage;
|
|
12
|
-
languageContextSpace: LanguageContextSpace;
|
|
13
|
-
userTimezone: Timezone;
|
|
14
|
-
adminTimezone: Timezone;
|
|
15
|
-
|
|
16
|
-
createContext(
|
|
17
|
-
defaultLanguage: TLanguage,
|
|
18
|
-
defaultAdminLanguage?: TLanguage,
|
|
19
|
-
key?: string,
|
|
20
|
-
): TActiveContext;
|
|
21
|
-
|
|
22
|
-
getContext(
|
|
23
|
-
key?: string,
|
|
24
|
-
): TActiveContext;
|
|
25
|
-
|
|
26
|
-
setUserLanguage(
|
|
27
|
-
language: TLanguage,
|
|
28
|
-
key?: string,
|
|
29
|
-
): void;
|
|
30
|
-
|
|
31
|
-
setCurrencyCode(
|
|
32
|
-
code: CurrencyCode,
|
|
33
|
-
key?: string,
|
|
34
|
-
): void;
|
|
35
|
-
|
|
36
|
-
setAdminLanguage(
|
|
37
|
-
language: TLanguage,
|
|
38
|
-
key?: string,
|
|
39
|
-
): void;
|
|
40
|
-
|
|
41
|
-
setLanguageContextSpace(
|
|
42
|
-
context: LanguageContextSpace,
|
|
43
|
-
key?: string,
|
|
44
|
-
): void;
|
|
45
|
-
|
|
46
|
-
getLanguageContextSpace(
|
|
47
|
-
key?: string,
|
|
48
|
-
): LanguageContextSpace;
|
|
49
|
-
|
|
50
|
-
setUserTimezone(
|
|
51
|
-
tz: Timezone,
|
|
52
|
-
key?: string,
|
|
53
|
-
): void;
|
|
54
|
-
|
|
55
|
-
setAdminTimezone(
|
|
56
|
-
tz: Timezone,
|
|
57
|
-
key?: string,
|
|
58
|
-
): void;
|
|
59
|
-
}
|
package/src/i-handleable.ts
DELETED
package/src/i18n-config.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { CurrencyCode } from './currency-code';
|
|
2
|
-
import { Timezone } from './timezone';
|
|
3
|
-
import {
|
|
4
|
-
LanguageCodeCollection,
|
|
5
|
-
LanguageContextSpace,
|
|
6
|
-
MasterStringsCollection,
|
|
7
|
-
} from './types';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* I18n configuration interface
|
|
11
|
-
*/
|
|
12
|
-
export interface I18nConfig<
|
|
13
|
-
TStringKey extends string,
|
|
14
|
-
TLanguage extends string,
|
|
15
|
-
TConstants extends Record<string, any> = Record<string, any>,
|
|
16
|
-
> {
|
|
17
|
-
stringNames: TStringKey[];
|
|
18
|
-
strings: MasterStringsCollection<TStringKey, TLanguage>;
|
|
19
|
-
defaultLanguage: TLanguage;
|
|
20
|
-
defaultTranslationContext: LanguageContextSpace;
|
|
21
|
-
defaultCurrencyCode: CurrencyCode;
|
|
22
|
-
languageCodes: LanguageCodeCollection<TLanguage>;
|
|
23
|
-
languages: TLanguage[];
|
|
24
|
-
constants?: TConstants;
|
|
25
|
-
enumName?: string;
|
|
26
|
-
enumObj?: Record<string, TStringKey>;
|
|
27
|
-
timezone: Timezone;
|
|
28
|
-
adminTimezone: Timezone;
|
|
29
|
-
}
|