codess
Version:
vscode代码片段管理器,通过 本地包(本地某个文件夹) 或官网的 远程包(代码片段集合) 生成本地项目的 vscode 代码片段配置。
69 lines (68 loc) • 1.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fs_stat_p = fs_stat_p;
exports.fs_readdir_p = fs_readdir_p;
exports.fs_readFile_p = fs_readFile_p;
exports.rmSync = rmSync;
exports.statSync = statSync;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
function fs_stat_p(path) {
return new Promise((res, rej) => {
fs_1.default.stat(path, (err, stat) => {
if (err) {
rej(err);
}
else {
res(stat);
}
});
});
}
function fs_readdir_p(path) {
return new Promise((res, rej) => {
fs_1.default.readdir(path, (err, files) => {
if (err) {
rej(err);
}
else {
res(files);
}
});
});
}
function fs_readFile_p(path) {
return new Promise((res, rej) => {
fs_1.default.readFile(path, (err, data) => {
if (err) {
rej(err);
}
else {
res(data);
}
});
});
}
function rmSync(file) {
var _a;
if ((_a = statSync(file)) === null || _a === void 0 ? void 0 : _a.isDirectory()) {
fs_1.default.readdirSync(file)
.map((_) => path_1.default.join(file, _))
.forEach(rmSync);
fs_1.default.rmdirSync(file);
}
else {
fs_1.default.unlinkSync(file);
}
}
function statSync(path) {
try {
return fs_1.default.statSync(path);
}
catch (_a) {
return null;
}
}