@digitaldefiance/i18n-lib 4.6.1 → 4.6.2
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 +76 -5
- package/package.json +1 -1
- package/src/builders/i18n-builder.d.ts +2 -2
- package/src/builders/i18n-builder.d.ts.map +1 -1
- package/src/builders/i18n-builder.js +0 -1
- package/src/builders/i18n-builder.js.map +1 -1
- package/src/component-registry.d.ts +2 -1
- package/src/component-registry.d.ts.map +1 -1
- package/src/component-registry.js.map +1 -1
- package/src/core/component-store.d.ts +3 -2
- package/src/core/component-store.d.ts.map +1 -1
- package/src/core/component-store.js +0 -1
- package/src/core/component-store.js.map +1 -1
- package/src/core/constants-registry.d.ts +7 -6
- package/src/core/constants-registry.d.ts.map +1 -1
- package/src/core/constants-registry.js.map +1 -1
- package/src/core/i18n-engine.d.ts +6 -6
- package/src/core/i18n-engine.d.ts.map +1 -1
- package/src/core/i18n-engine.js.map +1 -1
- package/src/create-i18n-setup.d.ts.map +1 -1
- package/src/create-i18n-setup.js.map +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +5 -1
- package/src/index.js.map +1 -1
- package/src/interfaces/engine-config.interface.d.ts +2 -1
- package/src/interfaces/engine-config.interface.d.ts.map +1 -1
- package/src/interfaces/i18n-component-package.interface.d.ts +2 -1
- package/src/interfaces/i18n-component-package.interface.d.ts.map +1 -1
- package/src/interfaces/i18n-constants.interface.d.ts +65 -0
- package/src/interfaces/i18n-constants.interface.d.ts.map +1 -0
- package/src/interfaces/i18n-constants.interface.js +3 -0
- package/src/interfaces/i18n-constants.interface.js.map +1 -0
- package/src/interfaces/i18n-engine.interface.d.ts +5 -4
- package/src/interfaces/i18n-engine.interface.d.ts.map +1 -1
- package/src/interfaces/i18n-setup-config.interface.d.ts +2 -1
- package/src/interfaces/i18n-setup-config.interface.d.ts.map +1 -1
- package/src/interfaces/i18n-setup-result.interface.d.ts +3 -2
- package/src/interfaces/i18n-setup-result.interface.d.ts.map +1 -1
- package/src/interfaces/index.d.ts +1 -0
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/registry-config.d.ts +2 -1
- package/src/registry-config.d.ts.map +1 -1
- package/src/utils/constants-validation.d.ts +51 -0
- package/src/utils/constants-validation.d.ts.map +1 -0
- package/src/utils/constants-validation.js +74 -0
- package/src/utils/constants-validation.js.map +1 -0
- package/src/utils/index.d.ts +1 -0
- package/src/utils/index.d.ts.map +1 -1
- package/src/utils/index.js +1 -0
- package/src/utils/index.js.map +1 -1
- package/src/utils/string-utils.d.ts +2 -1
- package/src/utils/string-utils.d.ts.map +1 -1
- package/src/utils/string-utils.js.map +1 -1
- package/src/utils.d.ts +2 -1
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js.map +1 -1
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,cAAc,cAAc,CAAC;AAI7B,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAGxD,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAKD,cAAc,sBAAsB,CAAC;AAErC,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,cAAc,cAAc,CAAC;AAI7B,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAGxD,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAKD,cAAc,sBAAsB,CAAC;AAErC,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EACL,0BAA0B,IAAI,cAAc,EAC5C,0BAA0B,IAAI,oBAAoB,EAClD,wBAAwB,IAAI,kBAAkB,EAC9C,yBAAyB,IAAI,mBAAmB,GACjD,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGtE,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
package/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PluginI18n = exports.safeCoreTranslation = exports.getCoreTranslation = exports.createCoreI18nEngine = exports.createCoreI18n = exports.createI18nSetup = exports.I18n = exports.Builder = exports.Timezone = exports.isValidTimezone = exports.getCurrencyFormat = exports.CurrencyCode = exports.createPluralString = exports.createGenderedString = void 0;
|
|
3
|
+
exports.PluginI18n = exports.safeCoreTranslation = exports.getCoreTranslation = exports.createCoreI18nEngine = exports.createCoreI18n = exports.validateConstantsCoverage = exports.createI18nSetup = exports.I18n = exports.Builder = exports.Timezone = exports.isValidTimezone = exports.getCurrencyFormat = exports.CurrencyCode = exports.createPluralString = exports.createGenderedString = void 0;
|
|
4
4
|
exports.resetAll = resetAll;
|
|
5
5
|
exports.resetAllI18nEngines = resetAllI18nEngines;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
@@ -48,6 +48,10 @@ tslib_1.__exportStar(require("./branded-enum-utils"), exports);
|
|
|
48
48
|
// Factory function for simplified i18n setup
|
|
49
49
|
var create_i18n_setup_1 = require("./create-i18n-setup");
|
|
50
50
|
Object.defineProperty(exports, "createI18nSetup", { enumerable: true, get: function () { return create_i18n_setup_1.createI18nSetup; } });
|
|
51
|
+
// Explicit re-export of constants validation utility
|
|
52
|
+
// (barrel re-export via ./utils can be lost to circular dependency at runtime)
|
|
53
|
+
var constants_validation_1 = require("./utils/constants-validation");
|
|
54
|
+
Object.defineProperty(exports, "validateConstantsCoverage", { enumerable: true, get: function () { return constants_validation_1.validateConstantsCoverage; } });
|
|
51
55
|
// Legacy exports (deprecated - for backwards compatibility)
|
|
52
56
|
tslib_1.__exportStar(require("./active-context"), exports);
|
|
53
57
|
tslib_1.__exportStar(require("./component-definition"), exports);
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/index.ts"],"names":[],"mappings":";;;AA0BA,4BAEC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/index.ts"],"names":[],"mappings":";;;AA0BA,4BAEC;AA0DD,kDAEC;;AAxFD,kCAAkC;AAClC,uBAAuB;AACvB,qDAA2B;AAC3B,iDAAuB;AACvB,mDAAyB;AACzB,mDAAyB;AACzB,uDAA6B;AAC7B,0DAAgC;AAChC,kDAAwB;AACxB,+DAAqC,CAAC,sBAAsB;AAC5D,kDAAwB;AACxB,yDAGgC,CAAC,6EAA6E;AAF5G,sHAAA,oBAAoB,OAAA;AACpB,oHAAA,kBAAkB,OAAA;AAEpB,6CAA6C;AAC7C,6CAAmE;AAA1D,wGAAA,YAAY,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AACxC,6CAA6D;AAApD,2GAAA,eAAe,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAClC,uDAA6B;AAC7B,2DAA2D;AAC3D,+DAA+D;AAC/D,sBAAsB;AACtB,wDAAiE;AAAxD,uGAAA,WAAW,OAAW;AAC/B,kDAAwD;AAA/C,mGAAA,UAAU,OAAQ;AAC3B,gBAAgB;AAChB,oDAAgD;AAChD,SAAgB,QAAQ;IACtB,wBAAU,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AACD,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAChF,kEAAkE;AAClE,+DAAqC;AACrC,sDAAsD;AACtD,+DAAqC;AACrC,6CAA6C;AAC7C,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,qDAAqD;AACrD,+EAA+E;AAC/E,qEAGsC;AAFpC,iIAAA,yBAAyB,OAAA;AAS3B,4DAA4D;AAC5D,2DAAiC;AACjC,iEAAuC;AACvC,kEAAwC;AACxC,6FAA6F;AAC7F,mEAAyC;AACzC,+DAAqC;AACrC,+DAAqC;AACrC,sDAA4B;AAC5B,4DAAkC;AAClC,uEAA6C;AAC7C,0DAAgC;AAChC,kEAAwC;AACxC,gFAAsD;AACtD,2DAAiC;AACjC,+DAAqC;AACrC,4DAAkC;AAClC,2DAAiC;AACjC,gEAAsC;AACtC,qDAA2B;AAC3B,+DAAqC;AACrC,gEAAsC;AACtC,iEAAuC;AACvC,8DAAoC;AACpC,6BAA6B;AAC7B,6DAK+B;AAJ7B,qHAAA,0BAA0B,OAAkB;AAC5C,2HAAA,0BAA0B,OAAwB;AAClD,yHAAA,wBAAwB,OAAsB;AAC9C,0HAAA,yBAAyB,OAAuB;AAElD,uCAAuC;AACvC,gEAAsC;AACtC,2DAAsE;AAA7D,gHAAA,gBAAgB,OAAc;AACvC,2BAA2B;AAC3B,6DAAwD;AACxD,SAAgB,mBAAmB;IACjC,qCAAgB,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Engine configuration interface
|
|
3
3
|
*/
|
|
4
|
+
import type { II18nConstants } from './i18n-constants.interface';
|
|
4
5
|
/**
|
|
5
6
|
* Configuration options for the I18n engine.
|
|
6
7
|
*/
|
|
@@ -10,7 +11,7 @@ export interface EngineConfig {
|
|
|
10
11
|
/** Fallback language to use when a translation is missing */
|
|
11
12
|
fallbackLanguage?: string;
|
|
12
13
|
/** Constants available for variable replacement in templates */
|
|
13
|
-
constants?:
|
|
14
|
+
constants?: II18nConstants;
|
|
14
15
|
/** Validation configuration */
|
|
15
16
|
validation?: {
|
|
16
17
|
/** Whether all string keys must be provided for all languages */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-config.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/engine-config.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gEAAgE;
|
|
1
|
+
{"version":3,"file":"engine-config.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/engine-config.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,+BAA+B;IAC/B,UAAU,CAAC,EAAE;QACX,iEAAiE;QACjE,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,wEAAwE;QACxE,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC,CAAC;CACH"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AnyBrandedEnum } from '@digitaldefiance/branded-enum';
|
|
2
2
|
import type { ComponentConfig } from './component-config.interface';
|
|
3
|
+
import type { II18nConstants } from './i18n-constants.interface';
|
|
3
4
|
/**
|
|
4
5
|
* Bundles a ComponentConfig with its optional branded string key enum.
|
|
5
6
|
* Library authors export functions returning this type so the factory
|
|
@@ -11,6 +12,6 @@ export interface I18nComponentPackage {
|
|
|
11
12
|
/** Optional branded string key enum for direct translateStringKey support */
|
|
12
13
|
readonly stringKeyEnum?: AnyBrandedEnum;
|
|
13
14
|
/** Optional constants to register for this component */
|
|
14
|
-
readonly constants?:
|
|
15
|
+
readonly constants?: II18nConstants;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=i18n-component-package.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-component-package.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-component-package.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"i18n-component-package.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-component-package.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IACxC,wDAAwD;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base interface for i18n constants.
|
|
3
|
+
*
|
|
4
|
+
* All constants passed to the i18n system must satisfy this contract.
|
|
5
|
+
* Constants are used for template variable replacement in translation strings
|
|
6
|
+
* (e.g., `{Site}` in a template resolves to the `Site` constant value).
|
|
7
|
+
*
|
|
8
|
+
* Only string and number values are used in template replacement. Other value
|
|
9
|
+
* types (RegExp, objects, etc.) are accepted for convenience — consumers often
|
|
10
|
+
* pass their full app constants object — but are ignored during translation.
|
|
11
|
+
*
|
|
12
|
+
* ## Usage
|
|
13
|
+
*
|
|
14
|
+
* Define a component-specific constants interface extending this base:
|
|
15
|
+
*
|
|
16
|
+
* ```typescript
|
|
17
|
+
* export interface SuiteCoreI18nConstants extends II18nConstants {
|
|
18
|
+
* Site: string;
|
|
19
|
+
* SiteTagline: string;
|
|
20
|
+
* EmailTokenResendIntervalMinutes: number;
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* Then use it with the generic API:
|
|
25
|
+
*
|
|
26
|
+
* ```typescript
|
|
27
|
+
* engine.registerConstants<SuiteCoreI18nConstants>('suite-core', {
|
|
28
|
+
* Site: 'Acme Corp',
|
|
29
|
+
* SiteTagline: 'Building the future',
|
|
30
|
+
* EmailTokenResendIntervalMinutes: 5,
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* ## Validation
|
|
35
|
+
*
|
|
36
|
+
* Use `validateConstantsCoverage()` in tests to verify that all `{variable}`
|
|
37
|
+
* references in your translation templates have corresponding constant keys.
|
|
38
|
+
*/
|
|
39
|
+
export interface II18nConstants {
|
|
40
|
+
[key: string]: unknown;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Extracts the string keys from a constants type.
|
|
44
|
+
* Useful for building type-safe variable maps for translation calls.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* type Keys = ConstantKeys<SuiteCoreI18nConstants>;
|
|
49
|
+
* // 'Site' | 'SiteTagline' | 'EmailTokenResendIntervalMinutes'
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export type ConstantKeys<T extends II18nConstants> = Extract<keyof T, string>;
|
|
53
|
+
/**
|
|
54
|
+
* Builds a partial variables record from a constants type.
|
|
55
|
+
* Use this to type the `variables` parameter in translation calls
|
|
56
|
+
* when you want to override constant values inline.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* type Vars = ConstantVariables<SuiteCoreI18nConstants>;
|
|
61
|
+
* // { Site?: string | number; SiteTagline?: string | number; ... }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export type ConstantVariables<T extends II18nConstants> = Partial<Record<ConstantKeys<T>, string | number>>;
|
|
65
|
+
//# sourceMappingURL=i18n-constants.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-constants.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-constants.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,cAAc,IAAI,OAAO,CAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-constants.interface.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-constants.interface.ts"],"names":[],"mappings":""}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { AnyBrandedEnum, BrandedEnumValue } from '@digitaldefiance/branded-enum';
|
|
5
5
|
import { ComponentConfig } from './component-config.interface';
|
|
6
|
+
import type { II18nConstants } from './i18n-constants.interface';
|
|
6
7
|
import { LanguageDefinition } from './language-definition.interface';
|
|
7
8
|
import { ValidationResult } from './validation-result.interface';
|
|
8
9
|
/**
|
|
@@ -79,7 +80,7 @@ export interface II18nEngine {
|
|
|
79
80
|
* @param constants - Key-value pairs to register
|
|
80
81
|
* @throws {I18nError} If a key conflict is detected (CONSTANT_CONFLICT)
|
|
81
82
|
*/
|
|
82
|
-
registerConstants(componentId: string, constants:
|
|
83
|
+
registerConstants<T extends II18nConstants>(componentId: string, constants: T): void;
|
|
83
84
|
/**
|
|
84
85
|
* Updates/overrides constants for a component, merging new values.
|
|
85
86
|
* Use this when the app needs to override library defaults at runtime
|
|
@@ -87,7 +88,7 @@ export interface II18nEngine {
|
|
|
87
88
|
* @param componentId - The component updating these constants
|
|
88
89
|
* @param constants - Key-value pairs to merge (overrides existing keys)
|
|
89
90
|
*/
|
|
90
|
-
updateConstants(componentId: string, constants:
|
|
91
|
+
updateConstants<T extends II18nConstants>(componentId: string, constants: T): void;
|
|
91
92
|
/**
|
|
92
93
|
* Checks if constants are registered for a component.
|
|
93
94
|
*/
|
|
@@ -95,13 +96,13 @@ export interface II18nEngine {
|
|
|
95
96
|
/**
|
|
96
97
|
* Gets the constants registered for a specific component.
|
|
97
98
|
*/
|
|
98
|
-
getConstants(componentId: string): Readonly<
|
|
99
|
+
getConstants(componentId: string): Readonly<II18nConstants> | undefined;
|
|
99
100
|
/**
|
|
100
101
|
* Gets all registered constants entries with their component IDs.
|
|
101
102
|
*/
|
|
102
103
|
getAllConstants(): readonly {
|
|
103
104
|
componentId: string;
|
|
104
|
-
constants: Readonly<
|
|
105
|
+
constants: Readonly<II18nConstants>;
|
|
105
106
|
}[];
|
|
106
107
|
/**
|
|
107
108
|
* Resolves which component owns a given constant key.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-engine.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-engine.interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"i18n-engine.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-engine.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AnyBrandedEnum } from '@digitaldefiance/branded-enum';
|
|
2
2
|
import type { PluralString } from '../types/plural-types';
|
|
3
3
|
import type { I18nComponentPackage } from './i18n-component-package.interface';
|
|
4
|
+
import type { II18nConstants } from './i18n-constants.interface';
|
|
4
5
|
/**
|
|
5
6
|
* Configuration for the createI18nSetup factory function.
|
|
6
7
|
*/
|
|
@@ -14,7 +15,7 @@ export interface I18nSetupConfig {
|
|
|
14
15
|
/** Optional aliases for the application component */
|
|
15
16
|
readonly aliases?: readonly string[];
|
|
16
17
|
/** Optional constants to merge into the engine */
|
|
17
|
-
readonly constants?:
|
|
18
|
+
readonly constants?: II18nConstants;
|
|
18
19
|
/** Library component packages to register before the app component */
|
|
19
20
|
readonly libraryComponents?: readonly I18nComponentPackage[];
|
|
20
21
|
/** Default language code (defaults to 'en-US') */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-setup-config.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-setup-config.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"i18n-setup-config.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-setup-config.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;IACxE,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC7D,kDAAkD;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AnyBrandedEnum, BrandedEnumValue } from '@digitaldefiance/branded-enum';
|
|
2
2
|
import type { LanguageContextSpace } from '../types';
|
|
3
3
|
import type { IActiveContext } from './active-context.interface';
|
|
4
|
+
import type { II18nConstants } from './i18n-constants.interface';
|
|
4
5
|
import type { II18nEngine } from './i18n-engine.interface';
|
|
5
6
|
/**
|
|
6
7
|
* Return type of createI18nSetup. Contains everything a consumer needs
|
|
@@ -26,9 +27,9 @@ export interface I18nSetupResult<TStringKeyEnum extends AnyBrandedEnum = AnyBran
|
|
|
26
27
|
/** Get the current admin language */
|
|
27
28
|
readonly getAdminLanguage: () => string;
|
|
28
29
|
/** Register constants for a component (available as template variables) */
|
|
29
|
-
readonly registerConstants: (componentId: string, constants:
|
|
30
|
+
readonly registerConstants: <T extends II18nConstants>(componentId: string, constants: T) => void;
|
|
30
31
|
/** Update/override constants for a component (merges, app values win) */
|
|
31
|
-
readonly updateConstants: (componentId: string, constants:
|
|
32
|
+
readonly updateConstants: <T extends II18nConstants>(componentId: string, constants: T) => void;
|
|
32
33
|
/** Reset the engine instance and context (useful for testing) */
|
|
33
34
|
readonly reset: () => void;
|
|
34
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-setup-result.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-setup-result.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,eAAe,CAC9B,cAAc,SAAS,cAAc,GAAG,cAAc;IAEtD,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,CAClB,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,EACrC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,MAAM,CAAC;IACZ,qEAAqE;IACrE,QAAQ,CAAC,aAAa,EAAE,CACtB,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,EACrC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,MAAM,CAAC;IACZ,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,mCAAmC;IACnC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,6BAA6B;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC7D,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,qCAAqC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,MAAM,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"i18n-setup-result.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/i18n-setup-result.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,eAAe,CAC9B,cAAc,SAAS,cAAc,GAAG,cAAc;IAEtD,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,CAClB,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,EACrC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,MAAM,CAAC;IACZ,qEAAqE;IACrE,QAAQ,CAAC,aAAa,EAAE,CACtB,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,EACrC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,MAAM,CAAC;IACZ,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,mCAAmC;IACnC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,6BAA6B;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC7D,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,qCAAqC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,MAAM,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,SAAS,cAAc,EACnD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,KACT,IAAI,CAAC;IACV,yEAAyE;IACzE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,cAAc,EACjD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,KACT,IAAI,CAAC;IACV,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B"}
|
|
@@ -13,4 +13,5 @@ export type * from './validation-result.interface';
|
|
|
13
13
|
export type * from './i18n-component-package.interface';
|
|
14
14
|
export type * from './i18n-setup-config.interface';
|
|
15
15
|
export type * from './i18n-setup-result.interface';
|
|
16
|
+
export type * from './i18n-constants.interface';
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mBAAmB,4BAA4B,CAAC;AAChD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,+BAA+B,CAAC;AACnD,mBAAmB,oCAAoC,CAAC;AACxD,mBAAmB,+BAA+B,CAAC;AACnD,mBAAmB,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mBAAmB,4BAA4B,CAAC;AAChD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,+BAA+B,CAAC;AACnD,mBAAmB,oCAAoC,CAAC;AACxD,mBAAmB,+BAA+B,CAAC;AACnD,mBAAmB,+BAA+B,CAAC;AACnD,mBAAmB,4BAA4B,CAAC"}
|
package/src/registry-config.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { II18nConstants } from './interfaces/i18n-constants.interface';
|
|
1
2
|
import { CurrencyCode } from './utils/currency';
|
|
2
3
|
import { Timezone } from './utils/timezone';
|
|
3
4
|
import { ValidationConfig } from './validation-config';
|
|
@@ -11,6 +12,6 @@ export interface RegistryConfig<TLanguages extends string> {
|
|
|
11
12
|
readonly timezone: Timezone;
|
|
12
13
|
readonly adminTimezone: Timezone;
|
|
13
14
|
readonly validation: ValidationConfig;
|
|
14
|
-
readonly constants?:
|
|
15
|
+
readonly constants?: II18nConstants;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=registry-config.d.ts.map
|
|
@@ -1 +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,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;
|
|
1
|
+
{"version":3,"file":"registry-config.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/registry-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,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;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime validation utilities for i18n constants.
|
|
3
|
+
*
|
|
4
|
+
* Ensures that all `{variable}` references in translation templates
|
|
5
|
+
* have corresponding keys in the registered constants, and optionally
|
|
6
|
+
* detects unused constants (registered but never referenced).
|
|
7
|
+
*/
|
|
8
|
+
import type { II18nConstants } from '../interfaces/i18n-constants.interface';
|
|
9
|
+
/**
|
|
10
|
+
* Result of constants coverage validation.
|
|
11
|
+
*/
|
|
12
|
+
export interface ConstantsCoverageResult {
|
|
13
|
+
/** Whether all template variables have matching constants */
|
|
14
|
+
readonly isValid: boolean;
|
|
15
|
+
/** Variable names referenced in templates but missing from constants */
|
|
16
|
+
readonly missingConstants: readonly string[];
|
|
17
|
+
/** Constant keys registered but never referenced in any template */
|
|
18
|
+
readonly unusedConstants: readonly string[];
|
|
19
|
+
/** All variable names found in templates */
|
|
20
|
+
readonly referencedVariables: readonly string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Validates that all `{variable}` references in translation strings
|
|
24
|
+
* have corresponding keys in the provided constants.
|
|
25
|
+
*
|
|
26
|
+
* Use this in unit tests to catch drift between templates and constants:
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import { validateConstantsCoverage } from '@digitaldefiance/i18n-lib';
|
|
30
|
+
*
|
|
31
|
+
* it('should have constants for all template variables', () => {
|
|
32
|
+
* const result = validateConstantsCoverage(
|
|
33
|
+
* SuiteCoreComponentStrings,
|
|
34
|
+
* { Site: 'Test', SiteTagline: 'Tagline', ... },
|
|
35
|
+
* );
|
|
36
|
+
* expect(result.missingConstants).toEqual([]);
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @param strings - Translation strings organized by language, then by key.
|
|
41
|
+
* Shape: `Record<language, Record<stringKey, string>>`
|
|
42
|
+
* @param constants - The constants object to validate against.
|
|
43
|
+
* @param options - Optional configuration.
|
|
44
|
+
* @param options.ignoreVariables - Variable names to exclude from validation
|
|
45
|
+
* (e.g., runtime variables like `count` that aren't constants).
|
|
46
|
+
* @returns Validation result with missing and unused constants.
|
|
47
|
+
*/
|
|
48
|
+
export declare function validateConstantsCoverage(strings: Record<string, Record<string, string>>, constants: II18nConstants, options?: {
|
|
49
|
+
ignoreVariables?: readonly string[];
|
|
50
|
+
}): ConstantsCoverageResult;
|
|
51
|
+
//# sourceMappingURL=constants-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants-validation.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/constants-validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,4CAA4C;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC/C,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAChD,uBAAuB,CAgCzB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Runtime validation utilities for i18n constants.
|
|
4
|
+
*
|
|
5
|
+
* Ensures that all `{variable}` references in translation templates
|
|
6
|
+
* have corresponding keys in the registered constants, and optionally
|
|
7
|
+
* detects unused constants (registered but never referenced).
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.validateConstantsCoverage = validateConstantsCoverage;
|
|
11
|
+
/**
|
|
12
|
+
* Extracts all `{variableName}` references from a string.
|
|
13
|
+
*/
|
|
14
|
+
function extractVariableReferences(str) {
|
|
15
|
+
const matches = str.match(/\{([^}]+)\}/g);
|
|
16
|
+
if (!matches)
|
|
17
|
+
return [];
|
|
18
|
+
return matches.map((m) => m.slice(1, -1));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Validates that all `{variable}` references in translation strings
|
|
22
|
+
* have corresponding keys in the provided constants.
|
|
23
|
+
*
|
|
24
|
+
* Use this in unit tests to catch drift between templates and constants:
|
|
25
|
+
*
|
|
26
|
+
* ```typescript
|
|
27
|
+
* import { validateConstantsCoverage } from '@digitaldefiance/i18n-lib';
|
|
28
|
+
*
|
|
29
|
+
* it('should have constants for all template variables', () => {
|
|
30
|
+
* const result = validateConstantsCoverage(
|
|
31
|
+
* SuiteCoreComponentStrings,
|
|
32
|
+
* { Site: 'Test', SiteTagline: 'Tagline', ... },
|
|
33
|
+
* );
|
|
34
|
+
* expect(result.missingConstants).toEqual([]);
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @param strings - Translation strings organized by language, then by key.
|
|
39
|
+
* Shape: `Record<language, Record<stringKey, string>>`
|
|
40
|
+
* @param constants - The constants object to validate against.
|
|
41
|
+
* @param options - Optional configuration.
|
|
42
|
+
* @param options.ignoreVariables - Variable names to exclude from validation
|
|
43
|
+
* (e.g., runtime variables like `count` that aren't constants).
|
|
44
|
+
* @returns Validation result with missing and unused constants.
|
|
45
|
+
*/
|
|
46
|
+
function validateConstantsCoverage(strings, constants, options) {
|
|
47
|
+
const ignoreSet = new Set(options?.ignoreVariables ?? []);
|
|
48
|
+
const allVariables = new Set();
|
|
49
|
+
// Scan all translation strings across all languages
|
|
50
|
+
for (const langStrings of Object.values(strings)) {
|
|
51
|
+
for (const value of Object.values(langStrings)) {
|
|
52
|
+
if (typeof value === 'string') {
|
|
53
|
+
for (const varName of extractVariableReferences(value)) {
|
|
54
|
+
if (!ignoreSet.has(varName)) {
|
|
55
|
+
allVariables.add(varName);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const constantKeys = new Set(Object.keys(constants));
|
|
62
|
+
const referencedVariables = Array.from(allVariables).sort();
|
|
63
|
+
const missingConstants = referencedVariables.filter((v) => !constantKeys.has(v));
|
|
64
|
+
const unusedConstants = Array.from(constantKeys)
|
|
65
|
+
.filter((k) => !allVariables.has(k))
|
|
66
|
+
.sort();
|
|
67
|
+
return {
|
|
68
|
+
isValid: missingConstants.length === 0,
|
|
69
|
+
missingConstants,
|
|
70
|
+
unusedConstants,
|
|
71
|
+
referencedVariables,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=constants-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants-validation.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/constants-validation.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAqDH,8DAoCC;AAvED;;GAEG;AACH,SAAS,yBAAyB,CAAC,GAAW;IAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,yBAAyB,CACvC,OAA+C,EAC/C,SAAyB,EACzB,OAAiD;IAEjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,oDAAoD;IACpD,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,KAAK,MAAM,OAAO,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5B,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAC5B,CAAC;IACF,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACnC,IAAI,EAAE,CAAC;IAEV,OAAO;QACL,OAAO,EAAE,gBAAgB,CAAC,MAAM,KAAK,CAAC;QACtC,gBAAgB;QAChB,eAAe;QACf,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
|
package/src/utils/index.d.ts
CHANGED
package/src/utils/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
package/src/utils/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./constants-validation"), exports);
|
|
4
5
|
tslib_1.__exportStar(require("./currency"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./html-escape"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./lru-cache"), exports);
|
package/src/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,wDAA8B;AAC9B,sDAA4B;AAC5B,2DAAiC;AACjC,wDAA8B;AAC9B,yDAA+B;AAC/B,qDAA2B;AAC3B,uDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,qDAA2B;AAC3B,wDAA8B;AAC9B,sDAA4B;AAC5B,2DAAiC;AACjC,wDAA8B;AAC9B,yDAA+B;AAC/B,qDAA2B;AAC3B,uDAA6B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* String utility functions
|
|
3
3
|
*/
|
|
4
|
+
import type { II18nConstants } from '../interfaces/i18n-constants.interface';
|
|
4
5
|
/**
|
|
5
6
|
* Options for the replaceVariables function.
|
|
6
7
|
*/
|
|
@@ -17,7 +18,7 @@ export interface ReplaceVariablesOptions {
|
|
|
17
18
|
* @param options - Optional configuration including HTML escaping
|
|
18
19
|
* @returns The string with variables replaced
|
|
19
20
|
*/
|
|
20
|
-
export declare function replaceVariables(str: string, vars?: Record<string, any>, constants?:
|
|
21
|
+
export declare function replaceVariables(str: string, vars?: Record<string, any>, constants?: II18nConstants, options?: ReplaceVariablesOptions): string;
|
|
21
22
|
/**
|
|
22
23
|
* Checks if a string key indicates a template that expects variable replacement.
|
|
23
24
|
* Template keys end with 'template' (case-insensitive).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/string-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/string-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAqB7E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,SAAS,CAAC,EAAE,cAAc,EAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAyBR;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/string-utils.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,4IAA4I;;
|
|
1
|
+
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/utils/string-utils.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,4IAA4I;;AAwC5I,4CA8BC;AAQD,gCAEC;AA7ED,+CAA8C;AAE9C;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAAU;IAC9B,wEAAwE;IACxE,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,IAAI,KAAK;QAChB,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EACjC,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAUD;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAC9B,GAAW,EACX,IAA0B,EAC1B,SAA0B,EAC1B,OAAiC;IAEjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC;IAE3B,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,WAAW,GAAG,IAAA,2BAAa,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,WAAW,GAAG,IAAA,2BAAa,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvD,CAAC"}
|
package/src/utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { II18nConstants } from './interfaces/i18n-constants.interface';
|
|
1
2
|
/**
|
|
2
3
|
* Replaces variables in a string with their corresponding values from vars or constants.
|
|
3
4
|
* @param str - The string containing variables to replace
|
|
@@ -5,7 +6,7 @@
|
|
|
5
6
|
* @param constants - An object containing constant values for replacement
|
|
6
7
|
* @returns The string with variables replaced
|
|
7
8
|
*/
|
|
8
|
-
export declare function replaceVariables(str: string, vars?: Record<string, string | number>, constants?:
|
|
9
|
+
export declare function replaceVariables(str: string, vars?: Record<string, string | number>, constants?: II18nConstants): string;
|
|
9
10
|
/**
|
|
10
11
|
* Checks if a given key indicates a template string.
|
|
11
12
|
* @param key - The key to check
|
package/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/utils.ts"],"names":[],"mappings":"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"}
|
package/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/utils.ts"],"names":[],"mappings":";AAAA,gGAAgG;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/utils.ts"],"names":[],"mappings":"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"}
|