UNPKG

@zkochan/pnpm

Version:

Fast, disk space efficient package manager

23 lines (17 loc) 471 B
'use strict'; const pMap = require('p-map'); class EndError extends Error {} // eslint-disable-line unicorn/custom-error-definition const filter = filterer => (x, i) => Promise.resolve(filterer(x, i)).then(val => { if (!val) { throw new EndError(); } return val; }); module.exports = (iterable, filterer, opts) => pMap(iterable, filter(filterer), opts) .then(() => true) .catch(err => { if (err instanceof EndError) { return false; } throw err; });