@gmod/cram 4.0.4 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +53 -51
  2. package/dist/cram-bundle.js +1 -1
  3. package/dist/cramFile/codecs/_base.d.ts +1 -1
  4. package/dist/cramFile/codecs/byteArrayLength.js +3 -2
  5. package/dist/cramFile/codecs/byteArrayLength.js.map +1 -1
  6. package/dist/cramFile/codecs/external.d.ts +1 -1
  7. package/dist/cramFile/codecs/external.js +1 -4
  8. package/dist/cramFile/codecs/external.js.map +1 -1
  9. package/dist/cramFile/container/index.d.ts +16 -34
  10. package/dist/cramFile/container/index.js +5 -20
  11. package/dist/cramFile/container/index.js.map +1 -1
  12. package/dist/cramFile/file.d.ts +8 -6
  13. package/dist/cramFile/file.js +37 -73
  14. package/dist/cramFile/file.js.map +1 -1
  15. package/dist/cramFile/record.js.map +1 -1
  16. package/dist/cramFile/sectionParsers.js +3 -2
  17. package/dist/cramFile/sectionParsers.js.map +1 -1
  18. package/dist/cramFile/slice/decodeRecord.d.ts +2 -2
  19. package/dist/cramFile/slice/decodeRecord.js +7 -4
  20. package/dist/cramFile/slice/decodeRecord.js.map +1 -1
  21. package/dist/cramFile/slice/index.js +14 -16
  22. package/dist/cramFile/slice/index.js.map +1 -1
  23. package/dist/cramFile/util.d.ts +5 -0
  24. package/dist/cramFile/util.js +75 -51
  25. package/dist/cramFile/util.js.map +1 -1
  26. package/esm/cramFile/codecs/_base.d.ts +1 -1
  27. package/esm/cramFile/codecs/byteArrayLength.js +3 -2
  28. package/esm/cramFile/codecs/byteArrayLength.js.map +1 -1
  29. package/esm/cramFile/codecs/external.d.ts +1 -1
  30. package/esm/cramFile/codecs/external.js +2 -5
  31. package/esm/cramFile/codecs/external.js.map +1 -1
  32. package/esm/cramFile/container/index.d.ts +16 -34
  33. package/esm/cramFile/container/index.js +5 -20
  34. package/esm/cramFile/container/index.js.map +1 -1
  35. package/esm/cramFile/file.d.ts +8 -6
  36. package/esm/cramFile/file.js +37 -73
  37. package/esm/cramFile/file.js.map +1 -1
  38. package/esm/cramFile/record.js.map +1 -1
  39. package/esm/cramFile/sectionParsers.js +3 -2
  40. package/esm/cramFile/sectionParsers.js.map +1 -1
  41. package/esm/cramFile/slice/decodeRecord.d.ts +2 -2
  42. package/esm/cramFile/slice/decodeRecord.js +7 -4
  43. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  44. package/esm/cramFile/slice/index.js +14 -16
  45. package/esm/cramFile/slice/index.js.map +1 -1
  46. package/esm/cramFile/util.d.ts +5 -0
  47. package/esm/cramFile/util.js +74 -51
  48. package/esm/cramFile/util.js.map +1 -1
  49. package/package.json +3 -6
  50. package/src/cramFile/codecs/_base.ts +1 -1
  51. package/src/cramFile/codecs/byteArrayLength.ts +4 -12
  52. package/src/cramFile/codecs/external.ts +3 -7
  53. package/src/cramFile/container/index.ts +5 -24
  54. package/src/cramFile/file.ts +41 -77
  55. package/src/cramFile/record.ts +1 -1
  56. package/src/cramFile/sectionParsers.ts +5 -2
  57. package/src/cramFile/slice/decodeRecord.ts +26 -23
  58. package/src/cramFile/slice/index.ts +25 -31
  59. package/src/cramFile/util.ts +107 -73
  60. package/errors.js +0 -27
@@ -23,5 +23,5 @@ export default abstract class CramCodec<TResult extends DataType = DataType, TPa
23
23
  parameters: TParameters;
24
24
  dataType: DataType;
25
25
  constructor(parameters: TParameters, dataType: TResult);
26
- abstract decode(slice: CramSlice, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): DataTypeMapping[TResult];
26
+ abstract decode(slice: CramSlice, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): DataTypeMapping[TResult] | undefined;
27
27
  }
@@ -12,11 +12,12 @@ class ByteArrayStopCodec extends _base_1.default {
12
12
  }
