1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| 'use strict';
|
| var GetIntrinsic = require('get-intrinsic');
|
| var $TypeError = GetIntrinsic('%TypeError%');
|
| var IsIntegralNumber = require('./IsIntegralNumber');
|
| var whichTypedArray = require('which-typed-array');
|
| // https://262.ecma-international.org/13.0/#sec-typedarrayelementsize
|
| var table71 = {
| __proto__: null,
| $Int8Array: 1,
| $Uint8Array: 1,
| $Uint8ClampedArray: 1,
| $Int16Array: 2,
| $Uint16Array: 2,
| $Int32Array: 4,
| $Uint32Array: 4,
| $BigInt64Array: 8,
| $BigUint64Array: 8,
| $Float32Array: 4,
| $Float64Array: 8
| };
|
| module.exports = function TypedArrayElementSize(O) {
| var type = whichTypedArray(O);
| if (type === false) {
| throw new $TypeError('Assertion failed: `O` must be a TypedArray');
| }
| var size = table71['$' + type];
| if (!IsIntegralNumber(size) || size < 0) {
| throw new $TypeError('Assertion failed: Unknown TypedArray type `' + type + '`');
| }
|
| return size;
| };
|
|