UNPKG

javascript-binary-converter

Version:

A utility package to quickly handle and convert various Javascript binary objects

29 lines (21 loc) 930 B
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) } }