Files
xrpl-hooks-ide/utils/decodeBinary.ts
2022-08-17 11:50:49 +05:30

16 lines
513 B
TypeScript

import { decodeRestrictedBase64ToBytes } from './decodeRestrictedBase64ToBytes'
import { isZlibData, decompressZlib } from './zlib'
import { fromByteArray } from 'base64-js'
export async function decodeBinary(input: string): Promise<ArrayBuffer> {
let data = decodeRestrictedBase64ToBytes(input)
if (isZlibData(data)) {
data = await decompressZlib(data)
}
return data.buffer as ArrayBuffer
}
export function encodeBinary(input: ArrayBuffer): string {
return fromByteArray(new Uint8Array(input))
}