@worktile/planet 12.1.0 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/application/planet-application-loader.d.ts +3 -0
- package/application/planet-application-loader.d.ts.map +1 -1
- package/application/planet-application-ref.d.ts +8 -8
- package/application/planet-application-ref.d.ts.map +1 -1
- package/application/planet-application.service.d.ts +4 -1
- package/application/planet-application.service.d.ts.map +1 -1
- package/application/portal-application.d.ts +6 -6
- package/application/portal-application.d.ts.map +1 -1
- package/assets-loader.d.ts +3 -0
- package/assets-loader.d.ts.map +1 -1
- package/component/planet-component-loader.d.ts +3 -0
- package/component/planet-component-loader.d.ts.map +1 -1
- package/empty/empty.component.d.ts +3 -0
- package/empty/empty.component.d.ts.map +1 -1
- package/esm2020/application/planet-application-loader.mjs +454 -0
- package/esm2020/application/planet-application-ref.mjs +94 -0
- package/esm2020/application/planet-application.service.mjs +85 -0
- package/esm2020/application/portal-application.mjs +16 -0
- package/{esm2015/assets-loader.js → esm2020/assets-loader.mjs} +9 -10
- package/esm2020/component/planet-component-loader.mjs +153 -0
- package/{esm2015/component/planet-component-ref.js → esm2020/component/planet-component-ref.mjs} +0 -0
- package/{esm2015/component/plant-component.config.js → esm2020/component/plant-component.config.mjs} +0 -0
- package/esm2020/debug.mjs +33 -0
- package/esm2020/empty/empty.component.mjs +15 -0
- package/{esm2015/global-event-dispatcher.js → esm2020/global-event-dispatcher.mjs} +9 -10
- package/esm2020/global-planet.mjs +53 -0
- package/esm2020/helpers.mjs +119 -0
- package/esm2020/module.mjs +31 -0
- package/{esm2015/planet.class.js → esm2020/planet.class.mjs} +0 -0
- package/esm2020/planet.mjs +91 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/sandbox/constants.js → esm2020/sandbox/constants.mjs} +0 -0
- package/{esm2015/sandbox/exec.js → esm2020/sandbox/exec.mjs} +0 -0
- package/{esm2015/sandbox/index.js → esm2020/sandbox/index.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/document.js → esm2020/sandbox/proxy/patches/document.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/eventListener.js → esm2020/sandbox/proxy/patches/eventListener.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/index.js → esm2020/sandbox/proxy/patches/index.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/storage.js → esm2020/sandbox/proxy/patches/storage.mjs} +0 -0
- package/{esm2015/sandbox/proxy/patches/timer.js → esm2020/sandbox/proxy/patches/timer.mjs} +0 -0
- package/esm2020/sandbox/proxy/proxies/common.mjs +132 -0
- package/esm2020/sandbox/proxy/proxies/document.mjs +126 -0
- package/esm2020/sandbox/proxy/proxies/window.mjs +158 -0
- package/{esm2015/sandbox/proxy/proxy-sandbox.js → esm2020/sandbox/proxy/proxy-sandbox.mjs} +2 -2
- package/{esm2015/sandbox/proxy/types.js → esm2020/sandbox/proxy/types.mjs} +0 -0
- package/esm2020/sandbox/sandbox.mjs +7 -0
- package/{esm2015/sandbox/snapshot/snapshot-sandbox.js → esm2020/sandbox/snapshot/snapshot-sandbox.mjs} +0 -0
- package/{esm2015/sandbox/types.js → esm2020/sandbox/types.mjs} +0 -0
- package/esm2020/worktile-planet.mjs +5 -0
- package/fesm2015/worktile-planet.mjs +2049 -0
- package/fesm2015/worktile-planet.mjs.map +1 -0
- package/{fesm2015/worktile-planet.js → fesm2020/worktile-planet.mjs} +129 -119
- package/fesm2020/worktile-planet.mjs.map +1 -0
- package/global-event-dispatcher.d.ts +3 -0
- package/global-event-dispatcher.d.ts.map +1 -1
- package/global-planet.d.ts +3 -3
- package/global-planet.d.ts.map +1 -1
- package/helpers.d.ts +1 -1
- package/helpers.d.ts.map +1 -1
- package/module.d.ts +6 -0
- package/module.d.ts.map +1 -1
- package/package.json +28 -12
- package/planet.d.ts +4 -1
- package/planet.d.ts.map +1 -1
- package/sandbox/proxy/proxy-sandbox.d.ts.map +1 -1
- package/sandbox/sandbox.d.ts.map +1 -1
- package/worktile-planet.d.ts +1 -1
- package/worktile-planet.d.ts.map +1 -1
- package/application/planet-application-loader.ngfactory.d.ts.map +0 -1
- package/application/planet-application.service.ngfactory.d.ts.map +0 -1
- package/assets-loader.ngfactory.d.ts.map +0 -1
- package/bundles/worktile-planet.umd.js +0 -2552
- package/bundles/worktile-planet.umd.js.map +0 -1
- package/component/planet-component-loader.ngfactory.d.ts.map +0 -1
- package/empty/empty.component.ngfactory.d.ts.map +0 -1
- package/esm2015/application/planet-application-loader.js +0 -452
- package/esm2015/application/planet-application-ref.js +0 -94
- package/esm2015/application/planet-application.service.js +0 -87
- package/esm2015/application/portal-application.js +0 -16
- package/esm2015/component/planet-component-loader.js +0 -155
- package/esm2015/debug.js +0 -33
- package/esm2015/empty/empty.component.js +0 -10
- package/esm2015/global-planet.js +0 -51
- package/esm2015/helpers.js +0 -119
- package/esm2015/module.js +0 -27
- package/esm2015/planet.js +0 -90
- package/esm2015/sandbox/proxy/proxies/common.js +0 -132
- package/esm2015/sandbox/proxy/proxies/document.js +0 -126
- package/esm2015/sandbox/proxy/proxies/window.js +0 -155
- package/esm2015/sandbox/sandbox.js +0 -7
- package/esm2015/worktile-planet.js +0 -6
- package/fesm2015/worktile-planet.js.map +0 -1
- package/global-event-dispatcher.ngfactory.d.ts.map +0 -1
- package/module.ngfactory.d.ts.map +0 -1
- package/planet.ngfactory.d.ts.map +0 -1
- package/worktile-planet.metadata.json +0 -1
package/esm2015/helpers.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
const ELEMENT_NODE_TYPE = 1;
|
|
2
|
-
export function hashCode(str) {
|
|
3
|
-
let hash = 0;
|
|
4
|
-
let chr;
|
|
5
|
-
if (str.length === 0) {
|
|
6
|
-
return hash;
|
|
7
|
-
}
|
|
8
|
-
for (let i = 0; i < str.length; i++) {
|
|
9
|
-
chr = str.charCodeAt(i);
|
|
10
|
-
hash = (hash << 5) - hash + chr;
|
|
11
|
-
hash |= 0; // Convert to 32bit integer
|
|
12
|
-
}
|
|
13
|
-
return hash;
|
|
14
|
-
}
|
|
15
|
-
export function getHTMLElement(selector) {
|
|
16
|
-
if (selector instanceof HTMLElement) {
|
|
17
|
-
return selector;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
return document.querySelector(selector);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export function getTagNameByTemplate(template) {
|
|
24
|
-
const element = createElementByTemplate(template);
|
|
25
|
-
return element ? element.nodeName : null;
|
|
26
|
-
}
|
|
27
|
-
export function createElementByTemplate(template) {
|
|
28
|
-
if (!template) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
const element = document.createRange().createContextualFragment(template).firstChild;
|
|
32
|
-
if (element.nodeType === ELEMENT_NODE_TYPE) {
|
|
33
|
-
return element;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
throw new Error(`invalid template '${template}'`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
export function coerceArray(value) {
|
|
40
|
-
return Array.isArray(value) ? value : [value];
|
|
41
|
-
}
|
|
42
|
-
export function isEmpty(value) {
|
|
43
|
-
if (!value || value.length === 0) {
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export function isFunction(value) {
|
|
51
|
-
const type = typeof value;
|
|
52
|
-
return !!value && type === 'function';
|
|
53
|
-
}
|
|
54
|
-
export function isObject(val) {
|
|
55
|
-
return val && typeof val === 'object';
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Get file name from path
|
|
59
|
-
* 1. "main.js" => "main.js"
|
|
60
|
-
* 2. "assets/scripts/main.js" => "main.js"
|
|
61
|
-
* @param path path
|
|
62
|
-
*/
|
|
63
|
-
export function getResourceFileName(path) {
|
|
64
|
-
const lastSlashIndex = path.lastIndexOf('/');
|
|
65
|
-
if (lastSlashIndex >= 0) {
|
|
66
|
-
return path.slice(lastSlashIndex + 1);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
return path;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Build resource path by manifest
|
|
74
|
-
* if manifest is { "main.js": "main.h2sh23abee.js"}
|
|
75
|
-
* 1. "main.js" => "main.h2sh23abee.js"
|
|
76
|
-
* 2. "assets/scripts/main.js" =>"assets/scripts/main.h2sh23abee.js"
|
|
77
|
-
* @param resourceFilePath Resource File Path
|
|
78
|
-
* @param manifestResult manifest
|
|
79
|
-
*/
|
|
80
|
-
export function buildResourceFilePath(resourceFilePath, manifestResult) {
|
|
81
|
-
const fileName = getResourceFileName(resourceFilePath);
|
|
82
|
-
if (manifestResult[fileName]) {
|
|
83
|
-
return resourceFilePath.replace(fileName, manifestResult[fileName]);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
return resourceFilePath;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Get static resource full path
|
|
91
|
-
* @param app PlanetApplication
|
|
92
|
-
* @param manifestResult manifest
|
|
93
|
-
*/
|
|
94
|
-
export function getScriptsAndStylesFullPaths(app, manifestResult) {
|
|
95
|
-
let scripts = app.scripts || [];
|
|
96
|
-
let styles = app.styles || [];
|
|
97
|
-
// combine resource path by manifest
|
|
98
|
-
if (manifestResult) {
|
|
99
|
-
scripts = scripts.map(script => {
|
|
100
|
-
return buildResourceFilePath(script, manifestResult);
|
|
101
|
-
});
|
|
102
|
-
styles = styles.map(style => {
|
|
103
|
-
return buildResourceFilePath(style, manifestResult);
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
if (app.resourcePathPrefix) {
|
|
107
|
-
scripts = scripts.map(script => {
|
|
108
|
-
return `${app.resourcePathPrefix}${script}`;
|
|
109
|
-
});
|
|
110
|
-
styles = styles.map(style => {
|
|
111
|
-
return `${app.resourcePathPrefix}${style}`;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
return {
|
|
115
|
-
scripts: scripts,
|
|
116
|
-
styles: styles
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDaEMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNsQixPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDakMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtLQUN6QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQThCO0lBQ3pELElBQUksUUFBUSxZQUFZLFdBQVcsRUFBRTtRQUNqQyxPQUFPLFFBQVEsQ0FBQztLQUNuQjtTQUFNO1FBQ0gsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQzNDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxRQUFnQjtJQUNqRCxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzdDLENBQUM7QUFF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LE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sR0FBRyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUNELE9BQU87UUFDSCxPQUFPLEVBQUUsT0FBTztRQUNoQixNQUFNLEVBQUUsTUFBTTtLQUNqQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uIH0gZnJvbSAnLi9wbGFuZXQuY2xhc3MnO1xuXG5jb25zdCBFTEVNRU5UX05PREVfVFlQRSA9IDE7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNoQ29kZShzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgbGV0IGhhc2ggPSAwO1xuICAgIGxldCBjaHI6IG51bWJlcjtcbiAgICBpZiAoc3RyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gaGFzaDtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2hyID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGhhc2ggPSAoaGFzaCA8PCA1KSAtIGhhc2ggKyBjaHI7XG4gICAgICAgIGhhc2ggfD0gMDsgLy8gQ29udmVydCB0byAzMmJpdCBpbnRlZ2VyXG4gICAgfVxuICAgIHJldHVybiBoYXNoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SFRNTEVsZW1lbnQoc2VsZWN0b3I6IHN0cmluZyB8IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgIGlmIChzZWxlY3RvciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBzZWxlY3RvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGFnTmFtZUJ5VGVtcGxhdGUodGVtcGxhdGU6IHN0cmluZykge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50QnlUZW1wbGF0ZSh0ZW1wbGF0ZSk7XG4gICAgcmV0dXJuIGVsZW1lbnQgPyBlbGVtZW50Lm5vZGVOYW1lIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRCeVRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQodGVtcGxhdGUpLmZpcnN0Q2hpbGQ7XG4gICAgaWYgKGVsZW1lbnQubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERV9UWVBFKSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCB0ZW1wbGF0ZSAnJHt0ZW1wbGF0ZX0nYCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29lcmNlQXJyYXk8VD4odmFsdWU6IFQgfCBUW10pOiBUW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBGdW5jdGlvbiB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlID09PSAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3QodmFsOiBhbnkpIHtcbiAgICByZXR1cm4gdmFsICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnO1xufVxuLyoqXG4gKiBHZXQgZmlsZSBuYW1lIGZyb20gcGF0aFxuICogMS4gXCJtYWluLmpzXCIgPT4gXCJtYWluLmpzXCJcbiAqIDIuIFwiYXNzZXRzL3NjcmlwdHMvbWFpbi5qc1wiID0+IFwibWFpbi5qc1wiXG4gKiBAcGFyYW0gcGF0aCBwYXRoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUZpbGVOYW1lKHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGxhc3RTbGFzaEluZGV4ID0gcGF0aC5sYXN0SW5kZXhPZignLycpO1xuICAgIGlmIChsYXN0U2xhc2hJbmRleCA+PSAwKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNsaWNlKGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIHJlc291cmNlIHBhdGggYnkgbWFuaWZlc3RcbiAqIGlmIG1hbmlmZXN0IGlzIHsgXCJtYWluLmpzXCI6IFwibWFpbi5oMnNoMjNhYmVlLmpzXCJ9XG4gKiAxLiBcIm1haW4uanNcIiA9PiBcIm1haW4uaDJzaDIzYWJlZS5qc1wiXG4gKiAyLiBcImFzc2V0cy9zY3JpcHRzL21haW4uanNcIiA9PlwiYXNzZXRzL3NjcmlwdHMvbWFpbi5oMnNoMjNhYmVlLmpzXCJcbiAqIEBwYXJhbSByZXNvdXJjZUZpbGVQYXRoIFJlc291cmNlIEZpbGUgUGF0aFxuICogQHBhcmFtIG1hbmlmZXN0UmVzdWx0IG1hbmlmZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJlc291cmNlRmlsZVBhdGgocmVzb3VyY2VGaWxlUGF0aDogc3RyaW5nLCBtYW5pZmVzdFJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IGZpbGVOYW1lID0gZ2V0UmVzb3VyY2VGaWxlTmFtZShyZXNvdXJjZUZpbGVQYXRoKTtcbiAgICBpZiAobWFuaWZlc3RSZXN1bHRbZmlsZU5hbWVdKSB7XG4gICAgICAgIHJldHVybiByZXNvdXJjZUZpbGVQYXRoLnJlcGxhY2UoZmlsZU5hbWUsIG1hbmlmZXN0UmVzdWx0W2ZpbGVOYW1lXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc291cmNlRmlsZVBhdGg7XG4gICAgfVxufVxuXG4vKipcbiAqIEdldCBzdGF0aWMgcmVzb3VyY2UgZnVsbCBwYXRoXG4gKiBAcGFyYW0gYXBwIFBsYW5ldEFwcGxpY2F0aW9uXG4gKiBAcGFyYW0gbWFuaWZlc3RSZXN1bHQgbWFuaWZlc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHNBbmRTdHlsZXNGdWxsUGF0aHMoYXBwOiBQbGFuZXRBcHBsaWNhdGlvbiwgbWFuaWZlc3RSZXN1bHQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgbGV0IHNjcmlwdHMgPSBhcHAuc2NyaXB0cyB8fCBbXTtcbiAgICBsZXQgc3R5bGVzID0gYXBwLnN0eWxlcyB8fCBbXTtcbiAgICAvLyBjb21iaW5lIHJlc291cmNlIHBhdGggYnkgbWFuaWZlc3RcbiAgICBpZiAobWFuaWZlc3RSZXN1bHQpIHtcbiAgICAgICAgc2NyaXB0cyA9IHNjcmlwdHMubWFwKHNjcmlwdCA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYnVpbGRSZXNvdXJjZUZpbGVQYXRoKHNjcmlwdCwgbWFuaWZlc3RSZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICAgICAgc3R5bGVzID0gc3R5bGVzLm1hcChzdHlsZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYnVpbGRSZXNvdXJjZUZpbGVQYXRoKHN0eWxlLCBtYW5pZmVzdFJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoYXBwLnJlc291cmNlUGF0aFByZWZpeCkge1xuICAgICAgICBzY3JpcHRzID0gc2NyaXB0cy5tYXAoc2NyaXB0ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgJHthcHAucmVzb3VyY2VQYXRoUHJlZml4fSR7c2NyaXB0fWA7XG4gICAgICAgIH0pO1xuICAgICAgICBzdHlsZXMgPSBzdHlsZXMubWFwKHN0eWxlID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgJHthcHAucmVzb3VyY2VQYXRoUHJlZml4fSR7c3R5bGV9YDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHNjcmlwdHM6IHNjcmlwdHMsXG4gICAgICAgIHN0eWxlczogc3R5bGVzXG4gICAgfTtcbn1cbiJdfQ==
|
package/esm2015/module.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { PLANET_APPLICATIONS } from './planet.class';
|
|
3
|
-
import { HttpClientModule } from '@angular/common/http';
|
|
4
|
-
import { EmptyComponent } from './empty/empty.component';
|
|
5
|
-
export class NgxPlanetModule {
|
|
6
|
-
static forRoot(apps) {
|
|
7
|
-
return {
|
|
8
|
-
ngModule: NgxPlanetModule,
|
|
9
|
-
providers: [
|
|
10
|
-
{
|
|
11
|
-
provide: PLANET_APPLICATIONS,
|
|
12
|
-
useValue: apps
|
|
13
|
-
}
|
|
14
|
-
]
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
NgxPlanetModule.decorators = [
|
|
19
|
-
{ type: NgModule, args: [{
|
|
20
|
-
declarations: [EmptyComponent],
|
|
21
|
-
entryComponents: [EmptyComponent],
|
|
22
|
-
imports: [HttpClientModule],
|
|
23
|
-
providers: [],
|
|
24
|
-
exports: [HttpClientModule, EmptyComponent]
|
|
25
|
-
},] }
|
|
26
|
-
];
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVN6RCxNQUFNLE9BQU8sZUFBZTtJQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQXlCO1FBQ3BDLE9BQU87WUFDSCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtvQkFDNUIsUUFBUSxFQUFFLElBQUk7aUJBQ2pCO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs7O1lBbEJKLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQzlCLGVBQWUsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzNCLFNBQVMsRUFBRSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQzthQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbiwgUExBTkVUX0FQUExJQ0FUSU9OUyB9IGZyb20gJy4vcGxhbmV0LmNsYXNzJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFbXB0eUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHkvZW1wdHkuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtFbXB0eUNvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbRW1wdHlDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtdLFxuICAgIGV4cG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlLCBFbXB0eUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4UGxhbmV0TW9kdWxlIHtcbiAgICBzdGF0aWMgZm9yUm9vdChhcHBzOiBQbGFuZXRBcHBsaWNhdGlvbltdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hQbGFuZXRNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hQbGFuZXRNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFBMQU5FVF9BUFBMSUNBVElPTlMsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBhcHBzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2015/planet.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Injectable, Inject, Optional, Injector } from '@angular/core';
|
|
2
|
-
import { NavigationEnd, Router } from '@angular/router';
|
|
3
|
-
import { PLANET_APPLICATIONS } from './planet.class';
|
|
4
|
-
import { PlanetApplicationService } from './application/planet-application.service';
|
|
5
|
-
import { PlanetApplicationLoader } from './application/planet-application-loader';
|
|
6
|
-
import { filter, startWith, distinctUntilChanged, map } from 'rxjs/operators';
|
|
7
|
-
import { setPortalApplicationData, setApplicationLoader, setApplicationService, getApplicationLoader, getApplicationService } from './global-planet';
|
|
8
|
-
import { setDebugFactory } from './debug';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/router";
|
|
11
|
-
import * as i2 from "./planet.class";
|
|
12
|
-
export class Planet {
|
|
13
|
-
constructor(injector, router, planetApplications) {
|
|
14
|
-
this.injector = injector;
|
|
15
|
-
this.router = router;
|
|
16
|
-
if (!this.planetApplicationLoader) {
|
|
17
|
-
setApplicationLoader(this.injector.get(PlanetApplicationLoader));
|
|
18
|
-
}
|
|
19
|
-
if (!this.planetApplicationService) {
|
|
20
|
-
setApplicationService(this.injector.get(PlanetApplicationService));
|
|
21
|
-
}
|
|
22
|
-
if (planetApplications) {
|
|
23
|
-
this.registerApps(planetApplications);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
get planetApplicationLoader() {
|
|
27
|
-
return getApplicationLoader();
|
|
28
|
-
}
|
|
29
|
-
get planetApplicationService() {
|
|
30
|
-
return getApplicationService();
|
|
31
|
-
}
|
|
32
|
-
get loadingDone() {
|
|
33
|
-
return this.planetApplicationLoader.loadingDone;
|
|
34
|
-
}
|
|
35
|
-
get appStatusChange() {
|
|
36
|
-
return this.planetApplicationLoader.appStatusChange;
|
|
37
|
-
}
|
|
38
|
-
get appsLoadingStart() {
|
|
39
|
-
return this.planetApplicationLoader.appsLoadingStart;
|
|
40
|
-
}
|
|
41
|
-
setOptions(options) {
|
|
42
|
-
this.planetApplicationLoader.setOptions(options);
|
|
43
|
-
if (options.debugFactory) {
|
|
44
|
-
setDebugFactory(options.debugFactory);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
setPortalAppData(data) {
|
|
48
|
-
setPortalApplicationData(data);
|
|
49
|
-
}
|
|
50
|
-
registerApp(app) {
|
|
51
|
-
this.planetApplicationService.register(app);
|
|
52
|
-
}
|
|
53
|
-
registerApps(apps) {
|
|
54
|
-
this.planetApplicationService.register(apps);
|
|
55
|
-
}
|
|
56
|
-
unregisterApp(name) {
|
|
57
|
-
this.planetApplicationService.unregister(name);
|
|
58
|
-
}
|
|
59
|
-
getApps() {
|
|
60
|
-
return this.planetApplicationService.getApps();
|
|
61
|
-
}
|
|
62
|
-
start() {
|
|
63
|
-
this.subscription = this.router.events
|
|
64
|
-
.pipe(filter(event => {
|
|
65
|
-
return event instanceof NavigationEnd;
|
|
66
|
-
}), map((event) => {
|
|
67
|
-
return event.urlAfterRedirects || event.url;
|
|
68
|
-
}), startWith(location.pathname), distinctUntilChanged())
|
|
69
|
-
.subscribe((url) => {
|
|
70
|
-
this.planetApplicationLoader.reroute({
|
|
71
|
-
url: url
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
stop() {
|
|
76
|
-
this.subscription.unsubscribe();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
Planet.ɵprov = i0.ɵɵdefineInjectable({ factory: function Planet_Factory() { return new Planet(i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.PLANET_APPLICATIONS, 8)); }, token: Planet, providedIn: "root" });
|
|
80
|
-
Planet.decorators = [
|
|
81
|
-
{ type: Injectable, args: [{
|
|
82
|
-
providedIn: 'root'
|
|
83
|
-
},] }
|
|
84
|
-
];
|
|
85
|
-
Planet.ctorParameters = () => [
|
|
86
|
-
{ type: Injector },
|
|
87
|
-
{ type: Router },
|
|
88
|
-
{ type: Array, decorators: [{ type: Inject, args: [PLANET_APPLICATIONS,] }, { type: Optional }] }
|
|
89
|
-
];
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9wbGFuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBb0MsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQ0gsdUJBQXVCLEVBRzFCLE1BQU0seUNBQXlDLENBQUM7QUFFakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUNILHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBSzFDLE1BQU0sT0FBTyxNQUFNO0lBdUJmLFlBQ1ksUUFBa0IsRUFDbEIsTUFBYyxFQUNtQixrQkFBdUM7UUFGeEUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBR3RCLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDL0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNoQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7U0FDdEU7UUFFRCxJQUFJLGtCQUFrQixFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFyQ0QsSUFBWSx1QkFBdUI7UUFDL0IsT0FBTyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFZLHdCQUF3QjtRQUNoQyxPQUFPLHFCQUFxQixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDO0lBQ3pELENBQUM7SUFxQkQsVUFBVSxDQUFDLE9BQStCO1FBQ3RDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3RCLGVBQWUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUksSUFBTztRQUN2Qix3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFTLEdBQThCO1FBQzlDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBUyxJQUFpQztRQUNsRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN0QixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNqQyxJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1gsT0FBTyxLQUFLLFlBQVksYUFBYSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUN6QixPQUFPLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQzVCLG9CQUFvQixFQUFFLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztnQkFDakMsR0FBRyxFQUFFLEdBQUc7YUFDWCxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzs7O1lBM0ZKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBdEJzQyxRQUFRO1lBQ1YsTUFBTTt3Q0FnRGxDLE1BQU0sU0FBQyxtQkFBbUIsY0FBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlckV2ZW50LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGxhbmV0T3B0aW9ucywgUGxhbmV0QXBwbGljYXRpb24sIFBMQU5FVF9BUFBMSUNBVElPTlMgfSBmcm9tICcuL3BsYW5ldC5jbGFzcyc7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgUGxhbmV0QXBwbGljYXRpb25Mb2FkZXIsXG4gICAgQXBwc0xvYWRpbmdTdGFydEV2ZW50LFxuICAgIEFwcFN0YXR1c0NoYW5nZUV2ZW50XG59IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3RhcnRXaXRoLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBzZXRQb3J0YWxBcHBsaWNhdGlvbkRhdGEsXG4gICAgc2V0QXBwbGljYXRpb25Mb2FkZXIsXG4gICAgc2V0QXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIGdldEFwcGxpY2F0aW9uTG9hZGVyLFxuICAgIGdldEFwcGxpY2F0aW9uU2VydmljZVxufSBmcm9tICcuL2dsb2JhbC1wbGFuZXQnO1xuaW1wb3J0IHsgc2V0RGVidWdGYWN0b3J5IH0gZnJvbSAnLi9kZWJ1Zyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhbmV0IHtcbiAgICBwcml2YXRlIGdldCBwbGFuZXRBcHBsaWNhdGlvbkxvYWRlcigpIHtcbiAgICAgICAgcmV0dXJuIGdldEFwcGxpY2F0aW9uTG9hZGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25TZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2FkaW5nRG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhbmV0QXBwbGljYXRpb25Mb2FkZXIubG9hZGluZ0RvbmU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcHBTdGF0dXNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxBcHBTdGF0dXNDaGFuZ2VFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGFuZXRBcHBsaWNhdGlvbkxvYWRlci5hcHBTdGF0dXNDaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcHBzTG9hZGluZ1N0YXJ0KCk6IE9ic2VydmFibGU8QXBwc0xvYWRpbmdTdGFydEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyLmFwcHNMb2FkaW5nU3RhcnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChQTEFORVRfQVBQTElDQVRJT05TKSBAT3B0aW9uYWwoKSBwbGFuZXRBcHBsaWNhdGlvbnM6IFBsYW5ldEFwcGxpY2F0aW9uW11cbiAgICApIHtcbiAgICAgICAgaWYgKCF0aGlzLnBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyKSB7XG4gICAgICAgICAgICBzZXRBcHBsaWNhdGlvbkxvYWRlcih0aGlzLmluamVjdG9yLmdldChQbGFuZXRBcHBsaWNhdGlvbkxvYWRlcikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgICAgIHNldEFwcGxpY2F0aW9uU2VydmljZSh0aGlzLmluamVjdG9yLmdldChQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwbGFuZXRBcHBsaWNhdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJBcHBzKHBsYW5ldEFwcGxpY2F0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRPcHRpb25zKG9wdGlvbnM6IFBhcnRpYWw8UGxhbmV0T3B0aW9ucz4pIHtcbiAgICAgICAgdGhpcy5wbGFuZXRBcHBsaWNhdGlvbkxvYWRlci5zZXRPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICBpZiAob3B0aW9ucy5kZWJ1Z0ZhY3RvcnkpIHtcbiAgICAgICAgICAgIHNldERlYnVnRmFjdG9yeShvcHRpb25zLmRlYnVnRmFjdG9yeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRQb3J0YWxBcHBEYXRhPFQ+KGRhdGE6IFQpIHtcbiAgICAgICAgc2V0UG9ydGFsQXBwbGljYXRpb25EYXRhKGRhdGEpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyQXBwPFRFeHRyYT4oYXBwOiBQbGFuZXRBcHBsaWNhdGlvbjxURXh0cmE+KSB7XG4gICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlLnJlZ2lzdGVyKGFwcCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJBcHBzPFRFeHRyYT4oYXBwczogUGxhbmV0QXBwbGljYXRpb248VEV4dHJhPltdKSB7XG4gICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlLnJlZ2lzdGVyKGFwcHMpO1xuICAgIH1cblxuICAgIHVucmVnaXN0ZXJBcHAobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlLnVucmVnaXN0ZXIobmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0QXBwcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlLmdldEFwcHMoKTtcbiAgICB9XG5cbiAgICBzdGFydCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMgfHwgZXZlbnQudXJsO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChsb2NhdGlvbi5wYXRobmFtZSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyLnJlcm91dGUoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IHVybFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RvcCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { isObject } from '../../../helpers';
|
|
2
|
-
import { RAW_NODE } from '../../constants';
|
|
3
|
-
const rawHasOwnProperty = Object.prototype.hasOwnProperty;
|
|
4
|
-
export function hasOwnProp(obj, key) {
|
|
5
|
-
return rawHasOwnProperty.call(obj, key);
|
|
6
|
-
}
|
|
7
|
-
export function isValueDescriptor(desc) {
|
|
8
|
-
if (desc === undefined) {
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
return 'value' in desc || 'writable' in desc;
|
|
12
|
-
}
|
|
13
|
-
export function isAccessorDescriptor(desc) {
|
|
14
|
-
if (desc === undefined) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return 'get' in desc || 'set' in desc;
|
|
18
|
-
}
|
|
19
|
-
export function isNonWriteableValue(desc) {
|
|
20
|
-
return desc && desc.configurable === false && 'value' in desc && desc.writable === false;
|
|
21
|
-
}
|
|
22
|
-
export function isInvalidSetAccessor(desc) {
|
|
23
|
-
if (desc && desc.configurable === false && 'set' in desc && desc.set === undefined) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export function isInvalidGetAccessor(desc) {
|
|
31
|
-
if (desc && desc.configurable === false && 'get' in desc && desc.get === undefined) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function transferParams(args) {
|
|
39
|
-
args = Array.isArray(args) ? args : Array.from(args);
|
|
40
|
-
return args.map(arg => {
|
|
41
|
-
return arg[RAW_NODE] ? arg[RAW_NODE] : arg;
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
const buildInProps = ['length', 'caller', 'callee', 'arguments', 'prototype', Symbol.hasInstance];
|
|
45
|
-
function transferProps(o, n) {
|
|
46
|
-
for (const key of Reflect.ownKeys(o)) {
|
|
47
|
-
if (buildInProps.includes(key)) {
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
const desc = Object.getOwnPropertyDescriptor(n, key);
|
|
51
|
-
if (desc && desc.writable) {
|
|
52
|
-
n[key] = o[key];
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
export function bind(fn, context) {
|
|
57
|
-
const fNOP = function () { };
|
|
58
|
-
function bound() {
|
|
59
|
-
const args = transferParams(arguments);
|
|
60
|
-
if (this instanceof bound) {
|
|
61
|
-
const obj = new fn(...args);
|
|
62
|
-
Object.setPrototypeOf(obj, bound.prototype);
|
|
63
|
-
return obj;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
return fn.apply(context, args);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
bound.$native = fn;
|
|
70
|
-
transferProps(fn, bound);
|
|
71
|
-
if (fn.prototype) {
|
|
72
|
-
fNOP.prototype = fn.prototype;
|
|
73
|
-
}
|
|
74
|
-
bound.prototype = new fNOP();
|
|
75
|
-
if (Symbol.hasInstance) {
|
|
76
|
-
Object.defineProperty(bound, Symbol.hasInstance, {
|
|
77
|
-
configurable: true,
|
|
78
|
-
value(instance) {
|
|
79
|
-
const op = fn.prototype;
|
|
80
|
-
return isObject(op) || typeof op === 'function' ? instance instanceof fn : false;
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
return bound;
|
|
85
|
-
}
|
|
86
|
-
export function createFakeObject(target, writableKeys) {
|
|
87
|
-
const fakeObject = {};
|
|
88
|
-
const propertyMap = {};
|
|
89
|
-
const storageBox = Object.create(null);
|
|
90
|
-
const propertyNames = Object.getOwnPropertyNames(target);
|
|
91
|
-
const def = (p) => {
|
|
92
|
-
const descriptor = Object.getOwnPropertyDescriptor(target, p);
|
|
93
|
-
if (descriptor === null || descriptor === void 0 ? void 0 : descriptor.configurable) {
|
|
94
|
-
const hasGetter = hasOwnProp(descriptor, 'get');
|
|
95
|
-
const hasSetter = hasOwnProp(descriptor, 'set');
|
|
96
|
-
const canWritable = writableKeys && writableKeys.length > 0 && writableKeys.includes(p);
|
|
97
|
-
if (hasGetter) {
|
|
98
|
-
descriptor.get = () => (hasOwnProp(storageBox, p) ? storageBox[p] : target[p]);
|
|
99
|
-
}
|
|
100
|
-
if (hasSetter) {
|
|
101
|
-
descriptor.set = val => {
|
|
102
|
-
storageBox[p] = val;
|
|
103
|
-
return true;
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
if (canWritable) {
|
|
107
|
-
if (descriptor.writable === false) {
|
|
108
|
-
descriptor.writable = true;
|
|
109
|
-
}
|
|
110
|
-
else if (hasGetter) {
|
|
111
|
-
descriptor.set = val => {
|
|
112
|
-
storageBox[p] = val;
|
|
113
|
-
return true;
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
Object.defineProperty(fakeObject, p, Object.freeze(descriptor));
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
propertyNames.forEach(p => {
|
|
121
|
-
propertyMap[p] = true;
|
|
122
|
-
def(p);
|
|
123
|
-
});
|
|
124
|
-
// 再次循环是为了处理原型链中的属性
|
|
125
|
-
for (const prop in target) {
|
|
126
|
-
if (!propertyMap[prop]) {
|
|
127
|
-
def(prop);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return fakeObject;
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9zYW5kYm94L3Byb3h5L3Byb3hpZXMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztBQUMxRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVEsRUFBRSxHQUFnQjtJQUNqRCxPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUF5QjtJQUN2RCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFDRCxPQUFPLE9BQU8sSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQXlCO0lBQzFELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUNwQixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBeUI7SUFDekQsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQztBQUM3RixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQXlCO0lBQzFELElBQUksSUFB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LFVBQWlCLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBSQVdfTk9ERSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHJhd0hhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbmV4cG9ydCBmdW5jdGlvbiBoYXNPd25Qcm9wKG9iajogYW55LCBrZXk6IFByb3BlcnR5S2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJhd0hhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWx1ZURlc2NyaXB0b3IoZGVzYz86IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIGlmIChkZXNjID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gJ3ZhbHVlJyBpbiBkZXNjIHx8ICd3cml0YWJsZScgaW4gZGVzYztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2M/OiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcbiAgICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICdnZXQnIGluIGRlc2MgfHwgJ3NldCcgaW4gZGVzYztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9uV3JpdGVhYmxlVmFsdWUoZGVzYz86IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIHJldHVybiBkZXNjICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiAndmFsdWUnIGluIGRlc2MgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludmFsaWRTZXRBY2Nlc3NvcihkZXNjPzogUHJvcGVydHlEZXNjcmlwdG9yKSB7XG4gICAgaWYgKGRlc2MgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmICdzZXQnIGluIGRlc2MgJiYgZGVzYy5zZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJbnZhbGlkR2V0QWNjZXNzb3IoZGVzYz86IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIGlmIChkZXNjICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiAnZ2V0JyBpbiBkZXNjICYmIGRlc2MuZ2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmZXJQYXJhbXMoYXJnczogSUFyZ3VtZW50cyB8IEFycmF5PGFueT4pIHtcbiAgICBhcmdzID0gQXJyYXkuaXNBcnJheShhcmdzKSA/IGFyZ3MgOiBBcnJheS5mcm9tKGFyZ3MpO1xuICAgIHJldHVybiBhcmdzLm1hcChhcmcgPT4ge1xuICAgICAgICByZXR1cm4gYXJnW1JBV19OT0RFXSA/IGFyZ1tSQVdfTk9ERV0gOiBhcmc7XG4gICAgfSk7XG59XG5cbmNvbnN0IGJ1aWxkSW5Qcm9wczogUHJvcGVydHlLZXlbXSA9IFsnbGVuZ3RoJywgJ2NhbGxlcicsICdjYWxsZWUnLCAnYXJndW1lbnRzJywgJ3Byb3RvdHlwZScsIFN5bWJvbC5oYXNJbnN0YW5jZV07XG5mdW5jdGlvbiB0cmFuc2ZlclByb3BzKG86IEZ1bmN0aW9uLCBuOiBGdW5jdGlvbikge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIFJlZmxlY3Qub3duS2V5cyhvKSkge1xuICAgICAgICBpZiAoYnVpbGRJblByb3BzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sIGtleSk7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Mud3JpdGFibGUpIHtcbiAgICAgICAgICAgIG5ba2V5XSA9IG9ba2V5XTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpbmQoZm46IGFueSwgY29udGV4dDogYW55KSB7XG4gICAgY29uc3QgZk5PUCA9IGZ1bmN0aW9uKCkge307XG4gICAgZnVuY3Rpb24gYm91bmQoKSB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSB0cmFuc2ZlclBhcmFtcyhhcmd1bWVudHMpO1xuICAgICAgICBpZiAodGhpcyBpbnN0YW5jZW9mIGJvdW5kKSB7XG4gICAgICAgICAgICBjb25zdCBvYmogPSBuZXcgZm4oLi4uYXJncyk7XG4gICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBib3VuZC5wcm90b3R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmbi5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBib3VuZC4kbmF0aXZlID0gZm47XG4gICAgdHJhbnNmZXJQcm9wcyhmbiwgYm91bmQpO1xuICAgIGlmIChmbi5wcm90b3R5cGUpIHtcbiAgICAgICAgZk5PUC5wcm90b3R5cGUgPSBmbi5wcm90b3R5cGU7XG4gICAgfVxuICAgIGJvdW5kLnByb3RvdHlwZSA9IG5ldyBmTk9QKCk7XG4gICAgaWYgKFN5bWJvbC5oYXNJbnN0YW5jZSkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYm91bmQsIFN5bWJvbC5oYXNJbnN0YW5jZSwge1xuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWUoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcCA9IGZuLnByb3RvdHlwZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3Qob3ApIHx8IHR5cGVvZiBvcCA9PT0gJ2Z1bmN0aW9uJyA/IGluc3RhbmNlIGluc3RhbmNlb2YgZm4gOiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBib3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZha2VPYmplY3QodGFyZ2V0OiBSZWNvcmQ8UHJvcGVydHlLZXksIGFueT4sIHdyaXRhYmxlS2V5cz86IFByb3BlcnR5S2V5W10pIHtcbiAgICBjb25zdCBmYWtlT2JqZWN0ID0ge307XG4gICAgY29uc3QgcHJvcGVydHlNYXAgPSB7fTtcbiAgICBjb25zdCBzdG9yYWdlQm94ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBjb25zdCBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KTtcbiAgICBjb25zdCBkZWYgPSAocDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgcCk7XG4gICAgICAgIGlmIChkZXNjcmlwdG9yPy5jb25maWd1cmFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc0dldHRlciA9IGhhc093blByb3AoZGVzY3JpcHRvciwgJ2dldCcpO1xuICAgICAgICAgICAgY29uc3QgaGFzU2V0dGVyID0gaGFzT3duUHJvcChkZXNjcmlwdG9yLCAnc2V0Jyk7XG4gICAgICAgICAgICBjb25zdCBjYW5Xcml0YWJsZSA9IHdyaXRhYmxlS2V5cyAmJiB3cml0YWJsZUtleXMubGVuZ3RoID4gMCAmJiB3cml0YWJsZUtleXMuaW5jbHVkZXMocCk7XG4gICAgICAgICAgICBpZiAoaGFzR2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRvci5nZXQgPSAoKSA9PiAoaGFzT3duUHJvcChzdG9yYWdlQm94LCBwKSA/IHN0b3JhZ2VCb3hbcF0gOiB0YXJnZXRbcF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhhc1NldHRlcikge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0b3Iuc2V0ID0gdmFsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZUJveFtwXSA9IHZhbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjYW5Xcml0YWJsZSkge1xuICAgICAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yLndyaXRhYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhhc0dldHRlcikge1xuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLnNldCA9IHZhbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlQm94W3BdID0gdmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZha2VPYmplY3QsIHAsIE9iamVjdC5mcmVlemUoZGVzY3JpcHRvcikpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBwcm9wZXJ0eU5hbWVzLmZvckVhY2gocCA9PiB7XG4gICAgICAgIHByb3BlcnR5TWFwW3BdID0gdHJ1ZTtcbiAgICAgICAgZGVmKHApO1xuICAgIH0pO1xuICAgIC8vIOWGjeasoeW+queOr+aYr+S4uuS6huWkhOeQhuWOn+Wei+mTvuS4reeahOWxnuaAp1xuICAgIGZvciAoY29uc3QgcHJvcCBpbiB0YXJnZXQpIHtcbiAgICAgICAgaWYgKCFwcm9wZXJ0eU1hcFtwcm9wXSkge1xuICAgICAgICAgICAgZGVmKHByb3ApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWtlT2JqZWN0IGFzIGFueTtcbn1cbiJdfQ==
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { isFunction } from '../../../helpers';
|
|
2
|
-
import { DOCUMENT_BIND_FN, PLANET_SANDBOX_DOCUMENT_WHITELIST, RAW_NODE } from '../../constants';
|
|
3
|
-
import { hasOwnProp, createFakeObject, isInvalidSetAccessor, isNonWriteableValue, bind, isInvalidGetAccessor } from './common';
|
|
4
|
-
const rawDocument = Document;
|
|
5
|
-
const whitelist = ['cookie', 'title', 'location', ...(PLANET_SANDBOX_DOCUMENT_WHITELIST || [])];
|
|
6
|
-
export class ProxyDocument {
|
|
7
|
-
constructor() { }
|
|
8
|
-
createGetter() {
|
|
9
|
-
return (target, p, receiver) => {
|
|
10
|
-
const value = hasOwnProp(target, p) ? Reflect.get(target, p, receiver) : Reflect.get(document, p);
|
|
11
|
-
if (p === 'activeElement') {
|
|
12
|
-
return Reflect.get(document, p);
|
|
13
|
-
}
|
|
14
|
-
// TODO: 处理动态节点
|
|
15
|
-
// if (p === 'createElement') {
|
|
16
|
-
// return function(tagName: string, options: ElementCreationOptions) {
|
|
17
|
-
// const created = value.call(document, tagName, options);
|
|
18
|
-
// if (isObject(created)) {
|
|
19
|
-
// created[SANDBOX_INSTANCE] = sandbox;
|
|
20
|
-
// }
|
|
21
|
-
// return created;
|
|
22
|
-
// };
|
|
23
|
-
// }
|
|
24
|
-
if (isFunction(value)) {
|
|
25
|
-
let newValue = hasOwnProp(value, DOCUMENT_BIND_FN) ? value[DOCUMENT_BIND_FN] : null;
|
|
26
|
-
if (!newValue) {
|
|
27
|
-
newValue = bind(value, document);
|
|
28
|
-
}
|
|
29
|
-
const desc = Object.getOwnPropertyDescriptor(target, p);
|
|
30
|
-
if (isNonWriteableValue(desc)) {
|
|
31
|
-
if (!Object.is(newValue, desc.value)) {
|
|
32
|
-
return value;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (isInvalidGetAccessor(desc)) {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
value[DOCUMENT_BIND_FN] = newValue;
|
|
39
|
-
return newValue;
|
|
40
|
-
}
|
|
41
|
-
return value;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
createSetter() {
|
|
45
|
-
return (target, p, value, receiver) => {
|
|
46
|
-
const desc = Object.getOwnPropertyDescriptor(whitelist.includes(p) ? document : receiver || target, p);
|
|
47
|
-
if (isNonWriteableValue(desc)) {
|
|
48
|
-
if (Object.is(value, desc.value)) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
if (isInvalidSetAccessor(desc)) {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
return whitelist.includes(p) ? Reflect.set(document, p, value) : Reflect.set(target, p, value, receiver);
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
createDefineProperty() {
|
|
62
|
-
return (target, p, descriptor) => {
|
|
63
|
-
return whitelist.includes(p)
|
|
64
|
-
? Reflect.defineProperty(document, p, descriptor)
|
|
65
|
-
: Reflect.defineProperty(target, p, descriptor);
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
create() {
|
|
69
|
-
let proxyDocument = null;
|
|
70
|
-
const fakeDocument = createFakeObject(document);
|
|
71
|
-
const getter = this.createGetter();
|
|
72
|
-
const fakeDocumentProto = new Proxy(fakeDocument, {
|
|
73
|
-
get: (...args) => {
|
|
74
|
-
return getter(...args);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
const fakeDocumentCtor = function Document() {
|
|
78
|
-
if (!(this instanceof fakeDocumentCtor)) {
|
|
79
|
-
throw new TypeError(`Failed to construct 'Document': Please use the 'new' operator.`);
|
|
80
|
-
}
|
|
81
|
-
const docInstance = new rawDocument();
|
|
82
|
-
Object.setPrototypeOf(docInstance, fakeDocument);
|
|
83
|
-
return docInstance;
|
|
84
|
-
};
|
|
85
|
-
fakeDocumentCtor.prototype = fakeDocumentProto;
|
|
86
|
-
fakeDocumentCtor.prototype.constructor = fakeDocumentCtor;
|
|
87
|
-
if (Symbol.hasInstance) {
|
|
88
|
-
Object.defineProperty(fakeDocumentCtor, Symbol.hasInstance, {
|
|
89
|
-
configurable: true,
|
|
90
|
-
value(value) {
|
|
91
|
-
let proto = value;
|
|
92
|
-
if (proto === document) {
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
while ((proto = Object.getPrototypeOf(proto))) {
|
|
96
|
-
if (proto === fakeDocumentProto) {
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
const cloned = function () { };
|
|
101
|
-
cloned.prototype = fakeDocument;
|
|
102
|
-
return value instanceof cloned;
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
proxyDocument = new Proxy(Object.create(fakeDocumentProto, {
|
|
107
|
-
currentScript: {
|
|
108
|
-
value: null,
|
|
109
|
-
writable: true
|
|
110
|
-
},
|
|
111
|
-
[RAW_NODE]: {
|
|
112
|
-
writable: false,
|
|
113
|
-
configurable: false,
|
|
114
|
-
value: document
|
|
115
|
-
}
|
|
116
|
-
}), {
|
|
117
|
-
set: this.createSetter(),
|
|
118
|
-
defineProperty: this.createDefineProperty()
|
|
119
|
-
});
|
|
120
|
-
return {
|
|
121
|
-
document: proxyDocument,
|
|
122
|
-
Document: fakeDocumentCtor
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL3NhbmRib3gvcHJveHkvcHJveGllcy9kb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlDQUFpQyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hHLE9BQU8sRUFDSCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsSUFBSSxFQUNKLG9CQUFvQixFQUN2QixNQUFNLFVBQVUsQ0FBQztBQUVsQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFDN0IsTUFBTSxTQUFTLEdBQWtCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLGlDQUFpQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFL0csTUFBTSxPQUFPLGFBQWE7SUFDdEIsZ0JBQWUsQ0FBQztJQUVSLFlBQVk7UUFDaEIsT0FBTyxDQUFDLE1BQVcsRUFBRSxDQUFjLEVBQUUsUUFBYyxFQUFFLEVBQUU7WUFDbkQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsS0FBSyxlQUFlLEVBQUU7Z0JBQ3ZCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDbkM7WUFDRCxlQUFlO1lBQ2YsK0JBQStCO1lBQy9CLDBF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QyxTQUFTLEdBQUcsWUFBWSxDQUFDO29CQUNoQyxPQUFPLEtBQUssWUFBWSxNQUFNLENBQUM7Z0JBQ25DLENBQUM7YUFDSixDQUFDLENBQUM7U0FDTjtRQUNELGFBQWEsR0FBRyxJQUFJLEtBQUssQ0FDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtZQUM3QixhQUFhLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsUUFBUSxFQUFFLElBQUk7YUFDakI7WUFDRCxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNSLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFlBQVksRUFBRSxLQUFLO2dCQUNuQixLQUFLLEVBQUUsUUFBUTthQUNsQjtTQUNKLENBQUMsRUFDRjtZQUNJLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3hCLGNBQWMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7U0FDOUMsQ0FDSixDQUFDO1FBQ0YsT0FBTztZQUNILFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0I7U0FDN0IsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IERPQ1VNRU5UX0JJTkRfRk4sIFBMQU5FVF9TQU5EQk9YX0RPQ1VNRU5UX1dISVRFTElTVCwgUkFXX05PREUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBoYXNPd25Qcm9wLFxuICAgIGNyZWF0ZUZha2VPYmplY3QsXG4gICAgaXNJbnZhbGlkU2V0QWNjZXNzb3IsXG4gICAgaXNOb25Xcml0ZWFibGVWYWx1ZSxcbiAgICBiaW5kLFxuICAgIGlzSW52YWxpZEdldEFjY2Vzc29yXG59IGZyb20gJy4vY29tbW9uJztcblxuY29uc3QgcmF3RG9jdW1lbnQgPSBEb2N1bWVudDtcbmNvbnN0IHdoaXRlbGlzdDogUHJvcGVydHlLZXlbXSA9IFsnY29va2llJywgJ3RpdGxlJywgJ2xvY2F0aW9uJywgLi4uKFBMQU5FVF9TQU5EQk9YX0RPQ1VNRU5UX1dISVRFTElTVCB8fCBbXSldO1xuXG5leHBvcnQgY2xhc3MgUHJveHlEb2N1bWVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVHZXR0ZXIoKSB7XG4gICAgICAgIHJldHVybiAodGFyZ2V0OiBhbnksIHA6IFByb3BlcnR5S2V5LCByZWNlaXZlcj86IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBoYXNPd25Qcm9wKHRhcmdldCwgcCkgPyBSZWZsZWN0LmdldCh0YXJnZXQsIHAsIHJlY2VpdmVyKSA6IFJlZmxlY3QuZ2V0KGRvY3VtZW50LCBwKTtcbiAgICAgICAgICAgIGlmIChwID09PSAnYWN0aXZlRWxlbWVudCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQoZG9jdW1lbnQsIHApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVE9ETzog5aSE55CG5Yqo5oCB6IqC54K5XG4gICAgICAgICAgICAvLyBpZiAocCA9PT0gJ2NyZWF0ZUVsZW1lbnQnKSB7XG4gICAgICAgICAgICAvLyAgICAgcmV0dXJuIGZ1bmN0aW9uKHRhZ05hbWU6IHN0cmluZywgb3B0aW9uczogRWxlbWVudENyZWF0aW9uT3B0aW9ucykge1xuICAgICAgICAgICAgLy8gICAgICAgICBjb25zdCBjcmVhdGVkID0gdmFsdWUuY2FsbChkb2N1bWVudCwgdGFnTmFtZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAvLyAgICAgICAgIGlmIChpc09iamVjdChjcmVhdGVkKSkge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgY3JlYXRlZFtTQU5EQk9YX0lOU1RBTkNFXSA9IHNhbmRib3g7XG4gICAgICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICAgICAgICAgcmV0dXJuIGNyZWF0ZWQ7XG4gICAgICAgICAgICAvLyAgICAgfTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdWYWx1ZSA9IGhhc093blByb3AodmFsdWUsIERPQ1VNRU5UX0JJTkRfRk4pID8gdmFsdWVbRE9DVU1FTlRfQklORF9GTl0gOiBudWxsO1xuICAgICAgICAgICAgICAgIGlmICghbmV3VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBiaW5kKHZhbHVlLCBkb2N1bWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgcCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTm9uV3JpdGVhYmxlVmFsdWUoZGVzYykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFPYmplY3QuaXMobmV3VmFsdWUsIGRlc2MudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzSW52YWxpZEdldEFjY2Vzc29yKGRlc2MpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHVlW0RPQ1VNRU5UX0JJTkRfRk5dID0gbmV3VmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU2V0dGVyKCkge1xuICAgICAgICByZXR1cm4gKHRhcmdldDogYW55LCBwOiBQcm9wZXJ0eUtleSwgdmFsdWU6IGFueSwgcmVjZWl2ZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2hpdGVsaXN0LmluY2x1ZGVzKHApID8gZG9jdW1lbnQgOiByZWNlaXZlciB8fCB0YXJnZXQsIHApO1xuICAgICAgICAgICAgaWYgKGlzTm9uV3JpdGVhYmxlVmFsdWUoZGVzYykpIHtcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmlzKHZhbHVlLCBkZXNjLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW52YWxpZFNldEFjY2Vzc29yKGRlc2MpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHdoaXRlbGlzdC5pbmNsdWRlcyhwKSA/IFJlZmxlY3Quc2V0KGRvY3VtZW50LCBwLCB2YWx1ZSkgOiBSZWZsZWN0LnNldCh0YXJnZXQsIHAsIHZhbHVlLCByZWNlaXZlcik7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZWZpbmVQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcDogUHJvcGVydHlLZXksIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHdoaXRlbGlzdC5pbmNsdWRlcyhwKVxuICAgICAgICAgICAgICAgID8gUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShkb2N1bWVudCwgcCwgZGVzY3JpcHRvcilcbiAgICAgICAgICAgICAgICA6IFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwLCBkZXNjcmlwdG9yKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjcmVhdGUoKSB7XG4gICAgICAgIGxldCBwcm94eURvY3VtZW50ID0gbnVsbDtcbiAgICAgICAgY29uc3QgZmFrZURvY3VtZW50ID0gY3JlYXRlRmFrZU9iamVjdChkb2N1bWVudCk7XG4gICAgICAgIGNvbnN0IGdldHRlciA9IHRoaXMuY3JlYXRlR2V0dGVyKCk7XG4gICAgICAgIGNvbnN0IGZha2VEb2N1bWVudFByb3RvID0gbmV3IFByb3h5KGZha2VEb2N1bWVudCwge1xuICAgICAgICAgICAgZ2V0OiAoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXR0ZXIoLi4uYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBmYWtlRG9jdW1lbnRDdG9yID0gZnVuY3Rpb24gRG9jdW1lbnQoKSB7XG4gICAgICAgICAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgZmFrZURvY3VtZW50Q3RvcikpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBGYWlsZWQgdG8gY29uc3RydWN0ICdEb2N1bWVudCc6IFBsZWFzZSB1c2UgdGhlICduZXcnIG9wZXJhdG9yLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZG9jSW5zdGFuY2UgPSBuZXcgcmF3RG9jdW1lbnQoKTtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihkb2NJbnN0YW5jZSwgZmFrZURvY3VtZW50KTtcbiAgICAgICAgICAgIHJldHVybiBkb2NJbnN0YW5jZTtcbiAgICAgICAgfTtcbiAgICAgICAgZmFrZURvY3VtZW50Q3Rvci5wcm90b3R5cGUgPSBmYWtlRG9jdW1lbnRQcm90bztcbiAgICAgICAgZmFrZURvY3VtZW50Q3Rvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBmYWtlRG9jdW1lbnRDdG9yO1xuICAgICAgICBpZiAoU3ltYm9sLmhhc0luc3RhbmNlKSB7XG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZmFrZURvY3VtZW50Q3RvciwgU3ltYm9sLmhhc0luc3RhbmNlLCB7XG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByb3RvID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm90byA9PT0gZG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlICgocHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3RvID09PSBmYWtlRG9jdW1lbnRQcm90bykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsb25lZCA9IGZ1bmN0aW9uKCkge307XG4gICAgICAgICAgICAgICAgICAgIGNsb25lZC5wcm90b3R5cGUgPSBmYWtlRG9jdW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIGNsb25lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBwcm94eURvY3VtZW50ID0gbmV3IFByb3h5KFxuICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZShmYWtlRG9jdW1lbnRQcm90bywge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRTY3JpcHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBbUkFXX05PREVdOiB7XG4gICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGRvY3VtZW50XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2V0OiB0aGlzLmNyZWF0ZVNldHRlcigpLFxuICAgICAgICAgICAgICAgIGRlZmluZVByb3BlcnR5OiB0aGlzLmNyZWF0ZURlZmluZVByb3BlcnR5KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRvY3VtZW50OiBwcm94eURvY3VtZW50LFxuICAgICAgICAgICAgRG9jdW1lbnQ6IGZha2VEb2N1bWVudEN0b3JcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|