mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-01 07:47:49 +00:00
Avoid returning assignDefaults if no object is provided to _.defaults.
This commit is contained in:
11
lodash.js
11
lodash.js
@@ -5440,11 +5440,11 @@
|
||||
* // => { 'name': 'barney', 'employer': 'slate' }
|
||||
*/
|
||||
function assign(object, source, guard) {
|
||||
if (!object) {
|
||||
var args = arguments;
|
||||
if (!object || args.length < 2) {
|
||||
return object;
|
||||
}
|
||||
var args = arguments,
|
||||
argsIndex = 0,
|
||||
var argsIndex = 0,
|
||||
argsLength = args.length,
|
||||
type = typeof guard;
|
||||
|
||||
@@ -5636,7 +5636,10 @@
|
||||
* _.defaults({ 'name': 'barney' }, { 'name': 'fred', 'employer': 'slate' });
|
||||
* // => { 'name': 'barney', 'employer': 'slate' }
|
||||
*/
|
||||
function defaults() {
|
||||
function defaults(object) {
|
||||
if (!object || arguments.length < 2) {
|
||||
return object;
|
||||
}
|
||||
var args = slice(arguments);
|
||||
args.push(assignDefaults);
|
||||
return assign.apply(null, args);
|
||||
|
||||
@@ -2983,6 +2983,10 @@
|
||||
_.forEach(['assign', 'defaults', 'merge'], function(methodName) {
|
||||
var func = _[methodName];
|
||||
|
||||
test('`_.' + methodName + '` should return `undefined` when no destination object is provided', 1, function() {
|
||||
strictEqual(func(), undefined);
|
||||
});
|
||||
|
||||
test('`_.' + methodName + '` should return the existing wrapper when chaining', 1, function() {
|
||||
if (!isNpm) {
|
||||
var wrapper = _({ 'a': 1 });
|
||||
|
||||
Reference in New Issue
Block a user