createDefaults.js 600 B

12345678910111213141516171819202122
  1. var restParam = require('../function/restParam');
  2. /**
  3. * Creates a `_.defaults` or `_.defaultsDeep` function.
  4. *
  5. * @private
  6. * @param {Function} assigner The function to assign values.
  7. * @param {Function} customizer The function to customize assigned values.
  8. * @returns {Function} Returns the new defaults function.
  9. */
  10. function createDefaults(assigner, customizer) {
  11. return restParam(function(args) {
  12. var object = args[0];
  13. if (object == null) {
  14. return object;
  15. }
  16. args.push(customizer);
  17. return assigner.apply(undefined, args);
  18. });
  19. }
  20. module.exports = createDefaults;