@breadstone-infrastructure/utilities 0.0.71 → 0.0.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/IO/Directory.d.ts +8 -0
- package/IO/Directory.d.ts.map +1 -1
- package/IO/Directory.js +10 -0
- package/IO/Directory.js.map +1 -1
- package/IO/File.d.ts +47 -0
- package/IO/File.d.ts.map +1 -1
- package/IO/File.js +104 -0
- package/IO/File.js.map +1 -1
- package/IO/FileCache.d.ts +46 -0
- package/IO/FileCache.d.ts.map +1 -0
- package/IO/FileCache.js +94 -0
- package/IO/FileCache.js.map +1 -0
- package/IO/FileManifest.d.ts +57 -0
- package/IO/FileManifest.d.ts.map +1 -0
- package/IO/FileManifest.js +105 -0
- package/IO/FileManifest.js.map +1 -0
- package/IO/FileSystem.d.ts +488 -0
- package/IO/FileSystem.d.ts.map +1 -0
- package/IO/FileSystem.js +667 -0
- package/IO/FileSystem.js.map +1 -0
- package/IO/FileTracker.d.ts +73 -0
- package/IO/FileTracker.d.ts.map +1 -0
- package/IO/FileTracker.js +116 -0
- package/IO/FileTracker.js.map +1 -0
- package/IO/Interfaces/IDirectory.d.ts +115 -0
- package/IO/Interfaces/IDirectory.d.ts.map +1 -0
- package/IO/Interfaces/IDirectory.js +3 -0
- package/IO/Interfaces/IDirectory.js.map +1 -0
- package/IO/Interfaces/IFile.d.ts +152 -0
- package/IO/Interfaces/IFile.d.ts.map +1 -0
- package/IO/Interfaces/IFile.js +4 -0
- package/IO/Interfaces/IFile.js.map +1 -0
- package/IO/Interfaces/IFileCache.d.ts +56 -0
- package/IO/Interfaces/IFileCache.d.ts.map +1 -0
- package/IO/Interfaces/IFileCache.js +3 -0
- package/IO/Interfaces/IFileCache.js.map +1 -0
- package/IO/Interfaces/IFileSystem.d.ts +43 -0
- package/IO/Interfaces/IFileSystem.d.ts.map +1 -0
- package/IO/Interfaces/IFileSystem.js +4 -0
- package/IO/Interfaces/IFileSystem.js.map +1 -0
- package/IO/Interfaces/IFileTracker.d.ts +15 -0
- package/IO/Interfaces/IFileTracker.d.ts.map +1 -0
- package/IO/Interfaces/IFileTracker.js +4 -0
- package/IO/Interfaces/IFileTracker.js.map +1 -0
- package/IO/Interfaces/IPath.d.ts +97 -0
- package/IO/Interfaces/IPath.d.ts.map +1 -0
- package/IO/Interfaces/IPath.js +4 -0
- package/IO/Interfaces/IPath.js.map +1 -0
- package/IO/vNext/FileCache.d.ts +1 -1
- package/IO/vNext/FileTracker.d.ts +73 -0
- package/IO/vNext/FileTracker.d.ts.map +1 -0
- package/IO/vNext/FileTracker.js +116 -0
- package/IO/vNext/FileTracker.js.map +1 -0
- package/IO/vNext/Interfaces/IFileTracker.d.ts +15 -0
- package/IO/vNext/Interfaces/IFileTracker.d.ts.map +1 -0
- package/IO/vNext/Interfaces/IFileTracker.js +4 -0
- package/IO/vNext/Interfaces/IFileTracker.js.map +1 -0
- package/Index.d.ts +7 -4
- package/Index.d.ts.map +1 -1
- package/Index.js +7 -4
- package/Index.js.map +1 -1
- package/README.md +36 -36
- package/package.json +2 -2
- package/IO/SymbolikLink.d.ts +0 -6
- package/IO/SymbolikLink.d.ts.map +0 -1
- package/IO/SymbolikLink.js +0 -10
- 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.
|
package/IO/Directory.d.ts.map
CHANGED
|
@@ -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.
|
package/IO/Directory.js.map
CHANGED
|
@@ -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;
|
|
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":";AAAA,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElB,+CAAiC;AACjC,uCAAyB;AACzB,8CAAgC;AAChC,+CAAiC;AACjC,2CAA+C;AAC/C,6CAAoD;AACpD,iDAA8C;AAC9C,2CAAwC;AAExC,iCAA8B;AAG9B,iCAA+C;AAE/C,aAAa;AAEb,MAAa,IAAI;IAEb,kBAAkB;IAElB;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,IAAY;QAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,IAAI,CAAC,cAAsB,EAAE,YAAoB,EAAE,YAAqB,KAAK;QACvF,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY,EAAE,WAAqB,MAAM,EAAE,eAAwB,KAAK;QAC9F,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBACnC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/IO/File.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElB,+CAAiC;AACjC,uCAAyB;AACzB,8CAAgC;AAChC,+CAAiC;AACjC,2CAA+C;AAC/C,6CAAoD;AACpD,iDAA8C;AAC9C,2CAAwC;AAExC,iCAA8B;AAG9B,iCAA+C;AAE/C,aAAa;AAEb,MAAa,IAAI;IAEb,kBAAkB;IAElB;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,IAAY;QAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,IAAI,CAAC,cAAsB,EAAE,YAAoB,EAAE,YAAqB,KAAK;QACvF,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY,EAAE,WAAqB,MAAM,EAAE,eAAwB,KAAK;QAC9F,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBACnC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,WAAqB,MAAM,EAAE,eAAwB,KAAK;QACnG,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YACjD,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAC/D,OAAO,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACzG,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,YAAY,CAAC,IAAY;QACnC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAAY;QACxC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YACjD,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAQ,EAAE;gBACpC,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzG,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,QAAgB,EAAE,WAAqB,MAAM,EAAE,eAAwB,KAAK;QACjH,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,WAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/B,iBAAiB;gBACjB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,kDAAkD,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;YACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAAY,EAAE,QAAgB,EAAE,WAAqB,MAAM,EAAE,eAAwB,KAAK;QACtH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YAC/C,IAAI,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAC1D,OAAO,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1G,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,IAAa,EAAE,WAAqB,MAAM;QAC/E,IAAI,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAAY,EAAE,IAAa,EAAE,WAAqB,MAAM;QACpF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YAC/C,IAAI,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1G,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,IAAY;QAC7B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY;QAClC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YAC/C,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACJ,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAQ,EAAE;oBAC5B,IAAI,KAAK,EAAE,CAAC;wBACR,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3G,CAAC;yBAAM,CAAC;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CAAC,cAAsB,EAAE,YAAoB;QAC3D,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,aAAa;IAEb;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY;QAClC,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,WAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,IAAY;QAClC,IAAI,CAAC;YACD,IAAI,QAAQ,GAAG,IAAI,KAAK,EAAc,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEpC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,GAAG,CAAC;gBACd,CAAC;gBACD,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACrB,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBACzC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;wBACb,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBACzB,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;qBACtC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACZ,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,UAAU,CAAc,IAAY;QAC9C,IAAI,CAAC;YACD,IAAI,MAAM,GAAY,IAAI,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEpC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,GAAG,CAAC;gBACd,CAAC;gBAED,MAAM,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,OAAO,MAAW,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAK,yBAAgB,CAAC,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,IAAI,CAAC,IAAY,EAAE,YAA4B,KAAK,EAAE,WAA6B,KAAK;QAClG,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEzC,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;YAC1D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CAAC,OAA+B;QAC9C,OAAO,WAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,SAAS,CAAC,IAAY,EAAE,gBAAwB,IAAI;QAC9D,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpD,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,qBAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,KAAK,GAAG,aAAa,CAAC;QAC1B,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,kBAAkB,CAAC,GAAW,EAAE,IAAY,EAAE,YAA0B;QAClF,IAAI,CAAC,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,mBAAmB,CAAC,SAAiB;QAChD,MAAM,YAAY,GAAG,WAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,WAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,OAAO,GAAG,WAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxG,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,SAAS,OAAO,qBAAqB,UAAU;oBAClG,CAAC,CAAC,kBAAkB,UAAU,IAAI;oBAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,WAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;CAIJ;AArbD,oBAqbC"}
|
|
@@ -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"}
|
package/IO/FileCache.js
ADDED
|
@@ -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"}
|