@acorex/core 20.6.19 → 20.6.21
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, Injectable, TemplateRef, ViewContainerRef, Directive, Pipe, provideAppInitializer, NgModule } from '@angular/core';
|
|
3
3
|
import { get } from 'lodash-es';
|
|
4
|
-
import { of, tap, shareReplay, firstValueFrom, BehaviorSubject, switchMap, from } from 'rxjs';
|
|
4
|
+
import { of, tap, shareReplay, firstValueFrom, BehaviorSubject, distinctUntilChanged, switchMap, from } from 'rxjs';
|
|
5
5
|
import { AXEventService, AXSystemEvents } from '@acorex/core/events';
|
|
6
6
|
import { AXLocaleService } from '@acorex/core/locale';
|
|
7
7
|
import { waitFor } from '@acorex/core/utils';
|
|
@@ -215,36 +215,18 @@ function escapeRegExp(string) {
|
|
|
215
215
|
class TranslationResolverService {
|
|
216
216
|
constructor() {
|
|
217
217
|
this.loaderService = inject(AXTranslationLoaderService);
|
|
218
|
-
this.cache = new Map();
|
|
219
|
-
this.inflight = new Map();
|
|
220
218
|
this.parser = new TranslationParserService();
|
|
221
219
|
}
|
|
222
220
|
async resolve(lang, scope, key, params) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const fetchPromise = firstValueFrom(this.loaderService.load(lang, scope));
|
|
228
|
-
this.inflight.set(cacheKey, fetchPromise);
|
|
229
|
-
try {
|
|
230
|
-
const data = await fetchPromise;
|
|
231
|
-
this.cache.set(cacheKey, data);
|
|
232
|
-
}
|
|
233
|
-
finally {
|
|
234
|
-
this.inflight.delete(cacheKey);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
await this.inflight.get(cacheKey);
|
|
239
|
-
}
|
|
221
|
+
let result = this.loaderService.peek(lang, scope, key);
|
|
222
|
+
if (result == null) {
|
|
223
|
+
await firstValueFrom(this.loaderService.load(lang, scope));
|
|
224
|
+
result = this.loaderService.peek(lang, scope, key);
|
|
240
225
|
}
|
|
241
|
-
|
|
242
|
-
if (!translations) {
|
|
243
|
-
console.warn(`Translations not found for ${cacheKey} after attempting to load.`);
|
|
226
|
+
if (result == null) {
|
|
244
227
|
const unresolvedResult = key;
|
|
245
228
|
return this.format(unresolvedResult, params);
|
|
246
229
|
}
|
|
247
|
-
let result = get(translations, key, key);
|
|
248
230
|
// Recursively resolve references
|
|
249
231
|
if (typeof result === 'string' && this.parser.isExpression(result)) {
|
|
250
232
|
const tokens = this.parser.parse(result, lang, scope);
|
|
@@ -284,8 +266,22 @@ class TranslationResolverService {
|
|
|
284
266
|
}
|
|
285
267
|
}
|
|
286
268
|
|
|
287
|
-
let singletonInstance;
|
|
288
269
|
const LOCALE_KEY_REGEX = /^(\*-\*|[a-z]{2}-[A-Z]{2})$/;
|
|
270
|
+
function resolveMultiLanguageValue(value, locale) {
|
|
271
|
+
return value[locale] ?? value['en-US'] ?? Object.values(value).find((item) => item != null) ?? '';
|
|
272
|
+
}
|
|
273
|
+
function isValidMultiLanguageObject(value) {
|
|
274
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
const entries = Object.entries(value);
|
|
278
|
+
if (!entries.length) {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
return entries.every(([key, entryValue]) => LOCALE_KEY_REGEX.test(key) && typeof entryValue === 'string');
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
let singletonInstance;
|
|
289
285
|
function translateSync(key, options) {
|
|
290
286
|
return singletonInstance.translateSync(key, options);
|
|
291
287
|
}
|
|
@@ -299,6 +295,7 @@ class AXTranslationService {
|
|
|
299
295
|
this.resolver = new TranslationResolverService();
|
|
300
296
|
this.activeLang = new BehaviorSubject(this.config.defaults.lang);
|
|
301
297
|
this.langChanges$ = this.activeLang.asObservable();
|
|
298
|
+
this.currentLocale$ = this.langChanges$.pipe(distinctUntilChanged());
|
|
302
299
|
singletonInstance = this;
|
|
303
300
|
this.localeService.profileChanged$.subscribe((locale) => {
|
|
304
301
|
if (locale?.localeInfo?.code) {
|
|
@@ -321,11 +318,31 @@ class AXTranslationService {
|
|
|
321
318
|
getDefaultLang() {
|
|
322
319
|
return this.config.defaults.lang;
|
|
323
320
|
}
|
|
321
|
+
resolve(value, locale) {
|
|
322
|
+
if (value == null) {
|
|
323
|
+
return '';
|
|
324
|
+
}
|
|
325
|
+
if (typeof value === 'string') {
|
|
326
|
+
return value;
|
|
327
|
+
}
|
|
328
|
+
if (!isValidMultiLanguageObject(value)) {
|
|
329
|
+
return '';
|
|
330
|
+
}
|
|
331
|
+
return resolveMultiLanguageValue(value, locale ?? this.getActiveLang());
|
|
332
|
+
}
|
|
333
|
+
toLocaleMap(value, activeLocale = this.getActiveLang()) {
|
|
334
|
+
if (isValidMultiLanguageObject(value)) {
|
|
335
|
+
return { ...value };
|
|
336
|
+
}
|
|
337
|
+
return {
|
|
338
|
+
[activeLocale]: typeof value === 'string' ? value : '',
|
|
339
|
+
};
|
|
340
|
+
}
|
|
324
341
|
translate$(value, options) {
|
|
325
|
-
if (
|
|
342
|
+
if (isValidMultiLanguageObject(value)) {
|
|
326
343
|
return this.langChanges$.pipe(switchMap((activeLang) => {
|
|
327
344
|
const targetLang = options?.lang ?? activeLang;
|
|
328
|
-
const selectedValue =
|
|
345
|
+
const selectedValue = resolveMultiLanguageValue(value, targetLang);
|
|
329
346
|
const scope = options?.scope ?? this.config.defaults.scope;
|
|
330
347
|
return from(this.translateAsync(selectedValue, {
|
|
331
348
|
...options,
|
|
@@ -337,22 +354,19 @@ class AXTranslationService {
|
|
|
337
354
|
return this.translateValue$(value, options);
|
|
338
355
|
}
|
|
339
356
|
async translateAsync(text, options) {
|
|
340
|
-
const lang
|
|
341
|
-
const scope = options?.scope ?? this.config.defaults.scope;
|
|
357
|
+
const { lang, scope } = this.resolveContext(options);
|
|
342
358
|
const params = options?.params;
|
|
343
359
|
if (!this.parser.isExpression(text)) {
|
|
344
|
-
|
|
345
|
-
return this.resolver.format(resolved, params);
|
|
360
|
+
return this.resolver.resolve(lang, scope, text, params);
|
|
346
361
|
}
|
|
347
362
|
const tokens = this.parser.parse(text, lang, scope);
|
|
348
363
|
const results = await Promise.all(tokens.map((token) => this.resolver
|
|
349
364
|
.resolve(token.lang ?? lang, token.scope ?? scope, token.key, params)
|
|
350
|
-
.then((translated) => [token.fullMatch,
|
|
365
|
+
.then((translated) => [token.fullMatch, translated])));
|
|
351
366
|
return results.reduce((output, [match, translated]) => output.replace(match, translated), text);
|
|
352
367
|
}
|
|
353
368
|
translateSync(text, options) {
|
|
354
|
-
const lang
|
|
355
|
-
const scope = options?.scope ?? this.config.defaults.scope;
|
|
369
|
+
const { lang, scope } = this.resolveContext(options);
|
|
356
370
|
const params = options?.params;
|
|
357
371
|
const waitForLoad = options?.waitForLoad ?? false;
|
|
358
372
|
const timeoutMs = options?.timeoutMs ?? 100;
|
|
@@ -392,18 +406,11 @@ class AXTranslationService {
|
|
|
392
406
|
}));
|
|
393
407
|
}), shareReplay({ bufferSize: 1, refCount: true }));
|
|
394
408
|
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
if (!entries.length) {
|
|
401
|
-
return false;
|
|
402
|
-
}
|
|
403
|
-
return entries.every(([key, entryValue]) => LOCALE_KEY_REGEX.test(key) && typeof entryValue === 'string');
|
|
404
|
-
}
|
|
405
|
-
resolveMultiLanguageValue(value, locale) {
|
|
406
|
-
return value[locale] ?? value['en-US'] ?? Object.values(value).find((item) => item != null) ?? '';
|
|
409
|
+
resolveContext(options) {
|
|
410
|
+
return {
|
|
411
|
+
lang: options?.lang ?? this.getActiveLang() ?? this.config.defaults.lang,
|
|
412
|
+
scope: options?.scope ?? this.config.defaults.scope,
|
|
413
|
+
};
|
|
407
414
|
}
|
|
408
415
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
409
416
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXTranslationService, providedIn: 'root' }); }
|
|
@@ -504,5 +511,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
504
511
|
* Generated bundle index. Do not edit.
|
|
505
512
|
*/
|
|
506
513
|
|
|
507
|
-
export { AXTranslationDefaultConfig, AXTranslationLoaderDefault, AXTranslationModule, AXTranslationService, AXTranslatorDirective, AXTranslatorPipe, AX_TRANSLATION_CONFIG, AX_TRANSLATION_LOADER, loadTranslationScope, translateSync, translationConfig };
|
|
514
|
+
export { AXTranslationDefaultConfig, AXTranslationLoaderDefault, AXTranslationModule, AXTranslationService, AXTranslatorDirective, AXTranslatorPipe, AX_TRANSLATION_CONFIG, AX_TRANSLATION_LOADER, LOCALE_KEY_REGEX, isValidMultiLanguageObject, loadTranslationScope, resolveMultiLanguageValue, translateSync, translationConfig };
|
|
508
515
|
//# sourceMappingURL=acorex-core-translation.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-core-translation.mjs","sources":["../tmp-esm2022/translation/lib/translation.config.js","../tmp-esm2022/translation/lib/translation.loader.js","../tmp-esm2022/translation/lib/translation-loader.service.js","../tmp-esm2022/translation/lib/translation.parser.js","../tmp-esm2022/translation/lib/translation.resolver.js","../tmp-esm2022/translation/lib/translation.service.js","../tmp-esm2022/translation/lib/translation-scope.resolver.js","../tmp-esm2022/translation/lib/translator.directive.js","../tmp-esm2022/translation/lib/translator.pipe.js","../tmp-esm2022/translation/lib/translation.module.js","../tmp-esm2022/translation/acorex-core-translation.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const AX_TRANSLATION_CONFIG = new InjectionToken('AX_TRANSLATION_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return AXTranslationDefaultConfig;\n },\n});\nexport const AXTranslationDefaultConfig = {\n defaults: {\n lang: 'en-US',\n scope: 'acorex',\n },\n preload: {\n langs: ['en-US'],\n scopes: ['acorex'],\n },\n resolver: {\n scopeKey: 'scope',\n },\n};\nexport function translationConfig(config = {}) {\n const result = {\n ...AXTranslationDefaultConfig,\n ...config,\n };\n return result;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBeUIvQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsdUJBQXVCLEVBQUU7SUFDcEcsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUF3QjtJQUM3RCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsT0FBTztRQUNiLEtBQUssRUFBRSxRQUFRO0tBQ2hCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNuQjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxPQUFPO0tBQ2xCO0NBQ0YsQ0FBQztBQUlGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxTQUFxQyxFQUFFO0lBQ3ZFLE1BQU0sTUFBTSxHQUFHO1FBQ2IsR0FBRywwQkFBMEI7UUFDN0IsR0FBRyxNQUFNO0tBQ1YsQ0FBQztJQUNGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVMYW5nLCBBWFRyYW5zbGF0ZVNjb3BlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhUcmFuc2xhdGlvbkNvbmZpZyB7XG4gIGRlZmF1bHRzOiB7XG4gICAgbGFuZzogQVhUcmFuc2xhdGVMYW5nO1xuICAgIHNjb3BlOiBBWFRyYW5zbGF0ZVNjb3BlO1xuICB9O1xuICBwcmVsb2FkPzoge1xuICAgIGxhbmdzOiBBWFRyYW5zbGF0ZUxhbmdbXTtcbiAgICBzY29wZXM6IEFYVHJhbnNsYXRlU2NvcGVbXTtcbiAgfTtcbiAgZmFsbGJhY2tzPzoge1xuICAgIGxhbmdzPzogUmVjb3JkPEFYVHJhbnNsYXRlTGFuZywgQVhUcmFuc2xhdGVMYW5nW10+O1xuICAgIHNjb3Blcz86IFJlY29yZDxBWFRyYW5zbGF0ZVNjb3BlLCBBWFRyYW5zbGF0ZVNjb3BlW10+O1xuICB9O1xuICBhdmFpbGFibGU/OiB7XG4gICAgbGFuZ3M/OiBBWFRyYW5zbGF0ZUxhbmdbXTtcbiAgICBzY29wZXM/OiBBWFRyYW5zbGF0ZVNjb3BlW107XG4gIH07XG4gIHJlc29sdmVyPzoge1xuICAgIHNjb3BlS2V5OiBzdHJpbmc7IC8vIHVzZWQgdG8gZXh0cmFjdCBzY29wZSBmcm9tIHBhcmFtcywgZS5nLiBgc2NvcGU6ICdjb21tb24nYFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQVhfVFJBTlNMQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFYVHJhbnNsYXRpb25Db25maWc+KCdBWF9UUkFOU0xBVElPTl9DT05GSUcnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIHJldHVybiBBWFRyYW5zbGF0aW9uRGVmYXVsdENvbmZpZztcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQVhUcmFuc2xhdGlvbkRlZmF1bHRDb25maWc6IEFYVHJhbnNsYXRpb25Db25maWcgPSB7XG4gIGRlZmF1bHRzOiB7XG4gICAgbGFuZzogJ2VuLVVTJyxcbiAgICBzY29wZTogJ2Fjb3JleCcsXG4gIH0sXG4gIHByZWxvYWQ6IHtcbiAgICBsYW5nczogWydlbi1VUyddLFxuICAgIHNjb3BlczogWydhY29yZXgnXSxcbiAgfSxcbiAgcmVzb2x2ZXI6IHtcbiAgICBzY29wZUtleTogJ3Njb3BlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCB0eXBlIEFYUGFydGlhbFRyYW5zbGF0aW9uQ29uZmlnID0gUGFydGlhbDxBWFRyYW5zbGF0aW9uQ29uZmlnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0aW9uQ29uZmlnKGNvbmZpZzogQVhQYXJ0aWFsVHJhbnNsYXRpb25Db25maWcgPSB7fSk6IEFYVHJhbnNsYXRpb25Db25maWcge1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgLi4uQVhUcmFuc2xhdGlvbkRlZmF1bHRDb25maWcsXG4gICAgLi4uY29uZmlnLFxuICB9O1xuICByZXR1cm4gcmVzdWx0O1xufVxuIl19","import { InjectionToken } from '@angular/core';\nimport { of } from 'rxjs';\nexport class AXTranslationLoaderDefault {\n load(options) {\n return of({});\n }\n}\nexport const AX_TRANSLATION_LOADER = new InjectionToken('AX_TRANSLATION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXTranslationLoaderDefault();\n },\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFZdEMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxJQUFJLENBQUMsT0FBbUM7UUFDdEMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHVCQUF1QixFQUFFO0lBQ3BHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixPQUFPLElBQUksMEJBQTBCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZUxhbmcsIEFYVHJhbnNsYXRlU2NvcGUsIEFYVHJhbnNsYXRpb24gfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFRyYW5zbGF0aW9uTG9hZGVyT3B0aW9ucyB7XG4gIGxhbmc6IEFYVHJhbnNsYXRlTGFuZztcbiAgc2NvcGU/OiBBWFRyYW5zbGF0ZVNjb3BlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYVHJhbnNsYXRpb25Mb2FkZXIge1xuICBsb2FkKG9wdGlvbnM6IEFYVHJhbnNsYXRpb25Mb2FkZXJPcHRpb25zKTogT2JzZXJ2YWJsZTxBWFRyYW5zbGF0aW9uPjtcbn1cblxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRpb25Mb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhUcmFuc2xhdGlvbkxvYWRlciB7XG4gIGxvYWQob3B0aW9uczogQVhUcmFuc2xhdGlvbkxvYWRlck9wdGlvbnMpOiBPYnNlcnZhYmxlPEFYVHJhbnNsYXRpb24+IHtcbiAgICByZXR1cm4gb2Yoe30pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWF9UUkFOU0xBVElPTl9MT0FERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhUcmFuc2xhdGlvbkxvYWRlcj4oJ0FYX1RSQU5TTEFUSU9OX0xPQURFUicsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBBWFRyYW5zbGF0aW9uTG9hZGVyRGVmYXVsdCgpO1xuICB9LFxufSk7XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { firstValueFrom, of, shareReplay, tap } from 'rxjs';\nimport { AX_TRANSLATION_CONFIG } from './translation.config';\nimport { AX_TRANSLATION_LOADER } from './translation.loader';\nimport { AXEventService, AXSystemEvents } from '@acorex/core/events';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslationLoaderService {\n constructor() {\n this.loader = inject(AX_TRANSLATION_LOADER);\n this.config = inject(AX_TRANSLATION_CONFIG);\n this.eventService = inject(AXEventService);\n this.cache = new Map();\n this.inflight = new Map();\n }\n load(lang, scope) {\n const key = `${lang}:${scope}`;\n // 1. Check cache first\n if (this.cache.has(key)) {\n return of(this.cache.get(key));\n }\n // 2. Check if it's already in-flight\n if (this.inflight.has(key)) {\n return this.inflight.get(key);\n }\n // 3. Not in cache, not in-flight: Make the request\n const newObs = this.loader.load({ lang, scope }).pipe(tap({\n next: (data) => {\n this.cache.set(key, data);\n // No need to delete from inflight here, finalize will handle it\n // or delete it only after caching. If you delete here, and shareReplay\n // source completes, subsequent subscribers might re-trigger if not careful.\n // It's better to remove from inflight in finalize or after shareReplay has replayed.\n // For simplicity and common patterns, removing after caching within tap (before shareReplay)\n // can work if shareReplay handles the source completion correctly.\n // A safer bet is to remove it in finalize *after* shareReplay.\n // Emit event to notify other components that the language has been loaded\n this.eventService.emitEvent({\n type: AXSystemEvents.AXLanguageLoaded,\n payload: data,\n });\n },\n error: (err) => {\n console.error(`Error loading ${key}:`, err);\n // Remove from inflight on error so subsequent calls can retry\n this.inflight.delete(key);\n },\n // finalize is tricky with shareReplay if you want to keep the replayed value\n // but still clear inflight. For this pattern, deleting on next/error\n // *before* shareReplay often means that shareReplay will re-trigger the source\n // if the inflight observable is requested again after being deleted.\n // The current structure of deleting in `tap` and then `shareReplay`\n // might need `this.inflight.delete(key)` to be moved after `shareReplay` effect.\n // Let's try a common pattern:\n }), shareReplay(1), // Replay the last emitted value for subsequent subscribers\n tap({\n // This tap runs *after* shareReplay has done its work for the first subscriber\n // and for subsequent subscribers that get the replayed value.\n next: () => {\n // Once data is successfully loaded and cached (by the first tap),\n // and shareReplay ensures it's available, we can remove from inflight.\n // This means subsequent calls for the same key during the \"inflight\" period\n // get the shared observable, and after it resolves and is cached,\n // inflight is cleared.\n this.inflight.delete(key);\n },\n // Error is handled by the first tap, or catchError if you want to provide a fallback\n }));\n this.inflight.set(key, newObs); // Store the observable that includes caching and cleanup logic\n return newObs;\n }\n peek(lang, scope, key) {\n const cacheKey = `${lang}:${scope}`;\n const data = this.cache.get(cacheKey);\n return get(data, key, null);\n }\n async preload(options) {\n const langsToLoad = [...new Set(options?.langs ?? this.config.preload?.langs ?? [this.config.defaults.lang])];\n const scopesToLoad = [...new Set(options?.scopes ?? this.config.preload?.scopes ?? [this.config.defaults.scope])];\n const loadPromises = [];\n langsToLoad.forEach((lang) => {\n scopesToLoad.forEach((scope) => {\n const loadPromise = firstValueFrom(this.load(lang, scope)) // This should now always get a valid Observable\n .then((value) => ({ lang, scope, status: 'fulfilled', value }))\n .catch((reason) => ({ lang, scope, status: 'rejected', reason }));\n loadPromises.push(loadPromise);\n });\n });\n const results = await Promise.all(loadPromises);\n let allSucceeded = true;\n results.forEach((result) => {\n if (result.status === 'rejected') {\n allSucceeded = false;\n console.error(`Failed to preload translations for lang: ${result.lang}, scope: ${result.scope}. Reason:`, result.reason);\n }\n else {\n // console.log(`Successfully preloaded lang: ${result.lang}, scope: ${result.scope}`); // Optionally uncomment for success logs\n }\n // else {\n // console.log(`Successfully preloaded lang: ${result.lang}, scope: ${result.scope}`); // Optionally uncomment for success logs\n // }\n });\n if (!allSucceeded) {\n console.error('One or more translation preloads failed. See console for details.');\n // throw new Error(\"One or more translation preloads failed. See console for details.\");\n }\n // The second results.forEach loop in your original code was redundant, I've removed it.\n // If it was for a different purpose, you can add it back.\n }\n clear() {\n this.cache.clear();\n this.inflight.clear();\n }\n getFallbackLangs(lang) {\n return this.config.fallbacks?.langs?.[lang] ?? [];\n }\n getFallbackScopes(scope) {\n return this.config.fallbacks?.scopes?.[scope] ?? [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationLoaderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationLoaderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQWMsY0FBYyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JFLE1BQU0sT0FBTywwQkFBMEI7SUFEdkM7UUFFVSxXQUFNLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXRDLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7S0FpSWpFO0lBL0hRLElBQUksQ0FBQyxJQUFxQixFQUFFLEtBQXVCO1FBQ3hELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRS9CLHVCQUF1QjtRQUN2QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxF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QVcsRUFDMUYsTUFBTSxDQUFDLE1BQU0sQ0FDZCxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLCtIQUErSDtZQUNqSSxDQUFDO1lBQ0QsU0FBUztZQUNULCtIQUErSDtZQUMvSCxJQUFJO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO1lBQ25GLHdGQUF3RjtRQUMxRixDQUFDO1FBQ0Qsd0ZBQXdGO1FBQ3hGLDBEQUEwRDtJQUM1RCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBcUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQXVCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUM7OEdBdElVLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRGIsTUFBTTs7MkZBQ25CLDBCQUEwQjtrQkFEdEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdFZhbHVlRnJvbSwgb2YsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0NPTkZJRyB9IGZyb20gJy4vdHJhbnNsYXRpb24uY29uZmlnJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0xPQURFUiB9IGZyb20gJy4vdHJhbnNsYXRpb24ubG9hZGVyJztcbmltcG9ydCB7IEFYVHJhbnNsYXRlTGFuZywgQVhUcmFuc2xhdGVTY29wZSwgQVhUcmFuc2xhdGlvbiB9IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgQVhFdmVudFNlcnZpY2UsIEFYU3lzdGVtRXZlbnRzIH0gZnJvbSAnQGFjb3JleC9jb3JlL2V2ZW50cyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdGlvbkxvYWRlclNlcnZpY2Uge1xuICBwcml2YXRlIGxvYWRlciA9IGluamVjdChBWF9UUkFOU0xBVElPTl9MT0FERVIpO1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpO1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWEV2ZW50U2VydmljZSk7XG5cbiAgcHJpdmF0ZSBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBBWFRyYW5zbGF0aW9uPigpO1xuICBwcml2YXRlIGluZmxpZ2h0ID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8QVhUcmFuc2xhdGlvbj4+KCk7XG5cbiAgcHVibGljIGxvYWQobGFuZzogQVhUcmFuc2xhdGVMYW5nLCBzY29wZTogQVhUcmFuc2xhdGVTY29wZSk6IE9ic2VydmFibGU8QVhUcmFuc2xhdGlvbj4ge1xuICAgIGNvbnN0IGtleSA9IGAke2xhbmd9OiR7c2NvcGV9YDtcblxuICAgIC8vIDEuIENoZWNrIGNhY2hlIGZpcnN0XG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNhY2hlLmdldChrZXkpISk7XG4gICAgfVxuXG4gICAgLy8gMi4gQ2hlY2sgaWYgaXQncyBhbHJlYWR5IGluLWZsaWdodFxuICAgIGlmICh0aGlzLmluZmxpZ2h0LmhhcyhrZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbmZsaWdodC5nZXQoa2V5KSE7XG4gICAgfVxuXG4gICAgLy8gMy4gTm90IGluIGNhY2hlLCBub3QgaW4tZmxpZ2h0OiBNYWtlIHRoZSByZXF1ZXN0XG4gICAgY29uc3QgbmV3T2JzID0gdGhpcy5sb2FkZXIubG9hZCh7IGxhbmcsIHNjb3BlIH0pLnBpcGUoXG4gICAgICB0YXAoe1xuICAgICAgICBuZXh0OiAoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KGtleSwgZGF0YSk7XG4gICAgICAgICAgLy8gTm8gbmVlZCB0byBkZWxldGUgZnJvbSBpbmZsaWdodCBoZXJlLCBmaW5hbGl6ZSB3aWxsIGhhbmRsZSBpdFxuICAgICAgICAgIC8vIG9yIGRlbGV0ZSBpdCBvbmx5IGFmdGVyIGNhY2hpbmcuIElmIHlvdSBkZWxldGUgaGVyZSwgYW5kIHNoYXJlUmVwbGF5XG4gICAgICAgICAgLy8gc291cmNlIGNvbXBsZXRlcywgc3Vic2VxdWVudCBzdWJzY3JpYmVycyBtaWdodCByZS10cmlnZ2VyIGlmIG5vdCBjYXJlZnVsLlxuICAgICAgICAgIC8vIEl0J3MgYmV0dGVyIHRvIHJlbW92ZSBmcm9tIGluZmxpZ2h0IGluIGZpbmFsaXplIG9yIGFmdGVyIHNoYXJlUmVwbGF5IGhhcyByZXBsYXllZC5cbiAgICAgICAgICAvLyBGb3Igc2ltcGxpY2l0eSBhbmQgY29tbW9uIHBhdHRlcm5zLCByZW1vdmluZyBhZnRlciBjYWNoaW5nIHdpdGhpbiB0YXAgKGJlZm9yZSBzaGFyZVJlcGxheSlcbiAgICAgICAgICAvLyBjYW4gd29yayBpZiBzaGFyZVJlcGxheSBoYW5kbGVzIHRoZSBzb3VyY2UgY29tcGxldGlvbiBjb3JyZWN0bHkuXG4gICAgICAgICAgLy8gQSBzYWZlciBiZXQgaXMgdG8gcmVtb3ZlIGl0IGluIGZpbmFsaXplICphZnRlciogc2hhcmVSZXBsYXkuXG5cbiAgICAgICAgICAvLyBFbWl0IGV2ZW50IHRvIG5vdGlmeSBvdGhlciBjb21wb25lbnRzIHRoYXQgdGhlIGxhbmd1YWdlIGhhcyBiZWVuIGxvYWRlZFxuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLmVtaXRFdmVudCh7XG4gICAgICAgICAgICB0eXBlOiBBWFN5c3RlbUV2ZW50cy5BWExhbmd1YWdlTG9hZGVkLFxuICAgICAgICAgICAgcGF5bG9hZDogZGF0YSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nICR7a2V5fTpgLCBlcnIpO1xuICAgICAgICAgIC8vIFJlbW92ZSBmcm9tIGluZmxpZ2h0IG9uIGVycm9yIHNvIHN1YnNlcXVlbnQgY2FsbHMgY2FuIHJldHJ5XG4gICAgICAgICAgdGhpcy5pbmZsaWdodC5kZWxldGUoa2V5KTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gZmluYWxpemUgaXMgdHJpY2t5IHdpdGggc2hhcmVSZXBsYXkgaWYgeW91IHdhbnQgdG8ga2VlcCB0aGUgcmVwbGF5ZWQgdmFsdWVcbiAgICAgICAgLy8gYnV0IHN0aWxsIGNsZWFyIGluZmxpZ2h0LiBGb3IgdGhpcyBwYXR0ZXJuLCBkZWxldGluZyBvbiBuZXh0L2Vycm9yXG4gICAgICAgIC8vICpiZWZvcmUqIHNoYXJlUmVwbGF5IG9mdGVuIG1lYW5zIHRoYXQgc2hhcmVSZXBsYXkgd2lsbCByZS10cmlnZ2VyIHRoZSBzb3VyY2VcbiAgICAgICAgLy8gaWYgdGhlIGluZmxpZ2h0IG9ic2VydmFibGUgaXMgcmVxdWVzdGVkIGFnYWluIGFmdGVyIGJlaW5nIGRlbGV0ZWQuXG4gICAgICAgIC8vIFRoZSBjdXJyZW50IHN0cnVjdHVyZSBvZiBkZWxldGluZyBpbiBgdGFwYCBhbmQgdGhlbiBgc2hhcmVSZXBsYXlgXG4gICAgICAgIC8vIG1pZ2h0IG5lZWQgYHRoaXMuaW5mbGlnaHQuZGVsZXRlKGtleSlgIHRvIGJlIG1vdmVkIGFmdGVyIGBzaGFyZVJlcGxheWAgZWZmZWN0LlxuICAgICAgICAvLyBMZXQncyB0cnkgYSBjb21tb24gcGF0dGVybjpcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSksIC8vIFJlcGxheSB0aGUgbGFzdCBlbWl0dGVkIHZhbHVlIGZvciBzdWJzZXF1ZW50IHN1YnNjcmliZXJzXG4gICAgICB0YXAoe1xuICAgICAgICAvLyBUaGlzIHRhcCBydW5zICphZnRlciogc2hhcmVSZXBsYXkgaGFzIGRvbmUgaXRzIHdvcmsgZm9yIHRoZSBmaXJzdCBzdWJzY3JpYmVyXG4gICAgICAgIC8vIGFuZCBmb3Igc3Vic2VxdWVudCBzdWJzY3JpYmVycyB0aGF0IGdldCB0aGUgcmVwbGF5ZWQgdmFsdWUuXG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAvLyBPbmNlIGRhdGEgaXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZCBhbmQgY2FjaGVkIChieSB0aGUgZmlyc3QgdGFwKSxcbiAgICAgICAgICAvLyBhbmQgc2hhcmVSZXBsYXkgZW5zdXJlcyBpdCdzIGF2YWlsYWJsZSwgd2UgY2FuIHJlbW92ZSBmcm9tIGluZmxpZ2h0LlxuICAgICAgICAgIC8vIFRoaXMgbWVhbnMgc3Vic2VxdWVudCBjYWxscyBmb3IgdGhlIHNhbWUga2V5IGR1cmluZyB0aGUgXCJpbmZsaWdodFwiIHBlcmlvZFxuICAgICAgICAgIC8vIGdldCB0aGUgc2hhcmVkIG9ic2VydmFibGUsIGFuZCBhZnRlciBpdCByZXNvbHZlcyBhbmQgaXMgY2FjaGVkLFxuICAgICAgICAgIC8vIGluZmxpZ2h0IGlzIGNsZWFyZWQuXG4gICAgICAgICAgdGhpcy5pbmZsaWdodC5kZWxldGUoa2V5KTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gRXJyb3IgaXMgaGFuZGxlZCBieSB0aGUgZmlyc3QgdGFwLCBvciBjYXRjaEVycm9yIGlmIHlvdSB3YW50IHRvIHByb3ZpZGUgYSBmYWxsYmFja1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuaW5mbGlnaHQuc2V0KGtleSwgbmV3T2JzKTsgLy8gU3RvcmUgdGhlIG9ic2VydmFibGUgdGhhdCBpbmNsdWRlcyBjYWNoaW5nIGFuZCBjbGVhbnVwIGxvZ2ljXG4gICAgcmV0dXJuIG5ld09icztcbiAgfVxuXG4gIHB1YmxpYyBwZWVrKGxhbmc6IEFYVHJhbnNsYXRlTGFuZywgc2NvcGU6IEFYVHJhbnNsYXRlU2NvcGUsIGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBgJHtsYW5nfToke3Njb3BlfWA7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KTtcbiAgICByZXR1cm4gZ2V0KGRhdGEsIGtleSwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJlbG9hZChvcHRpb25zPzogeyBsYW5ncz86IEFYVHJhbnNsYXRlTGFuZ1tdOyBzY29wZXM/OiBBWFRyYW5zbGF0ZVNjb3BlW10gfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGxhbmdzVG9Mb2FkID0gWy4uLm5ldyBTZXQob3B0aW9ucz8ubGFuZ3MgPz8gdGhpcy5jb25maWcucHJlbG9hZD8ubGFuZ3MgPz8gW3RoaXMuY29uZmlnLmRlZmF1bHRzLmxhbmddKV07XG4gICAgY29uc3Qgc2NvcGVzVG9Mb2FkID0gWy4uLm5ldyBTZXQob3B0aW9ucz8uc2NvcGVzID8/IHRoaXMuY29uZmlnLnByZWxvYWQ/LnNjb3BlcyA/PyBbdGhpcy5jb25maWcuZGVmYXVsdHMuc2NvcGVdKV07XG5cbiAgICBjb25zdCBsb2FkUHJvbWlzZXM6IFByb21pc2U8XG4gICAgICB8IHsgbGFuZzogQVhUcmFuc2xhdGVMYW5nOyBzY29wZTogQVhUcmFuc2xhdGVTY29wZTsgc3RhdHVzOiAnZnVsZmlsbGVkJzsgdmFsdWU6IEFYVHJhbnNsYXRpb24gfSAvLyBDaGFuZ2VkIGFueSB0byBBWFRyYW5zbGF0aW9uXG4gICAgICB8IHsgbGFuZzogQVhUcmFuc2xhdGVMYW5nOyBzY29wZTogQVhUcmFuc2xhdGVTY29wZTsgc3RhdHVzOiAncmVqZWN0ZWQnOyByZWFzb246IGFueSB9XG4gICAgPltdID0gW107XG5cbiAgICBsYW5nc1RvTG9hZC5mb3JFYWNoKChsYW5nKSA9PiB7XG4gICAgICBzY29wZXNUb0xvYWQuZm9yRWFjaCgoc2NvcGUpID0+IHtcbiAgICAgICAgY29uc3QgbG9hZFByb21pc2UgPSBmaXJzdFZhbHVlRnJvbSh0aGlzLmxvYWQobGFuZywgc2NvcGUpKSAvLyBUaGlzIHNob3VsZCBub3cgYWx3YXlzIGdldCBhIHZhbGlkIE9ic2VydmFibGVcbiAgICAgICAgICAudGhlbigodmFsdWUpID0+ICh7IGxhbmcsIHNjb3BlLCBzdGF0dXM6ICdmdWxmaWxsZWQnIGFzIGNvbnN0LCB2YWx1ZSB9KSlcbiAgICAgICAgICAuY2F0Y2goKHJlYXNvbikgPT4gKHsgbGFuZywgc2NvcGUsIHN0YXR1czogJ3JlamVjdGVkJyBhcyBjb25zdCwgcmVhc29uIH0pKTtcbiAgICAgICAgbG9hZFByb21pc2VzLnB1c2gobG9hZFByb21pc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwobG9hZFByb21pc2VzKTtcblxuICAgIGxldCBhbGxTdWNjZWVkZWQgPSB0cnVlO1xuICAgIHJlc3VsdHMuZm9yRWFjaCgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gJ3JlamVjdGVkJykge1xuICAgICAgICBhbGxTdWNjZWVkZWQgPSBmYWxzZTtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBgRmFpbGVkIHRvIHByZWxvYWQgdHJhbnNsYXRpb25zIGZvciBsYW5nOiAke3Jlc3VsdC5sYW5nfSwgc2NvcGU6ICR7cmVzdWx0LnNjb3BlfS4gUmVhc29uOmAsXG4gICAgICAgICAgcmVzdWx0LnJlYXNvbixcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBTdWNjZXNzZnVsbHkgcHJlbG9hZGVkIGxhbmc6ICR7cmVzdWx0Lmxhbmd9LCBzY29wZTogJHtyZXN1bHQuc2NvcGV9YCk7IC8vIE9wdGlvbmFsbHkgdW5jb21tZW50IGZvciBzdWNjZXNzIGxvZ3NcbiAgICAgIH1cbiAgICAgIC8vIGVsc2Uge1xuICAgICAgLy8gY29uc29sZS5sb2coYFN1Y2Nlc3NmdWxseSBwcmVsb2FkZWQgbGFuZzogJHtyZXN1bHQubGFuZ30sIHNjb3BlOiAke3Jlc3VsdC5zY29wZX1gKTsgLy8gT3B0aW9uYWxseSB1bmNvbW1lbnQgZm9yIHN1Y2Nlc3MgbG9nc1xuICAgICAgLy8gfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhbGxTdWNjZWVkZWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ09uZSBvciBtb3JlIHRyYW5zbGF0aW9uIHByZWxvYWRzIGZhaWxlZC4gU2VlIGNvbnNvbGUgZm9yIGRldGFpbHMuJyk7XG4gICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoXCJPbmUgb3IgbW9yZSB0cmFuc2xhdGlvbiBwcmVsb2FkcyBmYWlsZWQuIFNlZSBjb25zb2xlIGZvciBkZXRhaWxzLlwiKTtcbiAgICB9XG4gICAgLy8gVGhlIHNlY29uZCByZXN1bHRzLmZvckVhY2ggbG9vcCBpbiB5b3VyIG9yaWdpbmFsIGNvZGUgd2FzIHJlZHVuZGFudCwgSSd2ZSByZW1vdmVkIGl0LlxuICAgIC8vIElmIGl0IHdhcyBmb3IgYSBkaWZmZXJlbnQgcHVycG9zZSwgeW91IGNhbiBhZGQgaXQgYmFjay5cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gICAgdGhpcy5pbmZsaWdodC5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIGdldEZhbGxiYWNrTGFuZ3MobGFuZzogQVhUcmFuc2xhdGVMYW5nKTogQVhUcmFuc2xhdGVMYW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5mYWxsYmFja3M/LmxhbmdzPy5bbGFuZ10gPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0RmFsbGJhY2tTY29wZXMoc2NvcGU6IEFYVHJhbnNsYXRlU2NvcGUpOiBBWFRyYW5zbGF0ZVNjb3BlW10ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5mYWxsYmFja3M/LnNjb3Blcz8uW3Njb3BlXSA/PyBbXTtcbiAgfVxufVxuIl19","export class TranslationParserService {\n constructor() {\n this.legacyRegex = /t\\([\"']([^\"']+)[\"']\\s*(?:,\\s*(\\{.*?\\}))?\\)/g;\n this.inlineRegex = /@([a-zA-Z\\-]+:)?([a-zA-Z0-9_-]+):([a-zA-Z0-9_.:-]+)(?=[\\\\s.,;!?)]|$)/g;\n }\n isExpression(value) {\n return typeof value === 'string' && (value.includes('t(') || value.includes('@'));\n }\n parse(expression, currentLang, currentScope) {\n const tokens = [];\n // Extract inline references like @lang:scope:key or @scope:key\n let inlineMatch;\n while ((inlineMatch = this.inlineRegex.exec(expression)) !== null) {\n const langPart = inlineMatch[1]?.replace(':', '') ?? null;\n const scope = inlineMatch[2] ?? currentScope;\n const key = inlineMatch[3];\n const fullMatch = inlineMatch[0];\n tokens.push({ lang: langPart || currentLang, scope, key, fullMatch });\n }\n // Extract legacy expressions\n let legacyMatch;\n while ((legacyMatch = this.legacyRegex.exec(expression)) !== null) {\n const key = legacyMatch[1];\n const rawOptions = legacyMatch[2];\n let scope = currentScope;\n let lang = currentLang;\n if (rawOptions) {\n try {\n const jsonString = rawOptions.replace(/(['\"])?([a-zA-Z0-9_]+)(['\"])?\\s*:/g, '\"$2\":').replace(/'/g, '\"');\n const options = JSON.parse(jsonString);\n scope = options.scope || scope;\n lang = options.lang || lang;\n }\n catch (err) {\n console.error('Invalid translation expression options:', err);\n }\n }\n tokens.push({ key, scope, lang, fullMatch: legacyMatch[0] });\n }\n return tokens;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ucGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLnBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sd0JBQXdCO0lBQXJDO1FBQ21CLGdCQUFXLEdBQUcsNkNBQTZDLENBQUM7UUFDNUQsZ0JBQVcsR0FBRyx1RUFBdUUsQ0FBQztJQTRDekcsQ0FBQztJQTFDUSxZQUFZLENBQUMsS0FBYTtRQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBa0IsRUFBRSxXQUFtQixFQUFFLFlBQW9CO1FBQ3hFLE1BQU0sTUFBTSxHQUFvQixFQUFFLENBQUM7UUFFbkMsK0RBQStEO1FBQy9ELElBQUksV0FBVyxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNsRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDMUQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQztZQUM3QyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxJQUFJLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELDZCQUE2QjtRQUM3QixJQUFJLFdBQVcsQ0FBQztRQUNoQixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbEUsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUM7WUFDekIsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDO1lBRXZCLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDO29CQUNILE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDeEcsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdkMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO29CQUMvQixJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7Z0JBQzlCLENBQUM7Z0JBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztvQkFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRSxDQUFDO1lBQ0gsQ0FBQztZQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQYXJzZWRUb2tlbiB9IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25QYXJzZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsZWdhY3lSZWdleCA9IC90XFwoW1wiJ10oW15cIiddKylbXCInXVxccyooPzosXFxzKihcXHsuKj9cXH0pKT9cXCkvZztcbiAgcHJpdmF0ZSByZWFkb25seSBpbmxpbmVSZWdleCA9IC9AKFthLXpBLVpcXC1dKzopPyhbYS16QS1aMC05Xy1dKyk6KFthLXpBLVowLTlfLjotXSspKD89W1xcXFxzLiw7IT8pXXwkKS9nO1xuXG4gIHB1YmxpYyBpc0V4cHJlc3Npb24odmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICh2YWx1ZS5pbmNsdWRlcygndCgnKSB8fCB2YWx1ZS5pbmNsdWRlcygnQCcpKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXJzZShleHByZXNzaW9uOiBzdHJpbmcsIGN1cnJlbnRMYW5nOiBzdHJpbmcsIGN1cnJlbnRTY29wZTogc3RyaW5nKTogQVhQYXJzZWRUb2tlbltdIHtcbiAgICBjb25zdCB0b2tlbnM6IEFYUGFyc2VkVG9rZW5bXSA9IFtdO1xuXG4gICAgLy8gRXh0cmFjdCBpbmxpbmUgcmVmZXJlbmNlcyBsaWtlIEBsYW5nOnNjb3BlOmtleSBvciBAc2NvcGU6a2V5XG4gICAgbGV0IGlubGluZU1hdGNoO1xuICAgIHdoaWxlICgoaW5saW5lTWF0Y2ggPSB0aGlzLmlubGluZVJlZ2V4LmV4ZWMoZXhwcmVzc2lvbikpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBsYW5nUGFydCA9IGlubGluZU1hdGNoWzFdPy5yZXBsYWNlKCc6JywgJycpID8/IG51bGw7XG4gICAgICBjb25zdCBzY29wZSA9IGlubGluZU1hdGNoWzJdID8/IGN1cnJlbnRTY29wZTtcbiAgICAgIGNvbnN0IGtleSA9IGlubGluZU1hdGNoWzNdO1xuICAgICAgY29uc3QgZnVsbE1hdGNoID0gaW5saW5lTWF0Y2hbMF07XG5cbiAgICAgIHRva2Vucy5wdXNoKHsgbGFuZzogbGFuZ1BhcnQgfHwgY3VycmVudExhbmcsIHNjb3BlLCBrZXksIGZ1bGxNYXRjaCB9KTtcbiAgICB9XG5cbiAgICAvLyBFeHRyYWN0IGxlZ2FjeSBleHByZXNzaW9uc1xuICAgIGxldCBsZWdhY3lNYXRjaDtcbiAgICB3aGlsZSAoKGxlZ2FjeU1hdGNoID0gdGhpcy5sZWdhY3lSZWdleC5leGVjKGV4cHJlc3Npb24pKSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qga2V5ID0gbGVnYWN5TWF0Y2hbMV07XG4gICAgICBjb25zdCByYXdPcHRpb25zID0gbGVnYWN5TWF0Y2hbMl07XG4gICAgICBsZXQgc2NvcGUgPSBjdXJyZW50U2NvcGU7XG4gICAgICBsZXQgbGFuZyA9IGN1cnJlbnRMYW5nO1xuXG4gICAgICBpZiAocmF3T3B0aW9ucykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSByYXdPcHRpb25zLnJlcGxhY2UoLyhbJ1wiXSk/KFthLXpBLVowLTlfXSspKFsnXCJdKT9cXHMqOi9nLCAnXCIkMlwiOicpLnJlcGxhY2UoLycvZywgJ1wiJyk7XG4gICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IEpTT04ucGFyc2UoanNvblN0cmluZyk7XG4gICAgICAgICAgc2NvcGUgPSBvcHRpb25zLnNjb3BlIHx8IHNjb3BlO1xuICAgICAgICAgIGxhbmcgPSBvcHRpb25zLmxhbmcgfHwgbGFuZztcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCB0cmFuc2xhdGlvbiBleHByZXNzaW9uIG9wdGlvbnM6JywgZXJyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0b2tlbnMucHVzaCh7IGtleSwgc2NvcGUsIGxhbmcsIGZ1bGxNYXRjaDogbGVnYWN5TWF0Y2hbMF0gfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRva2VucztcbiAgfVxufVxuIl19","import { inject } from '@angular/core';\nimport { get as lodashGet } from 'lodash-es';\nimport { firstValueFrom } from 'rxjs';\nimport { AXTranslationLoaderService } from './translation-loader.service';\nimport { TranslationParserService } from './translation.parser';\n// Helper function to escape special characters for use in a regular expression\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\nexport class TranslationResolverService {\n constructor() {\n this.loaderService = inject(AXTranslationLoaderService);\n this.cache = new Map();\n this.inflight = new Map();\n this.parser = new TranslationParserService();\n }\n async resolve(lang, scope, key, params) {\n const cacheKey = `${lang}:${scope}`;\n // Load and cache if not present\n if (!this.cache.has(cacheKey)) {\n if (!this.inflight.has(cacheKey)) {\n const fetchPromise = firstValueFrom(this.loaderService.load(lang, scope));\n this.inflight.set(cacheKey, fetchPromise);\n try {\n const data = await fetchPromise;\n this.cache.set(cacheKey, data);\n }\n finally {\n this.inflight.delete(cacheKey);\n }\n }\n else {\n await this.inflight.get(cacheKey);\n }\n }\n const translations = this.cache.get(cacheKey);\n if (!translations) {\n console.warn(`Translations not found for ${cacheKey} after attempting to load.`);\n const unresolvedResult = key;\n return this.format(unresolvedResult, params);\n }\n let result = lodashGet(translations, key, key);\n // Recursively resolve references\n if (typeof result === 'string' && this.parser.isExpression(result)) {\n const tokens = this.parser.parse(result, lang, scope);\n if (tokens.length > 0) {\n const first = tokens[0];\n result = await this.resolve(first.lang || lang, first.scope || scope, first.key, params);\n }\n }\n return this.format(result, params);\n }\n format(text, params) {\n if (!params || typeof text !== 'string' || Object.keys(params).length === 0) {\n return text;\n }\n return Object.keys(params).reduce((currentText, paramKey) => {\n // paramKey is the key from the params object, e.g., \"title\" or \" title \"\n const valueToInsert = params[paramKey];\n // 1. Trim the key from the params object to handle potential leading/trailing spaces.\n // e.g., if paramKey is \" title \", keyForPattern becomes \"title\".\n const keyForPattern = paramKey.trim();\n // If trimming results in an empty string, it's not a valid placeholder to replace.\n if (keyForPattern === '') {\n return currentText;\n }\n // 2. Escape the trimmed key to safely use it in a regular expression.\n // This handles cases where the key might contain special regex characters (e.g., \"user.name\", \"item[0]\").\n const escapedKey = escapeRegExp(keyForPattern);\n // 3. Construct the RegExp. This will match:\n // - {{KEY}}\n // - {{ KEY }}\n // - {{ KEY }}\n // etc., where KEY is the (trimmed and escaped) paramKey.\n const re = new RegExp(`{{\\\\s*${escapedKey}\\\\s*}}`, 'g');\n // 4. Replace occurrences, ensuring the value is a string.\n return currentText.replace(re, String(valueToInsert));\n }, text);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24ucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hFLCtFQUErRTtBQUMvRSxTQUFTLFlBQVksQ0FBQyxNQUFjO0lBQ2xDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxPQUFPLDBCQUEwQjtJQUF2QztRQUNVLGtCQUFhLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDbkQsVUFBSyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO1FBQ3pDLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBa0MsQ0FBQztRQUNyRCxXQUFNLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0lBK0VsRCxDQUFDO0lBN0VDLEtBQUssQ0FBQyxPQUFPLENBQ1gsSUFBcUIsRUFDckIsS0FBdUIsRUFDdkIsR0FBVyxFQUNYLE1BQTBCO1FBRTFCLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRXBDLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5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LENBQUM7WUFFRCxzRUFBc0U7WUFDdEUsNkdBQTZHO1lBQzdHLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUUvQyw0Q0FBNEM7WUFDNUMsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsNERBQTREO1lBQzVELE1BQU0sRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLFNBQVMsVUFBVSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFeEQsMERBQTBEO1lBQzFELE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgYXMgbG9kYXNoR2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25QYXJzZXJTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5wYXJzZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVMYW5nLCBBWFRyYW5zbGF0ZVBhcmFtcywgQVhUcmFuc2xhdGVTY29wZSwgQVhUcmFuc2xhdGlvbiB9IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZXNjYXBlIHNwZWNpYWwgY2hhcmFjdGVycyBmb3IgdXNlIGluIGEgcmVndWxhciBleHByZXNzaW9uXG5mdW5jdGlvbiBlc2NhcGVSZWdFeHAoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblJlc29sdmVyU2VydmljZSB7XG4gIHByaXZhdGUgbG9hZGVyU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSk7XG4gIHByaXZhdGUgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgQVhUcmFuc2xhdGlvbj4oKTtcbiAgcHJpdmF0ZSBpbmZsaWdodCA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPEFYVHJhbnNsYXRpb24+PigpO1xuICBwcml2YXRlIHBhcnNlciA9IG5ldyBUcmFuc2xhdGlvblBhcnNlclNlcnZpY2UoKTtcblxuICBhc3luYyByZXNvbHZlKFxuICAgIGxhbmc6IEFYVHJhbnNsYXRlTGFuZyxcbiAgICBzY29wZTogQVhUcmFuc2xhdGVTY29wZSxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBwYXJhbXM/OiBBWFRyYW5zbGF0ZVBhcmFtcyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IGAke2xhbmd9OiR7c2NvcGV9YDtcblxuICAgIC8vIExvYWQgYW5kIGNhY2hlIGlmIG5vdCBwcmVzZW50XG4gICAgaWYgKCF0aGlzLmNhY2hlLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgIGlmICghdGhpcy5pbmZsaWdodC5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICAgIGNvbnN0IGZldGNoUHJvbWlzZSA9IGZpcnN0VmFsdWVGcm9tKHRoaXMubG9hZGVyU2VydmljZS5sb2FkKGxhbmcsIHNjb3BlKSk7XG4gICAgICAgIHRoaXMuaW5mbGlnaHQuc2V0KGNhY2hlS2V5LCBmZXRjaFByb21pc2UpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmZXRjaFByb21pc2U7XG4gICAgICAgICAgdGhpcy5jYWNoZS5zZXQoY2FjaGVLZXksIGRhdGEpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRoaXMuaW5mbGlnaHQuZGVsZXRlKGNhY2hlS2V5KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdGhpcy5pbmZsaWdodC5nZXQoY2FjaGVLZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zbGF0aW9ucyA9IHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KTtcbiAgICBpZiAoIXRyYW5zbGF0aW9ucykge1xuICAgICAgY29uc29sZS53YXJuKGBUcmFuc2xhdGlvbnMgbm90IGZvdW5kIGZvciAke2NhY2hlS2V5fSBhZnRlciBhdHRlbXB0aW5nIHRvIGxvYWQuYCk7XG4gICAgICBjb25zdCB1bnJlc29sdmVkUmVzdWx0ID0ga2V5O1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KHVucmVzb2x2ZWRSZXN1bHQsIHBhcmFtcyk7XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSBsb2Rhc2hHZXQodHJhbnNsYXRpb25zLCBrZXksIGtleSk7XG5cbiAgICAvLyBSZWN1cnNpdmVseSByZXNvbHZlIHJlZmVyZW5jZXNcbiAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycgJiYgdGhpcy5wYXJzZXIuaXNFeHByZXNzaW9uKHJlc3VsdCkpIHtcbiAgICAgIGNvbnN0IHRva2VucyA9IHRoaXMucGFyc2VyLnBhcnNlKHJlc3VsdCwgbGFuZywgc2NvcGUpO1xuICAgICAgaWYgKHRva2Vucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gdG9rZW5zWzBdO1xuICAgICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnJlc29sdmUoZmlyc3QubGFuZyB8fCBsYW5nLCBmaXJzdC5zY29wZSB8fCBzY29wZSwgZmlyc3Qua2V5LCBwYXJhbXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZvcm1hdChyZXN1bHQsIHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgZm9ybWF0KHRleHQ6IHN0cmluZywgcGFyYW1zPzogQVhUcmFuc2xhdGVQYXJhbXMpOiBzdHJpbmcge1xuICAgIGlmICghcGFyYW1zIHx8IHR5cGVvZiB0ZXh0ICE9PSAnc3RyaW5nJyB8fCBPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHBhcmFtcykucmVkdWNlKChjdXJyZW50VGV4dCwgcGFyYW1LZXkpID0+IHtcbiAgICAgIC8vIHBhcmFtS2V5IGlzIHRoZSBrZXkgZnJvbSB0aGUgcGFyYW1zIG9iamVjdCwgZS5nLiwgXCJ0aXRsZVwiIG9yIFwiIHRpdGxlIFwiXG4gICAgICBjb25zdCB2YWx1ZVRvSW5zZXJ0ID0gcGFyYW1zW3BhcmFtS2V5XTtcblxuICAgICAgLy8gMS4gVHJpbSB0aGUga2V5IGZyb20gdGhlIHBhcmFtcyBvYmplY3QgdG8gaGFuZGxlIHBvdGVudGlhbCBsZWFkaW5nL3RyYWlsaW5nIHNwYWNlcy5cbiAgICAgIC8vICAgIGUuZy4sIGlmIHBhcmFtS2V5IGlzIFwiIHRpdGxlIFwiLCBrZXlGb3JQYXR0ZXJuIGJlY29tZXMgXCJ0aXRsZVwiLlxuICAgICAgY29uc3Qga2V5Rm9yUGF0dGVybiA9IHBhcmFtS2V5LnRyaW0oKTtcblxuICAgICAgLy8gSWYgdHJpbW1pbmcgcmVzdWx0cyBpbiBhbiBlbXB0eSBzdHJpbmcsIGl0J3Mgbm90IGEgdmFsaWQgcGxhY2Vob2xkZXIgdG8gcmVwbGFjZS5cbiAgICAgIGlmIChrZXlGb3JQYXR0ZXJuID09PSAnJykge1xuICAgICAgICByZXR1cm4gY3VycmVudFRleHQ7XG4gICAgICB9XG5cbiAgICAgIC8vIDIuIEVzY2FwZSB0aGUgdHJpbW1lZCBrZXkgdG8gc2FmZWx5IHVzZSBpdCBpbiBhIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAgICAgIC8vICAgIFRoaXMgaGFuZGxlcyBjYXNlcyB3aGVyZSB0aGUga2V5IG1pZ2h0IGNvbnRhaW4gc3BlY2lhbCByZWdleCBjaGFyYWN0ZXJzIChlLmcuLCBcInVzZXIubmFtZVwiLCBcIml0ZW1bMF1cIikuXG4gICAgICBjb25zdCBlc2NhcGVkS2V5ID0gZXNjYXBlUmVnRXhwKGtleUZvclBhdHRlcm4pO1xuXG4gICAgICAvLyAzLiBDb25zdHJ1Y3QgdGhlIFJlZ0V4cC4gVGhpcyB3aWxsIG1hdGNoOlxuICAgICAgLy8gICAgLSB7e0tFWX19XG4gICAgICAvLyAgICAtIHt7IEtFWSB9fVxuICAgICAgLy8gICAgLSB7eyAgS0VZICB9fVxuICAgICAgLy8gICAgZXRjLiwgd2hlcmUgS0VZIGlzIHRoZSAodHJpbW1lZCBhbmQgZXNjYXBlZCkgcGFyYW1LZXkuXG4gICAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAoYHt7XFxcXHMqJHtlc2NhcGVkS2V5fVxcXFxzKn19YCwgJ2cnKTtcblxuICAgICAgLy8gNC4gUmVwbGFjZSBvY2N1cnJlbmNlcywgZW5zdXJpbmcgdGhlIHZhbHVlIGlzIGEgc3RyaW5nLlxuICAgICAgcmV0dXJuIGN1cnJlbnRUZXh0LnJlcGxhY2UocmUsIFN0cmluZyh2YWx1ZVRvSW5zZXJ0KSk7XG4gICAgfSwgdGV4dCk7XG4gIH1cbn1cbiJdfQ==","import { AXEventService, AXSystemEvents } from '@acorex/core/events';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { waitFor } from '@acorex/core/utils';\nimport { inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, from, of, shareReplay, switchMap } from 'rxjs';\nimport { AXTranslationLoaderService } from './translation-loader.service';\nimport { AX_TRANSLATION_CONFIG } from './translation.config';\nimport { TranslationParserService } from './translation.parser';\nimport { TranslationResolverService } from './translation.resolver';\nimport * as i0 from \"@angular/core\";\nlet singletonInstance;\nconst LOCALE_KEY_REGEX = /^(\\*-\\*|[a-z]{2}-[A-Z]{2})$/;\nexport function translateSync(key, options) {\n return singletonInstance.translateSync(key, options);\n}\nexport class AXTranslationService {\n constructor() {\n this.localeService = inject(AXLocaleService);\n this.config = inject(AX_TRANSLATION_CONFIG);\n this.loader = inject(AXTranslationLoaderService);\n this.parser = new TranslationParserService();\n this.eventService = inject(AXEventService);\n this.resolver = new TranslationResolverService();\n this.activeLang = new BehaviorSubject(this.config.defaults.lang);\n this.langChanges$ = this.activeLang.asObservable();\n singletonInstance = this;\n this.localeService.profileChanged$.subscribe((locale) => {\n if (locale?.localeInfo?.code) {\n this.setActiveLang(locale.localeInfo.code);\n }\n });\n }\n setActiveLang(lang) {\n if (lang && lang !== this.activeLang.getValue()) {\n this.activeLang.next(lang);\n this.eventService.emitEvent({\n type: AXSystemEvents.AXLanguageChanged,\n payload: lang,\n });\n }\n }\n getActiveLang() {\n return this.activeLang.getValue();\n }\n getDefaultLang() {\n return this.config.defaults.lang;\n }\n translate$(value, options) {\n if (this.isMultiLanguageMap(value)) {\n return this.langChanges$.pipe(switchMap((activeLang) => {\n const targetLang = options?.lang ?? activeLang;\n const selectedValue = this.resolveMultiLanguageValue(value, targetLang);\n const scope = options?.scope ?? this.config.defaults.scope;\n return from(this.translateAsync(selectedValue, {\n ...options,\n lang: targetLang,\n scope,\n }));\n }));\n }\n return this.translateValue$(value, options);\n }\n async translateAsync(text, options) {\n const lang = options?.lang ?? this.getActiveLang() ?? this.config.defaults.lang;\n const scope = options?.scope ?? this.config.defaults.scope;\n const params = options?.params;\n if (!this.parser.isExpression(text)) {\n const resolved = await this.resolver.resolve(lang, scope, text, params);\n return this.resolver.format(resolved, params);\n }\n const tokens = this.parser.parse(text, lang, scope);\n const results = await Promise.all(tokens.map((token) => this.resolver\n .resolve(token.lang ?? lang, token.scope ?? scope, token.key, params)\n .then((translated) => [token.fullMatch, this.resolver.format(translated, params)])));\n return results.reduce((output, [match, translated]) => output.replace(match, translated), text);\n }\n translateSync(text, options) {\n const lang = options?.lang ?? this.getActiveLang() ?? this.config.defaults.lang;\n const scope = options?.scope ?? this.config.defaults.scope;\n const params = options?.params;\n const waitForLoad = options?.waitForLoad ?? false;\n const timeoutMs = options?.timeoutMs ?? 100;\n if (!this.parser.isExpression(text)) {\n let translated = this.loader.peek(lang, scope, text);\n if (!translated && waitForLoad) {\n translated = waitFor(() => this.loader.peek(lang, scope, text), () => this.loader.load(lang, scope).subscribe(), timeoutMs);\n }\n return this.resolver.format(translated ?? text, params);\n }\n const tokens = this.parser.parse(text, lang, scope);\n let result = text;\n for (const token of tokens) {\n const targetLang = token.lang ?? lang;\n const targetScope = token.scope ?? scope;\n const key = token.key;\n let translation = this.loader.peek(targetLang, targetScope, key);\n if (!translation) {\n translation =\n waitFor(() => this.loader.peek(targetLang, targetScope, key), () => this.loader.load(targetLang, targetScope).subscribe(), waitForLoad ? timeoutMs : 0) ?? key;\n }\n result = result.replace(token.fullMatch, this.resolver.format(translation, params));\n }\n return result;\n }\n translateValue$(text, options) {\n if (!text) {\n return of('');\n }\n const staticOptions = { ...options };\n const staticScope = staticOptions.scope ?? this.config.defaults.scope;\n return this.langChanges$.pipe(switchMap((lang) => {\n return from(this.translateAsync(text, {\n ...staticOptions,\n lang: staticOptions.lang ?? lang,\n scope: staticScope,\n }));\n }), shareReplay({ bufferSize: 1, refCount: true }));\n }\n isMultiLanguageMap(value) {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return false;\n }\n const entries = Object.entries(value);\n if (!entries.length) {\n return false;\n }\n return entries.every(([key, entryValue]) => LOCALE_KEY_REGEX.test(key) && typeof entryValue === 'string');\n }\n resolveMultiLanguageValue(value, locale) {\n return value[locale] ?? value['en-US'] ?? Object.values(value).find((item) => item != null) ?? '';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2xpYi90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFHcEUsSUFBSSxpQkFBdUMsQ0FBQztBQUM1QyxNQUFNLGdCQUFnQixHQUFHLDZCQUE2QixDQUFDO0FBR3ZELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVyxFQUFFLE9BQTRCO0lBQ3JFLE9BQU8saUJBQWlCLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQjtRQVRRLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMs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S0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BHLENBQUM7OEdBMUtVLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEV2ZW50U2VydmljZSwgQVhTeXN0ZW1FdmVudHMgfSBmcm9tICdAYWNvcmV4L2NvcmUvZXZlbnRzJztcbmltcG9ydCB7IEFYTG9jYWxlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9sb2NhbGUnO1xuaW1wb3J0IHsgd2FpdEZvciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Mb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWF9UUkFOU0xBVElPTl9DT05GSUcgfSBmcm9tICcuL3RyYW5zbGF0aW9uLmNvbmZpZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblBhcnNlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnBhcnNlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblJlc29sdmVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24ucmVzb2x2ZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVMYW5nLCBBWFRyYW5zbGF0ZU9wdGlvbnMgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcblxubGV0IHNpbmdsZXRvbkluc3RhbmNlOiBBWFRyYW5zbGF0aW9uU2VydmljZTtcbmNvbnN0IExPQ0FMRV9LRVlfUkVHRVggPSAvXihcXCotXFwqfFthLXpdezJ9LVtBLVpdezJ9KSQvO1xudHlwZSBBWE11bHRpTGFuZ3VhZ2VNYXAgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlU3luYyhrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyk6IHN0cmluZyB7XG4gIHJldHVybiBzaW5nbGV0b25JbnN0YW5jZS50cmFuc2xhdGVTeW5jKGtleSwgb3B0aW9ucyk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpO1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpO1xuICBwcml2YXRlIGxvYWRlciA9IGluamVjdChBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSk7XG4gIHByaXZhdGUgcGFyc2VyID0gbmV3IFRyYW5zbGF0aW9uUGFyc2VyU2VydmljZSgpO1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWEV2ZW50U2VydmljZSk7XG4gIHByaXZhdGUgcmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlclNlcnZpY2UoKTtcbiAgcHJpdmF0ZSBhY3RpdmVMYW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFRyYW5zbGF0ZUxhbmc+KHRoaXMuY29uZmlnLmRlZmF1bHRzLmxhbmcpO1xuICBwdWJsaWMgcmVhZG9ubHkgbGFuZ0NoYW5nZXMkID0gdGhpcy5hY3RpdmVMYW5nLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHNpbmdsZXRvbkluc3RhbmNlID0gdGhpcztcbiAgICB0aGlzLmxvY2FsZVNlcnZpY2UucHJvZmlsZUNoYW5nZWQkLnN1YnNjcmliZSgobG9jYWxlKSA9PiB7XG4gICAgICBpZiAobG9jYWxlPy5sb2NhbGVJbmZvPy5jb2RlKSB7XG4gICAgICAgIHRoaXMuc2V0QWN0aXZlTGFuZyhsb2NhbGUubG9jYWxlSW5mby5jb2RlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVMYW5nKGxhbmc6IEFYVHJhbnNsYXRlTGFuZyk6IHZvaWQge1xuICAgIGlmIChsYW5nICYmIGxhbmcgIT09IHRoaXMuYWN0aXZlTGFuZy5nZXRWYWx1ZSgpKSB7XG4gICAgICB0aGlzLmFjdGl2ZUxhbmcubmV4dChsYW5nKTtcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLmVtaXRFdmVudCh7XG4gICAgICAgIHR5cGU6IEFYU3lzdGVtRXZlbnRzLkFYTGFuZ3VhZ2VDaGFuZ2VkLFxuICAgICAgICBwYXlsb2FkOiBsYW5nLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUxhbmcoKTogQVhUcmFuc2xhdGVMYW5nIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVMYW5nLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVmYXVsdExhbmcoKTogQVhUcmFuc2xhdGVMYW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZGVmYXVsdHMubGFuZztcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2xhdGUkKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBBWE11bHRpTGFuZ3VhZ2VNYXAgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMsXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKHRoaXMuaXNNdWx0aUxhbmd1YWdlTWFwKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMubGFuZ0NoYW5nZXMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoYWN0aXZlTGFuZykgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhcmdldExhbmcgPSBvcHRpb25zPy5sYW5nID8/IGFjdGl2ZUxhbmc7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IHRoaXMucmVzb2x2ZU11bHRpTGFuZ3VhZ2VWYWx1ZSh2YWx1ZSwgdGFyZ2V0TGFuZyk7XG4gICAgICAgICAgY29uc3Qgc2NvcGUgPSBvcHRpb25zPy5zY29wZSA/PyB0aGlzLmNvbmZpZy5kZWZhdWx0cy5zY29wZTtcblxuICAgICAgICAgIHJldHVybiBmcm9tKFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVBc3luYyhzZWxlY3RlZFZhbHVlLCB7XG4gICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgIGxhbmc6IHRhcmdldExhbmcsXG4gICAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVWYWx1ZSQodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgdHJhbnNsYXRlQXN5bmModGV4dDogc3RyaW5nLCBvcHRpb25zPzogQVhUcmFuc2xhdGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBsYW5nID0gb3B0aW9ucz8ubGFuZyA/PyB0aGlzLmdldEFjdGl2ZUxhbmcoKSA/PyB0aGlzLmNvbmZpZy5kZWZhdWx0cy5sYW5nO1xuICAgIGNvbnN0IHNjb3BlID0gb3B0aW9ucz8uc2NvcGUgPz8gdGhpcy5jb25maWcuZGVmYXVsdHMuc2NvcGU7XG4gICAgY29uc3QgcGFyYW1zID0gb3B0aW9ucz8ucGFyYW1zO1xuXG4gICAgaWYgKCF0aGlzLnBhcnNlci5pc0V4cHJlc3Npb24odGV4dCkpIHtcbiAgICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgdGhpcy5yZXNvbHZlci5yZXNvbHZlKGxhbmcsIHNjb3BlLCB0ZXh0LCBwYXJhbXMpO1xuICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZXIuZm9ybWF0KHJlc29sdmVkLCBwYXJhbXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHRva2VucyA9IHRoaXMucGFyc2VyLnBhcnNlKHRleHQsIGxhbmcsIHNjb3BlKTtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRva2Vucy5tYXAoKHRva2VuKSA9PlxuICAgICAgICB0aGlzLnJlc29sdmVyXG4gICAgICAgICAgLnJlc29sdmUodG9rZW4ubGFuZyA/PyBsYW5nLCB0b2tlbi5zY29wZSA/PyBzY29wZSwgdG9rZW4ua2V5LCBwYXJhbXMpXG4gICAgICAgICAgLnRoZW4oKHRyYW5zbGF0ZWQpID0+IFt0b2tlbi5mdWxsTWF0Y2gsIHRoaXMucmVzb2x2ZXIuZm9ybWF0KHRyYW5zbGF0ZWQsIHBhcmFtcyldKSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHJldHVybiByZXN1bHRzLnJlZHVjZSgob3V0cHV0LCBbbWF0Y2gsIHRyYW5zbGF0ZWRdKSA9PiBvdXRwdXQucmVwbGFjZShtYXRjaCwgdHJhbnNsYXRlZCksIHRleHQpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zbGF0ZVN5bmMoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMgJiB7IHdhaXRGb3JMb2FkPzogYm9vbGVhbjsgdGltZW91dE1zPzogbnVtYmVyIH0sXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFuZyA9IG9wdGlvbnM/LmxhbmcgPz8gdGhpcy5nZXRBY3RpdmVMYW5nKCkgPz8gdGhpcy5jb25maWcuZGVmYXVsdHMubGFuZztcbiAgICBjb25zdCBzY29wZSA9IG9wdGlvbnM/LnNjb3BlID8/IHRoaXMuY29uZmlnLmRlZmF1bHRzLnNjb3BlO1xuICAgIGNvbnN0IHBhcmFtcyA9IG9wdGlvbnM/LnBhcmFtcztcbiAgICBjb25zdCB3YWl0Rm9yTG9hZCA9IG9wdGlvbnM/LndhaXRGb3JMb2FkID8/IGZhbHNlO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IG9wdGlvbnM/LnRpbWVvdXRNcyA/PyAxMDA7XG5cbiAgICBpZiAoIXRoaXMucGFyc2VyLmlzRXhwcmVzc2lvbih0ZXh0KSkge1xuICAgICAgbGV0IHRyYW5zbGF0ZWQgPSB0aGlzLmxvYWRlci5wZWVrKGxhbmcsIHNjb3BlLCB0ZXh0KTtcblxuICAgICAgaWYgKCF0cmFuc2xhdGVkICYmIHdhaXRGb3JMb2FkKSB7XG4gICAgICAgIHRyYW5zbGF0ZWQgPSB3YWl0Rm9yKFxuICAgICAgICAgICgpID0+IHRoaXMubG9hZGVyLnBlZWsobGFuZywgc2NvcGUsIHRleHQpLFxuICAgICAgICAgICgpID0+IHRoaXMubG9hZGVyLmxvYWQobGFuZywgc2NvcGUpLnN1YnNjcmliZSgpLFxuICAgICAgICAgIHRpbWVvdXRNcyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZXIuZm9ybWF0KHRyYW5zbGF0ZWQgPz8gdGV4dCwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbnMgPSB0aGlzLnBhcnNlci5wYXJzZSh0ZXh0LCBsYW5nLCBzY29wZSk7XG4gICAgbGV0IHJlc3VsdCA9IHRleHQ7XG5cbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgICAgY29uc3QgdGFyZ2V0TGFuZyA9IHRva2VuLmxhbmcgPz8gbGFuZztcbiAgICAgIGNvbnN0IHRhcmdldFNjb3BlID0gdG9rZW4uc2NvcGUgPz8gc2NvcGU7XG4gICAgICBjb25zdCBrZXkgPSB0b2tlbi5rZXk7XG5cbiAgICAgIGxldCB0cmFuc2xhdGlvbiA9IHRoaXMubG9hZGVyLnBlZWsodGFyZ2V0TGFuZywgdGFyZ2V0U2NvcGUsIGtleSk7XG5cbiAgICAgIGlmICghdHJhbnNsYXRpb24pIHtcbiAgICAgICAgdHJhbnNsYXRpb24gPVxuICAgICAgICAgIHdhaXRGb3IoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLmxvYWRlci5wZWVrKHRhcmdldExhbmcsIHRhcmdldFNjb3BlLCBrZXkpLFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5sb2FkZXIubG9hZCh0YXJnZXRMYW5nLCB0YXJnZXRTY29wZSkuc3Vic2NyaWJlKCksXG4gICAgICAgICAgICB3YWl0Rm9yTG9hZCA/IHRpbWVvdXRNcyA6IDAsXG4gICAgICAgICAgKSA/PyBrZXk7XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKHRva2VuLmZ1bGxNYXRjaCwgdGhpcy5yZXNvbHZlci5mb3JtYXQodHJhbnNsYXRpb24sIHBhcmFtcykpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zbGF0ZVZhbHVlJCh0ZXh0OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICghdGV4dCkge1xuICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0aWNPcHRpb25zID0geyAuLi5vcHRpb25zIH07XG4gICAgY29uc3Qgc3RhdGljU2NvcGUgPSBzdGF0aWNPcHRpb25zLnNjb3BlID8/IHRoaXMuY29uZmlnLmRlZmF1bHRzLnNjb3BlO1xuXG4gICAgcmV0dXJuIHRoaXMubGFuZ0NoYW5nZXMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGxhbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVBc3luYyh0ZXh0LCB7XG4gICAgICAgICAgICAuLi5zdGF0aWNPcHRpb25zLFxuICAgICAgICAgICAgbGFuZzogc3RhdGljT3B0aW9ucy5sYW5nID8/IGxhbmcsXG4gICAgICAgICAgICBzY29wZTogc3RhdGljU2NvcGUsXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNdWx0aUxhbmd1YWdlTWFwKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgQVhNdWx0aUxhbmd1YWdlTWFwIHtcbiAgICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXModmFsdWUpO1xuICAgIGlmICghZW50cmllcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW50cmllcy5ldmVyeSgoW2tleSwgZW50cnlWYWx1ZV0pID0+IExPQ0FMRV9LRVlfUkVHRVgudGVzdChrZXkpICYmIHR5cGVvZiBlbnRyeVZhbHVlID09PSAnc3RyaW5nJyk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVNdWx0aUxhbmd1YWdlVmFsdWUodmFsdWU6IEFYTXVsdGlMYW5ndWFnZU1hcCwgbG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZVtsb2NhbGVdID8/IHZhbHVlWydlbi1VUyddID8/IE9iamVjdC52YWx1ZXModmFsdWUpLmZpbmQoKGl0ZW0pID0+IGl0ZW0gIT0gbnVsbCkgPz8gJyc7XG4gIH1cbn1cbiJdfQ==","import { inject } from '@angular/core';\nimport { AXTranslationLoaderService } from './translation-loader.service';\nimport { AX_TRANSLATION_CONFIG } from './translation.config';\nimport { AXTranslationService } from './translation.service';\nexport const loadTranslationScope = (route, state) => {\n const translationLoaderService = inject(AXTranslationLoaderService);\n const translationService = inject(AXTranslationService);\n const config = inject(AX_TRANSLATION_CONFIG);\n const scopeValue = route.data[config.resolver?.scopeKey];\n const scopes = Array.isArray(scopeValue) ? scopeValue : [scopeValue];\n return translationLoaderService.preload({ langs: [translationService.getActiveLang()], scopes });\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tc2NvcGUucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24tc2NvcGUucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDdkUsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNwRSxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckUsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDbkcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNvbHZlRm4gfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbkxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0aW9uLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0NPTkZJRyB9IGZyb20gJy4vdHJhbnNsYXRpb24uY29uZmlnJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IGxvYWRUcmFuc2xhdGlvblNjb3BlOiBSZXNvbHZlRm48dW5rbm93bj4gPSAocm91dGUsIHN0YXRlKSA9PiB7XG4gIGNvbnN0IHRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSk7XG4gIGNvbnN0IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpO1xuICBjb25zdCBzY29wZVZhbHVlID0gcm91dGUuZGF0YVtjb25maWcucmVzb2x2ZXI/LnNjb3BlS2V5XTtcbiAgY29uc3Qgc2NvcGVzID0gQXJyYXkuaXNBcnJheShzY29wZVZhbHVlKSA/IHNjb3BlVmFsdWUgOiBbc2NvcGVWYWx1ZV07XG4gIHJldHVybiB0cmFuc2xhdGlvbkxvYWRlclNlcnZpY2UucHJlbG9hZCh7IGxhbmdzOiBbdHJhbnNsYXRpb25TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKV0sIHNjb3BlcyB9KTtcbn07XG4iXX0=","import { Directive, TemplateRef, ViewContainerRef, inject } from '@angular/core';\nimport { shareReplay } from 'rxjs';\nimport { AXTranslationService } from './translation.service';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorDirective {\n constructor() {\n this.templateRef = inject(TemplateRef);\n this.vc = inject(ViewContainerRef);\n this.translationService = inject(AXTranslationService);\n }\n ngOnInit() {\n const cache = new Map();\n const t = (key, opts) => {\n const id = `${key}|${opts?.lang ?? this.translationService.getActiveLang()}|${opts?.scope ?? 'common'}`;\n if (!cache.has(id)) {\n cache.set(id, this.translationService.translate$(key, opts).pipe(shareReplay({ bufferSize: 1, refCount: true })));\n }\n return cache.get(id);\n };\n this.vc.clear();\n this.vc.createEmbeddedView(this.templateRef, { $implicit: t });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXTranslatorDirective, isStandalone: true, selector: \"[translate]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[translate]' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRzdELE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFFVSxnQkFBVyxHQUFHLE1BQU0sQ0FBbUIsV0FBVyxDQUFDLENBQUM7UUFDcEQsT0FBRSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBbUIzRDtJQWpCQyxRQUFRO1FBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFFcEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBeUIsRUFBRSxFQUFFO1lBQ25ELE1BQU0sRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDeEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxDQUFDLEdBQUcsQ0FDUCxFQUFFLEVBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDbkcsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDOzhHQXJCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRlT3B0aW9ucyB9IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3RyYW5zbGF0ZV0nIH0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjxhbnk+PihUZW1wbGF0ZVJlZik7XG4gIHByaXZhdGUgdmMgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBPYnNlcnZhYmxlPHN0cmluZz4+KCk7XG5cbiAgICBjb25zdCB0ID0gKGtleTogc3RyaW5nLCBvcHRzPzogQVhUcmFuc2xhdGVPcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IGAke2tleX18JHtvcHRzPy5sYW5nID8/IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKX18JHtvcHRzPy5zY29wZSA/PyAnY29tbW9uJ31gO1xuICAgICAgaWYgKCFjYWNoZS5oYXMoaWQpKSB7XG4gICAgICAgIGNhY2hlLnNldChcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUkKGtleSwgb3B0cykucGlwZShzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZS5nZXQoaWQpITtcbiAgICB9O1xuXG4gICAgdGhpcy52Yy5jbGVhcigpO1xuICAgIHRoaXMudmMuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHsgJGltcGxpY2l0OiB0IH0pO1xuICB9XG59XG4iXX0=","import { inject, Pipe } from '@angular/core';\nimport { of } from 'rxjs';\nimport { AXTranslationService } from './translation.service';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorPipe {\n constructor() {\n this.service = inject(AXTranslationService);\n }\n transform(value, options) {\n if (!value) {\n return of('');\n }\n return this.service.translate$(value, options);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, isStandalone: true, name: \"translate\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'translate',\n pure: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPN0QsTUFBTSxPQUFPLGdCQUFnQjtJQUo3QjtRQUtVLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQVdoRDtJQVRDLFNBQVMsQ0FDUCxLQUF5RCxFQUN6RCxPQUE0QjtRQUU1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0FYVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZU9wdGlvbnMgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsYXRlJyxcbiAgcHVyZTogdHJ1ZSxcbn0pIC8vIFRoZSBwaXBlIGNhbiBub3cgYmUgcHVyZVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMsXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS50cmFuc2xhdGUkKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxufVxuIl19","import { NgModule, inject, provideAppInitializer } from '@angular/core';\nimport { AXTranslationLoaderService } from './translation-loader.service';\nimport { AXTranslatorDirective } from './translator.directive';\nimport { AXTranslatorPipe } from './translator.pipe';\nimport * as i0 from \"@angular/core\";\nfunction initializeApp(translatorService) {\n return () => {\n return translatorService.preload();\n };\n}\nexport class AXTranslationModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationModule, imports: [AXTranslatorPipe, AXTranslatorDirective], exports: [AXTranslatorPipe, AXTranslatorDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationModule, providers: [\n provideAppInitializer(() => {\n const initializerFn = initializeApp(inject(AXTranslationLoaderService));\n return initializerFn();\n }),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [AXTranslatorPipe, AXTranslatorDirective],\n exports: [AXTranslatorPipe, AXTranslatorDirective],\n providers: [\n provideAppInitializer(() => {\n const initializerFn = initializeApp(inject(AXTranslationLoaderService));\n return initializerFn();\n }),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckQsU0FBUyxhQUFhLENBQUMsaUJBQTZDO0lBQ2xFLE9BQU8sR0FBa0IsRUFBRTtRQUN6QixPQUFPLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFZRCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixZQVRwQixnQkFBZ0IsRUFBRSxxQkFBcUIsYUFDdkMsZ0JBQWdCLEVBQUUscUJBQXFCOytHQVF0QyxtQkFBbUIsYUFQbkI7WUFDVCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxPQUFPLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLENBQUMsQ0FBQztTQUNIOzsyRkFFVSxtQkFBbUI7a0JBVi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixDQUFDO29CQUNsRCxTQUFTLEVBQUU7d0JBQ1QscUJBQXFCLENBQUMsR0FBRyxFQUFFOzRCQUN6QixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQzs0QkFDeEUsT0FBTyxhQUFhLEVBQUUsQ0FBQzt3QkFDekIsQ0FBQyxDQUFDO3FCQUNIO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIGluamVjdCwgcHJvdmlkZUFwcEluaXRpYWxpemVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi90cmFuc2xhdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnLi90cmFuc2xhdG9yLnBpcGUnO1xuXG5mdW5jdGlvbiBpbml0aWFsaXplQXBwKHRyYW5zbGF0b3JTZXJ2aWNlOiBBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSkge1xuICByZXR1cm4gKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0cmFuc2xhdG9yU2VydmljZS5wcmVsb2FkKCk7XG4gIH07XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtBWFRyYW5zbGF0b3JQaXBlLCBBWFRyYW5zbGF0b3JEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbQVhUcmFuc2xhdG9yUGlwZSwgQVhUcmFuc2xhdG9yRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUFwcEluaXRpYWxpemVyKCgpID0+IHtcbiAgICAgIGNvbnN0IGluaXRpYWxpemVyRm4gPSBpbml0aWFsaXplQXBwKGluamVjdChBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSkpO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVyRm4oKTtcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdGlvbk1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtdHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9hY29yZXgtY29yZS10cmFuc2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["lodashGet"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-core-translation.mjs","sources":["../tmp-esm2022/translation/lib/translation.config.js","../tmp-esm2022/translation/lib/translation.loader.js","../tmp-esm2022/translation/lib/translation-loader.service.js","../tmp-esm2022/translation/lib/translation.parser.js","../tmp-esm2022/translation/lib/translation.resolver.js","../tmp-esm2022/translation/lib/translation.types.js","../tmp-esm2022/translation/lib/translation.service.js","../tmp-esm2022/translation/lib/translation-scope.resolver.js","../tmp-esm2022/translation/lib/translator.directive.js","../tmp-esm2022/translation/lib/translator.pipe.js","../tmp-esm2022/translation/lib/translation.module.js","../tmp-esm2022/translation/acorex-core-translation.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const AX_TRANSLATION_CONFIG = new InjectionToken('AX_TRANSLATION_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return AXTranslationDefaultConfig;\n },\n});\nexport const AXTranslationDefaultConfig = {\n defaults: {\n lang: 'en-US',\n scope: 'acorex',\n },\n preload: {\n langs: ['en-US'],\n scopes: ['acorex'],\n },\n resolver: {\n scopeKey: 'scope',\n },\n};\nexport function translationConfig(config = {}) {\n const result = {\n ...AXTranslationDefaultConfig,\n ...config,\n };\n return result;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBeUIvQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsdUJBQXVCLEVBQUU7SUFDcEcsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUF3QjtJQUM3RCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsT0FBTztRQUNiLEtBQUssRUFBRSxRQUFRO0tBQ2hCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNuQjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxPQUFPO0tBQ2xCO0NBQ0YsQ0FBQztBQUlGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxTQUFxQyxFQUFFO0lBQ3ZFLE1BQU0sTUFBTSxHQUFHO1FBQ2IsR0FBRywwQkFBMEI7UUFDN0IsR0FBRyxNQUFNO0tBQ1YsQ0FBQztJQUNGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVMYW5nLCBBWFRyYW5zbGF0ZVNjb3BlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhUcmFuc2xhdGlvbkNvbmZpZyB7XG4gIGRlZmF1bHRzOiB7XG4gICAgbGFuZzogQVhUcmFuc2xhdGVMYW5nO1xuICAgIHNjb3BlOiBBWFRyYW5zbGF0ZVNjb3BlO1xuICB9O1xuICBwcmVsb2FkPzoge1xuICAgIGxhbmdzOiBBWFRyYW5zbGF0ZUxhbmdbXTtcbiAgICBzY29wZXM6IEFYVHJhbnNsYXRlU2NvcGVbXTtcbiAgfTtcbiAgZmFsbGJhY2tzPzoge1xuICAgIGxhbmdzPzogUmVjb3JkPEFYVHJhbnNsYXRlTGFuZywgQVhUcmFuc2xhdGVMYW5nW10+O1xuICAgIHNjb3Blcz86IFJlY29yZDxBWFRyYW5zbGF0ZVNjb3BlLCBBWFRyYW5zbGF0ZVNjb3BlW10+O1xuICB9O1xuICBhdmFpbGFibGU/OiB7XG4gICAgbGFuZ3M/OiBBWFRyYW5zbGF0ZUxhbmdbXTtcbiAgICBzY29wZXM/OiBBWFRyYW5zbGF0ZVNjb3BlW107XG4gIH07XG4gIHJlc29sdmVyPzoge1xuICAgIHNjb3BlS2V5OiBzdHJpbmc7IC8vIHVzZWQgdG8gZXh0cmFjdCBzY29wZSBmcm9tIHBhcmFtcywgZS5nLiBgc2NvcGU6ICdjb21tb24nYFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQVhfVFJBTlNMQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFYVHJhbnNsYXRpb25Db25maWc+KCdBWF9UUkFOU0xBVElPTl9DT05GSUcnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIHJldHVybiBBWFRyYW5zbGF0aW9uRGVmYXVsdENvbmZpZztcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQVhUcmFuc2xhdGlvbkRlZmF1bHRDb25maWc6IEFYVHJhbnNsYXRpb25Db25maWcgPSB7XG4gIGRlZmF1bHRzOiB7XG4gICAgbGFuZzogJ2VuLVVTJyxcbiAgICBzY29wZTogJ2Fjb3JleCcsXG4gIH0sXG4gIHByZWxvYWQ6IHtcbiAgICBsYW5nczogWydlbi1VUyddLFxuICAgIHNjb3BlczogWydhY29yZXgnXSxcbiAgfSxcbiAgcmVzb2x2ZXI6IHtcbiAgICBzY29wZUtleTogJ3Njb3BlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCB0eXBlIEFYUGFydGlhbFRyYW5zbGF0aW9uQ29uZmlnID0gUGFydGlhbDxBWFRyYW5zbGF0aW9uQ29uZmlnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0aW9uQ29uZmlnKGNvbmZpZzogQVhQYXJ0aWFsVHJhbnNsYXRpb25Db25maWcgPSB7fSk6IEFYVHJhbnNsYXRpb25Db25maWcge1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgLi4uQVhUcmFuc2xhdGlvbkRlZmF1bHRDb25maWcsXG4gICAgLi4uY29uZmlnLFxuICB9O1xuICByZXR1cm4gcmVzdWx0O1xufVxuIl19","import { InjectionToken } from '@angular/core';\nimport { of } from 'rxjs';\nexport class AXTranslationLoaderDefault {\n load(options) {\n return of({});\n }\n}\nexport const AX_TRANSLATION_LOADER = new InjectionToken('AX_TRANSLATION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXTranslationLoaderDefault();\n },\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFZdEMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxJQUFJLENBQUMsT0FBbUM7UUFDdEMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHVCQUF1QixFQUFFO0lBQ3BHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixPQUFPLElBQUksMEJBQTBCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZUxhbmcsIEFYVHJhbnNsYXRlU2NvcGUsIEFYVHJhbnNsYXRpb24gfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFRyYW5zbGF0aW9uTG9hZGVyT3B0aW9ucyB7XG4gIGxhbmc6IEFYVHJhbnNsYXRlTGFuZztcbiAgc2NvcGU/OiBBWFRyYW5zbGF0ZVNjb3BlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYVHJhbnNsYXRpb25Mb2FkZXIge1xuICBsb2FkKG9wdGlvbnM6IEFYVHJhbnNsYXRpb25Mb2FkZXJPcHRpb25zKTogT2JzZXJ2YWJsZTxBWFRyYW5zbGF0aW9uPjtcbn1cblxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRpb25Mb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhUcmFuc2xhdGlvbkxvYWRlciB7XG4gIGxvYWQob3B0aW9uczogQVhUcmFuc2xhdGlvbkxvYWRlck9wdGlvbnMpOiBPYnNlcnZhYmxlPEFYVHJhbnNsYXRpb24+IHtcbiAgICByZXR1cm4gb2Yoe30pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWF9UUkFOU0xBVElPTl9MT0FERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhUcmFuc2xhdGlvbkxvYWRlcj4oJ0FYX1RSQU5TTEFUSU9OX0xPQURFUicsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBBWFRyYW5zbGF0aW9uTG9hZGVyRGVmYXVsdCgpO1xuICB9LFxufSk7XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { firstValueFrom, of, shareReplay, tap } from 'rxjs';\nimport { AX_TRANSLATION_CONFIG } from './translation.config';\nimport { AX_TRANSLATION_LOADER } from './translation.loader';\nimport { AXEventService, AXSystemEvents } from '@acorex/core/events';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslationLoaderService {\n constructor() {\n this.loader = inject(AX_TRANSLATION_LOADER);\n this.config = inject(AX_TRANSLATION_CONFIG);\n this.eventService = inject(AXEventService);\n this.cache = new Map();\n this.inflight = new Map();\n }\n load(lang, scope) {\n const key = `${lang}:${scope}`;\n // 1. Check cache first\n if (this.cache.has(key)) {\n return of(this.cache.get(key));\n }\n // 2. Check if it's already in-flight\n if (this.inflight.has(key)) {\n return this.inflight.get(key);\n }\n // 3. Not in cache, not in-flight: Make the request\n const newObs = this.loader.load({ lang, scope }).pipe(tap({\n next: (data) => {\n this.cache.set(key, data);\n // No need to delete from inflight here, finalize will handle it\n // or delete it only after caching. If you delete here, and shareReplay\n // source completes, subsequent subscribers might re-trigger if not careful.\n // It's better to remove from inflight in finalize or after shareReplay has replayed.\n // For simplicity and common patterns, removing after caching within tap (before shareReplay)\n // can work if shareReplay handles the source completion correctly.\n // A safer bet is to remove it in finalize *after* shareReplay.\n // Emit event to notify other components that the language has been loaded\n this.eventService.emitEvent({\n type: AXSystemEvents.AXLanguageLoaded,\n payload: data,\n });\n },\n error: (err) => {\n console.error(`Error loading ${key}:`, err);\n // Remove from inflight on error so subsequent calls can retry\n this.inflight.delete(key);\n },\n // finalize is tricky with shareReplay if you want to keep the replayed value\n // but still clear inflight. For this pattern, deleting on next/error\n // *before* shareReplay often means that shareReplay will re-trigger the source\n // if the inflight observable is requested again after being deleted.\n // The current structure of deleting in `tap` and then `shareReplay`\n // might need `this.inflight.delete(key)` to be moved after `shareReplay` effect.\n // Let's try a common pattern:\n }), shareReplay(1), // Replay the last emitted value for subsequent subscribers\n tap({\n // This tap runs *after* shareReplay has done its work for the first subscriber\n // and for subsequent subscribers that get the replayed value.\n next: () => {\n // Once data is successfully loaded and cached (by the first tap),\n // and shareReplay ensures it's available, we can remove from inflight.\n // This means subsequent calls for the same key during the \"inflight\" period\n // get the shared observable, and after it resolves and is cached,\n // inflight is cleared.\n this.inflight.delete(key);\n },\n // Error is handled by the first tap, or catchError if you want to provide a fallback\n }));\n this.inflight.set(key, newObs); // Store the observable that includes caching and cleanup logic\n return newObs;\n }\n peek(lang, scope, key) {\n const cacheKey = `${lang}:${scope}`;\n const data = this.cache.get(cacheKey);\n return get(data, key, null);\n }\n async preload(options) {\n const langsToLoad = [...new Set(options?.langs ?? this.config.preload?.langs ?? [this.config.defaults.lang])];\n const scopesToLoad = [...new Set(options?.scopes ?? this.config.preload?.scopes ?? [this.config.defaults.scope])];\n const loadPromises = [];\n langsToLoad.forEach((lang) => {\n scopesToLoad.forEach((scope) => {\n const loadPromise = firstValueFrom(this.load(lang, scope)) // This should now always get a valid Observable\n .then((value) => ({ lang, scope, status: 'fulfilled', value }))\n .catch((reason) => ({ lang, scope, status: 'rejected', reason }));\n loadPromises.push(loadPromise);\n });\n });\n const results = await Promise.all(loadPromises);\n let allSucceeded = true;\n results.forEach((result) => {\n if (result.status === 'rejected') {\n allSucceeded = false;\n console.error(`Failed to preload translations for lang: ${result.lang}, scope: ${result.scope}. Reason:`, result.reason);\n }\n else {\n // console.log(`Successfully preloaded lang: ${result.lang}, scope: ${result.scope}`); // Optionally uncomment for success logs\n }\n // else {\n // console.log(`Successfully preloaded lang: ${result.lang}, scope: ${result.scope}`); // Optionally uncomment for success logs\n // }\n });\n if (!allSucceeded) {\n console.error('One or more translation preloads failed. See console for details.');\n // throw new Error(\"One or more translation preloads failed. See console for details.\");\n }\n // The second results.forEach loop in your original code was redundant, I've removed it.\n // If it was for a different purpose, you can add it back.\n }\n clear() {\n this.cache.clear();\n this.inflight.clear();\n }\n getFallbackLangs(lang) {\n return this.config.fallbacks?.langs?.[lang] ?? [];\n }\n getFallbackScopes(scope) {\n return this.config.fallbacks?.scopes?.[scope] ?? [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationLoaderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationLoaderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQWMsY0FBYyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JFLE1BQU0sT0FBTywwQkFBMEI7SUFEdkM7UUFFVSxXQUFNLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXRDLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7S0FpSWpFO0lBL0hRLElBQUksQ0FBQyxJQUFxQixFQUFFLEtBQXVCO1FBQ3hELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRS9CLHVCQUF1QjtRQUN2QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxF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QVcsRUFDMUYsTUFBTSxDQUFDLE1BQU0sQ0FDZCxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLCtIQUErSDtZQUNqSSxDQUFDO1lBQ0QsU0FBUztZQUNULCtIQUErSDtZQUMvSCxJQUFJO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO1lBQ25GLHdGQUF3RjtRQUMxRixDQUFDO1FBQ0Qsd0ZBQXdGO1FBQ3hGLDBEQUEwRDtJQUM1RCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBcUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQXVCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUM7OEdBdElVLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRGIsTUFBTTs7MkZBQ25CLDBCQUEwQjtrQkFEdEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdFZhbHVlRnJvbSwgb2YsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0NPTkZJRyB9IGZyb20gJy4vdHJhbnNsYXRpb24uY29uZmlnJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0xPQURFUiB9IGZyb20gJy4vdHJhbnNsYXRpb24ubG9hZGVyJztcbmltcG9ydCB7IEFYVHJhbnNsYXRlTGFuZywgQVhUcmFuc2xhdGVTY29wZSwgQVhUcmFuc2xhdGlvbiB9IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgQVhFdmVudFNlcnZpY2UsIEFYU3lzdGVtRXZlbnRzIH0gZnJvbSAnQGFjb3JleC9jb3JlL2V2ZW50cyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdGlvbkxvYWRlclNlcnZpY2Uge1xuICBwcml2YXRlIGxvYWRlciA9IGluamVjdChBWF9UUkFOU0xBVElPTl9MT0FERVIpO1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpO1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWEV2ZW50U2VydmljZSk7XG5cbiAgcHJpdmF0ZSBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBBWFRyYW5zbGF0aW9uPigpO1xuICBwcml2YXRlIGluZmxpZ2h0ID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8QVhUcmFuc2xhdGlvbj4+KCk7XG5cbiAgcHVibGljIGxvYWQobGFuZzogQVhUcmFuc2xhdGVMYW5nLCBzY29wZTogQVhUcmFuc2xhdGVTY29wZSk6IE9ic2VydmFibGU8QVhUcmFuc2xhdGlvbj4ge1xuICAgIGNvbnN0IGtleSA9IGAke2xhbmd9OiR7c2NvcGV9YDtcblxuICAgIC8vIDEuIENoZWNrIGNhY2hlIGZpcnN0XG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNhY2hlLmdldChrZXkpISk7XG4gICAgfVxuXG4gICAgLy8gMi4gQ2hlY2sgaWYgaXQncyBhbHJlYWR5IGluLWZsaWdodFxuICAgIGlmICh0aGlzLmluZmxpZ2h0LmhhcyhrZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbmZsaWdodC5nZXQoa2V5KSE7XG4gICAgfVxuXG4gICAgLy8gMy4gTm90IGluIGNhY2hlLCBub3QgaW4tZmxpZ2h0OiBNYWtlIHRoZSByZXF1ZXN0XG4gICAgY29uc3QgbmV3T2JzID0gdGhpcy5sb2FkZXIubG9hZCh7IGxhbmcsIHNjb3BlIH0pLnBpcGUoXG4gICAgICB0YXAoe1xuICAgICAgICBuZXh0OiAoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KGtleSwgZGF0YSk7XG4gICAgICAgICAgLy8gTm8gbmVlZCB0byBkZWxldGUgZnJvbSBpbmZsaWdodCBoZXJlLCBmaW5hbGl6ZSB3aWxsIGhhbmRsZSBpdFxuICAgICAgICAgIC8vIG9yIGRlbGV0ZSBpdCBvbmx5IGFmdGVyIGNhY2hpbmcuIElmIHlvdSBkZWxldGUgaGVyZSwgYW5kIHNoYXJlUmVwbGF5XG4gICAgICAgICAgLy8gc291cmNlIGNvbXBsZXRlcywgc3Vic2VxdWVudCBzdWJzY3JpYmVycyBtaWdodCByZS10cmlnZ2VyIGlmIG5vdCBjYXJlZnVsLlxuICAgICAgICAgIC8vIEl0J3MgYmV0dGVyIHRvIHJlbW92ZSBmcm9tIGluZmxpZ2h0IGluIGZpbmFsaXplIG9yIGFmdGVyIHNoYXJlUmVwbGF5IGhhcyByZXBsYXllZC5cbiAgICAgICAgICAvLyBGb3Igc2ltcGxpY2l0eSBhbmQgY29tbW9uIHBhdHRlcm5zLCByZW1vdmluZyBhZnRlciBjYWNoaW5nIHdpdGhpbiB0YXAgKGJlZm9yZSBzaGFyZVJlcGxheSlcbiAgICAgICAgICAvLyBjYW4gd29yayBpZiBzaGFyZVJlcGxheSBoYW5kbGVzIHRoZSBzb3VyY2UgY29tcGxldGlvbiBjb3JyZWN0bHkuXG4gICAgICAgICAgLy8gQSBzYWZlciBiZXQgaXMgdG8gcmVtb3ZlIGl0IGluIGZpbmFsaXplICphZnRlciogc2hhcmVSZXBsYXkuXG5cbiAgICAgICAgICAvLyBFbWl0IGV2ZW50IHRvIG5vdGlmeSBvdGhlciBjb21wb25lbnRzIHRoYXQgdGhlIGxhbmd1YWdlIGhhcyBiZWVuIGxvYWRlZFxuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLmVtaXRFdmVudCh7XG4gICAgICAgICAgICB0eXBlOiBBWFN5c3RlbUV2ZW50cy5BWExhbmd1YWdlTG9hZGVkLFxuICAgICAgICAgICAgcGF5bG9hZDogZGF0YSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nICR7a2V5fTpgLCBlcnIpO1xuICAgICAgICAgIC8vIFJlbW92ZSBmcm9tIGluZmxpZ2h0IG9uIGVycm9yIHNvIHN1YnNlcXVlbnQgY2FsbHMgY2FuIHJldHJ5XG4gICAgICAgICAgdGhpcy5pbmZsaWdodC5kZWxldGUoa2V5KTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gZmluYWxpemUgaXMgdHJpY2t5IHdpdGggc2hhcmVSZXBsYXkgaWYgeW91IHdhbnQgdG8ga2VlcCB0aGUgcmVwbGF5ZWQgdmFsdWVcbiAgICAgICAgLy8gYnV0IHN0aWxsIGNsZWFyIGluZmxpZ2h0LiBGb3IgdGhpcyBwYXR0ZXJuLCBkZWxldGluZyBvbiBuZXh0L2Vycm9yXG4gICAgICAgIC8vICpiZWZvcmUqIHNoYXJlUmVwbGF5IG9mdGVuIG1lYW5zIHRoYXQgc2hhcmVSZXBsYXkgd2lsbCByZS10cmlnZ2VyIHRoZSBzb3VyY2VcbiAgICAgICAgLy8gaWYgdGhlIGluZmxpZ2h0IG9ic2VydmFibGUgaXMgcmVxdWVzdGVkIGFnYWluIGFmdGVyIGJlaW5nIGRlbGV0ZWQuXG4gICAgICAgIC8vIFRoZSBjdXJyZW50IHN0cnVjdHVyZSBvZiBkZWxldGluZyBpbiBgdGFwYCBhbmQgdGhlbiBgc2hhcmVSZXBsYXlgXG4gICAgICAgIC8vIG1pZ2h0IG5lZWQgYHRoaXMuaW5mbGlnaHQuZGVsZXRlKGtleSlgIHRvIGJlIG1vdmVkIGFmdGVyIGBzaGFyZVJlcGxheWAgZWZmZWN0LlxuICAgICAgICAvLyBMZXQncyB0cnkgYSBjb21tb24gcGF0dGVybjpcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSksIC8vIFJlcGxheSB0aGUgbGFzdCBlbWl0dGVkIHZhbHVlIGZvciBzdWJzZXF1ZW50IHN1YnNjcmliZXJzXG4gICAgICB0YXAoe1xuICAgICAgICAvLyBUaGlzIHRhcCBydW5zICphZnRlciogc2hhcmVSZXBsYXkgaGFzIGRvbmUgaXRzIHdvcmsgZm9yIHRoZSBmaXJzdCBzdWJzY3JpYmVyXG4gICAgICAgIC8vIGFuZCBmb3Igc3Vic2VxdWVudCBzdWJzY3JpYmVycyB0aGF0IGdldCB0aGUgcmVwbGF5ZWQgdmFsdWUuXG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAvLyBPbmNlIGRhdGEgaXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZCBhbmQgY2FjaGVkIChieSB0aGUgZmlyc3QgdGFwKSxcbiAgICAgICAgICAvLyBhbmQgc2hhcmVSZXBsYXkgZW5zdXJlcyBpdCdzIGF2YWlsYWJsZSwgd2UgY2FuIHJlbW92ZSBmcm9tIGluZmxpZ2h0LlxuICAgICAgICAgIC8vIFRoaXMgbWVhbnMgc3Vic2VxdWVudCBjYWxscyBmb3IgdGhlIHNhbWUga2V5IGR1cmluZyB0aGUgXCJpbmZsaWdodFwiIHBlcmlvZFxuICAgICAgICAgIC8vIGdldCB0aGUgc2hhcmVkIG9ic2VydmFibGUsIGFuZCBhZnRlciBpdCByZXNvbHZlcyBhbmQgaXMgY2FjaGVkLFxuICAgICAgICAgIC8vIGluZmxpZ2h0IGlzIGNsZWFyZWQuXG4gICAgICAgICAgdGhpcy5pbmZsaWdodC5kZWxldGUoa2V5KTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gRXJyb3IgaXMgaGFuZGxlZCBieSB0aGUgZmlyc3QgdGFwLCBvciBjYXRjaEVycm9yIGlmIHlvdSB3YW50IHRvIHByb3ZpZGUgYSBmYWxsYmFja1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuaW5mbGlnaHQuc2V0KGtleSwgbmV3T2JzKTsgLy8gU3RvcmUgdGhlIG9ic2VydmFibGUgdGhhdCBpbmNsdWRlcyBjYWNoaW5nIGFuZCBjbGVhbnVwIGxvZ2ljXG4gICAgcmV0dXJuIG5ld09icztcbiAgfVxuXG4gIHB1YmxpYyBwZWVrKGxhbmc6IEFYVHJhbnNsYXRlTGFuZywgc2NvcGU6IEFYVHJhbnNsYXRlU2NvcGUsIGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBgJHtsYW5nfToke3Njb3BlfWA7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KTtcbiAgICByZXR1cm4gZ2V0KGRhdGEsIGtleSwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJlbG9hZChvcHRpb25zPzogeyBsYW5ncz86IEFYVHJhbnNsYXRlTGFuZ1tdOyBzY29wZXM/OiBBWFRyYW5zbGF0ZVNjb3BlW10gfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGxhbmdzVG9Mb2FkID0gWy4uLm5ldyBTZXQob3B0aW9ucz8ubGFuZ3MgPz8gdGhpcy5jb25maWcucHJlbG9hZD8ubGFuZ3MgPz8gW3RoaXMuY29uZmlnLmRlZmF1bHRzLmxhbmddKV07XG4gICAgY29uc3Qgc2NvcGVzVG9Mb2FkID0gWy4uLm5ldyBTZXQob3B0aW9ucz8uc2NvcGVzID8/IHRoaXMuY29uZmlnLnByZWxvYWQ/LnNjb3BlcyA/PyBbdGhpcy5jb25maWcuZGVmYXVsdHMuc2NvcGVdKV07XG5cbiAgICBjb25zdCBsb2FkUHJvbWlzZXM6IFByb21pc2U8XG4gICAgICB8IHsgbGFuZzogQVhUcmFuc2xhdGVMYW5nOyBzY29wZTogQVhUcmFuc2xhdGVTY29wZTsgc3RhdHVzOiAnZnVsZmlsbGVkJzsgdmFsdWU6IEFYVHJhbnNsYXRpb24gfSAvLyBDaGFuZ2VkIGFueSB0byBBWFRyYW5zbGF0aW9uXG4gICAgICB8IHsgbGFuZzogQVhUcmFuc2xhdGVMYW5nOyBzY29wZTogQVhUcmFuc2xhdGVTY29wZTsgc3RhdHVzOiAncmVqZWN0ZWQnOyByZWFzb246IGFueSB9XG4gICAgPltdID0gW107XG5cbiAgICBsYW5nc1RvTG9hZC5mb3JFYWNoKChsYW5nKSA9PiB7XG4gICAgICBzY29wZXNUb0xvYWQuZm9yRWFjaCgoc2NvcGUpID0+IHtcbiAgICAgICAgY29uc3QgbG9hZFByb21pc2UgPSBmaXJzdFZhbHVlRnJvbSh0aGlzLmxvYWQobGFuZywgc2NvcGUpKSAvLyBUaGlzIHNob3VsZCBub3cgYWx3YXlzIGdldCBhIHZhbGlkIE9ic2VydmFibGVcbiAgICAgICAgICAudGhlbigodmFsdWUpID0+ICh7IGxhbmcsIHNjb3BlLCBzdGF0dXM6ICdmdWxmaWxsZWQnIGFzIGNvbnN0LCB2YWx1ZSB9KSlcbiAgICAgICAgICAuY2F0Y2goKHJlYXNvbikgPT4gKHsgbGFuZywgc2NvcGUsIHN0YXR1czogJ3JlamVjdGVkJyBhcyBjb25zdCwgcmVhc29uIH0pKTtcbiAgICAgICAgbG9hZFByb21pc2VzLnB1c2gobG9hZFByb21pc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwobG9hZFByb21pc2VzKTtcblxuICAgIGxldCBhbGxTdWNjZWVkZWQgPSB0cnVlO1xuICAgIHJlc3VsdHMuZm9yRWFjaCgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gJ3JlamVjdGVkJykge1xuICAgICAgICBhbGxTdWNjZWVkZWQgPSBmYWxzZTtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBgRmFpbGVkIHRvIHByZWxvYWQgdHJhbnNsYXRpb25zIGZvciBsYW5nOiAke3Jlc3VsdC5sYW5nfSwgc2NvcGU6ICR7cmVzdWx0LnNjb3BlfS4gUmVhc29uOmAsXG4gICAgICAgICAgcmVzdWx0LnJlYXNvbixcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBTdWNjZXNzZnVsbHkgcHJlbG9hZGVkIGxhbmc6ICR7cmVzdWx0Lmxhbmd9LCBzY29wZTogJHtyZXN1bHQuc2NvcGV9YCk7IC8vIE9wdGlvbmFsbHkgdW5jb21tZW50IGZvciBzdWNjZXNzIGxvZ3NcbiAgICAgIH1cbiAgICAgIC8vIGVsc2Uge1xuICAgICAgLy8gY29uc29sZS5sb2coYFN1Y2Nlc3NmdWxseSBwcmVsb2FkZWQgbGFuZzogJHtyZXN1bHQubGFuZ30sIHNjb3BlOiAke3Jlc3VsdC5zY29wZX1gKTsgLy8gT3B0aW9uYWxseSB1bmNvbW1lbnQgZm9yIHN1Y2Nlc3MgbG9nc1xuICAgICAgLy8gfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhbGxTdWNjZWVkZWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ09uZSBvciBtb3JlIHRyYW5zbGF0aW9uIHByZWxvYWRzIGZhaWxlZC4gU2VlIGNvbnNvbGUgZm9yIGRldGFpbHMuJyk7XG4gICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoXCJPbmUgb3IgbW9yZSB0cmFuc2xhdGlvbiBwcmVsb2FkcyBmYWlsZWQuIFNlZSBjb25zb2xlIGZvciBkZXRhaWxzLlwiKTtcbiAgICB9XG4gICAgLy8gVGhlIHNlY29uZCByZXN1bHRzLmZvckVhY2ggbG9vcCBpbiB5b3VyIG9yaWdpbmFsIGNvZGUgd2FzIHJlZHVuZGFudCwgSSd2ZSByZW1vdmVkIGl0LlxuICAgIC8vIElmIGl0IHdhcyBmb3IgYSBkaWZmZXJlbnQgcHVycG9zZSwgeW91IGNhbiBhZGQgaXQgYmFjay5cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gICAgdGhpcy5pbmZsaWdodC5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIGdldEZhbGxiYWNrTGFuZ3MobGFuZzogQVhUcmFuc2xhdGVMYW5nKTogQVhUcmFuc2xhdGVMYW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5mYWxsYmFja3M/LmxhbmdzPy5bbGFuZ10gPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0RmFsbGJhY2tTY29wZXMoc2NvcGU6IEFYVHJhbnNsYXRlU2NvcGUpOiBBWFRyYW5zbGF0ZVNjb3BlW10ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5mYWxsYmFja3M/LnNjb3Blcz8uW3Njb3BlXSA/PyBbXTtcbiAgfVxufVxuIl19","export class TranslationParserService {\n constructor() {\n this.legacyRegex = /t\\([\"']([^\"']+)[\"']\\s*(?:,\\s*(\\{.*?\\}))?\\)/g;\n this.inlineRegex = /@([a-zA-Z\\-]+:)?([a-zA-Z0-9_-]+):([a-zA-Z0-9_.:-]+)(?=[\\\\s.,;!?)]|$)/g;\n }\n isExpression(value) {\n return typeof value === 'string' && (value.includes('t(') || value.includes('@'));\n }\n parse(expression, currentLang, currentScope) {\n const tokens = [];\n // Extract inline references like @lang:scope:key or @scope:key\n let inlineMatch;\n while ((inlineMatch = this.inlineRegex.exec(expression)) !== null) {\n const langPart = inlineMatch[1]?.replace(':', '') ?? null;\n const scope = inlineMatch[2] ?? currentScope;\n const key = inlineMatch[3];\n const fullMatch = inlineMatch[0];\n tokens.push({ lang: langPart || currentLang, scope, key, fullMatch });\n }\n // Extract legacy expressions\n let legacyMatch;\n while ((legacyMatch = this.legacyRegex.exec(expression)) !== null) {\n const key = legacyMatch[1];\n const rawOptions = legacyMatch[2];\n let scope = currentScope;\n let lang = currentLang;\n if (rawOptions) {\n try {\n const jsonString = rawOptions.replace(/(['\"])?([a-zA-Z0-9_]+)(['\"])?\\s*:/g, '\"$2\":').replace(/'/g, '\"');\n const options = JSON.parse(jsonString);\n scope = options.scope || scope;\n lang = options.lang || lang;\n }\n catch (err) {\n console.error('Invalid translation expression options:', err);\n }\n }\n tokens.push({ key, scope, lang, fullMatch: legacyMatch[0] });\n }\n return tokens;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ucGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLnBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sd0JBQXdCO0lBQXJDO1FBQ21CLGdCQUFXLEdBQUcsNkNBQTZDLENBQUM7UUFDNUQsZ0JBQVcsR0FBRyx1RUFBdUUsQ0FBQztJQTRDekcsQ0FBQztJQTFDUSxZQUFZLENBQUMsS0FBYTtRQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBa0IsRUFBRSxXQUFtQixFQUFFLFlBQW9CO1FBQ3hFLE1BQU0sTUFBTSxHQUFvQixFQUFFLENBQUM7UUFFbkMsK0RBQStEO1FBQy9ELElBQUksV0FBVyxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNsRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDMUQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQztZQUM3QyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxJQUFJLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELDZCQUE2QjtRQUM3QixJQUFJLFdBQVcsQ0FBQztRQUNoQixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbEUsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUM7WUFDekIsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDO1lBRXZCLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDO29CQUNILE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDeEcsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdkMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO29CQUMvQixJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7Z0JBQzlCLENBQUM7Z0JBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztvQkFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRSxDQUFDO1lBQ0gsQ0FBQztZQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQYXJzZWRUb2tlbiB9IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25QYXJzZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsZWdhY3lSZWdleCA9IC90XFwoW1wiJ10oW15cIiddKylbXCInXVxccyooPzosXFxzKihcXHsuKj9cXH0pKT9cXCkvZztcbiAgcHJpdmF0ZSByZWFkb25seSBpbmxpbmVSZWdleCA9IC9AKFthLXpBLVpcXC1dKzopPyhbYS16QS1aMC05Xy1dKyk6KFthLXpBLVowLTlfLjotXSspKD89W1xcXFxzLiw7IT8pXXwkKS9nO1xuXG4gIHB1YmxpYyBpc0V4cHJlc3Npb24odmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICh2YWx1ZS5pbmNsdWRlcygndCgnKSB8fCB2YWx1ZS5pbmNsdWRlcygnQCcpKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXJzZShleHByZXNzaW9uOiBzdHJpbmcsIGN1cnJlbnRMYW5nOiBzdHJpbmcsIGN1cnJlbnRTY29wZTogc3RyaW5nKTogQVhQYXJzZWRUb2tlbltdIHtcbiAgICBjb25zdCB0b2tlbnM6IEFYUGFyc2VkVG9rZW5bXSA9IFtdO1xuXG4gICAgLy8gRXh0cmFjdCBpbmxpbmUgcmVmZXJlbmNlcyBsaWtlIEBsYW5nOnNjb3BlOmtleSBvciBAc2NvcGU6a2V5XG4gICAgbGV0IGlubGluZU1hdGNoO1xuICAgIHdoaWxlICgoaW5saW5lTWF0Y2ggPSB0aGlzLmlubGluZVJlZ2V4LmV4ZWMoZXhwcmVzc2lvbikpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBsYW5nUGFydCA9IGlubGluZU1hdGNoWzFdPy5yZXBsYWNlKCc6JywgJycpID8/IG51bGw7XG4gICAgICBjb25zdCBzY29wZSA9IGlubGluZU1hdGNoWzJdID8/IGN1cnJlbnRTY29wZTtcbiAgICAgIGNvbnN0IGtleSA9IGlubGluZU1hdGNoWzNdO1xuICAgICAgY29uc3QgZnVsbE1hdGNoID0gaW5saW5lTWF0Y2hbMF07XG5cbiAgICAgIHRva2Vucy5wdXNoKHsgbGFuZzogbGFuZ1BhcnQgfHwgY3VycmVudExhbmcsIHNjb3BlLCBrZXksIGZ1bGxNYXRjaCB9KTtcbiAgICB9XG5cbiAgICAvLyBFeHRyYWN0IGxlZ2FjeSBleHByZXNzaW9uc1xuICAgIGxldCBsZWdhY3lNYXRjaDtcbiAgICB3aGlsZSAoKGxlZ2FjeU1hdGNoID0gdGhpcy5sZWdhY3lSZWdleC5leGVjKGV4cHJlc3Npb24pKSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qga2V5ID0gbGVnYWN5TWF0Y2hbMV07XG4gICAgICBjb25zdCByYXdPcHRpb25zID0gbGVnYWN5TWF0Y2hbMl07XG4gICAgICBsZXQgc2NvcGUgPSBjdXJyZW50U2NvcGU7XG4gICAgICBsZXQgbGFuZyA9IGN1cnJlbnRMYW5nO1xuXG4gICAgICBpZiAocmF3T3B0aW9ucykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSByYXdPcHRpb25zLnJlcGxhY2UoLyhbJ1wiXSk/KFthLXpBLVowLTlfXSspKFsnXCJdKT9cXHMqOi9nLCAnXCIkMlwiOicpLnJlcGxhY2UoLycvZywgJ1wiJyk7XG4gICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IEpTT04ucGFyc2UoanNvblN0cmluZyk7XG4gICAgICAgICAgc2NvcGUgPSBvcHRpb25zLnNjb3BlIHx8IHNjb3BlO1xuICAgICAgICAgIGxhbmcgPSBvcHRpb25zLmxhbmcgfHwgbGFuZztcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCB0cmFuc2xhdGlvbiBleHByZXNzaW9uIG9wdGlvbnM6JywgZXJyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0b2tlbnMucHVzaCh7IGtleSwgc2NvcGUsIGxhbmcsIGZ1bGxNYXRjaDogbGVnYWN5TWF0Y2hbMF0gfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRva2VucztcbiAgfVxufVxuIl19","import { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { AXTranslationLoaderService } from './translation-loader.service';\nimport { TranslationParserService } from './translation.parser';\n// Helper function to escape special characters for use in a regular expression\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\nexport class TranslationResolverService {\n constructor() {\n this.loaderService = inject(AXTranslationLoaderService);\n this.parser = new TranslationParserService();\n }\n async resolve(lang, scope, key, params) {\n let result = this.loaderService.peek(lang, scope, key);\n if (result == null) {\n await firstValueFrom(this.loaderService.load(lang, scope));\n result = this.loaderService.peek(lang, scope, key);\n }\n if (result == null) {\n const unresolvedResult = key;\n return this.format(unresolvedResult, params);\n }\n // Recursively resolve references\n if (typeof result === 'string' && this.parser.isExpression(result)) {\n const tokens = this.parser.parse(result, lang, scope);\n if (tokens.length > 0) {\n const first = tokens[0];\n result = await this.resolve(first.lang || lang, first.scope || scope, first.key, params);\n }\n }\n return this.format(result, params);\n }\n format(text, params) {\n if (!params || typeof text !== 'string' || Object.keys(params).length === 0) {\n return text;\n }\n return Object.keys(params).reduce((currentText, paramKey) => {\n // paramKey is the key from the params object, e.g., \"title\" or \" title \"\n const valueToInsert = params[paramKey];\n // 1. Trim the key from the params object to handle potential leading/trailing spaces.\n // e.g., if paramKey is \" title \", keyForPattern becomes \"title\".\n const keyForPattern = paramKey.trim();\n // If trimming results in an empty string, it's not a valid placeholder to replace.\n if (keyForPattern === '') {\n return currentText;\n }\n // 2. Escape the trimmed key to safely use it in a regular expression.\n // This handles cases where the key might contain special regex characters (e.g., \"user.name\", \"item[0]\").\n const escapedKey = escapeRegExp(keyForPattern);\n // 3. Construct the RegExp. This will match:\n // - {{KEY}}\n // - {{ KEY }}\n // - {{ KEY }}\n // etc., where KEY is the (trimmed and escaped) paramKey.\n const re = new RegExp(`{{\\\\s*${escapedKey}\\\\s*}}`, 'g');\n // 4. Replace occurrences, ensuring the value is a string.\n return currentText.replace(re, String(valueToInsert));\n }, text);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24ucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hFLCtFQUErRTtBQUMvRSxTQUFTLFlBQVksQ0FBQyxNQUFjO0lBQ2xDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxPQUFPLDBCQUEwQjtJQUF2QztRQUNVLGtCQUFhLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDbkQsV0FBTSxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQWlFbEQsQ0FBQztJQS9EQyxLQUFLLENBQUMsT0FBTyxDQUNYLElBQXFCLEVBQ3JCLEtBQXVCLEVBQ3ZCLEdBQVcsRUFDWCxNQUEwQjtRQUUxQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXZELElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25CLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNELE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25FLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzRixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFZLEVBQUUsTUFBMEI7UUFDcEQsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUUsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUMxRCx5RUFBeUU7WUFDekUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXZDLHNGQUFzRjtZQUN0RixvRUFBb0U7WUFDcEUsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXRDLG1GQUFtRjtZQUNuRixJQUFJLGFBQWEsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxXQUFXLENBQUM7WUFDckIsQ0FBQztZQUVELHNFQUFzRTtZQUN0RSw2R0FBNkc7WUFDN0csTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRS9DLDRDQUE0QztZQUM1QyxlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQiw0REFBNEQ7WUFDNUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxVQUFVLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUV4RCwwREFBMEQ7WUFDMUQsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25QYXJzZXJTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5wYXJzZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVMYW5nLCBBWFRyYW5zbGF0ZVBhcmFtcywgQVhUcmFuc2xhdGVTY29wZSB9IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZXNjYXBlIHNwZWNpYWwgY2hhcmFjdGVycyBmb3IgdXNlIGluIGEgcmVndWxhciBleHByZXNzaW9uXG5mdW5jdGlvbiBlc2NhcGVSZWdFeHAoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblJlc29sdmVyU2VydmljZSB7XG4gIHByaXZhdGUgbG9hZGVyU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSk7XG4gIHByaXZhdGUgcGFyc2VyID0gbmV3IFRyYW5zbGF0aW9uUGFyc2VyU2VydmljZSgpO1xuXG4gIGFzeW5jIHJlc29sdmUoXG4gICAgbGFuZzogQVhUcmFuc2xhdGVMYW5nLFxuICAgIHNjb3BlOiBBWFRyYW5zbGF0ZVNjb3BlLFxuICAgIGtleTogc3RyaW5nLFxuICAgIHBhcmFtcz86IEFYVHJhbnNsYXRlUGFyYW1zLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGxldCByZXN1bHQgPSB0aGlzLmxvYWRlclNlcnZpY2UucGVlayhsYW5nLCBzY29wZSwga2V5KTtcblxuICAgIGlmIChyZXN1bHQgPT0gbnVsbCkge1xuICAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5sb2FkZXJTZXJ2aWNlLmxvYWQobGFuZywgc2NvcGUpKTtcbiAgICAgIHJlc3VsdCA9IHRoaXMubG9hZGVyU2VydmljZS5wZWVrKGxhbmcsIHNjb3BlLCBrZXkpO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQgPT0gbnVsbCkge1xuICAgICAgY29uc3QgdW5yZXNvbHZlZFJlc3VsdCA9IGtleTtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdCh1bnJlc29sdmVkUmVzdWx0LCBwYXJhbXMpO1xuICAgIH1cblxuICAgIC8vIFJlY3Vyc2l2ZWx5IHJlc29sdmUgcmVmZXJlbmNlc1xuICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJyAmJiB0aGlzLnBhcnNlci5pc0V4cHJlc3Npb24ocmVzdWx0KSkge1xuICAgICAgY29uc3QgdG9rZW5zID0gdGhpcy5wYXJzZXIucGFyc2UocmVzdWx0LCBsYW5nLCBzY29wZSk7XG4gICAgICBpZiAodG9rZW5zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgZmlyc3QgPSB0b2tlbnNbMF07XG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMucmVzb2x2ZShmaXJzdC5sYW5nIHx8IGxhbmcsIGZpcnN0LnNjb3BlIHx8IHNjb3BlLCBmaXJzdC5rZXksIHBhcmFtcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0KHJlc3VsdCwgcGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXQodGV4dDogc3RyaW5nLCBwYXJhbXM/OiBBWFRyYW5zbGF0ZVBhcmFtcyk6IHN0cmluZyB7XG4gICAgaWYgKCFwYXJhbXMgfHwgdHlwZW9mIHRleHQgIT09ICdzdHJpbmcnIHx8IE9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5yZWR1Y2UoKGN1cnJlbnRUZXh0LCBwYXJhbUtleSkgPT4ge1xuICAgICAgLy8gcGFyYW1LZXkgaXMgdGhlIGtleSBmcm9tIHRoZSBwYXJhbXMgb2JqZWN0LCBlLmcuLCBcInRpdGxlXCIgb3IgXCIgdGl0bGUgXCJcbiAgICAgIGNvbnN0IHZhbHVlVG9JbnNlcnQgPSBwYXJhbXNbcGFyYW1LZXldO1xuXG4gICAgICAvLyAxLiBUcmltIHRoZSBrZXkgZnJvbSB0aGUgcGFyYW1zIG9iamVjdCB0byBoYW5kbGUgcG90ZW50aWFsIGxlYWRpbmcvdHJhaWxpbmcgc3BhY2VzLlxuICAgICAgLy8gICAgZS5nLiwgaWYgcGFyYW1LZXkgaXMgXCIgdGl0bGUgXCIsIGtleUZvclBhdHRlcm4gYmVjb21lcyBcInRpdGxlXCIuXG4gICAgICBjb25zdCBrZXlGb3JQYXR0ZXJuID0gcGFyYW1LZXkudHJpbSgpO1xuXG4gICAgICAvLyBJZiB0cmltbWluZyByZXN1bHRzIGluIGFuIGVtcHR5IHN0cmluZywgaXQncyBub3QgYSB2YWxpZCBwbGFjZWhvbGRlciB0byByZXBsYWNlLlxuICAgICAgaWYgKGtleUZvclBhdHRlcm4gPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50VGV4dDtcbiAgICAgIH1cblxuICAgICAgLy8gMi4gRXNjYXBlIHRoZSB0cmltbWVkIGtleSB0byBzYWZlbHkgdXNlIGl0IGluIGEgcmVndWxhciBleHByZXNzaW9uLlxuICAgICAgLy8gICAgVGhpcyBoYW5kbGVzIGNhc2VzIHdoZXJlIHRoZSBrZXkgbWlnaHQgY29udGFpbiBzcGVjaWFsIHJlZ2V4IGNoYXJhY3RlcnMgKGUuZy4sIFwidXNlci5uYW1lXCIsIFwiaXRlbVswXVwiKS5cbiAgICAgIGNvbnN0IGVzY2FwZWRLZXkgPSBlc2NhcGVSZWdFeHAoa2V5Rm9yUGF0dGVybik7XG5cbiAgICAgIC8vIDMuIENvbnN0cnVjdCB0aGUgUmVnRXhwLiBUaGlzIHdpbGwgbWF0Y2g6XG4gICAgICAvLyAgICAtIHt7S0VZfX1cbiAgICAgIC8vICAgIC0ge3sgS0VZIH19XG4gICAgICAvLyAgICAtIHt7ICBLRVkgIH19XG4gICAgICAvLyAgICBldGMuLCB3aGVyZSBLRVkgaXMgdGhlICh0cmltbWVkIGFuZCBlc2NhcGVkKSBwYXJhbUtleS5cbiAgICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cChge3tcXFxccyoke2VzY2FwZWRLZXl9XFxcXHMqfX1gLCAnZycpO1xuXG4gICAgICAvLyA0LiBSZXBsYWNlIG9jY3VycmVuY2VzLCBlbnN1cmluZyB0aGUgdmFsdWUgaXMgYSBzdHJpbmcuXG4gICAgICByZXR1cm4gY3VycmVudFRleHQucmVwbGFjZShyZSwgU3RyaW5nKHZhbHVlVG9JbnNlcnQpKTtcbiAgICB9LCB0ZXh0KTtcbiAgfVxufVxuIl19","export const LOCALE_KEY_REGEX = /^(\\*-\\*|[a-z]{2}-[A-Z]{2})$/;\nexport function resolveMultiLanguageValue(value, locale) {\n return value[locale] ?? value['en-US'] ?? Object.values(value).find((item) => item != null) ?? '';\n}\nexport function isValidMultiLanguageObject(value) {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return false;\n }\n const entries = Object.entries(value);\n if (!entries.length) {\n return false;\n }\n return entries.every(([key, entryValue]) => LOCALE_KEY_REGEX.test(key) && typeof entryValue === 'string');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLDZCQUE2QixDQUFDO0FBSTlELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxLQUF5QixFQUFFLE1BQWM7SUFDakYsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3BHLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsS0FBYztJQUN2RCxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUM7QUFDNUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFYVHJhbnNsYXRlSGFzaE1hcDxUID0gdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCBUPjtcblxuZXhwb3J0IHR5cGUgQVhUcmFuc2xhdGVMYW5nID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgQVhUcmFuc2xhdGVTY29wZSA9IHN0cmluZztcbmV4cG9ydCB0eXBlIEFYVHJhbnNsYXRlUGFyYW1zPFQgPSB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIFQ+O1xuZXhwb3J0IHR5cGUgQVhUcmFuc2xhdGlvbiA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhUcmFuc2xhdGVPcHRpb25zIHtcbiAgbGFuZz86IEFYVHJhbnNsYXRlTGFuZztcbiAgc2NvcGU/OiBBWFRyYW5zbGF0ZVNjb3BlO1xuICBwYXJhbXM/OiBBWFRyYW5zbGF0ZVBhcmFtcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBhcnNlZFRva2VuIHtcbiAga2V5OiBzdHJpbmc7XG4gIHNjb3BlPzogQVhUcmFuc2xhdGVTY29wZTtcbiAgbGFuZz86IEFYVHJhbnNsYXRlTGFuZztcbiAgZnVsbE1hdGNoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBMT0NBTEVfS0VZX1JFR0VYID0gL14oXFwqLVxcKnxbYS16XXsyfS1bQS1aXXsyfSkkLztcblxuZXhwb3J0IHR5cGUgQVhNdWx0aUxhbmd1YWdlTWFwID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVNdWx0aUxhbmd1YWdlVmFsdWUodmFsdWU6IEFYTXVsdGlMYW5ndWFnZU1hcCwgbG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWVbbG9jYWxlXSA/PyB2YWx1ZVsnZW4tVVMnXSA/PyBPYmplY3QudmFsdWVzKHZhbHVlKS5maW5kKChpdGVtKSA9PiBpdGVtICE9IG51bGwpID8/ICcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE11bHRpTGFuZ3VhZ2VPYmplY3QodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBBWE11bHRpTGFuZ3VhZ2VNYXAge1xuICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXModmFsdWUpO1xuICBpZiAoIWVudHJpZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGVudHJpZXMuZXZlcnkoKFtrZXksIGVudHJ5VmFsdWVdKSA9PiBMT0NBTEVfS0VZX1JFR0VYLnRlc3Qoa2V5KSAmJiB0eXBlb2YgZW50cnlWYWx1ZSA9PT0gJ3N0cmluZycpO1xufVxuIl19","import { AXEventService, AXSystemEvents } from '@acorex/core/events';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { waitFor } from '@acorex/core/utils';\nimport { inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, distinctUntilChanged, from, of, shareReplay, switchMap } from 'rxjs';\nimport { AXTranslationLoaderService } from './translation-loader.service';\nimport { AX_TRANSLATION_CONFIG } from './translation.config';\nimport { TranslationParserService } from './translation.parser';\nimport { TranslationResolverService } from './translation.resolver';\nimport { isValidMultiLanguageObject, resolveMultiLanguageValue, } from './translation.types';\nimport * as i0 from \"@angular/core\";\nlet singletonInstance;\nexport function translateSync(key, options) {\n return singletonInstance.translateSync(key, options);\n}\nexport class AXTranslationService {\n constructor() {\n this.localeService = inject(AXLocaleService);\n this.config = inject(AX_TRANSLATION_CONFIG);\n this.loader = inject(AXTranslationLoaderService);\n this.parser = new TranslationParserService();\n this.eventService = inject(AXEventService);\n this.resolver = new TranslationResolverService();\n this.activeLang = new BehaviorSubject(this.config.defaults.lang);\n this.langChanges$ = this.activeLang.asObservable();\n this.currentLocale$ = this.langChanges$.pipe(distinctUntilChanged());\n singletonInstance = this;\n this.localeService.profileChanged$.subscribe((locale) => {\n if (locale?.localeInfo?.code) {\n this.setActiveLang(locale.localeInfo.code);\n }\n });\n }\n setActiveLang(lang) {\n if (lang && lang !== this.activeLang.getValue()) {\n this.activeLang.next(lang);\n this.eventService.emitEvent({\n type: AXSystemEvents.AXLanguageChanged,\n payload: lang,\n });\n }\n }\n getActiveLang() {\n return this.activeLang.getValue();\n }\n getDefaultLang() {\n return this.config.defaults.lang;\n }\n resolve(value, locale) {\n if (value == null) {\n return '';\n }\n if (typeof value === 'string') {\n return value;\n }\n if (!isValidMultiLanguageObject(value)) {\n return '';\n }\n return resolveMultiLanguageValue(value, locale ?? this.getActiveLang());\n }\n toLocaleMap(value, activeLocale = this.getActiveLang()) {\n if (isValidMultiLanguageObject(value)) {\n return { ...value };\n }\n return {\n [activeLocale]: typeof value === 'string' ? value : '',\n };\n }\n translate$(value, options) {\n if (isValidMultiLanguageObject(value)) {\n return this.langChanges$.pipe(switchMap((activeLang) => {\n const targetLang = options?.lang ?? activeLang;\n const selectedValue = resolveMultiLanguageValue(value, targetLang);\n const scope = options?.scope ?? this.config.defaults.scope;\n return from(this.translateAsync(selectedValue, {\n ...options,\n lang: targetLang,\n scope,\n }));\n }));\n }\n return this.translateValue$(value, options);\n }\n async translateAsync(text, options) {\n const { lang, scope } = this.resolveContext(options);\n const params = options?.params;\n if (!this.parser.isExpression(text)) {\n return this.resolver.resolve(lang, scope, text, params);\n }\n const tokens = this.parser.parse(text, lang, scope);\n const results = await Promise.all(tokens.map((token) => this.resolver\n .resolve(token.lang ?? lang, token.scope ?? scope, token.key, params)\n .then((translated) => [token.fullMatch, translated])));\n return results.reduce((output, [match, translated]) => output.replace(match, translated), text);\n }\n translateSync(text, options) {\n const { lang, scope } = this.resolveContext(options);\n const params = options?.params;\n const waitForLoad = options?.waitForLoad ?? false;\n const timeoutMs = options?.timeoutMs ?? 100;\n if (!this.parser.isExpression(text)) {\n let translated = this.loader.peek(lang, scope, text);\n if (!translated && waitForLoad) {\n translated = waitFor(() => this.loader.peek(lang, scope, text), () => this.loader.load(lang, scope).subscribe(), timeoutMs);\n }\n return this.resolver.format(translated ?? text, params);\n }\n const tokens = this.parser.parse(text, lang, scope);\n let result = text;\n for (const token of tokens) {\n const targetLang = token.lang ?? lang;\n const targetScope = token.scope ?? scope;\n const key = token.key;\n let translation = this.loader.peek(targetLang, targetScope, key);\n if (!translation) {\n translation =\n waitFor(() => this.loader.peek(targetLang, targetScope, key), () => this.loader.load(targetLang, targetScope).subscribe(), waitForLoad ? timeoutMs : 0) ?? key;\n }\n result = result.replace(token.fullMatch, this.resolver.format(translation, params));\n }\n return result;\n }\n translateValue$(text, options) {\n if (!text) {\n return of('');\n }\n const staticOptions = { ...options };\n const staticScope = staticOptions.scope ?? this.config.defaults.scope;\n return this.langChanges$.pipe(switchMap((lang) => {\n return from(this.translateAsync(text, {\n ...staticOptions,\n lang: staticOptions.lang ?? lang,\n scope: staticScope,\n }));\n }), shareReplay({ bufferSize: 1, refCount: true }));\n }\n resolveContext(options) {\n return {\n lang: options?.lang ?? this.getActiveLang() ?? this.config.defaults.lang,\n scope: options?.scope ?? this.config.defaults.scope,\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2xpYi90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBSUwsMEJBQTBCLEVBQzFCLHlCQUF5QixHQUMxQixNQUFNLHFCQUFxQixDQUFDOztBQUU3QixJQUFJLGlCQUF1QyxDQUFDO0FBRTVDLE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVyxFQUFFLE9BQTRCO0lBQ3JFLE9BQU8saUJBQWlCLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBS0QsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjtRQVZRLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FB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SSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSztTQUNwRCxDQUFDO0lBQ0osQ0FBQzs4R0EzTFUsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRXZlbnRTZXJ2aWNlLCBBWFN5c3RlbUV2ZW50cyB9IGZyb20gJ0BhY29yZXgvY29yZS9ldmVudHMnO1xuaW1wb3J0IHsgQVhMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2xvY2FsZSc7XG5pbXBvcnQgeyB3YWl0Rm9yIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Mb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWF9UUkFOU0xBVElPTl9DT05GSUcgfSBmcm9tICcuL3RyYW5zbGF0aW9uLmNvbmZpZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblBhcnNlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnBhcnNlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblJlc29sdmVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24ucmVzb2x2ZXInO1xuaW1wb3J0IHtcbiAgQVhNdWx0aUxhbmd1YWdlTWFwLFxuICBBWFRyYW5zbGF0ZUxhbmcsXG4gIEFYVHJhbnNsYXRlT3B0aW9ucyxcbiAgaXNWYWxpZE11bHRpTGFuZ3VhZ2VPYmplY3QsXG4gIHJlc29sdmVNdWx0aUxhbmd1YWdlVmFsdWUsXG59IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuXG5sZXQgc2luZ2xldG9uSW5zdGFuY2U6IEFYVHJhbnNsYXRpb25TZXJ2aWNlO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlU3luYyhrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyk6IHN0cmluZyB7XG4gIHJldHVybiBzaW5nbGV0b25JbnN0YW5jZS50cmFuc2xhdGVTeW5jKGtleSwgb3B0aW9ucyk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpO1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpO1xuICBwcml2YXRlIGxvYWRlciA9IGluamVjdChBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSk7XG4gIHByaXZhdGUgcGFyc2VyID0gbmV3IFRyYW5zbGF0aW9uUGFyc2VyU2VydmljZSgpO1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWEV2ZW50U2VydmljZSk7XG4gIHByaXZhdGUgcmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlclNlcnZpY2UoKTtcbiAgcHJpdmF0ZSBhY3RpdmVMYW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFRyYW5zbGF0ZUxhbmc+KHRoaXMuY29uZmlnLmRlZmF1bHRzLmxhbmcpO1xuICBwdWJsaWMgcmVhZG9ubHkgbGFuZ0NoYW5nZXMkID0gdGhpcy5hY3RpdmVMYW5nLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudExvY2FsZSQgPSB0aGlzLmxhbmdDaGFuZ2VzJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHNpbmdsZXRvbkluc3RhbmNlID0gdGhpcztcbiAgICB0aGlzLmxvY2FsZVNlcnZpY2UucHJvZmlsZUNoYW5nZWQkLnN1YnNjcmliZSgobG9jYWxlKSA9PiB7XG4gICAgICBpZiAobG9jYWxlPy5sb2NhbGVJbmZvPy5jb2RlKSB7XG4gICAgICAgIHRoaXMuc2V0QWN0aXZlTGFuZyhsb2NhbGUubG9jYWxlSW5mby5jb2RlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVMYW5nKGxhbmc6IEFYVHJhbnNsYXRlTGFuZyk6IHZvaWQge1xuICAgIGlmIChsYW5nICYmIGxhbmcgIT09IHRoaXMuYWN0aXZlTGFuZy5nZXRWYWx1ZSgpKSB7XG4gICAgICB0aGlzLmFjdGl2ZUxhbmcubmV4dChsYW5nKTtcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLmVtaXRFdmVudCh7XG4gICAgICAgIHR5cGU6IEFYU3lzdGVtRXZlbnRzLkFYTGFuZ3VhZ2VDaGFuZ2VkLFxuICAgICAgICBwYXlsb2FkOiBsYW5nLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUxhbmcoKTogQVhUcmFuc2xhdGVMYW5nIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVMYW5nLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVmYXVsdExhbmcoKTogQVhUcmFuc2xhdGVMYW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZGVmYXVsdHMubGFuZztcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlKHZhbHVlOiBzdHJpbmcgfCBBWE11bHRpTGFuZ3VhZ2VNYXAgfCBudWxsIHwgdW5kZWZpbmVkLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVmFsaWRNdWx0aUxhbmd1YWdlT2JqZWN0KHZhbHVlKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiByZXNvbHZlTXVsdGlMYW5ndWFnZVZhbHVlKHZhbHVlLCBsb2NhbGUgPz8gdGhpcy5nZXRBY3RpdmVMYW5nKCkpO1xuICB9XG5cbiAgcHVibGljIHRvTG9jYWxlTWFwKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBBWE11bHRpTGFuZ3VhZ2VNYXAgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIGFjdGl2ZUxvY2FsZTogc3RyaW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksXG4gICk6IEFYTXVsdGlMYW5ndWFnZU1hcCB7XG4gICAgaWYgKGlzVmFsaWRNdWx0aUxhbmd1YWdlT2JqZWN0KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHsgLi4udmFsdWUgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgW2FjdGl2ZUxvY2FsZV06IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6ICcnLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdHJhbnNsYXRlJChcbiAgICB2YWx1ZTogc3RyaW5nIHwgQVhNdWx0aUxhbmd1YWdlTWFwIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBvcHRpb25zPzogQVhUcmFuc2xhdGVPcHRpb25zLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmIChpc1ZhbGlkTXVsdGlMYW5ndWFnZU9iamVjdCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmxhbmdDaGFuZ2VzJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGFjdGl2ZUxhbmcpID0+IHtcbiAgICAgICAgICBjb25zdCB0YXJnZXRMYW5nID0gb3B0aW9ucz8ubGFuZyA/PyBhY3RpdmVMYW5nO1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSByZXNvbHZlTXVsdGlMYW5ndWFnZVZhbHVlKHZhbHVlLCB0YXJnZXRMYW5nKTtcbiAgICAgICAgICBjb25zdCBzY29wZSA9IG9wdGlvbnM/LnNjb3BlID8/IHRoaXMuY29uZmlnLmRlZmF1bHRzLnNjb3BlO1xuXG4gICAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZUFzeW5jKHNlbGVjdGVkVmFsdWUsIHtcbiAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgbGFuZzogdGFyZ2V0TGFuZyxcbiAgICAgICAgICAgICAgc2NvcGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVZhbHVlJCh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyB0cmFuc2xhdGVBc3luYyh0ZXh0OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgbGFuZywgc2NvcGUgfSA9IHRoaXMucmVzb2x2ZUNvbnRleHQob3B0aW9ucyk7XG4gICAgY29uc3QgcGFyYW1zID0gb3B0aW9ucz8ucGFyYW1zO1xuXG4gICAgaWYgKCF0aGlzLnBhcnNlci5pc0V4cHJlc3Npb24odGV4dCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc29sdmVyLnJlc29sdmUobGFuZywgc2NvcGUsIHRleHQsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgY29uc3QgdG9rZW5zID0gdGhpcy5wYXJzZXIucGFyc2UodGV4dCwgbGFuZywgc2NvcGUpO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgdG9rZW5zLm1hcCgodG9rZW4pID0+XG4gICAgICAgIHRoaXMucmVzb2x2ZXJcbiAgICAgICAgICAucmVzb2x2ZSh0b2tlbi5sYW5nID8/IGxhbmcsIHRva2VuLnNjb3BlID8/IHNjb3BlLCB0b2tlbi5rZXksIHBhcmFtcylcbiAgICAgICAgICAudGhlbigodHJhbnNsYXRlZCkgPT4gW3Rva2VuLmZ1bGxNYXRjaCwgdHJhbnNsYXRlZF0pLFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3VsdHMucmVkdWNlKChvdXRwdXQsIFttYXRjaCwgdHJhbnNsYXRlZF0pID0+IG91dHB1dC5yZXBsYWNlKG1hdGNoLCB0cmFuc2xhdGVkKSwgdGV4dCk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNsYXRlU3luYyhcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyAmIHsgd2FpdEZvckxvYWQ/OiBib29sZWFuOyB0aW1lb3V0TXM/OiBudW1iZXIgfSxcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IGxhbmcsIHNjb3BlIH0gPSB0aGlzLnJlc29sdmVDb250ZXh0KG9wdGlvbnMpO1xuICAgIGNvbnN0IHBhcmFtcyA9IG9wdGlvbnM/LnBhcmFtcztcbiAgICBjb25zdCB3YWl0Rm9yTG9hZCA9IG9wdGlvbnM/LndhaXRGb3JMb2FkID8/IGZhbHNlO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IG9wdGlvbnM/LnRpbWVvdXRNcyA/PyAxMDA7XG5cbiAgICBpZiAoIXRoaXMucGFyc2VyLmlzRXhwcmVzc2lvbih0ZXh0KSkge1xuICAgICAgbGV0IHRyYW5zbGF0ZWQgPSB0aGlzLmxvYWRlci5wZWVrKGxhbmcsIHNjb3BlLCB0ZXh0KTtcblxuICAgICAgaWYgKCF0cmFuc2xhdGVkICYmIHdhaXRGb3JMb2FkKSB7XG4gICAgICAgIHRyYW5zbGF0ZWQgPSB3YWl0Rm9yKFxuICAgICAgICAgICgpID0+IHRoaXMubG9hZGVyLnBlZWsobGFuZywgc2NvcGUsIHRleHQpLFxuICAgICAgICAgICgpID0+IHRoaXMubG9hZGVyLmxvYWQobGFuZywgc2NvcGUpLnN1YnNjcmliZSgpLFxuICAgICAgICAgIHRpbWVvdXRNcyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZXIuZm9ybWF0KHRyYW5zbGF0ZWQgPz8gdGV4dCwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbnMgPSB0aGlzLnBhcnNlci5wYXJzZSh0ZXh0LCBsYW5nLCBzY29wZSk7XG4gICAgbGV0IHJlc3VsdCA9IHRleHQ7XG5cbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgICAgY29uc3QgdGFyZ2V0TGFuZyA9IHRva2VuLmxhbmcgPz8gbGFuZztcbiAgICAgIGNvbnN0IHRhcmdldFNjb3BlID0gdG9rZW4uc2NvcGUgPz8gc2NvcGU7XG4gICAgICBjb25zdCBrZXkgPSB0b2tlbi5rZXk7XG5cbiAgICAgIGxldCB0cmFuc2xhdGlvbiA9IHRoaXMubG9hZGVyLnBlZWsodGFyZ2V0TGFuZywgdGFyZ2V0U2NvcGUsIGtleSk7XG5cbiAgICAgIGlmICghdHJhbnNsYXRpb24pIHtcbiAgICAgICAgdHJhbnNsYXRpb24gPVxuICAgICAgICAgIHdhaXRGb3IoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLmxvYWRlci5wZWVrKHRhcmdldExhbmcsIHRhcmdldFNjb3BlLCBrZXkpLFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5sb2FkZXIubG9hZCh0YXJnZXRMYW5nLCB0YXJnZXRTY29wZSkuc3Vic2NyaWJlKCksXG4gICAgICAgICAgICB3YWl0Rm9yTG9hZCA/IHRpbWVvdXRNcyA6IDAsXG4gICAgICAgICAgKSA/PyBrZXk7XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKHRva2VuLmZ1bGxNYXRjaCwgdGhpcy5yZXNvbHZlci5mb3JtYXQodHJhbnNsYXRpb24sIHBhcmFtcykpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zbGF0ZVZhbHVlJCh0ZXh0OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICghdGV4dCkge1xuICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0aWNPcHRpb25zID0geyAuLi5vcHRpb25zIH07XG4gICAgY29uc3Qgc3RhdGljU2NvcGUgPSBzdGF0aWNPcHRpb25zLnNjb3BlID8/IHRoaXMuY29uZmlnLmRlZmF1bHRzLnNjb3BlO1xuXG4gICAgcmV0dXJuIHRoaXMubGFuZ0NoYW5nZXMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGxhbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVBc3luYyh0ZXh0LCB7XG4gICAgICAgICAgICAuLi5zdGF0aWNPcHRpb25zLFxuICAgICAgICAgICAgbGFuZzogc3RhdGljT3B0aW9ucy5sYW5nID8/IGxhbmcsXG4gICAgICAgICAgICBzY29wZTogc3RhdGljU2NvcGUsXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUNvbnRleHQob3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyk6IHsgbGFuZzogQVhUcmFuc2xhdGVMYW5nOyBzY29wZTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBsYW5nOiBvcHRpb25zPy5sYW5nID8/IHRoaXMuZ2V0QWN0aXZlTGFuZygpID8/IHRoaXMuY29uZmlnLmRlZmF1bHRzLmxhbmcsXG4gICAgICBzY29wZTogb3B0aW9ucz8uc2NvcGUgPz8gdGhpcy5jb25maWcuZGVmYXVsdHMuc2NvcGUsXG4gICAgfTtcbiAgfVxufVxuIl19","import { inject } from '@angular/core';\nimport { AXTranslationLoaderService } from './translation-loader.service';\nimport { AX_TRANSLATION_CONFIG } from './translation.config';\nimport { AXTranslationService } from './translation.service';\nexport const loadTranslationScope = (route, state) => {\n const translationLoaderService = inject(AXTranslationLoaderService);\n const translationService = inject(AXTranslationService);\n const config = inject(AX_TRANSLATION_CONFIG);\n const scopeValue = route.data[config.resolver?.scopeKey];\n const scopes = Array.isArray(scopeValue) ? scopeValue : [scopeValue];\n return translationLoaderService.preload({ langs: [translationService.getActiveLang()], scopes });\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tc2NvcGUucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24tc2NvcGUucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDdkUsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNwRSxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckUsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDbkcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNvbHZlRm4gfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbkxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0aW9uLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0NPTkZJRyB9IGZyb20gJy4vdHJhbnNsYXRpb24uY29uZmlnJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IGxvYWRUcmFuc2xhdGlvblNjb3BlOiBSZXNvbHZlRm48dW5rbm93bj4gPSAocm91dGUsIHN0YXRlKSA9PiB7XG4gIGNvbnN0IHRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSk7XG4gIGNvbnN0IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpO1xuICBjb25zdCBzY29wZVZhbHVlID0gcm91dGUuZGF0YVtjb25maWcucmVzb2x2ZXI/LnNjb3BlS2V5XTtcbiAgY29uc3Qgc2NvcGVzID0gQXJyYXkuaXNBcnJheShzY29wZVZhbHVlKSA/IHNjb3BlVmFsdWUgOiBbc2NvcGVWYWx1ZV07XG4gIHJldHVybiB0cmFuc2xhdGlvbkxvYWRlclNlcnZpY2UucHJlbG9hZCh7IGxhbmdzOiBbdHJhbnNsYXRpb25TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKV0sIHNjb3BlcyB9KTtcbn07XG4iXX0=","import { Directive, TemplateRef, ViewContainerRef, inject } from '@angular/core';\nimport { shareReplay } from 'rxjs';\nimport { AXTranslationService } from './translation.service';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorDirective {\n constructor() {\n this.templateRef = inject(TemplateRef);\n this.vc = inject(ViewContainerRef);\n this.translationService = inject(AXTranslationService);\n }\n ngOnInit() {\n const cache = new Map();\n const t = (key, opts) => {\n const id = `${key}|${opts?.lang ?? this.translationService.getActiveLang()}|${opts?.scope ?? 'common'}`;\n if (!cache.has(id)) {\n cache.set(id, this.translationService.translate$(key, opts).pipe(shareReplay({ bufferSize: 1, refCount: true })));\n }\n return cache.get(id);\n };\n this.vc.clear();\n this.vc.createEmbeddedView(this.templateRef, { $implicit: t });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXTranslatorDirective, isStandalone: true, selector: \"[translate]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[translate]' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRzdELE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFFVSxnQkFBVyxHQUFHLE1BQU0sQ0FBbUIsV0FBVyxDQUFDLENBQUM7UUFDcEQsT0FBRSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBbUIzRDtJQWpCQyxRQUFRO1FBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFFcEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBeUIsRUFBRSxFQUFFO1lBQ25ELE1BQU0sRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDeEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxDQUFDLEdBQUcsQ0FDUCxFQUFFLEVBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDbkcsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDOzhHQXJCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRlT3B0aW9ucyB9IGZyb20gJy4vdHJhbnNsYXRpb24udHlwZXMnO1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3RyYW5zbGF0ZV0nIH0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjxhbnk+PihUZW1wbGF0ZVJlZik7XG4gIHByaXZhdGUgdmMgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBPYnNlcnZhYmxlPHN0cmluZz4+KCk7XG5cbiAgICBjb25zdCB0ID0gKGtleTogc3RyaW5nLCBvcHRzPzogQVhUcmFuc2xhdGVPcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IGAke2tleX18JHtvcHRzPy5sYW5nID8/IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKX18JHtvcHRzPy5zY29wZSA/PyAnY29tbW9uJ31gO1xuICAgICAgaWYgKCFjYWNoZS5oYXMoaWQpKSB7XG4gICAgICAgIGNhY2hlLnNldChcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUkKGtleSwgb3B0cykucGlwZShzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZS5nZXQoaWQpITtcbiAgICB9O1xuXG4gICAgdGhpcy52Yy5jbGVhcigpO1xuICAgIHRoaXMudmMuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHsgJGltcGxpY2l0OiB0IH0pO1xuICB9XG59XG4iXX0=","import { inject, Pipe } from '@angular/core';\nimport { of } from 'rxjs';\nimport { AXTranslationService } from './translation.service';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorPipe {\n constructor() {\n this.service = inject(AXTranslationService);\n }\n transform(value, options) {\n if (!value) {\n return of('');\n }\n return this.service.translate$(value, options);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, isStandalone: true, name: \"translate\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'translate',\n pure: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPN0QsTUFBTSxPQUFPLGdCQUFnQjtJQUo3QjtRQUtVLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQVdoRDtJQVRDLFNBQVMsQ0FDUCxLQUF5RCxFQUN6RCxPQUE0QjtRQUU1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0FYVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZU9wdGlvbnMgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsYXRlJyxcbiAgcHVyZTogdHJ1ZSxcbn0pIC8vIFRoZSBwaXBlIGNhbiBub3cgYmUgcHVyZVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMsXG4gICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS50cmFuc2xhdGUkKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxufVxuIl19","import { NgModule, inject, provideAppInitializer } from '@angular/core';\nimport { AXTranslationLoaderService } from './translation-loader.service';\nimport { AXTranslatorDirective } from './translator.directive';\nimport { AXTranslatorPipe } from './translator.pipe';\nimport * as i0 from \"@angular/core\";\nfunction initializeApp(translatorService) {\n return () => {\n return translatorService.preload();\n };\n}\nexport class AXTranslationModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationModule, imports: [AXTranslatorPipe, AXTranslatorDirective], exports: [AXTranslatorPipe, AXTranslatorDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationModule, providers: [\n provideAppInitializer(() => {\n const initializerFn = initializeApp(inject(AXTranslationLoaderService));\n return initializerFn();\n }),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslationModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [AXTranslatorPipe, AXTranslatorDirective],\n exports: [AXTranslatorPipe, AXTranslatorDirective],\n providers: [\n provideAppInitializer(() => {\n const initializerFn = initializeApp(inject(AXTranslationLoaderService));\n return initializerFn();\n }),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckQsU0FBUyxhQUFhLENBQUMsaUJBQTZDO0lBQ2xFLE9BQU8sR0FBa0IsRUFBRTtRQUN6QixPQUFPLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFZRCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixZQVRwQixnQkFBZ0IsRUFBRSxxQkFBcUIsYUFDdkMsZ0JBQWdCLEVBQUUscUJBQXFCOytHQVF0QyxtQkFBbUIsYUFQbkI7WUFDVCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxPQUFPLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLENBQUMsQ0FBQztTQUNIOzsyRkFFVSxtQkFBbUI7a0JBVi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixDQUFDO29CQUNsRCxTQUFTLEVBQUU7d0JBQ1QscUJBQXFCLENBQUMsR0FBRyxFQUFFOzRCQUN6QixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQzs0QkFDeEUsT0FBTyxhQUFhLEVBQUUsQ0FBQzt3QkFDekIsQ0FBQyxDQUFDO3FCQUNIO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIGluamVjdCwgcHJvdmlkZUFwcEluaXRpYWxpemVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi90cmFuc2xhdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnLi90cmFuc2xhdG9yLnBpcGUnO1xuXG5mdW5jdGlvbiBpbml0aWFsaXplQXBwKHRyYW5zbGF0b3JTZXJ2aWNlOiBBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSkge1xuICByZXR1cm4gKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0cmFuc2xhdG9yU2VydmljZS5wcmVsb2FkKCk7XG4gIH07XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtBWFRyYW5zbGF0b3JQaXBlLCBBWFRyYW5zbGF0b3JEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbQVhUcmFuc2xhdG9yUGlwZSwgQVhUcmFuc2xhdG9yRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUFwcEluaXRpYWxpemVyKCgpID0+IHtcbiAgICAgIGNvbnN0IGluaXRpYWxpemVyRm4gPSBpbml0aWFsaXplQXBwKGluamVjdChBWFRyYW5zbGF0aW9uTG9hZGVyU2VydmljZSkpO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVyRm4oKTtcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdGlvbk1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtdHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9hY29yZXgtY29yZS10cmFuc2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/core",
|
|
3
|
-
"version": "20.6.
|
|
3
|
+
"version": "20.6.21",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"lodash-es": ">=4.17.21",
|
|
6
6
|
"memoizee": ">=0.4.15",
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"types": "./components/index.d.ts",
|
|
27
27
|
"default": "./fesm2022/acorex-core-components.mjs"
|
|
28
28
|
},
|
|
29
|
-
"./constants": {
|
|
30
|
-
"types": "./constants/index.d.ts",
|
|
31
|
-
"default": "./fesm2022/acorex-core-constants.mjs"
|
|
32
|
-
},
|
|
33
29
|
"./config": {
|
|
34
30
|
"types": "./config/index.d.ts",
|
|
35
31
|
"default": "./fesm2022/acorex-core-config.mjs"
|
|
36
32
|
},
|
|
33
|
+
"./constants": {
|
|
34
|
+
"types": "./constants/index.d.ts",
|
|
35
|
+
"default": "./fesm2022/acorex-core-constants.mjs"
|
|
36
|
+
},
|
|
37
37
|
"./date-time": {
|
|
38
38
|
"types": "./date-time/index.d.ts",
|
|
39
39
|
"default": "./fesm2022/acorex-core-date-time.mjs"
|
|
@@ -74,14 +74,14 @@
|
|
|
74
74
|
"types": "./network/index.d.ts",
|
|
75
75
|
"default": "./fesm2022/acorex-core-network.mjs"
|
|
76
76
|
},
|
|
77
|
-
"./pipes": {
|
|
78
|
-
"types": "./pipes/index.d.ts",
|
|
79
|
-
"default": "./fesm2022/acorex-core-pipes.mjs"
|
|
80
|
-
},
|
|
81
77
|
"./platform": {
|
|
82
78
|
"types": "./platform/index.d.ts",
|
|
83
79
|
"default": "./fesm2022/acorex-core-platform.mjs"
|
|
84
80
|
},
|
|
81
|
+
"./pipes": {
|
|
82
|
+
"types": "./pipes/index.d.ts",
|
|
83
|
+
"default": "./fesm2022/acorex-core-pipes.mjs"
|
|
84
|
+
},
|
|
85
85
|
"./storage": {
|
|
86
86
|
"types": "./storage/index.d.ts",
|
|
87
87
|
"default": "./fesm2022/acorex-core-storage.mjs"
|
package/translation/index.d.ts
CHANGED
|
@@ -21,6 +21,10 @@ interface AXParsedToken {
|
|
|
21
21
|
lang?: AXTranslateLang;
|
|
22
22
|
fullMatch: string;
|
|
23
23
|
}
|
|
24
|
+
declare const LOCALE_KEY_REGEX: RegExp;
|
|
25
|
+
type AXMultiLanguageMap = Record<string, string>;
|
|
26
|
+
declare function resolveMultiLanguageValue(value: AXMultiLanguageMap, locale: string): string;
|
|
27
|
+
declare function isValidMultiLanguageObject(value: unknown): value is AXMultiLanguageMap;
|
|
24
28
|
|
|
25
29
|
interface AXTranslationConfig {
|
|
26
30
|
defaults: {
|
|
@@ -82,7 +86,6 @@ declare class AXTranslationModule {
|
|
|
82
86
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXTranslationModule>;
|
|
83
87
|
}
|
|
84
88
|
|
|
85
|
-
type AXMultiLanguageMap = Record<string, string>;
|
|
86
89
|
declare function translateSync(key: string, options?: AXTranslateOptions): string;
|
|
87
90
|
declare class AXTranslationService {
|
|
88
91
|
private localeService;
|
|
@@ -93,10 +96,13 @@ declare class AXTranslationService {
|
|
|
93
96
|
private resolver;
|
|
94
97
|
private activeLang;
|
|
95
98
|
readonly langChanges$: Observable<string>;
|
|
99
|
+
readonly currentLocale$: Observable<string>;
|
|
96
100
|
constructor();
|
|
97
101
|
setActiveLang(lang: AXTranslateLang): void;
|
|
98
102
|
getActiveLang(): AXTranslateLang;
|
|
99
103
|
getDefaultLang(): AXTranslateLang;
|
|
104
|
+
resolve(value: string | AXMultiLanguageMap | null | undefined, locale?: string): string;
|
|
105
|
+
toLocaleMap(value: string | AXMultiLanguageMap | null | undefined, activeLocale?: string): AXMultiLanguageMap;
|
|
100
106
|
translate$(value: string | AXMultiLanguageMap | null | undefined, options?: AXTranslateOptions): Observable<string>;
|
|
101
107
|
translateAsync(text: string, options?: AXTranslateOptions): Promise<string>;
|
|
102
108
|
translateSync(text: string, options?: AXTranslateOptions & {
|
|
@@ -104,11 +110,10 @@ declare class AXTranslationService {
|
|
|
104
110
|
timeoutMs?: number;
|
|
105
111
|
}): string;
|
|
106
112
|
private translateValue$;
|
|
107
|
-
private
|
|
108
|
-
private resolveMultiLanguageValue;
|
|
113
|
+
private resolveContext;
|
|
109
114
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXTranslationService, never>;
|
|
110
115
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXTranslationService>;
|
|
111
116
|
}
|
|
112
117
|
|
|
113
|
-
export { AXTranslationDefaultConfig, AXTranslationLoaderDefault, AXTranslationModule, AXTranslationService, AXTranslatorDirective, AXTranslatorPipe, AX_TRANSLATION_CONFIG, AX_TRANSLATION_LOADER, loadTranslationScope, translateSync, translationConfig };
|
|
114
|
-
export type { AXParsedToken, AXPartialTranslationConfig, AXTranslateHashMap, AXTranslateLang, AXTranslateOptions, AXTranslateParams, AXTranslateScope, AXTranslation, AXTranslationConfig, AXTranslationLoader, AXTranslationLoaderOptions };
|
|
118
|
+
export { AXTranslationDefaultConfig, AXTranslationLoaderDefault, AXTranslationModule, AXTranslationService, AXTranslatorDirective, AXTranslatorPipe, AX_TRANSLATION_CONFIG, AX_TRANSLATION_LOADER, LOCALE_KEY_REGEX, isValidMultiLanguageObject, loadTranslationScope, resolveMultiLanguageValue, translateSync, translationConfig };
|
|
119
|
+
export type { AXMultiLanguageMap, AXParsedToken, AXPartialTranslationConfig, AXTranslateHashMap, AXTranslateLang, AXTranslateOptions, AXTranslateParams, AXTranslateScope, AXTranslation, AXTranslationConfig, AXTranslationLoader, AXTranslationLoaderOptions };
|