7.18.143 • Published 1 year ago

@firanorg/hic-tempora-dignissimos v7.18.143

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year 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

7.18.143

1 year ago

7.18.142

1 year ago

7.18.141

1 year ago

5.17.128

2 years ago

5.17.129

2 years ago

5.17.126

2 years ago

5.17.127

2 years ago

6.17.135

1 year ago

6.17.134

1 year ago

6.17.133

1 year ago

6.17.132

1 year ago

6.17.129

2 years ago

6.17.131

2 years ago

6.17.130

2 years ago

7.17.139

1 year ago

7.17.137

1 year ago

7.17.138

1 year ago

7.17.135

1 year ago

7.17.136

1 year ago

7.18.140

1 year ago

7.18.139

1 year ago

5.17.124

2 years ago

5.17.125

2 years ago

5.17.122

2 years ago

5.17.123

2 years ago

5.16.122

2 years ago

5.16.121

2 years ago

5.16.120

2 years ago

5.16.116

2 years ago

5.16.117

2 years ago

5.16.115

2 years ago

5.16.118

2 years ago

5.16.119

2 years ago

5.16.114

2 years ago

5.16.113

2 years ago

5.16.112

2 years ago

5.16.109

2 years ago

5.16.110

2 years ago

5.16.111

2 years ago

5.16.108

2 years ago

5.15.107

2 years ago

5.15.108

2 years ago

5.15.106

2 years ago

5.15.105

2 years ago

5.15.104

2 years ago

5.15.103

2 years ago

5.15.102

2 years ago

5.15.101

2 years ago

5.15.100

2 years ago

5.15.99

2 years ago

5.15.98

2 years ago

3.7.37

2 years ago

3.7.38

2 years ago

3.7.35

2 years ago

3.7.36

2 years ago

5.15.86

2 years ago

3.7.33

2 years ago

3.7.34

2 years ago

3.7.31

2 years ago

3.7.32

2 years ago

3.5.19

2 years ago

5.15.89

2 years ago

3.7.30

2 years ago

5.15.88

2 years ago

5.15.87

2 years ago

3.9.50

2 years ago

5.15.93

2 years ago

5.15.92

2 years ago

5.15.91

2 years ago

3.5.23

2 years ago

5.15.90

2 years ago

3.5.22

2 years ago

5.15.97

2 years ago

3.5.21

2 years ago

5.15.96

2 years ago

3.5.20

2 years ago

5.15.95

2 years ago

5.15.94

2 years ago

5.13.82

2 years ago

5.13.83

2 years ago

5.11.60

2 years ago

5.13.84

2 years ago

5.11.66

2 years ago

5.11.65

2 years ago

5.11.68

2 years ago

5.11.67

2 years ago

5.13.85

2 years ago

5.11.62

2 years ago

5.13.86

2 years ago

5.11.61

2 years ago

5.11.64

2 years ago

5.11.63

2 years ago

3.7.26

2 years ago

3.7.27

2 years ago

3.9.48

2 years ago

4.10.57

2 years ago

3.9.49

2 years ago

3.9.46

2 years ago

3.2.17

2 years ago

3.9.47

2 years ago

3.9.45

2 years ago

3.2.18

2 years ago

4.10.58

2 years ago

4.10.59

2 years ago

3.7.28

2 years ago

3.7.29

2 years ago

3.6.26

2 years ago

3.6.25

2 years ago

3.6.24

2 years ago

3.6.23

2 years ago

3.8.45

2 years ago

3.8.43

2 years ago

3.8.44

2 years ago

3.1.17

2 years ago

3.10.53

2 years ago

3.10.54

2 years ago

3.10.51

2 years ago

3.10.52

2 years ago

3.10.57

2 years ago

3.10.55

2 years ago

3.10.56

2 years ago

3.10.50

2 years ago

3.8.41

2 years ago

3.8.42

2 years ago

3.8.40

2 years ago

3.4.19

2 years ago

5.12.68

2 years ago

5.14.86

2 years ago

5.12.69

2 years ago

5.12.70

2 years ago

5.12.71

2 years ago

5.12.72

2 years ago

3.3.18

2 years ago

3.3.19

2 years ago

5.10.59

2 years ago

5.12.77

2 years ago

5.12.78

2 years ago

5.12.79

2 years ago

5.12.73

2 years ago

5.12.74

2 years ago

5.12.75

2 years ago

5.12.76

2 years ago

5.12.80

2 years ago

3.8.38

2 years ago

5.12.81

2 years ago

3.8.39

2 years ago

5.12.82

2 years ago

5.10.60

2 years ago

2.1.17

2 years ago

2.1.16

2 years ago

2.1.14

2 years ago

2.1.15

2 years ago

2.1.13

2 years ago

2.1.12

2 years ago

2.0.12

2 years ago

2.0.11

2 years ago

2.0.10

2 years ago

2.0.9

2 years ago

2.0.8

2 years ago

2.0.7

2 years ago

2.0.6

2 years ago

2.0.5

2 years ago

2.0.3

2 years ago

2.0.4

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.0

2 years ago