Changed the io helpers to use promises
This commit is contained in:
parent
006ee69039
commit
9eca5f3b26
@ -16,6 +16,7 @@ export function exists(path) {
|
|||||||
if (existsCache.has(path)) {
|
if (existsCache.has(path)) {
|
||||||
return existsCache.get(path);
|
return existsCache.get(path);
|
||||||
}
|
}
|
||||||
|
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
||||||
const exists = fs.existsSync(path);
|
const exists = fs.existsSync(path);
|
||||||
existsCache.set(path, exists);
|
existsCache.set(path, exists);
|
||||||
return exists;
|
return exists;
|
||||||
@ -28,23 +29,29 @@ export function exists(path) {
|
|||||||
* @param {Buffer} bytes The bytes of the file
|
* @param {Buffer} bytes The bytes of the file
|
||||||
*/
|
*/
|
||||||
export function createFileIO(dir, fileName, bytes) {
|
export function createFileIO(dir, fileName, bytes) {
|
||||||
if (!exists(dir)) {
|
return new Promise(async (resolve, reject) => {
|
||||||
fs.mkdirSync(dir, { recursive: true });
|
if (!exists(dir)) {
|
||||||
}
|
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
||||||
|
try {
|
||||||
const fileLocation = dir + path.sep + fileName;
|
await fs.promises.mkdir(dir, { recursive: true }); // Create any missing directories
|
||||||
fs.writeFile(
|
} catch (err) {
|
||||||
fileLocation,
|
|
||||||
bytes,
|
|
||||||
{
|
|
||||||
encoding: "utf-8",
|
|
||||||
},
|
|
||||||
(err) => {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
return reject(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
|
||||||
|
const fileLocation = dir + path.sep + fileName;
|
||||||
|
try {
|
||||||
|
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
||||||
|
await fs.promises.writeFile(fileLocation, bytes); // Write the file to disk
|
||||||
|
resolve();
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
||||||
|
await fs.promises.unlink(fileLocation); // Delete the file
|
||||||
|
return reject(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -54,12 +61,6 @@ export function createFileIO(dir, fileName, bytes) {
|
|||||||
* @return The file
|
* @return The file
|
||||||
*/
|
*/
|
||||||
export function readFileIO(path) {
|
export function readFileIO(path) {
|
||||||
return new Promise((resolve, reject) => {
|
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
||||||
fs.readFile(path, (err, data) => {
|
return fs.createReadStream(path);
|
||||||
if (err) {
|
|
||||||
return reject(err);
|
|
||||||
}
|
|
||||||
return resolve(data);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user