@jsverse/transloco 7.6.1 → 8.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -3
- package/README.md +2 -0
- package/esm2022/index.mjs +4 -5
- package/esm2022/lib/get-fallbacks-loaders.mjs +1 -1
- package/esm2022/lib/lang-resolver.mjs +3 -2
- package/esm2022/lib/resolve-loader.mjs +2 -2
- package/esm2022/lib/scope-resolver.mjs +3 -2
- package/esm2022/lib/template-handler.mjs +2 -2
- package/esm2022/lib/transloco-missing-handler.mjs +1 -1
- package/esm2022/lib/transloco-scope.mjs +1 -1
- package/esm2022/lib/transloco-testing.module.mjs +1 -1
- package/esm2022/lib/transloco.config.mjs +1 -1
- package/esm2022/lib/transloco.directive.mjs +4 -3
- package/esm2022/lib/transloco.interceptor.mjs +1 -1
- package/esm2022/lib/transloco.loader.mjs +1 -1
- package/esm2022/lib/transloco.pipe.mjs +4 -3
- package/esm2022/lib/transloco.providers.mjs +1 -1
- package/esm2022/lib/transloco.service.mjs +4 -3
- package/esm2022/lib/transloco.signal.mjs +1 -1
- package/esm2022/lib/transloco.transpiler.mjs +3 -2
- package/esm2022/lib/transloco.types.mjs +2 -0
- package/esm2022/lib/utils/browser.utils.mjs +30 -0
- package/esm2022/lib/utils/flat.utils.mjs +37 -0
- package/esm2022/lib/utils/lang.utils.mjs +15 -0
- package/esm2022/lib/utils/object.utils.mjs +28 -0
- package/esm2022/lib/utils/pipe.utils.mjs +17 -0
- package/esm2022/lib/utils/scope.utils.mjs +51 -0
- package/esm2022/lib/utils/type.utils.mjs +2 -0
- package/fesm2022/jsverse-transloco.mjs +156 -209
- package/fesm2022/jsverse-transloco.mjs.map +1 -1
- package/index.d.ts +3 -4
- package/lib/get-fallbacks-loaders.d.ts +1 -1
- package/lib/resolve-loader.d.ts +2 -2
- package/lib/scope-resolver.d.ts +2 -1
- package/lib/transloco-missing-handler.d.ts +1 -1
- package/lib/transloco-scope.d.ts +1 -1
- package/lib/transloco-testing.module.d.ts +2 -1
- package/lib/transloco.config.d.ts +1 -1
- package/lib/transloco.directive.d.ts +2 -2
- package/lib/transloco.interceptor.d.ts +1 -1
- package/lib/transloco.loader.d.ts +1 -1
- package/lib/transloco.pipe.d.ts +3 -1
- package/lib/transloco.providers.d.ts +1 -1
- package/lib/transloco.service.d.ts +2 -1
- package/lib/transloco.signal.d.ts +2 -1
- package/lib/transloco.transpiler.d.ts +2 -1
- package/lib/{types.d.ts → transloco.types.d.ts} +1 -2
- package/lib/{browser-lang.d.ts → utils/browser.utils.d.ts} +1 -0
- package/lib/utils/flat.utils.d.ts +3 -0
- package/lib/utils/lang.utils.d.ts +4 -0
- package/lib/utils/object.utils.d.ts +2 -0
- package/lib/utils/pipe.utils.d.ts +8 -0
- package/lib/utils/scope.utils.d.ts +7 -0
- package/lib/utils/type.utils.d.ts +1 -0
- package/package.json +14 -17
- package/schematics/collection.json +12 -0
- package/schematics/ng-add/generators/http-loader.gen.d.ts +5 -0
- package/schematics/{src/ng-add → ng-add}/generators/http-loader.gen.js +1 -0
- package/schematics/ng-add/generators/http-loader.gen.js.map +1 -0
- package/schematics/{src/ng-add → ng-add}/generators/root-module.gen.js +3 -3
- package/schematics/ng-add/generators/root-module.gen.js.map +1 -0
- package/schematics/{src/ng-migrate → ng-add}/index.d.ts +1 -1
- package/schematics/{src/ng-add → ng-add}/index.js +29 -19
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/ng-add.spec.d.ts +1 -0
- package/schematics/ng-add/ng-add.spec.js +45 -0
- package/schematics/ng-add/ng-add.spec.js.map +1 -0
- package/schematics/{src/ng-add → ng-add}/schema.d.ts +0 -8
- package/schematics/ng-add/schema.js +9 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/{src/ng-add → ng-add}/schema.json +1 -1
- package/schematics-core/index.d.ts +9 -0
- package/schematics-core/index.js +36 -0
- package/schematics-core/index.js.map +1 -0
- package/schematics-core/testing/create-workspace.d.ts +11 -0
- package/schematics-core/testing/create-workspace.js +34 -0
- package/schematics-core/testing/create-workspace.js.map +1 -0
- package/schematics-core/testing/index.d.ts +2 -0
- package/schematics-core/testing/index.js +19 -0
- package/schematics-core/testing/index.js.map +1 -0
- package/schematics-core/testing/mocks.d.ts +14 -0
- package/schematics-core/testing/mocks.js +10 -0
- package/schematics-core/testing/mocks.js.map +1 -0
- package/{schematics/src/utils/array.js → schematics-core/utils/collections.js} +1 -1
- package/schematics-core/utils/collections.js.map +1 -0
- package/schematics-core/utils/file.d.ts +6 -0
- package/schematics-core/utils/file.js +21 -0
- package/schematics-core/utils/file.js.map +1 -0
- package/{schematics/src → schematics-core}/utils/find-module.js +2 -0
- package/schematics-core/utils/find-module.js.map +1 -0
- package/{schematics/src → schematics-core}/utils/package.d.ts +0 -3
- package/{schematics/src → schematics-core}/utils/package.js +2 -4
- package/schematics-core/utils/package.js.map +1 -0
- package/schematics-core/utils/schematic.d.ts +6 -0
- package/{schematics/src/schematics.utils.js → schematics-core/utils/schematic.js} +6 -6
- package/schematics-core/utils/schematic.js.map +1 -0
- package/schematics-core/utils/translation.d.ts +20 -0
- package/schematics-core/utils/translation.js +83 -0
- package/schematics-core/utils/translation.js.map +1 -0
- package/schematics-core/utils/transloco.d.ts +5 -0
- package/schematics-core/utils/transloco.js +31 -0
- package/schematics-core/utils/transloco.js.map +1 -0
- package/schematics-core/utils/workspace.d.ts +6 -0
- package/{schematics/src/utils/projects.js → schematics-core/utils/workspace.js} +1 -13
- package/schematics-core/utils/workspace.js.map +1 -0
- package/esm2022/lib/browser-lang.mjs +0 -28
- package/esm2022/lib/helpers.mjs +0 -129
- package/esm2022/lib/shared.mjs +0 -73
- package/esm2022/lib/types.mjs +0 -2
- package/lib/helpers.d.ts +0 -20
- package/lib/shared.d.ts +0 -17
- package/schematics/src/assets/i18n/en.json +0 -1
- package/schematics/src/collection.json +0 -59
- package/schematics/src/component/index.d.ts +0 -2
- package/schematics/src/component/index.js +0 -21
- package/schematics/src/component/index.js.map +0 -1
- package/schematics/src/join/index.d.ts +0 -3
- package/schematics/src/join/index.js +0 -79
- package/schematics/src/join/index.js.map +0 -1
- package/schematics/src/join/schema.d.ts +0 -28
- package/schematics/src/join/schema.js +0 -3
- package/schematics/src/join/schema.js.map +0 -1
- package/schematics/src/join/schema.json +0 -43
- package/schematics/src/keys-manager/index.d.ts +0 -5
- package/schematics/src/keys-manager/index.js +0 -96
- package/schematics/src/keys-manager/index.js.map +0 -1
- package/schematics/src/keys-manager/schema.d.ts +0 -19
- package/schematics/src/keys-manager/schema.js +0 -3
- package/schematics/src/keys-manager/schema.js.map +0 -1
- package/schematics/src/keys-manager/schema.json +0 -33
- package/schematics/src/migrate/index.d.ts +0 -3
- package/schematics/src/migrate/index.js +0 -21
- package/schematics/src/migrate/index.js.map +0 -1
- package/schematics/src/migrate/ngx-translate-migration.d.ts +0 -3
- package/schematics/src/migrate/ngx-translate-migration.js +0 -175
- package/schematics/src/migrate/ngx-translate-migration.js.map +0 -1
- package/schematics/src/migrate/schema.d.ts +0 -10
- package/schematics/src/migrate/schema.js +0 -3
- package/schematics/src/migrate/schema.js.map +0 -1
- package/schematics/src/migrate/schema.json +0 -23
- package/schematics/src/ng-add/generators/http-loader.gen.d.ts +0 -4
- package/schematics/src/ng-add/generators/http-loader.gen.js.map +0 -1
- package/schematics/src/ng-add/generators/root-module.gen.js.map +0 -1
- package/schematics/src/ng-add/generators/translation-files.gen.d.ts +0 -4
- package/schematics/src/ng-add/generators/translation-files.gen.js +0 -22
- package/schematics/src/ng-add/generators/translation-files.gen.js.map +0 -1
- package/schematics/src/ng-add/index.d.ts +0 -3
- package/schematics/src/ng-add/index.js.map +0 -1
- package/schematics/src/ng-add/schema.js +0 -14
- package/schematics/src/ng-add/schema.js.map +0 -1
- package/schematics/src/ng-migrate/index.js +0 -14
- package/schematics/src/ng-migrate/index.js.map +0 -1
- package/schematics/src/ng-migrate/ng-migrate.d.ts +0 -5
- package/schematics/src/ng-migrate/ng-migrate.js +0 -105
- package/schematics/src/ng-migrate/ng-migrate.js.map +0 -1
- package/schematics/src/ng-migrate/schema.d.ts +0 -14
- package/schematics/src/ng-migrate/schema.js +0 -3
- package/schematics/src/ng-migrate/schema.js.map +0 -1
- package/schematics/src/ng-migrate/schema.json +0 -27
- package/schematics/src/schematics.utils.d.ts +0 -6
- package/schematics/src/schematics.utils.js.map +0 -1
- package/schematics/src/scope/index.d.ts +0 -3
- package/schematics/src/scope/index.js +0 -101
- package/schematics/src/scope/index.js.map +0 -1
- package/schematics/src/scope/schema.d.ts +0 -28
- package/schematics/src/scope/schema.js +0 -3
- package/schematics/src/scope/schema.js.map +0 -1
- package/schematics/src/scope/schema.json +0 -84
- package/schematics/src/split/index.d.ts +0 -3
- package/schematics/src/split/index.js +0 -66
- package/schematics/src/split/index.js.map +0 -1
- package/schematics/src/split/schema.d.ts +0 -20
- package/schematics/src/split/schema.js +0 -3
- package/schematics/src/split/schema.js.map +0 -1
- package/schematics/src/split/schema.json +0 -35
- package/schematics/src/types.d.ts +0 -5
- package/schematics/src/types.js +0 -10
- package/schematics/src/types.js.map +0 -1
- package/schematics/src/upgrade/index.d.ts +0 -3
- package/schematics/src/upgrade/index.js +0 -19
- package/schematics/src/upgrade/index.js.map +0 -1
- package/schematics/src/upgrade/schema.d.ts +0 -6
- package/schematics/src/upgrade/schema.js +0 -3
- package/schematics/src/upgrade/schema.js.map +0 -1
- package/schematics/src/upgrade/schema.json +0 -16
- package/schematics/src/upgrade/v2.d.ts +0 -1
- package/schematics/src/upgrade/v2.js +0 -88
- package/schematics/src/upgrade/v2.js.map +0 -1
- package/schematics/src/utils/array.js.map +0 -1
- package/schematics/src/utils/config.d.ts +0 -2
- package/schematics/src/utils/config.js +0 -12
- package/schematics/src/utils/config.js.map +0 -1
- package/schematics/src/utils/find-module.js.map +0 -1
- package/schematics/src/utils/package.js.map +0 -1
- package/schematics/src/utils/projects.d.ts +0 -8
- package/schematics/src/utils/projects.js.map +0 -1
- package/schematics/src/utils/translations.d.ts +0 -7
- package/schematics/src/utils/translations.js +0 -30
- package/schematics/src/utils/translations.js.map +0 -1
- package/schematics/src/utils/transloco.d.ts +0 -24
- package/schematics/src/utils/transloco.js +0 -88
- package/schematics/src/utils/transloco.js.map +0 -1
- /package/schematics/{src/ng-add → ng-add}/files/transloco-loader/transloco-loader.__ts__ +0 -0
- /package/schematics/{src/ng-add → ng-add}/files/transloco-module/transloco-root.module.__ts__ +0 -0
- /package/schematics/{src/ng-add → ng-add}/generators/root-module.gen.d.ts +0 -0
- /package/{schematics/src/utils/array.d.ts → schematics-core/utils/collections.d.ts} +0 -0
- /package/{schematics/src → schematics-core}/utils/find-module.d.ts +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { isObject } from '@jsverse/utils';
|
|
2
|
+
/*
|
|
3
|
+
* @example
|
|
4
|
+
*
|
|
5
|
+
* given: lazy-page/en => lazy-page
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export function getScopeFromLang(lang) {
|
|
9
|
+
if (!lang) {
|
|
10
|
+
return '';
|
|
11
|
+
}
|
|
12
|
+
const split = lang.split('/');
|
|
13
|
+
split.pop();
|
|
14
|
+
return split.join('/');
|
|
15
|
+
}
|
|
16
|
+
/*
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* given: lazy-page/en => en
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
export function getLangFromScope(lang) {
|
|
23
|
+
if (!lang) {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
return lang.split('/').pop();
|
|
27
|
+
}
|
|
28
|
+
function prependScope(inlineLoader, scope) {
|
|
29
|
+
return Object.keys(inlineLoader).reduce((acc, lang) => {
|
|
30
|
+
acc[`${scope}/${lang}`] = inlineLoader[lang];
|
|
31
|
+
return acc;
|
|
32
|
+
}, {});
|
|
33
|
+
}
|
|
34
|
+
export function isScopeObject(item) {
|
|
35
|
+
return typeof item?.scope === 'string';
|
|
36
|
+
}
|
|
37
|
+
export function hasInlineLoader(item) {
|
|
38
|
+
return item?.loader && isObject(item.loader);
|
|
39
|
+
}
|
|
40
|
+
export function resolveInlineLoader(providerScope, scope) {
|
|
41
|
+
return hasInlineLoader(providerScope)
|
|
42
|
+
? prependScope(providerScope.loader, scope)
|
|
43
|
+
: undefined;
|
|
44
|
+
}
|
|
45
|
+
export function getEventPayload(lang) {
|
|
46
|
+
return {
|
|
47
|
+
scope: getScopeFromLang(lang) || null,
|
|
48
|
+
langName: getLangFromScope(lang),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby9zcmMvbGliL3V0aWxzL3Njb3BlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVMxQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZO0lBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRVosT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZO0lBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUcsQ0FBQztBQUNoQyxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsWUFBMEIsRUFBRSxLQUFhO0lBQzdELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQ3JDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ1osR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNELEVBQXNELENBQ3ZELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFTO0lBQ3JDLE9BQU8sT0FBTyxJQUFJLEVBQUUsS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFTO0lBQ3ZDLE9BQU8sSUFBSSxFQUFFLE1BQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLGFBQW9DLEVBQ3BDLEtBQWM7SUFFZCxPQUFPLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDbkMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTyxFQUFFLEtBQU0sQ0FBQztRQUM3QyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVk7SUFDMUMsT0FBTztRQUNMLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJO1FBQ3JDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7S0FDakMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJ0Bqc3ZlcnNlL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgSW5saW5lTG9hZGVyLFxuICBMb2FkZWRFdmVudCxcbiAgUHJvdmlkZXJTY29wZSxcbiAgVHJhbnNsb2NvU2NvcGUsXG59IGZyb20gJy4uL3RyYW5zbG9jby50eXBlcyc7XG5cbi8qXG4gKiBAZXhhbXBsZVxuICpcbiAqIGdpdmVuOiBsYXp5LXBhZ2UvZW4gPT4gbGF6eS1wYWdlXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NvcGVGcm9tTGFuZyhsYW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWxhbmcpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCBzcGxpdCA9IGxhbmcuc3BsaXQoJy8nKTtcbiAgc3BsaXQucG9wKCk7XG5cbiAgcmV0dXJuIHNwbGl0LmpvaW4oJy8nKTtcbn1cblxuLypcbiAqIEBleGFtcGxlXG4gKlxuICogZ2l2ZW46IGxhenktcGFnZS9lbiA9PiBlblxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExhbmdGcm9tU2NvcGUobGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFsYW5nKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIGxhbmcuc3BsaXQoJy8nKS5wb3AoKSE7XG59XG5cbmZ1bmN0aW9uIHByZXBlbmRTY29wZShpbmxpbmVMb2FkZXI6IElubGluZUxvYWRlciwgc2NvcGU6IHN0cmluZykge1xuICByZXR1cm4gT2JqZWN0LmtleXMoaW5saW5lTG9hZGVyKS5yZWR1Y2UoXG4gICAgKGFjYywgbGFuZykgPT4ge1xuICAgICAgYWNjW2Ake3Njb3BlfS8ke2xhbmd9YF0gPSBpbmxpbmVMb2FkZXJbbGFuZ107XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVMb2FkZXJba2V5b2YgSW5saW5lTG9hZGVyXT4sXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Njb3BlT2JqZWN0KGl0ZW06IGFueSk6IGl0ZW0gaXMgUHJvdmlkZXJTY29wZSB7XG4gIHJldHVybiB0eXBlb2YgaXRlbT8uc2NvcGUgPT09ICdzdHJpbmcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzSW5saW5lTG9hZGVyKGl0ZW06IGFueSk6IGl0ZW0gaXMgUHJvdmlkZXJTY29wZSB7XG4gIHJldHVybiBpdGVtPy5sb2FkZXIgJiYgaXNPYmplY3QoaXRlbS5sb2FkZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUlubGluZUxvYWRlcihcbiAgcHJvdmlkZXJTY29wZTogVHJhbnNsb2NvU2NvcGUgfCBudWxsLFxuICBzY29wZT86IHN0cmluZyxcbik6IElubGluZUxvYWRlciB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBoYXNJbmxpbmVMb2FkZXIocHJvdmlkZXJTY29wZSlcbiAgICA/IHByZXBlbmRTY29wZShwcm92aWRlclNjb3BlLmxvYWRlciEsIHNjb3BlISlcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEV2ZW50UGF5bG9hZChsYW5nOiBzdHJpbmcpOiBMb2FkZWRFdmVudFsncGF5bG9hZCddIHtcbiAgcmV0dXJuIHtcbiAgICBzY29wZTogZ2V0U2NvcGVGcm9tTGFuZyhsYW5nKSB8fCBudWxsLFxuICAgIGxhbmdOYW1lOiBnZXRMYW5nRnJvbVNjb3BlKGxhbmcpLFxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvL3NyYy9saWIvdXRpbHMvdHlwZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSGFzaE1hcDxUID0gYW55PiA9IFJlY29yZDxzdHJpbmcsIFQ+O1xuIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, Injectable, Injector, Inject, DestroyRef, Optional, Component, Input, TemplateRef, ChangeDetectorRef, ElementRef, ViewContainerRef, Renderer2, Directive, Pipe, NgModule, makeEnvironmentProviders, APP_INITIALIZER, assertInInjectionContext, runInInjectionContext, isSignal, computed } from '@angular/core';
|
|
3
|
-
import { of,
|
|
3
|
+
import { of, from, map, Subject, BehaviorSubject, forkJoin, retry, tap, catchError, shareReplay, switchMap, combineLatest, EMPTY, take } from 'rxjs';
|
|
4
4
|
import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
5
|
+
import { isString, isDefined, isObject, isFunction, isNil, isEmpty, size, toCamelCase } from '@jsverse/utils';
|
|
5
6
|
|
|
6
7
|
class DefaultLoader {
|
|
7
8
|
translations;
|
|
@@ -14,135 +15,6 @@ class DefaultLoader {
|
|
|
14
15
|
}
|
|
15
16
|
const TRANSLOCO_LOADER = new InjectionToken(ngDevMode ? 'TRANSLOCO_LOADER' : '');
|
|
16
17
|
|
|
17
|
-
function getValue(obj, path) {
|
|
18
|
-
if (!obj) {
|
|
19
|
-
return obj;
|
|
20
|
-
}
|
|
21
|
-
/* For cases where the key is like: 'general.something.thing' */
|
|
22
|
-
if (Object.prototype.hasOwnProperty.call(obj, path)) {
|
|
23
|
-
return obj[path];
|
|
24
|
-
}
|
|
25
|
-
return path.split('.').reduce((p, c) => p?.[c], obj);
|
|
26
|
-
}
|
|
27
|
-
function setValue(obj, prop, val) {
|
|
28
|
-
obj = { ...obj };
|
|
29
|
-
const split = prop.split('.');
|
|
30
|
-
const lastIndex = split.length - 1;
|
|
31
|
-
split.reduce((acc, part, index) => {
|
|
32
|
-
if (index === lastIndex) {
|
|
33
|
-
acc[part] = val;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
acc[part] = Array.isArray(acc[part])
|
|
37
|
-
? acc[part].slice()
|
|
38
|
-
: { ...acc[part] };
|
|
39
|
-
}
|
|
40
|
-
return acc && acc[part];
|
|
41
|
-
}, obj);
|
|
42
|
-
return obj;
|
|
43
|
-
}
|
|
44
|
-
function size(collection) {
|
|
45
|
-
if (!collection) {
|
|
46
|
-
return 0;
|
|
47
|
-
}
|
|
48
|
-
if (Array.isArray(collection)) {
|
|
49
|
-
return collection.length;
|
|
50
|
-
}
|
|
51
|
-
if (isObject(collection)) {
|
|
52
|
-
return Object.keys(collection).length;
|
|
53
|
-
}
|
|
54
|
-
return collection ? collection.length : 0;
|
|
55
|
-
}
|
|
56
|
-
function isEmpty(collection) {
|
|
57
|
-
return size(collection) === 0;
|
|
58
|
-
}
|
|
59
|
-
function isFunction(val) {
|
|
60
|
-
return typeof val === 'function';
|
|
61
|
-
}
|
|
62
|
-
function isString(val) {
|
|
63
|
-
return typeof val === 'string';
|
|
64
|
-
}
|
|
65
|
-
function isNumber(val) {
|
|
66
|
-
return typeof val === 'number';
|
|
67
|
-
}
|
|
68
|
-
function isObject(item) {
|
|
69
|
-
return !!item && typeof item === 'object' && !Array.isArray(item);
|
|
70
|
-
}
|
|
71
|
-
function coerceArray(value) {
|
|
72
|
-
return Array.isArray(value) ? value : [value];
|
|
73
|
-
}
|
|
74
|
-
/*
|
|
75
|
-
* @example
|
|
76
|
-
*
|
|
77
|
-
* given: path-to-happiness => pathToHappiness
|
|
78
|
-
* given: path_to_happiness => pathToHappiness
|
|
79
|
-
* given: path-to_happiness => pathToHappiness
|
|
80
|
-
*
|
|
81
|
-
*/
|
|
82
|
-
function toCamelCase(str) {
|
|
83
|
-
return str
|
|
84
|
-
.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => index == 0 ? word.toLowerCase() : word.toUpperCase())
|
|
85
|
-
.replace(/\s+|_|-|\//g, '');
|
|
86
|
-
}
|
|
87
|
-
function isBrowser() {
|
|
88
|
-
return typeof window !== 'undefined';
|
|
89
|
-
}
|
|
90
|
-
function isNil(value) {
|
|
91
|
-
return value === null || value === undefined;
|
|
92
|
-
}
|
|
93
|
-
function isDefined(value) {
|
|
94
|
-
return isNil(value) === false;
|
|
95
|
-
}
|
|
96
|
-
function toNumber(value) {
|
|
97
|
-
if (isNumber(value))
|
|
98
|
-
return value;
|
|
99
|
-
if (isString(value) && !isNaN(Number(value) - parseFloat(value))) {
|
|
100
|
-
return Number(value);
|
|
101
|
-
}
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
function isScopeObject(item) {
|
|
105
|
-
return item && typeof item.scope === 'string';
|
|
106
|
-
}
|
|
107
|
-
function hasInlineLoader(item) {
|
|
108
|
-
return item && isObject(item.loader);
|
|
109
|
-
}
|
|
110
|
-
function flatten(obj) {
|
|
111
|
-
const result = {};
|
|
112
|
-
function recurse(curr, prop) {
|
|
113
|
-
if (curr === null) {
|
|
114
|
-
result[prop] = null;
|
|
115
|
-
}
|
|
116
|
-
else if (isObject(curr)) {
|
|
117
|
-
for (const [key, value] of Object.entries(curr)) {
|
|
118
|
-
recurse(value, prop ? `${prop}.${key}` : key);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
result[prop] = curr;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
recurse(obj, '');
|
|
126
|
-
return result;
|
|
127
|
-
}
|
|
128
|
-
function unflatten(obj) {
|
|
129
|
-
const result = {};
|
|
130
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
131
|
-
const keys = key.split('.');
|
|
132
|
-
let current = result;
|
|
133
|
-
keys.forEach((key, i) => {
|
|
134
|
-
if (i === keys.length - 1) {
|
|
135
|
-
current[key] = value;
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
current[key] ??= {};
|
|
139
|
-
current = current[key];
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
return result;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
18
|
const TRANSLOCO_CONFIG = new InjectionToken(ngDevMode ? 'TRANSLOCO_CONFIG' : '', {
|
|
147
19
|
providedIn: 'root',
|
|
148
20
|
factory: () => defaultConfig,
|
|
@@ -186,6 +58,34 @@ function translocoConfig(config = {}) {
|
|
|
186
58
|
};
|
|
187
59
|
}
|
|
188
60
|
|
|
61
|
+
function getValue(obj, path) {
|
|
62
|
+
if (!obj) {
|
|
63
|
+
return obj;
|
|
64
|
+
}
|
|
65
|
+
/* For cases where the key is like: 'general.something.thing' */
|
|
66
|
+
if (Object.prototype.hasOwnProperty.call(obj, path)) {
|
|
67
|
+
return obj[path];
|
|
68
|
+
}
|
|
69
|
+
return path.split('.').reduce((p, c) => p?.[c], obj);
|
|
70
|
+
}
|
|
71
|
+
function setValue(obj, prop, val) {
|
|
72
|
+
obj = { ...obj };
|
|
73
|
+
const split = prop.split('.');
|
|
74
|
+
const lastIndex = split.length - 1;
|
|
75
|
+
split.reduce((acc, part, index) => {
|
|
76
|
+
if (index === lastIndex) {
|
|
77
|
+
acc[part] = val;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
acc[part] = Array.isArray(acc[part])
|
|
81
|
+
? acc[part].slice()
|
|
82
|
+
: { ...acc[part] };
|
|
83
|
+
}
|
|
84
|
+
return acc && acc[part];
|
|
85
|
+
}, obj);
|
|
86
|
+
return obj;
|
|
87
|
+
}
|
|
88
|
+
|
|
189
89
|
const TRANSLOCO_TRANSPILER = new InjectionToken(ngDevMode ? 'TRANSLOCO_TRANSPILER' : '');
|
|
190
90
|
class DefaultTranspiler {
|
|
191
91
|
config = inject(TRANSLOCO_CONFIG, { optional: true }) ?? defaultConfig;
|
|
@@ -384,6 +284,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
384
284
|
args: [TRANSLOCO_CONFIG]
|
|
385
285
|
}] }] });
|
|
386
286
|
|
|
287
|
+
function resolveLoader(options) {
|
|
288
|
+
const { path, inlineLoader, mainLoader, data } = options;
|
|
289
|
+
if (inlineLoader) {
|
|
290
|
+
const pathLoader = inlineLoader[path];
|
|
291
|
+
if (isFunction(pathLoader) === false) {
|
|
292
|
+
throw `You're using an inline loader but didn't provide a loader for ${path}`;
|
|
293
|
+
}
|
|
294
|
+
return inlineLoader[path]().then((res) => res.default ? res.default : res);
|
|
295
|
+
}
|
|
296
|
+
return mainLoader.getTranslation(path, data);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
function getFallbacksLoaders({ mainLoader, path, data, fallbackPath, inlineLoader, }) {
|
|
300
|
+
const paths = fallbackPath ? [path, fallbackPath] : [path];
|
|
301
|
+
return paths.map((path) => {
|
|
302
|
+
const loader = resolveLoader({ path, mainLoader, inlineLoader, data });
|
|
303
|
+
return from(loader).pipe(map((translation) => ({
|
|
304
|
+
translation,
|
|
305
|
+
lang: path,
|
|
306
|
+
})));
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
function flatten(obj) {
|
|
311
|
+
const result = {};
|
|
312
|
+
function recurse(curr, prop) {
|
|
313
|
+
if (curr === null) {
|
|
314
|
+
result[prop] = null;
|
|
315
|
+
}
|
|
316
|
+
else if (isObject(curr)) {
|
|
317
|
+
for (const [key, value] of Object.entries(curr)) {
|
|
318
|
+
recurse(value, prop ? `${prop}.${key}` : key);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
result[prop] = curr;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
recurse(obj, '');
|
|
326
|
+
return result;
|
|
327
|
+
}
|
|
328
|
+
function unflatten(obj) {
|
|
329
|
+
const result = {};
|
|
330
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
331
|
+
const keys = key.split('.');
|
|
332
|
+
let current = result;
|
|
333
|
+
keys.forEach((key, i) => {
|
|
334
|
+
if (i === keys.length - 1) {
|
|
335
|
+
current[key] = value;
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
current[key] ??= {};
|
|
339
|
+
current = current[key];
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
return result;
|
|
344
|
+
}
|
|
345
|
+
|
|
387
346
|
/*
|
|
388
347
|
* @example
|
|
389
348
|
*
|
|
@@ -410,39 +369,18 @@ function getLangFromScope(lang) {
|
|
|
410
369
|
}
|
|
411
370
|
return lang.split('/').pop();
|
|
412
371
|
}
|
|
413
|
-
/**
|
|
414
|
-
* @example
|
|
415
|
-
*
|
|
416
|
-
* getPipeValue('todos|scoped', 'scoped') [true, 'todos']
|
|
417
|
-
* getPipeValue('en|static', 'static') [true, 'en']
|
|
418
|
-
* getPipeValue('en', 'static') [false, 'en']
|
|
419
|
-
*/
|
|
420
|
-
function getPipeValue(str, value, char = '|') {
|
|
421
|
-
if (isString(str)) {
|
|
422
|
-
const splitted = str.split(char);
|
|
423
|
-
const lastItem = splitted.pop();
|
|
424
|
-
return lastItem === value ? [true, splitted.toString()] : [false, lastItem];
|
|
425
|
-
}
|
|
426
|
-
return [false, ''];
|
|
427
|
-
}
|
|
428
|
-
function shouldListenToLangChanges(service, lang) {
|
|
429
|
-
const [hasStatic] = getPipeValue(lang, 'static');
|
|
430
|
-
if (!hasStatic) {
|
|
431
|
-
// If we didn't get 'lang|static' check if it's set in the global level
|
|
432
|
-
return !!service.config.reRenderOnLangChange;
|
|
433
|
-
}
|
|
434
|
-
// We have 'lang|static' so don't listen to lang changes
|
|
435
|
-
return false;
|
|
436
|
-
}
|
|
437
|
-
function listenOrNotOperator(listenToLangChange) {
|
|
438
|
-
return listenToLangChange ? (source) => source : take(1);
|
|
439
|
-
}
|
|
440
372
|
function prependScope(inlineLoader, scope) {
|
|
441
373
|
return Object.keys(inlineLoader).reduce((acc, lang) => {
|
|
442
374
|
acc[`${scope}/${lang}`] = inlineLoader[lang];
|
|
443
375
|
return acc;
|
|
444
376
|
}, {});
|
|
445
377
|
}
|
|
378
|
+
function isScopeObject(item) {
|
|
379
|
+
return typeof item?.scope === 'string';
|
|
380
|
+
}
|
|
381
|
+
function hasInlineLoader(item) {
|
|
382
|
+
return item?.loader && isObject(item.loader);
|
|
383
|
+
}
|
|
446
384
|
function resolveInlineLoader(providerScope, scope) {
|
|
447
385
|
return hasInlineLoader(providerScope)
|
|
448
386
|
? prependScope(providerScope.loader, scope)
|
|
@@ -455,29 +393,6 @@ function getEventPayload(lang) {
|
|
|
455
393
|
};
|
|
456
394
|
}
|
|
457
395
|
|
|
458
|
-
function resolveLoader(options) {
|
|
459
|
-
const { path, inlineLoader, mainLoader, data } = options;
|
|
460
|
-
if (inlineLoader) {
|
|
461
|
-
const pathLoader = inlineLoader[path];
|
|
462
|
-
if (isFunction(pathLoader) === false) {
|
|
463
|
-
throw `You're using an inline loader but didn't provide a loader for ${path}`;
|
|
464
|
-
}
|
|
465
|
-
return inlineLoader[path]().then((res) => res.default ? res.default : res);
|
|
466
|
-
}
|
|
467
|
-
return mainLoader.getTranslation(path, data);
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
function getFallbacksLoaders({ mainLoader, path, data, fallbackPath, inlineLoader, }) {
|
|
471
|
-
const paths = fallbackPath ? [path, fallbackPath] : [path];
|
|
472
|
-
return paths.map((path) => {
|
|
473
|
-
const loader = resolveLoader({ path, mainLoader, inlineLoader, data });
|
|
474
|
-
return from(loader).pipe(map((translation) => ({
|
|
475
|
-
translation,
|
|
476
|
-
lang: path,
|
|
477
|
-
})));
|
|
478
|
-
});
|
|
479
|
-
}
|
|
480
|
-
|
|
481
396
|
let service;
|
|
482
397
|
function translate(key, params = {}, lang) {
|
|
483
398
|
return service.translate(key, params, lang);
|
|
@@ -1095,6 +1010,35 @@ const TRANSLOCO_LOADING_TEMPLATE = new InjectionToken(ngDevMode ? 'TRANSLOCO_LOA
|
|
|
1095
1010
|
|
|
1096
1011
|
const TRANSLOCO_SCOPE = new InjectionToken(ngDevMode ? 'TRANSLOCO_SCOPE' : '');
|
|
1097
1012
|
|
|
1013
|
+
/**
|
|
1014
|
+
* @example
|
|
1015
|
+
*
|
|
1016
|
+
* getPipeValue('todos|scoped', 'scoped') [true, 'todos']
|
|
1017
|
+
* getPipeValue('en|static', 'static') [true, 'en']
|
|
1018
|
+
* getPipeValue('en', 'static') [false, 'en']
|
|
1019
|
+
*/
|
|
1020
|
+
function getPipeValue(str, value, char = '|') {
|
|
1021
|
+
if (isString(str)) {
|
|
1022
|
+
const splitted = str.split(char);
|
|
1023
|
+
const lastItem = splitted.pop();
|
|
1024
|
+
return lastItem === value ? [true, splitted.toString()] : [false, lastItem];
|
|
1025
|
+
}
|
|
1026
|
+
return [false, ''];
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
function shouldListenToLangChanges(service, lang) {
|
|
1030
|
+
const [hasStatic] = getPipeValue(lang, 'static');
|
|
1031
|
+
if (!hasStatic) {
|
|
1032
|
+
// If we didn't get 'lang|static' check if it's set in the global level
|
|
1033
|
+
return !!service.config.reRenderOnLangChange;
|
|
1034
|
+
}
|
|
1035
|
+
// We have 'lang|static' so don't listen to lang changes
|
|
1036
|
+
return false;
|
|
1037
|
+
}
|
|
1038
|
+
function listenOrNotOperator(listenToLangChange) {
|
|
1039
|
+
return listenToLangChange ? (source) => source : take(1);
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1098
1042
|
class LangResolver {
|
|
1099
1043
|
initialized = false;
|
|
1100
1044
|
// inline => provider => active
|
|
@@ -1193,7 +1137,7 @@ class TranslocoDirective {
|
|
|
1193
1137
|
key;
|
|
1194
1138
|
params = {};
|
|
1195
1139
|
inlineScope;
|
|
1196
|
-
/** @deprecated use prefix instead, will be removed in Transloco
|
|
1140
|
+
/** @deprecated use prefix instead, will be removed in Transloco v9 */
|
|
1197
1141
|
inlineRead;
|
|
1198
1142
|
prefix;
|
|
1199
1143
|
inlineLang;
|
|
@@ -1581,33 +1525,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
1581
1525
|
}]
|
|
1582
1526
|
}] });
|
|
1583
1527
|
|
|
1584
|
-
/**
|
|
1585
|
-
* Returns the language code name from the browser, e.g. "en"
|
|
1586
|
-
*/
|
|
1587
|
-
function getBrowserLang() {
|
|
1588
|
-
let browserLang = getBrowserCultureLang();
|
|
1589
|
-
if (!browserLang || !isBrowser()) {
|
|
1590
|
-
return undefined;
|
|
1591
|
-
}
|
|
1592
|
-
if (browserLang.indexOf('-') !== -1) {
|
|
1593
|
-
browserLang = browserLang.split('-')[0];
|
|
1594
|
-
}
|
|
1595
|
-
if (browserLang.indexOf('_') !== -1) {
|
|
1596
|
-
browserLang = browserLang.split('_')[0];
|
|
1597
|
-
}
|
|
1598
|
-
return browserLang;
|
|
1599
|
-
}
|
|
1600
|
-
/**
|
|
1601
|
-
* Returns the culture language code name from the browser, e.g. "en-US"
|
|
1602
|
-
*/
|
|
1603
|
-
function getBrowserCultureLang() {
|
|
1604
|
-
if (!isBrowser()) {
|
|
1605
|
-
return '';
|
|
1606
|
-
}
|
|
1607
|
-
const navigator = window.navigator;
|
|
1608
|
-
return navigator.languages?.[0] ?? navigator.language;
|
|
1609
|
-
}
|
|
1610
|
-
|
|
1611
1528
|
/**
|
|
1612
1529
|
* Gets the translated value of a key as Signal
|
|
1613
1530
|
*
|
|
@@ -1702,9 +1619,39 @@ function resolveScope(scope) {
|
|
|
1702
1619
|
return scope;
|
|
1703
1620
|
}
|
|
1704
1621
|
|
|
1622
|
+
function isBrowser() {
|
|
1623
|
+
return typeof window !== 'undefined';
|
|
1624
|
+
}
|
|
1625
|
+
/**
|
|
1626
|
+
* Returns the language code name from the browser, e.g. "en"
|
|
1627
|
+
*/
|
|
1628
|
+
function getBrowserLang() {
|
|
1629
|
+
let browserLang = getBrowserCultureLang();
|
|
1630
|
+
if (!browserLang || !isBrowser()) {
|
|
1631
|
+
return undefined;
|
|
1632
|
+
}
|
|
1633
|
+
if (browserLang.indexOf('-') !== -1) {
|
|
1634
|
+
browserLang = browserLang.split('-')[0];
|
|
1635
|
+
}
|
|
1636
|
+
if (browserLang.indexOf('_') !== -1) {
|
|
1637
|
+
browserLang = browserLang.split('_')[0];
|
|
1638
|
+
}
|
|
1639
|
+
return browserLang;
|
|
1640
|
+
}
|
|
1641
|
+
/**
|
|
1642
|
+
* Returns the culture language code name from the browser, e.g. "en-US"
|
|
1643
|
+
*/
|
|
1644
|
+
function getBrowserCultureLang() {
|
|
1645
|
+
if (!isBrowser()) {
|
|
1646
|
+
return '';
|
|
1647
|
+
}
|
|
1648
|
+
const navigator = window.navigator;
|
|
1649
|
+
return navigator.languages?.[0] ?? navigator.language;
|
|
1650
|
+
}
|
|
1651
|
+
|
|
1705
1652
|
/**
|
|
1706
1653
|
* Generated bundle index. Do not edit.
|
|
1707
1654
|
*/
|
|
1708
1655
|
|
|
1709
|
-
export { DefaultFallbackStrategy, DefaultInterceptor, DefaultMissingHandler, DefaultTranspiler, FunctionalTranspiler, TRANSLOCO_CONFIG, TRANSLOCO_FALLBACK_STRATEGY, TRANSLOCO_INTERCEPTOR, TRANSLOCO_LANG, TRANSLOCO_LOADER, TRANSLOCO_LOADING_TEMPLATE, TRANSLOCO_MISSING_HANDLER, TRANSLOCO_SCOPE, TRANSLOCO_TRANSPILER, TestingLoader, TranslocoDirective, TranslocoModule, TranslocoPipe, TranslocoService, TranslocoTestingModule,
|
|
1656
|
+
export { DefaultFallbackStrategy, DefaultInterceptor, DefaultMissingHandler, DefaultTranspiler, FunctionalTranspiler, TRANSLOCO_CONFIG, TRANSLOCO_FALLBACK_STRATEGY, TRANSLOCO_INTERCEPTOR, TRANSLOCO_LANG, TRANSLOCO_LOADER, TRANSLOCO_LOADING_TEMPLATE, TRANSLOCO_MISSING_HANDLER, TRANSLOCO_SCOPE, TRANSLOCO_TRANSPILER, TestingLoader, TranslocoDirective, TranslocoModule, TranslocoPipe, TranslocoService, TranslocoTestingModule, defaultConfig, getBrowserCultureLang, getBrowserLang, getFunctionArgs, getValue, isBrowser, provideTransloco, provideTranslocoConfig, provideTranslocoFallbackStrategy, provideTranslocoInterceptor, provideTranslocoLang, provideTranslocoLoader, provideTranslocoLoadingTpl, provideTranslocoMissingHandler, provideTranslocoScope, provideTranslocoTranspiler, setValue, translate, translateObject, translateObjectSignal, translateSignal, translocoConfig };
|
|
1710
1657
|
//# sourceMappingURL=jsverse-transloco.mjs.map
|