cqr-env
Version:
Have multiple env files that can be encrypted and included in version control
15 lines (13 loc) • 606 B
JavaScript
// https://gist.github.com/bernardoadc/872d5a174108823159d845cc5baba337
module.exports = function objFilter (obj, filter, nonstrict) {
const r = {}
if (!filter) return r
if (typeof filter == 'string') return {[filter]: obj[filter]}
for (const p in obj) {
if (typeof filter == 'object' && nonstrict && obj[p] == filter[p]) r[p] = obj[p]
else if (typeof filter == 'object' && !nonstrict && obj[p] === filter[p]) r[p] = obj[p]
else if (typeof filter == 'function') if (filter(obj[p], p, obj)) r[p] = obj[p]
else if (filter.length && filter.includes(p)) r[p] = obj[p]
}
return r
}