@gmod/cram
Version:
read CRAM files with pure Javascript
36 lines • 1.53 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.instantiateCodec = instantiateCodec;
const beta_ts_1 = __importDefault(require("./beta.js"));
const byteArrayLength_ts_1 = __importDefault(require("./byteArrayLength.js"));
const byteArrayStop_ts_1 = __importDefault(require("./byteArrayStop.js"));
const external_ts_1 = __importDefault(require("./external.js"));
const gamma_ts_1 = __importDefault(require("./gamma.js"));
const huffman_ts_1 = __importDefault(require("./huffman.js"));
const subexp_ts_1 = __importDefault(require("./subexp.js"));
const errors_ts_1 = require("../../errors.js");
const codecClasses = {
1: external_ts_1.default,
// 2: GolombCodec,
3: huffman_ts_1.default,
4: byteArrayLength_ts_1.default,
5: byteArrayStop_ts_1.default,
6: beta_ts_1.default,
7: subexp_ts_1.default,
// 8: GolombRiceCodec,
9: gamma_ts_1.default,
};
function getCodecClassWithId(id) {
return codecClasses[id];
}
function instantiateCodec(encodingData, dataType) {
const CodecClass = getCodecClassWithId(dataType === 'ignore' ? 0 : encodingData.codecId);
if (!CodecClass) {
throw new errors_ts_1.CramUnimplementedError(`no codec implemented for codec ID ${encodingData.codecId}`);
}
return new CodecClass(encodingData.parameters, dataType, instantiateCodec);
}
//# sourceMappingURL=index.js.map