node-filter-async
Version:
Filter array elements with Promises
12 lines • 441 B
JavaScript
function checkArgument(value, name) {
if (!value) {
throw new Error(`The argument "${name}" cannot be empty`);
}
}
export default async function filterAsync(array, callback) {
checkArgument(array, 'array');
checkArgument(callback, 'callback');
const results = await Promise.all(array.map((value, index) => callback(value, index)));
return array.filter((_, i) => results[i]);
}
//# sourceMappingURL=main.js.map