@digitaldefiance/i18n-lib 4.5.0 → 4.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -8
- package/package.json +1 -1
- package/src/core/constants-registry.d.ts +107 -0
- package/src/core/constants-registry.d.ts.map +1 -0
- package/src/core/constants-registry.js +189 -0
- package/src/core/constants-registry.js.map +1 -0
- package/src/core/i18n-engine.d.ts +68 -4
- package/src/core/i18n-engine.d.ts.map +1 -1
- package/src/core/i18n-engine.js +110 -9
- package/src/core/i18n-engine.js.map +1 -1
- package/src/core/index.d.ts +2 -0
- package/src/core/index.d.ts.map +1 -1
- package/src/core/index.js +3 -1
- package/src/core/index.js.map +1 -1
- package/src/create-i18n-setup.d.ts.map +1 -1
- package/src/create-i18n-setup.js +15 -2
- package/src/create-i18n-setup.js.map +1 -1
- package/src/errors/i18n-error.d.ts +9 -0
- package/src/errors/i18n-error.d.ts.map +1 -1
- package/src/errors/i18n-error.js +12 -0
- package/src/errors/i18n-error.js.map +1 -1
- package/src/interfaces/i18n-component-package.interface.d.ts +2 -0
- package/src/interfaces/i18n-component-package.interface.d.ts.map +1 -1
- package/src/interfaces/i18n-engine.interface.d.ts +37 -0
- package/src/interfaces/i18n-engine.interface.d.ts.map +1 -1
- package/src/interfaces/i18n-setup-result.interface.d.ts +4 -0
- package/src/interfaces/i18n-setup-result.interface.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -589,23 +589,109 @@ engine.t('Price in {currency}', { currency: 'USD' }); // "Price in USD"
|
|
|
589
589
|
|
|
590
590
|
### Constants Management
|
|
591
591
|
|
|
592
|
-
|
|
592
|
+
Constants are application-wide values available as template variables in all translations (e.g., `{Site}` in a translation string resolves to the registered value). The `ConstantsRegistry` provides structured, per-component registration with conflict detection and ownership tracking.
|
|
593
|
+
|
|
594
|
+
#### Registration Flow (via `createI18nSetup`)
|
|
595
|
+
|
|
596
|
+
Library packages declare default constants in their `I18nComponentPackage`. The app overrides them at runtime. The factory handles the ordering automatically:
|
|
597
|
+
|
|
598
|
+
```typescript
|
|
599
|
+
import { createI18nSetup } from '@digitaldefiance/i18n-lib';
|
|
600
|
+
import { createSuiteCoreComponentPackage } from '@digitaldefiance/suite-core-lib';
|
|
601
|
+
import { AppStringKey } from './enumerations/app-string-key';
|
|
602
|
+
import { Strings } from './strings-collection';
|
|
603
|
+
|
|
604
|
+
const setup = createI18nSetup({
|
|
605
|
+
componentId: 'my-app',
|
|
606
|
+
stringKeyEnum: AppStringKey,
|
|
607
|
+
strings: Strings,
|
|
608
|
+
// App constants override library defaults — app always wins
|
|
609
|
+
constants: { Site: 'My Real Site', SiteTagline: 'We do things' },
|
|
610
|
+
// Library components register their own defaults
|
|
611
|
+
libraryComponents: [createSuiteCoreComponentPackage()],
|
|
612
|
+
});
|
|
613
|
+
|
|
614
|
+
// The factory does this internally:
|
|
615
|
+
// 1. Library components register defaults via registerConstants()
|
|
616
|
+
// 2. App constants override via updateConstants() — app values win
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
#### Direct Engine API
|
|
620
|
+
|
|
621
|
+
```typescript
|
|
622
|
+
// Register constants for a component (idempotent, conflict-detecting)
|
|
623
|
+
engine.registerConstants('suite-core', { Site: 'New Site', Version: '1.0' });
|
|
624
|
+
|
|
625
|
+
// Update/override constants (merges, updater wins ownership)
|
|
626
|
+
engine.updateConstants('my-app', { Site: 'My Real Site' });
|
|
627
|
+
|
|
628
|
+
// Replace all constants for a component (wipes old keys)
|
|
629
|
+
engine.replaceConstants({ Site: 'Completely New', Version: '2.0' });
|
|
630
|
+
|
|
631
|
+
// Merge into engine-level constants (legacy, preserved for compat)
|
|
632
|
+
engine.mergeConstants({ ExtraKey: 'value' });
|
|
633
|
+
|
|
634
|
+
// Query
|
|
635
|
+
engine.hasConstants('suite-core'); // true
|
|
636
|
+
engine.getConstants('suite-core'); // { Site: 'New Site', Version: '1.0' }
|
|
637
|
+
engine.getAllConstants(); // [{ componentId, constants }, ...]
|
|
638
|
+
engine.resolveConstantOwner('Site'); // 'my-app' (last updater wins)
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
#### I18nComponentPackage Constants
|
|
642
|
+
|
|
643
|
+
Library authors can bundle default constants with their component package:
|
|
593
644
|
|
|
594
645
|
```typescript
|
|
595
|
-
|
|
596
|
-
engine.mergeConstants({ Version: '2.0', NewKey: 'value' });
|
|
597
|
-
// Existing constants preserved, specified ones added/updated
|
|
646
|
+
import type { I18nComponentPackage } from '@digitaldefiance/i18n-lib';
|
|
598
647
|
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
648
|
+
export function createMyLibComponentPackage(): I18nComponentPackage {
|
|
649
|
+
return {
|
|
650
|
+
config: createMyLibComponentConfig(),
|
|
651
|
+
stringKeyEnum: MyLibStringKey,
|
|
652
|
+
constants: {
|
|
653
|
+
LibName: 'My Library',
|
|
654
|
+
LibVersion: '1.0.0',
|
|
655
|
+
},
|
|
656
|
+
};
|
|
657
|
+
}
|
|
602
658
|
```
|
|
603
659
|
|
|
660
|
+
These are registered automatically when passed via `libraryComponents` in `createI18nSetup`.
|
|
661
|
+
|
|
662
|
+
#### I18nSetupResult Helpers
|
|
663
|
+
|
|
664
|
+
The result from `createI18nSetup` exposes constants helpers:
|
|
665
|
+
|
|
666
|
+
```typescript
|
|
667
|
+
const setup = createI18nSetup({ /* ... */ });
|
|
668
|
+
|
|
669
|
+
// Register constants for a new component after setup
|
|
670
|
+
setup.registerConstants('analytics', { TrackingId: 'UA-12345' });
|
|
671
|
+
|
|
672
|
+
// Override constants at runtime
|
|
673
|
+
setup.updateConstants('my-app', { Site: 'Updated Site Name' });
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
#### Conflict Detection
|
|
677
|
+
|
|
678
|
+
If two different components try to `register` the same key with different values, an error is thrown:
|
|
679
|
+
|
|
680
|
+
```typescript
|
|
681
|
+
engine.registerConstants('lib-a', { Site: 'Alpha' });
|
|
682
|
+
engine.registerConstants('lib-b', { Site: 'Beta' });
|
|
683
|
+
// Throws: I18nError CONSTANT_CONFLICT — "Site" already registered by "lib-a" with a different value
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
Use `updateConstants` instead of `registerConstants` when you intentionally want to override.
|
|
687
|
+
|
|
604
688
|
**When to use:**
|
|
605
|
-
- **Constants**: Application-wide values that rarely change (
|
|
689
|
+
- **Constants**: Application-wide values that rarely change (Site, Version, SiteTagline)
|
|
606
690
|
- **Variables**: Request-specific or dynamic values passed to translate()
|
|
607
691
|
- **Context**: User-specific values (currency, timezone, language)
|
|
608
692
|
|
|
693
|
+
**Variable priority**: provided variables > context > constants
|
|
694
|
+
|
|
609
695
|
### Language Management
|
|
610
696
|
|
|
611
697
|
```typescript
|
|
@@ -824,6 +910,14 @@ const engine = PluginI18nEngine.createInstance<MyLanguages>('app', [
|
|
|
824
910
|
- `safeTranslateStringKey(key, variables?, language?)` - Safe version returning placeholder on failure
|
|
825
911
|
- `hasStringKeyEnum(enum)` - Check if a branded enum is registered
|
|
826
912
|
- `getStringKeyEnums()` - Get all registered branded enums
|
|
913
|
+
- `registerConstants(componentId, constants)` - Register constants for a component (idempotent, conflict-detecting)
|
|
914
|
+
- `updateConstants(componentId, constants)` - Update/override constants for a component (merges, updater wins)
|
|
915
|
+
- `replaceConstants(constants)` - Replace all engine-level constants
|
|
916
|
+
- `mergeConstants(constants)` - Merge into engine-level constants
|
|
917
|
+
- `hasConstants(componentId)` - Check if constants are registered for a component
|
|
918
|
+
- `getConstants(componentId)` - Get constants for a specific component
|
|
919
|
+
- `getAllConstants()` - Get all registered constants entries
|
|
920
|
+
- `resolveConstantOwner(key)` - Resolve which component owns a constant key
|
|
827
921
|
|
|
828
922
|
### Branded Enum Functions
|
|
829
923
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants Registry for structured, namespaced constant registration.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the StringKeyEnumRegistry pattern: each component can register
|
|
5
|
+
* its own constants with an associated component ID. Constants are merged
|
|
6
|
+
* into a flat lookup for template variable replacement, with conflict
|
|
7
|
+
* detection when two components try to register the same constant key
|
|
8
|
+
* with different values.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Entry representing a registered constants set and its owning component.
|
|
12
|
+
*/
|
|
13
|
+
export interface ConstantsEntry {
|
|
14
|
+
/** The component that registered these constants */
|
|
15
|
+
readonly componentId: string;
|
|
16
|
+
/** The constants record */
|
|
17
|
+
readonly constants: Readonly<Record<string, unknown>>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Registry that manages per-component constants with conflict detection
|
|
21
|
+
* and a merged flat lookup for the translation pipeline.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ConstantsRegistry {
|
|
24
|
+
/** Component ID → constants record */
|
|
25
|
+
private readonly entries;
|
|
26
|
+
/** Reverse lookup: constant key → owning component ID (first registrant wins) */
|
|
27
|
+
private readonly keyOwnership;
|
|
28
|
+
/** Cached merged constants (invalidated on registration) */
|
|
29
|
+
private mergedCache;
|
|
30
|
+
/**
|
|
31
|
+
* Registers constants for a component.
|
|
32
|
+
*
|
|
33
|
+
* If the component already has constants registered, this is a no-op
|
|
34
|
+
* (idempotent by component ID). If a different component has already
|
|
35
|
+
* registered a constant with the same key but a different value, an
|
|
36
|
+
* error is thrown to surface the conflict early.
|
|
37
|
+
*
|
|
38
|
+
* @param componentId - The component registering these constants
|
|
39
|
+
* @param constants - Key-value pairs to register
|
|
40
|
+
* @throws {I18nError} If a key conflict is detected with a different value
|
|
41
|
+
*/
|
|
42
|
+
register(componentId: string, constants: Record<string, unknown>): void;
|
|
43
|
+
/**
|
|
44
|
+
* Checks if constants are registered for a component.
|
|
45
|
+
*/
|
|
46
|
+
has(componentId: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Updates constants for a component, merging new values into existing ones.
|
|
49
|
+
*
|
|
50
|
+
* Unlike `register`, this is NOT idempotent — it always merges the provided
|
|
51
|
+
* constants into the component's existing set (or creates a new entry).
|
|
52
|
+
* This is the mechanism for runtime overrides: a library registers defaults
|
|
53
|
+
* via `register`, and the app overrides specific keys via `update`.
|
|
54
|
+
*
|
|
55
|
+
* Conflict detection is skipped for keys already owned by this component.
|
|
56
|
+
* For keys owned by other components, the ownership is transferred to
|
|
57
|
+
* this component (the updater wins).
|
|
58
|
+
*
|
|
59
|
+
* @param componentId - The component updating these constants
|
|
60
|
+
* @param constants - Key-value pairs to merge
|
|
61
|
+
*/
|
|
62
|
+
update(componentId: string, constants: Record<string, unknown>): void;
|
|
63
|
+
/**
|
|
64
|
+
* Fully replaces constants for a component, removing old keys.
|
|
65
|
+
*
|
|
66
|
+
* Unlike `update` (which merges), this wipes the component's existing
|
|
67
|
+
* constants and sets the new ones. Ownership of old keys that are no
|
|
68
|
+
* longer present is released.
|
|
69
|
+
*
|
|
70
|
+
* @param componentId - The component replacing its constants
|
|
71
|
+
* @param constants - The new complete set of constants
|
|
72
|
+
*/
|
|
73
|
+
replace(componentId: string, constants: Record<string, unknown>): void;
|
|
74
|
+
/**
|
|
75
|
+
* Gets the constants registered for a specific component.
|
|
76
|
+
* Returns undefined if the component has no registered constants.
|
|
77
|
+
*/
|
|
78
|
+
get(componentId: string): Readonly<Record<string, unknown>> | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Returns all registered entries.
|
|
81
|
+
*/
|
|
82
|
+
getAll(): readonly ConstantsEntry[];
|
|
83
|
+
/**
|
|
84
|
+
* Returns a merged flat record of all registered constants.
|
|
85
|
+
*
|
|
86
|
+
* When multiple components have the same key, the owning component's
|
|
87
|
+
* value wins (ownership is tracked via register/update/replace).
|
|
88
|
+
*
|
|
89
|
+
* The result is cached and invalidated when constants change.
|
|
90
|
+
*/
|
|
91
|
+
getMerged(): Readonly<Record<string, unknown>>;
|
|
92
|
+
/**
|
|
93
|
+
* Resolves which component owns a given constant key.
|
|
94
|
+
* Returns null if the key is not registered.
|
|
95
|
+
*/
|
|
96
|
+
resolveOwner(key: string): string | null;
|
|
97
|
+
/**
|
|
98
|
+
* Clears all registrations.
|
|
99
|
+
*/
|
|
100
|
+
clear(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Detects conflicts: same key registered by a different component
|
|
103
|
+
* with a different value.
|
|
104
|
+
*/
|
|
105
|
+
private detectConflicts;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=constants-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants-registry.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/constants-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,2BAA2B;IAC3B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IAEtE,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAE1D,4DAA4D;IAC5D,OAAO,CAAC,WAAW,CAAwC;IAE3D;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAoBvE;;OAEG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAerE;;;;;;;;;OASG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAsBtE;;;OAGG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS;IAIvE;;OAEG;IACH,MAAM,IAAI,SAAS,cAAc,EAAE;IAQnC;;;;;;;OAOG;IACH,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAyB9C;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;;OAGG;IACH,OAAO,CAAC,eAAe;CAcxB"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Constants Registry for structured, namespaced constant registration.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors the StringKeyEnumRegistry pattern: each component can register
|
|
6
|
+
* its own constants with an associated component ID. Constants are merged
|
|
7
|
+
* into a flat lookup for template variable replacement, with conflict
|
|
8
|
+
* detection when two components try to register the same constant key
|
|
9
|
+
* with different values.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ConstantsRegistry = void 0;
|
|
13
|
+
const i18n_error_1 = require("../errors/i18n-error");
|
|
14
|
+
const safe_object_1 = require("../utils/safe-object");
|
|
15
|
+
/**
|
|
16
|
+
* Registry that manages per-component constants with conflict detection
|
|
17
|
+
* and a merged flat lookup for the translation pipeline.
|
|
18
|
+
*/
|
|
19
|
+
class ConstantsRegistry {
|
|
20
|
+
/** Component ID → constants record */
|
|
21
|
+
entries = new Map();
|
|
22
|
+
/** Reverse lookup: constant key → owning component ID (first registrant wins) */
|
|
23
|
+
keyOwnership = new Map();
|
|
24
|
+
/** Cached merged constants (invalidated on registration) */
|
|
25
|
+
mergedCache = null;
|
|
26
|
+
/**
|
|
27
|
+
* Registers constants for a component.
|
|
28
|
+
*
|
|
29
|
+
* If the component already has constants registered, this is a no-op
|
|
30
|
+
* (idempotent by component ID). If a different component has already
|
|
31
|
+
* registered a constant with the same key but a different value, an
|
|
32
|
+
* error is thrown to surface the conflict early.
|
|
33
|
+
*
|
|
34
|
+
* @param componentId - The component registering these constants
|
|
35
|
+
* @param constants - Key-value pairs to register
|
|
36
|
+
* @throws {I18nError} If a key conflict is detected with a different value
|
|
37
|
+
*/
|
|
38
|
+
register(componentId, constants) {
|
|
39
|
+
// Idempotent: skip if already registered for this component
|
|
40
|
+
if (this.entries.has(componentId)) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
(0, safe_object_1.validateObjectKeys)(constants);
|
|
44
|
+
this.detectConflicts(componentId, constants);
|
|
45
|
+
// Store entry and ownership
|
|
46
|
+
this.entries.set(componentId, { ...constants });
|
|
47
|
+
for (const key of Object.keys(constants)) {
|
|
48
|
+
if (!this.keyOwnership.has(key)) {
|
|
49
|
+
this.keyOwnership.set(key, componentId);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
this.mergedCache = null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Checks if constants are registered for a component.
|
|
56
|
+
*/
|
|
57
|
+
has(componentId) {
|
|
58
|
+
return this.entries.has(componentId);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Updates constants for a component, merging new values into existing ones.
|
|
62
|
+
*
|
|
63
|
+
* Unlike `register`, this is NOT idempotent — it always merges the provided
|
|
64
|
+
* constants into the component's existing set (or creates a new entry).
|
|
65
|
+
* This is the mechanism for runtime overrides: a library registers defaults
|
|
66
|
+
* via `register`, and the app overrides specific keys via `update`.
|
|
67
|
+
*
|
|
68
|
+
* Conflict detection is skipped for keys already owned by this component.
|
|
69
|
+
* For keys owned by other components, the ownership is transferred to
|
|
70
|
+
* this component (the updater wins).
|
|
71
|
+
*
|
|
72
|
+
* @param componentId - The component updating these constants
|
|
73
|
+
* @param constants - Key-value pairs to merge
|
|
74
|
+
*/
|
|
75
|
+
update(componentId, constants) {
|
|
76
|
+
(0, safe_object_1.validateObjectKeys)(constants);
|
|
77
|
+
const existing = this.entries.get(componentId) ?? {};
|
|
78
|
+
const merged = { ...existing, ...constants };
|
|
79
|
+
this.entries.set(componentId, merged);
|
|
80
|
+
// Update ownership — the updater takes ownership of these keys
|
|
81
|
+
for (const key of Object.keys(constants)) {
|
|
82
|
+
this.keyOwnership.set(key, componentId);
|
|
83
|
+
}
|
|
84
|
+
this.mergedCache = null;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Fully replaces constants for a component, removing old keys.
|
|
88
|
+
*
|
|
89
|
+
* Unlike `update` (which merges), this wipes the component's existing
|
|
90
|
+
* constants and sets the new ones. Ownership of old keys that are no
|
|
91
|
+
* longer present is released.
|
|
92
|
+
*
|
|
93
|
+
* @param componentId - The component replacing its constants
|
|
94
|
+
* @param constants - The new complete set of constants
|
|
95
|
+
*/
|
|
96
|
+
replace(componentId, constants) {
|
|
97
|
+
(0, safe_object_1.validateObjectKeys)(constants);
|
|
98
|
+
// Remove ownership of old keys belonging to this component
|
|
99
|
+
const oldEntry = this.entries.get(componentId);
|
|
100
|
+
if (oldEntry) {
|
|
101
|
+
for (const key of Object.keys(oldEntry)) {
|
|
102
|
+
if (this.keyOwnership.get(key) === componentId) {
|
|
103
|
+
this.keyOwnership.delete(key);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Set new entry and ownership
|
|
108
|
+
this.entries.set(componentId, { ...constants });
|
|
109
|
+
for (const key of Object.keys(constants)) {
|
|
110
|
+
this.keyOwnership.set(key, componentId);
|
|
111
|
+
}
|
|
112
|
+
this.mergedCache = null;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Gets the constants registered for a specific component.
|
|
116
|
+
* Returns undefined if the component has no registered constants.
|
|
117
|
+
*/
|
|
118
|
+
get(componentId) {
|
|
119
|
+
return this.entries.get(componentId);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Returns all registered entries.
|
|
123
|
+
*/
|
|
124
|
+
getAll() {
|
|
125
|
+
const result = [];
|
|
126
|
+
for (const [componentId, constants] of this.entries) {
|
|
127
|
+
result.push({ componentId, constants });
|
|
128
|
+
}
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Returns a merged flat record of all registered constants.
|
|
133
|
+
*
|
|
134
|
+
* When multiple components have the same key, the owning component's
|
|
135
|
+
* value wins (ownership is tracked via register/update/replace).
|
|
136
|
+
*
|
|
137
|
+
* The result is cached and invalidated when constants change.
|
|
138
|
+
*/
|
|
139
|
+
getMerged() {
|
|
140
|
+
if (this.mergedCache !== null) {
|
|
141
|
+
return this.mergedCache;
|
|
142
|
+
}
|
|
143
|
+
const merged = Object.create(null);
|
|
144
|
+
// First pass: collect all keys from all components
|
|
145
|
+
for (const [componentId, constants] of this.entries) {
|
|
146
|
+
for (const [key, value] of Object.entries(constants)) {
|
|
147
|
+
// The owner's value wins; non-owners only fill gaps
|
|
148
|
+
const owner = this.keyOwnership.get(key);
|
|
149
|
+
if (owner === componentId || !(key in merged)) {
|
|
150
|
+
merged[key] = value;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
this.mergedCache = merged;
|
|
155
|
+
return merged;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Resolves which component owns a given constant key.
|
|
159
|
+
* Returns null if the key is not registered.
|
|
160
|
+
*/
|
|
161
|
+
resolveOwner(key) {
|
|
162
|
+
return this.keyOwnership.get(key) ?? null;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Clears all registrations.
|
|
166
|
+
*/
|
|
167
|
+
clear() {
|
|
168
|
+
this.entries.clear();
|
|
169
|
+
this.keyOwnership.clear();
|
|
170
|
+
this.mergedCache = null;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Detects conflicts: same key registered by a different component
|
|
174
|
+
* with a different value.
|
|
175
|
+
*/
|
|
176
|
+
detectConflicts(componentId, constants) {
|
|
177
|
+
for (const [key, value] of Object.entries(constants)) {
|
|
178
|
+
const owner = this.keyOwnership.get(key);
|
|
179
|
+
if (owner !== undefined && owner !== componentId) {
|
|
180
|
+
const existingValue = this.entries.get(owner)?.[key];
|
|
181
|
+
if (existingValue !== value) {
|
|
182
|
+
throw i18n_error_1.I18nError.constantConflict(key, componentId, owner);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
exports.ConstantsRegistry = ConstantsRegistry;
|
|
189
|
+
//# sourceMappingURL=constants-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants-registry.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/constants-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { AnyBrandedEnum, BrandedEnumValue } from '@digitaldefiance/branded-enum';
|
|
5
5
|
import { ComponentConfig, EngineConfig, II18nEngine, LanguageDefinition, ValidationResult } from '../interfaces';
|
|
6
|
+
import type { ConstantsEntry } from './constants-registry';
|
|
6
7
|
/**
|
|
7
8
|
* I18nEngine implements the II18nEngine interface, providing translation,
|
|
8
9
|
* component registration, enum translation, and context management.
|
|
@@ -15,6 +16,7 @@ export declare class I18nEngine implements II18nEngine {
|
|
|
15
16
|
private readonly componentStore;
|
|
16
17
|
private readonly enumRegistry;
|
|
17
18
|
private readonly stringKeyEnumRegistry;
|
|
19
|
+
private readonly constantsRegistry;
|
|
18
20
|
private readonly instanceKey;
|
|
19
21
|
private readonly config;
|
|
20
22
|
private readonly aliasToComponent;
|
|
@@ -172,15 +174,17 @@ export declare class I18nEngine implements II18nEngine {
|
|
|
172
174
|
*/
|
|
173
175
|
hasLanguage(language: string): boolean;
|
|
174
176
|
/**
|
|
175
|
-
* Merges new constants into
|
|
177
|
+
* Merges new constants into the engine-level constants pool.
|
|
178
|
+
* These are registered under the '__engine__' component ID in the registry.
|
|
176
179
|
* @param constants - Key-value constants to merge.
|
|
177
180
|
*/
|
|
178
|
-
mergeConstants(constants: Record<string,
|
|
181
|
+
mergeConstants(constants: Record<string, unknown>): void;
|
|
179
182
|
/**
|
|
180
|
-
*
|
|
183
|
+
* Replaces engine-level constants and syncs to the component store.
|
|
184
|
+
* @deprecated Use registerConstants/updateConstants with componentId instead.
|
|
181
185
|
* @param constants - New constants record.
|
|
182
186
|
*/
|
|
183
|
-
|
|
187
|
+
replaceConstants(constants: Record<string, unknown>): void;
|
|
184
188
|
/**
|
|
185
189
|
* Switches translation context to admin.
|
|
186
190
|
*/
|
|
@@ -502,6 +506,66 @@ export declare class I18nEngine implements II18nEngine {
|
|
|
502
506
|
enumObj: AnyBrandedEnum;
|
|
503
507
|
componentId: string;
|
|
504
508
|
}[];
|
|
509
|
+
/**
|
|
510
|
+
* Registers constants for a component.
|
|
511
|
+
*
|
|
512
|
+
* Constants are available as template variables in all translations
|
|
513
|
+
* (e.g., `{appName}` in a translation string). Registration is idempotent
|
|
514
|
+
* per component ID. Conflicts (same key, different value, different component)
|
|
515
|
+
* throw an error.
|
|
516
|
+
*
|
|
517
|
+
* @param componentId - The component registering these constants
|
|
518
|
+
* @param constants - Key-value pairs to register
|
|
519
|
+
* @throws {I18nError} If a key conflict is detected (CONSTANT_CONFLICT)
|
|
520
|
+
*
|
|
521
|
+
* @example
|
|
522
|
+
* ```typescript
|
|
523
|
+
* engine.registerConstants('my-app', { appName: 'MyApp', supportEmail: 'help@example.com' });
|
|
524
|
+
* // Now {appName} and {supportEmail} are available in all translations
|
|
525
|
+
* ```
|
|
526
|
+
*/
|
|
527
|
+
registerConstants(componentId: string, constants: Record<string, unknown>): void;
|
|
528
|
+
/**
|
|
529
|
+
* Updates constants for a component, merging new values into existing ones.
|
|
530
|
+
*
|
|
531
|
+
* This is the runtime override mechanism. A library registers defaults via
|
|
532
|
+
* `registerConstants`, and the app overrides specific keys (like `Site`)
|
|
533
|
+
* via `updateConstants` once the real values are known.
|
|
534
|
+
*
|
|
535
|
+
* @param componentId - The component updating these constants
|
|
536
|
+
* @param constants - Key-value pairs to merge (overrides existing keys)
|
|
537
|
+
*
|
|
538
|
+
* @example
|
|
539
|
+
* ```typescript
|
|
540
|
+
* // Library registers defaults
|
|
541
|
+
* engine.registerConstants('suite-core', { Site: 'New Site' });
|
|
542
|
+
* // App overrides at runtime
|
|
543
|
+
* engine.updateConstants('suite-core', { Site: 'My Real Site' });
|
|
544
|
+
* ```
|
|
545
|
+
*/
|
|
546
|
+
updateConstants(componentId: string, constants: Record<string, unknown>): void;
|
|
547
|
+
/**
|
|
548
|
+
* Checks if constants are registered for a component.
|
|
549
|
+
*/
|
|
550
|
+
hasConstants(componentId: string): boolean;
|
|
551
|
+
/**
|
|
552
|
+
* Gets the constants registered for a specific component.
|
|
553
|
+
*/
|
|
554
|
+
getConstants(componentId: string): Readonly<Record<string, unknown>> | undefined;
|
|
555
|
+
/**
|
|
556
|
+
* Gets all registered constants entries with their component IDs.
|
|
557
|
+
*/
|
|
558
|
+
getAllConstants(): readonly ConstantsEntry[];
|
|
559
|
+
/**
|
|
560
|
+
* Resolves which component owns a given constant key.
|
|
561
|
+
* Returns null if the key is not registered.
|
|
562
|
+
*/
|
|
563
|
+
resolveConstantOwner(key: string): string | null;
|
|
564
|
+
/**
|
|
565
|
+
* Syncs the merged constants from the registry into the component store
|
|
566
|
+
* so they're available during template variable replacement.
|
|
567
|
+
*/
|
|
568
|
+
private syncConstantsToStore;
|
|
505
569
|
/**
|
|
506
570
|
* Validates all registered components for missing translations or warnings.
|
|
507
571
|
* @returns ValidationResult containing errors and warnings.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-engine.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"i18n-engine.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":"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"}
|
package/src/core/i18n-engine.js
CHANGED
|
@@ -11,6 +11,7 @@ const safe_object_1 = require("../utils/safe-object");
|
|
|
11
11
|
const timezone_1 = require("../utils/timezone");
|
|
12
12
|
const validation_1 = require("../utils/validation");
|
|
13
13
|
const component_store_1 = require("./component-store");
|
|
14
|
+
const constants_registry_1 = require("./constants-registry");
|
|
14
15
|
const context_manager_1 = require("./context-manager");
|
|
15
16
|
const enum_registry_1 = require("./enum-registry");
|
|
16
17
|
const language_registry_1 = require("./language-registry");
|
|
@@ -27,6 +28,7 @@ class I18nEngine {
|
|
|
27
28
|
componentStore;
|
|
28
29
|
enumRegistry;
|
|
29
30
|
stringKeyEnumRegistry;
|
|
31
|
+
constantsRegistry;
|
|
30
32
|
instanceKey;
|
|
31
33
|
config;
|
|
32
34
|
aliasToComponent = new Map();
|
|
@@ -66,7 +68,13 @@ class I18nEngine {
|
|
|
66
68
|
this.componentStore = new component_store_1.ComponentStore(this.config.constants);
|
|
67
69
|
this.enumRegistry = new enum_registry_1.EnumRegistry((key, vars) => this.safeTranslate(core_component_id_1.CoreI18nComponentId, key, vars));
|
|
68
70
|
this.stringKeyEnumRegistry = new string_key_enum_registry_1.StringKeyEnumRegistry();
|
|
71
|
+
this.constantsRegistry = new constants_registry_1.ConstantsRegistry();
|
|
69
72
|
this.instanceKey = options?.instanceKey || I18nEngine.DEFAULT_KEY;
|
|
73
|
+
// Register initial constants from config into the registry
|
|
74
|
+
if (this.config.constants &&
|
|
75
|
+
Object.keys(this.config.constants).length > 0) {
|
|
76
|
+
this.constantsRegistry.register('__engine__', this.config.constants);
|
|
77
|
+
}
|
|
70
78
|
// Create context
|
|
71
79
|
I18nEngine.contextManager.create(this.instanceKey, this.config.defaultLanguage);
|
|
72
80
|
// Register instance
|
|
@@ -348,13 +356,17 @@ class I18nEngine {
|
|
|
348
356
|
(0, safe_object_1.validateObjectKeys)(variables);
|
|
349
357
|
}
|
|
350
358
|
const combined = (0, safe_object_1.createSafeObject)();
|
|
351
|
-
// 1. Start with constants from config
|
|
359
|
+
// 1. Start with constants from config, then overlay registry constants
|
|
352
360
|
if (this.config.constants) {
|
|
353
|
-
// Extract values from any wrapper objects in constants
|
|
354
361
|
for (const [key, value] of Object.entries(this.config.constants)) {
|
|
355
362
|
combined[key] = this.extractValue(value);
|
|
356
363
|
}
|
|
357
364
|
}
|
|
365
|
+
// Registry constants override config constants (app overrides win)
|
|
366
|
+
const registryMerged = this.constantsRegistry.getMerged();
|
|
367
|
+
for (const [key, value] of Object.entries(registryMerged)) {
|
|
368
|
+
combined[key] = this.extractValue(value);
|
|
369
|
+
}
|
|
358
370
|
// 2. Add context variables (timezone, currency, language, etc.)
|
|
359
371
|
// GlobalActiveContext is optional and may not be available in all environments
|
|
360
372
|
try {
|
|
@@ -467,23 +479,27 @@ class I18nEngine {
|
|
|
467
479
|
return language_registry_1.LanguageRegistry.has(language);
|
|
468
480
|
}
|
|
469
481
|
/**
|
|
470
|
-
* Merges new constants into
|
|
482
|
+
* Merges new constants into the engine-level constants pool.
|
|
483
|
+
* These are registered under the '__engine__' component ID in the registry.
|
|
471
484
|
* @param constants - Key-value constants to merge.
|
|
472
485
|
*/
|
|
473
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
474
486
|
mergeConstants(constants) {
|
|
475
487
|
(0, safe_object_1.validateObjectKeys)(constants);
|
|
476
488
|
(0, safe_object_1.safeAssign)(this.config.constants, constants);
|
|
489
|
+
this.constantsRegistry.update('__engine__', constants);
|
|
490
|
+
this.syncConstantsToStore();
|
|
477
491
|
}
|
|
478
492
|
/**
|
|
479
|
-
*
|
|
493
|
+
* Replaces engine-level constants and syncs to the component store.
|
|
494
|
+
* @deprecated Use registerConstants/updateConstants with componentId instead.
|
|
480
495
|
* @param constants - New constants record.
|
|
481
496
|
*/
|
|
482
|
-
|
|
483
|
-
updateConstants(constants) {
|
|
497
|
+
replaceConstants(constants) {
|
|
484
498
|
(0, safe_object_1.validateObjectKeys)(constants);
|
|
485
499
|
this.config.constants = constants;
|
|
486
|
-
|
|
500
|
+
// Full replacement — wipes old keys, sets new ones
|
|
501
|
+
this.constantsRegistry.replace('__engine__', constants);
|
|
502
|
+
this.syncConstantsToStore();
|
|
487
503
|
}
|
|
488
504
|
/**
|
|
489
505
|
* Switches translation context to admin.
|
|
@@ -831,6 +847,90 @@ class I18nEngine {
|
|
|
831
847
|
getStringKeyEnums() {
|
|
832
848
|
return this.stringKeyEnumRegistry.getAll();
|
|
833
849
|
}
|
|
850
|
+
// =========================================================================
|
|
851
|
+
// Constants Registration
|
|
852
|
+
// =========================================================================
|
|
853
|
+
/**
|
|
854
|
+
* Registers constants for a component.
|
|
855
|
+
*
|
|
856
|
+
* Constants are available as template variables in all translations
|
|
857
|
+
* (e.g., `{appName}` in a translation string). Registration is idempotent
|
|
858
|
+
* per component ID. Conflicts (same key, different value, different component)
|
|
859
|
+
* throw an error.
|
|
860
|
+
*
|
|
861
|
+
* @param componentId - The component registering these constants
|
|
862
|
+
* @param constants - Key-value pairs to register
|
|
863
|
+
* @throws {I18nError} If a key conflict is detected (CONSTANT_CONFLICT)
|
|
864
|
+
*
|
|
865
|
+
* @example
|
|
866
|
+
* ```typescript
|
|
867
|
+
* engine.registerConstants('my-app', { appName: 'MyApp', supportEmail: 'help@example.com' });
|
|
868
|
+
* // Now {appName} and {supportEmail} are available in all translations
|
|
869
|
+
* ```
|
|
870
|
+
*/
|
|
871
|
+
registerConstants(componentId, constants) {
|
|
872
|
+
this.constantsRegistry.register(componentId, constants);
|
|
873
|
+
this.syncConstantsToStore();
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* Updates constants for a component, merging new values into existing ones.
|
|
877
|
+
*
|
|
878
|
+
* This is the runtime override mechanism. A library registers defaults via
|
|
879
|
+
* `registerConstants`, and the app overrides specific keys (like `Site`)
|
|
880
|
+
* via `updateConstants` once the real values are known.
|
|
881
|
+
*
|
|
882
|
+
* @param componentId - The component updating these constants
|
|
883
|
+
* @param constants - Key-value pairs to merge (overrides existing keys)
|
|
884
|
+
*
|
|
885
|
+
* @example
|
|
886
|
+
* ```typescript
|
|
887
|
+
* // Library registers defaults
|
|
888
|
+
* engine.registerConstants('suite-core', { Site: 'New Site' });
|
|
889
|
+
* // App overrides at runtime
|
|
890
|
+
* engine.updateConstants('suite-core', { Site: 'My Real Site' });
|
|
891
|
+
* ```
|
|
892
|
+
*/
|
|
893
|
+
updateConstants(componentId, constants) {
|
|
894
|
+
this.constantsRegistry.update(componentId, constants);
|
|
895
|
+
this.syncConstantsToStore();
|
|
896
|
+
}
|
|
897
|
+
/**
|
|
898
|
+
* Checks if constants are registered for a component.
|
|
899
|
+
*/
|
|
900
|
+
hasConstants(componentId) {
|
|
901
|
+
return this.constantsRegistry.has(componentId);
|
|
902
|
+
}
|
|
903
|
+
/**
|
|
904
|
+
* Gets the constants registered for a specific component.
|
|
905
|
+
*/
|
|
906
|
+
getConstants(componentId) {
|
|
907
|
+
return this.constantsRegistry.get(componentId);
|
|
908
|
+
}
|
|
909
|
+
/**
|
|
910
|
+
* Gets all registered constants entries with their component IDs.
|
|
911
|
+
*/
|
|
912
|
+
getAllConstants() {
|
|
913
|
+
return this.constantsRegistry.getAll();
|
|
914
|
+
}
|
|
915
|
+
/**
|
|
916
|
+
* Resolves which component owns a given constant key.
|
|
917
|
+
* Returns null if the key is not registered.
|
|
918
|
+
*/
|
|
919
|
+
resolveConstantOwner(key) {
|
|
920
|
+
return this.constantsRegistry.resolveOwner(key);
|
|
921
|
+
}
|
|
922
|
+
/**
|
|
923
|
+
* Syncs the merged constants from the registry into the component store
|
|
924
|
+
* so they're available during template variable replacement.
|
|
925
|
+
*/
|
|
926
|
+
syncConstantsToStore() {
|
|
927
|
+
const merged = this.constantsRegistry.getMerged();
|
|
928
|
+
const combined = {
|
|
929
|
+
...this.config.constants,
|
|
930
|
+
...merged,
|
|
931
|
+
};
|
|
932
|
+
this.componentStore.setConstants(combined);
|
|
933
|
+
}
|
|
834
934
|
/**
|
|
835
935
|
* Validates all registered components for missing translations or warnings.
|
|
836
936
|
* @returns ValidationResult containing errors and warnings.
|
|
@@ -916,9 +1016,10 @@ class I18nEngine {
|
|
|
916
1016
|
* Resets all engine instances and clears global registries.
|
|
917
1017
|
*/
|
|
918
1018
|
static resetAll() {
|
|
919
|
-
// Clear string key enum registries for each instance before clearing instances
|
|
1019
|
+
// Clear string key enum registries and constants registries for each instance before clearing instances
|
|
920
1020
|
for (const instance of I18nEngine.instances.values()) {
|
|
921
1021
|
instance.stringKeyEnumRegistry.clear();
|
|
1022
|
+
instance.constantsRegistry.clear();
|
|
922
1023
|
}
|
|
923
1024
|
I18nEngine.instances.clear();
|
|
924
1025
|
I18nEngine.defaultKey = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-engine.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i18n-engine.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/i18n-engine.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AASH,4DAA2D;AAC3D,qDAAiD;AAQjD,gDAAiD;AACjD,sDAI8B;AAC9B,gDAA6C;AAC7C,oDAG6B;AAC7B,uDAAmD;AACnD,6DAAyD;AAEzD,uDAAmD;AACnD,mDAA+C;AAC/C,2DAAuD;AACvD,yEAAmE;AAEnE;;;GAGG;AACH,MAAa,UAAU;IACb,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,MAAM,CAAC,UAAU,GAAkB,IAAI,CAAC;IACxC,MAAM,CAAU,WAAW,GAAG,SAAS,CAAC;IACxC,MAAM,CAAU,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;IAE7C,cAAc,CAAiB;IAC/B,YAAY,CAAe;IAC3B,qBAAqB,CAAwB;IAC7C,iBAAiB,CAAoB;IACrC,WAAW,CAAS;IACpB,MAAM,CAAyB;IAC/B,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;IACrE,yBAAyB,GAA+B,IAAI,CAAC;IAErE;;;;;;;;;;;OAWG;IACH,YACE,SAAwC,EACxC,SAAuB,EAAE,EACzB,OAIC;QAED,qBAAqB;QACrB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,oCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,oCAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG;YACZ,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,WAAW,CAAC,EAAE;YACzD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,WAAW,CAAC,EAAE;YAC3D,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,UAAU,EAAE;gBACV,sBAAsB,EAAE,KAAK;gBAC7B,wBAAwB,EAAE,IAAI;gBAC9B,GAAG,MAAM,CAAC,UAAU;aACrB;SACF,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACjD,IAAI,CAAC,aAAa,CAAC,uCAAmB,EAAE,GAAG,EAAE,IAAI,CAAC,CACnD,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,gDAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC;QAElE,2DAA2D;QAC3D,IACE,IAAI,CAAC,MAAM,CAAC,SAAS;YACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAC7C,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,iBAAiB;QACjB,UAAU,CAAC,cAAc,CAAC,MAAM,CAC9B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CAAC,eAAe,CAC5B,CAAC;QAEF,oBAAoB;QACpB,IAAI,OAAO,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,MAAM,sBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC;YACD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAEjD,IAAI,OAAO,EAAE,YAAY,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC9D,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,MAAuB;QAC9B,IAAA,gCAAmB,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,mCAAmC,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,MAAuB;QACzC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAAC,MAAuB;QACvD,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,sDAAsD;QACtD,qDAAqD;QACrD,MAAM,kBAAkB,GAAG,MAG1B,CAAC;QACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAI,WAAW;YAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,QAAQ;YAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,IAAI,KAAK;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;QAEzD,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,YAAoB,EAAE,EAAE;YAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY;gBAAE,OAAO;YACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,0CAA0C;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC7D,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE;gBAC1D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAClC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mCAAmC;QACzC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IACxC,CAAC;IAED;;;OAGG;IACK,8BAA8B;QACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,8BAA8B,CAAC,cAAsB;QAC3D,qBAAqB;QACrB,MAAM,cAAc,GAClB,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACpC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACzE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1E,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,sBAAS,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CAAC,MAAc;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM;aACtB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;aACtC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,WAAW,EAAE,CAAC;QACjB,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAC5B,MAAc,EACd,MAAc;QAEd,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,aAAa,CACX,WAAmB,EACnB,OAA+C;QAE/C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,WAAmB,EACnB,GAAW,EACX,SAA+B,EAC/B,QAAiB;QAEjB,MAAM,IAAI,GACR,QAAQ;YACR,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CACX,WAAmB,EACnB,GAAW,EACX,SAA+B,EAC/B,QAAiB;QAEjB,MAAM,IAAI,GACR,QAAQ;YACR,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CACtC,WAAW,EACX,GAAG,EACH,YAAY,EACZ,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,CAAC,CACC,QAAgB,EAChB,SAA+B,EAC/B,QAAiB;QAEjB,IAAA,mCAAsB,EAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,IAAI,GACR,QAAQ;YACR,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjE,oFAAoF;QACpF,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAE5D,4EAA4E;QAC5E,iEAAiE;QACjE,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAC3B,wBAAwB,EACxB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACjB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;gBAClC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE1B,iDAAiD;gBACjD,+DAA+D;gBAC/D,yDAAyD;gBACzD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAC5D,MAAM,EACN,GAAG,CACJ,CAAC;gBACF,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;QAEF,sDAAsD;QACtD,oEAAoE;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5D,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,SAAS;gBACxC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,SAA+B;QAE/B,IAAI,SAAS,EAAE,CAAC;YACd,IAAA,gCAAkB,EAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,QAAQ,GAAwB,IAAA,8BAAgB,GAAE,CAAC;QAEzD,uEAAuE;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,mEAAmE;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,gEAAgE;QAChE,+EAA+E;QAC/E,IAAI,CAAC;YACH,4DAA4D;YAC5D,MAAM,mBAAmB,GAAI,UAAkC;iBAC5D,mBAIU,CAAC;YAEd,IACE,mBAAmB;gBACnB,OAAO,mBAAmB,CAAC,WAAW,KAAK,UAAU,EACrD,CAAC;gBACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,CAAC;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,wBAAwB;oBACxB,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACxC,QAAQ,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;oBAClD,QAAQ,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;oBAEpD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;wBACzB,yCAAyC;wBACzC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAC9D,QAAQ,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC;wBACzC,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;oBACvC,CAAC;oBAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACrB,qCAAqC;wBACrC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC1D,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;wBACrC,QAAQ,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC;oBAC3C,CAAC;oBAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC1B,qCAAqC;wBACrC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,YAAY,CAC3C,OAAO,CAAC,aAAa,CACtB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,uFAAuF;QACzF,CAAC;QAED,yDAAyD;QACzD,gEAAgE;QAChE,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,KAAc;QACjC,IAAI,KAAK,YAAY,uBAAY;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QACtD,IAAI,KAAK,YAAY,mBAAQ;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QAClD,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,IAAI,KAAK;YAChB,OAAQ,KAA6B,CAAC,KAAK,KAAK,UAAU,EAC1D,CAAC;YACD,OAAQ,KAA6B,CAAC,KAAK,CAAC;QAC9C,CAAC;QACD,gDAAgD;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAA4B;QAC3C,oCAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,oCAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,sBAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,IAAI,CAAC,oCAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,sBAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,oCAAgB,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAgB;QAC1B,OAAO,oCAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,SAAkC;QAC/C,IAAA,gCAAkB,EAAC,SAAS,CAAC,CAAC;QAC9B,IAAA,wBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,SAAkC;QACjD,IAAA,gCAAkB,EAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,mDAAmD;QACnD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,YAAY;QACV,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiEG;IACH,YAAY,CACV,OAGsC,EACtC,YAA4D,EAC5D,QAAiB;QAEjB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAC/B,OAAO,EACP,YAAY,EACZ,QAAQ,CACgC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,aAAa,CACX,OAA+C,EAC/C,KAA+C,EAC/C,QAAiB;QAEjB,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,qBAAqB,CACnB,aAA6B,EAC7B,WAAoB;QAEpB,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,kBAAkB,CAChB,cAAmC,EACnC,SAAmC,EACnC,QAAiB;QAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,8BAA8B,CACrD,cAAwB,CACzB,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CACnB,WAAW,EACX,cAAwB,EACxB,SAAS,EACT,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,sBAAsB,CACpB,cAAmC,EACnC,SAAmC,EACnC,QAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,8BAA8B,CACrD,cAAwB,CACzB,CAAC;YACF,OAAO,IAAI,CAAC,aAAa,CACvB,WAAW,EACX,cAAwB,EACxB,SAAS,EACT,QAAQ,CACT,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,YAAY,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,aAA6B;QAC5C,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAAiB;QAIf,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED,4EAA4E;IAC5E,yBAAyB;IACzB,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CACf,WAAmB,EACnB,SAAkC;QAElC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CACb,WAAmB,EACnB,SAAkC;QAElC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,YAAY,CACV,WAAmB;QAEnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,GAAW;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACK,oBAAoB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAClD,MAAM,QAAQ,GAA4B;YACxC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;YACxB,GAAG,MAAM;SACV,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACnB,GAAW,EACX,SAAwC,EACxC,MAAqB;QAErB,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE;YACvC,WAAW,EAAE,GAAG;YAChB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CACxB,GAAW,EACX,SAAwC,EACxC,MAAqB;QAErB,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAY;QAC7B,MAAM,WAAW,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC;QAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,sBAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAY;QAC7B,MAAM,WAAW,GAAG,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC;QAClD,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,GAAY;QAChC,MAAM,WAAW,GAAG,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,UAAU,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;YACrD,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,wGAAwG;QACxG,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,QAAQ,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACvC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7B,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,oCAAgB,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;;AArrCH,gCAsrCC"}
|
package/src/core/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export { EnumRegistry } from './enum-registry';
|
|
|
10
10
|
export { I18nEngine } from './i18n-engine';
|
|
11
11
|
export { LanguageRegistry } from './language-registry';
|
|
12
12
|
export { StringKeyEnumRegistry } from './string-key-enum-registry';
|
|
13
|
+
export { ConstantsRegistry } from './constants-registry';
|
|
13
14
|
export type { Context } from './context-manager';
|
|
14
15
|
export type { StringKeyEnumEntry } from './string-key-enum-registry';
|
|
16
|
+
export type { ConstantsEntry } from './constants-registry';
|
|
15
17
|
//# sourceMappingURL=index.d.ts.map
|
package/src/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
package/src/core/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* to minimize runtime circular dependencies while maintaining type availability.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.StringKeyEnumRegistry = exports.LanguageRegistry = exports.I18nEngine = exports.EnumRegistry = exports.ContextManager = exports.ComponentStore = void 0;
|
|
9
|
+
exports.ConstantsRegistry = exports.StringKeyEnumRegistry = exports.LanguageRegistry = exports.I18nEngine = exports.EnumRegistry = exports.ContextManager = exports.ComponentStore = void 0;
|
|
10
10
|
// Export classes (runtime dependencies)
|
|
11
11
|
var component_store_1 = require("./component-store");
|
|
12
12
|
Object.defineProperty(exports, "ComponentStore", { enumerable: true, get: function () { return component_store_1.ComponentStore; } });
|
|
@@ -20,4 +20,6 @@ var language_registry_1 = require("./language-registry");
|
|
|
20
20
|
Object.defineProperty(exports, "LanguageRegistry", { enumerable: true, get: function () { return language_registry_1.LanguageRegistry; } });
|
|
21
21
|
var string_key_enum_registry_1 = require("./string-key-enum-registry");
|
|
22
22
|
Object.defineProperty(exports, "StringKeyEnumRegistry", { enumerable: true, get: function () { return string_key_enum_registry_1.StringKeyEnumRegistry; } });
|
|
23
|
+
var constants_registry_1 = require("./constants-registry");
|
|
24
|
+
Object.defineProperty(exports, "ConstantsRegistry", { enumerable: true, get: function () { return constants_registry_1.ConstantsRegistry; } });
|
|
23
25
|
//# sourceMappingURL=index.js.map
|
package/src/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wCAAwC;AACxC,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wCAAwC;AACxC,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAC9B,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-i18n-setup.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/create-i18n-setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAQvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAIhF,wBAAgB,eAAe,CAAC,cAAc,SAAS,cAAc,EACnE,MAAM,EAAE,eAAe,GAAG;IAAE,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;CAAE,GACnE,eAAe,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"create-i18n-setup.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/create-i18n-setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAQvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAIhF,wBAAgB,eAAe,CAAC,cAAc,SAAS,cAAc,EACnE,MAAM,EAAE,eAAe,GAAG;IAAE,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;CAAE,GACnE,eAAe,CAAC,cAAc,CAAC,CAmIjC"}
|
package/src/create-i18n-setup.js
CHANGED
|
@@ -15,7 +15,9 @@ function createI18nSetup(config) {
|
|
|
15
15
|
// 1. Create or reuse engine
|
|
16
16
|
const engine = i18n_engine_1.I18nEngine.registerIfNotExists(instanceKey, (0, core_i18n_1.createDefaultLanguages)(), {
|
|
17
17
|
defaultLanguage,
|
|
18
|
-
|
|
18
|
+
// Note: constants are NOT passed to the engine config here.
|
|
19
|
+
// They are registered via the constants registry after library
|
|
20
|
+
// components, so the app's values always override library defaults.
|
|
19
21
|
});
|
|
20
22
|
// 2. Register core component
|
|
21
23
|
const coreReg = (0, core_i18n_1.createCoreComponentRegistration)();
|
|
@@ -23,13 +25,16 @@ function createI18nSetup(config) {
|
|
|
23
25
|
id: coreReg.component.id,
|
|
24
26
|
strings: coreReg.strings,
|
|
25
27
|
});
|
|
26
|
-
// 3. Register library components
|
|
28
|
+
// 3. Register library components (with their default constants)
|
|
27
29
|
if (config.libraryComponents) {
|
|
28
30
|
for (const pkg of config.libraryComponents) {
|
|
29
31
|
engine.registerIfNotExists(pkg.config);
|
|
30
32
|
if (pkg.stringKeyEnum && !engine.hasStringKeyEnum(pkg.stringKeyEnum)) {
|
|
31
33
|
engine.registerStringKeyEnum(pkg.stringKeyEnum, pkg.config.id);
|
|
32
34
|
}
|
|
35
|
+
if (pkg.constants && !engine.hasConstants(pkg.config.id)) {
|
|
36
|
+
engine.registerConstants(pkg.config.id, pkg.constants);
|
|
37
|
+
}
|
|
33
38
|
}
|
|
34
39
|
}
|
|
35
40
|
// 4. Register app component
|
|
@@ -41,6 +46,12 @@ function createI18nSetup(config) {
|
|
|
41
46
|
if (!engine.hasStringKeyEnum(config.stringKeyEnum)) {
|
|
42
47
|
engine.registerStringKeyEnum(config.stringKeyEnum);
|
|
43
48
|
}
|
|
49
|
+
// 4b. Register app-level constants as overrides.
|
|
50
|
+
// Uses updateConstants so the app's values (e.g. real Site name) always
|
|
51
|
+
// win over library defaults, regardless of initialization order.
|
|
52
|
+
if (config.constants) {
|
|
53
|
+
engine.updateConstants(config.componentId, config.constants);
|
|
54
|
+
}
|
|
44
55
|
// 5. Initialize GlobalActiveContext
|
|
45
56
|
const globalContext = global_active_context_1.GlobalActiveContext.getInstance();
|
|
46
57
|
try {
|
|
@@ -81,6 +92,8 @@ function createI18nSetup(config) {
|
|
|
81
92
|
setContext: (ctx) => globalContext.setLanguageContextSpace(ctx, config.componentId),
|
|
82
93
|
getLanguage: () => getActiveContext().language,
|
|
83
94
|
getAdminLanguage: () => getActiveContext().adminLanguage,
|
|
95
|
+
registerConstants: (componentId, constants) => engine.registerConstants(componentId, constants),
|
|
96
|
+
updateConstants: (componentId, constants) => engine.updateConstants(componentId, constants),
|
|
84
97
|
reset: () => {
|
|
85
98
|
i18n_engine_1.I18nEngine.removeInstance(instanceKey);
|
|
86
99
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-i18n-setup.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/create-i18n-setup.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAkBH,
|
|
1
|
+
{"version":3,"file":"create-i18n-setup.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/create-i18n-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,8 @@ export declare const I18nErrorCode: {
|
|
|
45
45
|
readonly INVALID_STRING_KEY_ENUM: "INVALID_STRING_KEY_ENUM";
|
|
46
46
|
/** String key value does not belong to any registered enum */
|
|
47
47
|
readonly STRING_KEY_NOT_REGISTERED: "STRING_KEY_NOT_REGISTERED";
|
|
48
|
+
/** Constant key conflict between components */
|
|
49
|
+
readonly CONSTANT_CONFLICT: "CONSTANT_CONFLICT";
|
|
48
50
|
};
|
|
49
51
|
/**
|
|
50
52
|
* Type representing all possible i18n error codes.
|
|
@@ -222,5 +224,12 @@ export declare class I18nError extends Error {
|
|
|
222
224
|
* @returns An I18nError instance
|
|
223
225
|
*/
|
|
224
226
|
static stringKeyNotRegistered(key: string): I18nError;
|
|
227
|
+
/**
|
|
228
|
+
* Creates an error for constant key conflicts between components.
|
|
229
|
+
* @param key - The conflicting constant key
|
|
230
|
+
* @param newComponent - The component attempting to register the key
|
|
231
|
+
* @param existingComponent - The component that already owns the key
|
|
232
|
+
*/
|
|
233
|
+
static constantConflict(key: string, newComponent: string, existingComponent: string): I18nError;
|
|
225
234
|
}
|
|
226
235
|
//# sourceMappingURL=i18n-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":"AACA;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB,sCAAsC;;IAEtC,wCAAwC;;IAExC,qCAAqC;;IAErC,yDAAyD;;IAEzD,qCAAqC;;IAErC,8CAA8C;;IAE9C,6CAA6C;;IAE7C,4CAA4C;;IAE5C,8BAA8B;;IAE9B,mCAAmC;;IAEnC,mCAAmC;;IAEnC,sDAAsD;;IAEtD,uCAAuC;;IAEvC,oDAAoD;;IAEpD,oCAAoC;;IAEpC,wCAAwC;;IAExC,0BAA0B;;IAE1B,2CAA2C;;IAE3C,8DAA8D;;IAE9D,8DAA8D;;
|
|
1
|
+
{"version":3,"file":"i18n-error.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":"AACA;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB,sCAAsC;;IAEtC,wCAAwC;;IAExC,qCAAqC;;IAErC,yDAAyD;;IAEzD,qCAAqC;;IAErC,8CAA8C;;IAE9C,6CAA6C;;IAE7C,4CAA4C;;IAE5C,8BAA8B;;IAE9B,mCAAmC;;IAEnC,mCAAmC;;IAEnC,sDAAsD;;IAEtD,uCAAuC;;IAEvC,oDAAoD;;IAEpD,oCAAoC;;IAEpC,wCAAwC;;IAExC,0BAA0B;;IAE1B,2CAA2C;;IAE3C,8DAA8D;;IAE9D,8DAA8D;;IAE9D,+CAA+C;;CAEvC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;aAQhB,IAAI,EAAE,aAAa;aAEV,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IATzD;;;;;OAKG;gBAEe,IAAI,EAAE,aAAa,EACnC,OAAO,EAAE,MAAM,EACU,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;IAOzD;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,SAAU,GAAG,SAAS;IAY5E;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,SAAU,GACjB,SAAS;IAcZ;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,eAAe,SAAU,GACxB,SAAS;IAWZ;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,eAAe,SAAU,GACxB,SAAS;IAmBZ;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAI/C;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,SAAU,GACjB,SAAS;IAYZ;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,SAAU,GACzB,SAAS;IAOZ;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,SAAU,GAAG,SAAS;IAYxE;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAU,GAAG,SAAS;IAUnE;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAU,GAAG,SAAS;IAUjE;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,SAAU,GAAG,SAAS;IAWxE;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EAAE,GACvB,SAAS;IAuBZ;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,QAAQ,SAAU,GACjB,SAAS;IAkBZ;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAU,GAAG,SAAS;IAWvE;;;;;;;;;OASG;IACH,MAAM,CAAC,2BAA2B,CAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,UAAU,GAAG,SAAS,GAAG,SAAqB,EAC7D,QAAQ,SAAU,GACjB,SAAS;IAkBZ;;;;;;;;OAQG;IACH,MAAM,CAAC,mBAAmB,CACxB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,QAAQ,SAAU,GACjB,SAAS;IAaZ;;;;;;;;;OASG;IACH,MAAM,CAAC,iBAAiB,CACtB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,SAAU,GACjB,SAAS;IAoBZ;;;;;;;;;;OAUG;IACH,MAAM,CAAC,qBAAqB,CAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,EACnD,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,EAChD,QAAQ,SAAU,GACjB,SAAS;IAeZ;;;OAGG;IACH,MAAM,CAAC,oBAAoB,IAAI,SAAS;IAQxC;;;;OAIG;IACH,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQrD;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,GACxB,SAAS;CAQb"}
|
package/src/errors/i18n-error.js
CHANGED
|
@@ -50,6 +50,8 @@ exports.I18nErrorCode = {
|
|
|
50
50
|
INVALID_STRING_KEY_ENUM: 'INVALID_STRING_KEY_ENUM',
|
|
51
51
|
/** String key value does not belong to any registered enum */
|
|
52
52
|
STRING_KEY_NOT_REGISTERED: 'STRING_KEY_NOT_REGISTERED',
|
|
53
|
+
/** Constant key conflict between components */
|
|
54
|
+
CONSTANT_CONFLICT: 'CONSTANT_CONFLICT',
|
|
53
55
|
};
|
|
54
56
|
/**
|
|
55
57
|
* Main error class for i18n-related errors.
|
|
@@ -373,6 +375,16 @@ class I18nError extends Error {
|
|
|
373
375
|
static stringKeyNotRegistered(key) {
|
|
374
376
|
return new I18nError(exports.I18nErrorCode.STRING_KEY_NOT_REGISTERED, `String key '${key}' does not belong to any registered enum`, { key });
|
|
375
377
|
}
|
|
378
|
+
/**
|
|
379
|
+
* Creates an error for constant key conflicts between components.
|
|
380
|
+
* @param key - The conflicting constant key
|
|
381
|
+
* @param newComponent - The component attempting to register the key
|
|
382
|
+
* @param existingComponent - The component that already owns the key
|
|
383
|
+
*/
|
|
384
|
+
static constantConflict(key, newComponent, existingComponent) {
|
|
385
|
+
return new I18nError(exports.I18nErrorCode.CONSTANT_CONFLICT, `Constant key "${key}" conflict: component "${newComponent}" ` +
|
|
386
|
+
`attempted to register a different value than component "${existingComponent}"`, { key, newComponent, existingComponent });
|
|
387
|
+
}
|
|
376
388
|
}
|
|
377
389
|
exports.I18nError = I18nError;
|
|
378
390
|
//# sourceMappingURL=i18n-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-error.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":";AAAA,2PAA2P;AAC3P;;GAEG;;;AAEH,4CAAkD;AAElD;;GAEG;AACU,QAAA,aAAa,GAAG;IAC3B,sCAAsC;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,wCAAwC;IACxC,oBAAoB,EAAE,sBAAsB;IAC5C,qCAAqC;IACrC,kBAAkB,EAAE,oBAAoB;IACxC,yDAAyD;IACzD,mBAAmB,EAAE,qBAAqB;IAC1C,qCAAqC;IACrC,cAAc,EAAE,gBAAgB;IAChC,8CAA8C;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,6CAA6C;IAC7C,kBAAkB,EAAE,oBAAoB;IACxC,4CAA4C;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,8BAA8B;IAC9B,kBAAkB,EAAE,oBAAoB;IACxC,mCAAmC;IACnC,eAAe,EAAE,iBAAiB;IAClC,mCAAmC;IACnC,eAAe,EAAE,iBAAiB;IAClC,sDAAsD;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,uCAAuC;IACvC,uBAAuB,EAAE,yBAAyB;IAClD,oDAAoD;IACpD,sBAAsB,EAAE,wBAAwB;IAChD,oCAAoC;IACpC,6BAA6B,EAAE,+BAA+B;IAC9D,wCAAwC;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,0BAA0B;IAC1B,mBAAmB,EAAE,qBAAqB;IAC1C,2CAA2C;IAC3C,uBAAuB,EAAE,yBAAyB;IAClD,8DAA8D;IAC9D,uBAAuB,EAAE,yBAAyB;IAClD,8DAA8D;IAC9D,yBAAyB,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"i18n-error.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/errors/i18n-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,7 @@ export interface I18nComponentPackage {
|
|
|
10
10
|
readonly config: ComponentConfig;
|
|
11
11
|
/** Optional branded string key enum for direct translateStringKey support */
|
|
12
12
|
readonly stringKeyEnum?: AnyBrandedEnum;
|
|
13
|
+
/** Optional constants to register for this component */
|
|
14
|
+
readonly constants?: Record<string, unknown>;
|
|
13
15
|
}
|
|
14
16
|
//# 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;AAEpE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,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;AAEpE;;;;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,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C"}
|
|
@@ -71,5 +71,42 @@ export interface II18nEngine {
|
|
|
71
71
|
enumObj: AnyBrandedEnum;
|
|
72
72
|
componentId: string;
|
|
73
73
|
}[];
|
|
74
|
+
/**
|
|
75
|
+
* Registers constants for a component.
|
|
76
|
+
* Constants are available as template variables in all translations.
|
|
77
|
+
* Registration is idempotent per component ID.
|
|
78
|
+
* @param componentId - The component registering these constants
|
|
79
|
+
* @param constants - Key-value pairs to register
|
|
80
|
+
* @throws {I18nError} If a key conflict is detected (CONSTANT_CONFLICT)
|
|
81
|
+
*/
|
|
82
|
+
registerConstants(componentId: string, constants: Record<string, unknown>): void;
|
|
83
|
+
/**
|
|
84
|
+
* Updates/overrides constants for a component, merging new values.
|
|
85
|
+
* Use this when the app needs to override library defaults at runtime
|
|
86
|
+
* (e.g., replacing a default Site name with the real one).
|
|
87
|
+
* @param componentId - The component updating these constants
|
|
88
|
+
* @param constants - Key-value pairs to merge (overrides existing keys)
|
|
89
|
+
*/
|
|
90
|
+
updateConstants(componentId: string, constants: Record<string, unknown>): void;
|
|
91
|
+
/**
|
|
92
|
+
* Checks if constants are registered for a component.
|
|
93
|
+
*/
|
|
94
|
+
hasConstants(componentId: string): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Gets the constants registered for a specific component.
|
|
97
|
+
*/
|
|
98
|
+
getConstants(componentId: string): Readonly<Record<string, unknown>> | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* Gets all registered constants entries with their component IDs.
|
|
101
|
+
*/
|
|
102
|
+
getAllConstants(): readonly {
|
|
103
|
+
componentId: string;
|
|
104
|
+
constants: Readonly<Record<string, unknown>>;
|
|
105
|
+
}[];
|
|
106
|
+
/**
|
|
107
|
+
* Resolves which component owns a given constant key.
|
|
108
|
+
* Returns null if the key is not registered.
|
|
109
|
+
*/
|
|
110
|
+
resolveConstantOwner(key: string): string | null;
|
|
74
111
|
}
|
|
75
112
|
//# sourceMappingURL=i18n-engine.interface.d.ts.map
|
|
@@ -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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"}
|
|
@@ -25,6 +25,10 @@ export interface I18nSetupResult<TStringKeyEnum extends AnyBrandedEnum = AnyBran
|
|
|
25
25
|
readonly getLanguage: () => string;
|
|
26
26
|
/** Get the current admin language */
|
|
27
27
|
readonly getAdminLanguage: () => string;
|
|
28
|
+
/** Register constants for a component (available as template variables) */
|
|
29
|
+
readonly registerConstants: (componentId: string, constants: Record<string, unknown>) => void;
|
|
30
|
+
/** Update/override constants for a component (merges, app values win) */
|
|
31
|
+
readonly updateConstants: (componentId: string, constants: Record<string, unknown>) => void;
|
|
28
32
|
/** Reset the engine instance and context (useful for testing) */
|
|
29
33
|
readonly reset: () => void;
|
|
30
34
|
}
|
|
@@ -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,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B"}
|
|
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,CAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,IAAI,CAAC;IACV,yEAAyE;IACzE,QAAQ,CAAC,eAAe,EAAE,CACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,IAAI,CAAC;IACV,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B"}
|