16 lines
513 B
TypeScript
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))
|
|
}
|