diff --git a/_baseIsArguments.js b/_baseIsArguments.js deleted file mode 100644 index 6c5a01796..000000000 --- a/_baseIsArguments.js +++ /dev/null @@ -1,18 +0,0 @@ -import baseGetTag from './_baseGetTag.js'; -import isObjectLike from './isObjectLike.js'; - -/** `Object#toString` result references. */ -const argsTag = '[object Arguments]'; - -/** - * The base implementation of `isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ -function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; -} - -export default baseIsArguments; diff --git a/isArguments.js b/isArguments.js index 70fe0aa93..daf81ec65 100644 --- a/isArguments.js +++ b/isArguments.js @@ -1,14 +1,8 @@ -import baseIsArguments from './_baseIsArguments.js'; +import baseGetTag from './_baseGetTag.js'; import isObjectLike from './isObjectLike.js'; -/** Used for built-in method references. */ -const objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -const hasOwnProperty = objectProto.hasOwnProperty; - -/** Built-in value references. */ -const propertyIsEnumerable = objectProto.propertyIsEnumerable; +/** `Object#toString` result references. */ +const argsTag = '[object Arguments]'; /** * Checks if `value` is likely an `arguments` object. @@ -27,7 +21,8 @@ const propertyIsEnumerable = objectProto.propertyIsEnumerable; * isArguments([1, 2, 3]); * // => false */ -const isArguments = baseIsArguments(function(...args) { return args; }()) ? baseIsArguments : value => isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); +function isArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} export default isArguments;