UNPKG

iter-tools-es

Version:
29 lines (23 loc) 742 B
const { asyncEnsureIterable } = require('../../internal/async-iterable.js'); const { curry } = require('../../internal/curry.js'); const { __asyncZip } = require('../$zip/async-zip.js'); const { __asyncFilter } = require('../$filter/async-filter.js'); const { __asyncMap } = require('../$map/async-map.js'); function __asyncCompress(source, included) { return __asyncMap(__asyncFilter(__asyncZip([source, included]), ([, isIncluded]) => isIncluded), ([value]) => value); } exports.__asyncCompress = __asyncCompress; const asyncCompress = /*#__PURE__*/curry(function $compress(source, included) { return __asyncCompress(asyncEnsureIterable(source), asyncEnsureIterable(included)); }); exports.asyncCompress = asyncCompress;