ls-engines
Version:
Determine if your dependency graph's stated "engines" criteria is met.
28 lines (24 loc) • 662 B
JavaScript
;
/** @type {import('./processFulfilledResults')} */
module.exports = async function processFulfilledResults(fulfilled, shouldSave, pkg, EXITS, log) {
await fulfilled.reduce(async (prev, result) => {
await prev;
if (result.status !== 'fulfilled') {
return;
}
const { value } = result;
const { output } = value;
const doSave = 'save' in value ? value.save : void undefined;
output.forEach((line) => {
log(line);
});
if (shouldSave && doSave) {
doSave(pkg.data);
try {
await pkg.save();
} catch {
process.exitCode = /** @type {number} */ (process.exitCode) | EXITS.SAVE;
}
}
}, Promise.resolve());
};