@breadstone-infrastructure/utilities 0.0.71 → 0.0.73

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 (68) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/IO/Directory.d.ts +8 -0
  3. package/IO/Directory.d.ts.map +1 -1
  4. package/IO/Directory.js +10 -0
  5. package/IO/Directory.js.map +1 -1
  6. package/IO/File.d.ts +47 -0
  7. package/IO/File.d.ts.map +1 -1
  8. package/IO/File.js +104 -0
  9. package/IO/File.js.map +1 -1
  10. package/IO/FileCache.d.ts +46 -0
  11. package/IO/FileCache.d.ts.map +1 -0
  12. package/IO/FileCache.js +94 -0
  13. package/IO/FileCache.js.map +1 -0
  14. package/IO/FileManifest.d.ts +57 -0
  15. package/IO/FileManifest.d.ts.map +1 -0
  16. package/IO/FileManifest.js +105 -0
  17. package/IO/FileManifest.js.map +1 -0
  18. package/IO/FileSystem.d.ts +488 -0
  19. package/IO/FileSystem.d.ts.map +1 -0
  20. package/IO/FileSystem.js +667 -0
  21. package/IO/FileSystem.js.map +1 -0
  22. package/IO/FileTracker.d.ts +73 -0
  23. package/IO/FileTracker.d.ts.map +1 -0
  24. package/IO/FileTracker.js +116 -0
  25. package/IO/FileTracker.js.map +1 -0
  26. package/IO/Interfaces/IDirectory.d.ts +115 -0
  27. package/IO/Interfaces/IDirectory.d.ts.map +1 -0
  28. package/IO/Interfaces/IDirectory.js +3 -0
  29. package/IO/Interfaces/IDirectory.js.map +1 -0
  30. package/IO/Interfaces/IFile.d.ts +152 -0
  31. package/IO/Interfaces/IFile.d.ts.map +1 -0
  32. package/IO/Interfaces/IFile.js +4 -0
  33. package/IO/Interfaces/IFile.js.map +1 -0
  34. package/IO/Interfaces/IFileCache.d.ts +56 -0
  35. package/IO/Interfaces/IFileCache.d.ts.map +1 -0
  36. package/IO/Interfaces/IFileCache.js +3 -0
  37. package/IO/Interfaces/IFileCache.js.map +1 -0
  38. package/IO/Interfaces/IFileSystem.d.ts +43 -0
  39. package/IO/Interfaces/IFileSystem.d.ts.map +1 -0
  40. package/IO/Interfaces/IFileSystem.js +4 -0
  41. package/IO/Interfaces/IFileSystem.js.map +1 -0
  42. package/IO/Interfaces/IFileTracker.d.ts +15 -0
  43. package/IO/Interfaces/IFileTracker.d.ts.map +1 -0
  44. package/IO/Interfaces/IFileTracker.js +4 -0
  45. package/IO/Interfaces/IFileTracker.js.map +1 -0
  46. package/IO/Interfaces/IPath.d.ts +97 -0
  47. package/IO/Interfaces/IPath.d.ts.map +1 -0
  48. package/IO/Interfaces/IPath.js +4 -0
  49. package/IO/Interfaces/IPath.js.map +1 -0
  50. package/IO/vNext/FileCache.d.ts +1 -1
  51. package/IO/vNext/FileTracker.d.ts +73 -0
  52. package/IO/vNext/FileTracker.d.ts.map +1 -0
  53. package/IO/vNext/FileTracker.js +116 -0
  54. package/IO/vNext/FileTracker.js.map +1 -0
  55. package/IO/vNext/Interfaces/IFileTracker.d.ts +15 -0
  56. package/IO/vNext/Interfaces/IFileTracker.d.ts.map +1 -0
  57. package/IO/vNext/Interfaces/IFileTracker.js +4 -0
  58. package/IO/vNext/Interfaces/IFileTracker.js.map +1 -0
  59. package/Index.d.ts +7 -4
  60. package/Index.d.ts.map +1 -1
  61. package/Index.js +7 -4
  62. package/Index.js.map +1 -1
  63. package/README.md +36 -36
  64. package/package.json +2 -2
  65. package/IO/SymbolikLink.d.ts +0 -6
  66. package/IO/SymbolikLink.d.ts.map +0 -1
  67. package/IO/SymbolikLink.js +0 -10
  68. package/IO/SymbolikLink.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ ## 0.0.71 (2025-06-30)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - add missing newline at end of package.json ([73866991d5](https://github.com/RueDeRennes/mosaik/commit/73866991d5))
