javascript-binary-converter
Version:
A utility package to quickly handle and convert various Javascript binary objects
29 lines (21 loc) • 930 B
text/typescript
import { BlobCreationConfig, BytesArray, DecimalBytesArray, ImageCreationConfig } from "../sharedTypes"
import { getBlobClass } from "../utils/crossPlatform"
import { binaryToImage } from "../utils/image"
export abstract class BaseBytesConverter{
constructor(protected original: BytesArray | DecimalBytesArray) {}
abstract toUint8Array():Uint8Array
toText() {
const uint8 = this.toUint8Array()
const decoder = new TextDecoder()
return decoder.decode(uint8)
}
async toBlob(config?: BlobCreationConfig): Promise<Blob> {
const BlobClass = await getBlobClass()
return new BlobClass([this.toUint8Array()], config)
}
async toImage(config?: ImageCreationConfig) {
const BlobClass = await getBlobClass()
const blob = new BlobClass([this.toUint8Array()])
return binaryToImage(blob, config && config)
}
}