3.5.103 • Published 10 months ago

@erboladaiorg/optio-et v3.5.103

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

@erboladaiorg/optio-et 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('@erboladaiorg/optio-et');
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

url.gitignoreschemaform-validationemojiproppostcss-pluginarktypeES2016gesturesfpsBigInt64ArraynamesES5StyleSheetHyBiboundsettingssyntaxerrordependency managerprefixcollection.es6channelreact-hookscode pointsaccessorobjObject.keysbuffersletvariableskeysfull-widthString.prototype.matchAllglobalFloat32Arrayutilitieslockfilecloudsearchjapanesesetterreducer__proto__popmotion0regular expressioncoreECMAScript 2022reversedvarfind-uptrimEnddebuggerURLSearchParamsjasmineconfigpinoinferencepropertydependenciesruntimearraybufferworkflowtostringtaga11yES2015dirharmonyviewzxjson-schema-validationpromiseexecArrayBuffer.prototype.sliceelectronTypeScriptbundlingbannerfixed-widthartgenericsmodulehasOwnPropertyassertslinkrouteconstpoint-freecloudfrontformatfastcopyerrorcollectionpathloadbalancingsuperagentObject.iscolorstraversesymlinkstrimStartglaciercommanderArrayBufferdataViewfullBigUint64ArraydropshrinkwrapreworkshimconcatMapzod@@toStringTagjoibabel-corewalkwidthstringUint32ArrayfindLastcurriedutilityWeakSetlistenershasES2022es2017columnsrestfulweakmapfunctionclassnamesimportexportstringifierTypeBoxjQueryprotocol-buffersstylinggroupgetoptutilsforkansitoSortedhashreactfigletproxyECMAScript 5packageshellframeres6jsdiffeventEmittervestcryptopackage.jsonPromisemodulesperformantInt8ArrayregexglobalsidbabelflatMapInt16ArraysharedenumerabletrimRightregular expressionsentrieslook-upregexpeveryuuiditerate_.extendassignnodeES3extraeslintpluginsyntaxarraystermtypeddefinePropertyUint16Arraypreprocessorassertionfast-cloneobject256amazonnopeforEachvalidation
3.5.103

10 months ago

3.5.102

10 months ago

3.5.101

10 months ago

3.5.100

10 months ago

3.5.99

10 months ago

3.5.98

11 months ago

3.4.98

11 months ago

3.4.97

11 months ago

3.4.96

11 months ago

3.4.95

11 months ago

3.4.94

11 months ago

3.4.93

11 months ago

3.4.92

11 months ago

3.4.91

11 months ago

3.4.90

11 months ago

3.4.89

11 months ago

3.4.88

11 months ago

3.4.87

11 months ago

2.4.87

11 months ago

2.4.86

11 months ago

2.4.85

11 months ago

2.4.84

11 months ago

2.4.83

11 months ago

2.4.82

11 months ago

2.4.81

11 months ago

2.4.80

11 months ago

2.4.79

11 months ago

2.4.78

11 months ago

2.4.77

11 months ago

2.4.76

11 months ago

2.4.75

11 months ago

2.4.74

11 months ago

2.4.73

11 months ago

2.4.72

11 months ago

2.4.71

11 months ago

2.4.70

12 months ago

2.4.69

12 months ago

2.4.68

12 months ago

2.4.67

12 months ago

2.4.66

12 months ago

2.3.66

12 months ago

2.3.65

12 months ago

2.3.64

12 months ago

2.3.63

12 months ago

2.3.62

12 months ago

2.3.61

12 months ago

2.3.60

12 months ago

2.3.59

12 months ago

2.3.58

12 months ago

2.3.57

12 months ago

2.3.56

12 months ago

2.3.55

12 months ago

2.3.54

12 months ago

2.3.53

12 months ago

2.3.52

12 months ago

2.3.51

1 year ago

2.3.50

1 year ago

2.3.49

1 year ago

2.3.48

1 year ago

2.3.47

1 year ago

2.3.46

1 year ago

2.3.45

1 year ago

2.3.44

1 year ago

2.3.43

1 year ago

2.3.42

1 year ago

2.3.41

1 year ago

2.3.40

1 year ago

2.3.39

1 year ago

2.3.38

1 year ago

2.3.37

1 year ago

2.3.36

1 year ago

1.3.36

1 year ago

1.3.35

1 year ago

1.3.34

1 year ago

1.3.33

1 year ago

1.3.32

1 year ago

1.3.31

1 year ago

1.3.30

1 year ago

1.3.29

1 year ago

1.3.28

1 year ago

1.3.27

1 year ago

1.3.26

1 year ago

1.3.25

1 year ago

1.3.24

1 year ago

1.3.23

1 year ago

1.3.22

1 year ago

1.3.21

1 year ago

1.3.20

1 year ago

1.3.19

1 year ago

1.3.18

1 year ago

1.3.17

1 year ago

1.3.16

1 year ago

1.3.15

1 year ago

1.3.14

1 year ago

1.3.13

1 year ago

1.3.12

1 year ago

1.3.11

1 year ago

1.3.10

1 year ago

1.3.9

1 year ago

1.3.8

1 year ago

1.3.7

1 year ago

1.3.6

1 year ago

1.2.6

1 year ago

1.2.5

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago