UNPKG

javascript-binary-converter

Version:

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

39 lines 2.06 kB
import BlobConverter from "./converters/BlobConverter"; import TypedArrayConverter from "./converters/TypedArrayConverter"; import FileConverter from "./converters/FileConverter"; import ArrayBufferConverter from "./converters/ArrayBufferConverter"; import { isNode } from "./utils/crossPlatform"; import ImageConverter from "./converters/ImageConverter"; import BytesConverter from "./converters/BytesConverter"; import DecimalBytesConverter from "./converters/DecimalBytesConverter"; import NumberConverter from "./converters/NumberConverter"; import StringConverter from "./converters/StringConverter"; function converter(original) { if (isNode && original.constructor.name === 'Blob') { throw new Error('In order to convert a Blob in Node, import BlobConverter directly'); } if (original instanceof Int8Array || original instanceof Uint8Array || original instanceof Uint16Array || original instanceof Int16Array || original instanceof Int32Array || original instanceof Uint32Array) return new TypedArrayConverter(original); if (!isNode) { if (original instanceof File) return new FileConverter(original); if (original instanceof HTMLImageElement) return new ImageConverter(original); if (original instanceof Blob) return new BlobConverter(original); } if (typeof original === 'string') { return new StringConverter(original); } if (original instanceof ArrayBuffer) return new ArrayBufferConverter(original); if (typeof original === 'number' || typeof original === 'bigint') return new NumberConverter(original); if (Array.isArray(original) && typeof original[0] === 'number') return new DecimalBytesConverter(original); if (Array.isArray(original) && typeof original[0] === 'string') return new BytesConverter(original); throw new Error('The argument supplied is not a convertible'); } export default converter; //# sourceMappingURL=converter.js.map