javascript-binary-converter
Version:
A utility package to quickly handle and convert various Javascript binary objects
44 lines • 2.63 kB
JavaScript
;
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