@ogs-gmbh/ngx-translate 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +50 -0
- package/enums/collecting-strategies.enum.d.ts +4 -0
- package/enums/preloading-strategies.enum.d.ts +4 -0
- package/errors/locale-not-defined.error.d.ts +5 -0
- package/errors/scope-not-defined.error.d.ts +4 -0
- package/errors/source-locale-not-defined.error.d.ts +4 -0
- package/errors/translation-not-defined.error.d.ts +4 -0
- package/esm2022/enums/collecting-strategies.enum.mjs +6 -0
- package/esm2022/enums/preloading-strategies.enum.mjs +6 -0
- package/esm2022/errors/locale-not-defined.error.mjs +8 -0
- package/esm2022/errors/scope-not-defined.error.mjs +10 -0
- package/esm2022/errors/source-locale-not-defined.error.mjs +8 -0
- package/esm2022/errors/translation-not-defined.error.mjs +8 -0
- package/esm2022/interceptors/translation.interceptor.mjs +24 -0
- package/esm2022/lib.module.mjs +51 -0
- package/esm2022/ogs-gmbh-ngx-translate.mjs +2 -0
- package/esm2022/pipe.module.mjs +24 -0
- package/esm2022/pipes/translation.pipe.mjs +49 -0
- package/esm2022/providers/config.provider.mjs +7 -0
- package/esm2022/providers/http.provider.mjs +13 -0
- package/esm2022/providers/interceptor.provider.mjs +8 -0
- package/esm2022/providers/preload.provider.mjs +58 -0
- package/esm2022/providers/scope.provider.mjs +7 -0
- package/esm2022/public-api.mjs +18 -0
- package/esm2022/services/translation-http.serivce.mjs +47 -0
- package/esm2022/services/translation-store.service.mjs +207 -0
- package/esm2022/services/translation.service.mjs +236 -0
- package/esm2022/tokens/config.token.mjs +3 -0
- package/esm2022/tokens/http.token.mjs +4 -0
- package/esm2022/tokens/preload.token.mjs +3 -0
- package/esm2022/tokens/scope.token.mjs +3 -0
- package/esm2022/types/config.type.mjs +2 -0
- package/esm2022/types/provider.type.mjs +2 -0
- package/esm2022/types/store.type.mjs +2 -0
- package/esm2022/utils/file.util.mjs +65 -0
- package/esm2022/utils/translate.util.mjs +26 -0
- package/fesm2022/ogs-gmbh-ngx-translate.mjs +821 -0
- package/fesm2022/ogs-gmbh-ngx-translate.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/interceptors/translation.interceptor.d.ts +9 -0
- package/lib.module.d.ts +11 -0
- package/package.json +36 -0
- package/pipe.module.d.ts +8 -0
- package/pipes/translation.pipe.d.ts +17 -0
- package/providers/config.provider.d.ts +3 -0
- package/providers/http.provider.d.ts +4 -0
- package/providers/interceptor.provider.d.ts +2 -0
- package/providers/preload.provider.d.ts +4 -0
- package/providers/scope.provider.d.ts +2 -0
- package/public-api.d.ts +17 -0
- package/services/translation-http.serivce.d.ts +12 -0
- package/services/translation-store.service.d.ts +42 -0
- package/services/translation.service.d.ts +30 -0
- package/tokens/config.token.d.ts +3 -0
- package/tokens/http.token.d.ts +4 -0
- package/tokens/preload.token.d.ts +2 -0
- package/tokens/scope.token.d.ts +2 -0
- package/types/config.type.d.ts +32 -0
- package/types/provider.type.d.ts +10 -0
- package/types/store.type.d.ts +23 -0
- package/utils/file.util.d.ts +6 -0
- package/utils/translate.util.d.ts +6 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHlwZXMvY29uZmlnLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3RpbmdTdHJhdGVnaWVzIH0gZnJvbSBcIi4uL2VudW1zL2NvbGxlY3Rpbmctc3RyYXRlZ2llcy5lbnVtXCI7XG5pbXBvcnQgeyBIdHRwQ29uZmlnLCBIdHRwSGVhZGVyc09wdGlvbiwgSHR0cE9wdGlvbnMgfSBmcm9tIFwiQG9ncy1nbWJoL25neC1odHRwXCI7XG5cbmV4cG9ydCB0eXBlIExvY2FsZUNvbmZpZyA9IHtcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgaXNTb3VyY2U/OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFNwZWNpZmljVHJhbnNsYXRlQ29uZmlnID0ge1xuICByZWFkb25seSBsb2NhbGVzOiBMb2NhbGVDb25maWdbXTtcbiAgcmVhZG9ubHkgdGltZW91dD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgZGVmYXVsdFNjb3BlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICByZWFkb25seSBzdG9yYWdlQ29uZmlnPzoge1xuICAgIHJlYWRvbmx5IGNvbGxlY3RpbmdTdHJhdGVneT86IENvbGxlY3RpbmdTdHJhdGVnaWVzIHwgdW5kZWZpbmVkO1xuICAgIHJlYWRvbmx5IGxvY2FsZT86IHtcbiAgICAgIHJlYWRvbmx5IGtleT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIHJlYWRvbmx5IHR5cGU/OiBTdG9yYWdlIHwgdW5kZWZpbmVkO1xuICAgICAgcmVhZG9ubHkgc3RvcmU/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIH0gfCB1bmRlZmluZWQ7XG4gICAgcmVhZG9ubHkgdHJhbnNsYXRpb25zPzoge1xuICAgICAgcmVhZG9ubHkga2V5Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgcmVhZG9ubHkgdHlwZT86IFN0b3JhZ2UgfCB1bmRlZmluZWQ7XG4gICAgICByZWFkb25seSBzdG9yZT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgfSB8IHVuZGVmaW5lZDtcbiAgfSB8IHVuZGVmaW5lZDtcbn07XG5leHBvcnQgdHlwZSBUcmFuc2xhdGVDb25maWcgPSB7XG4gIHJlYWRvbmx5IGh0dHA6IHtcbiAgICBjb25maWc6IEh0dHBDb25maWc7XG4gICAgb3B0aW9uczogSHR0cE9wdGlvbnM8bmV2ZXIsIEh0dHBIZWFkZXJzT3B0aW9uLCBuZXZlcj47XG4gIH07XG4gIHJlYWRvbmx5IHRyYW5zbGF0ZTogU3BlY2lmaWNUcmFuc2xhdGVDb25maWc7XG59O1xuXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90eXBlcy9wcm92aWRlci50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVyc09wdGlvbiwgSHR0cE9wdGlvbnMgfSBmcm9tIFwiQG9ncy1nbWJoL25neC1odHRwXCI7XG5pbXBvcnQgeyBQcmVsb2FkaW5nU3RyYXRlZ2llcyB9IGZyb20gXCIuLi9lbnVtcy9wcmVsb2FkaW5nLXN0cmF0ZWdpZXMuZW51bVwiO1xuXG50eXBlIFRyYW5zbGF0aW9uQmFzZVByb3ZpZGVyID0ge1xuICByZWFkb25seSBwcmVsb2FkaW5nU3RyYXRlZ3k6IFByZWxvYWRpbmdTdHJhdGVnaWVzO1xuICByZWFkb25seSBIdHRwT3B0aW9ucz86IEh0dHBPcHRpb25zPG5ldmVyLCBIdHRwSGVhZGVyc09wdGlvbiwgbmV2ZXI+IHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25QcmVsb2FkUHJvdmlkZXIgPSBUcmFuc2xhdGlvbkJhc2VQcm92aWRlciAmIHtcbiAgcmVhZG9ubHkgc2NvcGVzOiBBcnJheTxzdHJpbmcgfCBudWxsPiB8IHN0cmluZyB8IG51bGw7XG59O1xuXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90eXBlcy9zdG9yZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuLypcbiAqIFNjb3BlZCBmaWxlIHR5cGVzXG4gKi9cbmV4cG9ydCB0eXBlIFNjb3BlZEZpbGUgPSBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcbmV4cG9ydCB0eXBlIE11bHRpU2NvcGVkRmlsZSA9IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIFNjb3BlZEZpbGU+PjtcbmV4cG9ydCB0eXBlIFBhcnNlZE11bHRpU2NvcGVkRmlsZSA9IHtcbiAgcmVhZG9ubHkgc2NvcGVOYW1lOiBzdHJpbmcgfCBudWxsO1xuICByZWFkb25seSBmaWxlOiBTY29wZWRGaWxlO1xufTtcbmV4cG9ydCB0eXBlIFBhcnNlZE11bHRpU2NvcGVkRmlsZXMgPSBQYXJzZWRNdWx0aVNjb3BlZEZpbGVbXTtcbi8qXG4gKiBMb2FkZWQgc2NvcGVzIChzdG9yYWdlKVxuICovXG5leHBvcnQgdHlwZSBMb2FkZWRTY29wZSA9IHtcbiAgcmVhZG9ubHkgc2NvcGU6IHN0cmluZyB8IG51bGw7XG4gIGZpbGU6IFNjb3BlZEZpbGU7XG59O1xuZXhwb3J0IHR5cGUgTG9hZGVkU2NvcGVzID0gTG9hZGVkU2NvcGVbXTtcbmV4cG9ydCB0eXBlIExvY2FsZUxvYWRlZFNjb3BlcyA9IFJlY29yZDxzdHJpbmcsIExvYWRlZFNjb3Blcz47XG4vKlxuICogTm90aWZpZXIgc2NvcGVzIChzdG9yYWdlKVxuICovXG5leHBvcnQgdHlwZSBOb3RpZmllclNjb3BlID0ge1xuICByZWFkb25seSBzY29wZTogc3RyaW5nIHwgbnVsbDtcbiAgbm90aWZpZXJzOiBBcnJheTxTdWJqZWN0PFNjb3BlZEZpbGU+PiB8IG51bGw7XG59O1xuZXhwb3J0IHR5cGUgTm90aWZpZXJTY29wZXMgPSBOb3RpZmllclNjb3BlW107XG5leHBvcnQgdHlwZSBNdWx0aVNjb3BlQmFzZWROb3RpZmllclNjb3BlID0gUmVhZG9ubHlBcnJheTxTdWJqZWN0PFNjb3BlZEZpbGU+PiB8IG51bGw7XG5leHBvcnQgdHlwZSBNdWx0aVNjb3BlQmFzZWROb3RpZmllclNjb3BlcyA9IFJlY29yZDxzdHJpbmcsIE11bHRpU2NvcGVCYXNlZE5vdGlmaWVyU2NvcGU+ICYge1xuICBub3RpZmllcnM/OiBSZWFkb25seUFycmF5PFN1YmplY3Q8U2NvcGVkRmlsZT4+IHwgbnVsbCB8IHVuZGVmaW5lZDtcbn07XG5cbiJdfQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ScopeNotDefinedError } from "../errors/scope-not-defined.error";
|
|
2
|
+
import { TranslationNotDefinedError } from "../errors/translation-not-defined.error";
|
|
3
|
+
export const parseMultiScopedFile = (multiScopedFile) => {
|
|
4
|
+
const splittedMultiScopedFile = [];
|
|
5
|
+
const globalScopedFile = {};
|
|
6
|
+
Object.keys(multiScopedFile).forEach((key) => {
|
|
7
|
+
const currentItem = multiScopedFile[key];
|
|
8
|
+
if (!(currentItem !== undefined && !Array.isArray(currentItem)))
|
|
9
|
+
return;
|
|
10
|
+
if (typeof currentItem === "object") {
|
|
11
|
+
return void splittedMultiScopedFile.push({
|
|
12
|
+
scopeName: key,
|
|
13
|
+
file: currentItem
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
globalScopedFile[key] = currentItem;
|
|
17
|
+
});
|
|
18
|
+
splittedMultiScopedFile.push({
|
|
19
|
+
scopeName: null,
|
|
20
|
+
file: globalScopedFile
|
|
21
|
+
});
|
|
22
|
+
return splittedMultiScopedFile;
|
|
23
|
+
};
|
|
24
|
+
export const splitMultiScopedFile = (multiScopedFile) => {
|
|
25
|
+
const scopedFile = [];
|
|
26
|
+
const globalScopedFile = {};
|
|
27
|
+
Object.keys(multiScopedFile).forEach((key) => {
|
|
28
|
+
const currentItem = multiScopedFile[key];
|
|
29
|
+
if (!(currentItem !== undefined && !Array.isArray(currentItem)))
|
|
30
|
+
return;
|
|
31
|
+
if (typeof currentItem === "object")
|
|
32
|
+
return void scopedFile.push(currentItem);
|
|
33
|
+
globalScopedFile[key] = currentItem;
|
|
34
|
+
});
|
|
35
|
+
scopedFile.push(globalScopedFile);
|
|
36
|
+
return scopedFile;
|
|
37
|
+
};
|
|
38
|
+
export const findScopeInMultiScopedFile = (multiScopedFile, scopeName) => {
|
|
39
|
+
if (scopeName === null) {
|
|
40
|
+
const newScopedFile = {};
|
|
41
|
+
Object.keys(multiScopedFile).forEach((key) => {
|
|
42
|
+
const currentItem = multiScopedFile[key];
|
|
43
|
+
if (!(currentItem !== undefined && typeof currentItem !== "object" && !Array.isArray(currentItem)))
|
|
44
|
+
return;
|
|
45
|
+
newScopedFile[key] = currentItem;
|
|
46
|
+
});
|
|
47
|
+
return newScopedFile;
|
|
48
|
+
}
|
|
49
|
+
const scopedFile = multiScopedFile[scopeName];
|
|
50
|
+
if (scopedFile === undefined)
|
|
51
|
+
throw new ScopeNotDefinedError(false, scopeName);
|
|
52
|
+
return scopedFile;
|
|
53
|
+
};
|
|
54
|
+
export const parseMultiScopedFileByScope = (multiScopedFile, scopeName) => {
|
|
55
|
+
if (Array.isArray(scopeName))
|
|
56
|
+
return scopeName.map((_scopeName) => findScopeInMultiScopedFile(multiScopedFile, _scopeName));
|
|
57
|
+
return [findScopeInMultiScopedFile(multiScopedFile, scopeName)];
|
|
58
|
+
};
|
|
59
|
+
export const findTokenInScopedFiles = (scopedFiles, token) => {
|
|
60
|
+
const foundScopedFile = scopedFiles.find((scopedFile) => Object.keys(scopedFile).includes(token));
|
|
61
|
+
if (foundScopedFile === undefined)
|
|
62
|
+
throw new TranslationNotDefinedError(token);
|
|
63
|
+
return foundScopedFile;
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2ZpbGUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU9yRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLGVBQWdDLEVBQTBCLEVBQUU7SUFDL0YsTUFBTSx1QkFBdUIsR0FBMkIsRUFBRSxDQUFDO0lBQzNELE1BQU0sZ0JBQWdCLEdBQTJCLEVBQUUsQ0FBQztJQUVwRCxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBUSxFQUFFO1FBQ3pELE1BQU0sV0FBVyxHQUEyQixlQUFlLENBQUUsR0FBRyxDQUFFLENBQUM7UUFFbkUsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0QsT0FBTztRQUVULElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsT0FBTyxLQUFLLHVCQUF1QixDQUFDLElBQUksQ0FBQztnQkFDdkMsU0FBUyxFQUFFLEdBQUc7Z0JBQ2QsSUFBSSxFQUFFLFdBQVc7YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELGdCQUFnQixDQUFFLEdBQUcsQ0FBRSxHQUFHLFdBQVcsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNILHVCQUF1QixDQUFDLElBQUksQ0FBQztRQUMzQixTQUFTLEVBQUUsSUFBSTtRQUNmLElBQUksRUFBRSxnQkFBZ0I7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsT0FBTyx1QkFBdUIsQ0FBQztBQUNqQyxDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxv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ZXMsIFNjb3BlZEZpbGUgfSBmcm9tIFwiLi4vdHlwZXMvc3RvcmUudHlwZVwiO1xuaW1wb3J0IHsgU2NvcGVOb3REZWZpbmVkRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzL3Njb3BlLW5vdC1kZWZpbmVkLmVycm9yXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbk5vdERlZmluZWRFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvdHJhbnNsYXRpb24tbm90LWRlZmluZWQuZXJyb3JcIjtcblxuLyoqXG4gKiBQYXJzZSBhIG11bHRpIHNjb3BlZCBmaWxlIGJ5IHRoZSBkZWZpbmVkIHNjb3Blc1xuICogQHBhcmFtIHtNdWx0aVNjb3BlZEZpbGV9IG11bHRpU2NvcGVkRmlsZSAtIFRoZSBtdWx0aSBzY29wZWQgZmlsZSwgdGhhdCBzaG91bGQgYmUgcGFyc2VkXG4gKiBAcmV0dXJucyB7UGFyc2VkTXVsdGlTY29wZWRGaWxlc30gLSBBIHBhcnRpYWwgc2NvcGVkIGZpbGUgZm9yIHByb2Nlc3NpbmcgaXQgZnVydGhlclxuICovXG5leHBvcnQgY29uc3QgcGFyc2VNdWx0aVNjb3BlZEZpbGUgPSAobXVsdGlTY29wZWRGaWxlOiBNdWx0aVNjb3BlZEZpbGUpOiBQYXJzZWRNdWx0aVNjb3BlZEZpbGVzID0+IHtcbiAgY29uc3Qgc3BsaXR0ZWRNdWx0aVNjb3BlZEZpbGU6IFBhcnNlZE11bHRpU2NvcGVkRmlsZXMgPSBbXTtcbiAgY29uc3QgZ2xvYmFsU2NvcGVkRmlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gIE9iamVjdC5rZXlzKG11bHRpU2NvcGVkRmlsZSkuZm9yRWFjaCgoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBjb25zdCBjdXJyZW50SXRlbTogU2NvcGVkRmlsZSB8IHVuZGVmaW5lZCA9IG11bHRpU2NvcGVkRmlsZVsga2V5IF07XG5cbiAgICBpZiAoIShjdXJyZW50SXRlbSAhPT0gdW5kZWZpbmVkICYmICFBcnJheS5pc0FycmF5KGN1cnJlbnRJdGVtKSkpXG4gICAgICByZXR1cm47XG5cbiAgICBpZiAodHlwZW9mIGN1cnJlbnRJdGVtID09PSBcIm9iamVjdFwiKSB7XG4gICAgICByZXR1cm4gdm9pZCBzcGxpdHRlZE11bHRpU2NvcGVkRmlsZS5wdXNoKHtcbiAgICAgICAgc2NvcGVOYW1lOiBrZXksXG4gICAgICAgIGZpbGU6IGN1cnJlbnRJdGVtXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBnbG9iYWxTY29wZWRGaWxlWyBrZXkgXSA9IGN1cnJlbnRJdGVtO1xuICB9KTtcbiAgc3BsaXR0ZWRNdWx0aVNjb3BlZEZpbGUucHVzaCh7XG4gICAgc2NvcGVOYW1lOiBudWxsLFxuICAgIGZpbGU6IGdsb2JhbFNjb3BlZEZpbGVcbiAgfSk7XG5cbiAgcmV0dXJuIHNwbGl0dGVkTXVsdGlTY29wZWRGaWxlO1xufTtcbmV4cG9ydCBjb25zdCBzcGxpdE11bHRpU2NvcGVkRmlsZSA9IChtdWx0aVNjb3BlZEZpbGU6IE11bHRpU2NvcGVkRmlsZSk6IFNjb3BlZEZpbGVbXSA9PiB7XG4gIGNvbnN0IHNjb3BlZEZpbGU6IFNjb3BlZEZpbGVbXSA9IFtdO1xuICBjb25zdCBnbG9iYWxTY29wZWRGaWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgT2JqZWN0LmtleXMobXVsdGlTY29wZWRGaWxlKS5mb3JFYWNoKChrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRJdGVtOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB8IHVuZGVmaW5lZCA9IG11bHRpU2NvcGVkRmlsZVsga2V5IF07XG5cbiAgICBpZiAoIShjdXJyZW50SXRlbSAhPT0gdW5kZWZpbmVkICYmICFBcnJheS5pc0FycmF5KGN1cnJlbnRJdGVtKSkpXG4gICAgICByZXR1cm47XG5cbiAgICBpZiAodHlwZW9mIGN1cnJlbnRJdGVtID09PSBcIm9iamVjdFwiKVxuICAgICAgcmV0dXJuIHZvaWQgc2NvcGVkRmlsZS5wdXNoKGN1cnJlbnRJdGVtKTtcblxuICAgIGdsb2JhbFNjb3BlZEZpbGVbIGtleSBdID0gY3VycmVudEl0ZW07XG4gIH0pO1xuICBzY29wZWRGaWxlLnB1c2goZ2xvYmFsU2NvcGVkRmlsZSk7XG5cbiAgcmV0dXJuIHNjb3BlZEZpbGU7XG59O1xuLyoqXG4gKiBGaW5kIGEgc2NvcGUgaW5zaWRlIGEgbXVsdGkgc2NvcGVkIGZpbGVcXFxuICogVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBzY29wZSBjb3VsZCBub3QgYmUgcmVzb2x2ZWQgb3V0IG9mIHRoZSBtdWx0aSBzY29wZWQgZmlsZVxuICogQHBhcmFtIHtNdWx0aVNjb3BlZEZpbGV9IG11bHRpU2NvcGVkRmlsZSAtIFRoZSBtdWx0aSBzY29wZWQgZmlsZSwgdGhhdCBzaG91bGQgaW5jbHVkZSB0aGUgc2NvcGVcbiAqIEBwYXJhbSB7c3RyaW5nIHwgbnVsbH0gc2NvcGVOYW1lIC0gVGhlIHNjb3BlIG5hbWUsIHRoYXQnbGwgYmUgc2VhcmNoZWRcbiAqIEByZXR1cm5zIHtTY29wZWRGaWxlfSAtIFRoZSBmb3VuZCBzY29wZWQgZmlsZVxuICovXG5leHBvcnQgY29uc3QgZmluZFNjb3BlSW5NdWx0aVNjb3BlZEZpbGUgPSAobXVsdGlTY29wZWRGaWxlOiBNdWx0aVNjb3BlZEZpbGUsIHNjb3BlTmFtZTogc3RyaW5nIHwgbnVsbCk6IFNjb3BlZEZpbGUgPT4ge1xuICAvLyBGaWx0ZXIgYWxsIG5vdC1uZXN0ZWQgZWxlbWVudHMgdG8gcmVwcmVzZW50IHRoZSBnbG9iYWwgc2NvcGUuXG4gIGlmIChzY29wZU5hbWUgPT09IG51bGwpIHtcbiAgICBjb25zdCBuZXdTY29wZWRGaWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICBPYmplY3Qua2V5cyhtdWx0aVNjb3BlZEZpbGUpLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbTogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4gfCB1bmRlZmluZWQgPSBtdWx0aVNjb3BlZEZpbGVbIGtleSBdO1xuXG4gICAgICBpZiAoIShjdXJyZW50SXRlbSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBjdXJyZW50SXRlbSAhPT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheShjdXJyZW50SXRlbSkpKVxuICAgICAgICByZXR1cm47XG5cbiAgICAgIG5ld1Njb3BlZEZpbGVbIGtleSBdID0gY3VycmVudEl0ZW07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3U2NvcGVkRmlsZTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgc3BlY2lmaWMgc2NvcGVkIGZpbGVcbiAgY29uc3Qgc2NvcGVkRmlsZTogU2NvcGVkRmlsZSB8IHVuZGVmaW5lZCA9IG11bHRpU2NvcGVkRmlsZVsgc2NvcGVOYW1lIF07XG5cbiAgaWYgKHNjb3BlZEZpbGUgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IFNjb3BlTm90RGVmaW5lZEVycm9yKGZhbHNlLCBzY29wZU5hbWUpO1xuXG4gIHJldHVybiBzY29wZWRGaWxlO1xufTtcbi8qKlxuICogUGFyc2UgYSBtdWx0aSBzY29wZWQgZmlsZVxuICogQHBhcmFtIHtNdWx0aVNjb3BlZEZpbGV9IG11bHRpU2NvcGVkRmlsZSAtIFRoZSBtdWx0aSBzY29wZWQgZmlsZSwgdGhhdCdsbCBiZSBwYXJzZWRcbiAqIEBwYXJhbSB7c3RyaW5nW10gfCBzdHJpbmd9IHNjb3BlTmFtZSAtIFRoZSBzY29wZSBuYW1lLCB0aGF0J2xsIGJlIHJlc29sdmVkXG4gKiBAcmV0dXJucyB7U2NvcGVkRmlsZVtdfSAtIEFsbCBzY29wZWQgZmlsZXMsIHRoYXQgbWF0Y2ggdGhlIHNjb3BlIG5hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlTXVsdGlTY29wZWRGaWxlQnlTY29wZSA9IChtdWx0aVNjb3BlZEZpbGU6IE11bHRpU2NvcGVkRmlsZSwgc2NvcGVOYW1lOiBzdHJpbmdbXSB8IHN0cmluZyk6IFNjb3BlZEZpbGVbXSA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KHNjb3BlTmFtZSkpXG4gICAgcmV0dXJuIHNjb3BlTmFtZS5tYXAoKF9zY29wZU5hbWU6IHN0cmluZyk6IFNjb3BlZEZpbGUgPT4gZmluZFNjb3BlSW5NdWx0aVNjb3BlZEZpbGUobXVsdGlTY29wZWRGaWxlLCBfc2NvcGVOYW1lKSk7XG5cblxuICByZXR1cm4gWyBmaW5kU2NvcGVJbk11bHRpU2NvcGVkRmlsZShtdWx0aVNjb3BlZEZpbGUsIHNjb3BlTmFtZSkgXTtcbn07XG5leHBvcnQgY29uc3QgZmluZFRva2VuSW5TY29wZWRGaWxlcyA9IChzY29wZWRGaWxlczogcmVhZG9ubHkgU2NvcGVkRmlsZVtdLCB0b2tlbjogc3RyaW5nKTogU2NvcGVkRmlsZSA9PiB7XG4gIGNvbnN0IGZvdW5kU2NvcGVkRmlsZTogU2NvcGVkRmlsZSB8IHVuZGVmaW5lZCA9IHNjb3BlZEZpbGVzLmZpbmQoKHNjb3BlZEZpbGU6IFNjb3BlZEZpbGUpOiBib29sZWFuID0+IE9iamVjdC5rZXlzKHNjb3BlZEZpbGUpLmluY2x1ZGVzKHRva2VuKSk7XG5cbiAgaWYgKGZvdW5kU2NvcGVkRmlsZSA9PT0gdW5kZWZpbmVkKSB0aHJvdyBuZXcgVHJhbnNsYXRpb25Ob3REZWZpbmVkRXJyb3IodG9rZW4pO1xuXG4gIHJldHVybiBmb3VuZFNjb3BlZEZpbGU7XG59O1xuXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { findScopeInMultiScopedFile } from "./file.util";
|
|
2
|
+
export const translateTokenByScopedFile = (scopedFile, token) => {
|
|
3
|
+
const isTokenValid = Object.keys(scopedFile).includes(token);
|
|
4
|
+
if (!isTokenValid)
|
|
5
|
+
return;
|
|
6
|
+
return scopedFile[token];
|
|
7
|
+
};
|
|
8
|
+
export const translateTokenByScopedFiles = (scopedFiles, token) => {
|
|
9
|
+
let translation;
|
|
10
|
+
scopedFiles.some((scopedFile) => {
|
|
11
|
+
const isTokenValid = Object.keys(scopedFile).includes(token);
|
|
12
|
+
if (!isTokenValid)
|
|
13
|
+
return false;
|
|
14
|
+
translation = scopedFile[token];
|
|
15
|
+
return true;
|
|
16
|
+
});
|
|
17
|
+
return translation;
|
|
18
|
+
};
|
|
19
|
+
export const translateTokenByMultiScopedFile = (multiScopedFile, scopeName, token) => {
|
|
20
|
+
const scopedFile = findScopeInMultiScopedFile(multiScopedFile, scopeName);
|
|
21
|
+
return translateTokenByScopedFile(scopedFile, token);
|
|
22
|
+
};
|
|
23
|
+
export function resolveScope(translationConfig, scopeName) {
|
|
24
|
+
return (scopeName ?? translationConfig?.defaultScope ?? null);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdHJhbnNsYXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUXpELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsVUFBc0IsRUFBRSxLQUFhLEVBQXNCLEVBQUU7SUFDdEcsTUFBTSxZQUFZLEdBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdEUsSUFBSSxDQUFDLFlBQVk7UUFBRSxPQUFPO0lBRTFCLE9BQU8sVUFBVSxDQUFFLEtBQUssQ0FBRSxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsV0FBeUIsRUFBRSxLQUFhLEVBQXNCLEVBQUU7SUFDMUcsSUFBSSxXQUErQixDQUFDO0lBRXBDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFzQixFQUFXLEVBQUU7UUFDbkQsTUFBTSxZQUFZLEdBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUVoQyxXQUFXLEdBQUcsVUFBVSxDQUFFLEtBQUssQ0FBRSxDQUFDO1FBRWxDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFRRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLGVBQWdDLEVBQUUsU0FBd0IsRUFBRSxLQUFhLEVBQXNCLEVBQUU7SUFDL0ksTUFBTSxVQUFVLEdBQWUsMEJBQTBCLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXRGLE9BQU8sMEJBQTBCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUNGLE1BQU0sVUFBVSxZQUFZLENBQTBELGlCQUFpRCxFQUFFLFNBQWE7SUFDcEosT0FBTyxDQUFDLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFNLENBQUM7QUFDckUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNwZWNpZmljVHJhbnNsYXRlQ29uZmlnIH0gZnJvbSBcIi4uL3B1YmxpYy1hcGlcIjtcbmltcG9ydCB7IE11bHRpU2NvcGVkRmlsZSwgU2NvcGVkRmlsZSB9IGZyb20gXCIuLi90eXBlcy9zdG9yZS50eXBlXCI7XG5pbXBvcnQgeyBmaW5kU2NvcGVJbk11bHRpU2NvcGVkRmlsZSB9IGZyb20gXCIuL2ZpbGUudXRpbFwiO1xuXG4vKipcbiAqIFRyYW5zbGF0ZSB0b2tlbiBieSBhIHNjb3BlZCBmaWxlXG4gKiBAcGFyYW0ge1Njb3BlZEZpbGV9IHNjb3BlZEZpbGUgLSBUaGUgc2NvcGVkIGZpbGUsIHRoYXQgc2hvdWxkIGluY2x1ZGUgdGhlIHRyYW5zbGF0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9rZW4gLSBUaGUgdG9rZW4sIHRoYXQnbGwgYmUgdHJhbnNsYXRlZFxuICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBzdHJpbmcsIHRoYXQgcmVwcmVzZW50cyB0aGUgdHJhbnNsYXRlZCB0b2tlbi4gSWYgbm8gdHJhbnNsYXRpb24gd2FzIGZvdW5kIHVuZGVmaW5lZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZVRva2VuQnlTY29wZWRGaWxlID0gKHNjb3BlZEZpbGU6IFNjb3BlZEZpbGUsIHRva2VuOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBpc1Rva2VuVmFsaWQ6IGJvb2xlYW4gPSBPYmplY3Qua2V5cyhzY29wZWRGaWxlKS5pbmNsdWRlcyh0b2tlbik7XG5cbiAgaWYgKCFpc1Rva2VuVmFsaWQpIHJldHVybjtcblxuICByZXR1cm4gc2NvcGVkRmlsZVsgdG9rZW4gXTtcbn07XG5leHBvcnQgY29uc3QgdHJhbnNsYXRlVG9rZW5CeVNjb3BlZEZpbGVzID0gKHNjb3BlZEZpbGVzOiBTY29wZWRGaWxlW10sIHRva2VuOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBsZXQgdHJhbnNsYXRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBzY29wZWRGaWxlcy5zb21lKChzY29wZWRGaWxlOiBTY29wZWRGaWxlKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaXNUb2tlblZhbGlkOiBib29sZWFuID0gT2JqZWN0LmtleXMoc2NvcGVkRmlsZSkuaW5jbHVkZXModG9rZW4pO1xuXG4gICAgaWYgKCFpc1Rva2VuVmFsaWQpIHJldHVybiBmYWxzZTtcblxuICAgIHRyYW5zbGF0aW9uID0gc2NvcGVkRmlsZVsgdG9rZW4gXTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICByZXR1cm4gdHJhbnNsYXRpb247XG59O1xuLyoqXG4gKiBUcmFuc2xhdGUgdG9rZW4gYnkgYSBtdWx0aSBzY29wZWQgZmlsZSBieSBmaXJzdCByZXNvbHZpbmcgdGhlIHNjb3BlIG91dCBvZiB0aGUgbXVsdGkgc2NvcGVkIGZpbGVcbiAqIEBwYXJhbSB7TXVsdGlTY29wZWRGaWxlfSBtdWx0aVNjb3BlZEZpbGUgLSBUaGUgTXVsdGlTY29wZWRGaWxlLCB0aGF0IHNob3VsZCBpbmNsdWRlcyB0aGUgc2NvcGUgdG8gc2VhcmNoIGFuZCB0aGUgdG9rZW5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgbnVsbH0gc2NvcGVOYW1lIC0gVGhlIHNjb3BlIG5hbWUgd2hpY2ggc2hvdWxkIGluY2x1ZGUgdGhlIHRyYW5zbGF0aW9uIGZvciB0aGUgdG9rZW5cbiAqIEBwYXJhbSB7c3RyaW5nfSB0b2tlbiAtIFRoZSB0b2tlbiwgdGhhdCdsbCBiZSB0cmFuc2xhdGVkXG4gKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIHN0cmluZywgdGhhdCByZXByZXNlbnRzIHRoZSB0cmFuc2xhdGVkIHRva2VuLiBJZiBubyB0cmFuc2xhdGlvbiB3YXMgZm91bmQgdW5kZWZpbmVkLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlVG9rZW5CeU11bHRpU2NvcGVkRmlsZSA9IChtdWx0aVNjb3BlZEZpbGU6IE11bHRpU2NvcGVkRmlsZSwgc2NvcGVOYW1lOiBzdHJpbmcgfCBudWxsLCB0b2tlbjogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3Qgc2NvcGVkRmlsZTogU2NvcGVkRmlsZSA9IGZpbmRTY29wZUluTXVsdGlTY29wZWRGaWxlKG11bHRpU2NvcGVkRmlsZSwgc2NvcGVOYW1lKTtcblxuICByZXR1cm4gdHJhbnNsYXRlVG9rZW5CeVNjb3BlZEZpbGUoc2NvcGVkRmlsZSwgdG9rZW4pO1xufTtcbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlU2NvcGU8VCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBzdHJpbmcgfCBudWxsPiAodHJhbnNsYXRpb25Db25maWc6IFNwZWNpZmljVHJhbnNsYXRlQ29uZmlnIHwgbnVsbCwgc2NvcGVOYW1lPzogVCk6IFQge1xuICByZXR1cm4gKHNjb3BlTmFtZSA/PyB0cmFuc2xhdGlvbkNvbmZpZz8uZGVmYXVsdFNjb3BlID8/IG51bGwpIGFzIFQ7XG59XG5cbiJdfQ==
|