@gmod/cram
Version:
read CRAM files with pure Javascript
18 lines (17 loc) • 1.05 kB
TypeScript
import CramCodec from './_base.ts';
import type { Cursors } from './_base.ts';
import type { ByteArrayLengthEncoding, CramEncoding } from '../encoding.ts';
import type { CramFileBlock } from '../file.ts';
import type { DataType } from './dataSeriesTypes.ts';
import type CramSlice from '../slice/index.ts';
type CramCodecFactory = <TData extends DataType = DataType>(encodingData: CramEncoding, dataType: TData | 'ignore') => CramCodec<TData>;
export default class ByteArrayLengthCodec extends CramCodec<'byteArray', ByteArrayLengthEncoding['parameters']> {
private instantiateCodec;
private _lengthCodecCache?;
private _dataCodecCache?;
constructor(parameters: ByteArrayLengthEncoding['parameters'], dataType: 'byteArray', instantiateCodec: CramCodecFactory);
decode(slice: CramSlice, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): Uint8Array<ArrayBufferLike>;
_getLengthCodec(): CramCodec<"int", unknown>;
_getDataCodec(): CramCodec<"byte", unknown>;
}
export {};