noodl-loader
Version:
Loader for noodl applications
66 lines • 2.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const noodl_core_1 = require("noodl-core");
const fs_1 = require("fs");
const file_system_1 = tslib_1.__importDefault(require("../file-system"));
class LoaderFileSystemHost extends file_system_1.default {
constructor() {
super();
}
existsSync(filepath) {
return (0, fs_1.existsSync)(filepath);
}
readdir(...args) {
return new Promise((resolve, reject) => {
(0, fs_1.readdir)(...args, (err, files) => {
if (err)
reject(err);
else
resolve(files);
});
});
}
readdirSync(...args) {
return (0, fs_1.readdirSync)(...args);
}
readFile(...args) {
return new Promise((resolve, reject) => {
const opts = { encoding: 'utf8' };
if (args[1] && typeof args[1] === 'object') {
noodl_core_1.fp.assign(opts, args[1]);
}
else if (typeof args[1] === 'string') {
opts.encoding = args[1];
}
(0, fs_1.readFile)(args[0], opts, (err, file) => {
if (err)
reject(err);
else
resolve(file);
});
});
}
readFileSync(...args) {
return (0, fs_1.readFileSync)(...args);
}
writeFile(...args) {
return new Promise((resolve, reject) => {
const opts = { encoding: 'utf8' };
if (typeof args[2] === 'string') {
opts.encoding = args[2];
}
(0, fs_1.writeFile)(args[0], args[1], opts, (err) => {
if (err)
reject(err);
else
resolve();
});
});
}
writeFileSync(...args) {
return (0, fs_1.writeFileSync)(...args);
}
}
exports.default = LoaderFileSystemHost;
//# sourceMappingURL=loader-file-system.js.map