@digitaldefiance/i18n-lib 1.3.13 → 1.3.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/README.md +4 -0
- 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 +147 -0
- package/src/plugin-i18n-engine.d.ts.map +1 -0
- package/src/plugin-i18n-engine.js +369 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-typed-handleable.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/plugin-typed-handleable.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAI/C,+CAAoE;AAMpE,MAAa,0BAKX,SAAQ,8BAA+C;IAG9B,KAAK,CAAS;IACvB,UAAU,CAAS;IACnB,UAAU,CAAW;IAC7B,QAAQ,CAAU;IAE1B,YACE,MAAoC,EACpC,WAAmB,EACnB,IAAwB,EACxB,SAA+C,EAC/C,MAAa,EACb,OAAgC,EAChC,QAAqB,EACrB,SAA2C;QAE3C,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjE,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;QAEtC,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;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,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;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,EACH,IAAI,CAAC,KAAK,YAAY,4BAAe;gBACrC,IAAI,CAAC,KAAK,YAAY,0BAA0B;gBAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACrB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;YACzB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;CACF;AAlED,gEAkEC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CurrencyCode } from './currency-code';
|
|
2
|
+
import { Timezone } from './timezone';
|
|
3
|
+
import { ValidationConfig } from './validation-config';
|
|
4
|
+
/**
|
|
5
|
+
* Registry configuration
|
|
6
|
+
*/
|
|
7
|
+
export interface RegistryConfig<TLanguages extends string> {
|
|
8
|
+
readonly defaultLanguage: TLanguages;
|
|
9
|
+
readonly fallbackLanguage: TLanguages;
|
|
10
|
+
readonly defaultCurrencyCode: CurrencyCode;
|
|
11
|
+
readonly timezone: Timezone;
|
|
12
|
+
readonly adminTimezone: Timezone;
|
|
13
|
+
readonly validation: ValidationConfig;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=registry-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-config.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/registry-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,UAAU,SAAS,MAAM;IACvD,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,YAAY,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-config.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/registry-config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error types for registry operations
|
|
3
|
+
*/
|
|
4
|
+
export declare enum RegistryErrorType {
|
|
5
|
+
ComponentNotFound = "COMPONENT_NOT_FOUND",
|
|
6
|
+
LanguageNotFound = "LANGUAGE_NOT_FOUND",
|
|
7
|
+
StringKeyNotFound = "STRING_KEY_NOT_FOUND",
|
|
8
|
+
IncompleteRegistration = "INCOMPLETE_REGISTRATION",
|
|
9
|
+
DuplicateComponent = "DUPLICATE_COMPONENT",
|
|
10
|
+
DuplicateLanguage = "DUPLICATE_LANGUAGE",
|
|
11
|
+
ValidationFailed = "VALIDATION_FAILED"
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=registry-error-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-error-type.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/registry-error-type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,iBAAiB,wBAAwB;IACzC,gBAAgB,uBAAuB;IACvC,iBAAiB,yBAAyB;IAC1C,sBAAsB,4BAA4B;IAClD,kBAAkB,wBAAwB;IAC1C,iBAAiB,uBAAuB;IACxC,gBAAgB,sBAAsB;CACvC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RegistryErrorType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Error types for registry operations
|
|
6
|
+
*/
|
|
7
|
+
var RegistryErrorType;
|
|
8
|
+
(function (RegistryErrorType) {
|
|
9
|
+
RegistryErrorType["ComponentNotFound"] = "COMPONENT_NOT_FOUND";
|
|
10
|
+
RegistryErrorType["LanguageNotFound"] = "LANGUAGE_NOT_FOUND";
|
|
11
|
+
RegistryErrorType["StringKeyNotFound"] = "STRING_KEY_NOT_FOUND";
|
|
12
|
+
RegistryErrorType["IncompleteRegistration"] = "INCOMPLETE_REGISTRATION";
|
|
13
|
+
RegistryErrorType["DuplicateComponent"] = "DUPLICATE_COMPONENT";
|
|
14
|
+
RegistryErrorType["DuplicateLanguage"] = "DUPLICATE_LANGUAGE";
|
|
15
|
+
RegistryErrorType["ValidationFailed"] = "VALIDATION_FAILED";
|
|
16
|
+
})(RegistryErrorType || (exports.RegistryErrorType = RegistryErrorType = {}));
|
|
17
|
+
//# sourceMappingURL=registry-error-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-error-type.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/registry-error-type.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,8DAAyC,CAAA;IACzC,4DAAuC,CAAA;IACvC,+DAA0C,CAAA;IAC1C,uEAAkD,CAAA;IAClD,+DAA0C,CAAA;IAC1C,6DAAwC,CAAA;IACxC,2DAAsC,CAAA;AACxC,CAAC,EARW,iBAAiB,iCAAjB,iBAAiB,QAQ5B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RegistryErrorType } from './registry-error-type';
|
|
2
|
+
import { TranslationEngine } from './typed-error';
|
|
3
|
+
/**
|
|
4
|
+
* Registry error class that can work with plugin engines
|
|
5
|
+
*/
|
|
6
|
+
export declare class RegistryError extends Error {
|
|
7
|
+
readonly type: RegistryErrorType;
|
|
8
|
+
readonly metadata?: Record<string, any> | undefined;
|
|
9
|
+
constructor(type: RegistryErrorType, message: string, metadata?: Record<string, any> | undefined);
|
|
10
|
+
/**
|
|
11
|
+
* Create a registry error with translation support
|
|
12
|
+
*/
|
|
13
|
+
static createWithEngine(engine: TranslationEngine, type: RegistryErrorType, variables?: Record<string, string | number>, language?: string, metadata?: Record<string, any>): RegistryError;
|
|
14
|
+
/**
|
|
15
|
+
* Create a simple RegistryError without engine dependency
|
|
16
|
+
*/
|
|
17
|
+
static createSimple(type: RegistryErrorType, message: string, metadata?: Record<string, any>): RegistryError;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=registry-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-error.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/registry-error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAyB,MAAM,eAAe,CAAC;AAsBzE;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAEpB,IAAI,EAAE,iBAAiB;aAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAF9B,IAAI,EAAE,iBAAiB,EACvC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;IAMhD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,iBAAiB,EACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,aAAa;IAgBhB;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,aAAa;CAGjB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RegistryError = void 0;
|
|
4
|
+
// CoreLanguageCode is deprecated - using string
|
|
5
|
+
const core_string_key_1 = require("./core-string-key");
|
|
6
|
+
const registry_error_type_1 = require("./registry-error-type");
|
|
7
|
+
const typed_error_1 = require("./typed-error");
|
|
8
|
+
/**
|
|
9
|
+
* Reason map for registry errors
|
|
10
|
+
*/
|
|
11
|
+
const REGISTRY_ERROR_REASON_MAP = {
|
|
12
|
+
[registry_error_type_1.RegistryErrorType.ComponentNotFound]: core_string_key_1.CoreStringKey.Error_ComponentNotFoundTemplate,
|
|
13
|
+
[registry_error_type_1.RegistryErrorType.DuplicateComponent]: core_string_key_1.CoreStringKey.Error_DuplicateComponentTemplate,
|
|
14
|
+
[registry_error_type_1.RegistryErrorType.DuplicateLanguage]: core_string_key_1.CoreStringKey.Error_DuplicateLanguageTemplate,
|
|
15
|
+
[registry_error_type_1.RegistryErrorType.IncompleteRegistration]: core_string_key_1.CoreStringKey.Error_IncompleteRegistrationTemplate,
|
|
16
|
+
[registry_error_type_1.RegistryErrorType.LanguageNotFound]: core_string_key_1.CoreStringKey.Error_LanguageNotFoundTemplate,
|
|
17
|
+
[registry_error_type_1.RegistryErrorType.StringKeyNotFound]: core_string_key_1.CoreStringKey.Error_StringKeyNotFoundTemplate,
|
|
18
|
+
[registry_error_type_1.RegistryErrorType.ValidationFailed]: core_string_key_1.CoreStringKey.Error_ValidationFailedTemplate,
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Registry error class that can work with plugin engines
|
|
22
|
+
*/
|
|
23
|
+
class RegistryError extends Error {
|
|
24
|
+
type;
|
|
25
|
+
metadata;
|
|
26
|
+
constructor(type, message, metadata) {
|
|
27
|
+
super(message);
|
|
28
|
+
this.type = type;
|
|
29
|
+
this.metadata = metadata;
|
|
30
|
+
this.name = 'RegistryError';
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create a registry error with translation support
|
|
34
|
+
*/
|
|
35
|
+
static createWithEngine(engine, type, variables, language, metadata) {
|
|
36
|
+
const error = (0, typed_error_1.createTranslatedError)(engine, 'core', type, REGISTRY_ERROR_REASON_MAP, variables, language, metadata, 'RegistryError');
|
|
37
|
+
// Convert to RegistryError instance
|
|
38
|
+
return new RegistryError(type, error.message, metadata);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a simple RegistryError without engine dependency
|
|
42
|
+
*/
|
|
43
|
+
static createSimple(type, message, metadata) {
|
|
44
|
+
return new RegistryError(type, message, metadata);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.RegistryError = RegistryError;
|
|
48
|
+
//# sourceMappingURL=registry-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-error.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/registry-error.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAChD,uDAAkD;AAClD,+DAA0D;AAC1D,+CAAyE;AAEzE;;GAEG;AACH,MAAM,yBAAyB,GAAG;IAChC,CAAC,uCAAiB,CAAC,iBAAiB,CAAC,EACnC,+BAAa,CAAC,+BAA+B;IAC/C,CAAC,uCAAiB,CAAC,kBAAkB,CAAC,EACpC,+BAAa,CAAC,gCAAgC;IAChD,CAAC,uCAAiB,CAAC,iBAAiB,CAAC,EACnC,+BAAa,CAAC,+BAA+B;IAC/C,CAAC,uCAAiB,CAAC,sBAAsB,CAAC,EACxC,+BAAa,CAAC,oCAAoC;IACpD,CAAC,uCAAiB,CAAC,gBAAgB,CAAC,EAClC,+BAAa,CAAC,8BAA8B;IAC9C,CAAC,uCAAiB,CAAC,iBAAiB,CAAC,EACnC,+BAAa,CAAC,+BAA+B;IAC/C,CAAC,uCAAiB,CAAC,gBAAgB,CAAC,EAClC,+BAAa,CAAC,8BAA8B;CACtC,CAAC;AAEX;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IAEpB;IAEA;IAHlB,YACkB,IAAuB,EACvC,OAAe,EACC,QAA8B;QAE9C,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAmB;QAEvB,aAAQ,GAAR,QAAQ,CAAsB;QAG9C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAyB,EACzB,IAAuB,EACvB,SAA2C,EAC3C,QAAiB,EACjB,QAA8B;QAE9B,MAAM,KAAK,GAAG,IAAA,mCAAqB,EACjC,MAAM,EACN,MAAM,EACN,IAAI,EACJ,yBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,eAAe,CAChB,CAAC;QAEF,oCAAoC;QACpC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,IAAuB,EACvB,OAAe,EACf,QAA8B;QAE9B,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;CACF;AA7CD,sCA6CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enforces that for each language L, all string keys K are present.
|
|
3
|
+
*/
|
|
4
|
+
export type CompleteLanguageStrings<TStringKey extends string> = {
|
|
5
|
+
[K in TStringKey]: string;
|
|
6
|
+
};
|
|
7
|
+
export type CompleteComponentLanguageStrings<TStringKey extends string, TLanguages extends string> = {
|
|
8
|
+
[L in TLanguages]: CompleteLanguageStrings<TStringKey>;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Helper to assert at compile-time that an object is a complete component language map.
|
|
12
|
+
* Returns the object unchanged at runtime.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createCompleteComponentStrings<TStringKey extends string, TLanguages extends string>(obj: CompleteComponentLanguageStrings<TStringKey, TLanguages>): CompleteComponentLanguageStrings<TStringKey, TLanguages>;
|
|
15
|
+
/**
|
|
16
|
+
* Utility to extract missing keys at compile time (identity, purely for readability)
|
|
17
|
+
*/
|
|
18
|
+
export declare function defineLanguageStrings<TStringKey extends string>(strings: CompleteLanguageStrings<TStringKey>): CompleteLanguageStrings<TStringKey>;
|
|
19
|
+
//# sourceMappingURL=strict-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict-types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/strict-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,UAAU,SAAS,MAAM,IAAI;KAC9D,CAAC,IAAI,UAAU,GAAG,MAAM;CAC1B,CAAC;AAEF,MAAM,MAAM,gCAAgC,CAC1C,UAAU,SAAS,MAAM,EACzB,UAAU,SAAS,MAAM,IACvB;KACD,CAAC,IAAI,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC;CACvD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,SAAS,MAAM,EACzB,UAAU,SAAS,MAAM,EAEzB,GAAG,EAAE,gCAAgC,CAAC,UAAU,EAAE,UAAU,CAAC,GAC5D,gCAAgC,CAAC,UAAU,EAAE,UAAU,CAAC,CAE1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,SAAS,MAAM,EAC7D,OAAO,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAC3C,uBAAuB,CAAC,UAAU,CAAC,CAErC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCompleteComponentStrings = createCompleteComponentStrings;
|
|
4
|
+
exports.defineLanguageStrings = defineLanguageStrings;
|
|
5
|
+
/**
|
|
6
|
+
* Helper to assert at compile-time that an object is a complete component language map.
|
|
7
|
+
* Returns the object unchanged at runtime.
|
|
8
|
+
*/
|
|
9
|
+
function createCompleteComponentStrings(obj) {
|
|
10
|
+
return obj;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Utility to extract missing keys at compile time (identity, purely for readability)
|
|
14
|
+
*/
|
|
15
|
+
function defineLanguageStrings(strings) {
|
|
16
|
+
return strings;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=strict-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict-types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/strict-types.ts"],"names":[],"mappings":";;AAkBA,wEAOC;AAKD,sDAIC;AApBD;;;GAGG;AACH,SAAgB,8BAA8B,CAI5C,GAA6D;IAE7D,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,OAA4C;IAE5C,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template processing utilities for i18n
|
|
3
|
+
*/
|
|
4
|
+
export type EnumKeys<T> = keyof T;
|
|
5
|
+
/**
|
|
6
|
+
* Recursive type to validate that all enum keys in the template string exist in the provided enum type
|
|
7
|
+
*/
|
|
8
|
+
export type IsValidEnumTemplate<T extends string, TEnum> = T extends `${string}{{${string}.${infer Key}}}${infer Rest}` ? Key extends EnumKeys<TEnum> ? IsValidEnumTemplate<Rest, TEnum> : false : true;
|
|
9
|
+
/**
|
|
10
|
+
* Template function that processes {{EnumName.EnumKey}} patterns
|
|
11
|
+
*/
|
|
12
|
+
export declare function createTemplateProcessor<TEnum extends Record<string, string>, TLanguage extends string>(enumObj: TEnum, translateFn: (key: TEnum[keyof TEnum], vars?: Record<string, string | number>, language?: TLanguage) => string, enumName: string): <T extends string>(str: IsValidEnumTemplate<T, TEnum> extends true ? T : never, language?: TLanguage, ...otherVars: Record<string, string | number>[]) => string;
|
|
13
|
+
//# sourceMappingURL=template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/template.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,MAAM,EAChB,KAAK,IACH,CAAC,SAAS,GAAG,MAAM,KAAK,MAAM,IAAI,MAAM,GAAG,KAAK,MAAM,IAAI,EAAE,GAC5D,GAAG,SAAS,QAAQ,CAAC,KAAK,CAAC,GACzB,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,GAChC,KAAK,GACP,IAAI,CAAC;AAET;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,SAAS,SAAS,MAAM,EAExB,OAAO,EAAE,KAAK,EACd,WAAW,EAAE,CACX,GAAG,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACtC,QAAQ,CAAC,EAAE,SAAS,KACjB,MAAM,EACX,QAAQ,EAAE,MAAM,IAEE,CAAC,SAAS,MAAM,EAChC,KAAK,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,EAC3D,WAAW,SAAS,EACpB,GAAG,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,KAC9C,MAAM,CA0BV"}
|
package/src/template.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTemplateProcessor = createTemplateProcessor;
|
|
4
|
+
/**
|
|
5
|
+
* Template function that processes {{EnumName.EnumKey}} patterns
|
|
6
|
+
*/
|
|
7
|
+
function createTemplateProcessor(enumObj, translateFn, enumName) {
|
|
8
|
+
return function t(str, language, ...otherVars) {
|
|
9
|
+
let varIndex = 0;
|
|
10
|
+
const pattern = new RegExp(`\\{\\{${enumName}\\.(\\w+)\\}\\}`, 'g');
|
|
11
|
+
// First replace enum patterns
|
|
12
|
+
let result = str.replace(pattern, (match, enumKey) => {
|
|
13
|
+
const enumValue = enumObj[enumKey];
|
|
14
|
+
if (!enumValue) {
|
|
15
|
+
return match; // Return original if enum key not found
|
|
16
|
+
}
|
|
17
|
+
const needsVars = enumValue
|
|
18
|
+
.toLowerCase()
|
|
19
|
+
.endsWith('template');
|
|
20
|
+
const vars = needsVars ? otherVars[varIndex++] ?? {} : {};
|
|
21
|
+
return translateFn(enumValue, vars, language);
|
|
22
|
+
});
|
|
23
|
+
// Then replace any remaining variables from all otherVars
|
|
24
|
+
const allVars = otherVars.reduce((acc, vars) => ({ ...acc, ...vars }), {});
|
|
25
|
+
result = result.replace(/\{(\w+)\}/g, (match, varName) => {
|
|
26
|
+
return allVars[varName] !== undefined ? String(allVars[varName]) : match;
|
|
27
|
+
});
|
|
28
|
+
return result;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/template.ts"],"names":[],"mappings":";;AAoBA,0DA0CC;AA7CD;;GAEG;AACH,SAAgB,uBAAuB,CAIrC,OAAc,EACd,WAIW,EACX,QAAgB;IAEhB,OAAO,SAAS,CAAC,CACf,GAA2D,EAC3D,QAAoB,EACpB,GAAG,SAA4C;QAE/C,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,SAAS,QAAQ,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAEpE,8BAA8B;QAC9B,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAsB,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC,CAAC,wCAAwC;YACxD,CAAC;YAED,MAAM,SAAS,GAAI,SAAoB;iBACpC,WAAW,EAAE;iBACb,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACvD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class representing a validated timezone.
|
|
3
|
+
*/
|
|
4
|
+
export declare class Timezone {
|
|
5
|
+
private readonly _timezone;
|
|
6
|
+
constructor(timezone: string);
|
|
7
|
+
/**
|
|
8
|
+
* Gets the timezone value.
|
|
9
|
+
*/
|
|
10
|
+
get value(): string;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=timezone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezone.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/timezone.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBACvB,QAAQ,EAAE,MAAM;IAM5B;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;CACF"}
|
package/src/timezone.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Timezone = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
5
|
+
/**
|
|
6
|
+
* Class representing a validated timezone.
|
|
7
|
+
*/
|
|
8
|
+
class Timezone {
|
|
9
|
+
_timezone;
|
|
10
|
+
constructor(timezone) {
|
|
11
|
+
if (!(0, utils_1.isValidTimezone)(timezone)) {
|
|
12
|
+
throw new Error(`Invalid timezone: ${timezone}`);
|
|
13
|
+
}
|
|
14
|
+
this._timezone = timezone;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Gets the timezone value.
|
|
18
|
+
*/
|
|
19
|
+
get value() {
|
|
20
|
+
return this._timezone;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.Timezone = Timezone;
|
|
24
|
+
//# sourceMappingURL=timezone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezone.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/timezone.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAE1C;;GAEG;AACH,MAAa,QAAQ;IACF,SAAS,CAAS;IACnC,YAAY,QAAgB;QAC1B,IAAI,CAAC,IAAA,uBAAe,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IACD;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAdD,4BAcC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { I18nEngine } from './i18n-engine';
|
|
2
|
+
import { Language } from './default-config';
|
|
3
|
+
export declare class TranslatableError<TStringKey extends string> extends Error {
|
|
4
|
+
constructor(engine: I18nEngine<TStringKey, Language, any, any>, string: TStringKey, otherVars?: Record<string, string | number>, language?: Language);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=translatable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translatable.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,qBAAa,iBAAiB,CAAC,UAAU,SAAS,MAAM,CAAE,SAAQ,KAAK;gBAEnE,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAClD,MAAM,EAAE,UAAU,EAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,QAAQ;CAMtB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TranslatableError = void 0;
|
|
4
|
+
class TranslatableError extends Error {
|
|
5
|
+
constructor(engine, string, otherVars, language) {
|
|
6
|
+
super(engine.translate(string, otherVars, language));
|
|
7
|
+
this.name = 'TranslatableError';
|
|
8
|
+
Object.setPrototypeOf(this, TranslatableError.prototype);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.TranslatableError = TranslatableError;
|
|
12
|
+
//# sourceMappingURL=translatable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translatable.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translatable.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAA6C,SAAQ,KAAK;IACrE,YACE,MAAkD,EAClD,MAAkB,EAClB,SAA2C,EAC3C,QAAmB;QAEnB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF;AAXD,8CAWC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal interface for translation engines
|
|
3
|
+
* Allows flexibility in what can be used as a translation engine
|
|
4
|
+
*/
|
|
5
|
+
export interface TranslationEngine<TStringKey extends string = string> {
|
|
6
|
+
translate: (key: TStringKey, vars?: Record<string, string | number>, lang?: any) => string;
|
|
7
|
+
safeTranslate: (key: TStringKey, vars?: Record<string, string | number>, lang?: any) => string;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=translation-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-engine.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM;IACnE,SAAS,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;IAC3F,aAAa,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;CAChG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-engine.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-engine.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Translation request interface
|
|
3
|
+
*/
|
|
4
|
+
export interface TranslationRequest<TStringKeys extends string, TLanguages extends string> {
|
|
5
|
+
readonly componentId: string;
|
|
6
|
+
readonly stringKey: TStringKeys;
|
|
7
|
+
readonly language?: TLanguages;
|
|
8
|
+
readonly variables?: Record<string, string | number>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=translation-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-request.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB,CACjC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM;IAEzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-request.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-request.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-response.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation-response.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/translation-response.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Language, StringKey } from './default-config';
|
|
2
|
+
import { I18nEngine } from './i18n-engine';
|
|
3
|
+
import { CoreStringKey } from './core-string-key';
|
|
4
|
+
import { PluginI18nEngine } from './plugin-i18n-engine';
|
|
5
|
+
import { TranslationEngine } from './translation-engine';
|
|
6
|
+
export type { TranslationEngine };
|
|
7
|
+
/**
|
|
8
|
+
* Type constraint to ensure reasonMap has entries for all enum values
|
|
9
|
+
*/
|
|
10
|
+
export type CompleteReasonMap<TEnum extends Record<string, string | number>, TStringKey extends string> = Record<TEnum[keyof TEnum], TStringKey>;
|
|
11
|
+
/**
|
|
12
|
+
* Base typed error class with common patterns
|
|
13
|
+
*/
|
|
14
|
+
export declare abstract class BaseTypedError<TEnum extends Record<string, string>> extends Error {
|
|
15
|
+
readonly type: TEnum[keyof TEnum];
|
|
16
|
+
readonly metadata?: Record<string, any> | undefined;
|
|
17
|
+
constructor(type: TEnum[keyof TEnum], message: string, metadata?: Record<string, any> | undefined);
|
|
18
|
+
/**
|
|
19
|
+
* Create a simple typed error without engine dependency
|
|
20
|
+
*/
|
|
21
|
+
static createSimple<TEnum extends Record<string, string>, TError extends BaseTypedError<TEnum>>(this: new (type: TEnum[keyof TEnum], message: string, metadata?: Record<string, any>) => TError, type: TEnum[keyof TEnum], message: string, metadata?: Record<string, any>): TError;
|
|
22
|
+
/**
|
|
23
|
+
* Create a typed error with translation support
|
|
24
|
+
*/
|
|
25
|
+
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, type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, TStringKey>, variables?: Record<string, string | number>, language?: string, metadata?: Record<string, any>): TError;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Legacy TypedError that ensures complete enum coverage (for backward compatibility)
|
|
29
|
+
*/
|
|
30
|
+
export declare abstract class TypedError<TEnum extends Record<string, string>, TStringKey extends string = StringKey> extends Error {
|
|
31
|
+
readonly type: TEnum[keyof TEnum];
|
|
32
|
+
readonly reasonMap: CompleteReasonMap<TEnum, TStringKey>;
|
|
33
|
+
readonly language?: Language | undefined;
|
|
34
|
+
readonly otherVars?: Record<string, string | number> | undefined;
|
|
35
|
+
constructor(engine: I18nEngine<TStringKey, Language, Record<string, any>>, type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, TStringKey>, language?: Language | undefined, otherVars?: Record<string, string | number> | undefined);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Plugin-based TypedError that works with the new component registration system
|
|
39
|
+
*/
|
|
40
|
+
export declare abstract class PluginTypedError<TEnum extends Record<string, string>, TStringKey extends string, TLanguages extends string = string> extends Error {
|
|
41
|
+
readonly componentId: string;
|
|
42
|
+
readonly type: TEnum[keyof TEnum];
|
|
43
|
+
readonly reasonMap: CompleteReasonMap<TEnum, TStringKey>;
|
|
44
|
+
readonly language?: TLanguages | undefined;
|
|
45
|
+
readonly otherVars?: Record<string, string | number> | undefined;
|
|
46
|
+
constructor(engine: PluginI18nEngine<TLanguages>, componentId: string, type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, TStringKey>, language?: TLanguages | undefined, otherVars?: Record<string, string | number> | undefined);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Core system TypedError using the core component strings
|
|
50
|
+
*/
|
|
51
|
+
export declare abstract class CoreTypedError<TEnum extends Record<string, string>> extends Error {
|
|
52
|
+
readonly type: TEnum[keyof TEnum];
|
|
53
|
+
readonly reasonMap: CompleteReasonMap<TEnum, CoreStringKey>;
|
|
54
|
+
readonly language?: string | undefined;
|
|
55
|
+
readonly otherVars?: Record<string, string | number> | undefined;
|
|
56
|
+
constructor(engine: PluginI18nEngine<string>, type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, CoreStringKey>, language?: string | undefined, otherVars?: Record<string, string | number> | undefined);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Helper function to create a plugin-based TypedError with automatic engine detection
|
|
60
|
+
*/
|
|
61
|
+
export declare function createPluginTypedError<TEnum extends Record<string, string>, TStringKey extends string, TLanguages extends string = string>(componentId: string, type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, TStringKey>, otherVars?: Record<string, string | number>, language?: TLanguages, instanceKey?: string): Error;
|
|
62
|
+
/**
|
|
63
|
+
* Helper function to create a core system TypedError with automatic engine detection
|
|
64
|
+
*/
|
|
65
|
+
export declare function createCoreTypedError<TEnum extends Record<string, string>>(type: TEnum[keyof TEnum], reasonMap: CompleteReasonMap<TEnum, CoreStringKey>, otherVars?: Record<string, string | number>, language?: string, instanceKey?: string): Error;
|
|
66
|
+
/**
|
|
67
|
+
* Create a simple error with translation support (generalized pattern from RegistryError)
|
|
68
|
+
*/
|
|
69
|
+
export declare function createTranslatedError<TEnum extends Record<string, string>, TStringKey extends string>(engine: TranslationEngine, componentId: string, type: TEnum[keyof TEnum], reasonMap: Record<TEnum[keyof TEnum], TStringKey>, variables?: Record<string, string | number>, language?: string, metadata?: Record<string, any>, errorName?: string): Error;
|
|
70
|
+
/**
|
|
71
|
+
* Example usage of the new plugin-based TypedError system
|
|
72
|
+
*/
|
|
73
|
+
//# sourceMappingURL=typed-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-error.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/typed-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,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;;GAEG;AACH,8BAAsB,cAAc,CAClC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACpC,SAAQ,KAAK;aAEK,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;aAExB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAF9B,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;IAMhD;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,MAAM,SAAS,cAAc,CAAC,KAAK,CAAC,EAEpC,IAAI,EAAE,KACJ,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC3B,MAAM,EACX,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,MAAM;IAIT;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,UAAU,SAAS,MAAM,EACzB,MAAM,SAAS,cAAc,CAAC,KAAK,CAAC,EAEpC,IAAI,EAAE,KACJ,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC3B,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC/C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,MAAM;CAgBV;AAED;;GAEG;AACH,8BAAsB,UAAU,CAC9B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,UAAU,SAAS,MAAM,GAAG,SAAS,CACrC,SAAQ,KAAK;aAGK,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;aACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC;aAC/C,QAAQ,CAAC,EAAE,QAAQ;aACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;gBAJ3D,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAC7C,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC/C,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,YAAA;CAc9D;AAED;;GAEG;AACH,8BAAsB,gBAAgB,CACpC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,UAAU,SAAS,MAAM,EACzB,UAAU,SAAS,MAAM,GAAG,MAAM,CAClC,SAAQ,KAAK;aAGK,WAAW,EAAE,MAAM;aACnB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;aACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC;aAC/C,QAAQ,CAAC,EAAE,UAAU;aACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;gBAL3D,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC/C,QAAQ,CAAC,EAAE,UAAU,YAAA,EACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,YAAA;CA4B9D;AAED;;GAEG;AACH,8BAAsB,cAAc,CAClC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACpC,SAAQ,KAAK;aAGK,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;aACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC;aAClD,QAAQ,CAAC,EAAE,MAAM;aACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;gBAJ3D,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAChB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,EAClD,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,YAAA;CA4B9D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,UAAU,SAAS,MAAM,EACzB,UAAU,SAAS,MAAM,GAAG,MAAM,EAElC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC/C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,UAAU,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,KAAK,CAQP;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvE,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,EAClD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,KAAK,CAQP;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,UAAU,SAAS,MAAM,EAEzB,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EACxB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,CAAC,EACjD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,KAAK,CA2BP;AAED;;GAEG"}
|