UNPKG

cqr-env

Version:

Have multiple env files that can be encrypted and included in version control

15 lines (13 loc) 606 B
// 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 }