createAssigner.js 445 B

12345678910111213141516
  1. var isUndef = require('./isUndef');
  2. var each = require('./each');
  3. exports = function(keysFn, defaults) {
  4. return function(obj) {
  5. each(arguments, function(src, idx) {
  6. if (idx === 0) return;
  7. var keys = keysFn(src);
  8. each(keys, function(key) {
  9. if (!defaults || isUndef(obj[key])) obj[key] = src[key];
  10. });
  11. });
  12. return obj;
  13. };
  14. };
  15. module.exports = exports;