import type { BytesLike, BufferSource } from "../types.js"; export function convertBytesLikeToUint8Array(data: string, encodeUTF8: boolean): Uint8Array; export function convertBytesLikeToUint8Array(data: BufferSource | string): Uint8Array; export function convertBytesLikeToUint8Array(data: BytesLike, encodeUTF8 = true): Uint8Array { if (data instanceof Uint8Array) { return data; } if (data instanceof ArrayBuffer) { return new Uint8Array(data); } if (data instanceof SharedArrayBuffer) { return new Uint8Array(data); } if (data instanceof Uint8Array) { return data; } if (ArrayBuffer.isView(data)) { return new Uint8Array(data.buffer, data.byteOffset, data.byteLength); } if (typeof (data) === 'string') { if(encodeUTF8){ return (new TextEncoder()).encode(data); } return new Uint8Array(data.split('').map(s=>s.codePointAt(0) as number)); } throw new Error(`Unknown data type ${typeof (data)}`); }