isomorphic-region-loader 18.0.25 → 19.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/shared/shared_folder_info.txt +3 -3
- package/browser/README.md +24 -24
- package/client/README.md +24 -24
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -0
- package/lib/build-info._auto-generated_.js +4 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/index._auto-generated_.js +2 -2
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models.js.map +1 -1
- package/lib/region-remover.js.map +1 -1
- package/lib/region.js.map +1 -1
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +2 -2
- package/src.d.ts +3 -3
- package/tmp-environment.json +4 -3
- package/websql/README.md +24 -24
- package/browser/esm2022/isomorphic-region-loader.mjs +0 -5
- package/browser/esm2022/lib/index.mjs +0 -17
- package/browser/esm2022/lib/models.mjs +0 -13
- package/browser/esm2022/lib/region-remover.mjs +0 -112
- package/browser/esm2022/lib/region.mjs +0 -151
- package/browser/esm2022/public-api.mjs +0 -2
- package/client/esm2022/isomorphic-region-loader.mjs +0 -5
- package/client/esm2022/lib/index.mjs +0 -17
- package/client/esm2022/lib/models.mjs +0 -13
- package/client/esm2022/lib/region-remover.mjs +0 -112
- package/client/esm2022/lib/region.mjs +0 -151
- package/client/esm2022/public-api.mjs +0 -2
- package/taon.jsonc +0 -12
- package/websql/esm2022/isomorphic-region-loader.mjs +0 -5
- package/websql/esm2022/lib/index.mjs +0 -17
- package/websql/esm2022/lib/models.mjs +0 -13
- package/websql/esm2022/lib/region-remover.mjs +0 -112
- package/websql/esm2022/lib/region.mjs +0 -151
- package/websql/esm2022/public-api.mjs +0 -2
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { _, path } from 'tnp-core/websql';
|
|
2
|
-
import { Region } from './region';
|
|
3
|
-
import { REGEX_REGION, TAGS } from 'tnp-config/websql';
|
|
4
|
-
export class RegionRemover {
|
|
5
|
-
static from(realtiveOrAbsFilePAth, content, replacementss, // Models.dev.Replacement[],
|
|
6
|
-
project) {
|
|
7
|
-
let fileExtension = path.extname(realtiveOrAbsFilePAth);
|
|
8
|
-
if (!replacementss) {
|
|
9
|
-
replacementss = [
|
|
10
|
-
[TAGS.BACKEND_FUNC, `return (void 0);`],
|
|
11
|
-
TAGS.BACKEND,
|
|
12
|
-
];
|
|
13
|
-
}
|
|
14
|
-
return new RegionRemover(realtiveOrAbsFilePAth, fileExtension, content, replacementss, project);
|
|
15
|
-
}
|
|
16
|
-
matchStartRegion(l) {
|
|
17
|
-
const res = !_.isUndefined(this.START_REGION.find(r => l.match(r)));
|
|
18
|
-
return res;
|
|
19
|
-
}
|
|
20
|
-
matchEndRegion(l) {
|
|
21
|
-
const res = !_.isUndefined(this.END_REGION.find(r => l.match(r)));
|
|
22
|
-
return res;
|
|
23
|
-
}
|
|
24
|
-
constructor(realtiveOrAbsFilePAth, fileExtension, content, replacementss, // Models.dev.Replacement[],
|
|
25
|
-
project) {
|
|
26
|
-
this.realtiveOrAbsFilePAth = realtiveOrAbsFilePAth;
|
|
27
|
-
this.content = content;
|
|
28
|
-
this.project = project;
|
|
29
|
-
this.START_REGION = [];
|
|
30
|
-
this.END_REGION = [];
|
|
31
|
-
if ((REGEX_REGION.TS_JS_SCSS_SASS.EXT).includes(fileExtension)) {
|
|
32
|
-
this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);
|
|
33
|
-
this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);
|
|
34
|
-
}
|
|
35
|
-
if ((REGEX_REGION.HTML.EXT).includes(fileExtension)) {
|
|
36
|
-
this.START_REGION.push(REGEX_REGION.HTML.START);
|
|
37
|
-
this.END_REGION.push(REGEX_REGION.HTML.END);
|
|
38
|
-
}
|
|
39
|
-
if ((REGEX_REGION.CSS.EXT).includes(fileExtension)) {
|
|
40
|
-
this.START_REGION.push(REGEX_REGION.CSS.START);
|
|
41
|
-
this.END_REGION.push(REGEX_REGION.CSS.END);
|
|
42
|
-
}
|
|
43
|
-
const lines = this.content.split('\n');
|
|
44
|
-
this.root = new Region(this, replacementss, void 0, 0, (lines.length - 1), _.first(lines), _.last(lines), lines);
|
|
45
|
-
this.tree(this.root);
|
|
46
|
-
}
|
|
47
|
-
tree(node) {
|
|
48
|
-
const contentLines = node.contentLines;
|
|
49
|
-
let stack = 0;
|
|
50
|
-
for (let i = 0; i < contentLines.length; i++) {
|
|
51
|
-
const l = contentLines[i];
|
|
52
|
-
if (!node.isRoot) {
|
|
53
|
-
if (i === 0) {
|
|
54
|
-
node.addNormalLine(l, 0);
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
if (i === (node.contentLines.length - 1)) {
|
|
58
|
-
node.addNormalLine(l, i);
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (node.lastRegionWithoutEnd) {
|
|
63
|
-
if (this.matchStartRegion(l)) {
|
|
64
|
-
node.addNormalLineToLastRegion(l, i);
|
|
65
|
-
stack++;
|
|
66
|
-
}
|
|
67
|
-
else if (this.matchEndRegion(l)) {
|
|
68
|
-
if (stack === 0) {
|
|
69
|
-
node.endLastRegion(i, l);
|
|
70
|
-
}
|
|
71
|
-
else if (stack > 0) {
|
|
72
|
-
node.addNormalLineToLastRegion(l, i);
|
|
73
|
-
stack--;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
if (i === (node.contentLines.length - (node.isRoot ? 1 : 2))) {
|
|
78
|
-
stack = 0;
|
|
79
|
-
node.endLastRegion(i, l);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
node.addNormalLineToLastRegion(l, i);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
if (this.matchStartRegion(l)) {
|
|
88
|
-
node.addRegion(this, node, i, l);
|
|
89
|
-
}
|
|
90
|
-
else if (this.matchEndRegion(l)) {
|
|
91
|
-
node.addNormalLine(l, i);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
node.addNormalLine(l, i);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
const children = node.regions;
|
|
99
|
-
if (children.length > 0) {
|
|
100
|
-
for (let index = 0; index < children.length; index++) {
|
|
101
|
-
const child = children[index];
|
|
102
|
-
this.tree(child);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
get output() {
|
|
107
|
-
return this.root.toString();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
;
|
|
111
|
-
({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region-remover.ts
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLXJlbW92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvaXNvbW9ycGhpYy1yZWdpb24tbG9hZGVyL3Byb2plY3RzL2lzb21vcnBoaWMtcmVnaW9uLWxvYWRlci9zcmMvbGliL3JlZ2lvbi1yZW1vdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3ZELE1BQU0sT0FBTyxhQUFhO0lBSWpCLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLHFCQUE2QixFQUM3QixPQUFlLEVBQ2YsYUFBbUIsRUFBRSw0QkFBNEI7SUFDakQsT0FBYTtRQUdiLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV4RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsYUFBYSxHQUFHO2dCQUNkLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLE9BQWM7YUFDcEIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksYUFBYSxDQUFDLHFCQUFxQixFQUFFLGFBQW9CLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsQ0FBUztRQUNoQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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dGVudCI6WyJcblxuaW1wb3J0IHsgXywgcGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgUmVnaW9uIH0gZnJvbSAnLi9yZWdpb24nO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQ29yZU1vZGVscyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBSRUdFWF9SRUdJT04sIFRBR1MgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5cblxuZXhwb3J0IGNsYXNzIFJlZ2lvblJlbW92ZXIge1xuICBwcml2YXRlIHJvb3Q6IFJlZ2lvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBTVEFSVF9SRUdJT046IFJlZ0V4cFtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgRU5EX1JFR0lPTjogUmVnRXhwW10gPSBbXTtcbiAgcHVibGljIHN0YXRpYyBmcm9tKFxuICAgIHJlYWx0aXZlT3JBYnNGaWxlUEF0aDogc3RyaW5nLFxuICAgIGNvbnRlbnQ6IHN0cmluZyxcbiAgICByZXBsYWNlbWVudHNzPzogYW55LCAvLyBNb2RlbHMuZGV2LlJlcGxhY2VtZW50W10sXG4gICAgcHJvamVjdD86IGFueSwgLy8gUHJvamVjdCxcbiAgKSB7XG5cbiAgICBsZXQgZmlsZUV4dGVuc2lvbiA9IHBhdGguZXh0bmFtZShyZWFsdGl2ZU9yQWJzRmlsZVBBdGgpO1xuXG4gICAgaWYgKCFyZXBsYWNlbWVudHNzKSB7XG4gICAgICByZXBsYWNlbWVudHNzID0gW1xuICAgICAgICBbVEFHUy5CQUNLRU5EX0ZVTkMsIGByZXR1cm4gKHZvaWQgMCk7YF0sXG4gICAgICAgIFRBR1MuQkFDS0VORCBhcyBhbnksXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlZ2lvblJlbW92ZXIocmVhbHRpdmVPckFic0ZpbGVQQXRoLCBmaWxlRXh0ZW5zaW9uIGFzIGFueSwgY29udGVudCwgcmVwbGFjZW1lbnRzcywgcHJvamVjdCk7XG4gIH1cblxuICBwcml2YXRlIG1hdGNoU3RhcnRSZWdpb24obDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzID0gIV8uaXNVbmRlZmluZWQodGhpcy5TVEFSVF9SRUdJT04uZmluZChyID0+IGwubWF0Y2gocikpKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG4gIHByaXZhdGUgbWF0Y2hFbmRSZWdpb24obDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzID0gIV8uaXNVbmRlZmluZWQodGhpcy5FTkRfUkVHSU9OLmZpbmQociA9PiBsLm1hdGNoKHIpKSk7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVhbHRpdmVPckFic0ZpbGVQQXRoOiBzdHJpbmcsXG4gICAgZmlsZUV4dGVuc2lvbjogQ29yZU1vZGVscy5DdXRhYmxlRmlsZUV4dCxcbiAgICBwcml2YXRlIGNvbnRlbnQ6IHN0cmluZyxcbiAgICByZXBsYWNlbWVudHNzPzogYW55LCAvLyBNb2RlbHMuZGV2LlJlcGxhY2VtZW50W10sXG4gICAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q/OiBhbnksIC8vIFByb2plY3RcblxuICApIHtcbiAgICBpZiAoKFJFR0VYX1JFR0lPTi5UU19KU19TQ1NTX1NBU1MuRVhUKS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgdGhpcy5TVEFSVF9SRUdJT04ucHVzaChSRUdFWF9SRUdJT04uVFNfSlNfU0NTU19TQVNTLlNUQVJUKTtcbiAgICAgIHRoaXMuRU5EX1JFR0lPTi5wdXNoKFJFR0VYX1JFR0lPTi5UU19KU19TQ1NTX1NBU1MuRU5EKTtcbiAgICB9XG4gICAgaWYgKChSRUdFWF9SRUdJT04uSFRNTC5FWFQpLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICB0aGlzLlNUQVJUX1JFR0lPTi5wdXNoKFJFR0VYX1JFR0lPTi5IVE1MLlNUQVJUKTtcbiAgICAgIHRoaXMuRU5EX1JFR0lPTi5wdXNoKFJFR0VYX1JFR0lPTi5IVE1MLkVORCk7XG4gICAgfVxuICAgIGlmICgoUkVHRVhfUkVHSU9OLkNTUy5FWFQpLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICB0aGlzLlNUQVJUX1JFR0lPTi5wdXNoKFJFR0VYX1JFR0lPTi5DU1MuU1RBUlQpO1xuICAgICAgdGhpcy5FTkRfUkVHSU9OLnB1c2goUkVHRVhfUkVHSU9OLkNTUy5FTkQpO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmVzID0gdGhpcy5jb250ZW50LnNwbGl0KCdcXG4nKTtcbiAgICB0aGlzLnJvb3QgPSBuZXcgUmVnaW9uKFxuICAgICAgdGhpcyxcbiAgICAgIHJlcGxhY2VtZW50c3MsXG4gICAgICB2b2lkIDAsXG4gICAgICAwLCAobGluZXMubGVuZ3RoIC0gMSksXG4gICAgICBfLmZpcnN0KGxpbmVzKSwgXy5sYXN0KGxpbmVzKSxcbiAgICAgIGxpbmVzKTtcbiAgICB0aGlzLnRyZWUodGhpcy5yb290KTtcbiAgfVxuXG4gIHByaXZhdGUgdHJlZShub2RlOiBSZWdpb24pIHtcbiAgICBjb25zdCBjb250ZW50TGluZXMgPSBub2RlLmNvbnRlbnRMaW5lcztcblxuXG5cblxuXG5cbiAgICBsZXQgc3RhY2sgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29udGVudExpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBsID0gY29udGVudExpbmVzW2ldO1xuICAgICAgaWYgKCFub2RlLmlzUm9vdCkge1xuICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgIG5vZGUuYWRkTm9ybWFsTGluZShsLCAwKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaSA9PT0gKG5vZGUuY29udGVudExpbmVzLmxlbmd0aCAtIDEpKSB7XG4gICAgICAgICAgbm9kZS5hZGROb3JtYWxMaW5lKGwsIGkpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobm9kZS5sYXN0UmVnaW9uV2l0aG91dEVuZCkge1xuICAgICAgICBpZiAodGhpcy5tYXRjaFN0YXJ0UmVnaW9uKGwpKSB7XG4gICAgICAgICAgbm9kZS5hZGROb3JtYWxMaW5lVG9MYXN0UmVnaW9uKGwsIGkpO1xuICAgICAgICAgIHN0YWNrKys7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXRjaEVuZFJlZ2lvbihsKSkge1xuICAgICAgICAgIGlmIChzdGFjayA9PT0gMCkge1xuICAgICAgICAgICAgbm9kZS5lbmRMYXN0UmVnaW9uKGksIGwpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhY2sgPiAwKSB7XG4gICAgICAgICAgICBub2RlLmFkZE5vcm1hbExpbmVUb0xhc3RSZWdpb24obCwgaSk7XG4gICAgICAgICAgICBzdGFjay0tO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaSA9PT0gKG5vZGUuY29udGVudExpbmVzLmxlbmd0aCAtIChub2RlLmlzUm9vdCA/IDEgOiAyKSkpIHtcbiAgICAgICAgICAgIHN0YWNrID0gMDtcbiAgICAgICAgICAgIG5vZGUuZW5kTGFzdFJlZ2lvbihpLCBsKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9kZS5hZGROb3JtYWxMaW5lVG9MYXN0UmVnaW9uKGwsIGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2hTdGFydFJlZ2lvbihsKSkge1xuICAgICAgICAgIG5vZGUuYWRkUmVnaW9uKHRoaXMsIG5vZGUsIGksIGwpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2hFbmRSZWdpb24obCkpIHtcbiAgICAgICAgICBub2RlLmFkZE5vcm1hbExpbmUobCwgaSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbm9kZS5hZGROb3JtYWxMaW5lKGwsIGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IG5vZGUucmVnaW9ucztcbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNoaWxkcmVuLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBjaGlsZCA9IGNoaWxkcmVuW2luZGV4XSBhcyBSZWdpb247XG4gICAgICAgIHRoaXMudHJlZShjaGlsZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IG91dHB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5yb290LnRvU3RyaW5nKCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9aXNvbW9ycGhpYy1yZWdpb24tbG9hZGVyIGxpYi9yZWdpb24tcmVtb3Zlci50cyJdfQ==
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/websql';
|
|
2
|
-
import { labelReplacementCode } from './models';
|
|
3
|
-
import { TAGS } from 'tnp-config/websql';
|
|
4
|
-
export class Region {
|
|
5
|
-
constructor(context, replacementss, parent, startIndex, endIndex, lineStart, lineEnd, contentLines = []) {
|
|
6
|
-
this.context = context;
|
|
7
|
-
this.replacementss = replacementss;
|
|
8
|
-
this.parent = parent;
|
|
9
|
-
this.startIndex = startIndex;
|
|
10
|
-
this.endIndex = endIndex;
|
|
11
|
-
this.lineStart = lineStart;
|
|
12
|
-
this.lineEnd = lineEnd;
|
|
13
|
-
this.contentLines = contentLines;
|
|
14
|
-
this.regionsOrStrings = [];
|
|
15
|
-
}
|
|
16
|
-
get hasEnd() {
|
|
17
|
-
return this.endIndex !== void 0;
|
|
18
|
-
}
|
|
19
|
-
get lastRegionWithoutEnd() {
|
|
20
|
-
const last = _.last(this.regionsOrStrings);
|
|
21
|
-
if (last instanceof Region && !last.hasEnd) {
|
|
22
|
-
return last;
|
|
23
|
-
}
|
|
24
|
-
return void 0;
|
|
25
|
-
}
|
|
26
|
-
get regions() {
|
|
27
|
-
return this.regionsOrStrings.filter(f => f instanceof Region);
|
|
28
|
-
}
|
|
29
|
-
setEnd(endIndex, lineEnd) {
|
|
30
|
-
this.endIndex = endIndex;
|
|
31
|
-
this.lineEnd = lineEnd;
|
|
32
|
-
}
|
|
33
|
-
get isRoot() {
|
|
34
|
-
return !this.parent;
|
|
35
|
-
}
|
|
36
|
-
addNormalLine(l, lineIndex) {
|
|
37
|
-
this.contentLines[lineIndex] = void 0;
|
|
38
|
-
this.regionsOrStrings.push(l);
|
|
39
|
-
}
|
|
40
|
-
addNormalLineToLastRegion(l, lineIndex) {
|
|
41
|
-
this.contentLines[lineIndex] = void 0;
|
|
42
|
-
this.lastRegionWithoutEnd.contentLines.push(l);
|
|
43
|
-
}
|
|
44
|
-
addRegion(context, parent, startIndex, lineStart) {
|
|
45
|
-
this.contentLines[startIndex] = void 0;
|
|
46
|
-
const newReg = new Region(context, this.replacementss, parent, startIndex, void 0, lineStart, void 0, [lineStart]);
|
|
47
|
-
this.regionsOrStrings.push(newReg);
|
|
48
|
-
}
|
|
49
|
-
endLastRegion(endIndex, lineEnd) {
|
|
50
|
-
this.contentLines[endIndex] = void 0;
|
|
51
|
-
const regionWithoutEnd = this.regionsOrStrings.find(r => r instanceof Region && !r.hasEnd);
|
|
52
|
-
regionWithoutEnd.contentLines.push(lineEnd);
|
|
53
|
-
regionWithoutEnd.setEnd(endIndex, lineEnd);
|
|
54
|
-
}
|
|
55
|
-
containsTitle(s) {
|
|
56
|
-
const res = (this.titleString.search(s) !== -1);
|
|
57
|
-
return res;
|
|
58
|
-
}
|
|
59
|
-
get titleString() {
|
|
60
|
-
let line = this.lineStart;
|
|
61
|
-
const regionWord = '#region';
|
|
62
|
-
const indexOfRegion = line.search(regionWord);
|
|
63
|
-
line = line.replace(line.slice(0, indexOfRegion + regionWord.length), '');
|
|
64
|
-
return line
|
|
65
|
-
.replace('-->', '')
|
|
66
|
-
.replace('<!--', ''); // TODO not necessery ?
|
|
67
|
-
}
|
|
68
|
-
toString() {
|
|
69
|
-
if (this.tmpOutput !== void 0) {
|
|
70
|
-
return this.tmpOutput;
|
|
71
|
-
}
|
|
72
|
-
let previous = '';
|
|
73
|
-
this.tmpOutput = this.regionsOrStrings
|
|
74
|
-
.map(regionOrString => {
|
|
75
|
-
if (regionOrString instanceof Region) {
|
|
76
|
-
const replacements = this.replacementss;
|
|
77
|
-
for (let index = 0; index < replacements.length; index++) {
|
|
78
|
-
const rep = replacements[index];
|
|
79
|
-
const isArr = _.isArray(replacements[index]);
|
|
80
|
-
const regionTag = (isArr ? _.first(rep) : rep);
|
|
81
|
-
let out = (isArr ? rep[1] : '');
|
|
82
|
-
const verticalLength = regionOrString.toString().split('\n').length - 1;
|
|
83
|
-
if (regionOrString.containsTitle(regionTag)) {
|
|
84
|
-
if (regionTag.toLowerCase() === TAGS.WEBSQL.toLowerCase()) {
|
|
85
|
-
out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\n').join('')} ${out}`;
|
|
86
|
-
}
|
|
87
|
-
if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {
|
|
88
|
-
out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\n').join('')} ${out}`;
|
|
89
|
-
}
|
|
90
|
-
if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {
|
|
91
|
-
out = `${_.times(verticalLength).map(() => labelReplacementCode.notForNpmCode + '\n').join('')} ${out}`;
|
|
92
|
-
}
|
|
93
|
-
if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {
|
|
94
|
-
out = `${_.times(verticalLength).map(() => labelReplacementCode.browserCode + '\n').join('')} ${out}`;
|
|
95
|
-
}
|
|
96
|
-
if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {
|
|
97
|
-
out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\n').join('')} ${out}`;
|
|
98
|
-
}
|
|
99
|
-
if (regionTag.toLowerCase() === TAGS.BACKEND_FUNC.toLowerCase()) {
|
|
100
|
-
let spacesPrevious = previous.search(/\S/);
|
|
101
|
-
spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);
|
|
102
|
-
out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\n').join('')}`
|
|
103
|
-
+ `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;
|
|
104
|
-
}
|
|
105
|
-
if (regionTag.toLowerCase() === TAGS.WEBSQL_FUNC.toLowerCase()) {
|
|
106
|
-
let spacesPrevious = previous.search(/\S/);
|
|
107
|
-
spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);
|
|
108
|
-
out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\n').join('')}`
|
|
109
|
-
+ `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;
|
|
110
|
-
}
|
|
111
|
-
if (regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()
|
|
112
|
-
||
|
|
113
|
-
regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()) {
|
|
114
|
-
const fn = out; // as ReturnType<typeof codeCuttFn>;
|
|
115
|
-
let expressionToExecute = regionOrString.titleString;
|
|
116
|
-
expressionToExecute = expressionToExecute.replace(regionTag, '');
|
|
117
|
-
const configForProject = this.project && this.project.env.config;
|
|
118
|
-
const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);
|
|
119
|
-
if (cutCode === null) {
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
if ((cutCode && (regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()))
|
|
123
|
-
||
|
|
124
|
-
(!cutCode && (regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()))) {
|
|
125
|
-
out = '';
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
continue;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
regionOrString.tmpOutput = out;
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
const res = regionOrString.toString();
|
|
137
|
-
previous = res;
|
|
138
|
-
return res;
|
|
139
|
-
}).join('\n');
|
|
140
|
-
return this.tmpOutput;
|
|
141
|
-
}
|
|
142
|
-
get project() {
|
|
143
|
-
return this.context.project;
|
|
144
|
-
}
|
|
145
|
-
get realtiveOrAbsFilePAth() {
|
|
146
|
-
return this.context.realtiveOrAbsFilePAth;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
;
|
|
150
|
-
({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region.ts
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL2lzb21vcnBoaWMtcmVnaW9uLWxvYWRlci9wcm9qZWN0cy9pc29tb3JwaGljLXJlZ2lvbi1sb2FkZXIvc3JjL2xpYi9yZWdpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFXLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBa0Msb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHaEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLE1BQU0sT0FBTyxNQUFNO0lBQ2pCLFlBQ1UsT0FBc0IsRUFDdkIsYUFBNEIsRUFDNUIsTUFBYyxFQUNkLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLE9BQWUsRUFDZixlQUF5QixFQUFFO1FBUDFCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQWdCNUIscUJBQWdCLEdBQXdCLEVBQUUsQ0FBQztJQWQvQyxDQUFDO0lBRUwsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLG9CQUFvQjtRQUM3QixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNDLElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FB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QUFxQixDQUFDLENBQUM7NEJBRXRGLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO2dDQUNyQixTQUFTOzRCQUNYLENBQUM7NEJBQ0QsSUFDRSxDQUFDLE9BQU8sSUFBSSxDQUNWLFNBQVMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQ2hFLENBQUM7O29DQUVGLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FDWCxTQUFTLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUNqRSxDQUFDLEVBQ0YsQ0FBQztnQ0FDRCxHQUFHLEdBQUcsRUFBRSxDQUFDOzRCQUNYLENBQUM7aUNBQU0sQ0FBQztnQ0FDTixTQUFTOzRCQUNYLENBQUM7d0JBQ0gsQ0FBQzt3QkFDRCxjQUFjLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQzt3QkFDL0IsTUFBTTtvQkFDUixDQUFDO2dCQUNILENBQUM7WUFFSCxDQUFDO1lBQ0QsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDZixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLHFCQUFxQjtRQUMvQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7SUFDNUMsQ0FBQztDQUVGO0FBR0EsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRUFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgSGVscGVycywgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBSZXBsYWNlbWVudCwgUmVwbGFjZW1lbnRTdHJpbmcsIGxhYmVsUmVwbGFjZW1lbnRDb2RlIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5pbXBvcnQgdHlwZSB7IFJlZ2lvblJlbW92ZXIgfSBmcm9tICcuL3JlZ2lvbi1yZW1vdmVyJztcbmltcG9ydCB7IFRBR1MgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5cbmV4cG9ydCBjbGFzcyBSZWdpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHQ6IFJlZ2lvblJlbW92ZXIsXG4gICAgcHVibGljIHJlcGxhY2VtZW50c3M6IFJlcGxhY2VtZW50W10sXG4gICAgcHVibGljIHBhcmVudDogUmVnaW9uLFxuICAgIHB1YmxpYyBzdGFydEluZGV4OiBudW1iZXIsXG4gICAgcHVibGljIGVuZEluZGV4OiBudW1iZXIsXG4gICAgcHVibGljIGxpbmVTdGFydDogc3RyaW5nLFxuICAgIHB1YmxpYyBsaW5lRW5kOiBzdHJpbmcsXG4gICAgcHVibGljIGNvbnRlbnRMaW5lczogc3RyaW5nW10gPSBbXSxcblxuICApIHsgfVxuICBwcml2YXRlIHRtcE91dHB1dDogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IGhhc0VuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmRJbmRleCAhPT0gdm9pZCAwO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0UmVnaW9uV2l0aG91dEVuZCgpIHtcbiAgICBjb25zdCBsYXN0ID0gXy5sYXN0KHRoaXMucmVnaW9uc09yU3RyaW5ncyk7XG4gICAgaWYgKGxhc3QgaW5zdGFuY2VvZiBSZWdpb24gJiYgIWxhc3QuaGFzRW5kKSB7XG4gICAgICByZXR1cm4gbGFzdDtcbiAgICB9XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaW9uc09yU3RyaW5nczogKFJlZ2lvbiB8IHN0cmluZylbXSA9IFtdO1xuXG4gIGdldCByZWdpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnJlZ2lvbnNPclN0cmluZ3MuZmlsdGVyKGYgPT4gZiBpbnN0YW5jZW9mIFJlZ2lvbik7XG4gIH1cblxuICBwcml2YXRlIHNldEVuZChlbmRJbmRleDogbnVtYmVyLCBsaW5lRW5kOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVuZEluZGV4ID0gZW5kSW5kZXg7XG4gICAgdGhpcy5saW5lRW5kID0gbGluZUVuZDtcbiAgfVxuXG4gIGdldCBpc1Jvb3QoKSB7XG4gICAgcmV0dXJuICF0aGlzLnBhcmVudDtcbiAgfVxuXG4gIGFkZE5vcm1hbExpbmUobDogc3RyaW5nLCBsaW5lSW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuY29udGVudExpbmVzW2xpbmVJbmRleF0gPSB2b2lkIDA7XG4gICAgdGhpcy5yZWdpb25zT3JTdHJpbmdzLnB1c2gobCk7XG4gIH1cblxuICBhZGROb3JtYWxMaW5lVG9MYXN0UmVnaW9uKGw6IHN0cmluZywgbGluZUluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmNvbnRlbnRMaW5lc1tsaW5lSW5kZXhdID0gdm9pZCAwO1xuICAgIHRoaXMubGFzdFJlZ2lvbldpdGhvdXRFbmQuY29udGVudExpbmVzLnB1c2gobCk7XG4gIH1cblxuICBhZGRSZWdpb24oY29udGV4dDogUmVnaW9uUmVtb3ZlciwgcGFyZW50OiBSZWdpb24sIHN0YXJ0SW5kZXg6IG51bWJlciwgbGluZVN0YXJ0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbnRlbnRMaW5lc1tzdGFydEluZGV4XSA9IHZvaWQgMDtcbiAgICBjb25zdCBuZXdSZWcgPSBuZXcgUmVnaW9uKFxuICAgICAgY29udGV4dCxcbiAgICAgIHRoaXMucmVwbGFjZW1lbnRzcyxcbiAgICAgIHBhcmVudCxcbiAgICAgIHN0YXJ0SW5kZXgsIHZvaWQgMCxcbiAgICAgIGxpbmVTdGFydCwgdm9pZCAwLFxuICAgICAgW2xpbmVTdGFydF1cbiAgICApO1xuICAgIHRoaXMucmVnaW9uc09yU3RyaW5ncy5wdXNoKG5ld1JlZyk7XG4gIH1cblxuICBlbmRMYXN0UmVnaW9uKGVuZEluZGV4OiBudW1iZXIsIGxpbmVFbmQ6IHN0cmluZykge1xuICAgIHRoaXMuY29udGVudExpbmVzW2VuZEluZGV4XSA9IHZvaWQgMDtcbiAgICBjb25zdCByZWdpb25XaXRob3V0RW5kID0gdGhpcy5yZWdpb25zT3JTdHJpbmdzLmZpbmQociA9PiByIGluc3RhbmNlb2YgUmVnaW9uICYmICFyLmhhc0VuZCkgYXMgUmVnaW9uO1xuICAgIHJlZ2lvbldpdGhvdXRFbmQuY29udGVudExpbmVzLnB1c2gobGluZUVuZCk7XG4gICAgcmVnaW9uV2l0aG91dEVuZC5zZXRFbmQoZW5kSW5kZXgsIGxpbmVFbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb250YWluc1RpdGxlKHM6IFJlcGxhY2VtZW50U3RyaW5nKSB7XG4gICAgY29uc3QgcmVzID0gKHRoaXMudGl0bGVTdHJpbmcuc2VhcmNoKHMpICE9PSAtMSk7XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGl0bGVTdHJpbmcoKSB7XG4gICAgbGV0IGxpbmUgPSB0aGlzLmxpbmVTdGFydDtcbiAgICBjb25zdCByZWdpb25Xb3JkID0gJyNyZWdpb24nO1xuICAgIGNvbnN0IGluZGV4T2ZSZWdpb24gPSBsaW5lLnNlYXJjaChyZWdpb25Xb3JkKTtcbiAgICBsaW5lID0gbGluZS5yZXBsYWNlKFxuICAgICAgbGluZS5zbGljZSgwLCBpbmRleE9mUmVnaW9uICsgcmVnaW9uV29yZC5sZW5ndGgpLFxuICAgICAgJydcbiAgICApO1xuICAgIHJldHVybiBsaW5lXG4gICAgICAucmVwbGFjZSgnLS0+JywgJycpXG4gICAgICAucmVwbGFjZSgnPCEtLScsICcnKTsgLy8gVE9ETyBub3QgbmVjZXNzZXJ5ID9cbiAgfVxuXG4gIHB1YmxpYyB0b1N0cmluZygpIHtcbiAgICBpZiAodGhpcy50bXBPdXRwdXQgIT09IHZvaWQgMCkge1xuICAgICAgcmV0dXJuIHRoaXMudG1wT3V0cHV0O1xuICAgIH1cbiAgICBsZXQgcHJldmlvdXMgPSAnJztcbiAgICB0aGlzLnRtcE91dHB1dCA9IHRoaXMucmVnaW9uc09yU3RyaW5nc1xuICAgICAgLm1hcChyZWdpb25PclN0cmluZyA9PiB7XG4gICAgICAgIGlmIChyZWdpb25PclN0cmluZyBpbnN0YW5jZW9mIFJlZ2lvbikge1xuXG4gICAgICAgICAgY29uc3QgcmVwbGFjZW1lbnRzID0gdGhpcy5yZXBsYWNlbWVudHNzO1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCByZXBsYWNlbWVudHMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCByZXAgPSByZXBsYWNlbWVudHNbaW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgaXNBcnIgPSBfLmlzQXJyYXkocmVwbGFjZW1lbnRzW2luZGV4XSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlZ2lvblRhZyA9IChpc0FyciA/IF8uZmlyc3QocmVwIGFzIHN0cmluZ1tdKSA6IHJlcCkgYXMgUmVwbGFjZW1lbnRTdHJpbmc7XG5cbiAgICAgICAgICAgIGxldCBvdXQgPSAoaXNBcnIgPyByZXBbMV0gOiAnJykgYXMgc3RyaW5nO1xuXG4gICAgICAgICAgICBjb25zdCB2ZXJ0aWNhbExlbmd0aCA9IHJlZ2lvbk9yU3RyaW5nLnRvU3RyaW5nKCkuc3BsaXQoJ1xcbicpLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgICAgIGlmIChyZWdpb25PclN0cmluZy5jb250YWluc1RpdGxlKHJlZ2lvblRhZykpIHtcbiAgICAgICAgICAgICAgaWYgKHJlZ2lvblRhZy50b0xvd2VyQ2FzZSgpID09PSBUQUdTLldFQlNRTC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgb3V0ID0gYCR7Xy50aW1lcyh2ZXJ0aWNhbExlbmd0aCkubWFwKCgpID0+IGxhYmVsUmVwbGFjZW1lbnRDb2RlLmJhY2tlbmRDb2RlICsgJ1xcbicpLmpvaW4oJycpfSAgJHtvdXR9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuQkFDS0VORC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgb3V0ID0gYCR7Xy50aW1lcyh2ZXJ0aWNhbExlbmd0aCkubWFwKCgpID0+IGxhYmVsUmVwbGFjZW1lbnRDb2RlLmJhY2tlbmRDb2RlICsgJ1xcbicpLmpvaW4oJycpfSAgJHtvdXR9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuTk9UX0ZPUl9OUE0udG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgIG91dCA9IGAke18udGltZXModmVydGljYWxMZW5ndGgpLm1hcCgoKSA9PiBsYWJlbFJlcGxhY2VtZW50Q29kZS5ub3RGb3JOcG1Db2RlICsgJ1xcbicpLmpvaW4oJycpfSAgJHtvdXR9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuQlJPV1NFUi50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgb3V0ID0gYCR7Xy50aW1lcyh2ZXJ0aWNhbExlbmd0aCkubWFwKCgpID0+IGxhYmVsUmVwbGFjZW1lbnRDb2RlLmJyb3dzZXJDb2RlICsgJ1xcbicpLmpvaW4oJycpfSAgJHtvdXR9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuV0VCU1FMX09OTFkudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgIG91dCA9IGAke18udGltZXModmVydGljYWxMZW5ndGgpLm1hcCgoKSA9PiBsYWJlbFJlcGxhY2VtZW50Q29kZS5iYWNrZW5kQ29kZSArICdcXG4nKS5qb2luKCcnKX0gICR7b3V0fWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHJlZ2lvblRhZy50b0xvd2VyQ2FzZSgpID09PSBUQUdTLkJBQ0tFTkRfRlVOQy50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGxldCBzcGFjZXNQcmV2aW91cyA9IHByZXZpb3VzLnNlYXJjaCgvXFxTLyk7XG4gICAgICAgICAgICAgICAgc3BhY2VzUHJldmlvdXMgPSAoc3BhY2VzUHJldmlvdXMgPCAwID8gMCA6IHNwYWNlc1ByZXZpb3VzKTtcbiAgICAgICAgICAgICAgICBvdXQgPSBgJHtfLnRpbWVzKHZlcnRpY2FsTGVuZ3RoKS5tYXAoKCkgPT4gbGFiZWxSZXBsYWNlbWVudENvZGUuYmFja2VuZENvZGUgKyAnXFxuJykuam9pbignJyl9YFxuICAgICAgICAgICAgICAgICAgKyBgJHtfLnRpbWVzKHNwYWNlc1ByZXZpb3VzKS5tYXAobiA9PiAnICcpLmpvaW4oJycpfSAgJHtvdXR9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgcmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuV0VCU1FMX0ZVTkMudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBsZXQgc3BhY2VzUHJldmlvdXMgPSBwcmV2aW91cy5zZWFyY2goL1xcUy8pO1xuICAgICAgICAgICAgICAgIHNwYWNlc1ByZXZpb3VzID0gKHNwYWNlc1ByZXZpb3VzIDwgMCA/IDAgOiBzcGFjZXNQcmV2aW91cyk7XG4gICAgICAgICAgICAgICAgb3V0ID0gYCR7Xy50aW1lcyh2ZXJ0aWNhbExlbmd0aCkubWFwKCgpID0+IGxhYmVsUmVwbGFjZW1lbnRDb2RlLmJhY2tlbmRDb2RlICsgJ1xcbicpLmpvaW4oJycpfWBcbiAgICAgICAgICAgICAgICAgICsgYCR7Xy50aW1lcyhzcGFjZXNQcmV2aW91cykubWFwKG4gPT4gJyAnKS5qb2luKCcnKX0gICR7b3V0fWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHJlZ2lvblRhZy50b0xvd2VyQ2FzZSgpID09PSBUQUdTLkNVVF9DT0RFX0lGX1RSVUUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgIHx8XG4gICAgICAgICAgICAgICAgcmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuQ1VUX0NPREVfSUZfRkFMU0UudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmbiA9IG91dCBhcyBhbnk7IC8vIGFzIFJldHVyblR5cGU8dHlwZW9mIGNvZGVDdXR0Rm4+O1xuICAgICAgICAgICAgICAgIGxldCBleHByZXNzaW9uVG9FeGVjdXRlID0gcmVnaW9uT3JTdHJpbmcudGl0bGVTdHJpbmc7XG5cbiAgICAgICAgICAgICAgICBleHByZXNzaW9uVG9FeGVjdXRlID0gZXhwcmVzc2lvblRvRXhlY3V0ZS5yZXBsYWNlKHJlZ2lvblRhZywgJycpO1xuXG5cbiAgICAgICAgICAgICAgICBjb25zdCBjb25maWdGb3JQcm9qZWN0ID0gdGhpcy5wcm9qZWN0ICYmIHRoaXMucHJvamVjdC5lbnYuY29uZmlnO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY3V0Q29kZSA9IGZuKGV4cHJlc3Npb25Ub0V4ZWN1dGUsIGNvbmZpZ0ZvclByb2plY3QsIHRoaXMucmVhbHRpdmVPckFic0ZpbGVQQXRoKTtcblxuICAgICAgICAgICAgICAgIGlmIChjdXRDb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgKGN1dENvZGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICByZWdpb25UYWcudG9Mb3dlckNhc2UoKSA9PT0gVEFHUy5DVVRfQ09ERV9JRl9UUlVFLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgICB8fFxuICAgICAgICAgICAgICAgICAgKCFjdXRDb2RlICYmIChcbiAgICAgICAgICAgICAgICAgICAgcmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuQ1VUX0NPREVfSUZfRkFMU0UudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIG91dCA9ICcnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmVnaW9uT3JTdHJpbmcudG1wT3V0cHV0ID0gb3V0O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXMgPSByZWdpb25PclN0cmluZy50b1N0cmluZygpO1xuICAgICAgICBwcmV2aW91cyA9IHJlcztcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH0pLmpvaW4oJ1xcbicpO1xuICAgIHJldHVybiB0aGlzLnRtcE91dHB1dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHByb2plY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5wcm9qZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcmVhbHRpdmVPckFic0ZpbGVQQXRoKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVhbHRpdmVPckFic0ZpbGVQQXRoO1xuICB9XG5cbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9aXNvbW9ycGhpYy1yZWdpb24tbG9hZGVyIGxpYi9yZWdpb24udHMiXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './lib';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC9pc29tb3JwaGljLXJlZ2lvbi1sb2FkZXIvcHJvamVjdHMvaXNvbW9ycGhpYy1yZWdpb24tbG9hZGVyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19
|