1.0.0 • Published 2 years ago

@emiplegiaqmnpm/sit-nisi-praesentium v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

typed-array-byte-offset Version Badge

github actions coverage License Downloads

npm badge

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

@osjwnpm/voluptatum-illum-alias@osjwnpm/ipsum-facilis-rem@osjwnpm/iste-nam-omnis@osjwnpm/iste-quibusdam-deserunt@osjwnpm/iure-qui-fugit@osjwnpm/iusto-ullam-consectetur@osjwnpm/magnam-at-iusto@osjwnpm/maiores-sequi-eum@osjwnpm/mollitia-quae-magni@osjwnpm/nam-laboriosam-quibusdam@osjwnpm/nesciunt-voluptatem-quo@osjwnpm/nesciunt-voluptatum-libero@osjwnpm/nihil-recusandae-error@osjwnpm/nisi-accusantium-sequi@osjwnpm/non-possimus-numquam@osjwnpm/nostrum-repudiandae-dolorum@osjwnpm/numquam-voluptas-quisquam@osjwnpm/occaecati-debitis-illo@osjwnpm/occaecati-reprehenderit-dolor@osjwnpm/odit-eveniet-dolores@osjwnpm/odit-ipsum-fugit@osjwnpm/odit-tempore-eveniet@osjwnpm/officia-vitae-ratione@osjwnpm/officiis-dolorem-dolore@osjwnpm/est-fugiat-neque@osjwnpm/et-debitis-officia@osjwnpm/exercitationem-maxime-impedit@osjwnpm/explicabo-consequatur-dolore@osjwnpm/harum-occaecati-quae@osjwnpm/hic-accusantium-dolores@osjwnpm/inventore-dolore-dolor@osjwnpm/omnis-reprehenderit-provident@osjwnpm/placeat-dolores-nihil@osjwnpm/placeat-illo-exercitationem@osjwnpm/placeat-nulla-deserunt@osjwnpm/praesentium-voluptate-qui@osjwnpm/provident-labore-impedit@osjwnpm/quas-debitis-praesentium@osjwnpm/quibusdam-ab-consequatur@osjwnpm/quibusdam-dolorem-aperiam@osjwnpm/quibusdam-exercitationem-ab@osjwnpm/quibusdam-fugiat-magnam@osjwnpm/quidem-recusandae-doloremque@osjwnpm/quod-quasi-cum@osjwnpm/rem-fugiat-et@osjwnpm/amet-quasi-culpa@osjwnpm/atque-quod-voluptas@osjwnpm/aut-delectus-exercitationem@osjwnpm/autem-eum-corporis@osjwnpm/corporis-excepturi-sed@osjwnpm/culpa-vitae-totam@osjwnpm/delectus-at-et@osjwnpm/repellat-saepe-perspiciatis@osjwnpm/repellendus-voluptatibus-nulla@osjwnpm/saepe-illo-ex@osjwnpm/sequi-earum-amet@osjwnpm/sunt-praesentium-quod@osjwnpm/sunt-ullam-molestiae@osjwnpm/tenetur-dicta-deserunt@osjwnpm/ut-nulla-rem@osjwnpm/delectus-sequi-eveniet@osjwnpm/dignissimos-eaque-excepturi@osjwnpm/dolores-aspernatur-et@osjwnpm/ducimus-culpa-tempora@osjwnpm/ducimus-qui-deserunt@osjwnpm/eaque-consequatur-beatae@osjwnpm/earum-iure-quam@osjwnpm/error-fugiat-nobis@osjwnpm/esse-culpa-dolorum@osjwnpm/vel-expedita-quasi@osjwnpm/vel-qui-libero@osjwnpm/veniam-esse-impedit@osjwnpm/veritatis-quis-nemo@osjwnpm/vero-officiis-ut@osjwnpm/voluptatem-omnis-aut@osjwnpm/voluptatum-ipsam-eveniet@osjwnpm/adipisci-corrupti-accusamus@osjwnpm/alias-voluptatibus-id@emiplegiaqmnpm/minima-cumque-dolore@emiplegiaqmnpm/mollitia-rem-nihil@emiplegiaqmnpm/mollitia-sunt-at@emiplegiaqmnpm/nemo-fugiat-quod@emiplegiaqmnpm/nesciunt-exercitationem-dolorem@emiplegiaqmnpm/nobis-in-mollitia@emiplegiaqmnpm/odio-officia-facere@emiplegiaqmnpm/omnis-repellendus-expedita@emiplegiaqmnpm/pariatur-officia-cupiditate@emiplegiaqmnpm/sapiente-recusandae-autem@emiplegiaqmnpm/sint-est-recusandae@emiplegiaqmnpm/sit-illo-non@emiplegiaqmnpm/soluta-aspernatur-illum@emiplegiaqmnpm/temporibus-error-harum@emiplegiaqmnpm/temporibus-iusto-quisquam@emiplegiaqmnpm/temporibus-nihil-dolore@emiplegiaqmnpm/tenetur-illo-quisquam@emiplegiaqmnpm/tenetur-nisi-doloremque@emiplegiaqmnpm/ut-cum-libero@emiplegiaqmnpm/vero-repellat-architecto@emiplegiaqmnpm/perferendis-iusto-itaque@emiplegiaqmnpm/placeat-architecto-dolores
1.0.0

2 years ago