@tstdl/base 0.83.13 → 0.83.14
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/package.json
CHANGED
|
@@ -14,12 +14,12 @@ type LocalizationTemplate = {
|
|
|
14
14
|
export type EnumerationLocalization<T extends Enumeration = Enumeration> = {
|
|
15
15
|
[P in EnumerationValue<T>]: LocalizeItem<any>;
|
|
16
16
|
};
|
|
17
|
-
export type EnumerationLocalizationEntry<T extends Enumeration = Enumeration> = [T, EnumerationLocalization<T>];
|
|
17
|
+
export type EnumerationLocalizationEntry<T extends Enumeration = Enumeration> = [enumType: T, enumName: LocalizeItem<any> | undefined, enumValues: EnumerationLocalization<T>];
|
|
18
18
|
export type Localization<T extends LocalizationTemplate = LocalizationTemplate, Enums extends Enumeration[] = Enumeration[]> = {
|
|
19
19
|
language: Language;
|
|
20
20
|
keys: T;
|
|
21
21
|
enums: {
|
|
22
|
-
[
|
|
22
|
+
[I in keyof Enums]: EnumerationLocalizationEntry<Enums[I]>;
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
declare const parametersSymbol: unique symbol;
|
|
@@ -68,11 +68,13 @@ export declare class LocalizationService {
|
|
|
68
68
|
tryGetItem<Parameters>(key: LocalizationKey<Parameters> | LocalizationData<Parameters>): LocalizeItem | undefined;
|
|
69
69
|
hasKey<Parameters>(key: LocalizationKey<Parameters> | LocalizationData<Parameters>): boolean;
|
|
70
70
|
localize<Parameters>(keyOrData: LocalizationKey<Parameters> | LocalizationData<Parameters>): string;
|
|
71
|
-
localizeEnum<T extends Enumeration>(enumeration: T, value
|
|
71
|
+
localizeEnum<T extends Enumeration>(enumeration: T, value?: EnumerationValue<T>, parameters?: unknown): string;
|
|
72
72
|
localize$<Parameters>(data: LocalizationData<Parameters>): Observable<string>;
|
|
73
|
-
localizeEnum$<T extends Enumeration>(enumeration: T, value
|
|
73
|
+
localizeEnum$<T extends Enumeration>(enumeration: T, value?: EnumerationValue<T>, parameters?: unknown): Observable<string>;
|
|
74
74
|
private localizeItem;
|
|
75
75
|
}
|
|
76
|
+
export declare function enumerationLocalization<T extends Enumeration>(enumeration: T, name: LocalizeItem | undefined, localization: EnumerationLocalization<T>): EnumerationLocalizationEntry<T>;
|
|
76
77
|
export declare function enumerationLocalization<T extends Enumeration>(enumeration: T, localization: EnumerationLocalization<T>): EnumerationLocalizationEntry<T>;
|
|
77
|
-
declare function _autoEnumerationLocalization<T extends Enumeration>(enumeration: T): EnumerationLocalizationEntry<T>;
|
|
78
|
+
declare function _autoEnumerationLocalization<T extends Enumeration>(enumeration: T, name?: LocalizeItem): EnumerationLocalizationEntry<T>;
|
|
79
|
+
export declare function isLocalizeItem(value: any): value is LocalizeItem<any>;
|
|
78
80
|
export {};
|
|
@@ -23,6 +23,7 @@ __export(localization_service_exports, {
|
|
|
23
23
|
enumerationLocalization: () => enumerationLocalization,
|
|
24
24
|
getLocalizationKeys: () => getLocalizationKeys,
|
|
25
25
|
getProxyLocalizationKey: () => getProxyLocalizationKey,
|
|
26
|
+
isLocalizeItem: () => isLocalizeItem,
|
|
26
27
|
isProxyLocalizationKey: () => isProxyLocalizationKey,
|
|
27
28
|
localizationData: () => localizationData
|
|
28
29
|
});
|
|
@@ -155,10 +156,14 @@ let LocalizationService = class LocalizationService2 {
|
|
|
155
156
|
return this.localizeItem(key, templateOrFunction, parameters);
|
|
156
157
|
}
|
|
157
158
|
localizeEnum(enumeration, value, parameters) {
|
|
159
|
+
if ((0, import_type_guards.isUndefined)(value)) {
|
|
160
|
+
const name = this.activeLocalization?.enums.get(enumeration)?.name;
|
|
161
|
+
return this.localizeItem("ENUM", name, parameters);
|
|
162
|
+
}
|
|
158
163
|
const key = (0, import_type_guards.isArray)(enumeration) ? value : (0, import_enum.enumValueName)(enumeration, value);
|
|
159
|
-
const item = this.activeLocalization?.enums.get(enumeration)?.[value];
|
|
164
|
+
const item = this.activeLocalization?.enums.get(enumeration)?.values[value];
|
|
160
165
|
if ((0, import_type_guards.isUndefined)(item)) {
|
|
161
|
-
return autoEnumerationLocalization(enumeration)[
|
|
166
|
+
return autoEnumerationLocalization(enumeration)[2][value];
|
|
162
167
|
}
|
|
163
168
|
return this.localizeItem(key, item, parameters);
|
|
164
169
|
}
|
|
@@ -195,21 +200,22 @@ LocalizationService = __decorate([
|
|
|
195
200
|
__param(0, (0, import_container.resolveArg)("LocalizationService")),
|
|
196
201
|
__metadata("design:paramtypes", [import_logger.Logger])
|
|
197
202
|
], LocalizationService);
|
|
198
|
-
function enumerationLocalization(enumeration,
|
|
199
|
-
return [enumeration,
|
|
203
|
+
function enumerationLocalization(enumeration, nameOrLocalization, localizationOrNothing) {
|
|
204
|
+
return [enumeration, isLocalizeItem(nameOrLocalization) ? nameOrLocalization : void 0, localizationOrNothing ?? nameOrLocalization];
|
|
200
205
|
}
|
|
201
|
-
function _autoEnumerationLocalization(enumeration) {
|
|
206
|
+
function _autoEnumerationLocalization(enumeration, name) {
|
|
202
207
|
if ((0, import_type_guards.isObject)(enumeration)) {
|
|
203
|
-
return [enumeration, Object.fromEntries((0, import_enum.enumEntries)(enumeration).map(([key, value]) => [value, key]))];
|
|
208
|
+
return [enumeration, name, Object.fromEntries((0, import_enum.enumEntries)(enumeration).map(([key, value]) => [value, key]))];
|
|
204
209
|
}
|
|
205
210
|
const arrayEntries = enumeration.map((value) => [value, value]);
|
|
206
|
-
return [enumeration, Object.fromEntries(arrayEntries)];
|
|
211
|
+
return [enumeration, name, Object.fromEntries(arrayEntries)];
|
|
207
212
|
}
|
|
208
213
|
function buildMappedLocalization({ language, keys, enums }) {
|
|
214
|
+
const enumsEntries = enums.map((entry) => [entry[0], { name: entry[1], values: entry[2] }]);
|
|
209
215
|
const mappedLocalization = {
|
|
210
216
|
language,
|
|
211
217
|
keys: new Map((0, import_object.deepObjectEntries)(keys)),
|
|
212
|
-
enums: new Map(
|
|
218
|
+
enums: new Map(enumsEntries)
|
|
213
219
|
};
|
|
214
220
|
return mappedLocalization;
|
|
215
221
|
}
|
|
@@ -235,3 +241,6 @@ function mergeMappedLocalization(a, b, force = false) {
|
|
|
235
241
|
enums: new Map([...a.enums, ...b.enums])
|
|
236
242
|
};
|
|
237
243
|
}
|
|
244
|
+
function isLocalizeItem(value) {
|
|
245
|
+
return (0, import_type_guards.isString)(value) || (0, import_type_guards.isFunction)(value);
|
|
246
|
+
}
|