What is which-typed-array?
The `which-typed-array` npm package is designed to identify the type of a given typed array instance. It supports all built-in JavaScript typed array types, including `Int8Array`, `Uint8Array`, `Uint8ClampedArray`, `Int16Array`, `Uint16Array`, `Int32Array`, `Uint32Array`, `Float32Array`, `Float64Array`, and `BigInt64Array`, `BigUint64Array`. This package is useful for applications that need to process or manipulate typed arrays and must determine their specific types to apply the correct operations.
What are which-typed-array's main functionalities?
Identifying Typed Array Type
This feature allows the identification of the type of a typed array. The function `whichTypedArray` is called with a typed array as its argument, and it returns a string representing the type of the typed array.
"use strict";\nconst whichTypedArray = require('which-typed-array');\nconsole.log(whichTypedArray(new Uint8Array())); // 'Uint8Array'\nconsole.log(whichTypedArray(new Float32Array())); // 'Float32Array'"
Other packages similar to which-typed-array
is-typedarray
The `is-typedarray` package is similar to `which-typed-array` in that it is used to check if a given object is a typed array. However, unlike `which-typed-array`, it does not specify the type of the typed array; it only checks if the object is a typed array or not.
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()));
Tests
Simply clone the repo, npm install
, and run npm test