1
0
mirror of https://github.com/akveo/eva-icons.git synced 2025-09-02 18:33:13 +02:00
Files
eva-icons/scripts/helpers/fs-helper.js

63 lines
1.2 KiB
JavaScript

/**
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
const fs = require('fs-extra');
const fileSystemHelper = {
remove(srcPath) {
return fs.remove(srcPath);
},
getFilesByPath(srcPath) {
return new Promise((resolve, reject) => {
fs.readdir(srcPath, (err, files) => {
if (err) {
reject(err);
}
const output = {
files,
fileNames: files.map((file) => this.trimFileExtension(file))
};
resolve(output);
})
});
},
mkDirByPathSync(targetDir) {
if (fs.pathExistsSync(targetDir)) {
return;
}
return fs.mkdirsSync(targetDir);
},
copy(srcPath, desPath) {
if (fs.pathExistsSync(srcPath)) {
return fs.copy(srcPath, desPath);
}
return Promise.resolve();
},
isFolder(path) {
return fs.lstatSync(path).isDirectory();
},
getExtension(fileName) {
return fileName
.slice((Math.max(0, fileName.lastIndexOf('.')) || Infinity) + 1);
},
trimFileExtension(fileName) {
return fileName.replace(/\.[^/.]+$/, '');
},
};
module.exports = fileSystemHelper;