UNPKG

javascript-binary-converter

Version:

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

44 lines 2.63 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const BlobConverter_1 = __importDefault(require("./converters/BlobConverter")); const TypedArrayConverter_1 = __importDefault(require("./converters/TypedArrayConverter")); const FileConverter_1 = __importDefault(require("./converters/FileConverter")); const ArrayBufferConverter_1 = __importDefault(require("./converters/ArrayBufferConverter")); const crossPlatform_1 = require("./utils/crossPlatform"); const ImageConverter_1 = __importDefault(require("./converters/ImageConverter")); const BytesConverter_1 = __importDefault(require("./converters/BytesConverter")); const DecimalBytesConverter_1 = __importDefault(require("./converters/DecimalBytesConverter")); const NumberConverter_1 = __importDefault(require("./converters/NumberConverter")); const StringConverter_1 = __importDefault(require("./converters/StringConverter")); function converter(original) { if (crossPlatform_1.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_1.default(original); if (!crossPlatform_1.isNode) { if (original instanceof File) return new FileConverter_1.default(original); if (original instanceof HTMLImageElement) return new ImageConverter_1.default(original); if (original instanceof Blob) return new BlobConverter_1.default(original); } if (typeof original === 'string') { return new StringConverter_1.default(original); } if (original instanceof ArrayBuffer) return new ArrayBufferConverter_1.default(original); if (typeof original === 'number' || typeof original === 'bigint') return new NumberConverter_1.default(original); if (Array.isArray(original) && typeof original[0] === 'number') return new DecimalBytesConverter_1.default(original); if (Array.isArray(original) && typeof original[0] === 'string') return new BytesConverter_1.default(original); throw new Error('The argument supplied is not a convertible'); } exports.default = converter; //# sourceMappingURL=converter.js.map