73 lines
6.8 KiB
JavaScript
73 lines
6.8 KiB
JavaScript
import { sync as treeWalkerSync } from './utils/tree_walker.js';
|
|
import { ENodeOperationStatus, EInspectFlags } from './interfaces.js';
|
|
import { create as matcher } from './utils/matcher.js';
|
|
import { ArrayIterator } from '@polymech/core/iterator';
|
|
export async function async(from, options) {
|
|
if (options && !options.filter) {
|
|
if (options.matching) {
|
|
options.filter = matcher(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: ENodeOperationStatus.COLLECTED
|
|
});
|
|
}
|
|
};
|
|
const nodes = [];
|
|
return new Promise((resolve, reject) => {
|
|
treeWalkerSync(from, {
|
|
inspectOptions: {
|
|
mode: options ? options.flags & EInspectFlags.MODE ? true : false : false,
|
|
times: options ? options.flags & EInspectFlags.TIMES ? true : false : false,
|
|
checksum: options ? options.flags & EInspectFlags.CHECKSUM ? 'md5' : null : null,
|
|
symlinks: options ? options.flags & EInspectFlags.SYMLINKS ? false : true : true,
|
|
mime: options ? options.flags & EInspectFlags.MIME ? true : false : false
|
|
}
|
|
}, collectorSync);
|
|
resolve(new ArrayIterator(nodes));
|
|
});
|
|
}
|
|
export function sync(from, options) {
|
|
if (options && !options.filter) {
|
|
if (options.matching) {
|
|
options.filter = matcher(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: ENodeOperationStatus.COLLECTED
|
|
});
|
|
}
|
|
};
|
|
treeWalkerSync(from, {
|
|
inspectOptions: {
|
|
mode: options ? options.flags & EInspectFlags.MODE ? true : false : false,
|
|
times: options ? options.flags & EInspectFlags.TIMES ? true : false : false,
|
|
checksum: options ? options.flags & EInspectFlags.CHECKSUM ? 'md5' : null : null,
|
|
symlinks: options ? options.flags & EInspectFlags.SYMLINKS ? false : true : true,
|
|
mime: options ? options.flags & EInspectFlags.MIME ? true : false : false
|
|
}
|
|
}, collectorSync);
|
|
return new ArrayIterator(nodes);
|
|
}
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaXRlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksSUFBSSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQVMsb0JBQW9CLEVBQWlDLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVHLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRXZELE1BQU0sQ0FBQyxLQUFLLFVBQVUsS0FBSyxDQUFDLElBQVksRUFBRSxPQUFxQjtJQUM5RCxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ1AsT0FBTyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNGLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxVQUFVLElBQVksRUFBRSxJQUFXO1FBQ3hELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDUixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDVixJQUFJLEVBQUUsSUFBSTtnQkFDVixJQUFJLEVBQUUsSUFBSTtnQkFDVixNQUFNLEVBQUUsb0JBQW9CLENBQUMsU0FBUzthQUN0QyxDQUFDLENBQUM7UUFDSixDQUFDO0lBQ0YsQ0FBQyxDQUFDO0lBQ0Ys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
|