which-typed-array (original) (raw)
1.1.19 • Public • Published 2 months ago
which-typed-array 
Which kind of Typed Array is this JavaScript value? Works cross-realm, without instanceof
, and despite Symbol.toStringTag.
Example
var whichTypedArray = require('which-typed-array'); var assert = require('assert');
assert.equal(false, whichTypedArray(undefined)); assert.equal(false, whichTypedArray(null)); assert.equal(false, whichTypedArray(false)); assert.equal(false, whichTypedArray(true)); assert.equal(false, whichTypedArray([])); assert.equal(false, whichTypedArray({})); assert.equal(false, whichTypedArray(/a/g)); assert.equal(false, whichTypedArray(new RegExp('a', 'g'))); assert.equal(false, whichTypedArray(new Date())); assert.equal(false, whichTypedArray(42)); assert.equal(false, whichTypedArray(NaN)); assert.equal(false, whichTypedArray(Infinity)); assert.equal(false, whichTypedArray(new Number(42))); assert.equal(false, whichTypedArray('foo')); assert.equal(false, whichTypedArray(Object('foo'))); assert.equal(false, whichTypedArray(function () {})); assert.equal(false, whichTypedArray(function* () {})); assert.equal(false, whichTypedArray(x => x * x)); assert.equal(false, whichTypedArray([]));
assert.equal('Int8Array', whichTypedArray(new Int8Array())); assert.equal('Uint8Array', whichTypedArray(new Uint8Array())); assert.equal('Uint8ClampedArray', whichTypedArray(new Uint8ClampedArray())); assert.equal('Int16Array', whichTypedArray(new Int16Array())); assert.equal('Uint16Array', whichTypedArray(new Uint16Array())); assert.equal('Int32Array', whichTypedArray(new Int32Array())); assert.equal('Uint32Array', whichTypedArray(new Uint32Array())); assert.equal('Float32Array', whichTypedArray(new Float32Array())); assert.equal('Float64Array', whichTypedArray(new Float64Array())); assert.equal('BigInt64Array', whichTypedArray(new BigInt64Array())); assert.equal('BigUint64Array', whichTypedArray(new BigUint64Array()));
Tests
Simply clone the repo, npm install
, and run npm test
Readme
Keywords
- array
- TypedArray
- [typed array](/search?q=keywords:"typed array")
- which
- typed
- Int8Array
- Uint8Array
- Uint8ClampedArray
- Int16Array
- Uint16Array
- Int32Array
- Uint32Array
- Float32Array
- Float64Array
- ES6
- toStringTag
- Symbol.toStringTag
- @@toStringTag