isomorphic-region-loader 19.0.3 → 19.0.5

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 (45) hide show
  1. package/browser/README.md +24 -24
  2. package/browser/fesm2022/isomorphic-region-loader.mjs +24 -15
  3. package/browser/fesm2022/isomorphic-region-loader.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/client/README.md +24 -24
  6. package/client/fesm2022/isomorphic-region-loader.mjs +24 -15
  7. package/client/fesm2022/isomorphic-region-loader.mjs.map +1 -1
  8. package/client/package.json +1 -1
  9. package/index.js.map +1 -1
  10. package/lib/build-info._auto-generated_.d.ts +2 -1
  11. package/lib/build-info._auto-generated_.js +3 -2
  12. package/lib/build-info._auto-generated_.js.map +1 -1
  13. package/lib/index._auto-generated_.js.map +1 -1
  14. package/lib/index.js.map +1 -1
  15. package/lib/models.js.map +1 -1
  16. package/lib/region-remover.js +21 -19
  17. package/lib/region-remover.js.map +1 -1
  18. package/lib/region.js +25 -25
  19. package/lib/region.js.map +1 -1
  20. package/migrations/index.js.map +1 -1
  21. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  22. package/package.json +1 -1
  23. package/tmp-environment.json +4 -4
  24. package/websql/README.md +24 -24
  25. package/websql/fesm2022/isomorphic-region-loader.mjs +24 -15
  26. package/websql/fesm2022/isomorphic-region-loader.mjs.map +1 -1
  27. package/websql/package.json +1 -1
  28. package/browser/esm2022/isomorphic-region-loader.mjs +0 -5
  29. package/browser/esm2022/lib/index.mjs +0 -17
  30. package/browser/esm2022/lib/models.mjs +0 -13
  31. package/browser/esm2022/lib/region-remover.mjs +0 -112
  32. package/browser/esm2022/lib/region.mjs +0 -151
  33. package/browser/esm2022/public-api.mjs +0 -2
  34. package/client/esm2022/isomorphic-region-loader.mjs +0 -5
  35. package/client/esm2022/lib/index.mjs +0 -17
  36. package/client/esm2022/lib/models.mjs +0 -13
  37. package/client/esm2022/lib/region-remover.mjs +0 -112
  38. package/client/esm2022/lib/region.mjs +0 -151
  39. package/client/esm2022/public-api.mjs +0 -2
  40. package/websql/esm2022/isomorphic-region-loader.mjs +0 -5
  41. package/websql/esm2022/lib/index.mjs +0 -17
  42. package/websql/esm2022/lib/models.mjs +0 -13
  43. package/websql/esm2022/lib/region-remover.mjs +0 -112
  44. package/websql/esm2022/lib/region.mjs +0 -151
  45. package/websql/esm2022/public-api.mjs +0 -2
package/browser/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -1,5 +1,6 @@
1
- import { _, path } from 'tnp-core/browser';
2
1
  import { TAGS, REGEX_REGION } from 'tnp-config/browser';
2
+ import { _, path } from 'tnp-core/browser';
3
+ import { UtilsTypescript } from 'tnp-helpers/browser';
3
4
 
