molstar
Version:
A comprehensive macromolecular library.
70 lines • 2.54 kB
JavaScript
/**
* Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.readUrlAsBuffer = exports.readUrlAsText = exports.readUrl = exports.readFileAsBuffer = exports.readFileAsText = exports.readFile = void 0;
var tslib_1 = require("tslib");
function readFile(file, isBinary) {
if (isBinary === void 0) { isBinary = false; }
var fileReader = new FileReader();
return new Promise(function (resolve, reject) {
fileReader.onerror = function () {
fileReader.abort();
reject(new DOMException('Error parsing file.'));
};
fileReader.onload = function () {
resolve(isBinary ? new Uint8Array(fileReader.result) : fileReader.result);
};
if (isBinary) {
fileReader.readAsArrayBuffer(file);
}
else {
fileReader.readAsText(file);
}
});
}
exports.readFile = readFile;
function readFileAsText(file) {
return readFile(file, false);
}
exports.readFileAsText = readFileAsText;
function readFileAsBuffer(file) {
return readFile(file, true);
}
exports.readFileAsBuffer = readFileAsBuffer;
function readUrl(url, isBinary) {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
var response, _a, _b;
return (0, tslib_1.__generator)(this, function (_c) {
switch (_c.label) {
case 0: return [4 /*yield*/, fetch(url)];
case 1:
response = _c.sent();
if (!isBinary) return [3 /*break*/, 3];
_b = Uint8Array.bind;
return [4 /*yield*/, response.arrayBuffer()];
case 2:
_a = new (_b.apply(Uint8Array, [void 0, _c.sent()]))();
return [3 /*break*/, 5];
case 3: return [4 /*yield*/, response.text()];
case 4:
_a = _c.sent();
_c.label = 5;
case 5: return [2 /*return*/, _a];
}
});
});
}
exports.readUrl = readUrl;
function readUrlAsText(url) {
return readUrl(url, false);
}
exports.readUrlAsText = readUrlAsText;
function readUrlAsBuffer(url) {
return readUrl(url, true);
}
exports.readUrlAsBuffer = readUrlAsBuffer;
//# sourceMappingURL=read.js.map
;