UNPKG

@analys/samples-filter

Version:

A cross-samples analytics tool

21 lines (18 loc) 613 B
/** * @param {Filter[]|Filter} filterCollection * @return {Object[]} - new array */ const samplesFilter = function (filterCollection) { let samples = this; if (!Array.isArray(filterCollection)) return samplesFilterOnce.call(samples, filterCollection) for (let filterConfig of filterCollection) samples = samplesFilterOnce.call(samples, filterConfig); return samples }; /** * @param {Filter} filterConfig * @return {Object[]} - new array */ const samplesFilterOnce = function ({ field, filter }) { return this.filter(sample => filter(sample[field])) }; export { samplesFilter };