use isObjectLike module instead of (typeof value == 'object' && value !== null) in another modules (#3650)

This commit is contained in:
alireza valizade
2018-02-19 11:56:01 +03:30
committed by John-David Dalton
parent 678eb000b7
commit c1f805f497
5 changed files with 10 additions and 5 deletions

View File

@@ -1,4 +1,5 @@
import getTag from './.internal/getTag.js' import getTag from './.internal/getTag.js'
import isObjectLike from './isObjectLike'
/** /**
* Checks if `value` is likely an `arguments` object. * Checks if `value` is likely an `arguments` object.
@@ -16,7 +17,7 @@ import getTag from './.internal/getTag.js'
* // => false * // => false
*/ */
function isArguments(value) { function isArguments(value) {
return typeof value == 'object' && value !== null && getTag(value) == '[object Arguments]' return isObjectLike(value) && getTag(value) == '[object Arguments]'
} }
export default isArguments export default isArguments

View File

@@ -1,5 +1,6 @@
import getTag from './.internal/getTag.js' import getTag from './.internal/getTag.js'
import nodeUtil from './.internal/nodeUtil.js' import nodeUtil from './.internal/nodeUtil.js'
import isObjectLike from './isObjectLike'
/* Node.js helper references. */ /* Node.js helper references. */
const nodeIsSet = nodeUtil && nodeUtil.isSet const nodeIsSet = nodeUtil && nodeUtil.isSet
@@ -21,6 +22,6 @@ const nodeIsSet = nodeUtil && nodeUtil.isSet
*/ */
const isSet = nodeIsSet const isSet = nodeIsSet
? (value) => nodeIsSet(value) ? (value) => nodeIsSet(value)
: (value) => typeof value == 'object' && value !== null && getTag(value) == '[object Set]' : (value) => isObjectLike(value) && getTag(value) == '[object Set]'
export default isSet export default isSet

View File

@@ -1,5 +1,6 @@
import getTag from './.internal/getTag.js' import getTag from './.internal/getTag.js'
import nodeUtil from './.internal/nodeUtil.js' import nodeUtil from './.internal/nodeUtil.js'
import isObjectLike from './isObjectLike'
/** Used to match `toStringTag` values of typed arrays. */ /** Used to match `toStringTag` values of typed arrays. */
const reTypedTag = /^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)\]$/ const reTypedTag = /^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)\]$/
@@ -24,6 +25,6 @@ const nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray
*/ */
const isTypedArray = nodeIsTypedArray const isTypedArray = nodeIsTypedArray
? (value) => nodeIsTypedArray(value) ? (value) => nodeIsTypedArray(value)
: (value) => typeof value == 'object' && value !== null && reTypedTag.test(getTag(value)) : (value) => isObjectLike(value) && reTypedTag.test(getTag(value))
export default isTypedArray export default isTypedArray

View File

@@ -1,4 +1,5 @@
import getTag from './.internal/getTag.js' import getTag from './.internal/getTag.js'
import isObjectLike from './isObjectLike'
/** /**
* Checks if `value` is classified as a `WeakMap` object. * Checks if `value` is classified as a `WeakMap` object.
@@ -16,7 +17,7 @@ import getTag from './.internal/getTag.js'
* // => false * // => false
*/ */
function isWeakMap(value) { function isWeakMap(value) {
return typeof value == 'object' && value !== null && getTag(value) == '[object WeakMap]' return isObjectLike(value) && getTag(value) == '[object WeakMap]'
} }
export default isWeakMap export default isWeakMap

View File

@@ -1,4 +1,5 @@
import getTag from './.internal/getTag.js' import getTag from './.internal/getTag.js'
import isObjectLike from './isObjectLike'
/** /**
* Checks if `value` is classified as a `WeakSet` object. * Checks if `value` is classified as a `WeakSet` object.
@@ -16,7 +17,7 @@ import getTag from './.internal/getTag.js'
* // => false * // => false
*/ */
function isWeakSet(value) { function isWeakSet(value) {
return typeof value == 'object' && value !== null && getTag(value) == '[object WeakSet]' return isObjectLike(value) && getTag(value) == '[object WeakSet]'
} }
export default isWeakSet export default isWeakSet