magica
Version:
ImageMagick for browser and Node.js, easy setup, high level API and Command Line Interface, including WASM binary for an easy setup.
42 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const misc_utils_of_mine_generic_1 = require("misc-utils-of-mine-generic");
function lsR(o) {
const result = [];
function recurse(f) {
if (!o.isDir(f)) {
o.visitor({ path: f, isDir: false });
return true;
}
return o.ls(f).map(c => misc_utils_of_mine_generic_1.pathJoin(f, misc_utils_of_mine_generic_1.basename(c))).some(path => {
const f = { path, isDir: o.isDir(path) };
result.push(f);
if (o.visitor(f)) {
return true;
}
else if (f.isDir) {
return recurse(path);
}
else {
return false;
}
});
}
recurse(o.path);
return result;
}
exports.lsR = lsR;
function listFilesRecursively(path, FS) {
return lsR({
path,
ls: p => ls(p, FS),
isDir: f => FS.isDir(FS.stat(f).mode),
visitor: f => false
});
}
exports.listFilesRecursively = listFilesRecursively;
function ls(p, FS) {
return FS.readdir(p).filter(s => !['.', '..'].includes(s));
}
exports.ls = ls;
//# sourceMappingURL=lsR.js.map