@tstdl/base 0.81.0 → 0.81.1
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/.eslintrc.js +1 -0
- package/error/not-supported.error.js +2 -2
- package/error/not-supported.error.js.map +1 -1
- package/package.json +1 -1
- package/schema/coercers/boolean.coercer.d.ts +1 -1
- package/schema/coercers/date.coercer.d.ts +1 -1
- package/schema/coercers/string.coercer.d.ts +1 -1
- package/schema/constraints/maximum-length.d.ts +1 -1
- package/schema/constraints/minimum-length.d.ts +1 -1
- package/text/localization.service.d.ts +17 -4
- package/text/localization.service.js +29 -6
- package/text/localization.service.js.map +1 -1
- package/utils/enum.d.ts +1 -0
- package/utils/enum.js +6 -1
- package/utils/enum.js.map +1 -1
package/.eslintrc.js
CHANGED
|
@@ -52,6 +52,7 @@ module.exports = {
|
|
|
52
52
|
'@typescript-eslint/prefer-readonly-parameter-types': ['off', { checkParameterProperties: false }],
|
|
53
53
|
'@typescript-eslint/quotes': ['warn', 'single'],
|
|
54
54
|
'@typescript-eslint/restrict-template-expressions': ['error', { allowNumber: true, allowBoolean: true, allowNullish: true }],
|
|
55
|
+
'@typescript-eslint/sort-type-constituents': 'off',
|
|
55
56
|
'@typescript-eslint/sort-type-union-intersection-members': 'off',
|
|
56
57
|
'@typescript-eslint/space-before-function-paren': ['warn', { anonymous: 'never', named: 'never', asyncArrow: 'always' }],
|
|
57
58
|
'@typescript-eslint/typedef': 'off',
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NotSupportedError = void 0;
|
|
4
|
-
const
|
|
4
|
+
const enum_1 = require("../utils/enum");
|
|
5
5
|
const custom_error_1 = require("./custom.error");
|
|
6
6
|
class NotSupportedError extends custom_error_1.CustomError {
|
|
7
7
|
constructor(message = 'Not supported.') {
|
|
8
8
|
super({ message });
|
|
9
9
|
}
|
|
10
10
|
static fromEnum(enumeration, name, value) {
|
|
11
|
-
const valueName = (0,
|
|
11
|
+
const valueName = (0, enum_1.enumValueName)(enumeration, value);
|
|
12
12
|
return new NotSupportedError(`${name} "${valueName}" is not supported.`);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-supported.error.js","sourceRoot":"","sources":["../../source/error/not-supported.error.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"not-supported.error.js","sourceRoot":"","sources":["../../source/error/not-supported.error.ts"],"names":[],"mappings":";;;AACA,wCAA6C;AAC7C,iDAA6C;AAE7C,MAAa,iBAAkB,SAAQ,0BAAW;IAGhD,YAAY,UAAkB,gBAAgB;QAC5C,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,WAA8B,EAAE,IAAY,EAAE,KAAuB;QACnF,MAAM,SAAS,GAAG,IAAA,oBAAa,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,iBAAiB,CAAC,GAAG,IAAI,KAAK,SAAS,qBAAqB,CAAC,CAAC;IAC3E,CAAC;;AAVH,8CAWC;AAViB,2BAAS,GAAG,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import type { JsonPath } from "../../json-path";
|
|
|
2
2
|
import type { CoercerContext, CoerceResult } from '../types';
|
|
3
3
|
import { SchemaValueCoercer } from '../types';
|
|
4
4
|
export declare class BooleanCoercer extends SchemaValueCoercer {
|
|
5
|
-
readonly sourceType: (
|
|
5
|
+
readonly sourceType: (StringConstructor | NumberConstructor | BigIntConstructor)[];
|
|
6
6
|
readonly targetType: BooleanConstructor;
|
|
7
7
|
coerce(value: number | string | bigint, path: JsonPath, context: CoercerContext): CoerceResult;
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import type { JsonPath } from "../../json-path";
|
|
|
2
2
|
import type { CoercerContext, CoerceResult } from '../types';
|
|
3
3
|
import { SchemaValueCoercer } from '../types';
|
|
4
4
|
export declare class DateCoercer extends SchemaValueCoercer {
|
|
5
|
-
readonly sourceType: (
|
|
5
|
+
readonly sourceType: (StringConstructor | NumberConstructor | BigIntConstructor)[];
|
|
6
6
|
readonly targetType: DateConstructor;
|
|
7
7
|
coerce(value: number | string | bigint, path: JsonPath, context: CoercerContext): CoerceResult;
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import type { JsonPath } from "../../json-path";
|
|
|
2
2
|
import type { CoercerContext, CoerceResult } from '../types';
|
|
3
3
|
import { SchemaValueCoercer } from '../types';
|
|
4
4
|
export declare class StringCoercer extends SchemaValueCoercer {
|
|
5
|
-
readonly sourceType: (DateConstructor |
|
|
5
|
+
readonly sourceType: (DateConstructor | BooleanConstructor | NumberConstructor | BigIntConstructor)[];
|
|
6
6
|
readonly targetType: StringConstructor;
|
|
7
7
|
coerce(value: number | boolean | bigint | Date, path: JsonPath, context: CoercerContext): CoerceResult;
|
|
8
8
|
}
|
|
@@ -4,7 +4,7 @@ import type { ConstraintContext, ConstraintResult } from '../types';
|
|
|
4
4
|
import { SchemaValueConstraint } from '../types';
|
|
5
5
|
export declare class MaximumLengthConstraint extends SchemaValueConstraint {
|
|
6
6
|
private readonly maximumLength;
|
|
7
|
-
readonly suitableTypes: (
|
|
7
|
+
readonly suitableTypes: (Uint8ArrayConstructor | StringConstructor | Int8ArrayConstructor | Uint8ClampedArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor | ArrayBufferConstructor | ArrayConstructor)[];
|
|
8
8
|
readonly expects: string;
|
|
9
9
|
constructor(maximumLength: number);
|
|
10
10
|
validate(value: string, path: JsonPath, context: ConstraintContext): ConstraintResult;
|
|
@@ -4,7 +4,7 @@ import type { ConstraintContext, ConstraintResult } from '../types';
|
|
|
4
4
|
import { SchemaValueConstraint } from '../types';
|
|
5
5
|
export declare class MinimumLengthConstraint extends SchemaValueConstraint {
|
|
6
6
|
private readonly minimumLength;
|
|
7
|
-
readonly suitableTypes: (
|
|
7
|
+
readonly suitableTypes: (Uint8ArrayConstructor | StringConstructor | Int8ArrayConstructor | Uint8ClampedArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor | ArrayBufferConstructor | ArrayConstructor)[];
|
|
8
8
|
readonly expects: string;
|
|
9
9
|
constructor(minimumLength: number);
|
|
10
10
|
validate(value: string | ArrayLike<any> | ArrayBuffer, path: JsonPath, context: ConstraintContext): ConstraintResult;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Enumeration, EnumerationValue } from "../types";
|
|
1
2
|
import type { PropertyName } from "../utils/object/property-name";
|
|
2
3
|
import type { Observable } from 'rxjs';
|
|
3
4
|
export declare type Language = {
|
|
@@ -9,18 +10,25 @@ export declare type LocalizeItem<Parameters = void> = string | LocalizeFunction<
|
|
|
9
10
|
declare type LocalizationTemplate = {
|
|
10
11
|
[key: string]: LocalizeItem<any> | LocalizationTemplate;
|
|
11
12
|
};
|
|
12
|
-
export declare type
|
|
13
|
+
export declare type EnumerationLocalization<T extends Enumeration = Enumeration> = {
|
|
14
|
+
[P in EnumerationValue<T>]: LocalizeItem<any>;
|
|
15
|
+
};
|
|
16
|
+
export declare type EnumerationLocalizationEntry<T extends Enumeration = Enumeration> = [T, EnumerationLocalization<T>];
|
|
17
|
+
export declare type Localization<T extends LocalizationTemplate = LocalizationTemplate, Enums extends Enumeration[] = []> = {
|
|
13
18
|
language: Language;
|
|
14
19
|
keys: T;
|
|
20
|
+
enums: {
|
|
21
|
+
[P in keyof Enums]: EnumerationLocalizationEntry<Enums[P]>;
|
|
22
|
+
};
|
|
15
23
|
};
|
|
16
24
|
declare const parametersSymbol: unique symbol;
|
|
17
25
|
export declare type LocalizationKey<Parameters = void> = PropertyName & {
|
|
18
26
|
[parametersSymbol]: Parameters;
|
|
19
27
|
};
|
|
20
|
-
export declare type LocalizationData<Parameters = any> = LocalizationKey | {
|
|
28
|
+
export declare type LocalizationData<Parameters = any> = LocalizationKey | LocalizationDataObject<Parameters> | {
|
|
21
29
|
key: LocalizationKey;
|
|
22
30
|
parameters?: void;
|
|
23
|
-
}
|
|
31
|
+
};
|
|
24
32
|
export declare type LocalizationDataObject<Parameters> = {
|
|
25
33
|
key: LocalizationKey<Parameters>;
|
|
26
34
|
parameters: Parameters;
|
|
@@ -37,11 +45,12 @@ export declare function localizationData<T>(data: LocalizationData<T>): Localiza
|
|
|
37
45
|
* @param localization
|
|
38
46
|
* @returns
|
|
39
47
|
*/
|
|
40
|
-
export declare function getLocalizationKeys<T extends Localization
|
|
48
|
+
export declare function getLocalizationKeys<T extends Localization<any, any>>(_localization?: T): LocalizationKeys<T['keys']>;
|
|
41
49
|
export declare class LocalizationService {
|
|
42
50
|
private readonly localizations;
|
|
43
51
|
private readonly activeLanguageSubject;
|
|
44
52
|
private readonly availableLanguagesSubject;
|
|
53
|
+
private get activeLocalization();
|
|
45
54
|
get availableLanguages(): readonly Language[];
|
|
46
55
|
get activeLanguage(): Language | undefined;
|
|
47
56
|
readonly activeLanguage$: Observable<Language | undefined>;
|
|
@@ -55,6 +64,10 @@ export declare class LocalizationService {
|
|
|
55
64
|
tryGetItem<Parameters>(key: LocalizationKey<Parameters> | LocalizationData<Parameters>): LocalizeItem | undefined;
|
|
56
65
|
hasKey<Parameters>(key: LocalizationKey<Parameters> | LocalizationData<Parameters>): boolean;
|
|
57
66
|
localize<Parameters>(data: LocalizationKey<Parameters> | LocalizationData<Parameters>): string;
|
|
67
|
+
localizeEnum<T extends Enumeration>(enumeration: T, value: EnumerationValue<T>, parameters?: unknown): string;
|
|
58
68
|
localize$<Parameters>(data: LocalizationData<Parameters>): Observable<string>;
|
|
69
|
+
localizeEnum$<T extends Enumeration>(enumeration: T, value: EnumerationValue<T>, parameters?: unknown): Observable<string>;
|
|
70
|
+
private localizeItem;
|
|
59
71
|
}
|
|
72
|
+
export declare function enumerationLocalization<T extends Enumeration>(enumeration: T, localization: EnumerationLocalization<T>): EnumerationLocalizationEntry<T>;
|
|
60
73
|
export {};
|
|
@@ -9,8 +9,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.LocalizationService = exports.getLocalizationKeys = exports.localizationData = exports.getLocalizationKey = exports.isLocalizationKey = void 0;
|
|
12
|
+
exports.enumerationLocalization = exports.LocalizationService = exports.getLocalizationKeys = exports.localizationData = exports.getLocalizationKey = exports.isLocalizationKey = void 0;
|
|
13
13
|
const container_1 = require("../container");
|
|
14
|
+
const enum_1 = require("../utils/enum");
|
|
14
15
|
const object_1 = require("../utils/object/object");
|
|
15
16
|
const property_name_1 = require("../utils/object/property-name");
|
|
16
17
|
const type_guards_1 = require("../utils/type-guards");
|
|
@@ -46,6 +47,12 @@ let LocalizationService = class LocalizationService {
|
|
|
46
47
|
this.activeLanguage$ = this.activeLanguageSubject.asObservable();
|
|
47
48
|
this.availableLanguages$ = this.availableLanguagesSubject.asObservable();
|
|
48
49
|
}
|
|
50
|
+
get activeLocalization() {
|
|
51
|
+
if ((0, type_guards_1.isUndefined)(this.activeLanguage)) {
|
|
52
|
+
throw new Error('Language not set.');
|
|
53
|
+
}
|
|
54
|
+
return this.localizations.get(this.activeLanguage.code);
|
|
55
|
+
}
|
|
49
56
|
get availableLanguages() {
|
|
50
57
|
return this.availableLanguagesSubject.value;
|
|
51
58
|
}
|
|
@@ -103,6 +110,20 @@ let LocalizationService = class LocalizationService {
|
|
|
103
110
|
const key = dataIsLocalizationKey ? data[property_name_1.propertyName] : data.key[property_name_1.propertyName];
|
|
104
111
|
const parameters = dataIsLocalizationKey ? {} : data.parameters;
|
|
105
112
|
const templateOrFunction = this.localizations.get(this.activeLanguage.code)?.keys.get(key);
|
|
113
|
+
return this.localizeItem(key, templateOrFunction, parameters);
|
|
114
|
+
}
|
|
115
|
+
localizeEnum(enumeration, value, parameters) {
|
|
116
|
+
const key = (0, type_guards_1.isArray)(enumeration) ? value : (0, enum_1.enumValueName)(enumeration, value);
|
|
117
|
+
const item = this.activeLocalization?.enums.get(enumeration)?.[value];
|
|
118
|
+
return this.localizeItem(key, item, parameters);
|
|
119
|
+
}
|
|
120
|
+
localize$(data) {
|
|
121
|
+
return this.activeLanguage$.pipe((0, rxjs_1.map)(() => this.localize(data)));
|
|
122
|
+
}
|
|
123
|
+
localizeEnum$(enumeration, value, parameters) {
|
|
124
|
+
return this.activeLanguage$.pipe((0, rxjs_1.map)(() => this.localizeEnum(enumeration, value, parameters)));
|
|
125
|
+
}
|
|
126
|
+
localizeItem(key, templateOrFunction, parameters) {
|
|
106
127
|
if ((0, type_guards_1.isUndefined)(templateOrFunction)) {
|
|
107
128
|
return `__${key}__`;
|
|
108
129
|
}
|
|
@@ -123,19 +144,21 @@ let LocalizationService = class LocalizationService {
|
|
|
123
144
|
result += template.slice(currentIndex);
|
|
124
145
|
return result;
|
|
125
146
|
}
|
|
126
|
-
localize$(data) {
|
|
127
|
-
return this.activeLanguage$.pipe((0, rxjs_1.map)(() => this.localize(data)));
|
|
128
|
-
}
|
|
129
147
|
};
|
|
130
148
|
LocalizationService = __decorate([
|
|
131
149
|
(0, container_1.singleton)(),
|
|
132
150
|
__metadata("design:paramtypes", [])
|
|
133
151
|
], LocalizationService);
|
|
134
152
|
exports.LocalizationService = LocalizationService;
|
|
135
|
-
function
|
|
153
|
+
function enumerationLocalization(enumeration, localization) {
|
|
154
|
+
return [enumeration, localization];
|
|
155
|
+
}
|
|
156
|
+
exports.enumerationLocalization = enumerationLocalization;
|
|
157
|
+
function buildMappedLocalization({ language, keys, enums }) {
|
|
136
158
|
const mappedLocalization = {
|
|
137
159
|
language,
|
|
138
|
-
keys: new Map((0, object_1.deepEntries)(keys))
|
|
160
|
+
keys: new Map((0, object_1.deepEntries)(keys)),
|
|
161
|
+
enums: new Map(enums)
|
|
139
162
|
};
|
|
140
163
|
return mappedLocalization;
|
|
141
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization.service.js","sourceRoot":"","sources":["../../source/text/localization.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwC;AAExC,mDAAoD;AAEpD,iEAAkG;AAClG,
|
|
1
|
+
{"version":3,"file":"localization.service.js","sourceRoot":"","sources":["../../source/text/localization.service.ts"],"names":[],"mappings":"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"}
|
package/utils/enum.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { EnumerationEntries, EnumerationKey, EnumerationObject, EnumerationValue } from "../types";
|
|
2
|
+
export declare function enumValueName<T extends EnumerationObject>(enumeration: T, value: T[keyof T]): string;
|
|
2
3
|
export declare function enumEntries<T extends EnumerationObject>(enumeration: T): EnumerationEntries<T>;
|
|
3
4
|
export declare function enumKeys<T extends EnumerationObject>(enumeration: T): EnumerationKey<T>[];
|
|
4
5
|
export declare function enumValues<T extends EnumerationObject>(enumeration: T): EnumerationValue<T>[];
|
package/utils/enum.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.randomEnumValue = exports.enumValues = exports.enumKeys = exports.enumEntries = void 0;
|
|
3
|
+
exports.randomEnumValue = exports.enumValues = exports.enumKeys = exports.enumEntries = exports.enumValueName = void 0;
|
|
4
4
|
const array_1 = require("./array/array");
|
|
5
5
|
const function_1 = require("./function");
|
|
6
6
|
const object_1 = require("./object/object");
|
|
7
|
+
const type_guards_1 = require("./type-guards");
|
|
7
8
|
const memoizedEnumEntries = (0, function_1.memoizeSingle)(_enumEntries, { weak: true });
|
|
8
9
|
const memoizedEnumKeys = (0, function_1.memoizeSingle)(_enumKeys, { weak: true });
|
|
9
10
|
const memoizedEnumValues = (0, function_1.memoizeSingle)(_enumValues, { weak: true });
|
|
11
|
+
function enumValueName(enumeration, value) {
|
|
12
|
+
return (0, type_guards_1.isNumber)(value) ? enumeration[value]?.toString() ?? value.toString() : value;
|
|
13
|
+
}
|
|
14
|
+
exports.enumValueName = enumValueName;
|
|
10
15
|
function enumEntries(enumeration) {
|
|
11
16
|
return memoizedEnumEntries(enumeration);
|
|
12
17
|
}
|
package/utils/enum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../source/utils/enum.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,yCAA2C;AAC3C,4CAAgD;
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../source/utils/enum.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,yCAA2C;AAC3C,4CAAgD;AAChD,+CAAyC;AAEzC,MAAM,mBAAmB,GAAG,IAAA,wBAAa,EAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,IAAA,wBAAa,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,MAAM,kBAAkB,GAAG,IAAA,wBAAa,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAEtE,SAAgB,aAAa,CAA8B,WAAc,EAAE,KAAiB;IAC1F,OAAO,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACtF,CAAC;AAFD,sCAEC;AAED,SAAgB,WAAW,CAA8B,WAAc;IACrE,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAFD,kCAEC;AAED,SAAgB,QAAQ,CAA8B,WAAc;IAClE,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAA8B,WAAc;IACpE,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe,CAA8B,WAAc;IACzE,OAAO,IAAA,kBAAU,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,CAAC;AAFD,0CAEC;AAED,SAAS,YAAY,CAA8B,WAAc;IAC/D,OAAO,IAAA,sBAAa,EAAoB,WAAW,CAAC;SACjD,MAAM,CAAC,CAAC,KAAK,EAAgC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAA0B,CAAC;AAC9G,CAAC;AAED,SAAS,SAAS,CAA8B,WAAc;IAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAA0B,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAA8B,WAAc;IAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAA0B,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAwB,CAAC,CAAC;AACjE,CAAC"}
|