export function ensureUint8Array( buffer: ArrayLike | Uint8Array | ArrayBufferView | ArrayBuffer, ): Uint8Array { if (buffer instanceof Uint8Array) { return buffer; } if (ArrayBuffer.isView(buffer)) { return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); } if (buffer instanceof ArrayBuffer) { return new Uint8Array(buffer); } return Uint8Array.from(buffer); } export function createDataView( buffer: ArrayLike | ArrayBufferView | ArrayBuffer, ): DataView { if (buffer instanceof ArrayBuffer) { return new DataView(buffer); } const bufferView = ensureUint8Array(buffer); return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength); }