| 1234567891011121314151617 |
- import { assertTypedArray } from './assert.js'
- const Buffer = globalThis.Buffer // Buffer is optional
- export function typedView(arr, format) {
- assertTypedArray(arr)
- switch (format) {
- case 'uint8':
- if (arr.constructor === Uint8Array) return arr // fast path
- return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength)
- case 'buffer':
- if (arr.constructor === Buffer && Buffer.isBuffer(arr)) return arr
- return Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength)
- }
- throw new TypeError('Unexpected format')
- }
|