osr-mono/packages/fs/iterator.js
2025-01-29 17:40:56 +01:00

77 lines
6.9 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.async = async;
exports.sync = sync;
const tree_walker_1 = require("./utils/tree_walker");
const interfaces_1 = require("./interfaces");
const matcher_1 = require("./utils/matcher");
const iterator_1 = require("@plastichub/core/iterator");
async function async(from, options) {
if (options && !options.filter) {
if (options.matching) {
options.filter = (0, matcher_1.create)(from, options.matching);
}
else {
options.filter = () => true;
}
}
const collectorSync = function (path, item) {
if (!item) {
return;
}
if (options.filter(path)) {
nodes.push({
path: path,
item: item,
status: interfaces_1.ENodeOperationStatus.COLLECTED
});
}
};
const nodes = [];
return new Promise((resolve, reject) => {
(0, tree_walker_1.sync)(from, {
inspectOptions: {
mode: options ? options.flags & interfaces_1.EInspectFlags.MODE ? true : false : false,
times: options ? options.flags & interfaces_1.EInspectFlags.TIMES ? true : false : false,
checksum: options ? options.flags & interfaces_1.EInspectFlags.CHECKSUM ? 'md5' : null : null,
symlinks: options ? options.flags & interfaces_1.EInspectFlags.SYMLINKS ? false : true : true,
mime: options ? options.flags & interfaces_1.EInspectFlags.MIME ? true : false : false
}
}, collectorSync);
resolve(new iterator_1.ArrayIterator(nodes));
});
}
function sync(from, options) {
if (options && !options.filter) {
if (options.matching) {
options.filter = (0, matcher_1.create)(from, options.matching);
}
else {
options.filter = () => true;
}
}
const nodes = [];
const collectorSync = function (path, item) {
if (!item) {
return;
}
if (options.filter(path)) {
nodes.push({
path: path,
item: item,
status: interfaces_1.ENodeOperationStatus.COLLECTED
});
}
};
(0, tree_walker_1.sync)(from, {
inspectOptions: {
mode: options ? options.flags & interfaces_1.EInspectFlags.MODE ? true : false : false,
times: options ? options.flags & interfaces_1.EInspectFlags.TIMES ? true : false : false,
checksum: options ? options.flags & interfaces_1.EInspectFlags.CHECKSUM ? 'md5' : null : null,
symlinks: options ? options.flags & interfaces_1.EInspectFlags.SYMLINKS ? false : true : true,
mime: options ? options.flags & interfaces_1.EInspectFlags.MIME ? true : false : false
}
}, collectorSync);
return new iterator_1.ArrayIterator(nodes);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaXRlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxzQkFpQ0M7QUFHRCxvQkFrQ0M7QUE1RUQscURBQTZEO0FBQzdELDZDQUF5RztBQUN6Ryw2Q0FBb0Q7QUFFcEQsd0RBQTBEO0FBRW5ELEtBQUssVUFBVSxLQUFLLENBQUMsSUFBWSxFQUFFLE9BQXFCO0lBQzlELElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBQSxnQkFBTyxFQUFDLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0YsQ0FBQztJQUNELE1BQU0sYUFBYSxHQUFHLFVBQVUsSUFBWSxFQUFFLElBQVc7UUFDeEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNWLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxpQ0FBb0IsQ0FBQyxTQUFTO2FBQ3RDLENBQUMsQ0FBQztRQUNKLENBQUM7SUFDRixDQUFDLENBQUM7SUFDRixNQUFNLEtBQUssR0FBc0IsRUFBRSxDQUFDO0lBQ3BDLE9BQU8sSUFBSSxPQUFPLENBQWlDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3RFLElBQUEsa0JBQWMsRUFBQyxJQUFJLEVBQUU7WUFDcEIsY0FBYyxFQUFFO2dC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