File: //home/cafsindia/snap.cafsinfotech.in/node_modules/contra/_filter.js
'use strict';
var a = require('./a');
var _map = require('./_map');
module.exports = function filter (concurrency) {
return _map(concurrency, then);
function then (collection, done) {
return function filter (err, results) {
function exists (item, key) {
return !!results[key];
}
function ofilter () {
var filtered = {};
Object.keys(collection).forEach(function omapper (key) {
if (exists(null, key)) { filtered[key] = collection[key]; }
});
return filtered;
}
if (err) { done(err); return; }
done(null, a(results) ? collection.filter(exists) : ofilter());
};
}
};