45 lines
1.5 KiB
JavaScript
45 lines
1.5 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.default = createNodeFS;
|
|
const path_1 = __importDefault(require("path"));
|
|
const immutable_1 = __importDefault(require("immutable"));
|
|
const fs_1 = __importDefault(require("../utils/fs"));
|
|
const fs_2 = __importDefault(require("../models/fs"));
|
|
function fsReadDir(folder) {
|
|
return fs_1.default.readdir(folder).then((files) => {
|
|
files = immutable_1.default.List(files);
|
|
return files
|
|
.map((file) => {
|
|
if (file === "." || file === "..")
|
|
return;
|
|
const stat = fs_1.default.statSync(path_1.default.join(folder, file));
|
|
if (stat.isSymbolicLink()) {
|
|
return;
|
|
}
|
|
if (stat.isDirectory())
|
|
file = file + path_1.default.sep;
|
|
return file;
|
|
})
|
|
.filter((file) => {
|
|
return Boolean(file);
|
|
});
|
|
});
|
|
}
|
|
function fsLoadObject(filename) {
|
|
return require(filename);
|
|
}
|
|
function createNodeFS(root) {
|
|
return fs_2.default.create({
|
|
root: root,
|
|
fsExists: fs_1.default.exists,
|
|
fsReadFile: fs_1.default.readFile,
|
|
fsStatFile: fs_1.default.stat,
|
|
fsReadDir: fsReadDir,
|
|
fsLoadObject: fsLoadObject,
|
|
fsReadAsStream: fs_1.default.readStream
|
|
});
|
|
}
|