mirror of
https://github.com/akveo/eva-icons.git
synced 2025-09-02 18:33:13 +02:00
63 lines
1.2 KiB
JavaScript
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;
|