isomorphic-region-loader 16.5.2 → 16.5.4
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 +1 -1
- package/browser/esm2022/lib/index.mjs +10 -16
- package/browser/esm2022/lib/region-remover.mjs +112 -0
- package/browser/esm2022/lib/region.mjs +151 -0
- package/browser/fesm2022/isomorphic-region-loader.mjs +268 -13
- package/browser/fesm2022/isomorphic-region-loader.mjs.map +1 -1
- package/browser/lib/index.d.ts +3 -1
- package/browser/lib/region-remover.d.ts +16 -0
- package/browser/lib/region.d.ts +30 -0
- package/client/esm2022/lib/index.mjs +10 -16
- package/client/esm2022/lib/region-remover.mjs +112 -0
- package/client/esm2022/lib/region.mjs +151 -0
- package/client/fesm2022/isomorphic-region-loader.mjs +268 -13
- package/client/fesm2022/isomorphic-region-loader.mjs.map +1 -1
- package/client/lib/index.d.ts +3 -1
- package/client/lib/region-remover.d.ts +16 -0
- package/client/lib/region.d.ts +30 -0
- package/client/package.json +32 -32
- package/lib/index.d.ts +2 -2
- package/lib/index.js +4 -10
- package/lib/index.js.map +1 -1
- package/lib/{region-remover.backend.js → region-remover.js} +3 -3
- package/lib/region-remover.js.map +1 -0
- package/lib/{region.backend.d.ts → region.d.ts} +1 -1
- package/lib/{region.backend.js → region.js} +1 -1
- package/lib/region.js.map +1 -0
- package/package.json +3 -3
- package/src.d.ts +6 -0
- package/tmp-environment.json +36 -37
- package/websql/esm2022/lib/index.mjs +10 -16
- package/websql/esm2022/lib/region-remover.mjs +112 -0
- package/websql/esm2022/lib/region.mjs +151 -0
- package/websql/fesm2022/isomorphic-region-loader.mjs +268 -13
- package/websql/fesm2022/isomorphic-region-loader.mjs.map +1 -1
- package/websql/lib/index.d.ts +3 -1
- package/websql/lib/region-remover.d.ts +16 -0
- package/websql/lib/region.d.ts +30 -0
- package/lib/region-remover.backend.js.map +0 -1
- package/lib/region.backend.js.map +0 -1
- /package/lib/{region-remover.backend.d.ts → region-remover.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
2
2
|
|
|
3
|
-
Assets from this folder are being shipped with this npm package (isomorphic-region-loader@16.5.
|
|
3
|
+
Assets from this folder are being shipped with this npm package (isomorphic-region-loader@16.5.4)
|
|
4
4
|
created from this project.
|
|
5
5
|
|
|
6
6
|
THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
/* */
|
|
1
|
+
import { RegionRemover } from "./region-remover";
|
|
3
2
|
function StripBrowserCode(content) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/* */
|
|
11
|
-
/* */
|
|
12
|
-
/* */
|
|
13
|
-
/* */
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
content = RegionRemover.from(this.resourcePath, content, ['@browser']).output + '\n';
|
|
5
|
+
if (this.cacheable) {
|
|
6
|
+
this.cacheable(true);
|
|
7
|
+
}
|
|
8
|
+
return content;
|
|
14
9
|
}
|
|
15
10
|
export { StripBrowserCode as StripBlockLoader };
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
/* */
|
|
11
|
+
export * from './region-remover';
|
|
12
|
+
export * from './region';
|
|
19
13
|
export default StripBrowserCode;
|
|
20
14
|
;
|
|
21
15
|
({}); // @--end-of-file-for-module=isomorphic-region-loader lib/index.ts
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2lzb21vcnBoaWMtcmVnaW9uLWxvYWRlci9wcm9qZWN0cy9pc29tb3JwaGljLXJlZ2lvbi1sb2FkZXIvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHakQsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFPO0lBRy9CLGFBQWE7SUFDYixPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUVyRixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QjtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxPQUFPLEVBQUUsZ0JBQWdCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztBQUVoRCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGVBQWUsZ0JBQWdCLENBQUM7QUFFL0IsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrRUFBa0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBSZWdpb25SZW1vdmVyIH0gZnJvbSBcIi4vcmVnaW9uLXJlbW92ZXJcIjtcblxuXG5mdW5jdGlvbiBTdHJpcEJyb3dzZXJDb2RlKGNvbnRlbnQpIHtcblxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgY29udGVudCA9IFJlZ2lvblJlbW92ZXIuZnJvbSh0aGlzLnJlc291cmNlUGF0aCwgY29udGVudCwgWydAYnJvd3NlciddKS5vdXRwdXQgKyAnXFxuJztcblxuICBpZiAodGhpcy5jYWNoZWFibGUpIHtcbiAgICB0aGlzLmNhY2hlYWJsZSh0cnVlKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5leHBvcnQgeyBTdHJpcEJyb3dzZXJDb2RlIGFzIFN0cmlwQmxvY2tMb2FkZXIgfTtcblxuZXhwb3J0ICogZnJvbSAnLi9yZWdpb24tcmVtb3Zlcic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lvbic7XG5cbmV4cG9ydCBkZWZhdWx0IFN0cmlwQnJvd3NlckNvZGU7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1pc29tb3JwaGljLXJlZ2lvbi1sb2FkZXIgbGliL2luZGV4LnRzIl19
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { _, path } from 'tnp-core/browser';
|
|
2
|
+
import { Region } from './region';
|
|
3
|
+
import { REGEX_REGION, TAGS } from 'tnp-config/browser';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLXJlbW92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL2lzb21vcnBoaWMtcmVnaW9uLWxvYWRlci9wcm9qZWN0cy9pc29tb3JwaGljLXJlZ2lvbi1sb2FkZXIvc3JjL2xpYi9yZWdpb24tcmVtb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd4RCxNQUFNLE9BQU8sYUFBYTtJQUlqQixNQUFNLENBQUMsSUFBSSxDQUNoQixxQkFBNkIsRUFDN0IsT0FBZSxFQUNmLGFBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELE9BQWE7UUFHYixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixhQUFhLEdBQUc7Z0JBQ2QsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDO2dCQUN2QyxJQUFJLENBQUMsT0FBYzthQUNwQixDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksYUFBYSxDQUFDLHFCQUFxQixFQUFFLGFBQW9CLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsQ0FBUztRQUNoQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSxP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QUFDLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ2xDO3FCQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzFCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMxQjthQUNGO1NBQ0Y7UUFHRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3BELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQVcsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJFQUEyRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfLCBwYXRoIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFJlZ2lvbiB9IGZyb20gJy4vcmVnaW9uJztcblxuaW1wb3J0IHsgQ29uZmlnTW9kZWxzIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IFJFR0VYX1JFR0lPTiwgVEFHUyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5cblxuZXhwb3J0IGNsYXNzIFJlZ2lvblJlbW92ZXIge1xuICBwcml2YXRlIHJvb3Q6IFJlZ2lvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBTVEFSVF9SRUdJT046IFJlZ0V4cFtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgRU5EX1JFR0lPTjogUmVnRXhwW10gPSBbXTtcbiAgcHVibGljIHN0YXRpYyBmcm9tKFxuICAgIHJlYWx0aXZlT3JBYnNGaWxlUEF0aDogc3RyaW5nLFxuICAgIGNvbnRlbnQ6IHN0cmluZyxcbiAgICByZXBsYWNlbWVudHNzPzogYW55LCAvLyBNb2RlbHMuZGV2LlJlcGxhY2VtZW50W10sXG4gICAgcHJvamVjdD86IGFueSwgLy8gUHJvamVjdCxcbiAgKSB7XG5cbiAgICBsZXQgZmlsZUV4dGVuc2lvbiA9IHBhdGguZXh0bmFtZShyZWFsdGl2ZU9yQWJzRmlsZVBBdGgpO1xuXG4gICAgaWYgKCFyZXBsYWNlbWVudHNzKSB7XG4gICAgICByZXBsYWNlbWVudHNzID0gW1xuICAgICAgICBbVEFHUy5CQUNLRU5EX0ZVTkMsIGByZXR1cm4gKHZvaWQgMCk7YF0sXG4gICAgICAgIFRBR1MuQkFDS0VORCBhcyBhbnksXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlZ2lvblJlbW92ZXIocmVhbHRpdmVPckFic0ZpbGVQQXRoLCBmaWxlRXh0ZW5zaW9uIGFzIGFueSwgY29udGVudCwgcmVwbGFjZW1lbnRzcywgcHJvamVjdCk7XG4gIH1cblxuICBwcml2YXRlIG1hdGNoU3RhcnRSZWdpb24obDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzID0gIV8uaXNVbmRlZmluZWQodGhpcy5TVEFSVF9SRUdJT04uZmluZChyID0+IGwubWF0Y2gocikpKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG4gIHByaXZhdGUgbWF0Y2hFbmRSZWdpb24obDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzID0gIV8uaXNVbmRlZmluZWQodGhpcy5FTkRfUkVHSU9OLmZpbmQociA9PiBsLm1hdGNoKHIpKSk7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVhbHRpdmVPckFic0ZpbGVQQXRoOiBzdHJpbmcsXG4gICAgZmlsZUV4dGVuc2lvbjogQ29uZmlnTW9kZWxzLkN1dGFibGVGaWxlRXh0LFxuICAgIHByaXZhdGUgY29udGVudDogc3RyaW5nLFxuICAgIHJlcGxhY2VtZW50c3M/OiBhbnksIC8vIE1vZGVscy5kZXYuUmVwbGFjZW1lbnRbXSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdD86IGFueSwgLy8gUHJvamVjdFxuXG4gICkge1xuICAgIGlmICgoUkVHRVhfUkVHSU9OLlRTX0pTX1NDU1NfU0FTUy5FWFQpLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICB0aGlzLlNUQVJUX1JFR0lPTi5wdXNoKFJFR0VYX1JFR0lPTi5UU19KU19TQ1NTX1NBU1MuU1RBUlQpO1xuICAgICAgdGhpcy5FTkRfUkVHSU9OLnB1c2goUkVHRVhfUkVHSU9OLlRTX0pTX1NDU1NfU0FTUy5FTkQpO1xuICAgIH1cbiAgICBpZiAoKFJFR0VYX1JFR0lPTi5IVE1MLkVYVCkuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgIHRoaXMuU1RBUlRfUkVHSU9OLnB1c2goUkVHRVhfUkVHSU9OLkhUTUwuU1RBUlQpO1xuICAgICAgdGhpcy5FTkRfUkVHSU9OLnB1c2goUkVHRVhfUkVHSU9OLkhUTUwuRU5EKTtcbiAgICB9XG4gICAgaWYgKChSRUdFWF9SRUdJT04uQ1NTLkVYVCkuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgIHRoaXMuU1RBUlRfUkVHSU9OLnB1c2goUkVHRVhfUkVHSU9OLkNTUy5TVEFSVCk7XG4gICAgICB0aGlzLkVORF9SRUdJT04ucHVzaChSRUdFWF9SRUdJT04uQ1NTLkVORCk7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZXMgPSB0aGlzLmNvbnRlbnQuc3BsaXQoJ1xcbicpO1xuICAgIHRoaXMucm9vdCA9IG5ldyBSZWdpb24oXG4gICAgICB0aGlzLFxuICAgICAgcmVwbGFjZW1lbnRzcyxcbiAgICAgIHZvaWQgMCxcbiAgICAgIDAsIChsaW5lcy5sZW5ndGggLSAxKSxcbiAgICAgIF8uZmlyc3QobGluZXMpLCBfLmxhc3QobGluZXMpLFxuICAgICAgbGluZXMpO1xuICAgIHRoaXMudHJlZSh0aGlzLnJvb3QpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmVlKG5vZGU6IFJlZ2lvbikge1xuICAgIGNvbnN0IGNvbnRlbnRMaW5lcyA9IG5vZGUuY29udGVudExpbmVzO1xuXG5cblxuXG5cblxuICAgIGxldCBzdGFjayA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250ZW50TGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGwgPSBjb250ZW50TGluZXNbaV07XG4gICAgICBpZiAoIW5vZGUuaXNSb290KSB7XG4gICAgICAgIGlmIChpID09PSAwKSB7XG4gICAgICAgICAgbm9kZS5hZGROb3JtYWxMaW5lKGwsIDApO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpID09PSAobm9kZS5jb250ZW50TGluZXMubGVuZ3RoIC0gMSkpIHtcbiAgICAgICAgICBub2RlLmFkZE5vcm1hbExpbmUobCwgaSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChub2RlLmxhc3RSZWdpb25XaXRob3V0RW5kKSB7XG4gICAgICAgIGlmICh0aGlzLm1hdGNoU3RhcnRSZWdpb24obCkpIHtcbiAgICAgICAgICBub2RlLmFkZE5vcm1hbExpbmVUb0xhc3RSZWdpb24obCwgaSk7XG4gICAgICAgICAgc3RhY2srKztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1hdGNoRW5kUmVnaW9uKGwpKSB7XG4gICAgICAgICAgaWYgKHN0YWNrID09PSAwKSB7XG4gICAgICAgICAgICBub2RlLmVuZExhc3RSZWdpb24oaSwgbCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGFjayA+IDApIHtcbiAgICAgICAgICAgIG5vZGUuYWRkTm9ybWFsTGluZVRvTGFzdFJlZ2lvbihsLCBpKTtcbiAgICAgICAgICAgIHN0YWNrLS07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChpID09PSAobm9kZS5jb250ZW50TGluZXMubGVuZ3RoIC0gKG5vZGUuaXNSb290ID8gMSA6IDIpKSkge1xuICAgICAgICAgICAgc3RhY2sgPSAwO1xuICAgICAgICAgICAgbm9kZS5lbmRMYXN0UmVnaW9uKGksIGwpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBub2RlLmFkZE5vcm1hbExpbmVUb0xhc3RSZWdpb24obCwgaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5tYXRjaFN0YXJ0UmVnaW9uKGwpKSB7XG4gICAgICAgICAgbm9kZS5hZGRSZWdpb24odGhpcywgbm9kZSwgaSwgbCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXRjaEVuZFJlZ2lvbihsKSkge1xuICAgICAgICAgIG5vZGUuYWRkTm9ybWFsTGluZShsLCBpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub2RlLmFkZE5vcm1hbExpbmUobCwgaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIGNvbnN0IGNoaWxkcmVuID0gbm9kZS5yZWdpb25zO1xuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2hpbGRyZW4ubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gY2hpbGRyZW5baW5kZXhdIGFzIFJlZ2lvbjtcbiAgICAgICAgdGhpcy50cmVlKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgb3V0cHV0KCkge1xuICAgIHJldHVybiB0aGlzLnJvb3QudG9TdHJpbmcoKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1pc29tb3JwaGljLXJlZ2lvbi1sb2FkZXIgbGliL3JlZ2lvbi1yZW1vdmVyLnRzIl19
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { Models } from 'tnp-models/browser';
|
|
3
|
+
import { TAGS } from 'tnp-config/browser';
|
|
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(() => Models.label.backendCode + '\n').join('')} ${out}`;
|
|
86
|
+
}
|
|
87
|
+
if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {
|
|
88
|
+
out = `${_.times(verticalLength).map(() => Models.label.backendCode + '\n').join('')} ${out}`;
|
|
89
|
+
}
|
|
90
|
+
if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {
|
|
91
|
+
out = `${_.times(verticalLength).map(() => Models.label.notForNpmCode + '\n').join('')} ${out}`;
|
|
92
|
+
}
|
|
93
|
+
if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {
|
|
94
|
+
out = `${_.times(verticalLength).map(() => Models.label.browserCode + '\n').join('')} ${out}`;
|
|
95
|
+
}
|
|
96
|
+
if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {
|
|
97
|
+
out = `${_.times(verticalLength).map(() => Models.label.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(() => Models.label.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(() => Models.label.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9pc29tb3JwaGljLXJlZ2lvbi1sb2FkZXIvcHJvamVjdHMvaXNvbW9ycGhpYy1yZWdpb24tbG9hZGVyL3NyYy9saWIvcmVnaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBVyxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFDLE1BQU0sT0FBTyxNQUFNO0lBQ2pCLFlBQ1UsT0FBc0IsRUFDdkIsYUFBdUMsRUFDdkMsTUFBYyxFQUNkLFVBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLE9BQWUsRUFDZixlQUF5QixFQUFFO1FBUDFCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3ZDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsaUJBQVksR0FBWixZQUFZLENBQWU7UUFnQjVCLHFCQUFnQixHQUF3QixFQUFFLENBQUM7SUFkL0MsQ0FBQztJQUVMLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxvQkFBb0I7UUFDN0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQyxJQUFJLElBQUksWUFBWSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFB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NkJBQ1Y7NEJBQ0QsSUFDRSxDQUFDLE9BQU8sSUFBSSxDQUNWLFNBQVMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQ2hFLENBQUM7O29DQUVGLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FDWCxTQUFTLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUNqRSxDQUFDLEVBQ0Y7Z0NBQ0EsR0FBRyxHQUFHLEVBQUUsQ0FBQzs2QkFDVjtpQ0FBTTtnQ0FDTCxTQUFTOzZCQUNWO3lCQUNGO3dCQUNELGNBQWMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO3dCQUMvQixNQUFNO3FCQUNQO2lCQUNGO2FBRUY7WUFDRCxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEMsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUNmLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVkscUJBQXFCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztJQUM1QyxDQUFDO0NBRUY7QUFHQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1FQUFtRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBIZWxwZXJzLCBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICd0bnAtbW9kZWxzL2Jyb3dzZXInO1xuXG5pbXBvcnQgdHlwZSB7IFJlZ2lvblJlbW92ZXIgfSBmcm9tICcuL3JlZ2lvbi1yZW1vdmVyJztcbmltcG9ydCB7IFRBR1MgfSBmcm9tICd0bnAtY29uZmlnL2Jyb3dzZXInO1xuXG5leHBvcnQgY2xhc3MgUmVnaW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0OiBSZWdpb25SZW1vdmVyLFxuICAgIHB1YmxpYyByZXBsYWNlbWVudHNzOiBNb2RlbHMuZGV2LlJlcGxhY2VtZW50W10sXG4gICAgcHVibGljIHBhcmVudDogUmVnaW9uLFxuICAgIHB1YmxpYyBzdGFydEluZGV4OiBudW1iZXIsXG4gICAgcHVibGljIGVuZEluZGV4OiBudW1iZXIsXG4gICAgcHVibGljIGxpbmVTdGFydDogc3RyaW5nLFxuICAgIHB1YmxpYyBsaW5lRW5kOiBzdHJpbmcsXG4gICAgcHVibGljIGNvbnRlbnRMaW5lczogc3RyaW5nW10gPSBbXSxcblxuICApIHsgfVxuICBwcml2YXRlIHRtcE91dHB1dDogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IGhhc0VuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmRJbmRleCAhPT0gdm9pZCAwO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0UmVnaW9uV2l0aG91dEVuZCgpIHtcbiAgICBjb25zdCBsYXN0ID0gXy5sYXN0KHRoaXMucmVnaW9uc09yU3RyaW5ncyk7XG4gICAgaWYgKGxhc3QgaW5zdGFuY2VvZiBSZWdpb24gJiYgIWxhc3QuaGFzRW5kKSB7XG4gICAgICByZXR1cm4gbGFzdDtcbiAgICB9XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaW9uc09yU3RyaW5nczogKFJlZ2lvbiB8IHN0cmluZylbXSA9IFtdO1xuXG4gIGdldCByZWdpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnJlZ2lvbnNPclN0cmluZ3MuZmlsdGVyKGYgPT4gZiBpbnN0YW5jZW9mIFJlZ2lvbik7XG4gIH1cblxuICBwcml2YXRlIHNldEVuZChlbmRJbmRleDogbnVtYmVyLCBsaW5lRW5kOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVuZEluZGV4ID0gZW5kSW5kZXg7XG4gICAgdGhpcy5saW5lRW5kID0gbGluZUVuZDtcbiAgfVxuXG4gIGdldCBpc1Jvb3QoKSB7XG4gICAgcmV0dXJuICF0aGlzLnBhcmVudDtcbiAgfVxuXG4gIGFkZE5vcm1hbExpbmUobDogc3RyaW5nLCBsaW5lSW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuY29udGVudExpbmVzW2xpbmVJbmRleF0gPSB2b2lkIDA7XG4gICAgdGhpcy5yZWdpb25zT3JTdHJpbmdzLnB1c2gobCk7XG4gIH1cblxuICBhZGROb3JtYWxMaW5lVG9MYXN0UmVnaW9uKGw6IHN0cmluZywgbGluZUluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmNvbnRlbnRMaW5lc1tsaW5lSW5kZXhdID0gdm9pZCAwO1xuICAgIHRoaXMubGFzdFJlZ2lvbldpdGhvdXRFbmQuY29udGVudExpbmVzLnB1c2gobCk7XG4gIH1cblxuICBhZGRSZWdpb24oY29udGV4dDogUmVnaW9uUmVtb3ZlciwgcGFyZW50OiBSZWdpb24sIHN0YXJ0SW5kZXg6IG51bWJlciwgbGluZVN0YXJ0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbnRlbnRMaW5lc1tzdGFydEluZGV4XSA9IHZvaWQgMDtcbiAgICBjb25zdCBuZXdSZWcgPSBuZXcgUmVnaW9uKFxuICAgICAgY29udGV4dCxcbiAgICAgIHRoaXMucmVwbGFjZW1lbnRzcyxcbiAgICAgIHBhcmVudCxcbiAgICAgIHN0YXJ0SW5kZXgsIHZvaWQgMCxcbiAgICAgIGxpbmVTdGFydCwgdm9pZCAwLFxuICAgICAgW2xpbmVTdGFydF1cbiAgICApO1xuICAgIHRoaXMucmVnaW9uc09yU3RyaW5ncy5wdXNoKG5ld1JlZyk7XG4gIH1cblxuICBlbmRMYXN0UmVnaW9uKGVuZEluZGV4OiBudW1iZXIsIGxpbmVFbmQ6IHN0cmluZykge1xuICAgIHRoaXMuY29udGVudExpbmVzW2VuZEluZGV4XSA9IHZvaWQgMDtcbiAgICBjb25zdCByZWdpb25XaXRob3V0RW5kID0gdGhpcy5yZWdpb25zT3JTdHJpbmdzLmZpbmQociA9PiByIGluc3RhbmNlb2YgUmVnaW9uICYmICFyLmhhc0VuZCkgYXMgUmVnaW9uO1xuICAgIHJlZ2lvbldpdGhvdXRFbmQuY29udGVudExpbmVzLnB1c2gobGluZUVuZCk7XG4gICAgcmVnaW9uV2l0aG91dEVuZC5zZXRFbmQoZW5kSW5kZXgsIGxpbmVFbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb250YWluc1RpdGxlKHM6IE1vZGVscy5kZXYuUmVwbGFjZW1lbnRTdHJpbmcpIHtcbiAgICBjb25zdCByZXMgPSAodGhpcy50aXRsZVN0cmluZy5zZWFyY2gocykgIT09IC0xKTtcblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBwcml2YXRlIGdldCB0aXRsZVN0cmluZygpIHtcbiAgICBsZXQgbGluZSA9IHRoaXMubGluZVN0YXJ0O1xuICAgIGNvbnN0IHJlZ2lvbldvcmQgPSAnI3JlZ2lvbic7XG4gICAgY29uc3QgaW5kZXhPZlJlZ2lvbiA9IGxpbmUuc2VhcmNoKHJlZ2lvbldvcmQpO1xuICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoXG4gICAgICBsaW5lLnNsaWNlKDAsIGluZGV4T2ZSZWdpb24gKyByZWdpb25Xb3JkLmxlbmd0aCksXG4gICAgICAnJ1xuICAgICk7XG4gICAgcmV0dXJuIGxpbmVcbiAgICAgIC5yZXBsYWNlKCctLT4nLCAnJylcbiAgICAgIC5yZXBsYWNlKCc8IS0tJywgJycpOyAvLyBUT0RPIG5vdCBuZWNlc3NlcnkgP1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIGlmICh0aGlzLnRtcE91dHB1dCAhPT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gdGhpcy50bXBPdXRwdXQ7XG4gICAgfVxuICAgIGxldCBwcmV2aW91cyA9ICcnO1xuICAgIHRoaXMudG1wT3V0cHV0ID0gdGhpcy5yZWdpb25zT3JTdHJpbmdzXG4gICAgICAubWFwKHJlZ2lvbk9yU3RyaW5nID0+IHtcbiAgICAgICAgaWYgKHJlZ2lvbk9yU3RyaW5nIGluc3RhbmNlb2YgUmVnaW9uKSB7XG5cbiAgICAgICAgICBjb25zdCByZXBsYWNlbWVudHMgPSB0aGlzLnJlcGxhY2VtZW50c3M7XG4gICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHJlcGxhY2VtZW50cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJlcCA9IHJlcGxhY2VtZW50c1tpbmRleF07XG4gICAgICAgICAgICBjb25zdCBpc0FyciA9IF8uaXNBcnJheShyZXBsYWNlbWVudHNbaW5kZXhdKTtcblxuICAgICAgICAgICAgY29uc3QgcmVnaW9uVGFnID0gKGlzQXJyID8gXy5maXJzdChyZXAgYXMgc3RyaW5nW10pIDogcmVwKSBhcyBNb2RlbHMuZGV2LlJlcGxhY2VtZW50U3RyaW5nO1xuXG4gICAgICAgICAgICBsZXQgb3V0ID0gKGlzQXJyID8gcmVwWzFdIDogJycpIGFzIHN0cmluZztcblxuICAgICAgICAgICAgY29uc3QgdmVydGljYWxMZW5ndGggPSByZWdpb25PclN0cmluZy50b1N0cmluZygpLnNwbGl0KCdcXG4nKS5sZW5ndGggLSAxO1xuXG4gICAgICAgICAgICBpZiAocmVnaW9uT3JTdHJpbmcuY29udGFpbnNUaXRsZShyZWdpb25UYWcpKSB7XG4gICAgICAgICAgICAgIGlmIChyZWdpb25UYWcudG9Mb3dlckNhc2UoKSA9PT0gVEFHUy5XRUJTUUwudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgIG91dCA9IGAke18udGltZXModmVydGljYWxMZW5ndGgpLm1hcCgoKSA9PiBNb2RlbHMubGFiZWwuYmFja2VuZENvZGUgKyAnXFxuJykuam9pbignJyl9ICAke291dH1gO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZWdpb25UYWcudG9Mb3dlckNhc2UoKSA9PT0gVEFHUy5CQUNLRU5ELnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICBvdXQgPSBgJHtfLnRpbWVzKHZlcnRpY2FsTGVuZ3RoKS5tYXAoKCkgPT4gTW9kZWxzLmxhYmVsLmJhY2tlbmRDb2RlICsgJ1xcbicpLmpvaW4oJycpfSAgJHtvdXR9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuTk9UX0ZPUl9OUE0udG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgIG91dCA9IGAke18udGltZXModmVydGljYWxMZW5ndGgpLm1hcCgoKSA9PiBNb2RlbHMubGFiZWwubm90Rm9yTnBtQ29kZSArICdcXG4nKS5qb2luKCcnKX0gICR7b3V0fWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlZ2lvblRhZy50b0xvd2VyQ2FzZSgpID09PSBUQUdTLkJST1dTRVIudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgIG91dCA9IGAke18udGltZXModmVydGljYWxMZW5ndGgpLm1hcCgoKSA9PiBNb2RlbHMubGFiZWwuYnJvd3NlckNvZGUgKyAnXFxuJykuam9pbignJyl9ICAke291dH1gO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZWdpb25UYWcudG9Mb3dlckNhc2UoKSA9PT0gVEFHUy5XRUJTUUxfT05MWS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgb3V0ID0gYCR7Xy50aW1lcyh2ZXJ0aWNhbExlbmd0aCkubWFwKCgpID0+IE1vZGVscy5sYWJlbC5iYWNrZW5kQ29kZSArICdcXG4nKS5qb2luKCcnKX0gICR7b3V0fWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHJlZ2lvblRhZy50b0xvd2VyQ2FzZSgpID09PSBUQUdTLkJBQ0tFTkRfRlVOQy50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGxldCBzcGFjZXNQcmV2aW91cyA9IHByZXZpb3VzLnNlYXJjaCgvXFxTLyk7XG4gICAgICAgICAgICAgICAgc3BhY2VzUHJldmlvdXMgPSAoc3BhY2VzUHJldmlvdXMgPCAwID8gMCA6IHNwYWNlc1ByZXZpb3VzKTtcbiAgICAgICAgICAgICAgICBvdXQgPSBgJHtfLnRpbWVzKHZlcnRpY2FsTGVuZ3RoKS5tYXAoKCkgPT4gTW9kZWxzLmxhYmVsLmJhY2tlbmRDb2RlICsgJ1xcbicpLmpvaW4oJycpfWBcbiAgICAgICAgICAgICAgICAgICsgYCR7Xy50aW1lcyhzcGFjZXNQcmV2aW91cykubWFwKG4gPT4gJyAnKS5qb2luKCcnKX0gICR7b3V0fWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHJlZ2lvblRhZy50b0xvd2VyQ2FzZSgpID09PSBUQUdTLldFQlNRTF9GVU5DLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNwYWNlc1ByZXZpb3VzID0gcHJldmlvdXMuc2VhcmNoKC9cXFMvKTtcbiAgICAgICAgICAgICAgICBzcGFjZXNQcmV2aW91cyA9IChzcGFjZXNQcmV2aW91cyA8IDAgPyAwIDogc3BhY2VzUHJldmlvdXMpO1xuICAgICAgICAgICAgICAgIG91dCA9IGAke18udGltZXModmVydGljYWxMZW5ndGgpLm1hcCgoKSA9PiBNb2RlbHMubGFiZWwuYmFja2VuZENvZGUgKyAnXFxuJykuam9pbignJyl9YFxuICAgICAgICAgICAgICAgICAgKyBgJHtfLnRpbWVzKHNwYWNlc1ByZXZpb3VzKS5tYXAobiA9PiAnICcpLmpvaW4oJycpfSAgJHtvdXR9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgcmVnaW9uVGFnLnRvTG93ZXJDYXNlKCkgPT09IFRBR1MuQ1VUX0NPREVfSUZfVFJVRS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgfHxcbiAgICAgICAgICAgICAgICByZWdpb25UYWcudG9Mb3dlckNhc2UoKSA9PT0gVEFHUy5DVVRfQ09ERV9JRl9GQUxTRS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZuID0gb3V0IGFzIGFueTsgLy8gYXMgUmV0dXJuVHlwZTx0eXBlb2YgY29kZUN1dHRGbj47XG4gICAgICAgICAgICAgICAgbGV0IGV4cHJlc3Npb25Ub0V4ZWN1dGUgPSByZWdpb25PclN0cmluZy50aXRsZVN0cmluZztcblxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb25Ub0V4ZWN1dGUgPSBleHByZXNzaW9uVG9FeGVjdXRlLnJlcGxhY2UocmVnaW9uVGFnLCAnJyk7XG5cblxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0ZvclByb2plY3QgPSB0aGlzLnByb2plY3QgJiYgdGhpcy5wcm9qZWN0LmVudi5jb25maWc7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjdXRDb2RlID0gZm4oZXhwcmVzc2lvblRvRXhlY3V0ZSwgY29uZmlnRm9yUHJvamVjdCwgdGhpcy5yZWFsdGl2ZU9yQWJzRmlsZVBBdGgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGN1dENvZGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAoY3V0Q29kZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgIHJlZ2lvblRhZy50b0xvd2VyQ2FzZSgpID09PSBUQUdTLkNVVF9DT0RFX0lGX1RSVUUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICAgIHx8XG4gICAgICAgICAgICAgICAgICAoIWN1dENvZGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICByZWdpb25UYWcudG9Mb3dlckNhc2UoKSA9PT0gVEFHUy5DVVRfQ09ERV9JRl9GQUxTRS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgb3V0ID0gJyc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZWdpb25PclN0cmluZy50bXBPdXRwdXQgPSBvdXQ7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlcyA9IHJlZ2lvbk9yU3RyaW5nLnRvU3RyaW5nKCk7XG4gICAgICAgIHByZXZpb3VzID0gcmVzO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfSkuam9pbignXFxuJyk7XG4gICAgcmV0dXJuIHRoaXMudG1wT3V0cHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcHJvamVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnByb2plY3Q7XG4gIH1cblxuICBwcml2YXRlIGdldCByZWFsdGl2ZU9yQWJzRmlsZVBBdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZWFsdGl2ZU9yQWJzRmlsZVBBdGg7XG4gIH1cblxufVxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1pc29tb3JwaGljLXJlZ2lvbi1sb2FkZXIgbGliL3JlZ2lvbi50cyJdfQ==
|
|
@@ -1,16 +1,271 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { _, path } from 'tnp-core/browser';
|
|
2
|
+
import { Models } from 'tnp-models/browser';
|
|
3
|
+
import { TAGS, REGEX_REGION } from 'tnp-config/browser';
|
|
4
|
+
|
|
5
|
+
class Region {
|
|
6
|
+
constructor(context, replacementss, parent, startIndex, endIndex, lineStart, lineEnd, contentLines = []) {
|
|
7
|
+
this.context = context;
|
|
8
|
+
this.replacementss = replacementss;
|
|
9
|
+
this.parent = parent;
|
|
10
|
+
this.startIndex = startIndex;
|
|
11
|
+
this.endIndex = endIndex;
|
|
12
|
+
this.lineStart = lineStart;
|
|
13
|
+
this.lineEnd = lineEnd;
|
|
14
|
+
this.contentLines = contentLines;
|
|
15
|
+
this.regionsOrStrings = [];
|
|
16
|
+
}
|
|
17
|
+
get hasEnd() {
|
|
18
|
+
return this.endIndex !== void 0;
|
|
19
|
+
}
|
|
20
|
+
get lastRegionWithoutEnd() {
|
|
21
|
+
const last = _.last(this.regionsOrStrings);
|
|
22
|
+
if (last instanceof Region && !last.hasEnd) {
|
|
23
|
+
return last;
|
|
24
|
+
}
|
|
25
|
+
return void 0;
|
|
26
|
+
}
|
|
27
|
+
get regions() {
|
|
28
|
+
return this.regionsOrStrings.filter(f => f instanceof Region);
|
|
29
|
+
}
|
|
30
|
+
setEnd(endIndex, lineEnd) {
|
|
31
|
+
this.endIndex = endIndex;
|
|
32
|
+
this.lineEnd = lineEnd;
|
|
33
|
+
}
|
|
34
|
+
get isRoot() {
|
|
35
|
+
return !this.parent;
|
|
36
|
+
}
|
|
37
|
+
addNormalLine(l, lineIndex) {
|
|
38
|
+
this.contentLines[lineIndex] = void 0;
|
|
39
|
+
this.regionsOrStrings.push(l);
|
|
40
|
+
}
|
|
41
|
+
addNormalLineToLastRegion(l, lineIndex) {
|
|
42
|
+
this.contentLines[lineIndex] = void 0;
|
|
43
|
+
this.lastRegionWithoutEnd.contentLines.push(l);
|
|
44
|
+
}
|
|
45
|
+
addRegion(context, parent, startIndex, lineStart) {
|
|
46
|
+
this.contentLines[startIndex] = void 0;
|
|
47
|
+
const newReg = new Region(context, this.replacementss, parent, startIndex, void 0, lineStart, void 0, [lineStart]);
|
|
48
|
+
this.regionsOrStrings.push(newReg);
|
|
49
|
+
}
|
|
50
|
+
endLastRegion(endIndex, lineEnd) {
|
|
51
|
+
this.contentLines[endIndex] = void 0;
|
|
52
|
+
const regionWithoutEnd = this.regionsOrStrings.find(r => r instanceof Region && !r.hasEnd);
|
|
53
|
+
regionWithoutEnd.contentLines.push(lineEnd);
|
|
54
|
+
regionWithoutEnd.setEnd(endIndex, lineEnd);
|
|
55
|
+
}
|
|
56
|
+
containsTitle(s) {
|
|
57
|
+
const res = (this.titleString.search(s) !== -1);
|
|
58
|
+
return res;
|
|
59
|
+
}
|
|
60
|
+
get titleString() {
|
|
61
|
+
let line = this.lineStart;
|
|
62
|
+
const regionWord = '#region';
|
|
63
|
+
const indexOfRegion = line.search(regionWord);
|
|
64
|
+
line = line.replace(line.slice(0, indexOfRegion + regionWord.length), '');
|
|
65
|
+
return line
|
|
66
|
+
.replace('-->', '')
|
|
67
|
+
.replace('<!--', ''); // TODO not necessery ?
|
|
68
|
+
}
|
|
69
|
+
toString() {
|
|
70
|
+
if (this.tmpOutput !== void 0) {
|
|
71
|
+
return this.tmpOutput;
|
|
72
|
+
}
|
|
73
|
+
let previous = '';
|
|
74
|
+
this.tmpOutput = this.regionsOrStrings
|
|
75
|
+
.map(regionOrString => {
|
|
76
|
+
if (regionOrString instanceof Region) {
|
|
77
|
+
const replacements = this.replacementss;
|
|
78
|
+
for (let index = 0; index < replacements.length; index++) {
|
|
79
|
+
const rep = replacements[index];
|
|
80
|
+
const isArr = _.isArray(replacements[index]);
|
|
81
|
+
const regionTag = (isArr ? _.first(rep) : rep);
|
|
82
|
+
let out = (isArr ? rep[1] : '');
|
|
83
|
+
const verticalLength = regionOrString.toString().split('\n').length - 1;
|
|
84
|
+
if (regionOrString.containsTitle(regionTag)) {
|
|
85
|
+
if (regionTag.toLowerCase() === TAGS.WEBSQL.toLowerCase()) {
|
|
86
|
+
out = `${_.times(verticalLength).map(() => Models.label.backendCode + '\n').join('')} ${out}`;
|
|
87
|
+
}
|
|
88
|
+
if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {
|
|
89
|
+
out = `${_.times(verticalLength).map(() => Models.label.backendCode + '\n').join('')} ${out}`;
|
|
90
|
+
}
|
|
91
|
+
if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {
|
|
92
|
+
out = `${_.times(verticalLength).map(() => Models.label.notForNpmCode + '\n').join('')} ${out}`;
|
|
93
|
+
}
|
|
94
|
+
if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {
|
|
95
|
+
out = `${_.times(verticalLength).map(() => Models.label.browserCode + '\n').join('')} ${out}`;
|
|
96
|
+
}
|
|
97
|
+
if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {
|
|
98
|
+
out = `${_.times(verticalLength).map(() => Models.label.backendCode + '\n').join('')} ${out}`;
|
|
99
|
+
}
|
|
100
|
+
if (regionTag.toLowerCase() === TAGS.BACKEND_FUNC.toLowerCase()) {
|
|
101
|
+
let spacesPrevious = previous.search(/\S/);
|
|
102
|
+
spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);
|
|
103
|
+
out = `${_.times(verticalLength).map(() => Models.label.backendCode + '\n').join('')}`
|
|
104
|
+
+ `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;
|
|
105
|
+
}
|
|
106
|
+
if (regionTag.toLowerCase() === TAGS.WEBSQL_FUNC.toLowerCase()) {
|
|
107
|
+
let spacesPrevious = previous.search(/\S/);
|
|
108
|
+
spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);
|
|
109
|
+
out = `${_.times(verticalLength).map(() => Models.label.backendCode + '\n').join('')}`
|
|
110
|
+
+ `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;
|
|
111
|
+
}
|
|
112
|
+
if (regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()
|
|
113
|
+
||
|
|
114
|
+
regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()) {
|
|
115
|
+
const fn = out; // as ReturnType<typeof codeCuttFn>;
|
|
116
|
+
let expressionToExecute = regionOrString.titleString;
|
|
117
|
+
expressionToExecute = expressionToExecute.replace(regionTag, '');
|
|
118
|
+
const configForProject = this.project && this.project.env.config;
|
|
119
|
+
const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);
|
|
120
|
+
if (cutCode === null) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if ((cutCode && (regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()))
|
|
124
|
+
||
|
|
125
|
+
(!cutCode && (regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()))) {
|
|
126
|
+
out = '';
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
regionOrString.tmpOutput = out;
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
const res = regionOrString.toString();
|
|
138
|
+
previous = res;
|
|
139
|
+
return res;
|
|
140
|
+
}).join('\n');
|
|
141
|
+
return this.tmpOutput;
|
|
142
|
+
}
|
|
143
|
+
get project() {
|
|
144
|
+
return this.context.project;
|
|
145
|
+
}
|
|
146
|
+
get realtiveOrAbsFilePAth() {
|
|
147
|
+
return this.context.realtiveOrAbsFilePAth;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
;
|
|
151
|
+
({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region.ts
|
|
152
|
+
|
|
153
|
+
class RegionRemover {
|
|
154
|
+
static from(realtiveOrAbsFilePAth, content, replacementss, // Models.dev.Replacement[],
|
|
155
|
+
project) {
|
|
156
|
+
let fileExtension = path.extname(realtiveOrAbsFilePAth);
|
|
157
|
+
if (!replacementss) {
|
|
158
|
+
replacementss = [
|
|
159
|
+
[TAGS.BACKEND_FUNC, `return (void 0);`],
|
|
160
|
+
TAGS.BACKEND,
|
|
161
|
+
];
|
|
162
|
+
}
|
|
163
|
+
return new RegionRemover(realtiveOrAbsFilePAth, fileExtension, content, replacementss, project);
|
|
164
|
+
}
|
|
165
|
+
matchStartRegion(l) {
|
|
166
|
+
const res = !_.isUndefined(this.START_REGION.find(r => l.match(r)));
|
|
167
|
+
return res;
|
|
168
|
+
}
|
|
169
|
+
matchEndRegion(l) {
|
|
170
|
+
const res = !_.isUndefined(this.END_REGION.find(r => l.match(r)));
|
|
171
|
+
return res;
|
|
172
|
+
}
|
|
173
|
+
constructor(realtiveOrAbsFilePAth, fileExtension, content, replacementss, // Models.dev.Replacement[],
|
|
174
|
+
project) {
|
|
175
|
+
this.realtiveOrAbsFilePAth = realtiveOrAbsFilePAth;
|
|
176
|
+
this.content = content;
|
|
177
|
+
this.project = project;
|
|
178
|
+
this.START_REGION = [];
|
|
179
|
+
this.END_REGION = [];
|
|
180
|
+
if ((REGEX_REGION.TS_JS_SCSS_SASS.EXT).includes(fileExtension)) {
|
|
181
|
+
this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);
|
|
182
|
+
this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);
|
|
183
|
+
}
|
|
184
|
+
if ((REGEX_REGION.HTML.EXT).includes(fileExtension)) {
|
|
185
|
+
this.START_REGION.push(REGEX_REGION.HTML.START);
|
|
186
|
+
this.END_REGION.push(REGEX_REGION.HTML.END);
|
|
187
|
+
}
|
|
188
|
+
if ((REGEX_REGION.CSS.EXT).includes(fileExtension)) {
|
|
189
|
+
this.START_REGION.push(REGEX_REGION.CSS.START);
|
|
190
|
+
this.END_REGION.push(REGEX_REGION.CSS.END);
|
|
191
|
+
}
|
|
192
|
+
const lines = this.content.split('\n');
|
|
193
|
+
this.root = new Region(this, replacementss, void 0, 0, (lines.length - 1), _.first(lines), _.last(lines), lines);
|
|
194
|
+
this.tree(this.root);
|
|
195
|
+
}
|
|
196
|
+
tree(node) {
|
|
197
|
+
const contentLines = node.contentLines;
|
|
198
|
+
let stack = 0;
|
|
199
|
+
for (let i = 0; i < contentLines.length; i++) {
|
|
200
|
+
const l = contentLines[i];
|
|
201
|
+
if (!node.isRoot) {
|
|
202
|
+
if (i === 0) {
|
|
203
|
+
node.addNormalLine(l, 0);
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
if (i === (node.contentLines.length - 1)) {
|
|
207
|
+
node.addNormalLine(l, i);
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (node.lastRegionWithoutEnd) {
|
|
212
|
+
if (this.matchStartRegion(l)) {
|
|
213
|
+
node.addNormalLineToLastRegion(l, i);
|
|
214
|
+
stack++;
|
|
215
|
+
}
|
|
216
|
+
else if (this.matchEndRegion(l)) {
|
|
217
|
+
if (stack === 0) {
|
|
218
|
+
node.endLastRegion(i, l);
|
|
219
|
+
}
|
|
220
|
+
else if (stack > 0) {
|
|
221
|
+
node.addNormalLineToLastRegion(l, i);
|
|
222
|
+
stack--;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
if (i === (node.contentLines.length - (node.isRoot ? 1 : 2))) {
|
|
227
|
+
stack = 0;
|
|
228
|
+
node.endLastRegion(i, l);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
node.addNormalLineToLastRegion(l, i);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
if (this.matchStartRegion(l)) {
|
|
237
|
+
node.addRegion(this, node, i, l);
|
|
238
|
+
}
|
|
239
|
+
else if (this.matchEndRegion(l)) {
|
|
240
|
+
node.addNormalLine(l, i);
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
node.addNormalLine(l, i);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
const children = node.regions;
|
|
248
|
+
if (children.length > 0) {
|
|
249
|
+
for (let index = 0; index < children.length; index++) {
|
|
250
|
+
const child = children[index];
|
|
251
|
+
this.tree(child);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
get output() {
|
|
256
|
+
return this.root.toString();
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
;
|
|
260
|
+
({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region-remover.ts
|
|
261
|
+
|
|
3
262
|
function StripBrowserCode(content) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/* */
|
|
11
|
-
/* */
|
|
12
|
-
/* */
|
|
13
|
-
/* */
|
|
263
|
+
// @ts-ignore
|
|
264
|
+
content = RegionRemover.from(this.resourcePath, content, ['@browser']).output + '\n';
|
|
265
|
+
if (this.cacheable) {
|
|
266
|
+
this.cacheable(true);
|
|
267
|
+
}
|
|
268
|
+
return content;
|
|
14
269
|
}
|
|
15
270
|
;
|
|
16
271
|
({}); // @--end-of-file-for-module=isomorphic-region-loader lib/index.ts
|
|
@@ -19,5 +274,5 @@ function StripBrowserCode(content) {
|
|
|
19
274
|
* Generated bundle index. Do not edit.
|
|
20
275
|
*/
|
|
21
276
|
|
|
22
|
-
export { StripBrowserCode as StripBlockLoader };
|
|
277
|
+
export { Region, RegionRemover, StripBrowserCode as StripBlockLoader };
|
|
23
278
|
//# sourceMappingURL=isomorphic-region-loader.mjs.map
|