mirror of https://github.com/IoTcat/exrate.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1016 B
41 lines
1016 B
module.exports = isTypedArray |
|
isTypedArray.strict = isStrictTypedArray |
|
isTypedArray.loose = isLooseTypedArray |
|
|
|
var toString = Object.prototype.toString |
|
var names = { |
|
'[object Int8Array]': true |
|
, '[object Int16Array]': true |
|
, '[object Int32Array]': true |
|
, '[object Uint8Array]': true |
|
, '[object Uint8ClampedArray]': true |
|
, '[object Uint16Array]': true |
|
, '[object Uint32Array]': true |
|
, '[object Float32Array]': true |
|
, '[object Float64Array]': true |
|
} |
|
|
|
function isTypedArray(arr) { |
|
return ( |
|
isStrictTypedArray(arr) |
|
|| isLooseTypedArray(arr) |
|
) |
|
} |
|
|
|
function isStrictTypedArray(arr) { |
|
return ( |
|
arr instanceof Int8Array |
|
|| arr instanceof Int16Array |
|
|| arr instanceof Int32Array |
|
|| arr instanceof Uint8Array |
|
|| arr instanceof Uint8ClampedArray |
|
|| arr instanceof Uint16Array |
|
|| arr instanceof Uint32Array |
|
|| arr instanceof Float32Array |
|
|| arr instanceof Float64Array |
|
) |
|
} |
|
|
|
function isLooseTypedArray(arr) { |
|
return names[toString.call(arr)] |
|
}
|
|
|