UNPKG

@gmod/cram

Version:

read CRAM files with pure Javascript

67 lines (66 loc) 2.2 kB
import type CramCodec from '../codecs/_base.ts'; import type { DataSeriesEncodingKey, DataSeriesEncodingMap } from '../codecs/dataSeriesTypes.ts'; import type { CramEncoding } from '../encoding.ts'; import type { CramCompressionHeader } from '../sectionParsers.ts'; declare const dataSeriesTypes: { readonly BF: "int"; readonly CF: "int"; readonly RI: "int"; readonly RL: "int"; readonly AP: "int"; readonly RG: "int"; readonly MF: "int"; readonly NS: "int"; readonly NP: "int"; readonly TS: "int"; readonly NF: "int"; readonly TC: "byte"; readonly TN: "int"; readonly FN: "int"; readonly FC: "byte"; readonly FP: "int"; readonly BS: "byte"; readonly IN: "byteArray"; readonly SC: "byteArray"; readonly DL: "int"; readonly BA: "byte"; readonly BB: "byteArray"; readonly RS: "int"; readonly PD: "int"; readonly HC: "int"; readonly MQ: "int"; readonly RN: "byteArray"; readonly QS: "byte"; readonly QQ: "byteArray"; readonly TL: "int"; }; export { dataSeriesTypes }; export type DataSeriesTypes = typeof dataSeriesTypes; type DataSeriesCache = { [K in DataSeriesEncodingKey]?: CramCodec<DataSeriesTypes[K]>; }; export default class CramContainerCompressionScheme { readNamesIncluded: boolean; APdelta: boolean; referenceRequired: boolean; tagIdsDictionary: Record<number, string[]>; substitutionMatrix: string[][]; dataSeriesCodecCache: DataSeriesCache; tagCodecCache: Record<string, CramCodec>; tagEncoding: Record<string, CramEncoding>; dataSeriesEncoding: DataSeriesEncodingMap; constructor(content: CramCompressionHeader); /** * @param {string} tagName three-character tag name * @private */ getCodecForTag(tagName: string): CramCodec; /** * * @param {number} tagListId ID of the tag list to fetch from the tag dictionary * @private */ getTagNames(tagListId: number): string[] | undefined; getCodecForDataSeries<TDataSeries extends DataSeriesEncodingKey>(dataSeriesName: TDataSeries): CramCodec<DataSeriesTypes[TDataSeries]> | undefined; toJSON(): Record<string, unknown>; }