From 4b6c91bbf1337f45330bb7c0cb15c323967e8090 Mon Sep 17 00:00:00 2001 From: jdalton Date: Tue, 12 May 2015 09:23:07 -0700 Subject: [PATCH] Remove `support.nonEnumArgs`. --- lodash.src.js | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/lodash.src.js b/lodash.src.js index 77bbee232..a65a68683 100644 --- a/lodash.src.js +++ b/lodash.src.js @@ -1009,7 +1009,6 @@ (function(x) { var Ctor = function() { this.x = x; }, - args = arguments, object = { '0': x, 'length': x }, props = []; @@ -1023,7 +1022,7 @@ * @memberOf _.support * @type boolean */ - support.argsTag = objToString.call(args) == argsTag; + support.argsTag = objToString.call(arguments) == argsTag; /** * Detect if `name` or `message` properties of `Error.prototype` are @@ -1138,24 +1137,6 @@ } catch(e) { support.dom = false; } - - /** - * Detect if `arguments` object indexes are non-enumerable. - * - * In Firefox < 4, IE < 9, PhantomJS, and Safari < 5.1 `arguments` object - * indexes are non-enumerable. Chrome < 25 and Node.js < 0.11.0 treat - * `arguments` object indexes as non-enumerable and fail `hasOwnProperty` - * checks for indexes that exceed the number of function parameters and - * whose associated argument values are `0`. - * - * @memberOf _.support - * @type boolean - */ - try { - support.nonEnumArgs = !propertyIsEnumerable.call(args, 1); - } catch(e) { - support.nonEnumArgs = true; - } }(1, 0)); /** @@ -4586,8 +4567,7 @@ support = lodash.support; var allowIndexes = length && isLength(length) && - (isArray(object) || (support.nonEnumStrings && isString(object)) || - (support.nonEnumArgs && isArguments(object))); + (isArray(object) || isArguments(object) || (support.nonEnumStrings && isString(object))); var index = -1, result = []; @@ -9720,9 +9700,8 @@ } if (isKey(path)) { var length = object.length; - return isLength(length) && - (isArray(object) || (support.nonEnumStrings && isString(object)) || - (support.nonEnumArgs && isArguments(object))) && isIndex(path, length); + return isLength(length) && isIndex(path, length) && + (isArray(object) || isArguments(object) || (support.nonEnumStrings && isString(object))); } path = toPath(path); object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); @@ -9848,8 +9827,8 @@ support = lodash.support; length = (length && isLength(length) && - (isArray(object) || (support.nonEnumStrings && isString(object)) || - (support.nonEnumArgs && isArguments(object))) && length) || 0; + (isArray(object) || isArguments(object) || + (support.nonEnumStrings && isString(object))) && length) || 0; var Ctor = object.constructor, index = -1,