UNPKG

@extra-object/is-entry

Version:
35 lines (30 loc) 640 B
'use strict'; /** * Gives same value. * @param v a value * @returns v */ function id(v) { return v; } /** * Compares two values. * @param a a value * @param b another value * @returns a<b: -ve, a=b: 0, a>b: +ve */ function cmp(a, b) { return a < b ? -1 : (a > b ? 1 : 0); } /** * Checks if object has an entry. * @param x an object * @param e entry? * @param fc compare function (a, b) * @param fm map function (v, k, x) */ function isEntry(x, e, fc = null, fm = null) { var fc = fc || cmp, fm = fm || id, [k, v] = e; return x.hasOwnProperty(k) && fc(fm(x[k], k, x), v) === 0; } module.exports = isEntry;