6
+
7
+ ## 0.0.70 (2025-06-28)
8
+
9
+ ### 🩹 Fixes
10
+
11
+ - update background color to transparent for page header and menu components; update release script to version 0.0.70 ([e8e7c124a4](https://github.com/RueDeRennes/mosaik/commit/e8e7c124a4))
12
+
13
+ ## 0.0.69 (2025-06-26)
14
+
15
+ This was a version bump only for utilities to align it with other projects, there were no code changes.
16
+
17
+ ## 0.0.68 (2025-06-26)
18
+
19
+ ### 🚀 Features
20
+
21
+ - add copyExecutorsJson script and update build commands ([0a0aba85b9](https://github.com/RueDeRennes/mosaik/commit/0a0aba85b9))
22
+
23
+ ## 0.0.67 (2025-06-26)
24
+
25
+ This was a version bump only for utilities to align it with other projects, there were no code changes.
26
+
1
27
  ## 0.0.66 (2025-06-25)
2
28
 
3
29
  This was a version bump only for utilities to align it with other projects, there were no code changes.
package/IO/Directory.d.ts CHANGED
@@ -11,6 +11,14 @@ export declare class Directory {
11
11
  * @returns {void}
12
12
  */
13
13
  static create(path: string): void;
14
+ /**
15
+ * Creates all directories and subdirectories in the specified path unless they already exist.
16
+ * @public
17
+ * @static
18
+ * @param {string} path The directory to create.
19
+ * @returns {Promise<void>} A promise that resolves when the directory is created.
20
+ */
21
+ static createAsync(path: string): Promise<void>;
14
22
  /**
15
23
  * Deletes an empty directory from a specified path.
16
24
  * @param {string} path The name of the directory to remove.
@@ -1 +1 @@
1
- {"version":3,"file":"Directory.d.ts","sourceRoot":"","sources":["../../src/IO/Directory.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,qBAAa,SAAS;IAIlB;;;;;;OAMG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxC;;;OAGG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;;;;OAOG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;;OAMG;WACW,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIzC;;;;;;OAMG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAuCxC;;;;;;OAMG;WACW,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQpD;;;;;OAKG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAI1D;;;;;;;OAOG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAIlE;;;;;;;OAOG;WACW,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAMnE"}
1
+ {"version":3,"file":"Directory.d.ts","sourceRoot":"","sources":["../../src/IO/Directory.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,qBAAa,SAAS;IAIlB;;;;;;OAMG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;;;OAMG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;OAGG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;;;;OAOG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;;OAMG;WACW,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIzC;;;;;;OAMG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAuCxC;;;;;;OAMG;WACW,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQpD;;;;;OAKG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAI1D;;;;;;;OAOG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAIlE;;;;;;;OAOG;WACW,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAMnE"}
package/IO/Directory.js CHANGED
@@ -54,6 +54,16 @@ class Directory {
54
54
  static create(path) {
55
55
  fse.mkdirsSync(path);
56
56
  }
57
+ /**
58
+ * Creates all directories and subdirectories in the specified path unless they already exist.
59
+ * @public
60
+ * @static
61
+ * @param {string} path The directory to create.
62
+ * @returns {Promise<void>} A promise that resolves when the directory is created.
63
+ */
64
+ static createAsync(path) {
65
+ return fse.mkdirs(path);
66
+ }
57
67
  /**
58
68
  * Deletes an empty directory from a specified path.
59
69
  * @param {string} path The name of the directory to remove.
@@ -1 +1 @@
1
- {"version":3,"file":"Directory.js","sourceRoot":"","sources":["../../src/IO/Directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Directory.js","sourceRoot":"","sources":["../../src/IO/Directory.ts"],"names":[],"mappings":"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"}
package/IO/File.d.ts CHANGED
@@ -31,6 +31,16 @@ export declare class File {
31
31
  * @returns {string} A string containing all text in the file.
32
32
  */
33
33
  static readAllText(path: string, encoding?: Encoding, validateCase?: boolean): string;
34
+ /**
35
+ * Opens a file, reads all text in the file with the specified encoding, and then closes the file.
36
+ * @public
37
+ * @static
38
+ * @param {string} path The file to open for reading.
39
+ * @param {Encoding} encoding The encoding applied to the contents of the file.
40
+ * @param {boolean} validateCase Optional. If true, checks casing of the path.
41
+ * @returns {Promise<string>} A promise that resolves with a string containing all text in the file.
42
+ */
43
+ static readAllTextAsync(path: string, encoding?: Encoding, validateCase?: boolean): Promise<string>;
34
44
  /**
35
45
  * Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
36
46
  * @public
@@ -39,6 +49,14 @@ export declare class File {
39
49
  * @returns {Buffer} A buffer containing the contents of the file.
40
50
  */
41
51
  static readAllBytes(path: string): Buffer;
52
+ /**
53
+ * Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
54
+ * @public
55
+ * @static
56
+ * @param {string} path - The file to open for reading.
57
+ * @returns {Promise<Buffer>} A promise that resolves with a buffer containing the contents of the file.
58
+ */
59
+ static readAllBytesAsync(path: string): Promise<Buffer>;
42
60
  /**
43
61
  * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
44
62
  * @public
@@ -50,6 +68,17 @@ export declare class File {
50
68
  * @returns {void}
51
69
  */
52
70
  static writeAllText(path: string, contents: string, encoding?: Encoding, validateCase?: boolean): void;
71
+ /**
72
+ * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
73
+ * @public
74
+ * @static
75
+ * @param {string} path The file to write to.
76
+ * @param {string} contents The string to write to the file.
77
+ * @param {Encoding} encoding The encoding to apply to the string.
78
+ * @param {boolean} validateCase Optional. If true, checks casing of the path.
79
+ * @returns {Promise<void>} A promise that resolves when the file is written.
80
+ */
81
+ static writeAllTextAsync(path: string, contents: string, encoding?: Encoding, validateCase?: boolean): Promise<void>;
53
82
  /**
54
83
  * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
55
84
  * @public
@@ -60,6 +89,16 @@ export declare class File {
60
89
  * @returns {void}
61
90
  */
62
91
  static writeAllJson(path: string, data: unknown, encoding?: Encoding): void;
92
+ /**
93
+ * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
94
+ * @public
95
+ * @static
96
+ * @param {string} path The file to write to.
97
+ * @param {unknown} data The json data to write
98
+ * @param {Encoding} encoding The encoding to apply to the string.
99
+ * @returns {Promise<void>} A promise that resolves when the file is written.
100
+ */
101
+ static writeAllJsonAsync(path: string, data: unknown, encoding?: Encoding): Promise<void>;
63
102
  /**
64
103
  * Deletes the specified file.
65
104
  * @public
@@ -68,6 +107,14 @@ export declare class File {
68
107
  * @returns {void}
69
108
  */
70
109
  static delete(path: string): void;
110
+ /**
111
+ * Deletes the specified file asynchronously.
112
+ * @public
113
+ * @static
114
+ * @param {string} path The name of the file to be deleted. Wildcard characters are not supported.
115
+ * @returns {Promise<void>} A promise that resolves when the file is deleted.
116
+ */
117
+ static deleteAsync(path: string): Promise<void>;
71
118
  /**
72
119
  * Moves a specified file to a new location, providing the option to specify a new file name.
73
120
  * @public
package/IO/File.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAI/C,qBAAa,IAAI;IAIb;;;;;;OAMG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO3C;;;;;;;;OAQG;WACW,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,IAAI;IAIlG;;;;;;;;OAQG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM;IAe3G;;;;;;OAMG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIhD;;;;;;;;;OASG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,EAAE,YAAY,GAAE,OAAe,GAAG,IAAI;IAsB5H;;;;;;;;OAQG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAE,QAAiB,GAAG,IAAI;IAQ1F;;;;;;OAMG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOxC;;;;;;;OAOG;WACW,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAMtE;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IASnD;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;IAuB1D;;;;;OAKG;WACW,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAmBtD;;;;;;;;OAQG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,KAAa,EAAE,QAAQ,GAAE,KAAK,GAAG,QAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAcjI;;;;;;;OAOG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAIlE;;;;;;;;OAQG;WACW,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,MAAa,GAAG,MAAM;IAiB3E;;;;;;;OAOG;WACW,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKxC;;;;;;;;OAQG;WACW,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAU7F;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAoBrC"}
1
+ {"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":"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"}
package/IO/File.js CHANGED
@@ -95,6 +95,26 @@ class File {
95
95
  }
96
96
  throw new Error(`Unable to read path '${path}'.`);
97
97
  }
98
+ /**
99
+ * Opens a file, reads all text in the file with the specified encoding, and then closes the file.
100
+ * @public
101
+ * @static
102
+ * @param {string} path The file to open for reading.
103
+ * @param {Encoding} encoding The encoding applied to the contents of the file.
104
+ * @param {boolean} validateCase Optional. If true, checks casing of the path.
105
+ * @returns {Promise<string>} A promise that resolves with a string containing all text in the file.
106
+ */
107
+ static readAllTextAsync(path, encoding = 'utf8', validateCase = false) {
108
+ return new Promise((resolve, reject) => {
109
+ try {
110
+ const content = File.readAllText(path, encoding, validateCase);
111
+ resolve(content);
112
+ }
113
+ catch (error) {
114
+ reject(new Error(`Unable to read path '${path}'.${String_1.StringExtensions.newLine}${(0, Error_1.extractError)(error)}`));
115
+ }
116
+ });
117
+ }
98
118
  /**
99
119
  * Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
100
120
  * @public
@@ -105,6 +125,25 @@ class File {
105
125
  static readAllBytes(path) {
106
126
  return fs.readFileSync(path);
107
127
  }
128
+ /**
129
+ * Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
130
+ * @public
131
+ * @static
132
+ * @param {string} path - The file to open for reading.
133
+ * @returns {Promise<Buffer>} A promise that resolves with a buffer containing the contents of the file.
134
+ */
135
+ static readAllBytesAsync(path) {
136
+ return new Promise((resolve, reject) => {
137
+ fs.readFile(path, (error, data) => {
138
+ if (error) {
139
+ reject(new Error(`Unable to read path '${path}'.${String_1.StringExtensions.newLine}${(0, Error_1.extractError)(error)}`));
140
+ }
141
+ else {
142
+ resolve(data);
143
+ }
144
+ });
145
+ });
146
+ }
108
147
  /**
109
148
  * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
110
149
  * @public
@@ -135,6 +174,27 @@ class File {
135
174
  fs.writeFileSync(path, contents, encoding);
136
175
  }
137
176
  }
177
+ /**
178
+ * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
179
+ * @public
180
+ * @static
181
+ * @param {string} path The file to write to.
182
+ * @param {string} contents The string to write to the file.
183
+ * @param {Encoding} encoding The encoding to apply to the string.
184
+ * @param {boolean} validateCase Optional. If true, checks casing of the path.
185
+ * @returns {Promise<void>} A promise that resolves when the file is written.
186
+ */
187
+ static writeAllTextAsync(path, contents, encoding = 'utf8', validateCase = false) {
188
+ return new Promise((resolve, reject) => {
189
+ try {
190
+ File.writeAllText(path, contents, encoding, validateCase);
191
+ resolve();
192
+ }
193
+ catch (error) {
194
+ reject(new Error(`Unable to write file '${path}'.${String_1.StringExtensions.newLine}${(0, Error_1.extractError)(error)}`));
195
+ }
196
+ });
197
+ }
138
198
  /**
139
199
  * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
140
200
  * @public
@@ -152,6 +212,26 @@ class File {
152
212
  throw new Error(`Unable to write file '${path}'.${String_1.StringExtensions.newLine}${(0, Error_1.extractError)(error)}`);
153
213
  }
154
214
  }
215
+ /**
216
+ * Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.
217
+ * @public
218
+ * @static
219
+ * @param {string} path The file to write to.
220
+ * @param {unknown} data The json data to write
221
+ * @param {Encoding} encoding The encoding to apply to the string.
222
+ * @returns {Promise<void>} A promise that resolves when the file is written.
223
+ */
224
+ static writeAllJsonAsync(path, data, encoding = 'utf8') {
225
+ return new Promise((resolve, reject) => {
226
+ try {
227
+ File.writeAllJson(path, data, encoding);
228
+ resolve();
229
+ }
230
+ catch (error) {
231
+ reject(new Error(`Unable to write file '${path}'.${String_1.StringExtensions.newLine}${(0, Error_1.extractError)(error)}`));
232
+ }
233
+ });
234
+ }
155
235
  /**
156
236
  * Deletes the specified file.
157
237
  * @public
@@ -165,6 +245,30 @@ class File {
165
245
  }
166
246
  fs.unlinkSync(path);
167
247
  }
248
+ /**
249
+ * Deletes the specified file asynchronously.
250
+ * @public
251
+ * @static
252
+ * @param {string} path The name of the file to be deleted. Wildcard characters are not supported.
253
+ * @returns {Promise<void>} A promise that resolves when the file is deleted.
254
+ */
255
+ static deleteAsync(path) {
256
+ return new Promise((resolve, reject) => {
257
+ if (path === '') {
258
+ reject(new Error('The path cannot be empty.'));
259
+ }
260
+ else {
261
+ fs.unlink(path, (error) => {
262
+ if (error) {
263
+ reject(new Error(`Unable to delete file '${path}'.${String_1.StringExtensions.newLine}${(0, Error_1.extractError)(error)}`));
264
+ }
265
+ else {
266
+ resolve();
267
+ }
268
+ });
269
+ }
270
+ });
271
+ }
168
272
  /**
169
273
  * Moves a specified file to a new location, providing the option to specify a new file name.
170
274
  * @public
package/IO/File.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { IFileCache, IFileCacheOptions } from './Interfaces/IFileCache.js';
2
+ /**
3
+ * Implementation of the local file cache.
4
+ */
5
+ export declare class FileCache implements IFileCache {
6
+ private readonly _options;
7
+ /**
8
+ * Initializes a new instance of the FileCache class.
9
+ *
10
+ * @public
11
+ * @param options - The options for the cache.
12
+ */
13
+ constructor(options: IFileCacheOptions);
14
+ /**
15
+ * Checks if a directory is cached.
16
+ * @param dirPath - The directory to check.
17
+ * @returns A promise resolving to `true` if the directory is cached, otherwise `false`.
18
+ */
19
+ isDirectoryCached(dirPath: string): Promise<boolean>;
20
+ /**
21
+ * Checks if a file is cached.
22
+ * If not and caching is enabled, the file will be cached.
23
+ * @param file - The file to check.
24
+ * @returns A promise resolving to `true` if the file is cached, otherwise `false`.
25
+ */
26
+ isFileCached(file: string): Promise<boolean>;
27
+ /**
28
+ * Gets the token of a file.
29
+ * The token is used to identify the file in the cache.
30
+ * @param file - The file for which to generate a token.
31
+ * @returns The token of the file.
32
+ */
33
+ getFileToken(file: string): string;
34
+ /**
35
+ * Deletes a file from the cache.
36
+ * @param token - The token of the file to delete.
37
+ */
38
+ deleteFile(token: string): void;
39
+ /**
40
+ * Writes data to the cache directory as a hashed file.
41
+ * @param data - The data to write.
42
+ * @returns `true` if the file already exists in the cache, otherwise `false`.
43
+ */
44
+ private writeToFile;
45
+ }
46
+ //# sourceMappingURL=FileCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCache.d.ts","sourceRoot":"","sources":["../../src/IO/FileCache.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAOhF;;GAEG;AACH,qBAAa,SAAU,YAAW,UAAU;IAIxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAM7C;;;;;OAKG;gBACgB,OAAO,EAAE,iBAAiB;IAY7C;;;;OAIG;IACU,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWjE;;;;;OAKG;IACU,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASzD;;;;;OAKG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKzC;;;OAGG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOtC;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAYtB"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.FileCache = void 0;
5
+ const File_js_1 = require("./File.js");
6
+ const Path_js_1 = require("./Path.js");
7
+ const String_js_1 = require("../System/String.js");
8
+ // #endregion
9
+ /**
10
+ * Implementation of the local file cache.
11
+ */
12
+ class FileCache {
13
+ // #region Fields
14
+ _options;
15
+ // #endregion
16
+ // #region Ctor
17
+ /**
18
+ * Initializes a new instance of the FileCache class.
19
+ *
20
+ * @public
21
+ * @param options - The options for the cache.
22
+ */
23
+ constructor(options) {
24
+ if (!options.dirPath) {
25
+ throw new Error('The cache directory must be specified.');
26
+ }
27
+ this._options = options;
28
+ }
29
+ // #endregion
30
+ // #region Methods
31
+ /**
32
+ * Checks if a directory is cached.
33
+ * @param dirPath - The directory to check.
34
+ * @returns A promise resolving to `true` if the directory is cached, otherwise `false`.
35
+ */
36
+ async isDirectoryCached(dirPath) {
37
+ if (!this._options.enabled) {
38
+ return false;
39
+ }
40
+ const files = File_js_1.File.glob(dirPath);
41
+ const fileContents = await Promise.all(files.map((x) => File_js_1.File.readAllBytes(x)));
42
+ const aggregatedData = Buffer.concat(fileContents);
43
+ return this.writeToFile(aggregatedData.toString());
44
+ }
45
+ /**
46
+ * Checks if a file is cached.
47
+ * If not and caching is enabled, the file will be cached.
48
+ * @param file - The file to check.
49
+ * @returns A promise resolving to `true` if the file is cached, otherwise `false`.
50
+ */
51
+ async isFileCached(file) {
52
+ if (!this._options.enabled) {
53
+ return Promise.resolve(false);
54
+ }
55
+ const fileContent = File_js_1.File.readAllText(file);
56
+ return Promise.resolve(this.writeToFile(fileContent));
57
+ }
58
+ /**
59
+ * Gets the token of a file.
60
+ * The token is used to identify the file in the cache.
61
+ * @param file - The file for which to generate a token.
62
+ * @returns The token of the file.
63
+ */
64
+ getFileToken(file) {
65
+ const data = File_js_1.File.readAllText(file);
66
+ return String_js_1.StringExtensions.md5(data);
67
+ }
68
+ /**
69
+ * Deletes a file from the cache.
70
+ * @param token - The token of the file to delete.
71
+ */
72
+ deleteFile(token) {
73
+ const cacheFile = Path_js_1.Path.combine(this._options.dirPath, token);
74
+ if (File_js_1.File.exists(cacheFile)) {
75
+ File_js_1.File.delete(cacheFile);
76
+ }
77
+ }
78
+ /**
79
+ * Writes data to the cache directory as a hashed file.
80
+ * @param data - The data to write.
81
+ * @returns `true` if the file already exists in the cache, otherwise `false`.
82
+ */
83
+ writeToFile(data) {
84
+ const hash = String_js_1.StringExtensions.md5(data);
85
+ const cacheFile = Path_js_1.Path.combine(this._options.dirPath, hash);
86
+ if (File_js_1.File.exists(cacheFile)) {
87
+ return true;
88
+ }
89
+ File_js_1.File.writeAllText(cacheFile, '');
90
+ return false;
91
+ }
92
+ }
93
+ exports.FileCache = FileCache;
94
+ //# sourceMappingURL=FileCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCache.js","sourceRoot":"","sources":["../../src/IO/FileCache.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAGlB,uCAAiC;AACjC,uCAAiC;AACjC,mDAAuD;AAEvD,aAAa;AAEb;;GAEG;AACH,MAAa,SAAS;IAElB,iBAAiB;IAEA,QAAQ,CAAoB;IAE7C,aAAa;IAEb,eAAe;IAEf;;;;;OAKG;IACH,YAAmB,OAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,OAAe;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,KAAK,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,YAAY,CAAC,IAAY;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,WAAW,GAAG,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,IAAY;QAC5B,MAAM,IAAI,GAAG,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,4BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,KAAa;QAC3B,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,cAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,cAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,IAAY;QAC5B,MAAM,IAAI,GAAG,4BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,cAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,cAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;CAIJ;AAlGD,8BAkGC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * A self-contained class that tracks generated files and performs cleanup.
3
+ *
4
+ * @public
5
+ */
6
+ export declare class FileManifest {
7
+ private readonly _manifestPath;
8
+ private readonly _currentFiles;
9
+ private _previousFiles;
10
+ /**
11
+ * Constructs a new instance of the `FileManifest` class.
12
+ *
13
+ * @public
14
+ * @param options - Options for the manifest, including the path to the manifest file.
15
+ */
16
+ constructor(options: {
17
+ manifestPath: string;
18
+ });
19
+ /**
20
+ * Loads the previous file list from the manifest file.
21
+ *
22
+ * @public
23
+ */
24
+ load(): Promise<void>;
25
+ /**
26
+ * Adds a file path to the current list of generated files.
27
+ *
28
+ * @public
29
+ * @param filePath - The path of the file to add, can be relative or absolute
30
+ */
31
+ add(filePath: string): void;
32
+ /**
33
+ * Deletes all files that were previously generated but not in the current run.
34
+ *
35
+ * @public
36
+ */
37
+ cleanup(): Promise<void>;
38
+ /**
39
+ * Saves the current file list to the manifest file.
40
+ *
41
+ * @public
42
+ */
43
+ save(): Promise<void>;
44
+ /**
45
+ * Returns the list of files tracked in the current run.
46
+ *
47
+ * @public
48
+ */
49
+ getTrackedFiles(): Array<string>;
50
+ /**
51
+ * Clears the manifest's internal state (useful for testing or resetting).
52
+ *
53
+ * @public
54
+ */
55
+ reset(): void;
56
+ }
57
+ //# sourceMappingURL=FileManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileManifest.d.ts","sourceRoot":"","sources":["../../src/IO/FileManifest.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,qBAAa,YAAY;IAIrB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAc;IAMpC;;;;;OAKG;gBACgB,OAAO,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE;IAUpD;;;;OAIG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC;;;;;OAKG;IACI,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAarC;;;;OAIG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWlC;;;;OAIG;IACI,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC;IAIvC;;;;OAIG;IACI,KAAK,IAAI,IAAI;CAOvB"}