-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
20 lines (15 loc) · 652 Bytes
/
index.js
File metadata and controls
20 lines (15 loc) · 652 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'use strict';
var $TypeError = require('es-errors/type');
var callBound = require('call-bound');
/** @type {((thisArg: import('.').TypedArray) => ArrayBufferLike) | undefined} */
// @ts-ignore TypedArray is not a global, but it's a valid intrinsic
var $typedArrayBuffer = callBound('TypedArray.prototype.buffer', true);
var isTypedArray = require('is-typed-array');
/** @type {import('.')} */
// node <= 0.10, < 0.11.4 has a nonconfigurable own property instead of a prototype getter
module.exports = $typedArrayBuffer || function typedArrayBuffer(x) {
if (!isTypedArray(x)) {
throw new $TypeError('Not a Typed Array');
}
return x.buffer;
};