lib/util.js
"use strict";
/**
* Merges a set of default keys with a target object
* (Like _.defaults, but will also extend onto null/undefined)
*
* @param {Object} [target] The object to extend
* @param {Object} defaults The object to default to
* @return {Object} extendedTarget
*/
function defaults(target, defs) {
if (target == null) target = {};
var ret = {};
var keys = Object.keys(defs);
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i];
ret[key] = target[key] || defs[key];
}
return ret;
}
exports.defaults = defaults;