UNPKG

slimfits

Version:

Package for loading data stored in FITS data format

58 lines 2.27 kB
import { BitPixUtils } from '../interfaces'; import { ArrayUtils } from '../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 * BitPixUtils.getByteSize(bitPix)); var reader = new FileReader(); reader.onloadend = function (evt) { if (reader.readyState === reader.DONE) { var typedArray = ArrayUtils.generateTypedArray(bitPix, length); // TODO check if this <any> cast is necessary ArrayUtils.copy(reader.result, typedArray.buffer, 0, length, bitPix, changeEndian); resolve(typedArray); } else { reject(reader.error); } }; reader.readAsArrayBuffer(blob); }); }; return BlobFile; }()); export { BlobFile }; //# sourceMappingURL=BlobFile.js.map