typed-array-byte-length (1.0.3)
Published 2026-02-24 14:07:44 +00:00 by atheaadmin
Installation
registry=npm install typed-array-byte-length@1.0.3"typed-array-byte-length": "1.0.3"About this package
typed-array-byte-offset 
Robustly get the byte offset of a Typed Array, or false if it is not a Typed Array. Works cross-realm, in every engine, even if the byteOffset property is overridden.
Example
var typedArrayByteOffset = require('typed-array-byte-offset');
var assert = require('assert');
assert.equal(false, typedArrayByteOffset(undefined));
assert.equal(false, typedArrayByteOffset(null));
assert.equal(false, typedArrayByteOffset(false));
assert.equal(false, typedArrayByteOffset(true));
assert.equal(false, typedArrayByteOffset([]));
assert.equal(false, typedArrayByteOffset({}));
assert.equal(false, typedArrayByteOffset(/a/g));
assert.equal(false, typedArrayByteOffset(new RegExp('a', 'g')));
assert.equal(false, typedArrayByteOffset(new Date()));
assert.equal(false, typedArrayByteOffset(42));
assert.equal(false, typedArrayByteOffset(NaN));
assert.equal(false, typedArrayByteOffset(Infinity));
assert.equal(false, typedArrayByteOffset(new Number(42)));
assert.equal(false, typedArrayByteOffset('foo'));
assert.equal(false, typedArrayByteOffset(Object('foo')));
assert.equal(false, typedArrayByteOffset(function () {}));
assert.equal(false, typedArrayByteOffset(function* () {}));
assert.equal(false, typedArrayByteOffset(x => x * x));
assert.equal(false, typedArrayByteOffset([]));
const buffer = new ArrayBuffer(32);
assert.equal(8, typedArrayByteOffset(new Int8Array(buffer, 8)));
assert.equal(8, typedArrayByteOffset(new Uint8Array(buffer, 8)));
assert.equal(8, typedArrayByteOffset(new Uint8ClampedArray(buffer, 8)));
assert.equal(4, typedArrayByteOffset(new Int16Array(buffer, 4)));
assert.equal(4, typedArrayByteOffset(new Uint16Array(buffer, 4)));
assert.equal(8, typedArrayByteOffset(new Int32Array(buffer, 8)));
assert.equal(8, typedArrayByteOffset(new Uint32Array(buffer, 8)));
assert.equal(16, typedArrayByteOffset(new Float32Array(buffer, 16)));
assert.equal(16, typedArrayByteOffset(new Float64Array(buffer, 16)));
assert.equal(16, typedArrayByteOffset(new BigInt64Array(buffer, 16)));
assert.equal(16, typedArrayByteOffset(new BigUint64Array(buffer, 16)));
Tests
Simply clone the repo, npm install, and run npm test
Dependencies
Dependencies
| ID | Version |
|---|---|
| call-bind | ^1.0.8 |
| for-each | ^0.3.3 |
| gopd | ^1.2.0 |
| has-proto | ^1.2.0 |
| is-typed-array | ^1.1.14 |
Development Dependencies
| ID | Version |
|---|---|
| @arethetypeswrong/cli | ^0.17.1 |
| @ljharb/eslint-config | ^21.1.1 |
| @ljharb/tsconfig | ^0.2.2 |
| @types/call-bind | ^1.0.5 |
| @types/for-each | ^0.3.3 |
| @types/gopd | ^1.0.3 |
| @types/is-callable | ^1.1.2 |
| @types/make-arrow-function | ^1.2.2 |
| @types/make-generator-function | ^2.0.3 |
| @types/object-inspect | ^1.13.0 |
| @types/tape | ^5.7.0 |
| auto-changelog | ^2.5.0 |
| available-typed-arrays | ^1.0.7 |
| encoding | ^0.1.13 |
| eslint | =8.8.0 |
| evalmd | ^0.0.19 |
| in-publish | ^2.0.1 |
| is-callable | ^1.2.7 |
| make-arrow-function | ^1.2.0 |
| make-generator-function | ^2.0.0 |
| npmignore | ^0.3.1 |
| nyc | ^10.3.2 |
| object-inspect | ^1.13.3 |
| safe-publish-latest | ^2.0.0 |
| tape | ^5.9.0 |
| typescript | next |
Keywords
typed
array
byteLength
byte
length
robust
es
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
BigInt64Array
BigUint64Array
