utilise
Version:
Lean JavaScript Utilities as Micro-libraries
14 lines (12 loc) • 365 B
JavaScript
var key = require('./key')
, is = require('./is')
module.exports = function by(k, v){
var exists = arguments.length == 1
return function(o){
var d = is.fn(k) ? k(o) : key(k)(o)
return d && v && d.toLowerCase && v.toLowerCase ? d.toLowerCase() === v.toLowerCase()
: exists ? Boolean(d)
: is.fn(v) ? v(d)
: d == v
}
}