|
|
/** * HOP ref. */
var has = Object.prototype.hasOwnProperty;
/** * Return own keys in `obj`. * * @param {Object} obj * @return {Array} * @api public */
exports.keys = Object.keys || function(obj){ var keys = []; for (var key in obj) { if (has.call(obj, key)) { keys.push(key); } } return keys; };
/** * Return own values in `obj`. * * @param {Object} obj * @return {Array} * @api public */
exports.values = function(obj){ var vals = []; for (var key in obj) { if (has.call(obj, key)) { vals.push(obj[key]); } } return vals; };
/** * Merge `b` into `a`. * * @param {Object} a * @param {Object} b * @return {Object} a * @api public */
exports.merge = function(a, b){ for (var key in b) { if (has.call(b, key)) { a[key] = b[key]; } } return a; };
/** * Return length of `obj`. * * @param {Object} obj * @return {Number} * @api public */
exports.length = function(obj){ return exports.keys(obj).length; };
/** * Check if `obj` is empty. * * @param {Object} obj * @return {Boolean} * @api public */
exports.isEmpty = function(obj){ return 0 == exports.length(obj); };
|