4
5
  const labelReplacementCode = {
5
6
  browserCode: '/* */', // '/* browser code */',
@@ -11,8 +12,6 @@ const labelReplacementCode = {
11
12
  const ReplacementStringArr = [
12
13
  '@backend', '@backendFunc', '@cutCodeIfTrue', '@cutCodeIfFalse', "@notForNpm"
13
14
  ];
14
- ;
15
- ({}); // @--end-of-file-for-module=isomorphic-region-loader lib/models.ts
16
15
 
17
16
  class Region {
18
17
  constructor(context, replacementss, parent, startIndex, endIndex, lineStart, lineEnd, contentLines = []) {
@@ -67,6 +66,7 @@ class Region {
67
66
  }
68
67
  containsTitle(s) {
69
68
  const res = (this.titleString.search(s) !== -1);
69
+ // Helpers.log(`checking tag (${res}): "${s}" in line: "${this.titleString}"`)
70
70
  return res;
71
71
  }
72
72
  get titleString() {
@@ -86,6 +86,7 @@ class Region {
86
86
  this.tmpOutput = this.regionsOrStrings
87
87
  .map(regionOrString => {
88
88
  if (regionOrString instanceof Region) {
89
+ //#region handle region
89
90
  const replacements = this.replacementss;
90
91
  for (let index = 0; index < replacements.length; index++) {
91
92
  const rep = replacements[index];
@@ -126,9 +127,14 @@ class Region {
126
127
  regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()) {
127
128
  const fn = out; // as ReturnType<typeof codeCuttFn>;
128
129
  let expressionToExecute = regionOrString.titleString;
130
+ // Helpers.log(`LINE: "${regionOrString.lineStart}"`);
129
131
  expressionToExecute = expressionToExecute.replace(regionTag, '');
132
+ // Helpers.log(`Expresion to evaluate "${expressionToExecute}"`);
133
+ // Helpers.log(`this.project "${this.project.name}"`);
130
134
  const configForProject = this.project && this.project.env.config;
135
+ // Helpers.log(`configForProject "${configForProject}"`);
131
136
  const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);
137
+ // Helpers.info(`Cut code: "${cutCode}"`);
132
138
  if (cutCode === null) {
133
139
  continue;
134
140
  }
@@ -145,6 +151,7 @@ class Region {
145
151
  break;
146
152
  }
147
153
  }
154
+ //#endregion
148
155
  }
149
156
  const res = regionOrString.toString();
150
157
  previous = res;
@@ -159,8 +166,6 @@ class Region {
159
166
  return this.context.realtiveOrAbsFilePAth;
160
167
  }
161
168
  }
162
- ;
163
- ({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region.ts
164
169
 
165
170
  class RegionRemover {
166
171
  static from(realtiveOrAbsFilePAth, content, replacementss, // Models.dev.Replacement[],
@@ -189,24 +194,31 @@ class RegionRemover {
189
194
  this.project = project;
190
195
  this.START_REGION = [];
191
196
  this.END_REGION = [];
192
- if ((REGEX_REGION.TS_JS_SCSS_SASS.EXT).includes(fileExtension)) {
197
+ if (REGEX_REGION.TS_JS_SCSS_SASS.EXT.includes(fileExtension)) {
193
198
  this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);
194
199
  this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);
195
200
  }
196
- if ((REGEX_REGION.HTML.EXT).includes(fileExtension)) {
201
+ if (REGEX_REGION.HTML.EXT.includes(fileExtension)) {
197
202
  this.START_REGION.push(REGEX_REGION.HTML.START);
198
203
  this.END_REGION.push(REGEX_REGION.HTML.END);
199
204
  }
200
- if ((REGEX_REGION.CSS.EXT).includes(fileExtension)) {
205
+ if (REGEX_REGION.CSS.EXT.includes(fileExtension)) {
201
206
  this.START_REGION.push(REGEX_REGION.CSS.START);
202
207
  this.END_REGION.push(REGEX_REGION.CSS.END);
203
208
  }
209
+ this.content = UtilsTypescript.removeTaggedImportExport(this.content, replacementss);
204
210
  const lines = this.content.split('\n');
205
- this.root = new Region(this, replacementss, void 0, 0, (lines.length - 1), _.first(lines), _.last(lines), lines);
211
+ this.root = new Region(this, replacementss, void 0, 0, lines.length - 1, _.first(lines), _.last(lines), lines);
206
212
  this.tree(this.root);
207
213
  }
208
214
  tree(node) {
209
215
  const contentLines = node.contentLines;
216
+ // if (contentLines.length <= 3) {
217
+ // for (let i = 0; i < contentLines.length; i++) {
218
+ // const l = contentLines[i];
219
+ // node.addNormalLine(l, i);
220
+ // }
221
+ // } else {
210
222
  let stack = 0;
211
223
  for (let i = 0; i < contentLines.length; i++) {
212
224
  const l = contentLines[i];
@@ -215,7 +227,7 @@ class RegionRemover {
215
227
  node.addNormalLine(l, 0);
216
228
  continue;
217
229
  }
218
- if (i === (node.contentLines.length - 1)) {
230
+ if (i === node.contentLines.length - 1) {
219
231
  node.addNormalLine(l, i);
220
232
  continue;
221
233
  }
@@ -235,7 +247,7 @@ class RegionRemover {
235
247
  }
236
248
  }
237
249
  else {
238
- if (i === (node.contentLines.length - (node.isRoot ? 1 : 2))) {
250
+ if (i === node.contentLines.length - (node.isRoot ? 1 : 2)) {
239
251
  stack = 0;
240
252
  node.endLastRegion(i, l);
241
253
  }
@@ -256,6 +268,7 @@ class RegionRemover {
256
268
  }
257
269
  }
258
270
  }
271
+ // }
259
272
  const children = node.regions;
260
273
  if (children.length > 0) {
261
274
  for (let index = 0; index < children.length; index++) {
@@ -268,8 +281,6 @@ class RegionRemover {
268
281
  return this.root.toString();
269
282
  }
270
283
  }
271
- ;
272
- ({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region-remover.ts
273
284
 
274
285
  function StripBrowserCode(content) {
275
286
  // @ts-ignore
@@ -279,8 +290,6 @@ function StripBrowserCode(content) {
279
290
  }
280
291
  return content;
281
292
  }
282
- ;
283
- ({}); // @--end-of-file-for-module=isomorphic-region-loader lib/index.ts
284
293
 
285
294
  /**
286
295
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"isomorphic-region-loader.mjs","sources":["../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/models.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region-remover.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/index.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/isomorphic-region-loader.ts"],"sourcesContent":["\n\n\nexport const labelReplacementCode = {\n browserCode: '/* */',// '/* browser code */',\n backendCode: '/* */',// '/* backend code */',\n notForNpmCode: '/* */',//'/* not for npm lib code */',\n onlyForGithubDocs: '/* */',// '/* only for github docs */',\n flatenImportExportRequred: '/* */',// '/* only for github docs */',\n};\n\nexport type ReplacementString = '@backend' | '@backendFunc' | '@cutCodeIfTrue' | '@cutCodeIfFalse' | '@notForNpm';\nexport const ReplacementStringArr = [\n '@backend', '@backendFunc', '@cutCodeIfTrue', '@cutCodeIfFalse', \"@notForNpm\"\n] as ReplacementString[];\n\nexport type Replacement<EnvConfig = any> = (ReplacementString\n | [ReplacementString, string]\n | [ReplacementString, (expression: any, env: EnvConfig) => () => boolean]\n);\n\nexport interface ReplaceOptionsExtended<EnvConfig = any> {\n\n replacements: Replacement[];\n env?: EnvConfig\n}\n\n\n\n\n ;({}); // @--end-of-file-for-module=isomorphic-region-loader lib/models.ts","\n\nimport { Helpers, _ } from 'tnp-core/browser';\nimport { Replacement, ReplacementString, labelReplacementCode } from './models';\n\nimport type { RegionRemover } from './region-remover';\nimport { TAGS } from 'tnp-config/browser';\n\nexport class Region {\n constructor(\n private context: RegionRemover,\n public replacementss: Replacement[],\n public parent: Region,\n public startIndex: number,\n public endIndex: number,\n public lineStart: string,\n public lineEnd: string,\n public contentLines: string[] = [],\n\n ) { }\n private tmpOutput: string;\n public get hasEnd() {\n return this.endIndex !== void 0;\n }\n\n public get lastRegionWithoutEnd() {\n const last = _.last(this.regionsOrStrings);\n if (last instanceof Region && !last.hasEnd) {\n return last;\n }\n return void 0;\n }\n\n private regionsOrStrings: (Region | string)[] = [];\n\n get regions() {\n return this.regionsOrStrings.filter(f => f instanceof Region);\n }\n\n private setEnd(endIndex: number, lineEnd: string) {\n this.endIndex = endIndex;\n this.lineEnd = lineEnd;\n }\n\n get isRoot() {\n return !this.parent;\n }\n\n addNormalLine(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.regionsOrStrings.push(l);\n }\n\n addNormalLineToLastRegion(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.lastRegionWithoutEnd.contentLines.push(l);\n }\n\n addRegion(context: RegionRemover, parent: Region, startIndex: number, lineStart: string) {\n this.contentLines[startIndex] = void 0;\n const newReg = new Region(\n context,\n this.replacementss,\n parent,\n startIndex, void 0,\n lineStart, void 0,\n [lineStart]\n );\n this.regionsOrStrings.push(newReg);\n }\n\n endLastRegion(endIndex: number, lineEnd: string) {\n this.contentLines[endIndex] = void 0;\n const regionWithoutEnd = this.regionsOrStrings.find(r => r instanceof Region && !r.hasEnd) as Region;\n regionWithoutEnd.contentLines.push(lineEnd);\n regionWithoutEnd.setEnd(endIndex, lineEnd);\n }\n\n private containsTitle(s: ReplacementString) {\n const res = (this.titleString.search(s) !== -1);\n\n return res;\n }\n\n private get titleString() {\n let line = this.lineStart;\n const regionWord = '#region';\n const indexOfRegion = line.search(regionWord);\n line = line.replace(\n line.slice(0, indexOfRegion + regionWord.length),\n ''\n );\n return line\n .replace('-->', '')\n .replace('<!--', ''); // TODO not necessery ?\n }\n\n public toString() {\n if (this.tmpOutput !== void 0) {\n return this.tmpOutput;\n }\n let previous = '';\n this.tmpOutput = this.regionsOrStrings\n .map(regionOrString => {\n if (regionOrString instanceof Region) {\n\n const replacements = this.replacementss;\n for (let index = 0; index < replacements.length; index++) {\n const rep = replacements[index];\n const isArr = _.isArray(replacements[index]);\n\n const regionTag = (isArr ? _.first(rep as string[]) : rep) as ReplacementString;\n\n let out = (isArr ? rep[1] : '') as string;\n\n const verticalLength = regionOrString.toString().split('\\n').length - 1;\n\n if (regionOrString.containsTitle(regionTag)) {\n if (regionTag.toLowerCase() === TAGS.WEBSQL.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.notForNpmCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.browserCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.BACKEND_FUNC.toLowerCase()\n ) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')}`\n + `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.WEBSQL_FUNC.toLowerCase()\n ) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')}`\n + `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()\n ||\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ) {\n const fn = out as any; // as ReturnType<typeof codeCuttFn>;\n let expressionToExecute = regionOrString.titleString;\n\n expressionToExecute = expressionToExecute.replace(regionTag, '');\n\n\n const configForProject = this.project && this.project.env.config;\n\n const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);\n\n if (cutCode === null) {\n continue;\n }\n if (\n (cutCode && (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()\n ))\n ||\n (!cutCode && (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ))\n ) {\n out = '';\n } else {\n continue;\n }\n }\n regionOrString.tmpOutput = out;\n break;\n }\n }\n\n }\n const res = regionOrString.toString();\n previous = res;\n return res;\n }).join('\\n');\n return this.tmpOutput;\n }\n\n private get project() {\n return this.context.project;\n }\n\n private get realtiveOrAbsFilePAth() {\n return this.context.realtiveOrAbsFilePAth;\n }\n\n}\n\n\n ;({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region.ts","\n\nimport { _, path } from 'tnp-core/browser';\n\nimport { Helpers } from 'tnp-core/browser';\nimport { Region } from './region';\n// @ts-ignore\nimport { CoreModels } from 'tnp-core/browser';\nimport { REGEX_REGION, TAGS } from 'tnp-config/browser';\n\n\nexport class RegionRemover {\n private root: Region;\n private readonly START_REGION: RegExp[] = [];\n private readonly END_REGION: RegExp[] = [];\n public static from(\n realtiveOrAbsFilePAth: string,\n content: string,\n replacementss?: any, // Models.dev.Replacement[],\n project?: any, // Project,\n ) {\n\n let fileExtension = path.extname(realtiveOrAbsFilePAth);\n\n if (!replacementss) {\n replacementss = [\n [TAGS.BACKEND_FUNC, `return (void 0);`],\n TAGS.BACKEND as any,\n ];\n }\n return new RegionRemover(realtiveOrAbsFilePAth, fileExtension as any, content, replacementss, project);\n }\n\n private matchStartRegion(l: string) {\n const res = !_.isUndefined(this.START_REGION.find(r => l.match(r)));\n return res;\n }\n private matchEndRegion(l: string) {\n const res = !_.isUndefined(this.END_REGION.find(r => l.match(r)));\n return res;\n }\n\n\n private constructor(\n public readonly realtiveOrAbsFilePAth: string,\n fileExtension: CoreModels.CutableFileExt,\n private content: string,\n replacementss?: any, // Models.dev.Replacement[],\n public readonly project?: any, // Project\n\n ) {\n if ((REGEX_REGION.TS_JS_SCSS_SASS.EXT).includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);\n this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);\n }\n if ((REGEX_REGION.HTML.EXT).includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.HTML.START);\n this.END_REGION.push(REGEX_REGION.HTML.END);\n }\n if ((REGEX_REGION.CSS.EXT).includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.CSS.START);\n this.END_REGION.push(REGEX_REGION.CSS.END);\n }\n\n const lines = this.content.split('\\n');\n this.root = new Region(\n this,\n replacementss,\n void 0,\n 0, (lines.length - 1),\n _.first(lines), _.last(lines),\n lines);\n this.tree(this.root);\n }\n\n private tree(node: Region) {\n const contentLines = node.contentLines;\n\n\n\n\n\n\n let stack = 0;\n for (let i = 0; i < contentLines.length; i++) {\n const l = contentLines[i];\n if (!node.isRoot) {\n if (i === 0) {\n node.addNormalLine(l, 0);\n continue;\n }\n if (i === (node.contentLines.length - 1)) {\n node.addNormalLine(l, i);\n continue;\n }\n }\n if (node.lastRegionWithoutEnd) {\n if (this.matchStartRegion(l)) {\n node.addNormalLineToLastRegion(l, i);\n stack++;\n } else if (this.matchEndRegion(l)) {\n if (stack === 0) {\n node.endLastRegion(i, l);\n } else if (stack > 0) {\n node.addNormalLineToLastRegion(l, i);\n stack--;\n }\n } else {\n if (i === (node.contentLines.length - (node.isRoot ? 1 : 2))) {\n stack = 0;\n node.endLastRegion(i, l);\n } else {\n node.addNormalLineToLastRegion(l, i);\n }\n }\n } else {\n if (this.matchStartRegion(l)) {\n node.addRegion(this, node, i, l);\n } else if (this.matchEndRegion(l)) {\n node.addNormalLine(l, i);\n } else {\n node.addNormalLine(l, i);\n }\n }\n }\n\n\n const children = node.regions;\n if (children.length > 0) {\n for (let index = 0; index < children.length; index++) {\n const child = children[index] as Region;\n this.tree(child);\n }\n }\n }\n\n get output() {\n return this.root.toString();\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region-remover.ts","\n\n\nimport { RegionRemover } from \"./region-remover\";\n\nexport * from './models';\n\nfunction StripBrowserCode(content) {\n\n\n // @ts-ignore\n content = RegionRemover.from(this.resourcePath, content, ['@browser']).output + '\\n';\n\n if (this.cacheable) {\n this.cacheable(true);\n }\n\n return content;\n}\n\nexport { StripBrowserCode as StripBlockLoader };\n\nexport * from './region-remover';\nexport * from './region';\n\nexport default StripBrowserCode;\n\n ;({}); // @--end-of-file-for-module=isomorphic-region-loader lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isomorphic-region-loader.mjs","sources":["../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/models.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region-remover.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/index.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/isomorphic-region-loader.ts"],"sourcesContent":["\nexport const labelReplacementCode = {\n browserCode: '/* */',// '/* browser code */',\n backendCode: '/* */',// '/* backend code */',\n notForNpmCode: '/* */',//'/* not for npm lib code */',\n onlyForGithubDocs: '/* */',// '/* only for github docs */',\n flatenImportExportRequred: '/* */',// '/* only for github docs */',\n};\n\nexport type ReplacementString = '@backend' | '@backendFunc' | '@cutCodeIfTrue' | '@cutCodeIfFalse' | '@notForNpm';\nexport const ReplacementStringArr = [\n '@backend', '@backendFunc', '@cutCodeIfTrue', '@cutCodeIfFalse', \"@notForNpm\"\n] as ReplacementString[];\n\nexport type Replacement<EnvConfig = any> = (ReplacementString\n | [ReplacementString, string]\n | [ReplacementString, (expression: any, env: EnvConfig) => () => boolean]\n);\n\nexport interface ReplaceOptionsExtended<EnvConfig = any> {\n\n replacements: Replacement[];\n env?: EnvConfig\n}\n\n\n\n","import { Helpers, _ } from 'tnp-core/browser';\nimport { Replacement, ReplacementString, labelReplacementCode } from './models';\n// import { codeCuttFn } from '../code-cut';\nimport type { RegionRemover } from './region-remover';\nimport { TAGS } from 'tnp-config/browser';\n\nexport class Region {\n constructor(\n private context: RegionRemover,\n public replacementss: Replacement[],\n public parent: Region,\n public startIndex: number,\n public endIndex: number,\n public lineStart: string,\n public lineEnd: string,\n public contentLines: string[] = [],\n\n ) { }\n private tmpOutput: string;\n public get hasEnd() {\n return this.endIndex !== void 0;\n }\n\n public get lastRegionWithoutEnd() {\n const last = _.last(this.regionsOrStrings);\n if (last instanceof Region && !last.hasEnd) {\n return last;\n }\n return void 0;\n }\n\n private regionsOrStrings: (Region | string)[] = [];\n\n get regions() {\n return this.regionsOrStrings.filter(f => f instanceof Region);\n }\n\n private setEnd(endIndex: number, lineEnd: string) {\n this.endIndex = endIndex;\n this.lineEnd = lineEnd;\n }\n\n get isRoot() {\n return !this.parent;\n }\n\n addNormalLine(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.regionsOrStrings.push(l);\n }\n\n addNormalLineToLastRegion(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.lastRegionWithoutEnd.contentLines.push(l);\n }\n\n addRegion(context: RegionRemover, parent: Region, startIndex: number, lineStart: string) {\n this.contentLines[startIndex] = void 0;\n const newReg = new Region(\n context,\n this.replacementss,\n parent,\n startIndex, void 0,\n lineStart, void 0,\n [lineStart]\n );\n this.regionsOrStrings.push(newReg);\n }\n\n endLastRegion(endIndex: number, lineEnd: string) {\n this.contentLines[endIndex] = void 0;\n const regionWithoutEnd = this.regionsOrStrings.find(r => r instanceof Region && !r.hasEnd) as Region;\n regionWithoutEnd.contentLines.push(lineEnd);\n regionWithoutEnd.setEnd(endIndex, lineEnd);\n }\n\n private containsTitle(s: ReplacementString) {\n const res = (this.titleString.search(s) !== -1);\n // Helpers.log(`checking tag (${res}): \"${s}\" in line: \"${this.titleString}\"`)\n return res;\n }\n\n private get titleString() {\n let line = this.lineStart;\n const regionWord = '#region';\n const indexOfRegion = line.search(regionWord);\n line = line.replace(\n line.slice(0, indexOfRegion + regionWord.length),\n ''\n );\n return line\n .replace('-->', '')\n .replace('<!--', ''); // TODO not necessery ?\n }\n\n public toString() {\n if (this.tmpOutput !== void 0) {\n return this.tmpOutput;\n }\n let previous = '';\n this.tmpOutput = this.regionsOrStrings\n .map(regionOrString => {\n if (regionOrString instanceof Region) {\n //#region handle region\n const replacements = this.replacementss;\n for (let index = 0; index < replacements.length; index++) {\n const rep = replacements[index];\n const isArr = _.isArray(replacements[index]);\n\n const regionTag = (isArr ? _.first(rep as string[]) : rep) as ReplacementString;\n\n let out = (isArr ? rep[1] : '') as string;\n\n const verticalLength = regionOrString.toString().split('\\n').length - 1;\n\n if (regionOrString.containsTitle(regionTag)) {\n if (regionTag.toLowerCase() === TAGS.WEBSQL.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.notForNpmCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.browserCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.BACKEND_FUNC.toLowerCase()\n ) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')}`\n + `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.WEBSQL_FUNC.toLowerCase()\n ) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')}`\n + `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()\n ||\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ) {\n const fn = out as any; // as ReturnType<typeof codeCuttFn>;\n let expressionToExecute = regionOrString.titleString;\n // Helpers.log(`LINE: \"${regionOrString.lineStart}\"`);\n expressionToExecute = expressionToExecute.replace(regionTag, '');\n // Helpers.log(`Expresion to evaluate \"${expressionToExecute}\"`);\n // Helpers.log(`this.project \"${this.project.name}\"`);\n const configForProject = this.project && this.project.env.config;\n // Helpers.log(`configForProject \"${configForProject}\"`);\n const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);\n // Helpers.info(`Cut code: \"${cutCode}\"`);\n if (cutCode === null) {\n continue;\n }\n if (\n (cutCode && (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()\n ))\n ||\n (!cutCode && (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ))\n ) {\n out = '';\n } else {\n continue;\n }\n }\n regionOrString.tmpOutput = out;\n break;\n }\n }\n //#endregion\n }\n const res = regionOrString.toString();\n previous = res;\n return res;\n }).join('\\n');\n return this.tmpOutput;\n }\n\n private get project() {\n return this.context.project;\n }\n\n private get realtiveOrAbsFilePAth() {\n return this.context.realtiveOrAbsFilePAth;\n }\n\n}\n\n","import { REGEX_REGION, TAGS } from 'tnp-config/browser';\nimport { _, path } from 'tnp-core/browser';\nimport { Helpers } from 'tnp-core/browser';\nimport { CoreModels } from 'tnp-core/browser';\nimport { UtilsTypescript } from 'tnp-helpers/browser';\n\nimport { Region } from './region';\n\nexport class RegionRemover {\n private root: Region;\n private readonly START_REGION: RegExp[] = [];\n private readonly END_REGION: RegExp[] = [];\n public static from(\n realtiveOrAbsFilePAth: string,\n content: string,\n replacementss?: any, // Models.dev.Replacement[],\n project?: any, // Project,\n // debug = false,\n ) {\n let fileExtension = path.extname(realtiveOrAbsFilePAth);\n\n if (!replacementss) {\n replacementss = [\n [TAGS.BACKEND_FUNC, `return (void 0);`],\n TAGS.BACKEND as any,\n ];\n }\n return new RegionRemover(\n realtiveOrAbsFilePAth,\n fileExtension as any,\n content,\n replacementss,\n project,\n // debug,\n );\n }\n\n private matchStartRegion(l: string) {\n const res = !_.isUndefined(this.START_REGION.find(r => l.match(r)));\n return res;\n }\n private matchEndRegion(l: string) {\n const res = !_.isUndefined(this.END_REGION.find(r => l.match(r)));\n return res;\n }\n\n private constructor(\n public readonly realtiveOrAbsFilePAth: string,\n fileExtension: CoreModels.CutableFileExt,\n private content: string,\n replacementss?: any, // Models.dev.Replacement[],\n public readonly project?: any, // Project\n // public readonly debug = false,\n ) {\n if (REGEX_REGION.TS_JS_SCSS_SASS.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);\n this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);\n }\n if (REGEX_REGION.HTML.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.HTML.START);\n this.END_REGION.push(REGEX_REGION.HTML.END);\n }\n if (REGEX_REGION.CSS.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.CSS.START);\n this.END_REGION.push(REGEX_REGION.CSS.END);\n }\n\n this.content = UtilsTypescript.removeTaggedImportExport(\n this.content,\n replacementss,\n // debug,\n );\n\n const lines = this.content.split('\\n');\n this.root = new Region(\n this,\n replacementss,\n void 0,\n 0,\n lines.length - 1,\n _.first(lines),\n _.last(lines),\n lines,\n );\n this.tree(this.root);\n }\n\n private tree(node: Region) {\n const contentLines = node.contentLines;\n // if (contentLines.length <= 3) {\n // for (let i = 0; i < contentLines.length; i++) {\n // const l = contentLines[i];\n // node.addNormalLine(l, i);\n // }\n // } else {\n let stack = 0;\n for (let i = 0; i < contentLines.length; i++) {\n const l = contentLines[i];\n if (!node.isRoot) {\n if (i === 0) {\n node.addNormalLine(l, 0);\n continue;\n }\n if (i === node.contentLines.length - 1) {\n node.addNormalLine(l, i);\n continue;\n }\n }\n if (node.lastRegionWithoutEnd) {\n if (this.matchStartRegion(l)) {\n node.addNormalLineToLastRegion(l, i);\n stack++;\n } else if (this.matchEndRegion(l)) {\n if (stack === 0) {\n node.endLastRegion(i, l);\n } else if (stack > 0) {\n node.addNormalLineToLastRegion(l, i);\n stack--;\n }\n } else {\n if (i === node.contentLines.length - (node.isRoot ? 1 : 2)) {\n stack = 0;\n node.endLastRegion(i, l);\n } else {\n node.addNormalLineToLastRegion(l, i);\n }\n }\n } else {\n if (this.matchStartRegion(l)) {\n node.addRegion(this, node, i, l);\n } else if (this.matchEndRegion(l)) {\n node.addNormalLine(l, i);\n } else {\n node.addNormalLine(l, i);\n }\n }\n }\n // }\n\n const children = node.regions;\n if (children.length > 0) {\n for (let index = 0; index < children.length; index++) {\n const child = children[index] as Region;\n this.tree(child);\n }\n }\n }\n\n get output() {\n return this.root.toString();\n }\n}\n","\nimport { RegionRemover } from \"./region-remover\";\n\nexport * from './models';\n\nfunction StripBrowserCode(content) {\n\n\n // @ts-ignore\n content = RegionRemover.from(this.resourcePath, content, ['@browser']).output + '\\n';\n\n if (this.cacheable) {\n this.cacheable(true);\n }\n\n return content;\n}\n\nexport { StripBrowserCode as StripBlockLoader };\n\nexport * from './region-remover';\nexport * from './region';\n\nexport default StripBrowserCode;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isomorphic-region-loader/browser",
3
- "version": "19.0.3",
3
+ "version": "19.0.5",
4
4
  "module": "fesm2022/isomorphic-region-loader.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {
package/client/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -1,5 +1,6 @@
1
- import { _, path } from 'tnp-core/browser';
2
1
  import { TAGS, REGEX_REGION } from 'tnp-config/browser';
2
+ import { _, path } from 'tnp-core/browser';
3
+ import { UtilsTypescript } from 'tnp-helpers/browser';
3
4
 
4
5
  const labelReplacementCode = {
5
6
  browserCode: '/* */', // '/* browser code */',
@@ -11,8 +12,6 @@ const labelReplacementCode = {
11
12
  const ReplacementStringArr = [
12
13
  '@backend', '@backendFunc', '@cutCodeIfTrue', '@cutCodeIfFalse', "@notForNpm"
13
14
  ];
14
- ;
15
- ({}); // @--end-of-file-for-module=isomorphic-region-loader lib/models.ts
16
15
 
17
16
  class Region {
18
17
  constructor(context, replacementss, parent, startIndex, endIndex, lineStart, lineEnd, contentLines = []) {
@@ -67,6 +66,7 @@ class Region {
67
66
  }
68
67
  containsTitle(s) {
69
68
  const res = (this.titleString.search(s) !== -1);
69
+ // Helpers.log(`checking tag (${res}): "${s}" in line: "${this.titleString}"`)
70
70
  return res;
71
71
  }
72
72
  get titleString() {
@@ -86,6 +86,7 @@ class Region {
86
86
  this.tmpOutput = this.regionsOrStrings
87
87
  .map(regionOrString => {
88
88
  if (regionOrString instanceof Region) {
89
+ //#region handle region
89
90
  const replacements = this.replacementss;
90
91
  for (let index = 0; index < replacements.length; index++) {
91
92
  const rep = replacements[index];
@@ -126,9 +127,14 @@ class Region {
126
127
  regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()) {
127
128
  const fn = out; // as ReturnType<typeof codeCuttFn>;
128
129
  let expressionToExecute = regionOrString.titleString;
130
+ // Helpers.log(`LINE: "${regionOrString.lineStart}"`);
129
131
  expressionToExecute = expressionToExecute.replace(regionTag, '');
132
+ // Helpers.log(`Expresion to evaluate "${expressionToExecute}"`);
133
+ // Helpers.log(`this.project "${this.project.name}"`);
130
134
  const configForProject = this.project && this.project.env.config;
135
+ // Helpers.log(`configForProject "${configForProject}"`);
131
136
  const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);
137
+ // Helpers.info(`Cut code: "${cutCode}"`);
132
138
  if (cutCode === null) {
133
139
  continue;
134
140
  }
@@ -145,6 +151,7 @@ class Region {
145
151
  break;
146
152
  }
147
153
  }
154
+ //#endregion
148
155
  }
149
156
  const res = regionOrString.toString();
150
157
  previous = res;
@@ -159,8 +166,6 @@ class Region {
159
166
  return this.context.realtiveOrAbsFilePAth;
160
167
  }
161
168
  }
162
- ;
163
- ({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region.ts
164
169
 
165
170
  class RegionRemover {
166
171
  static from(realtiveOrAbsFilePAth, content, replacementss, // Models.dev.Replacement[],
@@ -189,24 +194,31 @@ class RegionRemover {
189
194
  this.project = project;
190
195
  this.START_REGION = [];
191
196
  this.END_REGION = [];
192
- if ((REGEX_REGION.TS_JS_SCSS_SASS.EXT).includes(fileExtension)) {
197
+ if (REGEX_REGION.TS_JS_SCSS_SASS.EXT.includes(fileExtension)) {
193
198
  this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);
194
199
  this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);
195
200
  }
196
- if ((REGEX_REGION.HTML.EXT).includes(fileExtension)) {
201
+ if (REGEX_REGION.HTML.EXT.includes(fileExtension)) {
197
202
  this.START_REGION.push(REGEX_REGION.HTML.START);
198
203
  this.END_REGION.push(REGEX_REGION.HTML.END);
199
204
  }
200
- if ((REGEX_REGION.CSS.EXT).includes(fileExtension)) {
205
+ if (REGEX_REGION.CSS.EXT.includes(fileExtension)) {
201
206
  this.START_REGION.push(REGEX_REGION.CSS.START);
202
207
  this.END_REGION.push(REGEX_REGION.CSS.END);
203
208
  }
209
+ this.content = UtilsTypescript.removeTaggedImportExport(this.content, replacementss);
204
210
  const lines = this.content.split('\n');
205
- this.root = new Region(this, replacementss, void 0, 0, (lines.length - 1), _.first(lines), _.last(lines), lines);
211
+ this.root = new Region(this, replacementss, void 0, 0, lines.length - 1, _.first(lines), _.last(lines), lines);
206
212
  this.tree(this.root);
207
213
  }
208
214
  tree(node) {
209
215
  const contentLines = node.contentLines;
216
+ // if (contentLines.length <= 3) {
217
+ // for (let i = 0; i < contentLines.length; i++) {
218
+ // const l = contentLines[i];
219
+ // node.addNormalLine(l, i);
220
+ // }
221
+ // } else {
210
222
  let stack = 0;
211
223
  for (let i = 0; i < contentLines.length; i++) {
212
224
  const l = contentLines[i];
@@ -215,7 +227,7 @@ class RegionRemover {
215
227
  node.addNormalLine(l, 0);
216
228
  continue;
217
229
  }
218
- if (i === (node.contentLines.length - 1)) {
230
+ if (i === node.contentLines.length - 1) {
219
231
  node.addNormalLine(l, i);
220
232
  continue;
221
233
  }
@@ -235,7 +247,7 @@ class RegionRemover {
235
247
  }
236
248
  }
237
249
  else {
238
- if (i === (node.contentLines.length - (node.isRoot ? 1 : 2))) {
250
+ if (i === node.contentLines.length - (node.isRoot ? 1 : 2)) {
239
251
  stack = 0;
240
252
  node.endLastRegion(i, l);
241
253
  }
@@ -256,6 +268,7 @@ class RegionRemover {
256
268
  }
257
269
  }
258
270
  }
271
+ // }
259
272
  const children = node.regions;
260
273
  if (children.length > 0) {
261
274
  for (let index = 0; index < children.length; index++) {
@@ -268,8 +281,6 @@ class RegionRemover {
268
281
  return this.root.toString();
269
282
  }
270
283
  }
271
- ;
272
- ({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region-remover.ts
273
284
 
274
285
  function StripBrowserCode(content) {
275
286
  // @ts-ignore
@@ -279,8 +290,6 @@ function StripBrowserCode(content) {
279
290
  }
280
291
  return content;
281
292
  }
282
- ;
283
- ({}); // @--end-of-file-for-module=isomorphic-region-loader lib/index.ts
284
293
 
285
294
  /**
286
295
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"isomorphic-region-loader.mjs","sources":["../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/models.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region-remover.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/index.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/isomorphic-region-loader.ts"],"sourcesContent":["\n\n\nexport const labelReplacementCode = {\n browserCode: '/* */',// '/* browser code */',\n backendCode: '/* */',// '/* backend code */',\n notForNpmCode: '/* */',//'/* not for npm lib code */',\n onlyForGithubDocs: '/* */',// '/* only for github docs */',\n flatenImportExportRequred: '/* */',// '/* only for github docs */',\n};\n\nexport type ReplacementString = '@backend' | '@backendFunc' | '@cutCodeIfTrue' | '@cutCodeIfFalse' | '@notForNpm';\nexport const ReplacementStringArr = [\n '@backend', '@backendFunc', '@cutCodeIfTrue', '@cutCodeIfFalse', \"@notForNpm\"\n] as ReplacementString[];\n\nexport type Replacement<EnvConfig = any> = (ReplacementString\n | [ReplacementString, string]\n | [ReplacementString, (expression: any, env: EnvConfig) => () => boolean]\n);\n\nexport interface ReplaceOptionsExtended<EnvConfig = any> {\n\n replacements: Replacement[];\n env?: EnvConfig\n}\n\n\n\n\n ;({}); // @--end-of-file-for-module=isomorphic-region-loader lib/models.ts","\n\nimport { Helpers, _ } from 'tnp-core/browser';\nimport { Replacement, ReplacementString, labelReplacementCode } from './models';\n\nimport type { RegionRemover } from './region-remover';\nimport { TAGS } from 'tnp-config/browser';\n\nexport class Region {\n constructor(\n private context: RegionRemover,\n public replacementss: Replacement[],\n public parent: Region,\n public startIndex: number,\n public endIndex: number,\n public lineStart: string,\n public lineEnd: string,\n public contentLines: string[] = [],\n\n ) { }\n private tmpOutput: string;\n public get hasEnd() {\n return this.endIndex !== void 0;\n }\n\n public get lastRegionWithoutEnd() {\n const last = _.last(this.regionsOrStrings);\n if (last instanceof Region && !last.hasEnd) {\n return last;\n }\n return void 0;\n }\n\n private regionsOrStrings: (Region | string)[] = [];\n\n get regions() {\n return this.regionsOrStrings.filter(f => f instanceof Region);\n }\n\n private setEnd(endIndex: number, lineEnd: string) {\n this.endIndex = endIndex;\n this.lineEnd = lineEnd;\n }\n\n get isRoot() {\n return !this.parent;\n }\n\n addNormalLine(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.regionsOrStrings.push(l);\n }\n\n addNormalLineToLastRegion(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.lastRegionWithoutEnd.contentLines.push(l);\n }\n\n addRegion(context: RegionRemover, parent: Region, startIndex: number, lineStart: string) {\n this.contentLines[startIndex] = void 0;\n const newReg = new Region(\n context,\n this.replacementss,\n parent,\n startIndex, void 0,\n lineStart, void 0,\n [lineStart]\n );\n this.regionsOrStrings.push(newReg);\n }\n\n endLastRegion(endIndex: number, lineEnd: string) {\n this.contentLines[endIndex] = void 0;\n const regionWithoutEnd = this.regionsOrStrings.find(r => r instanceof Region && !r.hasEnd) as Region;\n regionWithoutEnd.contentLines.push(lineEnd);\n regionWithoutEnd.setEnd(endIndex, lineEnd);\n }\n\n private containsTitle(s: ReplacementString) {\n const res = (this.titleString.search(s) !== -1);\n\n return res;\n }\n\n private get titleString() {\n let line = this.lineStart;\n const regionWord = '#region';\n const indexOfRegion = line.search(regionWord);\n line = line.replace(\n line.slice(0, indexOfRegion + regionWord.length),\n ''\n );\n return line\n .replace('-->', '')\n .replace('<!--', ''); // TODO not necessery ?\n }\n\n public toString() {\n if (this.tmpOutput !== void 0) {\n return this.tmpOutput;\n }\n let previous = '';\n this.tmpOutput = this.regionsOrStrings\n .map(regionOrString => {\n if (regionOrString instanceof Region) {\n\n const replacements = this.replacementss;\n for (let index = 0; index < replacements.length; index++) {\n const rep = replacements[index];\n const isArr = _.isArray(replacements[index]);\n\n const regionTag = (isArr ? _.first(rep as string[]) : rep) as ReplacementString;\n\n let out = (isArr ? rep[1] : '') as string;\n\n const verticalLength = regionOrString.toString().split('\\n').length - 1;\n\n if (regionOrString.containsTitle(regionTag)) {\n if (regionTag.toLowerCase() === TAGS.WEBSQL.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.notForNpmCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.browserCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.BACKEND_FUNC.toLowerCase()\n ) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')}`\n + `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.WEBSQL_FUNC.toLowerCase()\n ) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')}`\n + `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()\n ||\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ) {\n const fn = out as any; // as ReturnType<typeof codeCuttFn>;\n let expressionToExecute = regionOrString.titleString;\n\n expressionToExecute = expressionToExecute.replace(regionTag, '');\n\n\n const configForProject = this.project && this.project.env.config;\n\n const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);\n\n if (cutCode === null) {\n continue;\n }\n if (\n (cutCode && (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()\n ))\n ||\n (!cutCode && (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ))\n ) {\n out = '';\n } else {\n continue;\n }\n }\n regionOrString.tmpOutput = out;\n break;\n }\n }\n\n }\n const res = regionOrString.toString();\n previous = res;\n return res;\n }).join('\\n');\n return this.tmpOutput;\n }\n\n private get project() {\n return this.context.project;\n }\n\n private get realtiveOrAbsFilePAth() {\n return this.context.realtiveOrAbsFilePAth;\n }\n\n}\n\n\n ;({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region.ts","\n\nimport { _, path } from 'tnp-core/browser';\n\nimport { Helpers } from 'tnp-core/browser';\nimport { Region } from './region';\n// @ts-ignore\nimport { CoreModels } from 'tnp-core/browser';\nimport { REGEX_REGION, TAGS } from 'tnp-config/browser';\n\n\nexport class RegionRemover {\n private root: Region;\n private readonly START_REGION: RegExp[] = [];\n private readonly END_REGION: RegExp[] = [];\n public static from(\n realtiveOrAbsFilePAth: string,\n content: string,\n replacementss?: any, // Models.dev.Replacement[],\n project?: any, // Project,\n ) {\n\n let fileExtension = path.extname(realtiveOrAbsFilePAth);\n\n if (!replacementss) {\n replacementss = [\n [TAGS.BACKEND_FUNC, `return (void 0);`],\n TAGS.BACKEND as any,\n ];\n }\n return new RegionRemover(realtiveOrAbsFilePAth, fileExtension as any, content, replacementss, project);\n }\n\n private matchStartRegion(l: string) {\n const res = !_.isUndefined(this.START_REGION.find(r => l.match(r)));\n return res;\n }\n private matchEndRegion(l: string) {\n const res = !_.isUndefined(this.END_REGION.find(r => l.match(r)));\n return res;\n }\n\n\n private constructor(\n public readonly realtiveOrAbsFilePAth: string,\n fileExtension: CoreModels.CutableFileExt,\n private content: string,\n replacementss?: any, // Models.dev.Replacement[],\n public readonly project?: any, // Project\n\n ) {\n if ((REGEX_REGION.TS_JS_SCSS_SASS.EXT).includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);\n this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);\n }\n if ((REGEX_REGION.HTML.EXT).includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.HTML.START);\n this.END_REGION.push(REGEX_REGION.HTML.END);\n }\n if ((REGEX_REGION.CSS.EXT).includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.CSS.START);\n this.END_REGION.push(REGEX_REGION.CSS.END);\n }\n\n const lines = this.content.split('\\n');\n this.root = new Region(\n this,\n replacementss,\n void 0,\n 0, (lines.length - 1),\n _.first(lines), _.last(lines),\n lines);\n this.tree(this.root);\n }\n\n private tree(node: Region) {\n const contentLines = node.contentLines;\n\n\n\n\n\n\n let stack = 0;\n for (let i = 0; i < contentLines.length; i++) {\n const l = contentLines[i];\n if (!node.isRoot) {\n if (i === 0) {\n node.addNormalLine(l, 0);\n continue;\n }\n if (i === (node.contentLines.length - 1)) {\n node.addNormalLine(l, i);\n continue;\n }\n }\n if (node.lastRegionWithoutEnd) {\n if (this.matchStartRegion(l)) {\n node.addNormalLineToLastRegion(l, i);\n stack++;\n } else if (this.matchEndRegion(l)) {\n if (stack === 0) {\n node.endLastRegion(i, l);\n } else if (stack > 0) {\n node.addNormalLineToLastRegion(l, i);\n stack--;\n }\n } else {\n if (i === (node.contentLines.length - (node.isRoot ? 1 : 2))) {\n stack = 0;\n node.endLastRegion(i, l);\n } else {\n node.addNormalLineToLastRegion(l, i);\n }\n }\n } else {\n if (this.matchStartRegion(l)) {\n node.addRegion(this, node, i, l);\n } else if (this.matchEndRegion(l)) {\n node.addNormalLine(l, i);\n } else {\n node.addNormalLine(l, i);\n }\n }\n }\n\n\n const children = node.regions;\n if (children.length > 0) {\n for (let index = 0; index < children.length; index++) {\n const child = children[index] as Region;\n this.tree(child);\n }\n }\n }\n\n get output() {\n return this.root.toString();\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=isomorphic-region-loader lib/region-remover.ts","\n\n\nimport { RegionRemover } from \"./region-remover\";\n\nexport * from './models';\n\nfunction StripBrowserCode(content) {\n\n\n // @ts-ignore\n content = RegionRemover.from(this.resourcePath, content, ['@browser']).output + '\\n';\n\n if (this.cacheable) {\n this.cacheable(true);\n }\n\n return content;\n}\n\nexport { StripBrowserCode as StripBlockLoader };\n\nexport * from './region-remover';\nexport * from './region';\n\nexport default StripBrowserCode;\n\n ;({}); // @--end-of-file-for-module=isomorphic-region-loader lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isomorphic-region-loader.mjs","sources":["../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/models.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region-remover.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/index.ts","../../../tmp-libs-for-dist/isomorphic-region-loader/projects/isomorphic-region-loader/src/isomorphic-region-loader.ts"],"sourcesContent":["\nexport const labelReplacementCode = {\n browserCode: '/* */',// '/* browser code */',\n backendCode: '/* */',// '/* backend code */',\n notForNpmCode: '/* */',//'/* not for npm lib code */',\n onlyForGithubDocs: '/* */',// '/* only for github docs */',\n flatenImportExportRequred: '/* */',// '/* only for github docs */',\n};\n\nexport type ReplacementString = '@backend' | '@backendFunc' | '@cutCodeIfTrue' | '@cutCodeIfFalse' | '@notForNpm';\nexport const ReplacementStringArr = [\n '@backend', '@backendFunc', '@cutCodeIfTrue', '@cutCodeIfFalse', \"@notForNpm\"\n] as ReplacementString[];\n\nexport type Replacement<EnvConfig = any> = (ReplacementString\n | [ReplacementString, string]\n | [ReplacementString, (expression: any, env: EnvConfig) => () => boolean]\n);\n\nexport interface ReplaceOptionsExtended<EnvConfig = any> {\n\n replacements: Replacement[];\n env?: EnvConfig\n}\n\n\n\n","import { Helpers, _ } from 'tnp-core/browser';\nimport { Replacement, ReplacementString, labelReplacementCode } from './models';\n// import { codeCuttFn } from '../code-cut';\nimport type { RegionRemover } from './region-remover';\nimport { TAGS } from 'tnp-config/browser';\n\nexport class Region {\n constructor(\n private context: RegionRemover,\n public replacementss: Replacement[],\n public parent: Region,\n public startIndex: number,\n public endIndex: number,\n public lineStart: string,\n public lineEnd: string,\n public contentLines: string[] = [],\n\n ) { }\n private tmpOutput: string;\n public get hasEnd() {\n return this.endIndex !== void 0;\n }\n\n public get lastRegionWithoutEnd() {\n const last = _.last(this.regionsOrStrings);\n if (last instanceof Region && !last.hasEnd) {\n return last;\n }\n return void 0;\n }\n\n private regionsOrStrings: (Region | string)[] = [];\n\n get regions() {\n return this.regionsOrStrings.filter(f => f instanceof Region);\n }\n\n private setEnd(endIndex: number, lineEnd: string) {\n this.endIndex = endIndex;\n this.lineEnd = lineEnd;\n }\n\n get isRoot() {\n return !this.parent;\n }\n\n addNormalLine(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.regionsOrStrings.push(l);\n }\n\n addNormalLineToLastRegion(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.lastRegionWithoutEnd.contentLines.push(l);\n }\n\n addRegion(context: RegionRemover, parent: Region, startIndex: number, lineStart: string) {\n this.contentLines[startIndex] = void 0;\n const newReg = new Region(\n context,\n this.replacementss,\n parent,\n startIndex, void 0,\n lineStart, void 0,\n [lineStart]\n );\n this.regionsOrStrings.push(newReg);\n }\n\n endLastRegion(endIndex: number, lineEnd: string) {\n this.contentLines[endIndex] = void 0;\n const regionWithoutEnd = this.regionsOrStrings.find(r => r instanceof Region && !r.hasEnd) as Region;\n regionWithoutEnd.contentLines.push(lineEnd);\n regionWithoutEnd.setEnd(endIndex, lineEnd);\n }\n\n private containsTitle(s: ReplacementString) {\n const res = (this.titleString.search(s) !== -1);\n // Helpers.log(`checking tag (${res}): \"${s}\" in line: \"${this.titleString}\"`)\n return res;\n }\n\n private get titleString() {\n let line = this.lineStart;\n const regionWord = '#region';\n const indexOfRegion = line.search(regionWord);\n line = line.replace(\n line.slice(0, indexOfRegion + regionWord.length),\n ''\n );\n return line\n .replace('-->', '')\n .replace('<!--', ''); // TODO not necessery ?\n }\n\n public toString() {\n if (this.tmpOutput !== void 0) {\n return this.tmpOutput;\n }\n let previous = '';\n this.tmpOutput = this.regionsOrStrings\n .map(regionOrString => {\n if (regionOrString instanceof Region) {\n //#region handle region\n const replacements = this.replacementss;\n for (let index = 0; index < replacements.length; index++) {\n const rep = replacements[index];\n const isArr = _.isArray(replacements[index]);\n\n const regionTag = (isArr ? _.first(rep as string[]) : rep) as ReplacementString;\n\n let out = (isArr ? rep[1] : '') as string;\n\n const verticalLength = regionOrString.toString().split('\\n').length - 1;\n\n if (regionOrString.containsTitle(regionTag)) {\n if (regionTag.toLowerCase() === TAGS.WEBSQL.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.notForNpmCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.browserCode + '\\n').join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.BACKEND_FUNC.toLowerCase()\n ) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')}`\n + `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.WEBSQL_FUNC.toLowerCase()\n ) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = (spacesPrevious < 0 ? 0 : spacesPrevious);\n out = `${_.times(verticalLength).map(() => labelReplacementCode.backendCode + '\\n').join('')}`\n + `${_.times(spacesPrevious).map(n => ' ').join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()\n ||\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ) {\n const fn = out as any; // as ReturnType<typeof codeCuttFn>;\n let expressionToExecute = regionOrString.titleString;\n // Helpers.log(`LINE: \"${regionOrString.lineStart}\"`);\n expressionToExecute = expressionToExecute.replace(regionTag, '');\n // Helpers.log(`Expresion to evaluate \"${expressionToExecute}\"`);\n // Helpers.log(`this.project \"${this.project.name}\"`);\n const configForProject = this.project && this.project.env.config;\n // Helpers.log(`configForProject \"${configForProject}\"`);\n const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);\n // Helpers.info(`Cut code: \"${cutCode}\"`);\n if (cutCode === null) {\n continue;\n }\n if (\n (cutCode && (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_TRUE.toLowerCase()\n ))\n ||\n (!cutCode && (\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ))\n ) {\n out = '';\n } else {\n continue;\n }\n }\n regionOrString.tmpOutput = out;\n break;\n }\n }\n //#endregion\n }\n const res = regionOrString.toString();\n previous = res;\n return res;\n }).join('\\n');\n return this.tmpOutput;\n }\n\n private get project() {\n return this.context.project;\n }\n\n private get realtiveOrAbsFilePAth() {\n return this.context.realtiveOrAbsFilePAth;\n }\n\n}\n\n","import { REGEX_REGION, TAGS } from 'tnp-config/browser';\nimport { _, path } from 'tnp-core/browser';\nimport { Helpers } from 'tnp-core/browser';\nimport { CoreModels } from 'tnp-core/browser';\nimport { UtilsTypescript } from 'tnp-helpers/browser';\n\nimport { Region } from './region';\n\nexport class RegionRemover {\n private root: Region;\n private readonly START_REGION: RegExp[] = [];\n private readonly END_REGION: RegExp[] = [];\n public static from(\n realtiveOrAbsFilePAth: string,\n content: string,\n replacementss?: any, // Models.dev.Replacement[],\n project?: any, // Project,\n // debug = false,\n ) {\n let fileExtension = path.extname(realtiveOrAbsFilePAth);\n\n if (!replacementss) {\n replacementss = [\n [TAGS.BACKEND_FUNC, `return (void 0);`],\n TAGS.BACKEND as any,\n ];\n }\n return new RegionRemover(\n realtiveOrAbsFilePAth,\n fileExtension as any,\n content,\n replacementss,\n project,\n // debug,\n );\n }\n\n private matchStartRegion(l: string) {\n const res = !_.isUndefined(this.START_REGION.find(r => l.match(r)));\n return res;\n }\n private matchEndRegion(l: string) {\n const res = !_.isUndefined(this.END_REGION.find(r => l.match(r)));\n return res;\n }\n\n private constructor(\n public readonly realtiveOrAbsFilePAth: string,\n fileExtension: CoreModels.CutableFileExt,\n private content: string,\n replacementss?: any, // Models.dev.Replacement[],\n public readonly project?: any, // Project\n // public readonly debug = false,\n ) {\n if (REGEX_REGION.TS_JS_SCSS_SASS.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);\n this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);\n }\n if (REGEX_REGION.HTML.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.HTML.START);\n this.END_REGION.push(REGEX_REGION.HTML.END);\n }\n if (REGEX_REGION.CSS.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.CSS.START);\n this.END_REGION.push(REGEX_REGION.CSS.END);\n }\n\n this.content = UtilsTypescript.removeTaggedImportExport(\n this.content,\n replacementss,\n // debug,\n );\n\n const lines = this.content.split('\\n');\n this.root = new Region(\n this,\n replacementss,\n void 0,\n 0,\n lines.length - 1,\n _.first(lines),\n _.last(lines),\n lines,\n );\n this.tree(this.root);\n }\n\n private tree(node: Region) {\n const contentLines = node.contentLines;\n // if (contentLines.length <= 3) {\n // for (let i = 0; i < contentLines.length; i++) {\n // const l = contentLines[i];\n // node.addNormalLine(l, i);\n // }\n // } else {\n let stack = 0;\n for (let i = 0; i < contentLines.length; i++) {\n const l = contentLines[i];\n if (!node.isRoot) {\n if (i === 0) {\n node.addNormalLine(l, 0);\n continue;\n }\n if (i === node.contentLines.length - 1) {\n node.addNormalLine(l, i);\n continue;\n }\n }\n if (node.lastRegionWithoutEnd) {\n if (this.matchStartRegion(l)) {\n node.addNormalLineToLastRegion(l, i);\n stack++;\n } else if (this.matchEndRegion(l)) {\n if (stack === 0) {\n node.endLastRegion(i, l);\n } else if (stack > 0) {\n node.addNormalLineToLastRegion(l, i);\n stack--;\n }\n } else {\n if (i === node.contentLines.length - (node.isRoot ? 1 : 2)) {\n stack = 0;\n node.endLastRegion(i, l);\n } else {\n node.addNormalLineToLastRegion(l, i);\n }\n }\n } else {\n if (this.matchStartRegion(l)) {\n node.addRegion(this, node, i, l);\n } else if (this.matchEndRegion(l)) {\n node.addNormalLine(l, i);\n } else {\n node.addNormalLine(l, i);\n }\n }\n }\n // }\n\n const children = node.regions;\n if (children.length > 0) {\n for (let index = 0; index < children.length; index++) {\n const child = children[index] as Region;\n this.tree(child);\n }\n }\n }\n\n get output() {\n return this.root.toString();\n }\n}\n","\nimport { RegionRemover } from \"./region-remover\";\n\nexport * from './models';\n\nfunction StripBrowserCode(content) {\n\n\n // @ts-ignore\n content = RegionRemover.from(this.resourcePath, content, ['@browser']).output + '\\n';\n\n if (this.cacheable) {\n this.cacheable(true);\n }\n\n return content;\n}\n\nexport { StripBrowserCode as StripBlockLoader };\n\nexport * from './region-remover';\nexport * from './region';\n\nexport default StripBrowserCode;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}