@mmstack/translate 20.5.4 → 21.0.0
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.
|
@@ -173,10 +173,10 @@ class TranslationStore {
|
|
|
173
173
|
hasLocaleLoaders(locale) {
|
|
174
174
|
return Array.from(this.onDemandLoaders.values()).some((loaders) => loaders[locale]);
|
|
175
175
|
}
|
|
176
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
177
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
176
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TranslationStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
177
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TranslationStore, providedIn: 'root' });
|
|
178
178
|
}
|
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: TranslationStore, decorators: [{
|
|
180
180
|
type: Injectable,
|
|
181
181
|
args: [{
|
|
182
182
|
providedIn: 'root',
|
|
@@ -362,12 +362,12 @@ class Translate {
|
|
|
362
362
|
},
|
|
363
363
|
});
|
|
364
364
|
}
|
|
365
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
366
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
365
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: Translate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
366
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", type: Translate, isStandalone: true, inputs: { translate: { classPropertyName: "translate", publicName: "translate", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
367
367
|
}
|
|
368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: Translate, decorators: [{
|
|
369
369
|
type: Directive
|
|
370
|
-
}], ctorParameters: () => [] });
|
|
370
|
+
}], ctorParameters: () => [], propDecorators: { translate: [{ type: i0.Input, args: [{ isSignal: true, alias: "translate", required: true }] }] } });
|
|
371
371
|
|
|
372
372
|
class Translator {
|
|
373
373
|
store = inject(TranslationStore);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mmstack-translate.mjs","sources":["../tmp-esm2022/lib/delim.js","../tmp-esm2022/lib/compile.js","../tmp-esm2022/lib/create-namespace.js","../tmp-esm2022/lib/translation-store.js","../tmp-esm2022/lib/register-namespace.js","../tmp-esm2022/lib/translate.js","../tmp-esm2022/lib/translator.js","../tmp-esm2022/mmstack-translate.js"],"sourcesContent":["const KEY_DELIM = '::MMT_DELIM::';\nexport function prependDelim(prefix, key) {\n return `${prefix}${KEY_DELIM}${key}`;\n}\nexport function replaceWithDelim(str, repl = '.') {\n return str.replaceAll(repl, KEY_DELIM);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90cmFuc2xhdGUvc3JjL2xpYi9kZWxpbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFFbEMsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFjLEVBQUUsR0FBVztJQUN0RCxPQUFPLEdBQUcsTUFBTSxHQUFHLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxJQUFJLEdBQUcsR0FBRztJQUN0RCxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBLRVlfREVMSU0gPSAnOjpNTVRfREVMSU06Oic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJlcGVuZERlbGltKHByZWZpeDogc3RyaW5nLCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGAke3ByZWZpeH0ke0tFWV9ERUxJTX0ke2tleX1gO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZVdpdGhEZWxpbShzdHI6IHN0cmluZywgcmVwbCA9ICcuJyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHN0ci5yZXBsYWNlQWxsKHJlcGwsIEtFWV9ERUxJTSk7XHJcbn1cclxuIl19","import { prependDelim } from './delim';\nconst INTERNAL_SYMBOL = Symbol.for('mmstack-translate-internal');\nfunction isTranslationObject(t) {\n return typeof t === 'object' && t !== null;\n}\nfunction flattenTranslation(obj) {\n return Object.entries(obj).reduce((acc, [key, value]) => {\n if (typeof value === 'string') {\n acc[key] = value;\n }\n else if (isTranslationObject(value)) {\n Object.entries(flattenTranslation(value)).forEach(([nestedKey, nestedValue]) => {\n acc[prependDelim(key, nestedKey)] = nestedValue;\n });\n }\n return acc;\n }, {});\n}\nexport function compileTranslation(translation, ns, locale) {\n return {\n locale,\n flat: flattenTranslation(translation),\n namespace: ns,\n [INTERNAL_SYMBOL]: {\n shape: {},\n map: {},\n },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RyYW5zbGF0ZS9zcmMvbGliL2NvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU92QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUF5Q2pFLFNBQVMsbUJBQW1CLENBQUMsQ0FBVTtJQUNyQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQzdDLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFtQyxHQUFNO0lBQ2xFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQy9CLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDcEIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUM7YUFBTSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDL0MsQ0FBQyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO2dCQUMzQixHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUNsRCxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFDRCxFQUE0QixDQUM3QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FLaEMsV0FBYyxFQUNkLEVBQU8sRUFDUCxNQUFnQjtJQUtoQixPQUFPO1FBQ0wsTUFBTTtRQUNOLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDckMsU0FBUyxFQUFFLEVBQUU7UUFDYixDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2pCLEtBQUssRUFBRSxFQUFZO1lBQ25CLEdBQUcsRUFBRSxFQUFVO1NBQ2hCO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcmVwZW5kRGVsaW0gfSBmcm9tICcuL2RlbGltJztcclxuaW1wb3J0IHR5cGUge1xyXG4gIGluZmVyVHJhbnNsYXRpb25QYXJhbU1hcCxcclxuICBpbmZlclRyYW5zbGF0aW9uU2hhcGUsXHJcbn0gZnJvbSAnLi9wYXJhbWV0ZXJpemUudHlwZSc7XHJcbmltcG9ydCB0eXBlIHsgVW5rbm93blN0cmluZ0tleU9iamVjdCB9IGZyb20gJy4vc3RyaW5nLWtleS1vYmplY3QudHlwZSc7XHJcblxyXG5jb25zdCBJTlRFUk5BTF9TWU1CT0wgPSBTeW1ib2wuZm9yKCdtbXN0YWNrLXRyYW5zbGF0ZS1pbnRlcm5hbCcpO1xyXG5cclxudHlwZSBJbnRlcm5hbFN5bWJvbCA9IHR5cGVvZiBJTlRFUk5BTF9TWU1CT0w7XHJcblxyXG5leHBvcnQgdHlwZSBDb21waWxlZFRyYW5zbGF0aW9uPFxyXG4gIFQgZXh0ZW5kcyBVbmtub3duU3RyaW5nS2V5T2JqZWN0LFxyXG4gIFROUyBleHRlbmRzIHN0cmluZyxcclxuICBUTG9jYWxlIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxyXG4+ID0ge1xyXG4gIGZsYXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgbG9jYWxlPzogVExvY2FsZTtcclxuICBuYW1lc3BhY2U6IFROUztcclxuICBbSU5URVJOQUxfU1lNQk9MXToge1xyXG4gICAgc2hhcGU6IGluZmVyVHJhbnNsYXRpb25TaGFwZTxUPjtcclxuICAgIG1hcDogaW5mZXJUcmFuc2xhdGlvblBhcmFtTWFwPFROUywgVD47XHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIG1lcmdlVHJhbnNsYXRpb25NYXBzPFxyXG4gIFRNYWluIGV4dGVuZHMgQ29tcGlsZWRUcmFuc2xhdGlvbjxVbmtub3duU3RyaW5nS2V5T2JqZWN0LCBzdHJpbmc+LFxyXG4gIFRPdGhlciBleHRlbmRzIENvbXBpbGVkVHJhbnNsYXRpb248VW5rbm93blN0cmluZ0tleU9iamVjdCwgc3RyaW5nPixcclxuPiA9IE9taXQ8VE1haW4sIEludGVybmFsU3ltYm9sPiAmIHtcclxuICBbSU5URVJOQUxfU1lNQk9MXToge1xyXG4gICAgc2hhcGU6IGluZmVyQ29tcGlsZWRUcmFuc2xhdGlvblNoYXBlPFRNYWluPjtcclxuICAgIG1hcDogaW5mZXJDb21waWxlZFRyYW5zbGF0aW9uTWFwPFRPdGhlcj4gJlxyXG4gICAgICBpbmZlckNvbXBpbGVkVHJhbnNsYXRpb25NYXA8VE1haW4+O1xyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBpbmZlckNvbXBpbGVkVHJhbnNsYXRpb25OYW1lc3BhY2U8XHJcbiAgVCBleHRlbmRzIENvbXBpbGVkVHJhbnNsYXRpb248VW5rbm93blN0cmluZ0tleU9iamVjdCwgc3RyaW5nPixcclxuPiA9IFRbJ25hbWVzcGFjZSddO1xyXG5cclxuZXhwb3J0IHR5cGUgaW5mZXJDb21waWxlZFRyYW5zbGF0aW9uU2hhcGU8XHJcbiAgVCBleHRlbmRzIENvbXBpbGVkVHJhbnNsYXRpb248VW5rbm93blN0cmluZ0tleU9iamVjdCwgc3RyaW5nPixcclxuPiA9IFRbSW50ZXJuYWxTeW1ib2xdWydzaGFwZSddO1xyXG5cclxuZXhwb3J0IHR5cGUgaW5mZXJDb21waWxlZFRyYW5zbGF0aW9uTWFwPFxyXG4gIFQgZXh0ZW5kcyBDb21waWxlZFRyYW5zbGF0aW9uPFVua25vd25TdHJpbmdLZXlPYmplY3QsIHN0cmluZz4sXHJcbj4gPSBUW0ludGVybmFsU3ltYm9sXVsnbWFwJ107XHJcblxyXG5mdW5jdGlvbiBpc1RyYW5zbGF0aW9uT2JqZWN0KHQ6IHVua25vd24pOiB0IGlzIFVua25vd25TdHJpbmdLZXlPYmplY3Qge1xyXG4gIHJldHVybiB0eXBlb2YgdCA9PT0gJ29iamVjdCcgJiYgdCAhPT0gbnVsbDtcclxufVxyXG5cclxuZnVuY3Rpb24gZmxhdHRlblRyYW5zbGF0aW9uPFQgZXh0ZW5kcyBVbmtub3duU3RyaW5nS2V5T2JqZWN0PihvYmo6IFQpIHtcclxuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKS5yZWR1Y2UoXHJcbiAgICAoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzVHJhbnNsYXRpb25PYmplY3QodmFsdWUpKSB7XHJcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoZmxhdHRlblRyYW5zbGF0aW9uKHZhbHVlKSkuZm9yRWFjaChcclxuICAgICAgICAgIChbbmVzdGVkS2V5LCBuZXN0ZWRWYWx1ZV0pID0+IHtcclxuICAgICAgICAgICAgYWNjW3ByZXBlbmREZWxpbShrZXksIG5lc3RlZEtleSldID0gbmVzdGVkVmFsdWU7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBhY2M7XHJcbiAgICB9LFxyXG4gICAge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29tcGlsZVRyYW5zbGF0aW9uPFxyXG4gIFQgZXh0ZW5kcyBVbmtub3duU3RyaW5nS2V5T2JqZWN0LFxyXG4gIFROUyBleHRlbmRzIHN0cmluZyxcclxuICBUTG9jYWxlIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxyXG4+KFxyXG4gIHRyYW5zbGF0aW9uOiBULFxyXG4gIG5zOiBUTlMsXHJcbiAgbG9jYWxlPzogVExvY2FsZSxcclxuKTogQ29tcGlsZWRUcmFuc2xhdGlvbjxULCBUTlMsIFRMb2NhbGU+IHtcclxuICB0eXBlICRTaGFwZSA9IGluZmVyVHJhbnNsYXRpb25TaGFwZTxUPjtcclxuICB0eXBlICRNYXAgPSBpbmZlclRyYW5zbGF0aW9uUGFyYW1NYXA8VE5TLCBUPjtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGxvY2FsZSxcclxuICAgIGZsYXQ6IGZsYXR0ZW5UcmFuc2xhdGlvbih0cmFuc2xhdGlvbiksXHJcbiAgICBuYW1lc3BhY2U6IG5zLFxyXG4gICAgW0lOVEVSTkFMX1NZTUJPTF06IHtcclxuICAgICAgc2hhcGU6IHt9IGFzICRTaGFwZSxcclxuICAgICAgbWFwOiB7fSBhcyAkTWFwLFxyXG4gICAgfSxcclxuICB9O1xyXG59XHJcbiJdfQ==","import { compileTranslation, } from './compile';\nexport function createNamespace(ns, translation) {\n const compiled = compileTranslation(translation, ns);\n const namespace = {\n translation: compileTranslation(translation, ns),\n createTranslation: (locale, translation) => {\n return compileTranslation(translation, ns, locale);\n },\n createMergedNamespace: (otherNs, otherTranslation) => {\n return createNamespace(otherNs, otherTranslation);\n },\n };\n return namespace;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW5hbWVzcGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RyYW5zbGF0ZS9zcmMvbGliL2NyZWF0ZS1uYW1lc3BhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGtCQUFrQixHQUduQixNQUFNLFdBQVcsQ0FBQztBQTJCbkIsTUFBTSxVQUFVLGVBQWUsQ0FHN0IsRUFBTyxFQUFFLFdBQWM7SUFDdkIsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQVMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBSzdELE1BQU0sU0FBUyxHQUFpRDtRQUM5RCxXQUFXLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUNoRCxpQkFBaUIsRUFBRSxDQUNqQixNQUFlLEVBQ2YsV0FBbUIsRUFDbkIsRUFBRTtZQUNGLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QscUJBQXFCLEVBQUUsQ0FRckIsT0FBaUIsRUFDakIsZ0JBQXdCLEVBQ3hCLEVBQUU7WUFDRixPQUFPLGVBQWUsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBSTdCLENBQUM7UUFDdEIsQ0FBQztLQUNGLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21waWxlZFRyYW5zbGF0aW9uLFxyXG4gIGNvbXBpbGVUcmFuc2xhdGlvbixcclxuICBpbmZlckNvbXBpbGVkVHJhbnNsYXRpb25TaGFwZSxcclxuICBtZXJnZVRyYW5zbGF0aW9uTWFwcyxcclxufSBmcm9tICcuL2NvbXBpbGUnO1xyXG5pbXBvcnQgeyBVbmtub3duU3RyaW5nS2V5T2JqZWN0IH0gZnJvbSAnLi9zdHJpbmcta2V5LW9iamVjdC50eXBlJztcclxuXHJcbnR5cGUgVHJhbnNsYXRpb25OYW1lc3BhY2U8XHJcbiAgVE5TIGV4dGVuZHMgc3RyaW5nLFxyXG4gIFQgZXh0ZW5kcyBDb21waWxlZFRyYW5zbGF0aW9uPFVua25vd25TdHJpbmdLZXlPYmplY3QsIFROUz4sXHJcbiAgVFNoYXBlIGV4dGVuZHMgVW5rbm93blN0cmluZ0tleU9iamVjdCxcclxuPiA9IHtcclxuICB0cmFuc2xhdGlvbjogVDtcclxuICBjcmVhdGVUcmFuc2xhdGlvbjogPFRMb2NhbGUgZXh0ZW5kcyBzdHJpbmc+KFxyXG4gICAgbG9jYWxlOiBUTG9jYWxlLFxyXG4gICAgdHJhbnNsYXRpb246IFRTaGFwZSxcclxuICApID0+IENvbXBpbGVkVHJhbnNsYXRpb248VFNoYXBlLCBUTlMsIFRMb2NhbGU+O1xyXG4gIGNyZWF0ZU1lcmdlZE5hbWVzcGFjZTogPFxyXG4gICAgVE90aGVyTlMgZXh0ZW5kcyBzdHJpbmcsXHJcbiAgICBjb25zdCBUT3RoZXIgZXh0ZW5kcyBVbmtub3duU3RyaW5nS2V5T2JqZWN0LFxyXG4gICAgVE90aGVyQ29tcGlsZWQgZXh0ZW5kcyBDb21waWxlZFRyYW5zbGF0aW9uPFRPdGhlciwgVE90aGVyTlM+LFxyXG4gID4oXHJcbiAgICBuczogVE90aGVyTlMsXHJcbiAgICB0cmFuc2xhdGlvbjogVE90aGVyLFxyXG4gICkgPT4gVHJhbnNsYXRpb25OYW1lc3BhY2U8XHJcbiAgICBUT3RoZXJOUyxcclxuICAgIG1lcmdlVHJhbnNsYXRpb25NYXBzPFRPdGhlckNvbXBpbGVkLCBUPixcclxuICAgIGluZmVyQ29tcGlsZWRUcmFuc2xhdGlvblNoYXBlPFRPdGhlckNvbXBpbGVkPlxyXG4gID47XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTmFtZXNwYWNlPFxyXG4gIGNvbnN0IFQgZXh0ZW5kcyBVbmtub3duU3RyaW5nS2V5T2JqZWN0LFxyXG4gIFROUyBleHRlbmRzIHN0cmluZyxcclxuPihuczogVE5TLCB0cmFuc2xhdGlvbjogVCkge1xyXG4gIGNvbnN0IGNvbXBpbGVkID0gY29tcGlsZVRyYW5zbGF0aW9uPFQsIFROUz4odHJhbnNsYXRpb24sIG5zKTtcclxuXHJcbiAgdHlwZSBUQ29tcGlsZWQgPSB0eXBlb2YgY29tcGlsZWQ7XHJcbiAgdHlwZSBUU2hhcGUgPSBpbmZlckNvbXBpbGVkVHJhbnNsYXRpb25TaGFwZTx0eXBlb2YgY29tcGlsZWQ+O1xyXG5cclxuICBjb25zdCBuYW1lc3BhY2U6IFRyYW5zbGF0aW9uTmFtZXNwYWNlPFROUywgVENvbXBpbGVkLCBUU2hhcGU+ID0ge1xyXG4gICAgdHJhbnNsYXRpb246IGNvbXBpbGVUcmFuc2xhdGlvbih0cmFuc2xhdGlvbiwgbnMpLFxyXG4gICAgY3JlYXRlVHJhbnNsYXRpb246IDxUTG9jYWxlIGV4dGVuZHMgc3RyaW5nPihcclxuICAgICAgbG9jYWxlOiBUTG9jYWxlLFxyXG4gICAgICB0cmFuc2xhdGlvbjogVFNoYXBlLFxyXG4gICAgKSA9PiB7XHJcbiAgICAgIHJldHVybiBjb21waWxlVHJhbnNsYXRpb24odHJhbnNsYXRpb24sIG5zLCBsb2NhbGUpO1xyXG4gICAgfSxcclxuICAgIGNyZWF0ZU1lcmdlZE5hbWVzcGFjZTogPFxyXG4gICAgICBUT3RoZXIgZXh0ZW5kcyBVbmtub3duU3RyaW5nS2V5T2JqZWN0LFxyXG4gICAgICBUT3RoZXJOUyBleHRlbmRzIHN0cmluZyxcclxuICAgICAgVE90aGVyQ29tcGlsZWQgZXh0ZW5kcyBDb21waWxlZFRyYW5zbGF0aW9uPFxyXG4gICAgICAgIFRPdGhlcixcclxuICAgICAgICBUT3RoZXJOU1xyXG4gICAgICA+ID0gQ29tcGlsZWRUcmFuc2xhdGlvbjxUT3RoZXIsIFRPdGhlck5TPixcclxuICAgID4oXHJcbiAgICAgIG90aGVyTnM6IFRPdGhlck5TLFxyXG4gICAgICBvdGhlclRyYW5zbGF0aW9uOiBUT3RoZXIsXHJcbiAgICApID0+IHtcclxuICAgICAgcmV0dXJuIGNyZWF0ZU5hbWVzcGFjZShvdGhlck5zLCBvdGhlclRyYW5zbGF0aW9uKSBhcyBUcmFuc2xhdGlvbk5hbWVzcGFjZTxcclxuICAgICAgICBUT3RoZXJOUyxcclxuICAgICAgICBtZXJnZVRyYW5zbGF0aW9uTWFwczxUT3RoZXJDb21waWxlZCwgVENvbXBpbGVkPixcclxuICAgICAgICBpbmZlckNvbXBpbGVkVHJhbnNsYXRpb25TaGFwZTxUT3RoZXJDb21waWxlZD5cclxuICAgICAgPiBhcyB1bmtub3duIGFzIGFueTtcclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIG5hbWVzcGFjZTtcclxufVxyXG4iXX0=","import { computed, effect, inject, Injectable, InjectionToken, isDevMode, LOCALE_ID, resource, signal, untracked, } from '@angular/core';\nimport { createIntl, createIntlCache } from '@formatjs/intl';\nimport { prependDelim } from './delim';\nimport * as i0 from \"@angular/core\";\nconst CONFIG_TOKEN = new InjectionToken('mmstack-intl-config');\nexport function provideIntlConfig(config) {\n return {\n useValue: config,\n provide: CONFIG_TOKEN,\n };\n}\nexport function injectIntlConfig() {\n return inject(CONFIG_TOKEN, { optional: true }) ?? undefined;\n}\nexport function injectDefaultLocale() {\n return injectIntlConfig()?.defaultLocale ?? 'en-US';\n}\nexport class TranslationStore {\n cache = createIntlCache();\n config = injectIntlConfig();\n loadQueue = signal([], ...(ngDevMode ? [{ debugName: \"loadQueue\" }] : []));\n locale = signal(inject(LOCALE_ID), ...(ngDevMode ? [{ debugName: \"locale\" }] : []));\n defaultLocale = injectDefaultLocale();\n translations = signal({\n [this.defaultLocale]: {},\n }, ...(ngDevMode ? [{ debugName: \"translations\" }] : []));\n onDemandLoaders = new Map();\n nonMessageConfig = computed(() => ({\n ...this.config,\n locale: this.locale(),\n }), ...(ngDevMode ? [{ debugName: \"nonMessageConfig\" }] : []));\n messages = computed(() => this.translations()[this.locale()] ??\n this.translations()[this.defaultLocale] ??\n {}, ...(ngDevMode ? [{ debugName: \"messages\" }] : []));\n dynamicLocaleLoader = resource({\n params: computed(() => this.loadQueue().at(0) ?? null),\n loader: async ({ params: newLocale, abortSignal }) => {\n if (!newLocale)\n return;\n const currentTranslations = untracked(this.translations);\n const loadPromises = [];\n for (const [namespace, loaders] of this.onDemandLoaders.entries()) {\n const loader = loaders[newLocale];\n if (loader) {\n const hasNamespaceForLocale = currentTranslations[newLocale] &&\n Object.keys(currentTranslations[newLocale]).some((key) => key.startsWith(`${prependDelim(namespace, '').slice(0, -1)}`));\n if (!hasNamespaceForLocale) {\n loadPromises.push(loader()\n .then((translation) => {\n if (abortSignal.aborted)\n return null;\n return {\n namespace: translation.namespace,\n flat: translation.flat,\n };\n })\n .catch((err) => {\n if (isDevMode()) {\n console.error('[Translate] Failed to load', namespace, newLocale, err);\n }\n return null;\n }));\n }\n }\n }\n return Promise.all(loadPromises)\n .then((res) => res.filter((r) => r !== null))\n .then((res) => ({\n locales: res,\n locale: newLocale,\n }));\n },\n });\n intl = computed(() => createIntl({\n ...this.nonMessageConfig(),\n messages: this.messages(),\n }, this.cache), ...(ngDevMode ? [{ debugName: \"intl\" }] : []));\n constructor() {\n effect(() => {\n if (\n // should never be in error state, but best to check in case something throws\n this.dynamicLocaleLoader.error() ||\n this.dynamicLocaleLoader.isLoading())\n return;\n const dynamicLocales = this.dynamicLocaleLoader.value();\n if (!dynamicLocales)\n return;\n for (const locale of dynamicLocales.locales) {\n this.register(locale.namespace, {\n [dynamicLocales.locale]: locale.flat,\n });\n }\n this.loadQueue.update((q) => q.filter((l) => l !== dynamicLocales.locale));\n this.locale.set(dynamicLocales.locale);\n });\n }\n formatMessage(key, values) {\n const message = this.translations()[this.locale()]?.[key] ?? '';\n if (!message)\n return '';\n return this.intl().formatMessage({ id: key, defaultMessage: message }, values);\n }\n register(namespace, flat) {\n this.translations.update((cur) => {\n return Object.entries(flat).reduce((acc, [locale, translation]) => {\n const localeTranslation = acc[locale] ?? {};\n const withNS = Object.entries(translation ?? {}).reduce((acc, [key, value]) => {\n acc[prependDelim(namespace, key)] = value;\n return acc;\n }, {});\n acc[locale] = {\n ...localeTranslation,\n ...withNS,\n };\n return acc;\n }, { ...cur });\n });\n }\n registerOnDemandLoaders(namespace, loaders) {\n this.onDemandLoaders.set(namespace, loaders);\n }\n hasLocaleLoaders(locale) {\n return Array.from(this.onDemandLoaders.values()).some((loaders) => loaders[locale]);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: TranslationStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: TranslationStore, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: TranslationStore, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\nexport function injectIntl() {\n return inject(TranslationStore).intl;\n}\n/**\n * Inject a dynamic locale signal that supports runtime language switching.\n *\n * @returns A writable signal with the current locale and loading state.\n * Only allows switching to locales that have registered loaders.\n *\n * @example\n * ```typescript\n * const locale = injectDynamicLocale();\n *\n * // Switch language (triggers automatic translation loading)\n * locale.set('sl-SI');\n *\n * // Check loading state\n * if (locale.isLoading()) {\n * // Show spinner\n * }\n * ```\n */\nexport function injectDynamicLocale() {\n const store = inject(TranslationStore);\n const source = computed(() => store.locale());\n const set = (value) => {\n if (value === untracked(source) ||\n !store.hasLocaleLoaders(value) ||\n untracked(store.loadQueue).includes(value))\n return;\n store.loadQueue.update((q) => [...q, value]);\n };\n source.set = set;\n source.update = (updater) => {\n const next = updater(untracked(source));\n source.set(next);\n };\n source.asReadonly = () => source;\n source.isLoading = store.dynamicLocaleLoader.isLoading;\n return source;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90cmFuc2xhdGUvc3JjL2xpYi90cmFuc2xhdGlvbi1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsRUFDZCxTQUFTLEVBQ1QsU0FBUyxFQUVULFFBQVEsRUFFUixNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFHdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBRXJDLHFCQUFxQixDQUFDLENBQUM7QUFFekIsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixNQUErQztJQUUvQyxPQUFPO1FBQ0wsUUFBUSxFQUFFLE1BQU07UUFDaEIsT0FBTyxFQUFFLFlBQVk7S0FDdEIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLGdCQUFnQixFQUFFLEVBQUUsYUFBYSxJQUFJLE9BQU8sQ0FBQztBQUN0RCxDQUFDO0FBS0QsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLEtBQUssR0FBRyxlQUFlLEVBQUUsQ0FBQztJQUMxQixNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUNwQyxTQUFTLEdBQUcsTUFBTSxDQUFXLEVBQUUscURBQUMsQ0FBQztJQUNqQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxT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LENBQUMsS0FBSyxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUUxQyxPQUFPO1FBQ1QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQUM7SUFDRixNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsT0FBa0MsRUFBRSxFQUFFO1FBQ3JELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN4QyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBRWpDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztJQUV2RCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBjb21wdXRlZCxcclxuICBlZmZlY3QsXHJcbiAgaW5qZWN0LFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5qZWN0aW9uVG9rZW4sXHJcbiAgaXNEZXZNb2RlLFxyXG4gIExPQ0FMRV9JRCxcclxuICBQcm92aWRlcixcclxuICByZXNvdXJjZSxcclxuICBTaWduYWwsXHJcbiAgc2lnbmFsLFxyXG4gIHVudHJhY2tlZCxcclxuICBXcml0YWJsZVNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY3JlYXRlSW50bCwgY3JlYXRlSW50bENhY2hlLCBJbnRsQ29uZmlnIH0gZnJvbSAnQGZvcm1hdGpzL2ludGwnO1xyXG5pbXBvcnQgeyBDb21waWxlZFRyYW5zbGF0aW9uIH0gZnJvbSAnLi9jb21waWxlJztcclxuaW1wb3J0IHsgcHJlcGVuZERlbGltIH0gZnJvbSAnLi9kZWxpbSc7XHJcbmltcG9ydCB7IFVua25vd25TdHJpbmdLZXlPYmplY3QgfSBmcm9tICcuL3N0cmluZy1rZXktb2JqZWN0LnR5cGUnO1xyXG5cclxuY29uc3QgQ09ORklHX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFxyXG4gIE9taXQ8SW50bENvbmZpZywgJ2xvY2FsZScgfCAnbWVzc2FnZXMnPlxyXG4+KCdtbXN0YWNrLWludGwtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUludGxDb25maWcoXHJcbiAgY29uZmlnOiBPbWl0PEludGxDb25maWcsICdsb2NhbGUnIHwgJ21lc3NhZ2VzJz4sXHJcbik6IFByb3ZpZGVyIHtcclxuICByZXR1cm4ge1xyXG4gICAgdXNlVmFsdWU6IGNvbmZpZyxcclxuICAgIHByb3ZpZGU6IENPTkZJR19UT0tFTixcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0SW50bENvbmZpZygpIHtcclxuICByZXR1cm4gaW5qZWN0KENPTkZJR19UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWZhdWx0TG9jYWxlKCkge1xyXG4gIHJldHVybiBpbmplY3RJbnRsQ29uZmlnKCk/LmRlZmF1bHRMb2NhbGUgPz8gJ2VuLVVTJztcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uU3RvcmUge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGUgPSBjcmVhdGVJbnRsQ2FjaGUoKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdEludGxDb25maWcoKTtcclxuICByZWFkb25seSBsb2FkUXVldWUgPSBzaWduYWw8c3RyaW5nW10+KFtdKTtcclxuICByZWFkb25seSBsb2NhbGUgPSBzaWduYWwoaW5qZWN0KExPQ0FMRV9JRCkpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdExvY2FsZSA9IGluamVjdERlZmF1bHRMb2NhbGUoKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9ucyA9IHNpZ25hbDxcclxuICAgIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+XHJcbiAgPih7XHJcbiAgICBbdGhpcy5kZWZhdWx0TG9jYWxlXToge30sXHJcbiAgfSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgb25EZW1hbmRMb2FkZXJzID0gbmV3IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIFJlY29yZDxcclxuICAgICAgc3RyaW5nLFxyXG4gICAgICAoKSA9PiBQcm9taXNlPENvbXBpbGVkVHJhbnNsYXRpb248VW5rbm93blN0cmluZ0tleU9iamVjdCwgc3RyaW5nPj5cclxuICAgID5cclxuICA+KCk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgbm9uTWVzc2FnZUNvbmZpZyA9IGNvbXB1dGVkKCgpID0+ICh7XHJcbiAgICAuLi50aGlzLmNvbmZpZyxcclxuICAgIGxvY2FsZTogdGhpcy5sb2NhbGUoKSxcclxuICB9KSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZXMgPSBjb21wdXRlZChcclxuICAgICgpID0+XHJcbiAgICAgIHRoaXMudHJhbnNsYXRpb25zKClbdGhpcy5sb2NhbGUoKV0gPz9cclxuICAgICAgdGhpcy50cmFuc2xhdGlvbnMoKVt0aGlzLmRlZmF1bHRMb2NhbGVdID8/XHJcbiAgICAgIHt9LFxyXG4gICk7XHJcblxyXG4gIHJlYWRvbmx5IGR5bmFtaWNMb2NhbGVMb2FkZXIgPSByZXNvdXJjZSh7XHJcbiAgICBwYXJhbXM6IGNvbXB1dGVkKCgpID0+IHRoaXMubG9hZFF1ZXVlKCkuYXQoMCkgPz8gbnVsbCksXHJcbiAgICBsb2FkZXI6IGFzeW5jICh7IHBhcmFtczogbmV3TG9jYWxlLCBhYm9ydFNpZ25hbCB9KSA9PiB7XHJcbiAgICAgIGlmICghbmV3TG9jYWxlKSByZXR1cm47XHJcblxyXG4gICAgICBjb25zdCBjdXJyZW50VHJhbnNsYXRpb25zID0gdW50cmFja2VkKHRoaXMudHJhbnNsYXRpb25zKTtcclxuXHJcbiAgICAgIGNvbnN0IGxvYWRQcm9taXNlczogUHJvbWlzZTx7XHJcbiAgICAgICAgbmFtZXNwYWNlOiBzdHJpbmc7XHJcbiAgICAgICAgZmxhdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuICAgICAgfSB8IG51bGw+W10gPSBbXTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgW25hbWVzcGFjZSwgbG9hZGVyc10gb2YgdGhpcy5vbkRlbWFuZExvYWRlcnMuZW50cmllcygpKSB7XHJcbiAgICAgICAgY29uc3QgbG9hZGVyID0gbG9hZGVyc1tuZXdMb2NhbGVdO1xyXG4gICAgICAgIGlmIChsb2FkZXIpIHtcclxuICAgICAgICAgIGNvbnN0IGhhc05hbWVzcGFjZUZvckxvY2FsZSA9XHJcbiAgICAgICAgICAgIGN1cnJlbnRUcmFuc2xhdGlvbnNbbmV3TG9jYWxlXSAmJlxyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhjdXJyZW50VHJhbnNsYXRpb25zW25ld0xvY2FsZV0pLnNvbWUoKGtleSkgPT5cclxuICAgICAgICAgICAgICBrZXkuc3RhcnRzV2l0aChgJHtwcmVwZW5kRGVsaW0obmFtZXNwYWNlLCAnJykuc2xpY2UoMCwgLTEpfWApLFxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgIGlmICghaGFzTmFtZXNwYWNlRm9yTG9jYWxlKSB7XHJcbiAgICAgICAgICAgIGxvYWRQcm9taXNlcy5wdXNoKFxyXG4gICAgICAgICAgICAgIGxvYWRlcigpXHJcbiAgICAgICAgICAgICAgICAudGhlbigodHJhbnNsYXRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZTogdHJhbnNsYXRpb24ubmFtZXNwYWNlLFxyXG4gICAgICAgICAgICAgICAgICAgIGZsYXQ6IHRyYW5zbGF0aW9uLmZsYXQsXHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICAgICAgICAgICAgICAgICdbVHJhbnNsYXRlXSBGYWlsZWQgdG8gbG9hZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICBuZXdMb2NhbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICBlcnIsXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChsb2FkUHJvbWlzZXMpXHJcbiAgICAgICAgLnRoZW4oKHJlcykgPT4gcmVzLmZpbHRlcigocikgPT4gciAhPT0gbnVsbCkpXHJcbiAgICAgICAgLnRoZW4oKHJlcykgPT4gKHtcclxuICAgICAgICAgIGxvY2FsZXM6IHJlcyxcclxuICAgICAgICAgIGxvY2FsZTogbmV3TG9jYWxlLFxyXG4gICAgICAgIH0pKTtcclxuICAgIH0sXHJcbiAgfSk7XHJcblxyXG4gIHJlYWRvbmx5IGludGwgPSBjb21wdXRlZCgoKSA9PlxyXG4gICAgY3JlYXRlSW50bChcclxuICAgICAge1xyXG4gICAgICAgIC4uLnRoaXMubm9uTWVzc2FnZUNvbmZpZygpLFxyXG4gICAgICAgIG1lc3NhZ2VzOiB0aGlzLm1lc3NhZ2VzKCksXHJcbiAgICAgIH0sXHJcbiAgICAgIHRoaXMuY2FjaGUsXHJcbiAgICApLFxyXG4gICk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIC8vIHNob3VsZCBuZXZlciBiZSBpbiBlcnJvciBzdGF0ZSwgYnV0IGJlc3QgdG8gY2hlY2sgaW4gY2FzZSBzb21ldGhpbmcgdGhyb3dzXHJcbiAgICAgICAgdGhpcy5keW5hbWljTG9jYWxlTG9hZGVyLmVycm9yKCkgfHxcclxuICAgICAgICB0aGlzLmR5bmFtaWNMb2NhbGVMb2FkZXIuaXNMb2FkaW5nKClcclxuICAgICAgKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgY29uc3QgZHluYW1pY0xvY2FsZXMgPSB0aGlzLmR5bmFtaWNMb2NhbGVMb2FkZXIudmFsdWUoKTtcclxuXHJcbiAgICAgIGlmICghZHluYW1pY0xvY2FsZXMpIHJldHVybjtcclxuICAgICAgZm9yIChjb25zdCBsb2NhbGUgb2YgZHluYW1pY0xvY2FsZXMubG9jYWxlcykge1xyXG4gICAgICAgIHRoaXMucmVnaXN0ZXIobG9jYWxlLm5hbWVzcGFjZSwge1xyXG4gICAgICAgICAgW2R5bmFtaWNMb2NhbGVzLmxvY2FsZV06IGxvY2FsZS5mbGF0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubG9hZFF1ZXVlLnVwZGF0ZSgocSkgPT5cclxuICAgICAgICBxLmZpbHRlcigobCkgPT4gbCAhPT0gZHluYW1pY0xvY2FsZXMubG9jYWxlKSxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5sb2NhbGUuc2V0KGR5bmFtaWNMb2NhbGVzLmxvY2FsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvcm1hdE1lc3NhZ2Uoa2V5OiBzdHJpbmcsIHZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4pIHtcclxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0aW9ucygpW3RoaXMubG9jYWxlKCldPy5ba2V5XSA/PyAnJztcclxuXHJcbiAgICBpZiAoIW1lc3NhZ2UpIHJldHVybiAnJztcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnRsKCkuZm9ybWF0TWVzc2FnZShcclxuICAgICAgeyBpZDoga2V5LCBkZWZhdWx0TWVzc2FnZTogbWVzc2FnZSB9LFxyXG4gICAgICB2YWx1ZXMsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXIoXHJcbiAgICBuYW1lc3BhY2U6IHN0cmluZyxcclxuICAgIGZsYXQ6IFBhcnRpYWw8UmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4+LFxyXG4gICkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbnMudXBkYXRlKChjdXIpID0+IHtcclxuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGZsYXQpLnJlZHVjZShcclxuICAgICAgICAoYWNjLCBbbG9jYWxlLCB0cmFuc2xhdGlvbl0pID0+IHtcclxuICAgICAgICAgIGNvbnN0IGxvY2FsZVRyYW5zbGF0aW9uID0gYWNjW2xvY2FsZV0gPz8ge307XHJcblxyXG4gICAgICAgICAgY29uc3Qgd2l0aE5TID0gT2JqZWN0LmVudHJpZXModHJhbnNsYXRpb24gPz8ge30pLnJlZHVjZShcclxuICAgICAgICAgICAgKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgYWNjW3ByZXBlbmREZWxpbShuYW1lc3BhY2UsIGtleSldID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgYWNjW2xvY2FsZV0gPSB7XHJcbiAgICAgICAgICAgIC4uLmxvY2FsZVRyYW5zbGF0aW9uLFxyXG4gICAgICAgICAgICAuLi53aXRoTlMsXHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IC4uLmN1ciB9LFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uRGVtYW5kTG9hZGVycyhcclxuICAgIG5hbWVzcGFjZTogc3RyaW5nLFxyXG4gICAgbG9hZGVyczogUmVjb3JkPHN0cmluZywgKCkgPT4gUHJvbWlzZTxhbnk+PixcclxuICApIHtcclxuICAgIHRoaXMub25EZW1hbmRMb2FkZXJzLnNldChuYW1lc3BhY2UsIGxvYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgaGFzTG9jYWxlTG9hZGVycyhsb2NhbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5vbkRlbWFuZExvYWRlcnMudmFsdWVzKCkpLnNvbWUoXHJcbiAgICAgIChsb2FkZXJzKSA9PiBsb2FkZXJzW2xvY2FsZV0sXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEludGwoKSB7XHJcbiAgcmV0dXJuIGluamVjdChUcmFuc2xhdGlvblN0b3JlKS5pbnRsO1xyXG59XHJcblxyXG4vKipcclxuICogSW5qZWN0IGEgZHluYW1pYyBsb2NhbGUgc2lnbmFsIHRoYXQgc3VwcG9ydHMgcnVudGltZSBsYW5ndWFnZSBzd2l0Y2hpbmcuXHJcbiAqXHJcbiAqIEByZXR1cm5zIEEgd3JpdGFibGUgc2lnbmFsIHdpdGggdGhlIGN1cnJlbnQgbG9jYWxlIGFuZCBsb2FkaW5nIHN0YXRlLlxyXG4gKiBPbmx5IGFsbG93cyBzd2l0Y2hpbmcgdG8gbG9jYWxlcyB0aGF0IGhhdmUgcmVnaXN0ZXJlZCBsb2FkZXJzLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGxvY2FsZSA9IGluamVjdER5bmFtaWNMb2NhbGUoKTtcclxuICpcclxuICogLy8gU3dpdGNoIGxhbmd1YWdlICh0cmlnZ2VycyBhdXRvbWF0aWMgdHJhbnNsYXRpb24gbG9hZGluZylcclxuICogbG9jYWxlLnNldCgnc2wtU0knKTtcclxuICpcclxuICogLy8gQ2hlY2sgbG9hZGluZyBzdGF0ZVxyXG4gKiBpZiAobG9jYWxlLmlzTG9hZGluZygpKSB7XHJcbiAqICAgLy8gU2hvdyBzcGlubmVyXHJcbiAqIH1cclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0RHluYW1pY0xvY2FsZSgpOiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+ICYge1xyXG4gIGlzTG9hZGluZzogU2lnbmFsPGJvb2xlYW4+O1xyXG59IHtcclxuICBjb25zdCBzdG9yZSA9IGluamVjdChUcmFuc2xhdGlvblN0b3JlKTtcclxuXHJcbiAgY29uc3Qgc291cmNlID0gY29tcHV0ZWQoKCkgPT4gc3RvcmUubG9jYWxlKCkpIGFzIFdyaXRhYmxlU2lnbmFsPHN0cmluZz4gJiB7XHJcbiAgICBpc0xvYWRpbmc6IFNpZ25hbDxib29sZWFuPjtcclxuICB9O1xyXG5cclxuICBjb25zdCBzZXQgPSAodmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB2YWx1ZSA9PT0gdW50cmFja2VkKHNvdXJjZSkgfHxcclxuICAgICAgIXN0b3JlLmhhc0xvY2FsZUxvYWRlcnModmFsdWUpIHx8XHJcbiAgICAgIHVudHJhY2tlZChzdG9yZS5sb2FkUXVldWUpLmluY2x1ZGVzKHZhbHVlKVxyXG4gICAgKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBzdG9yZS5sb2FkUXVldWUudXBkYXRlKChxKSA9PiBbLi4ucSwgdmFsdWVdKTtcclxuICB9O1xyXG4gIHNvdXJjZS5zZXQgPSBzZXQ7XHJcbiAgc291cmNlLnVwZGF0ZSA9ICh1cGRhdGVyOiAodmFsdWU6IHN0cmluZykgPT4gc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBuZXh0ID0gdXBkYXRlcih1bnRyYWNrZWQoc291cmNlKSk7XHJcbiAgICBzb3VyY2Uuc2V0KG5leHQpO1xyXG4gIH07XHJcbiAgc291cmNlLmFzUmVhZG9ubHkgPSAoKSA9PiBzb3VyY2U7XHJcblxyXG4gIHNvdXJjZS5pc0xvYWRpbmcgPSBzdG9yZS5keW5hbWljTG9jYWxlTG9hZGVyLmlzTG9hZGluZztcclxuXHJcbiAgcmV0dXJuIHNvdXJjZTtcclxufVxyXG4iXX0=","import { computed, inject, isDevMode, isSignal, untracked, } from '@angular/core';\nimport { replaceWithDelim } from './delim';\nimport { injectDefaultLocale, TranslationStore } from './translation-store';\nfunction createEqualsRecord(keys = []) {\n let keyMatcher;\n if (keys.length === 0) {\n keyMatcher = () => true;\n }\n else if (keys.length === 1) {\n const key = keys[0];\n keyMatcher = (a, b) => a[key] === b[key];\n }\n else {\n keyMatcher = (a, b) => {\n return keys.every((k) => a[k] === b[k]);\n };\n }\n return (a, b) => {\n if (!a && !b)\n return true;\n if (!a || !b)\n return false;\n return keyMatcher(a, b);\n };\n}\nfunction addSignalFn(fn, store) {\n const withSig = fn;\n const asSignal = (key, ...args) => {\n const variables = args[0];\n const stringKey = key;\n const flatPath = replaceWithDelim(stringKey);\n const varsFn = variables ?? (() => undefined);\n const varsSignal = isSignal(varsFn)\n ? varsFn\n : computed(varsFn, {\n equal: createEqualsRecord(Object.keys(varsFn() ?? {})),\n });\n return computed(() => store.formatMessage(flatPath, varsSignal()));\n };\n withSig.asSignal = asSignal;\n return withSig;\n}\nexport function createT(store) {\n return (key, ...args) => {\n const variables = args[0];\n const stringKey = key;\n return store.formatMessage(replaceWithDelim(stringKey), variables);\n };\n}\nexport function registerNamespace(defaultTranslation, other) {\n const injectT = () => {\n const store = inject(TranslationStore);\n return addSignalFn(createT(store), store);\n };\n let defaultTranslationLoaded = false;\n const resolver = async () => {\n const store = inject(TranslationStore);\n const locale = untracked(store.locale);\n const defaultLocale = injectDefaultLocale();\n const tPromise = other[locale];\n const promise = tPromise ?? defaultTranslation;\n if (!promise && isDevMode()) {\n return console.warn(`No translation found for locale: ${locale}`);\n }\n if (promise === defaultTranslation && defaultTranslationLoaded)\n return;\n try {\n const translation = await promise();\n if (promise !== defaultTranslation &&\n translation.locale !== locale &&\n isDevMode()) {\n return console.warn(`Expected locale to be ${locale} but got ${translation.locale}`);\n }\n store.registerOnDemandLoaders(translation.namespace, {\n ...other,\n [defaultLocale]: defaultTranslation,\n });\n store.register(translation.namespace, {\n [locale]: translation.flat,\n });\n if (promise === defaultTranslation) {\n defaultTranslationLoaded = true;\n }\n }\n catch {\n if (isDevMode()) {\n console.warn(`Failed to load translation for locale: ${locale}`);\n }\n }\n };\n return {\n injectNamespaceT: injectT,\n resolveNamespaceTranslation: resolver,\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItbmFtZXNwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdHJhbnNsYXRlL3NyYy9saWIvcmVnaXN0ZXItbmFtZXNwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxRQUFRLEVBRVIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUs1RSxTQUFTLGtCQUFrQixDQUE0QixPQUFvQixFQUFFO0lBQzNFLElBQUksVUFBbUMsQ0FBQztJQUV4QyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEIsVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO1NBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixVQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7U0FBTSxDQUFDO1FBQ04sVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFP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QUksd0JBQXdCO1lBQUUsT0FBTztRQUV2RSxJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLE9BQU8sRUFBRSxDQUFDO1lBRXBDLElBQ0UsT0FBTyxLQUFLLGtCQUFrQjtnQkFDOUIsV0FBVyxDQUFDLE1BQU0sS0FBSyxNQUFNO2dCQUM3QixTQUFTLEVBQUUsRUFDWCxDQUFDO2dCQUNELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIseUJBQXlCLE1BQU0sWUFBWSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQ2hFLENBQUM7WUFDSixDQUFDO1lBRUQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUU7Z0JBQ25ELEdBQUcsS0FBSztnQkFDUixDQUFDLGFBQWEsQ0FBQyxFQUFFLGtCQUFrQjthQUNwQyxDQUFDLENBQUM7WUFFSCxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3BDLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxDQUFDLElBQUk7YUFDM0IsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxPQUFPLEtBQUssa0JBQWtCLEVBQUUsQ0FBQztnQkFDbkMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLGdCQUFnQixFQUFFLE9BQU87UUFDekIsMkJBQTJCLEVBQUUsUUFBUTtLQUN0QyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgY29tcHV0ZWQsXHJcbiAgaW5qZWN0LFxyXG4gIGlzRGV2TW9kZSxcclxuICBpc1NpZ25hbCxcclxuICBTaWduYWwsXHJcbiAgdW50cmFja2VkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBpbGVkVHJhbnNsYXRpb24sXHJcbiAgaW5mZXJDb21waWxlZFRyYW5zbGF0aW9uTWFwLFxyXG4gIGluZmVyQ29tcGlsZWRUcmFuc2xhdGlvbk5hbWVzcGFjZSxcclxufSBmcm9tICcuL2NvbXBpbGUnO1xyXG5pbXBvcnQgeyByZXBsYWNlV2l0aERlbGltIH0gZnJvbSAnLi9kZWxpbSc7XHJcbmltcG9ydCB7IFVua25vd25TdHJpbmdLZXlPYmplY3QgfSBmcm9tICcuL3N0cmluZy1rZXktb2JqZWN0LnR5cGUnO1xyXG5pbXBvcnQgeyBpbmplY3REZWZhdWx0TG9jYWxlLCBUcmFuc2xhdGlvblN0b3JlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi1zdG9yZSc7XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG50eXBlIEFueVN0cmluZ1JlY29yZCA9IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVFcXVhbHNSZWNvcmQ8VCBleHRlbmRzIEFueVN0cmluZ1JlY29yZD4oa2V5czogKGtleW9mIFQpW10gPSBbXSkge1xyXG4gIGxldCBrZXlNYXRjaGVyOiAoYTogVCwgYjogVCkgPT4gYm9vbGVhbjtcclxuXHJcbiAgaWYgKGtleXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICBrZXlNYXRjaGVyID0gKCkgPT4gdHJ1ZTtcclxuICB9IGVsc2UgaWYgKGtleXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICBjb25zdCBrZXkgPSBrZXlzWzBdO1xyXG4gICAga2V5TWF0Y2hlciA9IChhLCBiKSA9PiBhW2tleV0gPT09IGJba2V5XTtcclxuICB9IGVsc2Uge1xyXG4gICAga2V5TWF0Y2hlciA9IChhLCBiKSA9PiB7XHJcbiAgICAgIHJldHVybiBrZXlzLmV2ZXJ5KChrKSA9PiBhW2tdID09PSBiW2tdKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICByZXR1cm4gKGE/OiBULCBiPzogVCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgaWYgKCFhICYmICFiKSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmICghYSB8fCAhYikgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGtleU1hdGNoZXIoYSwgYik7XHJcbiAgfTtcclxufVxyXG5cclxudHlwZSBURnVuY3Rpb248VE1hcCBleHRlbmRzIEFueVN0cmluZ1JlY29yZD4gPSA8XHJcbiAgVEtleSBleHRlbmRzIGtleW9mIFRNYXAgJiBzdHJpbmcsXHJcbj4oXHJcbiAga2V5OiBUS2V5LFxyXG4gIC4uLmFyZ3M6IFRNYXBbVEtleV0gZXh0ZW5kcyB2b2lkID8gW10gOiBbVE1hcFtUS2V5XV1cclxuKSA9PiBzdHJpbmc7XHJcblxyXG50eXBlIFNpZ25hbFRGdW5jdGlvbjxUTWFwIGV4dGVuZHMgQW55U3RyaW5nUmVjb3JkPiA9IDxcclxuICBUS2V5IGV4dGVuZHMga2V5b2YgVE1hcCAmIHN0cmluZyxcclxuPihcclxuICBrZXk6IFRLZXksXHJcbiAgLi4uYXJnczogVE1hcFtUS2V5XSBleHRlbmRzIHZvaWQgPyBbXSA6IFsoKSA9PiBUTWFwW1RLZXldXVxyXG4pID0+IFNpZ25hbDxzdHJpbmc+O1xyXG5cclxudHlwZSBURnVuY3Rpb25XaXRoU2lnbmFsQ29uc3RydWN0b3I8XHJcbiAgVE1hcCBleHRlbmRzIEFueVN0cmluZ1JlY29yZCxcclxuICBURk4gZXh0ZW5kcyBURnVuY3Rpb248VE1hcD4sXHJcbj4gPSBURk4gJiB7XHJcbiAgYXNTaWduYWw6IFNpZ25hbFRGdW5jdGlvbjxUTWFwPjtcclxufTtcclxuXHJcbmZ1bmN0aW9uIGFkZFNpZ25hbEZuPFRNYXAgZXh0ZW5kcyBBbnlTdHJpbmdSZWNvcmQsIFRGbiBleHRlbmRzIFRGdW5jdGlvbjxUTWFwPj4oXHJcbiAgZm46IFRGbixcclxuICBzdG9yZTogVHJhbnNsYXRpb25TdG9yZSxcclxuKTogVEZ1bmN0aW9uV2l0aFNpZ25hbENvbnN0cnVjdG9yPFRNYXAsIFRGbj4ge1xyXG4gIGNvbnN0IHdpdGhTaWcgPSBmbiBhcyBURnVuY3Rpb25XaXRoU2lnbmFsQ29uc3RydWN0b3I8VE1hcCwgVEZuPjtcclxuXHJcbiAgY29uc3QgYXNTaWduYWwgPSA8VEtleSBleHRlbmRzIGtleW9mIFRNYXAgJiBzdHJpbmc+KFxyXG4gICAga2V5OiBUS2V5LFxyXG4gICAgLi4uYXJnczogVE1hcFtUS2V5XSBleHRlbmRzIHZvaWQgPyBbXSA6IFsoKSA9PiBUTWFwW1RLZXldXVxyXG4gICk6IFNpZ25hbDxzdHJpbmc+ID0+IHtcclxuICAgIGNvbnN0IHZhcmlhYmxlcyA9IGFyZ3NbMF0gYXMgKCkgPT4gQW55U3RyaW5nUmVjb3JkIHwgdW5kZWZpbmVkO1xyXG4gICAgY29uc3Qgc3RyaW5nS2V5ID0ga2V5IGFzIHN0cmluZztcclxuXHJcbiAgICBjb25zdCBmbGF0UGF0aCA9IHJlcGxhY2VXaXRoRGVsaW0oc3RyaW5nS2V5KTtcclxuXHJcbiAgICBjb25zdCB2YXJzRm4gPSB2YXJpYWJsZXMgPz8gKCgpID0+IHVuZGVmaW5lZCk7XHJcbiAgICBjb25zdCB2YXJzU2lnbmFsID0gaXNTaWduYWwodmFyc0ZuKVxyXG4gICAgICA/IHZhcnNGblxyXG4gICAgICA6IGNvbXB1dGVkKHZhcnNGbiwge1xyXG4gICAgICAgICAgZXF1YWw6IGNyZWF0ZUVxdWFsc1JlY29yZChPYmplY3Qua2V5cyh2YXJzRm4oKSA/PyB7fSkpLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjb21wdXRlZCgoKSA9PiBzdG9yZS5mb3JtYXRNZXNzYWdlKGZsYXRQYXRoLCB2YXJzU2lnbmFsKCkpKTtcclxuICB9O1xyXG5cclxuICB3aXRoU2lnLmFzU2lnbmFsID0gYXNTaWduYWw7XHJcblxyXG4gIHJldHVybiB3aXRoU2lnO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVDxUTWFwIGV4dGVuZHMgQW55U3RyaW5nUmVjb3JkPihcclxuICBzdG9yZTogVHJhbnNsYXRpb25TdG9yZSxcclxuKTogVEZ1bmN0aW9uPFRNYXA+IHtcclxuICByZXR1cm4gPFRLZXkgZXh0ZW5kcyBrZXlvZiBUTWFwICYgc3RyaW5nPihcclxuICAgIGtleTogVEtleSxcclxuICAgIC4uLmFyZ3M6IFRNYXBbVEtleV0gZXh0ZW5kcyB2b2lkID8gW10gOiBbVE1hcFtUS2V5XV1cclxuICApOiBzdHJpbmcgPT4ge1xyXG4gICAgY29uc3QgdmFyaWFibGVzID0gYXJnc1swXSBhcyBBbnlTdHJpbmdSZWNvcmQgfCB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBzdHJpbmdLZXkgPSBrZXkgYXMgc3RyaW5nO1xyXG5cclxuICAgIHJldHVybiBzdG9yZS5mb3JtYXRNZXNzYWdlKHJlcGxhY2VXaXRoRGVsaW0oc3RyaW5nS2V5KSwgdmFyaWFibGVzKTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJOYW1lc3BhY2U8XHJcbiAgVERlZmF1bHQgZXh0ZW5kcyBDb21waWxlZFRyYW5zbGF0aW9uPFVua25vd25TdHJpbmdLZXlPYmplY3QsIHN0cmluZz4sXHJcbj4oXHJcbiAgZGVmYXVsdFRyYW5zbGF0aW9uOiAoKSA9PiBQcm9taXNlPFREZWZhdWx0PixcclxuICBvdGhlcjogUmVjb3JkPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgKCkgPT4gUHJvbWlzZTxcclxuICAgICAgQ29tcGlsZWRUcmFuc2xhdGlvbjxcclxuICAgICAgICBVbmtub3duU3RyaW5nS2V5T2JqZWN0LFxyXG4gICAgICAgIGluZmVyQ29tcGlsZWRUcmFuc2xhdGlvbk5hbWVzcGFjZTxURGVmYXVsdD4sXHJcbiAgICAgICAgc3RyaW5nXHJcbiAgICAgID5cclxuICAgID5cclxuICA+LFxyXG4pIHtcclxuICB0eXBlICRNYXAgPSBpbmZlckNvbXBpbGVkVHJhbnNsYXRpb25NYXA8VERlZmF1bHQ+O1xyXG4gIHR5cGUgJEJhc2VURk4gPSBURnVuY3Rpb248JE1hcD47XHJcbiAgdHlwZSAkVEZOID0gVEZ1bmN0aW9uV2l0aFNpZ25hbENvbnN0cnVjdG9yPCRNYXAsICRCYXNlVEZOPjtcclxuXHJcbiAgY29uc3QgaW5qZWN0VCA9ICgpOiAkVEZOID0+IHtcclxuICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KFRyYW5zbGF0aW9uU3RvcmUpO1xyXG5cclxuICAgIHJldHVybiBhZGRTaWduYWxGbihjcmVhdGVUKHN0b3JlKSwgc3RvcmUpO1xyXG4gIH07XHJcblxyXG4gIGxldCBkZWZhdWx0VHJhbnNsYXRpb25Mb2FkZWQgPSBmYWxzZTtcclxuICBjb25zdCByZXNvbHZlciA9IGFzeW5jICgpID0+IHtcclxuICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KFRyYW5zbGF0aW9uU3RvcmUpO1xyXG4gICAgY29uc3QgbG9jYWxlID0gdW50cmFja2VkKHN0b3JlLmxvY2FsZSk7XHJcbiAgICBjb25zdCBkZWZhdWx0TG9jYWxlID0gaW5qZWN0RGVmYXVsdExvY2FsZSgpO1xyXG4gICAgY29uc3QgdFByb21pc2UgPSBvdGhlcltsb2NhbGVdIGFzICh0eXBlb2Ygb3RoZXIpW3N0cmluZ10gfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3QgcHJvbWlzZSA9IHRQcm9taXNlID8/IGRlZmF1bHRUcmFuc2xhdGlvbjtcclxuICAgIGlmICghcHJvbWlzZSAmJiBpc0Rldk1vZGUoKSkge1xyXG4gICAgICByZXR1cm4gY29uc29sZS53YXJuKGBObyB0cmFuc2xhdGlvbiBmb3VuZCBmb3IgbG9jYWxlOiAke2xvY2FsZX1gKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvbWlzZSA9PT0gZGVmYXVsdFRyYW5zbGF0aW9uICYmIGRlZmF1bHRUcmFuc2xhdGlvbkxvYWRlZCkgcmV0dXJuO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gYXdhaXQgcHJvbWlzZSgpO1xyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHByb21pc2UgIT09IGRlZmF1bHRUcmFuc2xhdGlvbiAmJlxyXG4gICAgICAgIHRyYW5zbGF0aW9uLmxvY2FsZSAhPT0gbG9jYWxlICYmXHJcbiAgICAgICAgaXNEZXZNb2RlKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybihcclxuICAgICAgICAgIGBFeHBlY3RlZCBsb2NhbGUgdG8gYmUgJHtsb2NhbGV9IGJ1dCBnb3QgJHt0cmFuc2xhdGlvbi5sb2NhbGV9YCxcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzdG9yZS5yZWdpc3Rlck9uRGVtYW5kTG9hZGVycyh0cmFuc2xhdGlvbi5uYW1lc3BhY2UsIHtcclxuICAgICAgICAuLi5vdGhlcixcclxuICAgICAgICBbZGVmYXVsdExvY2FsZV06IGRlZmF1bHRUcmFuc2xhdGlvbixcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBzdG9yZS5yZWdpc3Rlcih0cmFuc2xhdGlvbi5uYW1lc3BhY2UsIHtcclxuICAgICAgICBbbG9jYWxlXTogdHJhbnNsYXRpb24uZmxhdCxcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChwcm9taXNlID09PSBkZWZhdWx0VHJhbnNsYXRpb24pIHtcclxuICAgICAgICBkZWZhdWx0VHJhbnNsYXRpb25Mb2FkZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gbG9hZCB0cmFuc2xhdGlvbiBmb3IgbG9jYWxlOiAke2xvY2FsZX1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBpbmplY3ROYW1lc3BhY2VUOiBpbmplY3RULFxyXG4gICAgcmVzb2x2ZU5hbWVzcGFjZVRyYW5zbGF0aW9uOiByZXNvbHZlcixcclxuICB9O1xyXG59XHJcbiJdfQ==","import { afterRenderEffect, computed, Directive, ElementRef, inject, input, Renderer2, } from '@angular/core';\nimport { createT } from './register-namespace';\nimport { TranslationStore } from './translation-store';\nimport * as i0 from \"@angular/core\";\nexport class Translate {\n t = createT(inject(TranslationStore));\n translate = input.required(...(ngDevMode ? [{ debugName: \"translate\" }] : []));\n constructor() {\n const key = computed(() => {\n const vars = this.translate();\n return (Array.isArray(vars) ? vars[0] : vars);\n }, ...(ngDevMode ? [{ debugName: \"key\" }] : []));\n const args = computed(() => {\n const vars = this.translate();\n return (Array.isArray(vars) ? vars[1] : undefined);\n }, ...(ngDevMode ? [{ debugName: \"args\", equal: (a, b) => {\n if (a === undefined && b === undefined)\n return true;\n if (a === undefined || b === undefined)\n return false;\n const aObj = a;\n const keys = Object.keys(aObj);\n const bObj = b;\n if (!keys.length)\n return !Object.keys(bObj).length;\n return keys.every((key) => aObj[key] === bObj[key]);\n } }] : [{\n equal: (a, b) => {\n if (a === undefined && b === undefined)\n return true;\n if (a === undefined || b === undefined)\n return false;\n const aObj = a;\n const keys = Object.keys(aObj);\n const bObj = b;\n if (!keys.length)\n return !Object.keys(bObj).length;\n return keys.every((key) => aObj[key] === bObj[key]);\n },\n }]));\n const translation = computed(() => this.t(key(), args()), ...(ngDevMode ? [{ debugName: \"translation\" }] : []));\n const renderer = inject(Renderer2);\n const el = inject(ElementRef);\n afterRenderEffect({\n write: () => {\n renderer.setProperty(el.nativeElement, 'textContent', translation());\n },\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: Translate, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.1\", type: Translate, isStandalone: true, inputs: { translate: { classPropertyName: \"translate\", publicName: \"translate\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: Translate, decorators: [{\n type: Directive\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdHJhbnNsYXRlL3NyYy9saWIvdHJhbnNsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RCxNQUFNLE9BQWdCLFNBQVM7SUFNWixDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFFOUMsU0FBUyxHQUNoQixLQUFLLENBQUMsUUFBUSxvREFJWCxDQUFDO0lBRU47UUFDRSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQVMsQ0FBQztRQUN4RCxDQUFDLCtDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksR0FBRyxRQUFRLENBQ25CLEdBQUcsRUFBRTtZQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQWUsQ0FBQztRQUNuRSxDQUFDLHdDQUVDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDZCxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLFNBQVM7d0JBQUUsT0FBTyxJQUFJLENBQUM7b0JBQ3BELElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssU0FBUzt3QkFBRSxPQUFPLEtBQUssQ0FBQztvQkFFckQsTUFBTSxJQUFJLEdBQUcsQ0FBMkIsQ0FBQztvQkFDekMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDL0IsTUFBTSxJQUFJLEdBQUcsQ0FBMkIsQ0FBQztvQkFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO3dCQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFFbkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELENBQUMsT0FaSDtnQkFDRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxTQUFTO3dCQUFFLE9BQU8sSUFBSSxDQUFDO29CQUNwRCxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLFNBQVM7d0JBQUUsT0FBTyxLQUFLLENBQUM7b0JBRXJELE1BQU0sSUFBSSxHQUFHLENBQTJCLENBQUM7b0JBQ3pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQy9CLE1BQU0sSUFBSSxHQUFHLENBQTJCLENBQUM7b0JBRXpDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTt3QkFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7b0JBRW5ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN0RCxDQUFDO2FBQ0YsR0FDRixDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsdURBQUMsQ0FBQztRQUUxRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUV2RCxpQkFBaUIsQ0FBQztZQUNoQixLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN2RSxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FwRG1CLFNBQVM7MkZBQVQsU0FBUzs7MkZBQVQsU0FBUztrQkFEOUIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgYWZ0ZXJSZW5kZXJFZmZlY3QsXHJcbiAgY29tcHV0ZWQsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIGlucHV0LFxyXG4gIFJlbmRlcmVyMixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcGlsZWRUcmFuc2xhdGlvbiwgaW5mZXJDb21waWxlZFRyYW5zbGF0aW9uTWFwIH0gZnJvbSAnLi9jb21waWxlJztcclxuaW1wb3J0IHsgY3JlYXRlVCB9IGZyb20gJy4vcmVnaXN0ZXItbmFtZXNwYWNlJztcclxuaW1wb3J0IHsgVW5rbm93blN0cmluZ0tleU9iamVjdCB9IGZyb20gJy4vc3RyaW5nLWtleS1vYmplY3QudHlwZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU3RvcmUgfSBmcm9tICcuL3RyYW5zbGF0aW9uLXN0b3JlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNsYXRlPFxyXG4gIFRJbnB1dCBleHRlbmRzIHN0cmluZyxcclxuICBUIGV4dGVuZHMgQ29tcGlsZWRUcmFuc2xhdGlvbjxVbmtub3duU3RyaW5nS2V5T2JqZWN0LCBzdHJpbmc+LFxyXG4gIFRNYXAgZXh0ZW5kcyBpbmZlckNvbXBpbGVkVHJhbnNsYXRpb25NYXA8VD4gPSBpbmZlckNvbXBpbGVkVHJhbnNsYXRpb25NYXA8VD4sXHJcbiAgVEtleSBleHRlbmRzIFRJbnB1dCAmIGtleW9mIFRNYXAgJiBzdHJpbmcgPSBUSW5wdXQgJiBrZXlvZiBUTWFwICYgc3RyaW5nLFxyXG4+IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHQgPSBjcmVhdGVUKGluamVjdChUcmFuc2xhdGlvblN0b3JlKSk7XHJcblxyXG4gIHJlYWRvbmx5IHRyYW5zbGF0ZSA9XHJcbiAgICBpbnB1dC5yZXF1aXJlZDxcclxuICAgICAgVE1hcFtUS2V5XSBleHRlbmRzIHZvaWRcclxuICAgICAgICA/IFRLZXkgfCBba2V5OiBUS2V5XVxyXG4gICAgICAgIDogW2tleTogVEtleSwgdmFyczogVE1hcFtUS2V5XV1cclxuICAgID4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBjb25zdCBrZXkgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHZhcnMgPSB0aGlzLnRyYW5zbGF0ZSgpO1xyXG4gICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkodmFycykgPyB2YXJzWzBdIDogdmFycykgYXMgVEtleTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGFyZ3MgPSBjb21wdXRlZChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhcnMgPSB0aGlzLnRyYW5zbGF0ZSgpO1xyXG4gICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh2YXJzKSA/IHZhcnNbMV0gOiB1bmRlZmluZWQpIGFzIFRNYXBbVEtleV07XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBlcXVhbDogKGEsIGIpID0+IHtcclxuICAgICAgICAgIGlmIChhID09PSB1bmRlZmluZWQgJiYgYiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgIGlmIChhID09PSB1bmRlZmluZWQgfHwgYiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgICAgY29uc3QgYU9iaiA9IGEgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuICAgICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhhT2JqKTtcclxuICAgICAgICAgIGNvbnN0IGJPYmogPSBiIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgICAgICAgaWYgKCFrZXlzLmxlbmd0aCkgcmV0dXJuICFPYmplY3Qua2V5cyhiT2JqKS5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIGtleXMuZXZlcnkoKGtleSkgPT4gYU9ialtrZXldID09PSBiT2JqW2tleV0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50KGtleSgpLCBhcmdzKCkpKTtcclxuXHJcbiAgICBjb25zdCByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gICAgY29uc3QgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xyXG5cclxuICAgIGFmdGVyUmVuZGVyRWZmZWN0KHtcclxuICAgICAgd3JpdGU6ICgpID0+IHtcclxuICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eShlbC5uYXRpdmVFbGVtZW50LCAndGV4dENvbnRlbnQnLCB0cmFuc2xhdGlvbigpKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=","import { ChangeDetectorRef, effect, inject } from '@angular/core';\nimport { createT } from './register-namespace';\nimport { TranslationStore } from './translation-store';\nexport class Translator {\n store = inject(TranslationStore);\n t = createT(this.store);\n constructor() {\n const cdr = inject(ChangeDetectorRef);\n effect(() => {\n this.store.locale();\n cdr.markForCheck();\n });\n }\n transform(key, ...args) {\n const actualArgs = args.filter((a) => typeof a === 'object');\n return this.t(key, ...actualArgs);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RyYW5zbGF0ZS9zcmMvbGliL3RyYW5zbGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE1BQU0sT0FBZ0IsVUFBVTtJQUliLEtBQUssR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqQyxDQUFDLEdBQUcsT0FBTyxDQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUvQztRQUNFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXRDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQ1AsR0FBTSxFQUNOLEdBQUcsSUFFMkI7UUFFOUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FDNUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FDWSxDQUFDO1FBRTNDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgZWZmZWN0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcGlsZWRUcmFuc2xhdGlvbiwgaW5mZXJDb21waWxlZFRyYW5zbGF0aW9uTWFwIH0gZnJvbSAnLi9jb21waWxlJztcclxuaW1wb3J0IHsgY3JlYXRlVCB9IGZyb20gJy4vcmVnaXN0ZXItbmFtZXNwYWNlJztcclxuaW1wb3J0IHsgVW5rbm93blN0cmluZ0tleU9iamVjdCB9IGZyb20gJy4vc3RyaW5nLWtleS1vYmplY3QudHlwZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU3RvcmUgfSBmcm9tICcuL3RyYW5zbGF0aW9uLXN0b3JlJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2xhdG9yPFxyXG4gIFQgZXh0ZW5kcyBDb21waWxlZFRyYW5zbGF0aW9uPFVua25vd25TdHJpbmdLZXlPYmplY3QsIHN0cmluZz4sXHJcbiAgVE1hcCBleHRlbmRzIGluZmVyQ29tcGlsZWRUcmFuc2xhdGlvbk1hcDxUPiA9IGluZmVyQ29tcGlsZWRUcmFuc2xhdGlvbk1hcDxUPixcclxuPiB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yZSA9IGluamVjdChUcmFuc2xhdGlvblN0b3JlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHQgPSBjcmVhdGVUPFRNYXA+KHRoaXMuc3RvcmUpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGNvbnN0IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgdGhpcy5zdG9yZS5sb2NhbGUoKTtcclxuICAgICAgY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm08SyBleHRlbmRzIGtleW9mIFRNYXAgJiBzdHJpbmc+KFxyXG4gICAga2V5OiBLLFxyXG4gICAgLi4uYXJnczogVE1hcFtLXSBleHRlbmRzIHZvaWRcclxuICAgICAgPyBbbG9jYWxlPzogc3RyaW5nXVxyXG4gICAgICA6IFtUTWFwW0tdLCBsb2NhbGU/OiBzdHJpbmddXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGFjdHVhbEFyZ3MgPSBhcmdzLmZpbHRlcihcclxuICAgICAgKGEpID0+IHR5cGVvZiBhID09PSAnb2JqZWN0JyxcclxuICAgICkgYXMgVE1hcFtLXSBleHRlbmRzIHZvaWQgPyBbXSA6IFtUTWFwW0tdXTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy50KGtleSwgLi4uYWN0dWFsQXJncyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1zdGFjay10cmFuc2xhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90cmFuc2xhdGUvc3JjL21tc3RhY2stdHJhbnNsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mmstack-translate.mjs","sources":["../../../../packages/translate/src/lib/delim.ts","../../../../packages/translate/src/lib/compile.ts","../../../../packages/translate/src/lib/create-namespace.ts","../../../../packages/translate/src/lib/translation-store.ts","../../../../packages/translate/src/lib/register-namespace.ts","../../../../packages/translate/src/lib/translate.ts","../../../../packages/translate/src/lib/translator.ts","../../../../packages/translate/src/mmstack-translate.ts"],"sourcesContent":["const KEY_DELIM = '::MMT_DELIM::';\r\n\r\nexport function prependDelim(prefix: string, key: string): string {\r\n return `${prefix}${KEY_DELIM}${key}`;\r\n}\r\n\r\nexport function replaceWithDelim(str: string, repl = '.'): string {\r\n return str.replaceAll(repl, KEY_DELIM);\r\n}\r\n","import { prependDelim } from './delim';\r\nimport type {\r\n inferTranslationParamMap,\r\n inferTranslationShape,\r\n} from './parameterize.type';\r\nimport type { UnknownStringKeyObject } from './string-key-object.type';\r\n\r\nconst INTERNAL_SYMBOL = Symbol.for('mmstack-translate-internal');\r\n\r\ntype InternalSymbol = typeof INTERNAL_SYMBOL;\r\n\r\nexport type CompiledTranslation<\r\n T extends UnknownStringKeyObject,\r\n TNS extends string,\r\n TLocale extends string = string,\r\n> = {\r\n flat: Record<string, string>;\r\n locale?: TLocale;\r\n namespace: TNS;\r\n [INTERNAL_SYMBOL]: {\r\n shape: inferTranslationShape<T>;\r\n map: inferTranslationParamMap<TNS, T>;\r\n };\r\n};\r\n\r\nexport type mergeTranslationMaps<\r\n TMain extends CompiledTranslation<UnknownStringKeyObject, string>,\r\n TOther extends CompiledTranslation<UnknownStringKeyObject, string>,\r\n> = Omit<TMain, InternalSymbol> & {\r\n [INTERNAL_SYMBOL]: {\r\n shape: inferCompiledTranslationShape<TMain>;\r\n map: inferCompiledTranslationMap<TOther> &\r\n inferCompiledTranslationMap<TMain>;\r\n };\r\n};\r\n\r\nexport type inferCompiledTranslationNamespace<\r\n T extends CompiledTranslation<UnknownStringKeyObject, string>,\r\n> = T['namespace'];\r\n\r\nexport type inferCompiledTranslationShape<\r\n T extends CompiledTranslation<UnknownStringKeyObject, string>,\r\n> = T[InternalSymbol]['shape'];\r\n\r\nexport type inferCompiledTranslationMap<\r\n T extends CompiledTranslation<UnknownStringKeyObject, string>,\r\n> = T[InternalSymbol]['map'];\r\n\r\nfunction isTranslationObject(t: unknown): t is UnknownStringKeyObject {\r\n return typeof t === 'object' && t !== null;\r\n}\r\n\r\nfunction flattenTranslation<T extends UnknownStringKeyObject>(obj: T) {\r\n return Object.entries(obj).reduce(\r\n (acc, [key, value]) => {\r\n if (typeof value === 'string') {\r\n acc[key] = value;\r\n } else if (isTranslationObject(value)) {\r\n Object.entries(flattenTranslation(value)).forEach(\r\n ([nestedKey, nestedValue]) => {\r\n acc[prependDelim(key, nestedKey)] = nestedValue;\r\n },\r\n );\r\n }\r\n\r\n return acc;\r\n },\r\n {} as Record<string, string>,\r\n );\r\n}\r\n\r\nexport function compileTranslation<\r\n T extends UnknownStringKeyObject,\r\n TNS extends string,\r\n TLocale extends string = string,\r\n>(\r\n translation: T,\r\n ns: TNS,\r\n locale?: TLocale,\r\n): CompiledTranslation<T, TNS, TLocale> {\r\n type $Shape = inferTranslationShape<T>;\r\n type $Map = inferTranslationParamMap<TNS, T>;\r\n\r\n return {\r\n locale,\r\n flat: flattenTranslation(translation),\r\n namespace: ns,\r\n [INTERNAL_SYMBOL]: {\r\n shape: {} as $Shape,\r\n map: {} as $Map,\r\n },\r\n };\r\n}\r\n","import {\r\n CompiledTranslation,\r\n compileTranslation,\r\n inferCompiledTranslationShape,\r\n mergeTranslationMaps,\r\n} from './compile';\r\nimport { UnknownStringKeyObject } from './string-key-object.type';\r\n\r\ntype TranslationNamespace<\r\n TNS extends string,\r\n T extends CompiledTranslation<UnknownStringKeyObject, TNS>,\r\n TShape extends UnknownStringKeyObject,\r\n> = {\r\n translation: T;\r\n createTranslation: <TLocale extends string>(\r\n locale: TLocale,\r\n translation: TShape,\r\n ) => CompiledTranslation<TShape, TNS, TLocale>;\r\n createMergedNamespace: <\r\n TOtherNS extends string,\r\n const TOther extends UnknownStringKeyObject,\r\n TOtherCompiled extends CompiledTranslation<TOther, TOtherNS>,\r\n >(\r\n ns: TOtherNS,\r\n translation: TOther,\r\n ) => TranslationNamespace<\r\n TOtherNS,\r\n mergeTranslationMaps<TOtherCompiled, T>,\r\n inferCompiledTranslationShape<TOtherCompiled>\r\n >;\r\n};\r\n\r\nexport function createNamespace<\r\n const T extends UnknownStringKeyObject,\r\n TNS extends string,\r\n>(ns: TNS, translation: T) {\r\n const compiled = compileTranslation<T, TNS>(translation, ns);\r\n\r\n type TCompiled = typeof compiled;\r\n type TShape = inferCompiledTranslationShape<typeof compiled>;\r\n\r\n const namespace: TranslationNamespace<TNS, TCompiled, TShape> = {\r\n translation: compileTranslation(translation, ns),\r\n createTranslation: <TLocale extends string>(\r\n locale: TLocale,\r\n translation: TShape,\r\n ) => {\r\n return compileTranslation(translation, ns, locale);\r\n },\r\n createMergedNamespace: <\r\n TOther extends UnknownStringKeyObject,\r\n TOtherNS extends string,\r\n TOtherCompiled extends CompiledTranslation<\r\n TOther,\r\n TOtherNS\r\n > = CompiledTranslation<TOther, TOtherNS>,\r\n >(\r\n otherNs: TOtherNS,\r\n otherTranslation: TOther,\r\n ) => {\r\n return createNamespace(otherNs, otherTranslation) as TranslationNamespace<\r\n TOtherNS,\r\n mergeTranslationMaps<TOtherCompiled, TCompiled>,\r\n inferCompiledTranslationShape<TOtherCompiled>\r\n > as unknown as any;\r\n },\r\n };\r\n\r\n return namespace;\r\n}\r\n","import {\r\n computed,\r\n effect,\r\n inject,\r\n Injectable,\r\n InjectionToken,\r\n isDevMode,\r\n LOCALE_ID,\r\n Provider,\r\n resource,\r\n Signal,\r\n signal,\r\n untracked,\r\n WritableSignal,\r\n} from '@angular/core';\r\nimport { createIntl, createIntlCache, IntlConfig } from '@formatjs/intl';\r\nimport { CompiledTranslation } from './compile';\r\nimport { prependDelim } from './delim';\r\nimport { UnknownStringKeyObject } from './string-key-object.type';\r\n\r\nconst CONFIG_TOKEN = new InjectionToken<\r\n Omit<IntlConfig, 'locale' | 'messages'>\r\n>('mmstack-intl-config');\r\n\r\nexport function provideIntlConfig(\r\n config: Omit<IntlConfig, 'locale' | 'messages'>,\r\n): Provider {\r\n return {\r\n useValue: config,\r\n provide: CONFIG_TOKEN,\r\n };\r\n}\r\n\r\nexport function injectIntlConfig() {\r\n return inject(CONFIG_TOKEN, { optional: true }) ?? undefined;\r\n}\r\n\r\nexport function injectDefaultLocale() {\r\n return injectIntlConfig()?.defaultLocale ?? 'en-US';\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslationStore {\r\n private readonly cache = createIntlCache();\r\n private readonly config = injectIntlConfig();\r\n readonly loadQueue = signal<string[]>([]);\r\n readonly locale = signal(inject(LOCALE_ID));\r\n private readonly defaultLocale = injectDefaultLocale();\r\n private readonly translations = signal<\r\n Record<string, Record<string, string>>\r\n >({\r\n [this.defaultLocale]: {},\r\n });\r\n\r\n private readonly onDemandLoaders = new Map<\r\n string,\r\n Record<\r\n string,\r\n () => Promise<CompiledTranslation<UnknownStringKeyObject, string>>\r\n >\r\n >();\r\n\r\n private readonly nonMessageConfig = computed(() => ({\r\n ...this.config,\r\n locale: this.locale(),\r\n }));\r\n\r\n private readonly messages = computed(\r\n () =>\r\n this.translations()[this.locale()] ??\r\n this.translations()[this.defaultLocale] ??\r\n {},\r\n );\r\n\r\n readonly dynamicLocaleLoader = resource({\r\n params: computed(() => this.loadQueue().at(0) ?? null),\r\n loader: async ({ params: newLocale, abortSignal }) => {\r\n if (!newLocale) return;\r\n\r\n const currentTranslations = untracked(this.translations);\r\n\r\n const loadPromises: Promise<{\r\n namespace: string;\r\n flat: Record<string, string>;\r\n } | null>[] = [];\r\n\r\n for (const [namespace, loaders] of this.onDemandLoaders.entries()) {\r\n const loader = loaders[newLocale];\r\n if (loader) {\r\n const hasNamespaceForLocale =\r\n currentTranslations[newLocale] &&\r\n Object.keys(currentTranslations[newLocale]).some((key) =>\r\n key.startsWith(`${prependDelim(namespace, '').slice(0, -1)}`),\r\n );\r\n\r\n if (!hasNamespaceForLocale) {\r\n loadPromises.push(\r\n loader()\r\n .then((translation) => {\r\n if (abortSignal.aborted) return null;\r\n return {\r\n namespace: translation.namespace,\r\n flat: translation.flat,\r\n };\r\n })\r\n .catch((err) => {\r\n if (isDevMode()) {\r\n console.error(\r\n '[Translate] Failed to load',\r\n namespace,\r\n newLocale,\r\n err,\r\n );\r\n }\r\n\r\n return null;\r\n }),\r\n );\r\n }\r\n }\r\n }\r\n\r\n return Promise.all(loadPromises)\r\n .then((res) => res.filter((r) => r !== null))\r\n .then((res) => ({\r\n locales: res,\r\n locale: newLocale,\r\n }));\r\n },\r\n });\r\n\r\n readonly intl = computed(() =>\r\n createIntl(\r\n {\r\n ...this.nonMessageConfig(),\r\n messages: this.messages(),\r\n },\r\n this.cache,\r\n ),\r\n );\r\n\r\n constructor() {\r\n effect(() => {\r\n if (\r\n // should never be in error state, but best to check in case something throws\r\n this.dynamicLocaleLoader.error() ||\r\n this.dynamicLocaleLoader.isLoading()\r\n )\r\n return;\r\n const dynamicLocales = this.dynamicLocaleLoader.value();\r\n\r\n if (!dynamicLocales) return;\r\n for (const locale of dynamicLocales.locales) {\r\n this.register(locale.namespace, {\r\n [dynamicLocales.locale]: locale.flat,\r\n });\r\n }\r\n this.loadQueue.update((q) =>\r\n q.filter((l) => l !== dynamicLocales.locale),\r\n );\r\n this.locale.set(dynamicLocales.locale);\r\n });\r\n }\r\n\r\n formatMessage(key: string, values?: Record<string, string | number>) {\r\n const message = this.translations()[this.locale()]?.[key] ?? '';\r\n\r\n if (!message) return '';\r\n\r\n return this.intl().formatMessage(\r\n { id: key, defaultMessage: message },\r\n values,\r\n );\r\n }\r\n\r\n register(\r\n namespace: string,\r\n flat: Partial<Record<string, Record<string, string>>>,\r\n ) {\r\n this.translations.update((cur) => {\r\n return Object.entries(flat).reduce(\r\n (acc, [locale, translation]) => {\r\n const localeTranslation = acc[locale] ?? {};\r\n\r\n const withNS = Object.entries(translation ?? {}).reduce(\r\n (acc, [key, value]) => {\r\n acc[prependDelim(namespace, key)] = value;\r\n return acc;\r\n },\r\n {} as Record<string, string>,\r\n );\r\n\r\n acc[locale] = {\r\n ...localeTranslation,\r\n ...withNS,\r\n };\r\n\r\n return acc;\r\n },\r\n { ...cur },\r\n );\r\n });\r\n }\r\n\r\n registerOnDemandLoaders(\r\n namespace: string,\r\n loaders: Record<string, () => Promise<any>>,\r\n ) {\r\n this.onDemandLoaders.set(namespace, loaders);\r\n }\r\n\r\n hasLocaleLoaders(locale: string): boolean {\r\n return Array.from(this.onDemandLoaders.values()).some(\r\n (loaders) => loaders[locale],\r\n );\r\n }\r\n}\r\n\r\nexport function injectIntl() {\r\n return inject(TranslationStore).intl;\r\n}\r\n\r\n/**\r\n * Inject a dynamic locale signal that supports runtime language switching.\r\n *\r\n * @returns A writable signal with the current locale and loading state.\r\n * Only allows switching to locales that have registered loaders.\r\n *\r\n * @example\r\n * ```typescript\r\n * const locale = injectDynamicLocale();\r\n *\r\n * // Switch language (triggers automatic translation loading)\r\n * locale.set('sl-SI');\r\n *\r\n * // Check loading state\r\n * if (locale.isLoading()) {\r\n * // Show spinner\r\n * }\r\n * ```\r\n */\r\nexport function injectDynamicLocale(): WritableSignal<string> & {\r\n isLoading: Signal<boolean>;\r\n} {\r\n const store = inject(TranslationStore);\r\n\r\n const source = computed(() => store.locale()) as WritableSignal<string> & {\r\n isLoading: Signal<boolean>;\r\n };\r\n\r\n const set = (value: string) => {\r\n if (\r\n value === untracked(source) ||\r\n !store.hasLocaleLoaders(value) ||\r\n untracked(store.loadQueue).includes(value)\r\n )\r\n return;\r\n store.loadQueue.update((q) => [...q, value]);\r\n };\r\n source.set = set;\r\n source.update = (updater: (value: string) => string) => {\r\n const next = updater(untracked(source));\r\n source.set(next);\r\n };\r\n source.asReadonly = () => source;\r\n\r\n source.isLoading = store.dynamicLocaleLoader.isLoading;\r\n\r\n return source;\r\n}\r\n","import {\r\n computed,\r\n inject,\r\n isDevMode,\r\n isSignal,\r\n Signal,\r\n untracked,\r\n} from '@angular/core';\r\nimport {\r\n CompiledTranslation,\r\n inferCompiledTranslationMap,\r\n inferCompiledTranslationNamespace,\r\n} from './compile';\r\nimport { replaceWithDelim } from './delim';\r\nimport { UnknownStringKeyObject } from './string-key-object.type';\r\nimport { injectDefaultLocale, TranslationStore } from './translation-store';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\ntype AnyStringRecord = Record<string, any>;\r\n\r\nfunction createEqualsRecord<T extends AnyStringRecord>(keys: (keyof T)[] = []) {\r\n let keyMatcher: (a: T, b: T) => boolean;\r\n\r\n if (keys.length === 0) {\r\n keyMatcher = () => true;\r\n } else if (keys.length === 1) {\r\n const key = keys[0];\r\n keyMatcher = (a, b) => a[key] === b[key];\r\n } else {\r\n keyMatcher = (a, b) => {\r\n return keys.every((k) => a[k] === b[k]);\r\n };\r\n }\r\n\r\n return (a?: T, b?: T): boolean => {\r\n if (!a && !b) return true;\r\n if (!a || !b) return false;\r\n return keyMatcher(a, b);\r\n };\r\n}\r\n\r\ntype TFunction<TMap extends AnyStringRecord> = <\r\n TKey extends keyof TMap & string,\r\n>(\r\n key: TKey,\r\n ...args: TMap[TKey] extends void ? [] : [TMap[TKey]]\r\n) => string;\r\n\r\ntype SignalTFunction<TMap extends AnyStringRecord> = <\r\n TKey extends keyof TMap & string,\r\n>(\r\n key: TKey,\r\n ...args: TMap[TKey] extends void ? [] : [() => TMap[TKey]]\r\n) => Signal<string>;\r\n\r\ntype TFunctionWithSignalConstructor<\r\n TMap extends AnyStringRecord,\r\n TFN extends TFunction<TMap>,\r\n> = TFN & {\r\n asSignal: SignalTFunction<TMap>;\r\n};\r\n\r\nfunction addSignalFn<TMap extends AnyStringRecord, TFn extends TFunction<TMap>>(\r\n fn: TFn,\r\n store: TranslationStore,\r\n): TFunctionWithSignalConstructor<TMap, TFn> {\r\n const withSig = fn as TFunctionWithSignalConstructor<TMap, TFn>;\r\n\r\n const asSignal = <TKey extends keyof TMap & string>(\r\n key: TKey,\r\n ...args: TMap[TKey] extends void ? [] : [() => TMap[TKey]]\r\n ): Signal<string> => {\r\n const variables = args[0] as () => AnyStringRecord | undefined;\r\n const stringKey = key as string;\r\n\r\n const flatPath = replaceWithDelim(stringKey);\r\n\r\n const varsFn = variables ?? (() => undefined);\r\n const varsSignal = isSignal(varsFn)\r\n ? varsFn\r\n : computed(varsFn, {\r\n equal: createEqualsRecord(Object.keys(varsFn() ?? {})),\r\n });\r\n\r\n return computed(() => store.formatMessage(flatPath, varsSignal()));\r\n };\r\n\r\n withSig.asSignal = asSignal;\r\n\r\n return withSig;\r\n}\r\n\r\nexport function createT<TMap extends AnyStringRecord>(\r\n store: TranslationStore,\r\n): TFunction<TMap> {\r\n return <TKey extends keyof TMap & string>(\r\n key: TKey,\r\n ...args: TMap[TKey] extends void ? [] : [TMap[TKey]]\r\n ): string => {\r\n const variables = args[0] as AnyStringRecord | undefined;\r\n const stringKey = key as string;\r\n\r\n return store.formatMessage(replaceWithDelim(stringKey), variables);\r\n };\r\n}\r\n\r\nexport function registerNamespace<\r\n TDefault extends CompiledTranslation<UnknownStringKeyObject, string>,\r\n>(\r\n defaultTranslation: () => Promise<TDefault>,\r\n other: Record<\r\n string,\r\n () => Promise<\r\n CompiledTranslation<\r\n UnknownStringKeyObject,\r\n inferCompiledTranslationNamespace<TDefault>,\r\n string\r\n >\r\n >\r\n >,\r\n) {\r\n type $Map = inferCompiledTranslationMap<TDefault>;\r\n type $BaseTFN = TFunction<$Map>;\r\n type $TFN = TFunctionWithSignalConstructor<$Map, $BaseTFN>;\r\n\r\n const injectT = (): $TFN => {\r\n const store = inject(TranslationStore);\r\n\r\n return addSignalFn(createT(store), store);\r\n };\r\n\r\n let defaultTranslationLoaded = false;\r\n const resolver = async () => {\r\n const store = inject(TranslationStore);\r\n const locale = untracked(store.locale);\r\n const defaultLocale = injectDefaultLocale();\r\n const tPromise = other[locale] as (typeof other)[string] | undefined;\r\n\r\n const promise = tPromise ?? defaultTranslation;\r\n if (!promise && isDevMode()) {\r\n return console.warn(`No translation found for locale: ${locale}`);\r\n }\r\n\r\n if (promise === defaultTranslation && defaultTranslationLoaded) return;\r\n\r\n try {\r\n const translation = await promise();\r\n\r\n if (\r\n promise !== defaultTranslation &&\r\n translation.locale !== locale &&\r\n isDevMode()\r\n ) {\r\n return console.warn(\r\n `Expected locale to be ${locale} but got ${translation.locale}`,\r\n );\r\n }\r\n\r\n store.registerOnDemandLoaders(translation.namespace, {\r\n ...other,\r\n [defaultLocale]: defaultTranslation,\r\n });\r\n\r\n store.register(translation.namespace, {\r\n [locale]: translation.flat,\r\n });\r\n if (promise === defaultTranslation) {\r\n defaultTranslationLoaded = true;\r\n }\r\n } catch {\r\n if (isDevMode()) {\r\n console.warn(`Failed to load translation for locale: ${locale}`);\r\n }\r\n }\r\n };\r\n\r\n return {\r\n injectNamespaceT: injectT,\r\n resolveNamespaceTranslation: resolver,\r\n };\r\n}\r\n","import {\r\n afterRenderEffect,\r\n computed,\r\n Directive,\r\n ElementRef,\r\n inject,\r\n input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { CompiledTranslation, inferCompiledTranslationMap } from './compile';\r\nimport { createT } from './register-namespace';\r\nimport { UnknownStringKeyObject } from './string-key-object.type';\r\nimport { TranslationStore } from './translation-store';\r\n\r\n@Directive()\r\nexport abstract class Translate<\r\n TInput extends string,\r\n T extends CompiledTranslation<UnknownStringKeyObject, string>,\r\n TMap extends inferCompiledTranslationMap<T> = inferCompiledTranslationMap<T>,\r\n TKey extends TInput & keyof TMap & string = TInput & keyof TMap & string,\r\n> {\r\n private readonly t = createT(inject(TranslationStore));\r\n\r\n readonly translate =\r\n input.required<\r\n TMap[TKey] extends void\r\n ? TKey | [key: TKey]\r\n : [key: TKey, vars: TMap[TKey]]\r\n >();\r\n\r\n constructor() {\r\n const key = computed(() => {\r\n const vars = this.translate();\r\n return (Array.isArray(vars) ? vars[0] : vars) as TKey;\r\n });\r\n\r\n const args = computed(\r\n () => {\r\n const vars = this.translate();\r\n return (Array.isArray(vars) ? vars[1] : undefined) as TMap[TKey];\r\n },\r\n {\r\n equal: (a, b) => {\r\n if (a === undefined && b === undefined) return true;\r\n if (a === undefined || b === undefined) return false;\r\n\r\n const aObj = a as Record<string, string>;\r\n const keys = Object.keys(aObj);\r\n const bObj = b as Record<string, string>;\r\n\r\n if (!keys.length) return !Object.keys(bObj).length;\r\n\r\n return keys.every((key) => aObj[key] === bObj[key]);\r\n },\r\n },\r\n );\r\n\r\n const translation = computed(() => this.t(key(), args()));\r\n\r\n const renderer = inject(Renderer2);\r\n const el = inject<ElementRef<HTMLElement>>(ElementRef);\r\n\r\n afterRenderEffect({\r\n write: () => {\r\n renderer.setProperty(el.nativeElement, 'textContent', translation());\r\n },\r\n });\r\n }\r\n}\r\n","import { ChangeDetectorRef, effect, inject } from '@angular/core';\r\nimport { CompiledTranslation, inferCompiledTranslationMap } from './compile';\r\nimport { createT } from './register-namespace';\r\nimport { UnknownStringKeyObject } from './string-key-object.type';\r\nimport { TranslationStore } from './translation-store';\r\n\r\nexport abstract class Translator<\r\n T extends CompiledTranslation<UnknownStringKeyObject, string>,\r\n TMap extends inferCompiledTranslationMap<T> = inferCompiledTranslationMap<T>,\r\n> {\r\n private readonly store = inject(TranslationStore);\r\n private readonly t = createT<TMap>(this.store);\r\n\r\n constructor() {\r\n const cdr = inject(ChangeDetectorRef);\r\n\r\n effect(() => {\r\n this.store.locale();\r\n cdr.markForCheck();\r\n });\r\n }\r\n\r\n transform<K extends keyof TMap & string>(\r\n key: K,\r\n ...args: TMap[K] extends void\r\n ? [locale?: string]\r\n : [TMap[K], locale?: string]\r\n ): string {\r\n const actualArgs = args.filter(\r\n (a) => typeof a === 'object',\r\n ) as TMap[K] extends void ? [] : [TMap[K]];\r\n\r\n return this.t(key, ...actualArgs);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmstack/translate",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "21.0.0",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"angular",
|
|
6
6
|
"localize",
|
|
@@ -14,19 +14,19 @@
|
|
|
14
14
|
"url": "https://github.com/mihajm/mmstack"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@angular/core": ">=
|
|
18
|
-
"@formatjs/intl": "~3.1.
|
|
17
|
+
"@angular/core": ">=21 <22",
|
|
18
|
+
"@formatjs/intl": "~3.1.8"
|
|
19
19
|
},
|
|
20
20
|
"homepage": "https://github.com/mihajm/mmstack/blob/master/packages/translate",
|
|
21
21
|
"sideEffects": false,
|
|
22
22
|
"module": "fesm2022/mmstack-translate.mjs",
|
|
23
|
-
"typings": "
|
|
23
|
+
"typings": "types/mmstack-translate.d.ts",
|
|
24
24
|
"exports": {
|
|
25
25
|
"./package.json": {
|
|
26
26
|
"default": "./package.json"
|
|
27
27
|
},
|
|
28
28
|
".": {
|
|
29
|
-
"types": "./
|
|
29
|
+
"types": "./types/mmstack-translate.d.ts",
|
|
30
30
|
"default": "./fesm2022/mmstack-translate.mjs"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
File without changes
|