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.
Files changed (38) hide show
  1. package/assets/shared/shared_folder_info.txt +3 -3
  2. package/browser/README.md +24 -24
  3. package/client/README.md +24 -24
  4. package/index.js.map +1 -1
  5. package/lib/build-info._auto-generated_.d.ts +1 -0
  6. package/lib/build-info._auto-generated_.js +4 -1
  7. package/lib/build-info._auto-generated_.js.map +1 -1
  8. package/lib/index._auto-generated_.js +2 -2
  9. package/lib/index._auto-generated_.js.map +1 -1
  10. package/lib/index.js.map +1 -1
  11. package/lib/models.js.map +1 -1
  12. package/lib/region-remover.js.map +1 -1
  13. package/lib/region.js.map +1 -1
  14. package/migrations/index.js.map +1 -1
  15. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  16. package/package.json +2 -2
  17. package/src.d.ts +3 -3
  18. package/tmp-environment.json +4 -3
  19. package/websql/README.md +24 -24
  20. package/browser/esm2022/isomorphic-region-loader.mjs +0 -5
  21. package/browser/esm2022/lib/index.mjs +0 -17
  22. package/browser/esm2022/lib/models.mjs +0 -13
  23. package/browser/esm2022/lib/region-remover.mjs +0 -112
  24. package/browser/esm2022/lib/region.mjs +0 -151
  25. package/browser/esm2022/public-api.mjs +0 -2
  26. package/client/esm2022/isomorphic-region-loader.mjs +0 -5
  27. package/client/esm2022/lib/index.mjs +0 -17
  28. package/client/esm2022/lib/models.mjs +0 -13
  29. package/client/esm2022/lib/region-remover.mjs +0 -112
  30. package/client/esm2022/lib/region.mjs +0 -151
  31. package/client/esm2022/public-api.mjs +0 -2
  32. package/taon.jsonc +0 -12
  33. package/websql/esm2022/isomorphic-region-loader.mjs +0 -5
  34. package/websql/esm2022/lib/index.mjs +0 -17
  35. package/websql/esm2022/lib/models.mjs +0 -13
  36. package/websql/esm2022/lib/region-remover.mjs +0 -112
  37. package/websql/esm2022/lib/region.mjs +0 -151
  38. 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