1 | module.exports = isTypedArray
|
---|
2 | isTypedArray.strict = isStrictTypedArray
|
---|
3 | isTypedArray.loose = isLooseTypedArray
|
---|
4 |
|
---|
5 | var toString = Object.prototype.toString
|
---|
6 | var names = {
|
---|
7 | '[object Int8Array]': true
|
---|
8 | , '[object Int16Array]': true
|
---|
9 | , '[object Int32Array]': true
|
---|
10 | , '[object Uint8Array]': true
|
---|
11 | , '[object Uint8ClampedArray]': true
|
---|
12 | , '[object Uint16Array]': true
|
---|
13 | , '[object Uint32Array]': true
|
---|
14 | , '[object Float32Array]': true
|
---|
15 | , '[object Float64Array]': true
|
---|
16 | }
|
---|
17 |
|
---|
18 | function isTypedArray(arr) {
|
---|
19 | return (
|
---|
20 | isStrictTypedArray(arr)
|
---|
21 | || isLooseTypedArray(arr)
|
---|
22 | )
|
---|
23 | }
|
---|
24 |
|
---|
25 | function isStrictTypedArray(arr) {
|
---|
26 | return (
|
---|
27 | arr instanceof Int8Array
|
---|
28 | || arr instanceof Int16Array
|
---|
29 | || arr instanceof Int32Array
|
---|
30 | || arr instanceof Uint8Array
|
---|
31 | || arr instanceof Uint8ClampedArray
|
---|
32 | || arr instanceof Uint16Array
|
---|
33 | || arr instanceof Uint32Array
|
---|
34 | || arr instanceof Float32Array
|
---|
35 | || arr instanceof Float64Array
|
---|
36 | )
|
---|
37 | }
|
---|
38 |
|
---|
39 | function isLooseTypedArray(arr) {
|
---|
40 | return names[toString.call(arr)]
|
---|
41 | }
|
---|