@alauda-fe/plugin-sdk 0.0.16 → 0.0.17
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/esm2022/lib/app-extensions.mjs +24 -13
- package/esm2022/lib/extensions-loader.mjs +8 -6
- package/esm2022/lib/utils.mjs +10 -7
- package/esm2022/remote/lib/runtime.mjs +3 -4
- package/esm2022/remote/lib/translate.mjs +109 -29
- package/lib/app-extensions.d.ts +1 -0
- package/lib/extensions-loader.d.ts +1 -0
- package/lib/utils.d.ts +2 -4
- package/package.json +1 -1
- package/remote/lib/translate.d.ts +2 -3
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { getUserLanguage, isBuiltInLanguage, } from '@alauda-fe/common';
|
|
1
|
+
import { FALLBACK_LANGUAGE, getUserLanguage, isBuiltInLanguage, } from '@alauda-fe/common';
|
|
2
2
|
import { satisfies } from 'compare-versions';
|
|
3
3
|
import { loadExtensions } from './extensions-loader';
|
|
4
4
|
import { translateScope } from './utils';
|
|
5
|
-
let
|
|
5
|
+
let _extensions;
|
|
6
6
|
let extensionTranslations;
|
|
7
|
+
export function getAllExtensions() {
|
|
8
|
+
return _extensions || [];
|
|
9
|
+
}
|
|
7
10
|
export function getAppExtensions(type, cluster) {
|
|
8
11
|
const types = Array.isArray(type) ? type : [type];
|
|
9
|
-
if (!
|
|
12
|
+
if (!_extensions) {
|
|
10
13
|
throw new Error('Extensions not loaded');
|
|
11
14
|
}
|
|
12
|
-
return
|
|
15
|
+
return _extensions.filter(ext => {
|
|
13
16
|
if (ext.cluster && cluster && ext.cluster !== cluster) {
|
|
14
17
|
return false;
|
|
15
18
|
}
|
|
@@ -20,7 +23,8 @@ export function getAppExtensionTranslations() {
|
|
|
20
23
|
return extensionTranslations;
|
|
21
24
|
}
|
|
22
25
|
export async function setupAppExtensions(host, hostVersion) {
|
|
23
|
-
|
|
26
|
+
const allExtensions = await loadExtensions();
|
|
27
|
+
_extensions = allExtensions.filter(ext => {
|
|
24
28
|
if (!ext.type.startsWith('console-*/') &&
|
|
25
29
|
!ext.type.startsWith(host + '/')) {
|
|
26
30
|
return false;
|
|
@@ -34,13 +38,14 @@ export async function setupAppExtensions(host, hostVersion) {
|
|
|
34
38
|
}
|
|
35
39
|
return isVersionMatch;
|
|
36
40
|
});
|
|
37
|
-
|
|
41
|
+
// for debug
|
|
42
|
+
window.__alauda_extensions = _extensions;
|
|
38
43
|
extensionTranslations = await loadTranslations();
|
|
39
|
-
return
|
|
44
|
+
return _extensions;
|
|
40
45
|
}
|
|
41
46
|
async function loadTranslations() {
|
|
42
47
|
const lang = getUserLanguage();
|
|
43
|
-
const entrypoints =
|
|
48
|
+
const entrypoints = _extensions.reduce((acc, curr) => {
|
|
44
49
|
acc[curr.entrypoint] = {
|
|
45
50
|
scope: translateScope(curr, lang),
|
|
46
51
|
};
|
|
@@ -55,21 +60,27 @@ async function loadTranslations() {
|
|
|
55
60
|
}));
|
|
56
61
|
}
|
|
57
62
|
return await Promise.all(Object.entries(entrypoints).map(([entrypoint, { scope }]) => Promise.all([
|
|
58
|
-
fetchI18nFile(`${entrypoint}/assets/i18n
|
|
63
|
+
fetchI18nFile(`${entrypoint}/assets/i18n/${FALLBACK_LANGUAGE}.json`),
|
|
59
64
|
fetchI18nFile(`/console-i18n/${lang}/${scope}.json`),
|
|
60
65
|
]).then(([en, other]) => ({
|
|
66
|
+
[FALLBACK_LANGUAGE]: { [scope]: en },
|
|
61
67
|
[lang]: {
|
|
62
|
-
[scope]:
|
|
68
|
+
[scope]: other,
|
|
63
69
|
},
|
|
64
70
|
}))));
|
|
65
71
|
}
|
|
66
72
|
function fetchI18nFile(path) {
|
|
67
73
|
return fetch(path)
|
|
68
|
-
.then(res =>
|
|
74
|
+
.then(res => {
|
|
75
|
+
if (!res.ok) {
|
|
76
|
+
throw new Error(`HTTP ${res.status}: ${res.statusText}`);
|
|
77
|
+
}
|
|
78
|
+
return res.json();
|
|
79
|
+
})
|
|
69
80
|
.catch(err => {
|
|
70
81
|
console.error(`Failed to load plugin i18n file, ${path}`);
|
|
71
82
|
console.error(err);
|
|
72
|
-
return
|
|
83
|
+
return null;
|
|
73
84
|
});
|
|
74
85
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV4dGVuc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9hcHAtZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixpQkFBaUIsR0FFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsT0FBTyxFQUFhLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsSUFBSSxXQUF3QixDQUFDO0FBRTdCLElBQUkscUJBQXFDLENBQUM7QUFFMUMsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLFdBQVcsSUFBSSxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBdUIsRUFDdkIsT0FBZ0I7SUFFaEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUM5QixJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJ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QUFDLEdBQUcsVUFBVSxnQkFBZ0IsaUJBQWlCLE9BQU8sQ0FBQztRQUNwRSxhQUFhLENBQUMsaUJBQWlCLElBQUksSUFBSSxLQUFLLE9BQU8sQ0FBQztLQUNyRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDcEMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNOLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSztTQUNmO0tBQ0YsQ0FBQyxDQUFDLENBQ0osQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLElBQVk7SUFDakMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO1NBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUM7U0FDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGQUxMQkFDS19MQU5HVUFHRSxcbiAgZ2V0VXNlckxhbmd1YWdlLFxuICBpc0J1aWx0SW5MYW5ndWFnZSxcbiAgVHJhbnNsYXRpb25zLFxufSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQgeyBzYXRpc2ZpZXMgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcblxuaW1wb3J0IHsgRXh0ZW5zaW9uLCBsb2FkRXh0ZW5zaW9ucyB9IGZyb20gJy4vZXh0ZW5zaW9ucy1sb2FkZXInO1xuaW1wb3J0IHsgdHJhbnNsYXRlU2NvcGUgfSBmcm9tICcuL3V0aWxzJztcblxubGV0IF9leHRlbnNpb25zOiBFeHRlbnNpb25bXTtcblxubGV0IGV4dGVuc2lvblRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25zW107XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxFeHRlbnNpb25zKCk6IEV4dGVuc2lvbltdIHtcbiAgcmV0dXJuIF9leHRlbnNpb25zIHx8IFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwRXh0ZW5zaW9uczxUID0gYW55PihcbiAgdHlwZTogc3RyaW5nIHwgc3RyaW5nW10sXG4gIGNsdXN0ZXI/OiBzdHJpbmcsXG4pIHtcbiAgY29uc3QgdHlwZXMgPSBBcnJheS5pc0FycmF5KHR5cGUpID8gdHlwZSA6IFt0eXBlXTtcbiAgaWYgKCFfZXh0ZW5zaW9ucykge1xuICAgIHRocm93IG5ldyBFcnJvcignRXh0ZW5zaW9ucyBub3QgbG9hZGVkJyk7XG4gIH1cbiAgcmV0dXJuIF9leHRlbnNpb25zLmZpbHRlcihleHQgPT4ge1xuICAgIGlmIChleHQuY2x1c3RlciAmJiBjbHVzdGVyICYmIGV4dC5jbHVzdGVyICE9PSBjbHVzdGVyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVzLmluY2x1ZGVzKGV4dC50eXBlKTtcbiAgfSkgYXMgQXJyYXk8RXh0ZW5zaW9uPFQ+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcEV4dGVuc2lvblRyYW5zbGF0aW9ucygpIHtcbiAgcmV0dXJuIGV4dGVuc2lvblRyYW5zbGF0aW9ucztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldHVwQXBwRXh0ZW5zaW9ucyhob3N0OiBzdHJpbmcsIGhvc3RWZXJzaW9uPzogc3RyaW5nKSB7XG4gIGNvbnN0IGFsbEV4dGVuc2lvbnMgPSBhd2FpdCBsb2FkRXh0ZW5zaW9ucygpO1xuXG4gIF9leHRlbnNpb25zID0gYWxsRXh0ZW5zaW9ucy5maWx0ZXIoZXh0ID0+IHtcbiAgICBpZiAoXG4gICAgICAhZXh0LnR5cGUuc3RhcnRzV2l0aCgnY29uc29sZS0qLycpICYmXG4gICAgICAhZXh0LnR5cGUuc3RhcnRzV2l0aChob3N0ICsgJy8nKVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVpcmVkVmVyc2lvbiA9XG4gICAgICBleHQuZGVwZW5kZW5jaWVzPy5baG9zdF0gfHwgZXh0LmRlcGVuZGVuY2llcz8uWydjb25zb2xlLSonXTtcblxuICAgIGNvbnN0IGlzVmVyc2lvbk1hdGNoID1cbiAgICAgIGhvc3RWZXJzaW9uICYmIHJlcXVpcmVkVmVyc2lvblxuICAgICAgICA/IHNhdGlzZmllcyhob3N0VmVyc2lvbiwgcmVxdWlyZWRWZXJzaW9uKVxuICAgICAgICA6IHRydWU7XG5cbiAgICBpZiAoIWlzVmVyc2lvbk1hdGNoKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBFeHRlbnNpb24gXCIke2V4dC5wbHVnaW5OYW1lfX4ke2V4dC5hcHBOYW1lfVwiIChjbHVzdGVyOiAke2V4dC5jbHVzdGVyIHx8ICdkZWZhdWx0J30pIGhvc3QgdmVyc2lvbiBtaXNtYXRjaDogcmVxdWlyZWQgJHtyZXF1aXJlZFZlcnNpb259LCBjdXJyZW50IGhvc3QgdmVyc2lvbiAke2hvc3RWZXJzaW9ufWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBpc1ZlcnNpb25NYXRjaDtcbiAgfSk7XG5cbiAgLy8gZm9yIGRlYnVnXG4gICh3aW5kb3cgYXMgYW55KS5fX2FsYXVkYV9leHRlbnNpb25zID0gX2V4dGVuc2lvbnM7XG5cbiAgZXh0ZW5zaW9uVHJhbnNsYXRpb25zID0gYXdhaXQgbG9hZFRyYW5zbGF0aW9ucygpO1xuXG4gIHJldHVybiBfZXh0ZW5zaW9ucztcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZFRyYW5zbGF0aW9ucygpOiBQcm9taXNlPFxuICBBcnJheTx7IFtsYW5nOiBzdHJpbmddOiBUcmFuc2xhdGlvbnMgfT5cbj4ge1xuICBjb25zdCBsYW5nID0gZ2V0VXNlckxhbmd1YWdlKCk7XG5cbiAgY29uc3QgZW50cnlwb2ludHMgPSBfZXh0ZW5zaW9ucy5yZWR1Y2UoXG4gICAgKGFjYywgY3VycikgPT4ge1xuICAgICAgYWNjW2N1cnIuZW50cnlwb2ludF0gPSB7XG4gICAgICAgIHNjb3BlOiB0cmFuc2xhdGVTY29wZShjdXJyLCBsYW5nKSxcbiAgICAgIH07XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAge30gYXMgUmVjb3JkPHN0cmluZywgeyBzY29wZTogc3RyaW5nIH0+LFxuICApO1xuXG4gIGlmIChpc0J1aWx0SW5MYW5ndWFnZShsYW5nKSkge1xuICAgIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIE9iamVjdC5lbnRyaWVzKGVudHJ5cG9pbnRzKS5tYXAoKFtlbnRyeXBvaW50LCB7IHNjb3BlIH1dKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBgJHtlbnRyeXBvaW50fS9hc3NldHMvaTE4bi8ke2xhbmd9Lmpzb25gO1xuICAgICAgICByZXR1cm4gZmV0Y2hJMThuRmlsZShwYXRoKS50aGVuKHRyYW5zbGF0aW9ucyA9PiAoe1xuICAgICAgICAgIFtsYW5nXTogeyBbc2NvcGVdOiB0cmFuc2xhdGlvbnMgfSxcbiAgICAgICAgfSkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICBPYmplY3QuZW50cmllcyhlbnRyeXBvaW50cykubWFwKChbZW50cnlwb2ludCwgeyBzY29wZSB9XSkgPT5cbiAgICAgIFByb21pc2UuYWxsKFtcbiAgICAgICAgZmV0Y2hJMThuRmlsZShgJHtlbnRyeXBvaW50fS9hc3NldHMvaTE4bi8ke0ZBTExCQUNLX0xBTkdVQUdFfS5qc29uYCksXG4gICAgICAgIGZldGNoSTE4bkZpbGUoYC9jb25zb2xlLWkxOG4vJHtsYW5nfS8ke3Njb3BlfS5qc29uYCksXG4gICAgICBdKS50aGVuKChbZW4sIG90aGVyXSkgPT4gKHtcbiAgICAgICAgW0ZBTExCQUNLX0xBTkdVQUdFXTogeyBbc2NvcGVdOiBlbiB9LFxuICAgICAgICBbbGFuZ106IHtcbiAgICAgICAgICBbc2NvcGVdOiBvdGhlcixcbiAgICAgICAgfSxcbiAgICAgIH0pKSxcbiAgICApLFxuICApO1xufVxuXG5mdW5jdGlvbiBmZXRjaEkxOG5GaWxlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8VHJhbnNsYXRpb25zPiB7XG4gIHJldHVybiBmZXRjaChwYXRoKVxuICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtyZXMuc3RhdHVzfTogJHtyZXMuc3RhdHVzVGV4dH1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuanNvbigpO1xuICAgIH0pXG4gICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBwbHVnaW4gaTE4biBmaWxlLCAke3BhdGh9YCk7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { attachAuthorizationHeader
|
|
2
|
-
import { getBootMode, LOCAL_DEV_EXTENSION_INFO } from './utils';
|
|
1
|
+
import { attachAuthorizationHeader } from '@alauda-fe/common';
|
|
2
|
+
import { getBootMode, LOCAL_DEV_EXTENSION_INFO, isLocalEnv } from './utils';
|
|
3
3
|
export async function loadExtensions(query = {}) {
|
|
4
4
|
if (getBootMode() === 'safe') {
|
|
5
5
|
return [];
|
|
6
6
|
}
|
|
7
|
-
return
|
|
7
|
+
return isLocalEnv()
|
|
8
8
|
? await loadDevExtensions(query)
|
|
9
9
|
: await loadProdExtensions(query);
|
|
10
10
|
}
|
|
@@ -20,6 +20,7 @@ async function loadDevExtensions(query = {}) {
|
|
|
20
20
|
...LOCAL_DEV_EXTENSION_INFO,
|
|
21
21
|
...ext,
|
|
22
22
|
dependencies: plugin.dependencies || {},
|
|
23
|
+
i18nVersion: plugin.i18nVersion,
|
|
23
24
|
entrypoint: '/dev-plugin',
|
|
24
25
|
})))
|
|
25
26
|
.catch(() => {
|
|
@@ -28,7 +29,7 @@ async function loadDevExtensions(query = {}) {
|
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
async function loadProdExtensions(query = {}) {
|
|
31
|
-
const reqPrefix =
|
|
32
|
+
const reqPrefix = isLocalEnv() ? '/api-gateway' : '';
|
|
32
33
|
const queryString = Object.entries(query)
|
|
33
34
|
.map(([key, value]) => `${key}=${value.join(',')}`)
|
|
34
35
|
.join(';');
|
|
@@ -54,10 +55,11 @@ async function loadProdExtensions(query = {}) {
|
|
|
54
55
|
.replaceAll('/', '-'),
|
|
55
56
|
entrypoint: `${reqPrefix}/clusters-rewrite/${cluster}${plugin.path}`,
|
|
56
57
|
dependencies: pluginJson.dependencies || {},
|
|
58
|
+
i18nVersion: pluginJson.i18nVersion,
|
|
57
59
|
}));
|
|
58
60
|
}
|
|
59
61
|
catch (error) {
|
|
60
|
-
console.
|
|
62
|
+
console.error(`Failed to parse console-plugin.json for plugin ${plugin.name}:`, error);
|
|
61
63
|
return [];
|
|
62
64
|
}
|
|
63
65
|
})), []))
|
|
@@ -66,4 +68,4 @@ async function loadProdExtensions(query = {}) {
|
|
|
66
68
|
return [];
|
|
67
69
|
});
|
|
68
70
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb25zLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU1RSxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxRQUF5QixFQUFFO0lBQzlELElBQUksV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxVQUFVLEVBQUU7UUFDakIsQ0FBQyxDQUFDLE1BQU0saUJBQWlCLENBQUMsS0FBSyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxLQUFLLFVBQVUsaUJBQWlCLENBQzlCLFFBQXlCLEVBQUU7SUFFM0IsT0FBTyxNQUFNLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsd0JBQXdCO1FBQzNCLEdBQUcsR0FBRztRQUNOLFlBQVksRUFB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QUcsQ0FBQyxFQUFFO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldEJvb3RNb2RlLCBMT0NBTF9ERVZfRVhURU5TSU9OX0lORk8sIGlzTG9jYWxFbnYgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRFeHRlbnNpb25zKHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSkge1xuICBpZiAoZ2V0Qm9vdE1vZGUoKSA9PT0gJ3NhZmUnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBpc0xvY2FsRW52KClcbiAgICA/IGF3YWl0IGxvYWREZXZFeHRlbnNpb25zKHF1ZXJ5KVxuICAgIDogYXdhaXQgbG9hZFByb2RFeHRlbnNpb25zKHF1ZXJ5KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZERldkV4dGVuc2lvbnMoXG4gIHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSxcbik6IFByb21pc2U8RXh0ZW5zaW9uW10+IHtcbiAgcmV0dXJuIGF3YWl0IGZldGNoKGAvZGV2LXBsdWdpbi9jb25zb2xlLXBsdWdpbi5qc29uYClcbiAgICAudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggbG9jYWwgZGV2IGV4dGVuc2lvbnMnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuanNvbigpO1xuICAgIH0pXG4gICAgLnRoZW4oKHBsdWdpbjogUGx1Z2luSlNPTikgPT5cbiAgICAgIHBsdWdpbi5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgLi4uTE9DQUxfREVWX0VYVEVOU0lPTl9JTkZPLFxuICAgICAgICAuLi5leHQsXG4gICAgICAgIGRlcGVuZGVuY2llczogcGx1Z2luLmRlcGVuZGVuY2llcyB8fCB7fSxcbiAgICAgICAgaTE4blZlcnNpb246IHBsdWdpbi5pMThuVmVyc2lvbixcbiAgICAgICAgZW50cnlwb2ludDogJy9kZXYtcGx1Z2luJyxcbiAgICAgIH0pKSxcbiAgICApXG4gICAgLmNhdGNoKCgpID0+IHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ0ZhaWxlZCB0byBmZXRjaCBsb2NhbCBkZXYgZXh0ZW5zaW9ucywgbG9hZGluZyBwcm9kIGV4dGVuc2lvbnMnLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBsb2FkUHJvZEV4dGVuc2lvbnMocXVlcnkpO1xuICAgIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBsb2FkUHJvZEV4dGVuc2lvbnMoXG4gIHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSxcbik6IFByb21pc2U8RXh0ZW5zaW9uW10+IHtcbiAgY29uc3QgcmVxUHJlZml4ID0gaXNMb2NhbEVudigpID8gJy9hcGktZ2F0ZXdheScgOiAnJztcbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBPYmplY3QuZW50cmllcyhxdWVyeSlcbiAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZS5qb2luKCcsJyl9YClcbiAgICAuam9pbignOycpO1xuXG4gIHJldHVybiBhd2FpdCBmZXRjaChcbiAgICBgJHtyZXFQcmVmaXh9L2Zyb250ZW5kLXBsdWdpbnMvY2x1c3RlcnMvY29uc29sZS1wbHVnaW5zJHtxdWVyeVN0cmluZyAmJiAnP2ZpbHRlcj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5U3RyaW5nKX1gLFxuICAgIHtcbiAgICAgIGhlYWRlcnM6IGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIoKSxcbiAgICB9LFxuICApXG4gICAgLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIGV4dGVuc2lvbnMnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuanNvbigpO1xuICAgIH0pXG4gICAgLnRoZW4oKHJhd1BsdWdpbnM6IFJhd1BsdWdpbnMpID0+XG4gICAgICBPYmplY3QuZW50cmllcyhyYXdQbHVnaW5zKS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIFtjbHVzdGVyLCBwbHVnaW5zXSkgPT5cbiAgICAgICAgICBhY2MuY29uY2F0KFxuICAgICAgICAgICAgcGx1Z2lucy5mbGF0TWFwKHBsdWdpbiA9PiB7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGx1Z2luSnNvbiA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICAgICAgICBwbHVnaW5bJ2NvbnNvbGUtcGx1Z2luLmpzb24nXSxcbiAgICAgICAgICAgICAgICApIGFzIFBsdWdpbkpTT047XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcGx1Z2luSnNvbi5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLmV4dCxcbiAgICAgICAgICAgICAgICAgIGNsdXN0ZXIsXG4gICAgICAgICAgICAgICAgICBwbHVnaW5OYW1lOiBwbHVnaW4ubmFtZSxcbiAgICAgICAgICAgICAgICAgIHBsdWdpblZlcnNpb246IHBsdWdpbi52ZXJzaW9uLFxuICAgICAgICAgICAgICAgICAgYXBwTmFtZTogcGx1Z2luLnBhdGhcbiAgICAgICAgICAgICAgICAgICAgLnNsaWNlKHBsdWdpbi5wYXRoLmxhc3RJbmRleE9mKCcvJykgKyAxKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZUFsbCgnLycsICctJyksXG4gICAgICAgICAgICAgICAgICBlbnRyeXBvaW50OiBgJHtyZXFQcmVmaXh9L2NsdXN0ZXJzLXJld3JpdGUvJHtjbHVzdGVyfSR7cGx1Z2luLnBhdGh9YCxcbiAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogcGx1Z2luSnNvbi5kZXBlbmRlbmNpZXMgfHwge30sXG4gICAgICAgICAgICAgICAgICBpMThuVmVyc2lvbjogcGx1Z2luSnNvbi5pMThuVmVyc2lvbixcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gcGFyc2UgY29uc29sZS1wbHVnaW4uanNvbiBmb3IgcGx1Z2luICR7cGx1Z2luLm5hbWV9OmAsXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgW10gYXMgRXh0ZW5zaW9uW10sXG4gICAgICApLFxuICAgIClcbiAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25zUXVlcnkge1xuICB0eXBlcz86IHN0cmluZ1tdO1xuICBjbHVzdGVycz86IHN0cmluZ1tdO1xuICBvcGVyYXRvcnM/OiBzdHJpbmdbXTtcbiAgY2hhbm5lbHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb248VCA9IGFueT4gZXh0ZW5kcyBSYXdFeHRlbnNpb248VD4ge1xuICBjbHVzdGVyOiBzdHJpbmc7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xuICBhcHBOYW1lOiBzdHJpbmc7XG4gIGVudHJ5cG9pbnQ6IHN0cmluZztcbiAgZGVwZW5kZW5jaWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBpMThuVmVyc2lvbj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJhd1BsdWdpbnMge1xuICBbY2x1c3Rlcjogc3RyaW5nXTogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgICdjb25zb2xlLXBsdWdpbi5qc29uJzogc3RyaW5nO1xuICB9Pjtcbn1cblxuaW50ZXJmYWNlIFBsdWdpbkpTT04ge1xuICBleHRlbnNpb25zOiBSYXdFeHRlbnNpb25bXTtcbiAgZGVwZW5kZW5jaWVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgaTE4blZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBSYXdFeHRlbnNpb248VCA9IGFueT4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIG9wdGlvbnM6IFQ7XG59XG4iXX0=
|
package/esm2022/lib/utils.mjs
CHANGED
|
@@ -3,9 +3,6 @@ import { loadRemoteModule, setRemoteDefinitions } from '@nx/angular/mf';
|
|
|
3
3
|
import { compare } from 'compare-versions';
|
|
4
4
|
const remoteRecord = new Set();
|
|
5
5
|
const BOOT_MODE_KEY = '__boot_mode__';
|
|
6
|
-
/**
|
|
7
|
-
* @deprecated Use isLocalDev from @alauda-fe/common instead
|
|
8
|
-
*/
|
|
9
6
|
export function isLocalEnv() {
|
|
10
7
|
return location.hostname === 'localhost';
|
|
11
8
|
}
|
|
@@ -65,10 +62,16 @@ export function filterLatestVersion(identity) {
|
|
|
65
62
|
return acc;
|
|
66
63
|
}, []);
|
|
67
64
|
}
|
|
68
|
-
export const translateScope = (
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
export const translateScope = (extension, locale) => {
|
|
66
|
+
if (isBuiltInLanguage(locale)) {
|
|
67
|
+
return `plugin__${extension.cluster}~${extension.pluginName}~${extension.appName}`;
|
|
68
|
+
}
|
|
69
|
+
const baseScope = `plugin__${extension.pluginName}~${extension.appName}`;
|
|
70
|
+
return extension.i18nVersion
|
|
71
|
+
? `${baseScope}~${extension.i18nVersion}`
|
|
72
|
+
: baseScope;
|
|
73
|
+
};
|
|
71
74
|
export const translateScopeKey = (scope, key) => {
|
|
72
75
|
return `${scope}.${key}`;
|
|
73
76
|
};
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTNDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7QUFFdkMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDLE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU8sUUFBUSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFrQjtJQUNuRCxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxPQUFPLEVBQUUsY0FBYztJQUN2QixhQUFhLEVBQUUsUUFBUTtJQUN2QixPQUFPLEVBQUUsU0FBUztDQUNuQixDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVc7SUFDekIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU07U0FDMUIsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNSLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixNQUFNLENBQ0wsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFF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RSxPQUFPLFNBQVMsQ0FBQyxXQUFXO1FBQzFCLENBQUMsQ0FBQyxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFO1FBQ3pDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEVBQUU7SUFDOUQsT0FBTyxHQUFHLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUMzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHTE9CQUxfQ0xVU1RFUiwgaXNCdWlsdEluTGFuZ3VhZ2UgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQgeyBsb2FkUmVtb3RlTW9kdWxlLCBzZXRSZW1vdGVEZWZpbml0aW9ucyB9IGZyb20gJ0BueC9hbmd1bGFyL21mJztcbmltcG9ydCB7IGNvbXBhcmUgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcblxuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnLi9leHRlbnNpb25zLWxvYWRlcic7XG5cbmNvbnN0IHJlbW90ZVJlY29yZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG5jb25zdCBCT09UX01PREVfS0VZID0gJ19fYm9vdF9tb2RlX18nO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNMb2NhbEVudigpIHtcbiAgcmV0dXJuIGxvY2F0aW9uLmhvc3RuYW1lID09PSAnbG9jYWxob3N0Jztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhdGljUGx1Z2luUGF0aChwdWJsaWNQYXRoOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHB1YmxpY1BhdGguaW5jbHVkZXMoJy9fcGx1Z2lucy8nKTtcbn1cblxuZXhwb3J0IGNvbnN0IExPQ0FMX0RFVl9FWFRFTlNJT05fSU5GTyA9IHtcbiAgY2x1c3RlcjogR0xPQkFMX0NMVVNURVIsXG4gIHBsdWdpbk5hbWU6ICdsb2NhbC1kZXYnLFxuICBwbHVnaW5WZXJzaW9uOiAndjEuMC4wJyxcbiAgYXBwTmFtZTogJ2RlZmF1bHQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFNUQVRJQ19FWFRFTlNJT05fSU5GTyA9IHtcbiAgY2x1c3RlcjogR0xPQkFMX0NMVVNURVIsXG4gIHBsdWdpblZlcnNpb246ICd2MS4wLjAnLFxuICBhcHBOYW1lOiAnZGVmYXVsdCcsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9vdE1vZGUoKTogJ3N0YW5kYXJkJyB8ICdzYWZlJyB7XG4gIGNvbnN0IHF1ZXJ5ID0gbG9jYXRpb24uc2VhcmNoXG4gICAgLnNsaWNlKDEpXG4gICAgLnNwbGl0KCcmJylcbiAgICAucmVkdWNlKFxuICAgICAgKGFjYywgY3VyKSA9PiB7XG4gICAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGN1ci5zcGxpdCgnPScpO1xuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgKTtcbiAgY29uc3QgbW9kZSA9IChxdWVyeVtCT09UX01PREVfS0VZXSB8fFxuICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oQk9PVF9NT0RFX0tFWSkgfHxcbiAgICAnc3RhbmRhcmQnKSBhcyAnc3RhbmRhcmQnIHwgJ3NhZmUnO1xuXG4gIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oQk9PVF9NT0RFX0tFWSwgbW9kZSk7XG5cbiAgcmV0dXJuIG1vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVtb3RlKHJlbW90ZTogc3RyaW5nLCBtb2R1bGU6IHN0cmluZykge1xuICBpZiAoIXJlbW90ZVJlY29yZC5oYXMocmVtb3RlKSkge1xuICAgIHJlbW90ZVJlY29yZC5hZGQocmVtb3RlKTtcbiAgICBzZXRSZW1vdGVEZWZpbml0aW9ucyh7IFtyZW1vdGVdOiByZW1vdGUgfSk7XG4gIH1cblxuICByZXR1cm4gbG9hZFJlbW90ZU1vZHVsZShyZW1vdGUsIG1vZHVsZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJMYXRlc3RWZXJzaW9uPE8gPSBhbnk+KFxuICBpZGVudGl0eTogKGV4dDogTykgPT4gdW5rbm93bixcbik6IChleHRzOiBBcnJheTxFeHRlbnNpb248Tz4+KSA9PiBBcnJheTxFeHRlbnNpb248Tz4+IHtcbiAgcmV0dXJuIChleHRzOiBBcnJheTxFeHRlbnNpb248Tz4+KSA9PlxuICAgIGV4dHMucmVkdWNlKFxuICAgICAgKGFjYywgZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0ZWRJbmRleCA9IGFjYy5maW5kSW5kZXgoXG4gICAgICAgICAgYSA9PlxuICAgICAgICAgICAgYS5wbHVnaW5OYW1lID09PSBleHQucGx1Z2luTmFtZSAmJlxuICAgICAgICAgICAgaWRlbnRpdHkoYS5vcHRpb25zKSA9PT0gaWRlbnRpdHkoZXh0Lm9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZXhpc3RlZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgIGFjYy5wdXNoKGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGFjY1tleGlzdGVkSW5kZXhdID0gY29tcGFyZShcbiAgICAgICAgICAgICAgYWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luVmVyc2lvbixcbiAgICAgICAgICAgICAgZXh0LnBsdWdpblZlcnNpb24sXG4gICAgICAgICAgICAgICc+PScsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgID8gYWNjW2V4aXN0ZWRJbmRleF1cbiAgICAgICAgICAgICAgOiBleHQ7XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBgRXJyb3Igd2hlbiBjb21wYXJpbmcgb3BlcmF0b3IgKCR7YWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luTmFtZX0pIHZlcnNpb25zICgke2FjY1tleGlzdGVkSW5kZXhdLnBsdWdpblZlcnNpb259LCAke2V4dC5wbHVnaW5WZXJzaW9ufSkuIFVzaW5nICR7YWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luVmVyc2lvbn0gZnJvbSBjbHVzdGVyICR7YWNjW2V4aXN0ZWRJbmRleF0uY2x1c3Rlcn1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICBbXSBhcyBBcnJheTxFeHRlbnNpb248Tz4+LFxuICAgICk7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVTY29wZSA9IChcbiAgZXh0ZW5zaW9uOiB7XG4gICAgY2x1c3Rlcjogc3RyaW5nO1xuICAgIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgICBhcHBOYW1lOiBzdHJpbmc7XG4gICAgaTE4blZlcnNpb24/OiBzdHJpbmc7XG4gIH0sXG4gIGxvY2FsZTogc3RyaW5nLFxuKSA9PiB7XG4gIGlmIChpc0J1aWx0SW5MYW5ndWFnZShsb2NhbGUpKSB7XG4gICAgcmV0dXJuIGBwbHVnaW5fXyR7ZXh0ZW5zaW9uLmNsdXN0ZXJ9fiR7ZXh0ZW5zaW9uLnBsdWdpbk5hbWV9fiR7ZXh0ZW5zaW9uLmFwcE5hbWV9YDtcbiAgfVxuXG4gIGNvbnN0IGJhc2VTY29wZSA9IGBwbHVnaW5fXyR7ZXh0ZW5zaW9uLnBsdWdpbk5hbWV9fiR7ZXh0ZW5zaW9uLmFwcE5hbWV9YDtcblxuICByZXR1cm4gZXh0ZW5zaW9uLmkxOG5WZXJzaW9uXG4gICAgPyBgJHtiYXNlU2NvcGV9fiR7ZXh0ZW5zaW9uLmkxOG5WZXJzaW9ufWBcbiAgICA6IGJhc2VTY29wZTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVTY29wZUtleSA9IChzY29wZTogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4ge1xuICByZXR1cm4gYCR7c2NvcGV9LiR7a2V5fWA7XG59O1xuIl19
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { isStaticPluginPath, LOCAL_DEV_EXTENSION_INFO, STATIC_EXTENSION_INFO, } from '@alauda-fe/plugin-sdk';
|
|
1
|
+
import { isStaticPluginPath, LOCAL_DEV_EXTENSION_INFO, STATIC_EXTENSION_INFO, isLocalEnv, } from '@alauda-fe/plugin-sdk';
|
|
3
2
|
export const PUBLIC_PATH = __webpack_public_path__;
|
|
4
3
|
export const RUNTIME = runtimeInfo();
|
|
5
4
|
function runtimeInfo() {
|
|
6
|
-
if (
|
|
5
|
+
if (isLocalEnv()) {
|
|
7
6
|
return {
|
|
8
7
|
...LOCAL_DEV_EXTENSION_INFO,
|
|
9
8
|
publicPath: PUBLIC_PATH,
|
|
@@ -28,4 +27,4 @@ function runtimeInfo() {
|
|
|
28
27
|
appName: arr.slice(pluginIndex + 3, arr.length - 1).join('-'),
|
|
29
28
|
};
|
|
30
29
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9yZW1vdGUvbGliL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLFVBQVUsR0FDWCxNQUFNLHVCQUF1QixDQUFDO0FBSS9CLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFFckMsU0FBUyxXQUFXO0lBQ2xCLElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUNqQixPQUFPO1lBQ0wsR0FBRyx3QkFBd0I7WUFDM0IsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBRS9ELE9BQU87WUFDTCxHQUFHLHFCQUFxQjtZQUN4QixVQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDaEMsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTVFLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFM0UsT0FBTztRQUNMLFVBQVUsRUFBRSxXQUFXO1FBQ3ZCLE9BQU8sRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQzFCLFVBQVUsRUFBRSxHQUFHLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNoQyxhQUFhLEVBQUUsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDbkMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7S0FDOUQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBpc1N0YXRpY1BsdWdpblBhdGgsXG4gIExPQ0FMX0RFVl9FWFRFTlNJT05fSU5GTyxcbiAgU1RBVElDX0VYVEVOU0lPTl9JTkZPLFxuICBpc0xvY2FsRW52LFxufSBmcm9tICdAYWxhdWRhLWZlL3BsdWdpbi1zZGsnO1xuXG5kZWNsYXJlIGNvbnN0IF9fd2VicGFja19wdWJsaWNfcGF0aF9fOiBzdHJpbmc7XG5cbmV4cG9ydCBjb25zdCBQVUJMSUNfUEFUSCA9IF9fd2VicGFja19wdWJsaWNfcGF0aF9fO1xuXG5leHBvcnQgY29uc3QgUlVOVElNRSA9IHJ1bnRpbWVJbmZvKCk7XG5cbmZ1bmN0aW9uIHJ1bnRpbWVJbmZvKCk6IFJ1bnRpbWUge1xuICBpZiAoaXNMb2NhbEVudigpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLkxPQ0FMX0RFVl9FWFRFTlNJT05fSU5GTyxcbiAgICAgIHB1YmxpY1BhdGg6IFBVQkxJQ19QQVRILFxuICAgIH07XG4gIH1cbiAgY29uc3QgYXJyID0gUFVCTElDX1BBVEguc3BsaXQoJy8nKTtcblxuICBpZiAoaXNTdGF0aWNQbHVnaW5QYXRoKFBVQkxJQ19QQVRIKSkge1xuICAgIGNvbnN0IHBsdWdpbkluZGV4ID0gYXJyLmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09ICdfcGx1Z2lucycpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlNUQVRJQ19FWFRFTlNJT05fSU5GTyxcbiAgICAgIHBsdWdpbk5hbWU6IGFycltwbHVnaW5JbmRleCArIDFdLFxuICAgICAgcHVibGljUGF0aDogUFVCTElDX1BBVEgsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGNsdXN0ZXJJbmRleCA9IGFyci5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSAnY2x1c3RlcnMtcmV3cml0ZScpICsgMTtcblxuICBjb25zdCBwbHVnaW5JbmRleCA9IGFyci5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSAnZnJvbnRlbmQtcGx1Z2lucycpICsgMTtcblxuICByZXR1cm4ge1xuICAgIHB1YmxpY1BhdGg6IFBVQkxJQ19QQVRILFxuICAgIGNsdXN0ZXI6IGFycltjbHVzdGVySW5kZXhdLFxuICAgIHBsdWdpbk5hbWU6IGFycltwbHVnaW5JbmRleCArIDFdLFxuICAgIHBsdWdpblZlcnNpb246IGFycltwbHVnaW5JbmRleCArIDJdLFxuICAgIGFwcE5hbWU6IGFyci5zbGljZShwbHVnaW5JbmRleCArIDMsIGFyci5sZW5ndGggLSAxKS5qb2luKCctJyksXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZSB7XG4gIHB1YmxpY1BhdGg6IHN0cmluZztcbiAgY2x1c3Rlcjogc3RyaW5nO1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHBsdWdpblZlcnNpb246IHN0cmluZztcbiAgYXBwTmFtZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,8 +1,81 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NotificationService } from '@alauda/ui';
|
|
2
|
+
import { FALLBACK_LANGUAGE, GLOBAL_CLUSTER, isBuiltInLanguage, TranslatePipe, TranslateService, } from '@alauda-fe/common';
|
|
2
3
|
import { inject, Injectable, Pipe } from '@angular/core';
|
|
3
4
|
import { RUNTIME } from './runtime';
|
|
4
|
-
import { translateScope, translateScopeKey } from '@alauda-fe/plugin-sdk';
|
|
5
|
+
import { translateScope, translateScopeKey, getAllExtensions, } from '@alauda-fe/plugin-sdk';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* 获取扩展列表,支持新旧版本兼容(ACP <= v4.1)
|
|
9
|
+
* 优先使用新版 plugin-sdk 的 getAllExtensions 方法
|
|
10
|
+
* 回退到旧版本的全局变量 __alauda_extensions
|
|
11
|
+
*/
|
|
12
|
+
function getExtensions() {
|
|
13
|
+
try {
|
|
14
|
+
// 尝试使用新版本的 getAllExtensions 方法
|
|
15
|
+
if (typeof getAllExtensions === 'function') {
|
|
16
|
+
return getAllExtensions();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
// getAllExtensions 不存在或调用失败时忽略错误
|
|
21
|
+
console.debug('getAllExtensions method not available or failed:', error);
|
|
22
|
+
}
|
|
23
|
+
// 回退到旧版本的全局变量
|
|
24
|
+
try {
|
|
25
|
+
const windowExtensions = window.__alauda_extensions;
|
|
26
|
+
if (Array.isArray(windowExtensions)) {
|
|
27
|
+
console.debug('Using fallback __alauda_extensions:', windowExtensions.length, 'extensions found');
|
|
28
|
+
return windowExtensions;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.debug('__alauda_extensions not available:', error);
|
|
33
|
+
}
|
|
34
|
+
// 两种方式都不可用时返回 null,功能将以降级模式运行
|
|
35
|
+
console.debug('No extension source available, running in fallback mode');
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 获取当前插件的i18n版本号
|
|
40
|
+
* 如果无法获取扩展信息,返回 undefined,translateScope 将使用基础作用域
|
|
41
|
+
*/
|
|
42
|
+
function getCurrentPluginI18nVersion() {
|
|
43
|
+
const extensions = getExtensions();
|
|
44
|
+
if (!extensions) {
|
|
45
|
+
console.debug('No extensions available, i18n will use base scope without version');
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
const currentExtension = extensions.find((ext) => ext.pluginName === RUNTIME.pluginName &&
|
|
49
|
+
ext.appName === RUNTIME.appName &&
|
|
50
|
+
ext.cluster === RUNTIME.cluster);
|
|
51
|
+
if (!currentExtension) {
|
|
52
|
+
console.debug('Current extension not found in extensions list, using base scope');
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
const version = currentExtension?.i18nVersion;
|
|
56
|
+
console.debug('Plugin i18n version:', version || 'not specified');
|
|
57
|
+
return version;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 获取i18n文件
|
|
61
|
+
*/
|
|
62
|
+
function fetchI18nFile(lang, scope) {
|
|
63
|
+
const path = isBuiltInLanguage(lang)
|
|
64
|
+
? RUNTIME.publicPath + 'assets/i18n/' + lang + '.json'
|
|
65
|
+
: `/console-i18n/${lang}/${scope}.json`;
|
|
66
|
+
return fetch(path)
|
|
67
|
+
.then(res => {
|
|
68
|
+
if (!res.ok) {
|
|
69
|
+
throw new Error(`HTTP ${res.status}: ${res.statusText}`);
|
|
70
|
+
}
|
|
71
|
+
return res.json();
|
|
72
|
+
})
|
|
73
|
+
.catch(err => {
|
|
74
|
+
console.error(`Failed to load i18n file for plugin ${RUNTIME.pluginName}~${RUNTIME.appName} and language ${lang}`);
|
|
75
|
+
console.error(err);
|
|
76
|
+
return null;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
6
79
|
export const getTranslateScope = (locale) => {
|
|
7
80
|
const cluster = isBuiltInLanguage(locale) ? RUNTIME.cluster : GLOBAL_CLUSTER;
|
|
8
81
|
return `plugin__${cluster}~${RUNTIME.pluginName}~${RUNTIME.appName}`;
|
|
@@ -10,51 +83,58 @@ export const getTranslateScope = (locale) => {
|
|
|
10
83
|
export class TranslateScopeService {
|
|
11
84
|
constructor() {
|
|
12
85
|
this.translate = inject(TranslateService);
|
|
13
|
-
this.
|
|
14
|
-
this.scope = translateScope(
|
|
15
|
-
|
|
86
|
+
this.notification = inject(NotificationService);
|
|
87
|
+
this.scope = translateScope({
|
|
88
|
+
...RUNTIME,
|
|
89
|
+
i18nVersion: getCurrentPluginI18nVersion(),
|
|
90
|
+
}, this.translate.locale);
|
|
91
|
+
const fallbackLangI18nLoaded = this.translate.translationsList.find(item => item?.[FALLBACK_LANGUAGE]?.[this.scope]);
|
|
92
|
+
if (!fallbackLangI18nLoaded) {
|
|
93
|
+
// 基座未预加载插件翻译文件时自行加载
|
|
16
94
|
this.setupI18nAssets();
|
|
17
95
|
}
|
|
96
|
+
else if (!isBuiltInLanguage(this.translate.locale)) {
|
|
97
|
+
this.checkTranslationAvailability();
|
|
98
|
+
}
|
|
18
99
|
}
|
|
19
100
|
getScopedKey(key) {
|
|
20
101
|
return translateScopeKey(this.scope, key);
|
|
21
102
|
}
|
|
103
|
+
checkTranslationAvailability() {
|
|
104
|
+
const currentLang = this.translate.locale;
|
|
105
|
+
const hasTranslation = this.translate.translationsList.find(item => item?.[currentLang]?.[this.scope]);
|
|
106
|
+
if (!hasTranslation) {
|
|
107
|
+
const fileName = `${this.scope}.json`;
|
|
108
|
+
this.notification.warning({
|
|
109
|
+
title: this.translate.get('translation_file_missing_warning'),
|
|
110
|
+
content: this.translate.get('plugin_missing_translation_file', {
|
|
111
|
+
pluginName: RUNTIME.pluginName,
|
|
112
|
+
appName: RUNTIME.appName,
|
|
113
|
+
lang: currentLang,
|
|
114
|
+
fileName,
|
|
115
|
+
}),
|
|
116
|
+
duration: 5000,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
22
120
|
async setupI18nAssets() {
|
|
23
121
|
const lang = this.translate.locale;
|
|
24
122
|
if (isBuiltInLanguage(lang)) {
|
|
25
123
|
this.translate.addTranslations({
|
|
26
|
-
[lang]: { [this.scope]: await this.
|
|
124
|
+
[lang]: { [this.scope]: await fetchI18nFile(lang, this.scope) },
|
|
27
125
|
});
|
|
28
126
|
}
|
|
29
127
|
else {
|
|
30
128
|
const [en, other] = await Promise.all([
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
129
|
+
fetchI18nFile(this.translate.options.fallbackLocale, this.scope),
|
|
130
|
+
fetchI18nFile(lang, this.scope),
|
|
33
131
|
]);
|
|
34
132
|
this.translate.addTranslations({
|
|
35
|
-
[
|
|
133
|
+
[FALLBACK_LANGUAGE]: { [this.scope]: en },
|
|
134
|
+
[lang]: { [this.scope]: other },
|
|
36
135
|
});
|
|
37
136
|
}
|
|
38
137
|
}
|
|
39
|
-
async loadTranslations(lang) {
|
|
40
|
-
if (this.loadedLang.has(lang)) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
this.loadedLang.add(lang);
|
|
44
|
-
return this.fetchI18nFile(lang);
|
|
45
|
-
}
|
|
46
|
-
fetchI18nFile(lang) {
|
|
47
|
-
const path = isBuiltInLanguage(lang)
|
|
48
|
-
? RUNTIME.publicPath + 'assets/i18n/' + lang + '.json'
|
|
49
|
-
: `/console-i18n/${lang}/plugin__${RUNTIME.pluginName}~${RUNTIME.appName}.json`;
|
|
50
|
-
return fetch(path)
|
|
51
|
-
.then(res => res.json())
|
|
52
|
-
.catch(err => {
|
|
53
|
-
console.error(`Failed to load i18n file for plugin ${RUNTIME.pluginName}~${RUNTIME.appName} and language ${lang}`);
|
|
54
|
-
console.error(err);
|
|
55
|
-
return {};
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
138
|
static { this.ɵfac = function TranslateScopeService_Factory(t) { return new (t || TranslateScopeService)(); }; }
|
|
59
139
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TranslateScopeService, factory: TranslateScopeService.ɵfac, providedIn: 'root' }); }
|
|
60
140
|
}
|
|
@@ -115,4 +195,4 @@ export class ScopedTranslateKeyPipe {
|
|
|
115
195
|
name: 'scopedTranslateKey',
|
|
116
196
|
}]
|
|
117
197
|
}], null, null); })();
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3JlbW90ZS9saWIvdHJhbnNsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUJBQWlCLEVBRWpCLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ2xELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDN0UsT0FBTyxXQUFXLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUN2RSxDQUFDLENBQUM7QUFLRixNQUFNLE9BQU8scUJBQXFCO0lBTWhDO1FBTFEsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBRTlCLFVBQUssR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFHOUQsSUFDRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FB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IjpbImltcG9ydCB7XG4gIEdMT0JBTF9DTFVTVEVSLFxuICBpc0J1aWx0SW5MYW5ndWFnZSxcbiAgVHJhbnNsYXRlS2V5LFxuICBUcmFuc2xhdGVQaXBlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxufSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUlVOVElNRSB9IGZyb20gJy4vcnVudGltZSc7XG5cbmltcG9ydCB7IHRyYW5zbGF0ZVNjb3BlLCB0cmFuc2xhdGVTY29wZUtleSB9IGZyb20gJ0BhbGF1ZGEtZmUvcGx1Z2luLXNkayc7XG5cbmV4cG9ydCBjb25zdCBnZXRUcmFuc2xhdGVTY29wZSA9IChsb2NhbGU6IHN0cmluZykgPT4ge1xuICBjb25zdCBjbHVzdGVyID0gaXNCdWlsdEluTGFuZ3VhZ2UobG9jYWxlKSA/IFJVTlRJTUUuY2x1c3RlciA6IEdMT0JBTF9DTFVTVEVSO1xuICByZXR1cm4gYHBsdWdpbl9fJHtjbHVzdGVyfX4ke1JVTlRJTUUucGx1Z2luTmFtZX1+JHtSVU5USU1FLmFwcE5hbWV9YDtcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTY29wZVNlcnZpY2Uge1xuICBwcml2YXRlIHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBsb2FkZWRMYW5nID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgcmVhZG9ubHkgc2NvcGUgPSB0cmFuc2xhdGVTY29wZShSVU5USU1FLCB0aGlzLnRyYW5zbGF0ZS5sb2NhbGUpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGlvbnNMaXN0LmZpbmQoXG4gICAgICAgIGl0ZW0gPT4gaXRlbT8uW3RoaXMudHJhbnNsYXRlLmxvY2FsZV0/Llt0aGlzLnNjb3BlXSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0dXBJMThuQXNzZXRzKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2NvcGVkS2V5KGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZVNjb3BlS2V5KHRoaXMuc2NvcGUsIGtleSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldHVwSTE4bkFzc2V0cygpIHtcbiAgICBjb25zdCBsYW5nID0gdGhpcy50cmFuc2xhdGUubG9jYWxlO1xuICAgIGlmIChpc0J1aWx0SW5MYW5ndWFnZShsYW5nKSkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuYWRkVHJhbnNsYXRpb25zKHtcbiAgICAgICAgW2xhbmddOiB7IFt0aGlzLnNjb3BlXTogYXdhaXQgdGhpcy5sb2FkVHJhbnNsYXRpb25zKGxhbmcpIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgW2VuLCBvdGhlcl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9ucygnZW4nKSxcbiAgICAgICAgdGhpcy5sb2FkVHJhbnNsYXRpb25zKGxhbmcpLFxuICAgICAgXSk7XG5cbiAgICAgIHRoaXMudHJhbnNsYXRlLmFkZFRyYW5zbGF0aW9ucyh7XG4gICAgICAgIFtsYW5nXTogeyBbdGhpcy5zY29wZV06IE9iamVjdC5hc3NpZ24oZW4sIG90aGVyKSB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmxvYWRlZExhbmcuaGFzKGxhbmcpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkZWRMYW5nLmFkZChsYW5nKTtcblxuICAgIHJldHVybiB0aGlzLmZldGNoSTE4bkZpbGUobGFuZyk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoSTE4bkZpbGUobGFuZzogc3RyaW5nKSB7XG4gICAgY29uc3QgcGF0aCA9IGlzQnVpbHRJbkxhbmd1YWdlKGxhbmcpXG4gICAgICA/IFJVTlRJTUUucHVibGljUGF0aCArICdhc3NldHMvaTE4bi8nICsgbGFuZyArICcuanNvbidcbiAgICAgIDogYC9jb25zb2xlLWkxOG4vJHtsYW5nfS9wbHVnaW5fXyR7UlVOVElNRS5wbHVnaW5OYW1lfX4ke1JVTlRJTUUuYXBwTmFtZX0uanNvbmA7XG4gICAgcmV0dXJuIGZldGNoKHBhdGgpXG4gICAgICAudGhlbihyZXMgPT4gcmVzLmpzb24oKSlcbiAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIGBGYWlsZWQgdG8gbG9hZCBpMThuIGZpbGUgZm9yIHBsdWdpbiAke1JVTlRJTUUucGx1Z2luTmFtZX1+JHtSVU5USU1FLmFwcE5hbWV9IGFuZCBsYW5ndWFnZSAke2xhbmd9YCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9KTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNjb3BlZFRyYW5zbGF0ZVNlcnZpY2Uge1xuICBwcml2YXRlIHNjb3BlID0gaW5qZWN0KFRyYW5zbGF0ZVNjb3BlU2VydmljZSk7XG4gIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIGdldChrZXk6IHN0cmluZywgZGF0YT86IHVua25vd24pIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KHRoaXMuc2NvcGUuZ2V0U2NvcGVkS2V5KGtleSksIGRhdGEpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgbmFtZTogJ3Njb3BlZFRyYW5zbGF0ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTY29wZWRUcmFuc2xhdGVQaXBlXG4gIGV4dGVuZHMgVHJhbnNsYXRlUGlwZVxuICBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm1cbntcbiAgcHJpdmF0ZSBzY29wZSA9IGluamVjdChUcmFuc2xhdGVTY29wZVNlcnZpY2UpO1xuXG4gIG92ZXJyaWRlIHRyYW5zZm9ybShrZXk6IFRyYW5zbGF0ZUtleSB8IGFueSwgZGF0YT86IHVua25vd24pOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0odGhpcy5zY29wZS5nZXRTY29wZWRLZXkoa2V5KSwgZGF0YSk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnc2NvcGVkVHJhbnNsYXRlS2V5Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NvcGVkVHJhbnNsYXRlS2V5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIHNjb3BlID0gaW5qZWN0KFRyYW5zbGF0ZVNjb3BlU2VydmljZSk7XG5cbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zY29wZS5nZXRTY29wZWRLZXkoa2V5KTtcbiAgfVxufVxuIl19
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3JlbW90ZS9saWIvdHJhbnNsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxpQkFBaUIsRUFFakIsYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQ0wsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFL0I7Ozs7R0FJRztBQUNILFNBQVMsYUFBYTtJQUNwQixJQUFJLENBQUM7UUFDSCwrQkFBK0I7UUFDL0IsSUFBSSxPQUFPLGdCQUFnQixLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixpQ0FBaUM7UUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyxrREFBa0QsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsY0FBYztJQUNkLElBQUksQ0FBQztRQUNILE1BQU0sZ0JBQWdCLEdBQUksTUFBYyxDQUFDLG1CQUFtQixDQUFDO1FBQzdELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FDWCxxQ0FBcUMsRUFDckMsZ0JBQWdCLENBQUMsTUFBTSxFQUN2QixrQkFBa0IsQ0FDbkIsQ0FBQztZQUNGLE9BQU8sZ0JBQWdCLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztJQUN6RSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLDJCQUEyQjtJQUNsQyxNQUFNLFVBQVUsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNuQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FDWCxtRUFBbUUsQ0FDcEUsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQ3RDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FDWCxHQUFHLENBQUMsVUFBVSxLQUFLLE9BQU8sQ0FBQyxVQUFVO1FBQ3JDLEdBQUcsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLE9BQU87UUFDL0IsR0FBRyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsT0FBTyxDQUNsQyxDQUFDO0lBRUYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsT0FBTyxDQUFDLEtBQUssQ0FDWCxrRUFBa0UsQ0FDbkUsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsRUFBRSxXQUFXLENBQUM7SUFDOUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLElBQUksZUFBZSxDQUFDLENBQUM7SUFDbEUsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxhQUFhLENBQUMsSUFBWSxFQUFFLEtBQWE7SUFDaEQsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLGNBQWMsR0FBRyxJQUFJLEdBQUcsT0FBTztRQUN0RCxDQUFDLENBQUMsaUJBQWlCLElBQUksSUFBSSxLQUFLLE9BQU8sQ0FBQztJQUUxQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDZixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztTQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNYLE9BQU8sQ0FBQyxLQUFLLENBQ1gsdUNBQXVDLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLE9BQU8saUJBQWlCLElBQUksRUFBRSxDQUNwRyxDQUFDO1FBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDbEQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUM3RSxPQUFPLFdBQVcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3ZFLENBQUMsQ0FBQztBQUtGLE1BQU0sT0FBTyxxQkFBcUI7SUFZaEM7UUFYUSxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckMsaUJBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUUxQyxVQUFLLEdBQUcsY0FBYyxDQUM3QjtZQUNFLEdBQUcsT0FBTztZQUNWLFdBQVcsRUFBRSwyQkFBMkIsRUFBRTtTQUMzQyxFQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUN0QixDQUFDO1FBR0EsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUNoRCxDQUFDO1FBRUYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDNUIsb0JBQW9CO1lBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFXO1FBQ3RCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBRTFDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN6RCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUMxQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDO1lBRXRDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO2dCQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUM7Z0JBQzdELE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsRUFBRTtvQkFDN0QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO29CQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ3hCLElBQUksRUFBRSxXQUFXO29CQUNqQixRQUFRO2lCQUNULENBQUM7Z0JBQ0YsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxlQUFlO1FBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztnQkFDN0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7YUFDaEUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDcEMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNoRSxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDaEMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7Z0JBQzdCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDekMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRTthQUNoQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztzRkFyRVUscUJBQXFCO3VFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCLG1CQUZwQixNQUFNOztpRkFFUCxxQkFBcUI7Y0FIakMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztBQTBFRCxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRVUsVUFBSyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RDLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUs5QztJQUhDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBYztRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7dUZBTlUsc0JBQXNCO3VFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCLG1CQURULE1BQU07O2lGQUNuQixzQkFBc0I7Y0FEbEMsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFlbEMsTUFBTSxPQUFPLG1CQUNYLFNBQVEsYUFBYTtJQU52Qjs7UUFTVSxVQUFLLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7S0FLL0M7SUFIVSxTQUFTLENBQUMsR0FBdUIsRUFBRSxJQUFjO1FBQ3hELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO2dQQVJVLG1CQUFtQixTQUFuQixtQkFBbUI7eUZBQW5CLG1CQUFtQjs7aUZBQW5CLG1CQUFtQjtjQUwvQixJQUFJO2VBQUM7Z0JBQ0osVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSxLQUFLO2FBQ1o7O0FBZ0JELE1BQU0sT0FBTyxzQkFBc0I7SUFKbkM7UUFLVSxVQUFLLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7S0FLL0M7SUFIQyxTQUFTLENBQUMsR0FBVztRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7dUZBTFUsc0JBQXNCOzRGQUF0QixzQkFBc0I7O2lGQUF0QixzQkFBc0I7Y0FKbEMsSUFBSTtlQUFDO2dCQUNKLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgRkFMTEJBQ0tfTEFOR1VBR0UsXG4gIEdMT0JBTF9DTFVTVEVSLFxuICBpc0J1aWx0SW5MYW5ndWFnZSxcbiAgVHJhbnNsYXRlS2V5LFxuICBUcmFuc2xhdGVQaXBlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxufSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUlVOVElNRSB9IGZyb20gJy4vcnVudGltZSc7XG5cbmltcG9ydCB7XG4gIHRyYW5zbGF0ZVNjb3BlLFxuICB0cmFuc2xhdGVTY29wZUtleSxcbiAgZ2V0QWxsRXh0ZW5zaW9ucyxcbn0gZnJvbSAnQGFsYXVkYS1mZS9wbHVnaW4tc2RrJztcblxuLyoqXG4gKiDojrflj5bmianlsZXliJfooajvvIzmlK/mjIHmlrDml6fniYjmnKzlhbzlrrnvvIhBQ1AgPD0gdjQuMe+8iVxuICog5LyY5YWI5L2/55So5paw54mIIHBsdWdpbi1zZGsg55qEIGdldEFsbEV4dGVuc2lvbnMg5pa55rOVXG4gKiDlm57pgIDliLDml6fniYjmnKznmoTlhajlsYDlj5jph48gX19hbGF1ZGFfZXh0ZW5zaW9uc1xuICovXG5mdW5jdGlvbiBnZXRFeHRlbnNpb25zKCk6IGFueVtdIHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgLy8g5bCd6K+V5L2/55So5paw54mI5pys55qEIGdldEFsbEV4dGVuc2lvbnMg5pa55rOVXG4gICAgaWYgKHR5cGVvZiBnZXRBbGxFeHRlbnNpb25zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gZ2V0QWxsRXh0ZW5zaW9ucygpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBnZXRBbGxFeHRlbnNpb25zIOS4jeWtmOWcqOaIluiwg+eUqOWksei0peaXtuW/veeVpemUmeivr1xuICAgIGNvbnNvbGUuZGVidWcoJ2dldEFsbEV4dGVuc2lvbnMgbWV0aG9kIG5vdCBhdmFpbGFibGUgb3IgZmFpbGVkOicsIGVycm9yKTtcbiAgfVxuXG4gIC8vIOWbnumAgOWIsOaXp+eJiOacrOeahOWFqOWxgOWPmOmHj1xuICB0cnkge1xuICAgIGNvbnN0IHdpbmRvd0V4dGVuc2lvbnMgPSAod2luZG93IGFzIGFueSkuX19hbGF1ZGFfZXh0ZW5zaW9ucztcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh3aW5kb3dFeHRlbnNpb25zKSkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgICAgJ1VzaW5nIGZhbGxiYWNrIF9fYWxhdWRhX2V4dGVuc2lvbnM6JyxcbiAgICAgICAgd2luZG93RXh0ZW5zaW9ucy5sZW5ndGgsXG4gICAgICAgICdleHRlbnNpb25zIGZvdW5kJyxcbiAgICAgICk7XG4gICAgICByZXR1cm4gd2luZG93RXh0ZW5zaW9ucztcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnX19hbGF1ZGFfZXh0ZW5zaW9ucyBub3QgYXZhaWxhYmxlOicsIGVycm9yKTtcbiAgfVxuXG4gIC8vIOS4pOenjeaWueW8j+mDveS4jeWPr+eUqOaXtui/lOWbniBudWxs77yM5Yqf6IO95bCG5Lul6ZmN57qn5qih5byP6L+Q6KGMXG4gIGNvbnNvbGUuZGVidWcoJ05vIGV4dGVuc2lvbiBzb3VyY2UgYXZhaWxhYmxlLCBydW5uaW5nIGluIGZhbGxiYWNrIG1vZGUnKTtcbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICog6I635Y+W5b2T5YmN5o+S5Lu255qEaTE4bueJiOacrOWPt1xuICog5aaC5p6c5peg5rOV6I635Y+W5omp5bGV5L+h5oGv77yM6L+U5ZueIHVuZGVmaW5lZO+8jHRyYW5zbGF0ZVNjb3BlIOWwhuS9v+eUqOWfuuehgOS9nOeUqOWfn1xuICovXG5mdW5jdGlvbiBnZXRDdXJyZW50UGx1Z2luSTE4blZlcnNpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZXh0ZW5zaW9ucyA9IGdldEV4dGVuc2lvbnMoKTtcbiAgaWYgKCFleHRlbnNpb25zKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgICdObyBleHRlbnNpb25zIGF2YWlsYWJsZSwgaTE4biB3aWxsIHVzZSBiYXNlIHNjb3BlIHdpdGhvdXQgdmVyc2lvbicsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgY3VycmVudEV4dGVuc2lvbiA9IGV4dGVuc2lvbnMuZmluZChcbiAgICAoZXh0OiBhbnkpID0+XG4gICAgICBleHQucGx1Z2luTmFtZSA9PT0gUlVOVElNRS5wbHVnaW5OYW1lICYmXG4gICAgICBleHQuYXBwTmFtZSA9PT0gUlVOVElNRS5hcHBOYW1lICYmXG4gICAgICBleHQuY2x1c3RlciA9PT0gUlVOVElNRS5jbHVzdGVyLFxuICApO1xuXG4gIGlmICghY3VycmVudEV4dGVuc2lvbikge1xuICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICAnQ3VycmVudCBleHRlbnNpb24gbm90IGZvdW5kIGluIGV4dGVuc2lvbnMgbGlzdCwgdXNpbmcgYmFzZSBzY29wZScsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvbiA9IGN1cnJlbnRFeHRlbnNpb24/LmkxOG5WZXJzaW9uO1xuICBjb25zb2xlLmRlYnVnKCdQbHVnaW4gaTE4biB2ZXJzaW9uOicsIHZlcnNpb24gfHwgJ25vdCBzcGVjaWZpZWQnKTtcbiAgcmV0dXJuIHZlcnNpb247XG59XG5cbi8qKlxuICog6I635Y+WaTE4buaWh+S7tlxuICovXG5mdW5jdGlvbiBmZXRjaEkxOG5GaWxlKGxhbmc6IHN0cmluZywgc2NvcGU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gIGNvbnN0IHBhdGggPSBpc0J1aWx0SW5MYW5ndWFnZShsYW5nKVxuICAgID8gUlVOVElNRS5wdWJsaWNQYXRoICsgJ2Fzc2V0cy9pMThuLycgKyBsYW5nICsgJy5qc29uJ1xuICAgIDogYC9jb25zb2xlLWkxOG4vJHtsYW5nfS8ke3Njb3BlfS5qc29uYDtcblxuICByZXR1cm4gZmV0Y2gocGF0aClcbiAgICAudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7cmVzLnN0YXR1c306ICR7cmVzLnN0YXR1c1RleHR9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgICB9KVxuICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYEZhaWxlZCB0byBsb2FkIGkxOG4gZmlsZSBmb3IgcGx1Z2luICR7UlVOVElNRS5wbHVnaW5OYW1lfX4ke1JVTlRJTUUuYXBwTmFtZX0gYW5kIGxhbmd1YWdlICR7bGFuZ31gLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNsYXRlU2NvcGUgPSAobG9jYWxlOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgY2x1c3RlciA9IGlzQnVpbHRJbkxhbmd1YWdlKGxvY2FsZSkgPyBSVU5USU1FLmNsdXN0ZXIgOiBHTE9CQUxfQ0xVU1RFUjtcbiAgcmV0dXJuIGBwbHVnaW5fXyR7Y2x1c3Rlcn1+JHtSVU5USU1FLnBsdWdpbk5hbWV9fiR7UlVOVElNRS5hcHBOYW1lfWA7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2NvcGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgbm90aWZpY2F0aW9uID0gaW5qZWN0KE5vdGlmaWNhdGlvblNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IHNjb3BlID0gdHJhbnNsYXRlU2NvcGUoXG4gICAge1xuICAgICAgLi4uUlVOVElNRSxcbiAgICAgIGkxOG5WZXJzaW9uOiBnZXRDdXJyZW50UGx1Z2luSTE4blZlcnNpb24oKSxcbiAgICB9LFxuICAgIHRoaXMudHJhbnNsYXRlLmxvY2FsZSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBmYWxsYmFja0xhbmdJMThuTG9hZGVkID0gdGhpcy50cmFuc2xhdGUudHJhbnNsYXRpb25zTGlzdC5maW5kKFxuICAgICAgaXRlbSA9PiBpdGVtPy5bRkFMTEJBQ0tfTEFOR1VBR0VdPy5bdGhpcy5zY29wZV0sXG4gICAgKTtcblxuICAgIGlmICghZmFsbGJhY2tMYW5nSTE4bkxvYWRlZCkge1xuICAgICAgLy8g5Z+65bqn5pyq6aKE5Yqg6L295o+S5Lu257+76K+R5paH5Lu25pe26Ieq6KGM5Yqg6L29XG4gICAgICB0aGlzLnNldHVwSTE4bkFzc2V0cygpO1xuICAgIH0gZWxzZSBpZiAoIWlzQnVpbHRJbkxhbmd1YWdlKHRoaXMudHJhbnNsYXRlLmxvY2FsZSkpIHtcbiAgICAgIHRoaXMuY2hlY2tUcmFuc2xhdGlvbkF2YWlsYWJpbGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNjb3BlZEtleShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0cmFuc2xhdGVTY29wZUtleSh0aGlzLnNjb3BlLCBrZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1RyYW5zbGF0aW9uQXZhaWxhYmlsaXR5KCkge1xuICAgIGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xhdGUubG9jYWxlO1xuXG4gICAgY29uc3QgaGFzVHJhbnNsYXRpb24gPSB0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGlvbnNMaXN0LmZpbmQoXG4gICAgICBpdGVtID0+IGl0ZW0/LltjdXJyZW50TGFuZ10/Llt0aGlzLnNjb3BlXSxcbiAgICApO1xuXG4gICAgaWYgKCFoYXNUcmFuc2xhdGlvbikge1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHt0aGlzLnNjb3BlfS5qc29uYDtcblxuICAgICAgdGhpcy5ub3RpZmljYXRpb24ud2FybmluZyh7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3RyYW5zbGF0aW9uX2ZpbGVfbWlzc2luZ193YXJuaW5nJyksXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMudHJhbnNsYXRlLmdldCgncGx1Z2luX21pc3NpbmdfdHJhbnNsYXRpb25fZmlsZScsIHtcbiAgICAgICAgICBwbHVnaW5OYW1lOiBSVU5USU1FLnBsdWdpbk5hbWUsXG4gICAgICAgICAgYXBwTmFtZTogUlVOVElNRS5hcHBOYW1lLFxuICAgICAgICAgIGxhbmc6IGN1cnJlbnRMYW5nLFxuICAgICAgICAgIGZpbGVOYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAgZHVyYXRpb246IDUwMDAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldHVwSTE4bkFzc2V0cygpIHtcbiAgICBjb25zdCBsYW5nID0gdGhpcy50cmFuc2xhdGUubG9jYWxlO1xuICAgIGlmIChpc0J1aWx0SW5MYW5ndWFnZShsYW5nKSkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuYWRkVHJhbnNsYXRpb25zKHtcbiAgICAgICAgW2xhbmddOiB7IFt0aGlzLnNjb3BlXTogYXdhaXQgZmV0Y2hJMThuRmlsZShsYW5nLCB0aGlzLnNjb3BlKSB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFtlbiwgb3RoZXJdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICBmZXRjaEkxOG5GaWxlKHRoaXMudHJhbnNsYXRlLm9wdGlvbnMuZmFsbGJhY2tMb2NhbGUsIHRoaXMuc2NvcGUpLFxuICAgICAgICBmZXRjaEkxOG5GaWxlKGxhbmcsIHRoaXMuc2NvcGUpLFxuICAgICAgXSk7XG5cbiAgICAgIHRoaXMudHJhbnNsYXRlLmFkZFRyYW5zbGF0aW9ucyh7XG4gICAgICAgIFtGQUxMQkFDS19MQU5HVUFHRV06IHsgW3RoaXMuc2NvcGVdOiBlbiB9LFxuICAgICAgICBbbGFuZ106IHsgW3RoaXMuc2NvcGVdOiBvdGhlciB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2NvcGVkVHJhbnNsYXRlU2VydmljZSB7XG4gIHByaXZhdGUgc2NvcGUgPSBpbmplY3QoVHJhbnNsYXRlU2NvcGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgZ2V0KGtleTogc3RyaW5nLCBkYXRhPzogdW5rbm93bikge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQodGhpcy5zY29wZS5nZXRTY29wZWRLZXkoa2V5KSwgZGF0YSk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnc2NvcGVkVHJhbnNsYXRlJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNjb3BlZFRyYW5zbGF0ZVBpcGVcbiAgZXh0ZW5kcyBUcmFuc2xhdGVQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwcml2YXRlIHNjb3BlID0gaW5qZWN0KFRyYW5zbGF0ZVNjb3BlU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgdHJhbnNmb3JtKGtleTogVHJhbnNsYXRlS2V5IHwgYW55LCBkYXRhPzogdW5rbm93bik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybSh0aGlzLnNjb3BlLmdldFNjb3BlZEtleShrZXkpLCBkYXRhKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIG5hbWU6ICdzY29wZWRUcmFuc2xhdGVLZXknLFxufSlcbmV4cG9ydCBjbGFzcyBTY29wZWRUcmFuc2xhdGVLZXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgc2NvcGUgPSBpbmplY3QoVHJhbnNsYXRlU2NvcGVTZXJ2aWNlKTtcblxuICB0cmFuc2Zvcm0oa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNjb3BlLmdldFNjb3BlZEtleShrZXkpO1xuICB9XG59XG4iXX0=
|
package/lib/app-extensions.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Translations } from '@alauda-fe/common';
|
|
2
2
|
import { Extension } from './extensions-loader';
|
|
3
|
+
export declare function getAllExtensions(): Extension[];
|
|
3
4
|
export declare function getAppExtensions<T = any>(type: string | string[], cluster?: string): Array<Extension<T>>;
|
|
4
5
|
export declare function getAppExtensionTranslations(): Translations[];
|
|
5
6
|
export declare function setupAppExtensions(host: string, hostVersion?: string): Promise<Extension<any>[]>;
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { Extension } from './extensions-loader';
|
|
2
|
-
/**
|
|
3
|
-
* @deprecated Use isLocalDev from @alauda-fe/common instead
|
|
4
|
-
*/
|
|
5
2
|
export declare function isLocalEnv(): boolean;
|
|
6
3
|
export declare function isStaticPluginPath(publicPath: string): boolean;
|
|
7
4
|
export declare const LOCAL_DEV_EXTENSION_INFO: {
|
|
@@ -18,9 +15,10 @@ export declare const STATIC_EXTENSION_INFO: {
|
|
|
18
15
|
export declare function getBootMode(): 'standard' | 'safe';
|
|
19
16
|
export declare function loadRemote(remote: string, module: string): Promise<any>;
|
|
20
17
|
export declare function filterLatestVersion<O = any>(identity: (ext: O) => unknown): (exts: Array<Extension<O>>) => Array<Extension<O>>;
|
|
21
|
-
export declare const translateScope: (
|
|
18
|
+
export declare const translateScope: (extension: {
|
|
22
19
|
cluster: string;
|
|
23
20
|
pluginName: string;
|
|
24
21
|
appName: string;
|
|
22
|
+
i18nVersion?: string;
|
|
25
23
|
}, locale: string) => string;
|
|
26
24
|
export declare const translateScopeKey: (scope: string, key: string) => string;
|
package/package.json
CHANGED
|
@@ -4,13 +4,12 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare const getTranslateScope: (locale: string) => string;
|
|
5
5
|
export declare class TranslateScopeService {
|
|
6
6
|
private translate;
|
|
7
|
-
private
|
|
7
|
+
private notification;
|
|
8
8
|
readonly scope: string;
|
|
9
9
|
constructor();
|
|
10
10
|
getScopedKey(key: string): string;
|
|
11
|
+
private checkTranslationAvailability;
|
|
11
12
|
private setupI18nAssets;
|
|
12
|
-
private loadTranslations;
|
|
13
|
-
private fetchI18nFile;
|
|
14
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<TranslateScopeService, never>;
|
|
15
14
|
static ɵprov: i0.ɵɵInjectableDeclaration<TranslateScopeService>;
|
|
16
15
|
}
|