mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-11 11:27:50 +00:00
Update vendors.
Former-commit-id: 1e93a793891e5f4e2c0d3927f3f38b25bd182263
This commit is contained in:
28
vendor/underscore/underscore.js
vendored
28
vendor/underscore/underscore.js
vendored
@@ -277,13 +277,16 @@
|
||||
return _.pluck(_.map(obj, function(value, index, list) {
|
||||
return {
|
||||
value : value,
|
||||
index : index,
|
||||
criteria : iterator.call(context, value, index, list)
|
||||
};
|
||||
}).sort(function(left, right) {
|
||||
var a = left.criteria, b = right.criteria;
|
||||
var a = left.criteria, b = right.criteria;
|
||||
var ai = left.index, bi = right.index;
|
||||
if (a === b) return ai < bi ? -1 : 1;
|
||||
if (a === void 0) return 1;
|
||||
if (b === void 0) return -1;
|
||||
return a < b ? -1 : a > b ? 1 : 0;
|
||||
return a < b ? -1 : a > b ? 1 : ai < bi ? -1 : 1;
|
||||
}), 'value');
|
||||
};
|
||||
|
||||
@@ -336,9 +339,8 @@
|
||||
|
||||
// Safely convert anything iterable into a real, live array.
|
||||
_.toArray = function(obj) {
|
||||
if (!obj) return [];
|
||||
if (_.isArray(obj) || _.isArguments(obj)) return slice.call(obj);
|
||||
if (_.isFunction(obj.toArray)) return obj.toArray();
|
||||
if (!obj) return [];
|
||||
if (obj.length === +obj.length) return slice.call(obj);
|
||||
return _.values(obj);
|
||||
};
|
||||
|
||||
@@ -614,17 +616,18 @@
|
||||
// N milliseconds. If `immediate` is passed, trigger the function on the
|
||||
// leading edge, instead of the trailing.
|
||||
_.debounce = function(func, wait, immediate) {
|
||||
var timeout;
|
||||
var timeout, result;
|
||||
return function() {
|
||||
var context = this, args = arguments;
|
||||
var later = function() {
|
||||
timeout = null;
|
||||
if (!immediate) func.apply(context, args);
|
||||
if (!immediate) result = func.apply(context, args);
|
||||
};
|
||||
var callNow = immediate && !timeout;
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(later, wait);
|
||||
if (callNow) func.apply(context, args);
|
||||
if (callNow) result = func.apply(context, args);
|
||||
return result;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -646,7 +649,8 @@
|
||||
// conditionally execute the original function.
|
||||
_.wrap = function(func, wrapper) {
|
||||
return function() {
|
||||
var args = [func].concat(slice.call(arguments, 0));
|
||||
var args = [func];
|
||||
push.apply(args, arguments);
|
||||
return wrapper.apply(this, args);
|
||||
};
|
||||
};
|
||||
@@ -999,8 +1003,8 @@
|
||||
each(_.functions(obj), function(name){
|
||||
var func = _[name] = obj[name];
|
||||
_.prototype[name] = function() {
|
||||
var args = slice.call(arguments);
|
||||
args.unshift(this._wrapped);
|
||||
var args = [this._wrapped];
|
||||
push.apply(args, arguments);
|
||||
return result.call(this, func.apply(_, args));
|
||||
};
|
||||
});
|
||||
@@ -1152,4 +1156,4 @@
|
||||
|
||||
});
|
||||
|
||||
}).call(this);
|
||||
}).call(this);
|
||||
Reference in New Issue
Block a user