Bump to v3.3.0.

This commit is contained in:
jdalton
2015-02-20 00:25:55 -08:00
parent b82c7ebc32
commit ebf61a1bd9
91 changed files with 399 additions and 184 deletions

View File

@@ -1,3 +1,6 @@
import baseCreate from './baseCreate';
import baseLodash from './baseLodash';
/** Used as references for `-Infinity` and `Infinity`. */
var POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
@@ -18,4 +21,7 @@ function LazyWrapper(value) {
this.__views__ = null;
}
LazyWrapper.prototype = baseCreate(baseLodash.prototype);
LazyWrapper.prototype.constructor = LazyWrapper;
export default LazyWrapper;

View File

@@ -1,3 +1,6 @@
import baseCreate from './baseCreate';
import baseLodash from './baseLodash';
/**
* The base constructor for creating `lodash` wrapper objects.
*
@@ -12,4 +15,7 @@ function LodashWrapper(value, chainAll, actions) {
this.__chain__ = !!chainAll;
}
LodashWrapper.prototype = baseCreate(baseLodash.prototype);
LodashWrapper.prototype.constructor = LodashWrapper;
export default LodashWrapper;

View File

@@ -0,0 +1,15 @@
/**
* The base implementation of `_.isFunction` without support for environments
* with incorrect `typeof` results.
*
* @private
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
*/
function baseIsFunction(value) {
// Avoid a Chakra JIT bug in compatibility modes of IE 11.
// See https://github.com/jashkenas/underscore/issues/1621 for more details.
return typeof value == 'function' || false;
}
export default baseIsFunction;

10
internal/baseLodash.js Normal file
View File

@@ -0,0 +1,10 @@
/**
* The function whose prototype all chaining wrappers inherit from.
*
* @private
*/
function baseLodash() {
// No operation performed.
}
export default baseLodash;

View File

@@ -3,6 +3,7 @@ import baseForOwn from './baseForOwn';
import baseMergeDeep from './baseMergeDeep';
import isArray from '../lang/isArray';
import isLength from './isLength';
import isObject from '../lang/isObject';
import isObjectLike from './isObjectLike';
import isTypedArray from '../lang/isTypedArray';
@@ -19,8 +20,10 @@ import isTypedArray from '../lang/isTypedArray';
* @returns {Object} Returns the destination object.
*/
function baseMerge(object, source, customizer, stackA, stackB) {
if (!isObject(object)) {
return object;
}
var isSrcArr = isLength(source.length) && (isArray(source) || isTypedArray(source));
(isSrcArr ? arrayEach : baseForOwn)(source, function(srcValue, key, source) {
if (isObjectLike(srcValue)) {
stackA || (stackA = []);

View File

@@ -22,7 +22,8 @@ function isIterateeCall(value, index, object) {
} else {
prereq = type == 'string' && index in object;
}
return prereq && object[index] === value;
var other = object[index];
return prereq && (value === value ? value === other : other !== other);
}
export default isIterateeCall;