import ByteBuffer from 'bytebuffer'; export type Encoding = 'base64' | 'hex' | 'binary' | 'utf8'; export type BufferType = ByteBuffer | Buffer | ArrayBuffer | Uint8Array; /** * Take a string value with the given encoding and converts it to an `ArrayBuffer`. * @param value The string value. * @param encoding The encoding of the string value. */ export function encode(value: string, encoding: Encoding): ArrayBuffer { return ByteBuffer.wrap(value, encoding).toArrayBuffer(); } /** * Take a buffer and convert it to a string with the given encoding. * @param buffer The buffer. * @param stringEncoding The encoding of the converted string value. */ export function decode(buffer: BufferType, stringEncoding: Encoding): string { return ByteBuffer.wrap(buffer).toString(stringEncoding); }