@worktile/planet 17.0.0-next.0 → 17.0.0-next.2
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 +24 -0
- package/README.md +62 -37
- package/application/ng-planet-application-ref.d.ts.map +1 -1
- package/assets-loader.d.ts +2 -3
- package/assets-loader.d.ts.map +1 -1
- package/esm2022/application/ng-planet-application-ref.mjs +4 -2
- package/esm2022/assets-loader.mjs +42 -8
- package/esm2022/helpers.mjs +83 -17
- package/esm2022/planet.class.mjs +1 -1
- package/fesm2022/worktile-planet.mjs +125 -23
- package/fesm2022/worktile-planet.mjs.map +1 -1
- package/helpers.d.ts +5 -2
- package/helpers.d.ts.map +1 -1
- package/package.json +1 -1
- package/planet.class.d.ts +84 -4
- package/planet.class.d.ts.map +1 -1
package/esm2022/helpers.mjs
CHANGED
|
@@ -51,8 +51,8 @@ export function isFunction(value) {
|
|
|
51
51
|
const type = typeof value;
|
|
52
52
|
return !!value && type === 'function';
|
|
53
53
|
}
|
|
54
|
-
export function isObject(
|
|
55
|
-
return
|
|
54
|
+
export function isObject(value) {
|
|
55
|
+
return value && typeof value === 'object';
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
58
|
* Get file name from path
|
|
@@ -69,6 +69,15 @@ export function getResourceFileName(path) {
|
|
|
69
69
|
return path;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
+
export function getExtName(name) {
|
|
73
|
+
const lastDotIndex = name.lastIndexOf('.');
|
|
74
|
+
if (lastDotIndex >= 0) {
|
|
75
|
+
return name.slice(lastDotIndex + 1);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return '';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
72
81
|
/**
|
|
73
82
|
* Build resource path by manifest
|
|
74
83
|
* if manifest is { "main.js": "main.h2sh23abee.js"}
|
|
@@ -86,34 +95,91 @@ export function buildResourceFilePath(resourceFilePath, manifestResult) {
|
|
|
86
95
|
return resourceFilePath;
|
|
87
96
|
}
|
|
88
97
|
}
|
|
98
|
+
export function buildFullPath(path, basePath) {
|
|
99
|
+
if (basePath) {
|
|
100
|
+
if (path.startsWith(basePath)) {
|
|
101
|
+
return path;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return `${basePath}${path}`;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return path;
|
|
108
|
+
}
|
|
109
|
+
function getDefinedAssets(app) {
|
|
110
|
+
if (app.entry) {
|
|
111
|
+
return {
|
|
112
|
+
scripts: isObject(app.entry) ? app.entry.scripts : undefined,
|
|
113
|
+
styles: isObject(app.entry) ? app.entry.styles : undefined
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
scripts: app.scripts,
|
|
118
|
+
styles: app.styles
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export function getAssetsBasePath(app) {
|
|
122
|
+
let basePath;
|
|
123
|
+
if (app.entry) {
|
|
124
|
+
if (isObject(app.entry)) {
|
|
125
|
+
basePath = app.entry.basePath;
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
const lastDotIndex = app.entry.lastIndexOf('/');
|
|
129
|
+
basePath = lastDotIndex > 0 ? app.entry.slice(0, lastDotIndex + 1) : undefined;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return basePath || app.resourcePathPrefix;
|
|
133
|
+
}
|
|
89
134
|
/**
|
|
90
135
|
* Get static resource full path
|
|
91
136
|
* @param app PlanetApplication
|
|
92
137
|
* @param manifestResult manifest
|
|
93
138
|
*/
|
|
94
|
-
export function getScriptsAndStylesFullPaths(app, manifestResult) {
|
|
95
|
-
let scripts = app
|
|
96
|
-
let styles = app.styles || [];
|
|
139
|
+
export function getScriptsAndStylesFullPaths(app, basePath, manifestResult) {
|
|
140
|
+
let { scripts, styles } = getDefinedAssets(app);
|
|
97
141
|
// combine resource path by manifest
|
|
98
142
|
if (manifestResult) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
143
|
+
if (scripts) {
|
|
144
|
+
scripts = scripts.map(script => {
|
|
145
|
+
return buildResourceFilePath(script, manifestResult);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
scripts = Object.keys(manifestResult)
|
|
150
|
+
.filter(key => {
|
|
151
|
+
return getExtName(key) === 'js';
|
|
152
|
+
})
|
|
153
|
+
.map(key => {
|
|
154
|
+
return manifestResult[key];
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
if (styles) {
|
|
158
|
+
styles = styles.map(style => {
|
|
159
|
+
return buildResourceFilePath(style, manifestResult);
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
styles = Object.keys(manifestResult)
|
|
164
|
+
.filter(key => {
|
|
165
|
+
return getExtName(key) === 'css';
|
|
166
|
+
})
|
|
167
|
+
.map(key => {
|
|
168
|
+
return manifestResult[key];
|
|
169
|
+
});
|
|
170
|
+
}
|
|
105
171
|
}
|
|
106
|
-
if (
|
|
172
|
+
if (basePath) {
|
|
107
173
|
scripts = scripts.map(script => {
|
|
108
|
-
return
|
|
174
|
+
return buildFullPath(script, basePath);
|
|
109
175
|
});
|
|
110
176
|
styles = styles.map(style => {
|
|
111
|
-
return
|
|
177
|
+
return buildFullPath(style, basePath);
|
|
112
178
|
});
|
|
113
179
|
}
|
|
114
180
|
return {
|
|
115
|
-
scripts: scripts,
|
|
116
|
-
styles: styles
|
|
181
|
+
scripts: scripts || [],
|
|
182
|
+
styles: styles || []
|
|
117
183
|
};
|
|
118
184
|
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDaEMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLEdBQUcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7SUFDMUMsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQThCO0lBQ3pELElBQUksUUFBUSxZQUFZLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWdCO0lBQ2pELE1BQU0sT0FBTyxHQUFHLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxRQUFnQjtJQUNwRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDWixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNyRixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLGlCQUFpQixFQUFFLENBQUM7UUFDcEQsT0FBTyxPQUFzQixDQUFDO0lBQ2xDLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksS0FBYztJQUN6QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFVO0lBQzlCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFVO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLE9BQU8sS0FBSyxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVE7SUFDN0IsT0FBTyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDO0FBQzFDLENBQUM7QUFDRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFZO0lBQzVDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsSUFBSSxjQUFjLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxnQkFBd0IsRUFBRSxjQUF5QztJQUNyRyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZELElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsR0FBc0IsRUFBRSxjQUEwQztJQUMzRyxJQUFJLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUM5QixvQ0FBb0M7SUFDcEMsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNqQixPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQixPQUFPLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8scUJBQXFCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sR0FBRyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTztRQUNILE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE1BQU0sRUFBRSxNQUFNO0tBQ2pCLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb24gfSBmcm9tICcuL3BsYW5ldC5jbGFzcyc7XG5cbmNvbnN0IEVMRU1FTlRfTk9ERV9UWVBFID0gMTtcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc2hDb2RlKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgaGFzaCA9IDA7XG4gICAgbGV0IGNocjogbnVtYmVyO1xuICAgIGlmIChzdHIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBoYXNoO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICBjaHIgPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgICAgICAgaGFzaCA9IChoYXNoIDw8IDUpIC0gaGFzaCArIGNocjtcbiAgICAgICAgaGFzaCB8PSAwOyAvLyBDb252ZXJ0IHRvIDMyYml0IGludGVnZXJcbiAgICB9XG4gICAgcmV0dXJuIGhhc2g7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIVE1MRWxlbWVudChzZWxlY3Rvcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGlmIChzZWxlY3RvciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBzZWxlY3RvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGFnTmFtZUJ5VGVtcGxhdGUodGVtcGxhdGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnRCeVRlbXBsYXRlKHRlbXBsYXRlKTtcbiAgICByZXR1cm4gZWxlbWVudCA/IGVsZW1lbnQubm9kZU5hbWUgOiAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRCeVRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQodGVtcGxhdGUpLmZpcnN0Q2hpbGQ7XG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFX1RZUEUpIHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHRlbXBsYXRlICcke3RlbXBsYXRlfSdgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2VyY2VBcnJheTxUPih2YWx1ZTogVCB8IFRbXSk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmN0aW9uIHtcbiAgICBjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgIHJldHVybiAhIXZhbHVlICYmIHR5cGUgPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdCh2YWw6IGFueSkge1xuICAgIHJldHVybiB2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCc7XG59XG4vKipcbiAqIEdldCBmaWxlIG5hbWUgZnJvbSBwYXRoXG4gKiAxLiBcIm1haW4uanNcIiA9PiBcIm1haW4uanNcIlxuICogMi4gXCJhc3NldHMvc2NyaXB0cy9tYWluLmpzXCIgPT4gXCJtYWluLmpzXCJcbiAqIEBwYXJhbSBwYXRoIHBhdGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlRmlsZU5hbWUocGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgbGFzdFNsYXNoSW5kZXggPSBwYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gICAgaWYgKGxhc3RTbGFzaEluZGV4ID49IDApIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc2xpY2UobGFzdFNsYXNoSW5kZXggKyAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG59XG5cbi8qKlxuICogQnVpbGQgcmVzb3VyY2UgcGF0aCBieSBtYW5pZmVzdFxuICogaWYgbWFuaWZlc3QgaXMgeyBcIm1haW4uanNcIjogXCJtYWluLmgyc2gyM2FiZWUuanNcIn1cbiAqIDEuIFwibWFpbi5qc1wiID0+IFwibWFpbi5oMnNoMjNhYmVlLmpzXCJcbiAqIDIuIFwiYXNzZXRzL3NjcmlwdHMvbWFpbi5qc1wiID0+XCJhc3NldHMvc2NyaXB0cy9tYWluLmgyc2gyM2FiZWUuanNcIlxuICogQHBhcmFtIHJlc291cmNlRmlsZVBhdGggUmVzb3VyY2UgRmlsZSBQYXRoXG4gKiBAcGFyYW0gbWFuaWZlc3RSZXN1bHQgbWFuaWZlc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChyZXNvdXJjZUZpbGVQYXRoOiBzdHJpbmcsIG1hbmlmZXN0UmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgY29uc3QgZmlsZU5hbWUgPSBnZXRSZXNvdXJjZUZpbGVOYW1lKHJlc291cmNlRmlsZVBhdGgpO1xuICAgIGlmIChtYW5pZmVzdFJlc3VsdFtmaWxlTmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHJlc291cmNlRmlsZVBhdGgucmVwbGFjZShmaWxlTmFtZSwgbWFuaWZlc3RSZXN1bHRbZmlsZU5hbWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VGaWxlUGF0aDtcbiAgICB9XG59XG5cbi8qKlxuICogR2V0IHN0YXRpYyByZXNvdXJjZSBmdWxsIHBhdGhcbiAqIEBwYXJhbSBhcHAgUGxhbmV0QXBwbGljYXRpb25cbiAqIEBwYXJhbSBtYW5pZmVzdFJlc3VsdCBtYW5pZmVzdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NyaXB0c0FuZFN0eWxlc0Z1bGxQYXRocyhhcHA6IFBsYW5ldEFwcGxpY2F0aW9uLCBtYW5pZmVzdFJlc3VsdD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBsZXQgc2NyaXB0cyA9IGFwcC5zY3JpcHRzIHx8IFtdO1xuICAgIGxldCBzdHlsZXMgPSBhcHAuc3R5bGVzIHx8IFtdO1xuICAgIC8vIGNvbWJpbmUgcmVzb3VyY2UgcGF0aCBieSBtYW5pZmVzdFxuICAgIGlmIChtYW5pZmVzdFJlc3VsdCkge1xuICAgICAgICBzY3JpcHRzID0gc2NyaXB0cy5tYXAoc2NyaXB0ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBidWlsZFJlc291cmNlRmlsZVBhdGgoc2NyaXB0LCBtYW5pZmVzdFJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzdHlsZXMgPSBzdHlsZXMubWFwKHN0eWxlID0+IHtcbiAgICAgICAgICAgIHJldHVybiBidWlsZFJlc291cmNlRmlsZVBhdGgoc3R5bGUsIG1hbmlmZXN0UmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChhcHAucmVzb3VyY2VQYXRoUHJlZml4KSB7XG4gICAgICAgIHNjcmlwdHMgPSBzY3JpcHRzLm1hcChzY3JpcHQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAke2FwcC5yZXNvdXJjZVBhdGhQcmVmaXh9JHtzY3JpcHR9YDtcbiAgICAgICAgfSk7XG4gICAgICAgIHN0eWxlcyA9IHN0eWxlcy5tYXAoc3R5bGUgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAke2FwcC5yZXNvdXJjZVBhdGhQcmVmaXh9JHtzdHlsZX1gO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NyaXB0czogc2NyaXB0cyxcbiAgICAgICAgc3R5bGVzOiBzdHlsZXNcbiAgICB9O1xufVxuIl19
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDaEMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLEdBQUcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7SUFDMUMsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQThCO0lBQ3pELElBQUksUUFBUSxZQUFZLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWdCO0lBQ2pELE1BQU0sT0FBTyxHQUFHLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFB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QUksQ0FBQyxjQUFjLENBQUM7aUJBQy9CLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDVixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUM7WUFDckMsQ0FBQyxDQUFDO2lCQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDUCxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNYLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNYLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNCLE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sYUFBYSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFO1FBQ3RCLE1BQU0sRUFBRSxNQUFNLElBQUksRUFBRTtLQUN2QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uLCBQbGFuZXRBcHBsaWNhdGlvbkVudHJ5IH0gZnJvbSAnLi9wbGFuZXQuY2xhc3MnO1xuXG5jb25zdCBFTEVNRU5UX05PREVfVFlQRSA9IDE7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNoQ29kZShzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgbGV0IGhhc2ggPSAwO1xuICAgIGxldCBjaHI6IG51bWJlcjtcbiAgICBpZiAoc3RyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gaGFzaDtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2hyID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGhhc2ggPSAoaGFzaCA8PCA1KSAtIGhhc2ggKyBjaHI7XG4gICAgICAgIGhhc2ggfD0gMDsgLy8gQ29udmVydCB0byAzMmJpdCBpbnRlZ2VyXG4gICAgfVxuICAgIHJldHVybiBoYXNoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SFRNTEVsZW1lbnQoc2VsZWN0b3I6IHN0cmluZyB8IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoc2VsZWN0b3IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3I7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhZ05hbWVCeVRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50QnlUZW1wbGF0ZSh0ZW1wbGF0ZSk7XG4gICAgcmV0dXJuIGVsZW1lbnQgPyBlbGVtZW50Lm5vZGVOYW1lIDogJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbGVtZW50QnlUZW1wbGF0ZSh0ZW1wbGF0ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KHRlbXBsYXRlKS5maXJzdENoaWxkO1xuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERV9UWVBFKSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCB0ZW1wbGF0ZSAnJHt0ZW1wbGF0ZX0nYCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29lcmNlQXJyYXk8VD4odmFsdWU6IFQgfCBUW10pOiBUW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBGdW5jdGlvbiB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlID09PSAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3Q8VCBleHRlbmRzIG9iamVjdD4odmFsdWU6IGFueSk6IHZhbHVlIGlzIFQge1xuICAgIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xufVxuLyoqXG4gKiBHZXQgZmlsZSBuYW1lIGZyb20gcGF0aFxuICogMS4gXCJtYWluLmpzXCIgPT4gXCJtYWluLmpzXCJcbiAqIDIuIFwiYXNzZXRzL3NjcmlwdHMvbWFpbi5qc1wiID0+IFwibWFpbi5qc1wiXG4gKiBAcGFyYW0gcGF0aCBwYXRoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUZpbGVOYW1lKHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGxhc3RTbGFzaEluZGV4ID0gcGF0aC5sYXN0SW5kZXhPZignLycpO1xuICAgIGlmIChsYXN0U2xhc2hJbmRleCA+PSAwKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNsaWNlKGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsYXN0RG90SW5kZXggPSBuYW1lLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgaWYgKGxhc3REb3RJbmRleCA+PSAwKSB7XG4gICAgICAgIHJldHVybiBuYW1lLnNsaWNlKGxhc3REb3RJbmRleCArIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG5cbi8qKlxuICogQnVpbGQgcmVzb3VyY2UgcGF0aCBieSBtYW5pZmVzdFxuICogaWYgbWFuaWZlc3QgaXMgeyBcIm1haW4uanNcIjogXCJtYWluLmgyc2gyM2FiZWUuanNcIn1cbiAqIDEuIFwibWFpbi5qc1wiID0+IFwibWFpbi5oMnNoMjNhYmVlLmpzXCJcbiAqIDIuIFwiYXNzZXRzL3NjcmlwdHMvbWFpbi5qc1wiID0+XCJhc3NldHMvc2NyaXB0cy9tYWluLmgyc2gyM2FiZWUuanNcIlxuICogQHBhcmFtIHJlc291cmNlRmlsZVBhdGggUmVzb3VyY2UgRmlsZSBQYXRoXG4gKiBAcGFyYW0gbWFuaWZlc3RSZXN1bHQgbWFuaWZlc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChyZXNvdXJjZUZpbGVQYXRoOiBzdHJpbmcsIG1hbmlmZXN0UmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgY29uc3QgZmlsZU5hbWUgPSBnZXRSZXNvdXJjZUZpbGVOYW1lKHJlc291cmNlRmlsZVBhdGgpO1xuICAgIGlmIChtYW5pZmVzdFJlc3VsdFtmaWxlTmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHJlc291cmNlRmlsZVBhdGgucmVwbGFjZShmaWxlTmFtZSwgbWFuaWZlc3RSZXN1bHRbZmlsZU5hbWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VGaWxlUGF0aDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEZ1bGxQYXRoKHBhdGg6IHN0cmluZywgYmFzZVBhdGg/OiBzdHJpbmcpIHtcbiAgICBpZiAoYmFzZVBhdGgpIHtcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChiYXNlUGF0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jhc2VQYXRofSR7cGF0aH1gO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXRoO1xufVxuXG5mdW5jdGlvbiBnZXREZWZpbmVkQXNzZXRzKGFwcDogUGxhbmV0QXBwbGljYXRpb24pIHtcbiAgICBpZiAoYXBwLmVudHJ5KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY3JpcHRzOiBpc09iamVjdDxQbGFuZXRBcHBsaWNhdGlvbkVudHJ5PihhcHAuZW50cnkpID8gYXBwLmVudHJ5LnNjcmlwdHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzdHlsZXM6IGlzT2JqZWN0PFBsYW5ldEFwcGxpY2F0aW9uRW50cnk+KGFwcC5lbnRyeSkgPyBhcHAuZW50cnkuc3R5bGVzIDogdW5kZWZpbmVkXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHNjcmlwdHM6IGFwcC5zY3JpcHRzLFxuICAgICAgICBzdHlsZXM6IGFwcC5zdHlsZXNcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXNzZXRzQmFzZVBhdGgoYXBwOiBQbGFuZXRBcHBsaWNhdGlvbik6IHN0cmluZyB7XG4gICAgbGV0IGJhc2VQYXRoOiBzdHJpbmc7XG4gICAgaWYgKGFwcC5lbnRyeSkge1xuICAgICAgICBpZiAoaXNPYmplY3Q8UGxhbmV0QXBwbGljYXRpb25FbnRyeT4oYXBwLmVudHJ5KSkge1xuICAgICAgICAgICAgYmFzZVBhdGggPSBhcHAuZW50cnkuYmFzZVBhdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0RG90SW5kZXggPSBhcHAuZW50cnkubGFzdEluZGV4T2YoJy8nKTtcbiAgICAgICAgICAgIGJhc2VQYXRoID0gbGFzdERvdEluZGV4ID4gMCA/IGFwcC5lbnRyeS5zbGljZSgwLCBsYXN0RG90SW5kZXggKyAxKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYmFzZVBhdGggfHwgYXBwLnJlc291cmNlUGF0aFByZWZpeDtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdGljIHJlc291cmNlIGZ1bGwgcGF0aFxuICogQHBhcmFtIGFwcCBQbGFuZXRBcHBsaWNhdGlvblxuICogQHBhcmFtIG1hbmlmZXN0UmVzdWx0IG1hbmlmZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHRzQW5kU3R5bGVzRnVsbFBhdGhzKGFwcDogUGxhbmV0QXBwbGljYXRpb24sIGJhc2VQYXRoOiBzdHJpbmcsIG1hbmlmZXN0UmVzdWx0PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGxldCB7IHNjcmlwdHMsIHN0eWxlcyB9ID0gZ2V0RGVmaW5lZEFzc2V0cyhhcHApO1xuICAgIC8vIGNvbWJpbmUgcmVzb3VyY2UgcGF0aCBieSBtYW5pZmVzdFxuICAgIGlmIChtYW5pZmVzdFJlc3VsdCkge1xuICAgICAgICBpZiAoc2NyaXB0cykge1xuICAgICAgICAgICAgc2NyaXB0cyA9IHNjcmlwdHMubWFwKHNjcmlwdCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChzY3JpcHQsIG1hbmlmZXN0UmVzdWx0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2NyaXB0cyA9IE9iamVjdC5rZXlzKG1hbmlmZXN0UmVzdWx0KVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoa2V5ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldEV4dE5hbWUoa2V5KSA9PT0gJ2pzJztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5tYXAoa2V5ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hbmlmZXN0UmVzdWx0W2tleV07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0eWxlcykge1xuICAgICAgICAgICAgc3R5bGVzID0gc3R5bGVzLm1hcChzdHlsZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChzdHlsZSwgbWFuaWZlc3RSZXN1bHQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHlsZXMgPSBPYmplY3Qua2V5cyhtYW5pZmVzdFJlc3VsdClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGtleSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRFeHROYW1lKGtleSkgPT09ICdjc3MnO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLm1hcChrZXkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFuaWZlc3RSZXN1bHRba2V5XTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYmFzZVBhdGgpIHtcbiAgICAgICAgc2NyaXB0cyA9IHNjcmlwdHMubWFwKHNjcmlwdCA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYnVpbGRGdWxsUGF0aChzY3JpcHQsIGJhc2VQYXRoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHN0eWxlcyA9IHN0eWxlcy5tYXAoc3R5bGUgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkRnVsbFBhdGgoc3R5bGUsIGJhc2VQYXRoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHNjcmlwdHM6IHNjcmlwdHMgfHwgW10sXG4gICAgICAgIHN0eWxlczogc3R5bGVzIHx8IFtdXG4gICAgfTtcbn1cbiJdfQ==
|
package/esm2022/planet.class.mjs
CHANGED
|
@@ -6,4 +6,4 @@ export var SwitchModes;
|
|
|
6
6
|
})(SwitchModes || (SwitchModes = {}));
|
|
7
7
|
const PLANET_APPLICATIONS = new InjectionToken('PLANET_APPLICATIONS');
|
|
8
8
|
export { PLANET_APPLICATIONS };
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9wbGFuZXQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWlIL0MsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEI7QUFNRCxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFvQixxQkFBcUIsQ0FBQyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlYnVnIH0gZnJvbSAnLi9kZWJ1Zyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbmV0T3B0aW9ucyB7XG4gICAgc3dpdGNoTW9kZT86IFN3aXRjaE1vZGVzO1xuICAgIGVycm9ySGFuZGxlcjogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbiAgICBkZWJ1Z0ZhY3Rvcnk/OiBEZWJ1Zztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFuZXRBcHBsaWNhdGlvbkVudHJ5IHtcbiAgICBiYXNlUGF0aD86IHN0cmluZztcbiAgICBzY3JpcHRzPzogc3RyaW5nW107XG4gICAgc3R5bGVzPzogc3RyaW5nW107XG4gICAgbWFuaWZlc3Q/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbmV0QXBwbGljYXRpb248VEV4dHJhID0gYW55PiB7XG4gICAgLyoqXG4gICAgICogQXBwbGljYXRpb24gbmFtZSwgZS5nLiBcImFwcDFcIlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTZWxlY3RvciBvciBFbGVtZW50IHdoaWNoIGFwcCBob3N0IHBhcmVudFxuICAgICAqIOW6lOeUqOWKoOi9veeahOWuv+S4u+WFg+e0oOaIluiAhemAieaLqeWZqFxuICAgICAqL1xuICAgIGhvc3RQYXJlbnQ6IHN0cmluZyB8IEhUTUxFbGVtZW50O1xuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgZm9yIGhvc3RcbiAgICAgKi9cbiAgICBob3N0Q2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvKipcbiAgICAgKiBTZWxlY3RvciBmb3Igc3ViIGFwcGxpY2F0aW9uXG4gICAgICog5a2Q5bqU55So55qE6YCJ5oup5ZmoXG4gICAgICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBuZXcgZGVmaW5lQXBwbGljYXRpb24gdG8gc2V0IHNlbGVjdG9yXG4gICAgICovXG4gICAgc2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogUGF0aCBwcmVmaXggZm9yIHN1YiBhcHBsaWNhdGlvbiwgZS5nLiAnL2FwcDEnXG4gICAgICog5a2Q5bqU55So6Lev55Sx5YmN57yA6Lev5b6EXG4gICAgICovXG4gICAgcm91dGVyUGF0aFByZWZpeDogc3RyaW5nIHwgUmVnRXhwO1xuICAgIC8qKlxuICAgICAqIFByZWxvYWQgZW5hYmxlZCwgZGVmYXVsdCBmYWxzZSwgaWYgZW5hYmxlZCx0aGUgYXBwbGljYXRpb24gd2lsbCBiZSBsb2FkZWQgd2hlbiBpZGxlIGluIHRoZSBiYWNrZ3JvdW5kXG4gICAgICog5piv5ZCm5byA5ZCv6aKE5Yqg6L2977yM5byA5ZCv5ZCO5Lya5Zyo5ZCO5Y+w5o+Q5YmN5Yqg6L295q2k5bqU55SoXG4gICAgICovXG4gICAgcHJlbG9hZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogU2FuZGJveCBlbmFibGVkXG4gICAgICog5piv5ZCm5byA5ZCv5rKZ566x5qih5byPXG4gICAgICovXG4gICAgc2FuZGJveD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogU3dpdGNoIGFwcGxpY2F0aW9uIG1vZGVcbiAgICAgKiBkZWZhdWx0OiB3aWxsIGJlIGRlc3Ryb3llZCB3aGVuIHN3aXRjaCB0byBvdGhlciBhcHBcbiAgICAgKiBjb2V4aXN0OiBvbmx5IGhpZGUgYXBwIHdoZW4gc3dpdGNoIHRvIG90aGVyIGFwcFxuICAgICAqIOWIh+aNouW6lOeUqOeahOaooeW8j1xuICAgICAqL1xuICAgIHN3aXRjaE1vZGU/OiBTd2l0Y2hNb2RlcztcbiAgICAvKipcbiAgICAgKiBTdHlsZSBwcmVmaXgsIGUuZy4gJ2FwcDEnXG4gICAgICog5qC35byP5YmN57yAXG4gICAgICovXG4gICAgc3R5bGVQcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGVudHJ5IG9mIHRoZSBtaWNybyBhcHBsaWNhdGlvbiwgZS5nLiAnL3N0YXRpYy9hcHAxL2luZGV4Lmh0bWwnXG4gICAgICogSWYgY29uZmlndXJlZCBhcyBzdHJpbmcsIGl0IHJlcHJlc2VudHMgdGhlIGVudHJ5IGh0bWwgYWRkcmVzcyBvZiB0aGUgbWljcm8gYXBwbGljYXRpb24uICBlLmcuICcvc3RhdGljL2FwcDEvaW5kZXguaHRtbCdcbiAgICAgKiBJZiBjb25maWd1cmVkIGFzIG9iamVjdCwgdGhlIHZhbHVlIG9mIG1hbmlmZXN0IGlzIHRoZSBodG1sIGFkZHJlc3Mgb2YgdGhlIG1pY3JvIGFwcGxpY2F0aW9uXG4gICAgICogICBlbnRyeS5iYXNlUGF0aDogdGhlIGJhc2UgcGF0aCBvZiB0aGUgZW50cnksIGUuZy4gJy9zdGF0aWMvYXBwMS8nXG4gICAgICogICBlbnRyeS5tYW5pZmVzdDogdGhlIG1hbmlmZXN0IG9mIHRoZSBlbnRyeSwgZS5nLiAnaW5kZXguaHRtbCcgb3IgJ2Fzc2V0cy1tYW5pZmVzdC5qc29uJ1xuICAgICAqICAgZW50cnkuc2NyaXB0czogdGhlIHNjcmlwdHMgb2YgdGhlIGVudHJ5LCB3aWxsIGdldCBmaW5hbCBzY3JpcHRzIGFkZHJlc3MgYnkgbWFuaWZlc3QgYW5kIGJhc2VQYXRoXG4gICAgICogICBlbnRyeS5zdHlsZXM6IHRoZSBzdHlsZXMgb2YgdGhlIGVudHJ5LCB3aWxsIGdldCBmaW5hbCBzdHlsZXMgYWRkcmVzcyBieSBtYW5pZmVzdCBhbmQgYmFzZVBhdGhcbiAgICAgKi9cbiAgICBlbnRyeT86IHN0cmluZyB8IFBsYW5ldEFwcGxpY2F0aW9uRW50cnk7XG4gICAgLyoqXG4gICAgICogTWFuaWZlc3QganNvbiBmaWxlIHBhdGgsIGUuZy4gL3N0YXRpYy9hcHAxL2Fzc2V0cy1tYW5pZmVzdC5qc29uXG4gICAgICog5bqU55So56iL5bqP5omT5YyF5ZCO55qE6ISa5pys5ZKM5qC35byP5paH5Lu25pu/5o2iXG4gICAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBlbnRyeS5tYW5pZmVzdCBpbnN0ZWFkXG4gICAgICovXG4gICAgbWFuaWZlc3Q/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogUGF0aCBwcmVmaXggb2Ygc2NyaXB0cyBhbmQgc3R5bGVzLCBlLmcuICdzdGF0aWMvYXBwMS8nXG4gICAgICog6LWE5rqQ5paH5Lu26Lev5b6E55qE5YmN57yAXG4gICAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBlbnRyeS5iYXNlUGF0aCBpbnN0ZWFkXG4gICAgICovXG4gICAgcmVzb3VyY2VQYXRoUHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIHN0YXRpYyByZXNvdXJjZSBwYXRoc1xuICAgICAqIOagt+W8j+i1hOa6kOaWh+S7tlxuICAgICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgZW50cnkuc3R5bGVzIGluc3RlYWRcbiAgICAgKi9cbiAgICBzdHlsZXM/OiBzdHJpbmdbXTtcbiAgICAvKipcbiAgICAgKiBTY3JpcHRzIHN0YXRpYyByZXNvdXJjZSBwYXRoc1xuICAgICAqIOiEmuacrOi1hOa6kOaWh+S7tlxuICAgICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgZW50cnkuc2NyaXB0cyBpbnN0ZWFkXG4gICAgICovXG4gICAgc2NyaXB0cz86IHN0cmluZ1tdO1xuICAgIC8qKlxuICAgICAqIFNlcmlhbCBsb2FkIHNjcmlwdHMsIGRlZmF1bHQgaXMgcGFyYWxsZWwsIG9ubHkgZW5hYmxlIHdoZW4gdGhlIHNjcmlwdCBoYXMgc2VxdWVudGlhbGx5IGxvYWRlZCBkZXBlbmRlbmN5XG4gICAgICog5Liy6KGM5Yqg6L2977yM6buY6K6k5bm26KGM5Yqg6L296ISa5pys6LWE5rqQ77yM5LuF5b2T6ISa5pys6LWE5rqQ5pyJ5L6d6LWW5YWz57O75pe25byA5ZCvXG4gICAgICovXG4gICAgbG9hZFNlcmlhbD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICog55qu6IKk5qC35byP55qE6Lev5b6EXG4gICAgICovXG4gICAgLy8gdGhlbWVTdHlsZXNQYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEV4dHJhIGRhdGEgZm9yIGFwcGxpY2F0aW9uXG4gICAgICog6ZmE5Yqg5pWw5o2u77yM5Li76KaB5bqU55So5LqO5Lia5Yqh77yM5q+U5aaC5Zu+5qCH77yM5a2Q5bqU55So55qE6aKc6Imy77yM5pi+56S65ZCN562J5Liq5oCn5YyW6YWN572uXG4gICAgICovXG4gICAgZXh0cmE/OiBURXh0cmE7XG59XG5cbmV4cG9ydCBlbnVtIFN3aXRjaE1vZGVzIHtcbiAgICBkZWZhdWx0ID0gJ2RlZmF1bHQnLFxuICAgIGNvZXhpc3QgPSAnY29leGlzdCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFuZXRSb3V0ZXJFdmVudCB7XG4gICAgdXJsOiBzdHJpbmc7XG59XG5cbmNvbnN0IFBMQU5FVF9BUFBMSUNBVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGxhbmV0QXBwbGljYXRpb24+KCdQTEFORVRfQVBQTElDQVRJT05TJyk7XG5cbmV4cG9ydCB7IFBMQU5FVF9BUFBMSUNBVElPTlMgfTtcbiJdfQ==
|
|
@@ -68,8 +68,8 @@ function isFunction(value) {
|
|
|
68
68
|
const type = typeof value;
|
|
69
69
|
return !!value && type === 'function';
|
|
70
70
|
}
|
|
71
|
-
function isObject(
|
|
72
|
-
return
|
|
71
|
+
function isObject(value) {
|
|
72
|
+
return value && typeof value === 'object';
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
75
|
* Get file name from path
|
|
@@ -86,6 +86,15 @@ function getResourceFileName(path) {
|
|
|
86
86
|
return path;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
+
function getExtName(name) {
|
|
90
|
+
const lastDotIndex = name.lastIndexOf('.');
|
|
91
|
+
if (lastDotIndex >= 0) {
|
|
92
|
+
return name.slice(lastDotIndex + 1);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return '';
|
|
96
|
+
}
|
|
97
|
+
}
|
|
89
98
|
/**
|
|
90
99
|
* Build resource path by manifest
|
|
91
100
|
* if manifest is { "main.js": "main.h2sh23abee.js"}
|
|
@@ -103,34 +112,91 @@ function buildResourceFilePath(resourceFilePath, manifestResult) {
|
|
|
103
112
|
return resourceFilePath;
|
|
104
113
|
}
|
|
105
114
|
}
|
|
115
|
+
function buildFullPath(path, basePath) {
|
|
116
|
+
if (basePath) {
|
|
117
|
+
if (path.startsWith(basePath)) {
|
|
118
|
+
return path;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return `${basePath}${path}`;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return path;
|
|
125
|
+
}
|
|
126
|
+
function getDefinedAssets(app) {
|
|
127
|
+
if (app.entry) {
|
|
128
|
+
return {
|
|
129
|
+
scripts: isObject(app.entry) ? app.entry.scripts : undefined,
|
|
130
|
+
styles: isObject(app.entry) ? app.entry.styles : undefined
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
scripts: app.scripts,
|
|
135
|
+
styles: app.styles
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function getAssetsBasePath(app) {
|
|
139
|
+
let basePath;
|
|
140
|
+
if (app.entry) {
|
|
141
|
+
if (isObject(app.entry)) {
|
|
142
|
+
basePath = app.entry.basePath;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
const lastDotIndex = app.entry.lastIndexOf('/');
|
|
146
|
+
basePath = lastDotIndex > 0 ? app.entry.slice(0, lastDotIndex + 1) : undefined;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return basePath || app.resourcePathPrefix;
|
|
150
|
+
}
|
|
106
151
|
/**
|
|
107
152
|
* Get static resource full path
|
|
108
153
|
* @param app PlanetApplication
|
|
109
154
|
* @param manifestResult manifest
|
|
110
155
|
*/
|
|
111
|
-
function getScriptsAndStylesFullPaths(app, manifestResult) {
|
|
112
|
-
let scripts = app
|
|
113
|
-
let styles = app.styles || [];
|
|
156
|
+
function getScriptsAndStylesFullPaths(app, basePath, manifestResult) {
|
|
157
|
+
let { scripts, styles } = getDefinedAssets(app);
|
|
114
158
|
// combine resource path by manifest
|
|
115
159
|
if (manifestResult) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
160
|
+
if (scripts) {
|
|
161
|
+
scripts = scripts.map(script => {
|
|
162
|
+
return buildResourceFilePath(script, manifestResult);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
scripts = Object.keys(manifestResult)
|
|
167
|
+
.filter(key => {
|
|
168
|
+
return getExtName(key) === 'js';
|
|
169
|
+
})
|
|
170
|
+
.map(key => {
|
|
171
|
+
return manifestResult[key];
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
if (styles) {
|
|
175
|
+
styles = styles.map(style => {
|
|
176
|
+
return buildResourceFilePath(style, manifestResult);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
styles = Object.keys(manifestResult)
|
|
181
|
+
.filter(key => {
|
|
182
|
+
return getExtName(key) === 'css';
|
|
183
|
+
})
|
|
184
|
+
.map(key => {
|
|
185
|
+
return manifestResult[key];
|
|
186
|
+
});
|
|
187
|
+
}
|
|
122
188
|
}
|
|
123
|
-
if (
|
|
189
|
+
if (basePath) {
|
|
124
190
|
scripts = scripts.map(script => {
|
|
125
|
-
return
|
|
191
|
+
return buildFullPath(script, basePath);
|
|
126
192
|
});
|
|
127
193
|
styles = styles.map(style => {
|
|
128
|
-
return
|
|
194
|
+
return buildFullPath(style, basePath);
|
|
129
195
|
});
|
|
130
196
|
}
|
|
131
197
|
return {
|
|
132
|
-
scripts: scripts,
|
|
133
|
-
styles: styles
|
|
198
|
+
scripts: scripts || [],
|
|
199
|
+
styles: styles || []
|
|
134
200
|
};
|
|
135
201
|
}
|
|
136
202
|
|
|
@@ -784,6 +850,8 @@ function getSandboxInstance() {
|
|
|
784
850
|
return window[SANDBOX_INSTANCE];
|
|
785
851
|
}
|
|
786
852
|
|
|
853
|
+
const STYLE_LINK_OR_SCRIPT_REG = /<[script|link].*?>/gi;
|
|
854
|
+
const LINK_OR_SRC_REG = /(src|href)=["'](.*?[\.js|\.css])["']/i;
|
|
787
855
|
class AssetsLoader {
|
|
788
856
|
constructor(http) {
|
|
789
857
|
this.http = http;
|
|
@@ -957,10 +1025,38 @@ class AssetsLoader {
|
|
|
957
1025
|
loadScriptsAndStyles(scripts = [], styles = [], options) {
|
|
958
1026
|
return forkJoin([this.loadScripts(scripts, options), this.loadStyles(styles)]);
|
|
959
1027
|
}
|
|
1028
|
+
parseManifestFromHTML(html) {
|
|
1029
|
+
const result = {};
|
|
1030
|
+
const matchResult = html.match(STYLE_LINK_OR_SCRIPT_REG);
|
|
1031
|
+
matchResult.forEach(item => {
|
|
1032
|
+
const linkOrSrcResult = item.match(LINK_OR_SRC_REG);
|
|
1033
|
+
if (linkOrSrcResult && linkOrSrcResult[2]) {
|
|
1034
|
+
const src = linkOrSrcResult[2];
|
|
1035
|
+
const hashName = getResourceFileName(src);
|
|
1036
|
+
let barSplitIndex = hashName.indexOf('-');
|
|
1037
|
+
let dotSplitIndex = hashName.indexOf('.');
|
|
1038
|
+
const splitIndex = barSplitIndex > -1 ? barSplitIndex : dotSplitIndex;
|
|
1039
|
+
if (splitIndex > -1) {
|
|
1040
|
+
const name = hashName.slice(0, splitIndex);
|
|
1041
|
+
const ext = getExtName(hashName);
|
|
1042
|
+
result[ext ? `${name}.${ext}` : name] = src;
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
});
|
|
1046
|
+
return result;
|
|
1047
|
+
}
|
|
960
1048
|
loadAppAssets(app) {
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
1049
|
+
const basePath = getAssetsBasePath(app);
|
|
1050
|
+
const manifest = app.entry ? (isObject(app.entry) ? app.entry.manifest : app.entry) : app.manifest;
|
|
1051
|
+
if (manifest) {
|
|
1052
|
+
const manifestExt = getExtName(manifest);
|
|
1053
|
+
const isHtml = manifestExt === 'html';
|
|
1054
|
+
const responseType = isHtml ? 'text' : 'json';
|
|
1055
|
+
return this.loadManifest(`${manifest}?t=${new Date().getTime()}`, responseType).pipe(switchMap(manifestResult => {
|
|
1056
|
+
if (responseType === 'text') {
|
|
1057
|
+
manifestResult = this.parseManifestFromHTML(manifestResult);
|
|
1058
|
+
}
|
|
1059
|
+
const { scripts, styles } = getScriptsAndStylesFullPaths(app, basePath, manifestResult);
|
|
964
1060
|
return this.loadScriptsAndStyles(scripts, styles, {
|
|
965
1061
|
app: app.name,
|
|
966
1062
|
sandbox: app.sandbox,
|
|
@@ -969,7 +1065,7 @@ class AssetsLoader {
|
|
|
969
1065
|
}));
|
|
970
1066
|
}
|
|
971
1067
|
else {
|
|
972
|
-
const { scripts, styles } = getScriptsAndStylesFullPaths(app);
|
|
1068
|
+
const { scripts, styles } = getScriptsAndStylesFullPaths(app, basePath);
|
|
973
1069
|
return this.loadScriptsAndStyles(scripts, styles, {
|
|
974
1070
|
app: app.name,
|
|
975
1071
|
sandbox: app.sandbox,
|
|
@@ -977,8 +1073,12 @@ class AssetsLoader {
|
|
|
977
1073
|
});
|
|
978
1074
|
}
|
|
979
1075
|
}
|
|
980
|
-
loadManifest(url) {
|
|
981
|
-
return this.http
|
|
1076
|
+
loadManifest(url, responseType = 'json') {
|
|
1077
|
+
return this.http
|
|
1078
|
+
.get(url, {
|
|
1079
|
+
responseType: responseType
|
|
1080
|
+
})
|
|
1081
|
+
.pipe(map((response) => {
|
|
982
1082
|
return response;
|
|
983
1083
|
}));
|
|
984
1084
|
}
|
|
@@ -1029,7 +1129,9 @@ class NgPlanetApplicationRef {
|
|
|
1029
1129
|
.asObservable()
|
|
1030
1130
|
.pipe(take(1))
|
|
1031
1131
|
.subscribe(() => {
|
|
1032
|
-
this.portalApp.
|
|
1132
|
+
this.portalApp.ngZone.run(() => {
|
|
1133
|
+
this.portalApp.router.navigateByUrl(event.url);
|
|
1134
|
+
});
|
|
1033
1135
|
});
|
|
1034
1136
|
}
|
|
1035
1137
|
});
|