UNPKG

@gmod/cram

Version:

read CRAM files with pure Javascript

30 lines 1.07 kB
import BetaCodec from "./beta.js"; import ByteArrayLengthCodec from "./byteArrayLength.js"; import ByteArrayStopCodec from "./byteArrayStop.js"; import ExternalCodec from "./external.js"; import GammaCodec from "./gamma.js"; import HuffmanIntCodec from "./huffman.js"; import SubexpCodec from "./subexp.js"; import { CramUnimplementedError } from "../../errors.js"; const codecClasses = { 1: ExternalCodec, // 2: GolombCodec, 3: HuffmanIntCodec, 4: ByteArrayLengthCodec, 5: ByteArrayStopCodec, 6: BetaCodec, 7: SubexpCodec, // 8: GolombRiceCodec, 9: GammaCodec, }; function getCodecClassWithId(id) { return codecClasses[id]; } export function instantiateCodec(encodingData, dataType) { const CodecClass = getCodecClassWithId(dataType === 'ignore' ? 0 : encodingData.codecId); if (!CodecClass) { throw new CramUnimplementedError(`no codec implemented for codec ID ${encodingData.codecId}`); } return new CodecClass(encodingData.parameters, dataType, instantiateCodec); } //# sourceMappingURL=index.js.map