UNPKG

@gmod/cram

Version:

read CRAM files with pure Javascript

21 lines (20 loc) 923 B
import CramCodec from './_base.ts'; import type { Cursor, Cursors } from './_base.ts'; import type { HuffmanEncoding } from '../encoding.ts'; import type { CramFileBlock } from '../file.ts'; import type CramSlice from '../slice/index.ts'; export default class HuffmanIntCodec extends CramCodec<'byte' | 'int', HuffmanEncoding['parameters']> { private codes; private codeBook; private sortedCodes; private valuesByIndex; private bitLengthsByIndex; private bitCodeToIndex; constructor(parameters: HuffmanEncoding['parameters'], dataType: 'byte' | 'int'); buildCodeBook(): void; buildCodes(): void; buildCaches(): void; decode(slice: CramSlice, coreDataBlock: CramFileBlock, _blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number; _decodeZeroLengthCode(): number; _decode(_slice: CramSlice, coreDataBlock: CramFileBlock, coreCursor: Cursor): number; }