13
13
  decode(slice, coreDataBlock, blocksByContentId, cursors) {
14
14
  const lengthCodec = this._getLengthCodec();
15
- const arrayLength = lengthCodec.decode(slice, coreDataBlock, blocksByContentId, cursors);
15
+ const arrayLength = lengthCodec.decode(slice, coreDataBlock, blocksByContentId, cursors) || 0;
16
16
  const dataCodec = this._getDataCodec();
17
17
  const data = new Uint8Array(arrayLength);
18
18
  for (let i = 0; i < arrayLength; i += 1) {
19
- data[i] = dataCodec.decode(slice, coreDataBlock, blocksByContentId, cursors);
19
+ data[i] =
20
+ dataCodec.decode(slice, coreDataBlock, blocksByContentId, cursors) || 0;
20
21
  }
21
22
  return data;
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"byteArrayLength.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/byteArrayLength.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4C;AAK5C,kCAAqC;AAOrC,MAAqB,kBAAmB,SAAQ,eAG/C;IAGC,YACE,UAAiD,EACjD,QAAqB,EACrB,gBAAkC;QAElC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC1C,CAAC;IAED,MAAM,CACJ,KAAgB,EAChB,aAA4B,EAC5B,iBAAgD,EAChD,OAAgB;QAEhB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAC1C,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CACpC,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,OAAO,CACR,CAAA;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CACxB,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,OAAO,CACR,CAAA;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU;IACV,eAAe;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAA;QACtD,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACrD,CAAC;IAED,UAAU;IACV,aAAa;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAA;QACrD,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;CACF;AAtDD,qCAsDC;AAED,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAC1D,IAAA,kBAAW,EAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;AACzC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"byteArrayLength.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/byteArrayLength.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4C;AAK5C,kCAAqC;AAOrC,MAAqB,kBAAmB,SAAQ,eAG/C;IAGC,YACE,UAAiD,EACjD,QAAqB,EACrB,gBAAkC;QAElC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC1C,CAAC;IAED,MAAM,CACJ,KAAgB,EAChB,aAA4B,EAC5B,iBAAgD,EAChD,OAAgB;QAEhB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAC1C,MAAM,WAAW,GACf,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAE3E,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC;gBACL,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3E,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU;IACV,eAAe;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAA;QACtD,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACrD,CAAC;IAED,UAAU;IACV,aAAa;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAA;QACrD,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;CACF;AA9CD,qCA8CC;AAED,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAC1D,IAAA,kBAAW,EAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;AACzC,CAAC,CAAC,CAAA"}
@@ -5,7 +5,7 @@ import { ExternalCramEncoding } from '../encoding';
5
5
  export default class ExternalCodec extends CramCodec<'int' | 'byte', ExternalCramEncoding['parameters']> {
6
6
  private readonly _decodeData;
7
7
  constructor(parameters: ExternalCramEncoding['parameters'], dataType: 'int' | 'byte');
8
- decode(slice: CramSlice, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number;
8
+ decode(slice: CramSlice, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number | undefined;
9
9
  _decodeInt(contentBlock: CramFileBlock, cursor: Cursor): number;
10
10
  _decodeByte(contentBlock: CramFileBlock, cursor: Cursor): number;
11
11
  }
@@ -23,11 +23,8 @@ class ExternalCodec extends _base_1.default {
23
23
  decode(slice, coreDataBlock, blocksByContentId, cursors) {
24
24
  const { blockContentId } = this.parameters;
25
25
  const contentBlock = blocksByContentId[blockContentId];
26
- if (!contentBlock) {
27
- throw new errors_1.CramMalformedError(`no block found with content ID ${blockContentId}}`);
28
- }
29
26
  const cursor = cursors.externalBlocks.getCursor(blockContentId);
30
- return this._decodeData(contentBlock, cursor);
27
+ return contentBlock ? this._decodeData(contentBlock, cursor) : undefined;
31
28
  }
32
29
  _decodeInt(contentBlock, cursor) {
33
30
  const [result, bytesRead] = (0, util_1.parseItf8)(contentBlock.content, cursor.bytePosition);
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":";;;;;AAAA,oDAAoD;AACpD,yCAAyE;AAGzE,kCAAmC;AACnC,uCAAkD;AAGlD,MAAqB,aAAc,SAAQ,eAG1C;IAMC,YACE,UAA8C,EAC9C,QAAwB;QAExB,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAA;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,+BAAsB,CAC9B,GAAG,IAAI,CAAC,QAAQ,iDAAiD,CAClE,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,KAAgB,EAChB,aAA4B,EAC5B,iBAAgD,EAChD,OAAgB;QAEhB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,2BAAkB,CAC1B,kCAAkC,cAAc,GAAG,CACpD,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IAC/C,CAAC;IAED,UAAU,CAAC,YAA2B,EAAE,MAAc;QACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAS,EACnC,YAAY,CAAC,OAAO,EACpB,MAAM,CAAC,YAAY,CACpB,CAAA;QACD,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,GAAG,SAAS,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,WAAW,CAAC,YAA2B,EAAE,MAAc;QACrD,IAAI,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,IAAI,gCAAsB,CAC9B,mEAAmE,CACpE,CAAA;QACH,CAAC;QACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAE,CAAA;IACrD,CAAC;CACF;AA3DD,gCA2DC"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":";;;;;AAAA,oDAAoD;AACpD,yCAAqD;AAGrD,kCAAmC;AACnC,uCAAkD;AAGlD,MAAqB,aAAc,SAAQ,eAG1C;IAMC,YACE,UAA8C,EAC9C,QAAwB;QAExB,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAA;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,+BAAsB,CAC9B,GAAG,IAAI,CAAC,QAAQ,iDAAiD,CAClE,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,KAAgB,EAChB,aAA4B,EAC5B,iBAAgD,EAChD,OAAgB;QAEhB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;QAEtD,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAC/D,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1E,CAAC;IAED,UAAU,CAAC,YAA2B,EAAE,MAAc;QACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAS,EACnC,YAAY,CAAC,OAAO,EACpB,MAAM,CAAC,YAAY,CACpB,CAAA;QACD,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,GAAG,SAAS,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,WAAW,CAAC,YAA2B,EAAE,MAAc;QACrD,IAAI,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,IAAI,gCAAsB,CAC9B,mEAAmE,CACpE,CAAA;QACH,CAAC;QACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAE,CAAA;IACrD,CAAC;CACF;AAvDD,gCAuDC"}
@@ -5,30 +5,21 @@ export default class CramContainer {
5
5
  file: CramFile;
6
6
  filePosition: number;
7
7
  constructor(file: CramFile, filePosition: number);
8
- getHeader(): Promise<({
8
+ getHeader(): Promise<{
9
+ _size: number;
10
+ _endPosition: number;
11
+ numLandmarks: number;
12
+ landmarks: number[];
13
+ crc32?: number | undefined;
9
14
  length: number;
10
15
  refSeqId: number;
11
16
  refSeqStart: number;
12
17
  alignmentSpan: number;
13
18
  numBlocks: number;
14
- numLandmarks: number;
15
19
  numBases: number | undefined;
16
20
  recordCounter: number;
17
21
  numRecords: number;
18
- } & {
19
- _endPosition: number;
20
- _size: number;
21
- } & {
22
- numLandmarks: number;
23
- landmarks: number[];
24
- crc32?: number | undefined;
25
- } & {
26
- _endPosition: number;
27
- _size: number;
28
- } & {
29
- _size: number;
30
- _endPosition: number;
31
- }) | undefined>;
22
+ }>;
32
23
  getCompressionHeaderBlock(): Promise<{
33
24
  parsedContent: {
34
25
  dataSeriesEncoding: import("../codecs/dataSeriesTypes").DataSeriesEncodingMap;
@@ -48,32 +39,23 @@ export default class CramContainer {
48
39
  _size: number;
49
40
  content: Uint8Array;
50
41
  crc32?: number;
51
- } | null | undefined>;
52
- getFirstBlock(): Promise<import("../file").CramFileBlock | undefined>;
42
+ } | null>;
43
+ getFirstBlock(): Promise<import("../file").CramFileBlock>;
53
44
  getCompressionScheme(): Promise<CramContainerCompressionScheme | undefined>;
54
45
  getSlice(slicePosition: number, sliceSize: number): CramSlice;
55
- _readContainerHeader(position: number): Promise<({
46
+ _readContainerHeader(position: number): Promise<{
47
+ _size: number;
48
+ _endPosition: number;
49
+ numLandmarks: number;
50
+ landmarks: number[];
51
+ crc32?: number | undefined;
56
52
  length: number;
57
53
  refSeqId: number;
58
54
  refSeqStart: number;
59
55
  alignmentSpan: number;
60
56
  numBlocks: number;
61
- numLandmarks: number;
62
57
  numBases: number | undefined;
63
58
  recordCounter: number;
64
59
  numRecords: number;
65
- } & {
66
- _endPosition: number;
67
- _size: number;
68
- } & {
69
- numLandmarks: number;
70
- landmarks: number[];
71
- crc32?: number | undefined;
72
- } & {
73
- _endPosition: number;
74
- _size: number;
75
- } & {
76
- _size: number;
77
- _endPosition: number;
78
- }) | undefined>;
60
+ }>;
79
61
  }
@@ -21,15 +21,12 @@ class CramContainer {
21
21
  const containerHeader = await this.getHeader();
22
22
  // if there are no records in the container, there will be no compression
23
23
  // header
24
- if (!containerHeader?.numRecords) {
24
+ if (!containerHeader.numRecords) {
25
25
  return null;
26
26
  }
27
27
  const { majorVersion } = await this.file.getDefinition();
28
28
  const sectionParsers = (0, sectionParsers_1.getSectionParsers)(majorVersion);
29
29
  const block = await this.getFirstBlock();
30
- if (block === undefined) {
31
- return undefined;
32
- }
33
30
  if (block.contentType !== 'COMPRESSION_HEADER') {
34
31
  throw new errors_1.CramMalformedError(`invalid content type ${block.contentType} in compression header block`);
35
32
  }
@@ -41,9 +38,6 @@ class CramContainer {
41
38
  }
42
39
  async getFirstBlock() {
43
40
  const containerHeader = await this.getHeader();
44
- if (!containerHeader) {
45
- return undefined;
46
- }
47
41
  return this.file.readBlock(containerHeader._endPosition);
48
42
  }
49
43
  // parses the compression header data into a CramContainerCompressionScheme
@@ -64,31 +58,22 @@ class CramContainer {
64
58
  const { majorVersion } = await this.file.getDefinition();
65
59
  const sectionParsers = (0, sectionParsers_1.getSectionParsers)(majorVersion);
66
60
  const { cramContainerHeader1, cramContainerHeader2 } = sectionParsers;
67
- const { size: fileSize } = await this.file.stat();
68
- if (position >= fileSize) {
69
- console.warn(`pos:${position}>=fileSize:${fileSize} in cram container`);
70
- return undefined;
71
- }
72
61
  // parse the container header. do it in 2 pieces because you cannot tell
73
62
  // how much to buffer until you read numLandmarks
74
63
  const bytes1 = await this.file.read(cramContainerHeader1.maxLength, position);
75
64
  const header1 = (0, util_1.parseItem)(bytes1, cramContainerHeader1.parser);
76
65
  const numLandmarksSize = (0, util_1.itf8Size)(header1.numLandmarks);
77
- if (position + header1.length >= fileSize) {
78
- // header indicates container goes beyond fileSize
79
- console.warn(`container at ${position} is beyond fileSize:${fileSize}, skipping`);
80
- return undefined;
81
- }
82
66
  const bytes2 = await this.file.read(cramContainerHeader2.maxLength(header1.numLandmarks), position + header1._size - numLandmarksSize);
83
67
  const header2 = (0, util_1.parseItem)(bytes2, cramContainerHeader2.parser);
84
68
  if (this.file.validateChecksums && header2.crc32 !== undefined) {
85
69
  await this.file.checkCrc32(position, header1._size + header2._size - numLandmarksSize - 4, header2.crc32, `container header beginning at position ${position}`);
86
70
  }
87
- const completeHeader = Object.assign(header1, header2, {
71
+ return {
72
+ ...header1,
73
+ ...header2,
88
74
  _size: header1._size + header2._size - numLandmarksSize,
89
75
  _endPosition: header1._size + header2._size - numLandmarksSize + position,
90
- });
91
- return completeHeader;
76
+ };
92
77
  }
93
78
  }
94
79
  exports.default = CramContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/container/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/container/index.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,6 @@ export default class CramFile {
32
32
  featureCache: QuickLRU<string, Promise<CramRecord[]>>;
33
33
  private header;
34
34
  constructor(args: CramFileArgs);
35
- stat(): Promise<import("generic-filehandle2").Stats>;
36
35
  read(length: number, position: number): Promise<Uint8Array<ArrayBuffer>>;
37
36
  getDefinition(): Promise<{
38
37
  magic: string;
@@ -52,10 +51,13 @@ export default class CramFile {
52
51
  checkCrc32(position: number, length: number, recordedCrc32: number, description: string): Promise<void>;
53
52
  /**
54
53
  * @returns {Promise[number]} the number of containers in the file
54
+ *
55
+ * note: this is currently used only in unit tests, and after removing file
56
+ * length check, relies on a try catch to read return an error to break
55
57
  */
56
58
  containerCount(): Promise<number | undefined>;
57
59
  getContainerAtPosition(position: number): CramContainer;
58
- readBlockHeader(position: number): Promise<({
60
+ readBlockHeader(position: number): Promise<{
59
61
  uncompressedSize: number;
60
62
  compressedSize: number;
61
63
  contentId: number;
@@ -64,17 +66,17 @@ export default class CramFile {
64
66
  } & {
65
67
  _endPosition: number;
66
68
  _size: number;
67
- }) | undefined>;
69
+ }>;
68
70
  _parseSection<T>(section: {
69
71
  maxLength: number;
70
72
  parser: (buffer: Uint8Array, offset: number) => {
71
73
  offset: number;
72
74
  value: T;
73
75
  };
74
- }, position: number, size?: number, preReadBuffer?: Uint8Array): Promise<(T & {
76
+ }, position: number, size?: number, preReadBuffer?: Uint8Array): Promise<T & {
75
77
  _endPosition: number;
76
78
  _size: number;
77
- }) | undefined>;
79
+ }>;
78
80
  _uncompress(compressionMethod: CompressionMethod, inputBuffer: Uint8Array, uncompressedSize: number): Promise<any>;
79
- readBlock(position: number): Promise<CramFileBlock | undefined>;
81
+ readBlock(position: number): Promise<CramFileBlock>;
80
82
  }
@@ -91,11 +91,6 @@ class CramFile {
91
91
  throw new Error('Detected big-endian machine, may be unable to run');
92
92
  }
93
93
  }
94
- // can just stat this object like a filehandle
95
- stat() {
96
- return this.file.stat();
97
- }
98
- // can just stat this object like a filehandle
99
94
  read(length, position) {
100
95
  return this.file.read(length, position);
101
96
  }
@@ -116,19 +111,14 @@ class CramFile {
116
111
  throw new errors_1.CramMalformedError('file contains no containers');
117
112
  }
118
113
  const firstBlock = await firstContainer.getFirstBlock();
119
- if (firstBlock === undefined) {
120
- return (0, sam_1.parseHeaderText)('');
121
- }
122
- else {
123
- const content = firstBlock.content;
124
- const dataView = new DataView(content.buffer);
125
- const headerLength = dataView.getInt32(0, true);
126
- const textStart = 4;
127
- const decoder = new TextDecoder('utf8');
128
- const text = decoder.decode(content.subarray(textStart, textStart + headerLength));
129
- this.header = text;
130
- return (0, sam_1.parseHeaderText)(text);
131
- }
114
+ const content = firstBlock.content;
115
+ const dataView = new DataView(content.buffer);
116
+ const headerLength = dataView.getInt32(0, true);
117
+ const textStart = 4;
118
+ const decoder = new TextDecoder('utf8');
119
+ const text = decoder.decode(content.subarray(textStart, textStart + headerLength));
120
+ this.header = text;
121
+ return (0, sam_1.parseHeaderText)(text);
132
122
  }
133
123
  async getHeaderText() {
134
124
  await this.getSamHeader();
@@ -138,21 +128,16 @@ class CramFile {
138
128
  const { majorVersion } = await this.getDefinition();
139
129
  const sectionParsers = (0, sectionParsers_1.getSectionParsers)(majorVersion);
140
130
  let position = sectionParsers.cramFileDefinition.maxLength;
141
- const { size: fileSize } = await this.file.stat();
142
- const { cramContainerHeader1 } = sectionParsers;
143
131
  // skip with a series of reads to the proper container
144
132
  let currentContainer;
145
133
  for (let i = 0; i <= containerNumber; i++) {
146
134
  // if we are about to go off the end of the file
147
135
  // and have not found that container, it does not exist
148
- if (position + cramContainerHeader1.maxLength + 8 >= fileSize) {
149
- return undefined;
150
- }
136
+ // if (position + cramContainerHeader1.maxLength + 8 >= fileSize) {
137
+ // return undefined
138
+ // }
151
139
  currentContainer = this.getContainerAtPosition(position);
152
140
  const currentHeader = await currentContainer.getHeader();
153
- if (!currentHeader) {
154
- throw new errors_1.CramMalformedError(`container ${containerNumber} not found in file`);
155
- }
156
141
  // if this is the first container, read all the blocks in the container
157
142
  // to determine its length, because we cannot trust the container
158
143
  // header's given length due to a bug somewhere in htslib
@@ -160,9 +145,6 @@ class CramFile {
160
145
  position = currentHeader._endPosition;
161
146
  for (let j = 0; j < currentHeader.numBlocks; j++) {
162
147
  const block = await this.readBlock(position);
163
- if (block === undefined) {
164
- return undefined;
165
- }
166
148
  position = block._endPosition;
167
149
  }
168
150
  }
@@ -186,38 +168,40 @@ class CramFile {
186
168
  }
187
169
  /**
188
170
  * @returns {Promise[number]} the number of containers in the file
171
+ *
172
+ * note: this is currently used only in unit tests, and after removing file
173
+ * length check, relies on a try catch to read return an error to break
189
174
  */
190
175
  async containerCount() {
191
176
  const { majorVersion } = await this.getDefinition();
192
177
  const sectionParsers = (0, sectionParsers_1.getSectionParsers)(majorVersion);
193
- const { size: fileSize } = await this.file.stat();
194
- const { cramContainerHeader1 } = sectionParsers;
195
178
  let containerCount = 0;
196
179
  let position = sectionParsers.cramFileDefinition.maxLength;
197
- while (position + cramContainerHeader1.maxLength + 8 < fileSize) {
198
- const currentHeader = await this.getContainerAtPosition(position).getHeader();
199
- if (!currentHeader) {
200
- break;
201
- }
202
- // if this is the first container, read all the blocks in the container,
203
- // because we cannot trust the container header's given length due to a
204
- // bug somewhere in htslib
205
- if (containerCount === 0) {
206
- position = currentHeader._endPosition;
207
- for (let j = 0; j < currentHeader.numBlocks; j++) {
208
- const block = await this.readBlock(position);
209
- if (block === undefined) {
210
- return undefined;
180
+ try {
181
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
182
+ while (true) {
183
+ const currentHeader = await this.getContainerAtPosition(position).getHeader();
184
+ // if this is the first container, read all the blocks in the container,
185
+ // because we cannot trust the container header's given length due to a
186
+ // bug somewhere in htslib
187
+ if (containerCount === 0) {
188
+ position = currentHeader._endPosition;
189
+ for (let j = 0; j < currentHeader.numBlocks; j++) {
190
+ const block = await this.readBlock(position);
191
+ position = block._endPosition;
211
192
  }
212
- position = block._endPosition;
213
193
  }
194
+ else {
195
+ // otherwise, just traverse to the next container using the container's
196
+ // length
197
+ position += currentHeader._size + currentHeader.length;
198
+ }
199
+ containerCount += 1;
214
200
  }
215
- else {
216
- // otherwise, just traverse to the next container using the container's
217
- // length
218
- position += currentHeader._size + currentHeader.length;
219
- }
220
- containerCount += 1;
201
+ }
202
+ catch (e) {
203
+ containerCount--;
204
+ /* do nothing */
221
205
  }
222
206
  return containerCount;
223
207
  }
@@ -228,25 +212,11 @@ class CramFile {
228
212
  const { majorVersion } = await this.getDefinition();
229
213
  const sectionParsers = (0, sectionParsers_1.getSectionParsers)(majorVersion);
230
214
  const { cramBlockHeader } = sectionParsers;
231
- const { size: fileSize } = await this.file.stat();
232
- if (position + cramBlockHeader.maxLength >= fileSize) {
233
- return undefined;
234
- }
235
215
  const buffer = await this.file.read(cramBlockHeader.maxLength, position);
236
216
  return (0, util_2.parseItem)(buffer, cramBlockHeader.parser, 0, position);
237
217
  }
238
218
  async _parseSection(section, position, size = section.maxLength, preReadBuffer) {
239
- let buffer;
240
- if (preReadBuffer) {
241
- buffer = preReadBuffer;
242
- }
243
- else {
244
- const { size: fileSize } = await this.file.stat();
245
- if (position + size >= fileSize) {
246
- return undefined;
247
- }
248
- buffer = await this.file.read(size, position);
249
- }
219
+ const buffer = preReadBuffer ?? (await this.file.read(size, position));
250
220
  const data = (0, util_2.parseItem)(buffer, section.parser, 0, position);
251
221
  if (data._size !== size) {
252
222
  throw new errors_1.CramMalformedError(`section read error: requested size ${size} does not equal parsed size ${data._size}`);
@@ -302,9 +272,6 @@ class CramFile {
302
272
  const { majorVersion } = await this.getDefinition();
303
273
  const sectionParsers = (0, sectionParsers_1.getSectionParsers)(majorVersion);
304
274
  const blockHeader = await this.readBlockHeader(position);
305
- if (blockHeader === undefined) {
306
- return undefined;
307
- }
308
275
  const blockContentPosition = blockHeader._endPosition;
309
276
  const d = await this.file.read(blockHeader.compressedSize, blockContentPosition);
310
277
  const uncompressedData = blockHeader.compressionMethod !== 'raw'
@@ -319,9 +286,6 @@ class CramFile {
319
286
  if (majorVersion >= 3) {
320
287
  // parse the crc32
321
288
  const crc = await this._parseSection(sectionParsers.cramBlockCrc32, blockContentPosition + blockHeader.compressedSize);
322
- if (crc === undefined) {
323
- return undefined;
324
- }
325
289
  block.crc32 = crc.crc32;
326
290
  // check the block data crc32
327
291
  if (this.validateChecksums) {
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,kEAAyC;AACzC,0DAAgC;AAChC,iDAAgD;AAEhD,sCAAsE;AACtE,wDAAyC;AACzC,8BAA4B;AAC5B,mDAAoC;AACpC,gCAAwC;AACxC,oCAAgC;AAChC,kCAA0C;AAC1C,4DAAuC;AAEvC,qDAKyB;AACzB,iCAA+C;AAI/C,SAAS,cAAc,CAAC,GAAe;IACrC,OAAO,IAAI,cAAc,CAAC;QACxB,KAAK,CAAC,UAAU;YACd,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACvB,UAAU,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,aAAa;IACpB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE3C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,CAAA,CAAC,gBAAgB;IAC3B,CAAC;SAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAA,CAAC,aAAa;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAA,CAAC,gBAAgB;IAC3B,CAAC;AACH,CAAC;AA4BD,MAAqB,QAAQ;IAW3B,YAAY,IAAkB;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAA,SAAI,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QACtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,QAAQ,CAAA;QACnD,IAAI,CAAC,OAAO,GAAG;YACb,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;SACnC,CAAA;QAED,yEAAyE;QACzE,sEAAsE;QACtE,6DAA6D;QAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAQ,CAAC;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SAChC,CAAC,CAAA;QACF,IAAI,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,MAAc,EAAE,QAAgB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,WAAW;IACX,KAAK,CAAC,aAAa;QACjB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAA,mCAAkB,GAAE,CAAA;QAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAA;QAC1C,IAAI,UAAU,CAAC,YAAY,KAAK,CAAC,IAAI,UAAU,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,+BAAsB,CAC9B,gBAAgB,UAAU,CAAC,YAAY,gBAAgB,CACxD,CAAA;QACH,CAAC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,UAAU;IACV,KAAK,CAAC,YAAY;QAChB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;QACrD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,2BAAkB,CAAC,6BAA6B,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,CAAA;QACvD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAA,qBAAe,EAAC,EAAE,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;YAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YAC/C,MAAM,SAAS,GAAG,CAAC,CAAA;YACnB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAAC,CACtD,CAAA;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACzB,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,eAAuB;QAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QACnD,MAAM,cAAc,GAAG,IAAA,kCAAiB,EAAC,YAAY,CAAC,CAAA;QACtD,IAAI,QAAQ,GAAG,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAA;QAC1D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACjD,MAAM,EAAE,oBAAoB,EAAE,GAAG,cAAc,CAAA;QAE/C,sDAAsD;QACtD,IAAI,gBAA2C,CAAA;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,gDAAgD;YAChD,uDAAuD;YACvD,IAAI,QAAQ,GAAG,oBAAoB,CAAC,SAAS,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC9D,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YACxD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAA;YACxD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,2BAAkB,CAC1B,aAAa,eAAe,oBAAoB,CACjD,CAAA;YACH,CAAC;YACD,uEAAuE;YACvE,iEAAiE;YACjE,yDAAyD;YACzD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACZ,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAA;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;oBAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO,SAAS,CAAA;oBAClB,CAAC;oBACD,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAA;gBAC/B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,SAAS;gBACT,QAAQ,IAAI,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAA;YACxD,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAc,EACd,aAAqB,EACrB,WAAmB;QAEnB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChD,mEAAmE;QACnE,sEAAsE;QACtE,2GAA2G;QAC3G,MAAM,eAAe,GAAG,IAAA,eAAK,EAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,eAAe,KAAK,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,2BAAkB,CAC1B,mBAAmB,WAAW,sBAAsB,aAAa,4BAA4B,eAAe,EAAE,CAC/G,CAAA;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QACnD,MAAM,cAAc,GAAG,IAAA,kCAAiB,EAAC,YAAY,CAAC,CAAA;QACtD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACjD,MAAM,EAAE,oBAAoB,EAAE,GAAG,cAAc,CAAA;QAE/C,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,IAAI,QAAQ,GAAG,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAA;QAC1D,OAAO,QAAQ,GAAG,oBAAoB,CAAC,SAAS,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;YAChE,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAA;YACzD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAK;YACP,CAAC;YACD,wEAAwE;YACxE,uEAAuE;YACvE,0BAA0B;YAC1B,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAA;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;oBAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO,SAAS,CAAA;oBAClB,CAAC;oBACD,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAA;gBAC/B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,SAAS;gBACT,QAAQ,IAAI,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAA;YACxD,CAAC;YACD,cAAc,IAAI,CAAC,CAAA;QACrB,CAAC;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,sBAAsB,CAAC,QAAgB;QACrC,OAAO,IAAI,mBAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QACnD,MAAM,cAAc,GAAG,IAAA,kCAAiB,EAAC,YAAY,CAAC,CAAA;QACtD,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAA;QAC1C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAEjD,IAAI,QAAQ,GAAG,eAAe,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;YACrD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACxE,OAAO,IAAA,gBAAS,EAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAMC,EACD,QAAgB,EAChB,IAAI,GAAG,OAAO,CAAC,SAAS,EACxB,aAA0B;QAE1B,IAAI,MAAkB,CAAA;QACtB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,GAAG,aAAa,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YACjD,IAAI,QAAQ,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAChC,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC3D,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,2BAAkB,CAC1B,sCAAsC,IAAI,+BAA+B,IAAI,CAAC,KAAK,EAAE,CACtF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CACf,iBAAoC,EACpC,WAAuB,EACvB,gBAAwB;QAExB,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO,IAAA,aAAK,EAAC,WAAW,CAAC,CAAA;QAC3B,CAAC;aAAM,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACrC,IAAI,IAAI,GAAG,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,KAAsB,CAAA;YAC1B,MAAM,MAAM,GAAG,EAAE,CAAA;YACjB,GAAG,CAAC;gBACF,KAAK,GAAG,eAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACpC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAClB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;gBACtB,CAAC;YACH,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,EAAC;YACtB,OAAO,IAAA,uBAAgB,EAAC,MAAM,CAAC,CAAA;QACjC,CAAC;aAAM,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YACxC,MAAM,oBAAoB,GAAG,IAAI,QAAQ,CACvC,IAAI,gCAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAClD,CAAA;YACD,OAAO,IAAI,UAAU,CAAC,MAAM,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAA;QACjE,CAAC;aAAM,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAA;YACrD,IAAA,cAAc,EAAC,WAAW,EAAE,YAAY,CAAC,CAAA;YACzC,OAAO,YAAY,CAAA;YACnB,4CAA4C;YAC5C,wDAAwD;QAC1D,CAAC;aAAM,IAAI,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAChD,CAAC;aAAM,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAChD,CAAC;aAAM,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAClD,CAAC;aAAM,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,+BAAsB,CAC9B,GAAG,iBAAiB,oCAAoC,CACzD,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QACnD,MAAM,cAAc,GAAG,IAAA,kCAAiB,EAAC,YAAY,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,oBAAoB,GAAG,WAAW,CAAC,YAAY,CAAA;QAErD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5B,WAAW,CAAC,cAAc,EAC1B,oBAAoB,CACrB,CAAA;QACD,MAAM,gBAAgB,GACpB,WAAW,CAAC,iBAAiB,KAAK,KAAK;YACrC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CACpB,WAAW,CAAC,iBAAiB,EAC7B,CAAC,EACD,WAAW,CAAC,gBAAgB,CAC7B;YACH,CAAC,CAAC,CAAC,CAAA;QAEP,MAAM,KAAK,GAAkB;YAC3B,GAAG,WAAW;YACd,YAAY,EAAE,oBAAoB;YAClC,eAAe,EAAE,oBAAoB;YACrC,OAAO,EAAE,gBAAgB;SAC1B,CAAA;QACD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACtB,kBAAkB;YAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAClC,cAAc,CAAC,cAAc,EAC7B,oBAAoB,GAAG,WAAW,CAAC,cAAc,CAClD,CAAA;YACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;YAEvB,6BAA6B;YAC7B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,UAAU,CACnB,QAAQ,EACR,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,cAAc,EAC9C,GAAG,CAAC,KAAK,EACT,YAAY,CACb,CAAA;YACH,CAAC;YAED,wDAAwD;YACxD,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAA;YACrC,KAAK,CAAC,KAAK;gBACT,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAA;QAClE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,YAAY,GAAG,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAA;YAChE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAA;QACpC,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AArVD,2BAqVC;AAED,8CAA8C,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IACzE,IAAA,kBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/cramFile/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/cramFile/record.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAmC;AAoBnC,SAAS,kBAAkB,CAAC,UAAsB,EAAE,SAAoB;IACtE,0CAA0C;IAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+CAA+C;IAC/C,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAA;IAEnE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,GAAG;aACjB,KAAK,CAAC,eAAe,EAAE,eAAe,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;aACvE,WAAW,EAAE,CAAA;IAClB,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,SAAS,GAAG,eAAe,CAAA;IAC/B,IAAI,kBAAkB,GAAG,CAAC,CAAA;IAC1B,OAAO,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAE,CAAA;YAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjD,kBAAkB,IAAI,CAAC,CAAA;YACzB,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,2BAA2B;gBAC3B,kBAAkB,IAAI,CAAC,CAAA;gBAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACzB,sCAAsC;oBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;oBAC1B,KAAK,IAAI,KAAK,CAAA;oBACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,mCAAmC;oBACnC,0DAA0D;oBAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACxB,SAAS,IAAI,CAAC,CAAA;gBAChB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,oBAAoB;oBACpB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAA;oBACpB,SAAS,IAAI,CAAC,CAAA;gBAChB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,YAAY;oBACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,WAAW;oBACX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,qBAAqB;oBACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,oCAAoC;oBACpC,aAAa;oBACb,iDAAiD;oBACjD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,4DAA4D;oBAC5D,iEAAiE;oBACjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,sBAAsB;gBACxB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,wBAAwB;gBAC1B,CAAC;YACH,CAAC;iBAAM,IAAI,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC/D,2DAA2D;gBAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAC/B,SAAS,EACT,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAA;gBACD,KAAK,IAAI,KAAK,CAAA;gBACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAC/B,SAAS,EACT,SAAS,GAAG,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CACjD,CAAA;YACD,KAAK,IAAI,KAAK,CAAA;YACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;AAC5B,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAA;AAED,SAAS,sBAAsB,CAC7B,UAAsB,EACtB,SAAoB,EACpB,iBAAiD,EACjD,WAAwB;IAExB,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAA;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,GAAG,GAAG,OAAO,CAAA;IAC3B,CAAC;IACD,IAAI,UAAU,GAAI,WAAmB,CAAC,OAAO,CAAC,CAAA;IAC9C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,UAAU,CAAE,CAAA;IAC5E,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACjD,IAAI,IAAI,EAAE,CAAC;QACT,WAAW,CAAC,GAAG,GAAG,IAAI,CAAA;IACxB,CAAC;AACH,CAAC;AAWY,QAAA,QAAQ,GAAG;IACtB,CAAC,GAAG,EAAE,QAAQ,CAAC;IACf,CAAC,GAAG,EAAE,gBAAgB,CAAC;IACvB,CAAC,GAAG,EAAE,iBAAiB,CAAC;IACxB,CAAC,GAAG,EAAE,cAAc,CAAC;IACrB,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAC7B,4CAA4C;IAC5C,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACjC,iBAAiB;IACjB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,iBAAiB;IACjB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,CAAC,KAAK,EAAE,WAAW,CAAC;IACpB,cAAc;IACd,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,4BAA4B;IAC5B,CAAC,KAAK,EAAE,WAAW,CAAC;IACpB,2BAA2B;IAC3B,CAAC,KAAK,EAAE,eAAe,CAAC;CAChB,CAAA;AAEG,QAAA,SAAS,GAAG;IACvB,CAAC,GAAG,EAAE,yBAAyB,CAAC;IAChC,CAAC,GAAG,EAAE,UAAU,CAAC;IACjB,CAAC,GAAG,EAAE,oBAAoB,CAAC;IAC3B,CAAC,GAAG,EAAE,sBAAsB,CAAC;CACrB,CAAA;AAEG,QAAA,SAAS,GAAG;IACvB,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACzB,CAAC,GAAG,EAAE,UAAU,CAAC;CACT,CAAA;AAcV,SAAS,eAAe,CACtB,CAAoC;IAEpC,MAAM,CAAC,GAAQ,EAAE,CAAA;IACjB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAA;IACnD,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAEY,QAAA,eAAe,GAAG,eAAe,CAAC,gBAAQ,CAAC,CAAA;AAC3C,QAAA,gBAAgB,GAAG,eAAe,CAAC,iBAAS,CAAC,CAAA;AAC7C,QAAA,gBAAgB,GAAG,eAAe,CAAC,iBAAS,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAqB,UAAU;IAqB7B,YAAY,EACV,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,IAAI,GACmD;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,UAAW,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,0BAA0B;QAC1B,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAClC,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,GAAG;gBACV,KAAK,EAAE,SAAS,CAAC,SAAS;gBAC1B,QAAQ,EAAE,SAAS,CAAC,YAAY;gBAChC,UAAU,EAAE,SAAS,CAAC,cAAc;gBACpC,cAAc,EAAE,SAAS,CAAC,kBAAkB;aAC7C,CAAA;QACH,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,kFAAkF;IAClF,gBAAgB;QACd,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,gGAAgG;IAChG,iBAAiB;QACf,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,gGAAgG;IAChG,cAAc;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,0EAA0E;IAC1E,qBAAqB;QACnB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC;IAED,0EAA0E;IAC1E,yBAAyB;QACvB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,+DAA+D;IAC/D,WAAW;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,cAAc,CAAC,CAAA;IAClD,CAAC;IAED,gEAAgE;IAChE,UAAU;QACR,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,yEAAyE;IACzE,WAAW;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,mEAAmE;IACnE,eAAe;QACb,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAS,CAAC,kBAAkB,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,mBAAS,CAAC,kBAAkB,CAAC,CAAA;IAC1D,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;QACf,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,mBAAS,CAAC,yBAAyB,CAAC,CAAA;IACjE,CAAC;IAED,+DAA+D;IAC/D,yBAAyB;QACvB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,mBAAS,CAAC,8BAA8B,CAAC,CAAA;IACtE,CAAC;IAED,gEAAgE;IAChE,cAAc;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,mBAAS,CAAC,gBAAgB,CAAC,CAAA;IACxD,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YACzD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,OAAO,CAAA;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,IACE,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzB,IAAI,CAAC,QAAQ,EAAE;YACf,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EACxC,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACnD,MAAM,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACvD,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnB,EAAE,GAAG,GAAG,CAAA;gBACR,EAAE,GAAG,GAAG,CAAA;YACV,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1B,EAAE,GAAG,GAAG,CAAA;gBACR,EAAE,GAAG,GAAG,CAAA;YACV,CAAC;YAED,MAAM,GAAG,GAAG,EAAE,CAAA;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAA;YACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;YACvE,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChE,KAAK,GAAG,CAAC,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAClB,SAAoB,EACpB,iBAAiD;QAEjD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,uEAAuE;YACvE,eAAe;YACf,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACtC,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAC7B,sBAAsB,CACpB,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,WAAW,CACZ,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,8CAA8C;QAC9C,yBAAyB;QACzB,IACE,CAAC,IAAI,CAAC,SAAS;YACf,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc;YACtC,SAAS,CAAC,GAAG;gBACX,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EACjE,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAQ,EAAE,CAAA;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAM;YACR,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,GAAI,IAAY,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAtRD,6BAsRC"}
@@ -563,8 +563,9 @@ function cramContainerHeader1(majorVersion) {
563
563
  // byte size of the container data (blocks)
564
564
  const length = dataView.getInt32(offset, true);
565
565
  offset += 4;
566
- // reference sequence identifier, -1 for unmapped reads, -2 for multiple
567
- // reference sequences
566
+ // reference sequence identifier:
567
+ // -1 for unmapped reads,
568
+ // -2 for multiple reference sequences
568
569
  const [refSeqId, newOffset1] = (0, util_1.parseItf8)(buffer, offset);
569
570
  offset += newOffset1;
570
571
  const [refSeqStart, newOffset2] = (0, util_1.parseItf8)(buffer, offset);