UNPKG

slimfits

Version:

Package for loading data stored in FITS data format

60 lines 2.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var interfaces_1 = require("../interfaces"); var ArrayUtils_1 = require("../utils/ArrayUtils"); var BlobFile = /** @class */ (function () { function BlobFile(file) { this.file = file; this.url = ''; this.url = file.name; } BlobFile.prototype.initialize = function () { var _this = this; return this.getStringAsync(0, 6).then(function (value) { return (value === 'SIMPLE') && (_this.getByteLength() % 2880 === 0); }); }; BlobFile.prototype.getByteLength = function () { return this.file.size; }; BlobFile.prototype.getStringAsync = function (start, length) { var _this = this; return new Promise(function (resolve, reject) { var blob = _this.file.slice(start, start + length); var reader = new FileReader(); reader.onloadend = function (evt) { if (reader.readyState === reader.DONE) { // TODO: check what is the issue here resolve(reader.result); } else { reject(reader.error); } }; return reader.readAsText(blob, 'ASCII'); }); }; BlobFile.prototype.getDataAsync = function (start, length, bitPix, changeEndian) { var _this = this; if (changeEndian === void 0) { changeEndian = true; } return new Promise(function (resolve, reject) { var blob = _this.file.slice(start, start + length * interfaces_1.BitPixUtils.getByteSize(bitPix)); var reader = new FileReader(); reader.onloadend = function (evt) { if (reader.readyState === reader.DONE) { var typedArray = ArrayUtils_1.ArrayUtils.generateTypedArray(bitPix, length); // TODO check if this <any> cast is necessary ArrayUtils_1.ArrayUtils.copy(reader.result, typedArray.buffer, 0, length, bitPix, changeEndian); resolve(typedArray); } else { reject(reader.error); } }; reader.readAsArrayBuffer(blob); }); }; return BlobFile; }()); exports.BlobFile = BlobFile; //# sourceMappingURL=BlobFile.js.map