@pristine-ts/file 0.0.323 → 0.0.325

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.
@@ -73,12 +73,25 @@ let FileManager = class FileManager {
73
73
  position = 0;
74
74
  lineIndex++;
75
75
  do {
76
- position = line.indexOf(search, position);
76
+ if (typeof search === "string") {
77
+ position = line.indexOf(search, position);
78
+ }
79
+ else {
80
+ const lineToSearch = line.substring(position);
81
+ const substrPosition = lineToSearch.search(search);
82
+ if (substrPosition !== -1) {
83
+ // Need to add the new position to the current position else we will return the wrong position
84
+ position += substrPosition;
85
+ }
86
+ else {
87
+ position = -1;
88
+ }
89
+ }
77
90
  // If the search string is found, simply add its position
78
91
  if (position !== -1) {
79
92
  fileCursors.push({ line: lineIndex, position, lineText: line });
80
- // Move the position by the length of the search term.
81
- position += search.length;
93
+ // Increment the position to continue the search.
94
+ position++;
82
95
  }
83
96
  } while (position != -1 || position >= line.length);
84
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file.manager.js","sourceRoot":"","sources":["../../../../src/managers/file.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4BAAyB;AACzB,uCAAoC;AAEpC,4CAAoB;AACpB,mDAAqC;AAG9B,IAAM,WAAW,GAAjB,MAAM,WAAW;IACd,UAAU,CAAC,MAAc,EAAE,QAAgB;;;YAC7C,MAAM,UAAU,GAAG,YAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEjD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAChC,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,MAAM,WAAW,GAA0B,EAAE,CAAC;YAE9C,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;YACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;;gBACjB,KAAwB,eAAA,OAAA,cAAA,EAAE,CAAA,QAAA,gEAAE,CAAC;oBAAL,kBAAE;oBAAF,WAAE;oBAAhB,MAAM,IAAI,KAAA,CAAA;oBAChB,QAAQ,GAAG,CAAC,CAAC;oBACb,SAAS,EAAE,CAAC;oBAEZ,GAAG,CAAC;wBACA,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAE1C,yDAAyD;wBACzD,IAAG,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;4BACjB,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;4BAE7D,sDAAsD;4BACtD,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC;wBAC9B,CAAC;oBACL,CAAC,QAAQ,QAAQ,IAAI,CAAC,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAC;gBACvD,CAAC;;;;;;;;;YAED,OAAO,WAAW,CAAC;;KACtB;IAED,QAAQ,CAAC,QAAgB;QACrB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,YAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAO,GAAG,EAAE,IAAI,EAAE,EAAE;gBACtC,IAAG,GAAG,EAAE,CAAC;oBACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAA,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,MAAM,CAAC,QAAgB;QACnB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,YAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBACtB,IAAG,GAAG,EAAE,CAAC;oBACL,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AAxDY,kCAAW;sBAAX,WAAW;IADvB,IAAA,qBAAU,GAAE;GACA,WAAW,CAwDvB"}
1
+ {"version":3,"file":"file.manager.js","sourceRoot":"","sources":["../../../../src/managers/file.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4BAAyB;AACzB,uCAAoC;AAEpC,4CAAoB;AACpB,mDAAqC;AAK9B,IAAM,WAAW,GAAjB,MAAM,WAAW;IACd,UAAU,CAAC,MAAuB,EAAE,QAAgB;;;YACtD,MAAM,UAAU,GAAG,YAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEjD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAChC,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,MAAM,WAAW,GAA0B,EAAE,CAAC;YAE9C,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;YACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;;gBACjB,KAAwB,eAAA,OAAA,cAAA,EAAE,CAAA,QAAA,gEAAE,CAAC;oBAAL,kBAAE;oBAAF,WAAE;oBAAhB,MAAM,IAAI,KAAA,CAAA;oBAChB,QAAQ,GAAG,CAAC,CAAC;oBACb,SAAS,EAAE,CAAC;oBAEZ,GAAG,CAAC;wBACA,IAAG,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAC5B,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAC9C,CAAC;6BAAM,CAAC;4BACJ,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;4BAC9C,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BAEnD,IAAG,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;gCACvB,8FAA8F;gCAC9F,QAAQ,IAAI,cAAc,CAAC;4BAC/B,CAAC;iCAAM,CAAC;gCACJ,QAAQ,GAAG,CAAC,CAAC,CAAC;4BAClB,CAAC;wBACL,CAAC;wBAED,yDAAyD;wBACzD,IAAG,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;4BACjB,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;4BAE7D,iDAAiD;4BACjD,QAAQ,EAAE,CAAC;wBACf,CAAC;oBACL,CAAC,QAAQ,QAAQ,IAAI,CAAC,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAC;gBACvD,CAAC;;;;;;;;;YAED,OAAO,WAAW,CAAC;;KACtB;IAED,QAAQ,CAAC,QAAgB;QACrB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,YAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAO,GAAG,EAAE,IAAI,EAAE,EAAE;gBACtC,IAAG,GAAG,EAAE,CAAC;oBACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAA,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,MAAM,CAAC,QAAgB;QACnB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,YAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBACtB,IAAG,GAAG,EAAE,CAAC;oBACL,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AApEY,kCAAW;sBAAX,WAAW;IADvB,IAAA,qBAAU,GAAE;GACA,WAAW,CAoEvB"}
@@ -44,12 +44,25 @@ let FileManager = class FileManager {
44
44
  position = 0;
45
45
  lineIndex++;
46
46
  do {
47
- position = line.indexOf(search, position);
47
+ if (typeof search === "string") {
48
+ position = line.indexOf(search, position);
49
+ }
50
+ else {
51
+ const lineToSearch = line.substring(position);
52
+ const substrPosition = lineToSearch.search(search);
53
+ if (substrPosition !== -1) {
54
+ // Need to add the new position to the current position else we will return the wrong position
55
+ position += substrPosition;
56
+ }
57
+ else {
58
+ position = -1;
59
+ }
60
+ }
48
61
  // If the search string is found, simply add its position
49
62
  if (position !== -1) {
50
63
  fileCursors.push({ line: lineIndex, position, lineText: line });
51
- // Move the position by the length of the search term.
52
- position += search.length;
64
+ // Increment the position to continue the search.
65
+ position++;
53
66
  }
54
67
  } while (position != -1 || position >= line.length);
55
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file.manager.js","sourceRoot":"","sources":["../../../../src/managers/file.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAG9B,IAAM,WAAW,GAAjB,MAAM,WAAW;IACd,UAAU,CAAC,MAAc,EAAE,QAAgB;;;YAC7C,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEjD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAChC,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,MAAM,WAAW,GAA0B,EAAE,CAAC;YAE9C,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;YACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;;gBACjB,KAAwB,eAAA,OAAA,cAAA,EAAE,CAAA,QAAA,gEAAE,CAAC;oBAAL,kBAAE;oBAAF,WAAE;oBAAhB,MAAM,IAAI,KAAA,CAAA;oBAChB,QAAQ,GAAG,CAAC,CAAC;oBACb,SAAS,EAAE,CAAC;oBAEZ,GAAG,CAAC;wBACA,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAE1C,yDAAyD;wBACzD,IAAG,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;4BACjB,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;4BAE7D,sDAAsD;4BACtD,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC;wBAC9B,CAAC;oBACL,CAAC,QAAQ,QAAQ,IAAI,CAAC,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAC;gBACvD,CAAC;;;;;;;;;YAED,OAAO,WAAW,CAAC;;KACtB;IAED,QAAQ,CAAC,QAAgB;QACrB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAO,GAAG,EAAE,IAAI,EAAE,EAAE;gBACtC,IAAG,GAAG,EAAE,CAAC;oBACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAA,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,MAAM,CAAC,QAAgB;QACnB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBACtB,IAAG,GAAG,EAAE,CAAC;oBACL,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AAxDY,WAAW;IADvB,UAAU,EAAE;GACA,WAAW,CAwDvB"}
1
+ {"version":3,"file":"file.manager.js","sourceRoot":"","sources":["../../../../src/managers/file.manager.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import "reflect-metadata";
3
3
  import { FileCursorInterface } from "../interfaces/file-cursor.interface";
4
4
  export declare class FileManager {
5
- findInFile(search: string, filePath: string): Promise<FileCursorInterface[]>;
5
+ findInFile(search: string | RegExp, filePath: string): Promise<FileCursorInterface[]>;
6
6
  readFile(filePath: string): Promise<Buffer>;
7
7
  exists(filePath: string): Promise<boolean>;
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/file",
3
- "version": "0.0.323",
3
+ "version": "0.0.325",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/file.module.js",
6
6
  "main": "dist/lib/cjs/file.module.js",
@@ -20,7 +20,7 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@pristine-ts/common": "^0.0.323"
23
+ "@pristine-ts/common": "^0.0.325"
24
24
  },
25
25
  "jest": {
26
26
  "transform": {
@@ -56,5 +56,5 @@
56
56
  "src/*.{js,ts}"
57
57
  ]
58
58
  },
59
- "gitHead": "650d10a09572ce79fb15391f401e98eb2e253428"
59
+ "gitHead": "9780c9a218d1b6de16ed99c23d92d4ada4c2deac"
60
60
  }