Fix build, and rebuild files & docs.

Former-commit-id: af57dd1de6b20e93caa79f05cb9b43647a1de578
This commit is contained in:
John-David Dalton
2013-03-03 01:37:33 -08:00
parent 8825a094ae
commit 21a0eff593
9 changed files with 340 additions and 249 deletions

59
dist/lodash.js vendored
View File

@@ -169,6 +169,7 @@
/* Native method shortcuts for methods with the same name as other `lodash` methods */
var nativeBind = reNative.test(nativeBind = slice.bind) && nativeBind,
nativeCreate = reNative.test(nativeCreate = Object.create) && nativeCreate,
nativeIsArray = reNative.test(nativeIsArray = Array.isArray) && nativeIsArray,
nativeIsFinite = context.isFinite,
nativeIsNaN = context.isNaN,
@@ -242,7 +243,7 @@
*/
function lodash(value) {
// exit early if already wrapped, even if wrapped by a different `lodash` constructor
if (value && typeof value == 'object' && value.__wrapped__) {
if (value && typeof value == 'object' && hasOwnProperty.call(value, '__wrapped__')) {
return value;
}
// allow invoking `lodash` without the `new` operator
@@ -519,9 +520,7 @@
}
if (this instanceof bound) {
// ensure `new bound` is an instance of `func`
noop.prototype = func.prototype;
thisBinding = new noop;
noop.prototype = null;
thisBinding = createObject(func.prototype);
// mimic the constructor's `return` behavior
// http://es5.github.com/#x13.2.2
@@ -639,6 +638,33 @@
);
}
/**
* Creates a new object that inherits from the given `prototype` object.
*
* @private
* @param {Object} prototype The prototype object.
* @returns {Object} Returns the new object.
*/
var createObject = nativeCreate || function(prototype) {
noop.prototype = prototype;
var result = new noop;
noop.prototype = null;
return result;
};
/**
* A fast path for creating `lodash` wrapper objects.
*
* @private
* @param {Mixed} value The value to wrap in a `lodash` instance.
* @returns {Object} Returns a `lodash` instance.
*/
function createWrapper(value) {
var result = createObject(lodash.prototype);
result.__wrapped__ = value;
return result;
}
/**
* A function compiled to iterate `arguments` objects, arrays, objects, and
* strings consistenly across environments, executing the `callback` for each
@@ -1412,7 +1438,7 @@
case numberClass:
// treat `NaN` vs. `NaN` as equal
return a != +a
return (a != +a)
? b != +b
// but treat `+0` vs. `-0` as not equal
: (a == 0 ? (1 / a == 1 / b) : a == +b);
@@ -1426,7 +1452,7 @@
var isArr = className == arrayClass;
if (!isArr) {
// unwrap any `lodash` wrapped values
if (a.__wrapped__ || b.__wrapped__) {
if (hasOwnProperty.call(a, '__wrapped__ ') || hasOwnProperty.call(b, '__wrapped__')) {
return isEqual(a.__wrapped__ || a, b.__wrapped__ || b, callback, thisArg, stackA, stackB);
}
// exit for functions and DOM nodes
@@ -2589,7 +2615,7 @@
}
}
} else {
callback = !callback && isString(collection)
callback = (!callback && isString(collection))
? charAtCallback
: createCallback(callback, thisArg);
@@ -2658,7 +2684,7 @@
}
}
} else {
callback = !callback && isString(collection)
callback = (!callback && isString(collection))
? charAtCallback
: createCallback(callback, thisArg);
@@ -3020,7 +3046,7 @@
*/
function toArray(collection) {
if (collection && typeof collection.length == 'number') {
return slice(collection);
return slice(collection);
}
return values(collection);
}
@@ -3685,7 +3711,7 @@
while (low < high) {
var mid = (low + high) >>> 1;
callback(array[mid]) < value
(callback(array[mid]) < value)
? low = mid + 1
: high = mid;
}
@@ -4410,9 +4436,14 @@
var func = lodash[methodName] = object[methodName];
lodash.prototype[methodName] = function() {
var args = [this.__wrapped__];
var value = this.__wrapped__,
args = [value];
push.apply(args, arguments);
return new lodash(func.apply(lodash, args));
var result = func.apply(lodash, args);
return (value && typeof value == 'object' && value == result)
? this
: createWrapper(result);
};
});
}
@@ -4967,7 +4998,7 @@
var result = func(this.__wrapped__, callback, thisArg);
return callback == null || (thisArg && typeof callback != 'function')
? result
: new lodash(result);
: createWrapper(result);
};
}
});
@@ -5009,7 +5040,7 @@
each(['concat', 'slice', 'splice'], function(methodName) {
var func = arrayRef[methodName];
lodash.prototype[methodName] = function() {
return new lodash(func.apply(this.__wrapped__, arguments));
return createWrapper(func.apply(this.__wrapped__, arguments));
};
});