@gmod/cram 2.0.4 → 3.0.1

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 (95) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cram-bundle.js +1 -1
  3. package/dist/cramFile/codecs/byteArrayLength.js +1 -1
  4. package/dist/cramFile/codecs/byteArrayLength.js.map +1 -1
  5. package/dist/cramFile/codecs/byteArrayStop.js +1 -1
  6. package/dist/cramFile/codecs/external.js +1 -1
  7. package/dist/cramFile/codecs/external.js.map +1 -1
  8. package/dist/cramFile/codecs/huffman.js +3 -2
  9. package/dist/cramFile/codecs/huffman.js.map +1 -1
  10. package/dist/cramFile/codecs/subexp.js.map +1 -1
  11. package/dist/cramFile/container/compressionScheme.d.ts +0 -3
  12. package/dist/cramFile/container/compressionScheme.js +0 -4
  13. package/dist/cramFile/container/compressionScheme.js.map +1 -1
  14. package/dist/cramFile/container/index.d.ts +57 -3
  15. package/dist/cramFile/container/index.js +21 -12
  16. package/dist/cramFile/container/index.js.map +1 -1
  17. package/dist/cramFile/file.d.ts +25 -59
  18. package/dist/cramFile/file.js +33 -37
  19. package/dist/cramFile/file.js.map +1 -1
  20. package/dist/cramFile/record.d.ts +1 -1
  21. package/dist/cramFile/record.js +2 -2
  22. package/dist/cramFile/record.js.map +1 -1
  23. package/dist/cramFile/sectionParsers.d.ts +195 -48
  24. package/dist/cramFile/sectionParsers.js +621 -303
  25. package/dist/cramFile/sectionParsers.js.map +1 -1
  26. package/dist/cramFile/slice/decodeRecord.js +5 -4
  27. package/dist/cramFile/slice/decodeRecord.js.map +1 -1
  28. package/dist/cramFile/slice/index.d.ts +23 -1
  29. package/dist/cramFile/slice/index.js +11 -8
  30. package/dist/cramFile/slice/index.js.map +1 -1
  31. package/dist/cramFile/util.d.ts +6 -4
  32. package/dist/cramFile/util.js +88 -6
  33. package/dist/cramFile/util.js.map +1 -1
  34. package/dist/rans/d04.js.map +1 -1
  35. package/dist/rans/decoding.d.ts +4 -4
  36. package/dist/rans/decoding.js +5 -6
  37. package/dist/rans/decoding.js.map +1 -1
  38. package/dist/rans/index.js +4 -3
  39. package/dist/rans/index.js.map +1 -1
  40. package/esm/cramFile/codecs/byteArrayLength.js +1 -1
  41. package/esm/cramFile/codecs/byteArrayLength.js.map +1 -1
  42. package/esm/cramFile/codecs/byteArrayStop.js +1 -1
  43. package/esm/cramFile/codecs/external.js +1 -1
  44. package/esm/cramFile/codecs/external.js.map +1 -1
  45. package/esm/cramFile/codecs/huffman.js +3 -2
  46. package/esm/cramFile/codecs/huffman.js.map +1 -1
  47. package/esm/cramFile/codecs/subexp.js.map +1 -1
  48. package/esm/cramFile/container/compressionScheme.d.ts +0 -3
  49. package/esm/cramFile/container/compressionScheme.js +0 -4
  50. package/esm/cramFile/container/compressionScheme.js.map +1 -1
  51. package/esm/cramFile/container/index.d.ts +57 -3
  52. package/esm/cramFile/container/index.js +19 -10
  53. package/esm/cramFile/container/index.js.map +1 -1
  54. package/esm/cramFile/file.d.ts +25 -59
  55. package/esm/cramFile/file.js +27 -29
  56. package/esm/cramFile/file.js.map +1 -1
  57. package/esm/cramFile/record.d.ts +1 -1
  58. package/esm/cramFile/record.js +2 -2
  59. package/esm/cramFile/record.js.map +1 -1
  60. package/esm/cramFile/sectionParsers.d.ts +195 -48
  61. package/esm/cramFile/sectionParsers.js +620 -303
  62. package/esm/cramFile/sectionParsers.js.map +1 -1
  63. package/esm/cramFile/slice/decodeRecord.js +5 -4
  64. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  65. package/esm/cramFile/slice/index.d.ts +23 -1
  66. package/esm/cramFile/slice/index.js +12 -9
  67. package/esm/cramFile/slice/index.js.map +1 -1
  68. package/esm/cramFile/util.d.ts +6 -4
  69. package/esm/cramFile/util.js +87 -6
  70. package/esm/cramFile/util.js.map +1 -1
  71. package/esm/rans/d04.js.map +1 -1
  72. package/esm/rans/decoding.d.ts +4 -4
  73. package/esm/rans/decoding.js +5 -6
  74. package/esm/rans/decoding.js.map +1 -1
  75. package/esm/rans/index.js +3 -2
  76. package/esm/rans/index.js.map +1 -1
  77. package/package.json +7 -8
  78. package/src/cramFile/codecs/byteArrayLength.ts +1 -2
  79. package/src/cramFile/codecs/byteArrayStop.ts +1 -1
  80. package/src/cramFile/codecs/external.ts +1 -1
  81. package/src/cramFile/codecs/huffman.ts +3 -2
  82. package/src/cramFile/codecs/subexp.ts +2 -2
  83. package/src/cramFile/container/compressionScheme.ts +1 -8
  84. package/src/cramFile/container/index.ts +23 -12
  85. package/src/cramFile/declare.d.ts +1 -0
  86. package/src/cramFile/file.ts +37 -53
  87. package/src/cramFile/record.ts +4 -7
  88. package/src/cramFile/sectionParsers.ts +668 -390
  89. package/src/cramFile/slice/decodeRecord.ts +20 -12
  90. package/src/cramFile/slice/index.ts +13 -7
  91. package/src/cramFile/util.ts +91 -92
  92. package/src/rans/d04.ts +1 -1
  93. package/src/rans/decoding.ts +5 -7
  94. package/src/rans/index.ts +3 -2
  95. package/src/typings/binary-parser.d.ts +0 -44
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rans/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rans/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { tinyMemoize } from '../util';
2
1
  import CramCodec from './_base';
2
+ import { tinyMemoize } from '../util';
3
3
  export default class ByteArrayStopCodec extends CramCodec {
4
4
  constructor(parameters, dataType, instantiateCodec) {
5
5
  super(parameters, dataType);
@@ -1 +1 @@
1
- {"version":3,"file":"byteArrayLength.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/byteArrayLength.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,SAAsB,MAAM,SAAS,CAAA;AAW5C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAG/C;IAGC,YACE,UAAiD,EACjD,QAAqB,EACrB,gBAAkC;QAElC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CACjB,8CAA8C,QAAQ,EAAE,CACzD,CAAA;QACH,CAAC;IACH,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;AAED,+BAA+B;KAC5B,KAAK,CAAC,GAAG,CAAC;KACV,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"byteArrayLength.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/byteArrayLength.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,SAAS,CAAA;AAK5C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAOrC,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAG/C;IAGC,YACE,UAAiD,EACjD,QAAqB,EACrB,gBAAkC;QAElC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CACjB,8CAA8C,QAAQ,EAAE,CACzD,CAAA;QACH,CAAC;IACH,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;AAED,+BAA+B;KAC5B,KAAK,CAAC,GAAG,CAAC;KACV,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA"}
@@ -26,7 +26,7 @@ export default class ByteArrayStopCodec extends CramCodec {
26
26
  while (dataBuffer[stopPosition] !== stopByte &&
27
27
  stopPosition < dataBuffer.length) {
28
28
  if (stopPosition === dataBuffer.length) {
29
- throw new CramBufferOverrunError(`byteArrayStop reading beyond length of data buffer?`);
29
+ throw new CramBufferOverrunError('byteArrayStop reading beyond length of data buffer?');
30
30
  }
31
31
  stopPosition = stopPosition + 1;
32
32
  }
@@ -20,7 +20,7 @@ export default class ExternalCodec extends CramCodec {
20
20
  const { blockContentId } = this.parameters;
21
21
  const contentBlock = blocksByContentId[blockContentId];
22
22
  if (!contentBlock) {
23
- throw new CramMalformedError(`no block found with content ID ${blockContentId}`);
23
+ throw new CramMalformedError(`no block found with content ID ${blockContentId}}`);
24
24
  }
25
25
  const cursor = cursors.externalBlocks.getCursor(blockContentId);
26
26
  return this._decodeData(contentBlock, cursor);
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,SAA8B,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAGlD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAG1C;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,sBAAsB,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,kBAAkB,CAC1B,kCAAkC,cAAc,EAAE,CACnD,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,SAAS,CACnC,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,sBAAsB,CAC9B,mEAAmE,CACpE,CAAA;QACH,CAAC;QACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,SAA8B,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAGlD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAG1C;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,sBAAsB,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,kBAAkB,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,SAAS,CACnC,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,sBAAsB,CAC9B,mEAAmE,CACpE,CAAA;QACH,CAAC;QACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;IACpD,CAAC;CACF"}
@@ -23,7 +23,8 @@ export default class HuffmanIntCodec extends CramCodec {
23
23
  this.buildCodeBook();
24
24
  this.buildCodes();
25
25
  this.buildCaches();
26
- // if this is a degenerate zero-length huffman code, special-case the decoding
26
+ // if this is a degenerate zero-length huffman code, special-case the
27
+ // decoding
27
28
  if (this.sortedCodes[0].bitLength === 0) {
28
29
  this._decode = this._decodeZeroLengthCode;
29
30
  }
@@ -52,7 +53,7 @@ export default class HuffmanIntCodec extends CramCodec {
52
53
  let codeLength = 0;
53
54
  let codeValue = -1;
54
55
  Object.entries(this.codeBook).forEach(([bitLength, symbols]) => {
55
- const bitLengthInt = parseInt(bitLength, 10);
56
+ const bitLengthInt = Number.parseInt(bitLength, 10);
56
57
  symbols.forEach(symbol => {
57
58
  const code = {
58
59
  bitLength: bitLengthInt,
@@ -1 +1 @@
1
- {"version":3,"file":"huffman.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/huffman.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"huffman.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/huffman.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subexp.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/subexp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,SAAsB,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAGxC;IACC,YAAY,UAAwC,EAAE,QAAe;QACnE,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAsB,CAC9B,GAAG,IAAI,CAAC,QAAQ,+CAA+C,CAChE,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,KAAgB,EAChB,aAA4B,EAC5B,iBAAgD,EAChD,OAAgB;QAEhB,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5D,cAAc,GAAG,cAAc,GAAG,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,CAAC,CAAA;QACL,IAAI,CAAC,CAAA;QACL,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YACrB,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YACjE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"subexp.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/subexp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,SAAsB,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAGxC;IACC,YAAY,UAAwC,EAAE,QAAe;QACnE,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAsB,CAC9B,GAAG,IAAI,CAAC,QAAQ,+CAA+C,CAChE,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,KAAgB,EAChB,aAA4B,EAC5B,iBAAgD,EAChD,OAAgB;QAEhB,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5D,cAAc,GAAG,cAAc,GAAG,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,CAAS,CAAA;QACb,IAAI,CAAS,CAAA;QACb,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YACrB,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YACjE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;IACnC,CAAC;CACF"}
@@ -48,9 +48,6 @@ export default class CramContainerCompressionScheme {
48
48
  tagCodecCache: Record<string, CramCodec>;
49
49
  tagEncoding: Record<string, CramEncoding>;
50
50
  dataSeriesEncoding: DataSeriesEncodingMap;
51
- private preservation;
52
- private _endPosition;
53
- private _size;
54
51
  constructor(content: CramCompressionHeader);
55
52
  /**
56
53
  * @param {string} tagName three-character tag name
@@ -68,7 +68,6 @@ export default class CramContainerCompressionScheme {
68
68
  this.dataSeriesCodecCache = {};
69
69
  this.tagCodecCache = {};
70
70
  this.tagEncoding = {};
71
- // Object.assign(this, content)
72
71
  // interpret some of the preservation map tags for convenient use
73
72
  this.readNamesIncluded = content.preservation.RN;
74
73
  this.APdelta = content.preservation.AP;
@@ -77,9 +76,6 @@ export default class CramContainerCompressionScheme {
77
76
  this.substitutionMatrix = parseSubstitutionMatrix(content.preservation.SM);
78
77
  this.dataSeriesEncoding = content.dataSeriesEncoding;
79
78
  this.tagEncoding = content.tagEncoding;
80
- this.preservation = content.preservation;
81
- this._size = content._size;
82
- this._endPosition = content._endPosition;
83
79
  }
84
80
  /**
85
81
  * @param {string} tagName three-character tag name
@@ -1 +1 @@
1
- {"version":3,"file":"compressionScheme.js","sourceRoot":"","sources":["../../../src/cramFile/container/compressionScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAI5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAMjD,sDAAsD;AACtD,aAAa;AACb,MAAM,eAAe,GAAG;IACtB,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,gBAAgB;IAChB,gBAAgB;CACR,CAAA;AAIV,SAAS,uBAAuB,CAAC,SAAmB;IAClD,MAAM,MAAM,GAAe,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAExC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAExC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAExC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,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"}
1
+ {"version":3,"file":"compressionScheme.js","sourceRoot":"","sources":["../../../src/cramFile/container/compressionScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAI5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAMjD,sDAAsD;AACtD,aAAa;AACb,MAAM,eAAe,GAAG;IACtB,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,gBAAgB;IAChB,gBAAgB;CACR,CAAA;AAIV,SAAS,uBAAuB,CAAC,SAAmB;IAClD,MAAM,MAAM,GAAe,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAExC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAExC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAExC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,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"}
@@ -1,3 +1,4 @@
1
+ import { Buffer } from 'buffer';
1
2
  import CramSlice from '../slice';
2
3
  import CramContainerCompressionScheme from './compressionScheme';
3
4
  import CramFile from '../file';
@@ -5,9 +6,39 @@ export default class CramContainer {
5
6
  file: CramFile;
6
7
  filePosition: number;
7
8
  constructor(file: CramFile, filePosition: number);
8
- getHeader(): Promise<any>;
9
+ getHeader(): Promise<({
10
+ length: number;
11
+ refSeqId: number;
12
+ refSeqStart: number;
13
+ alignmentSpan: number;
14
+ numBlocks: number;
15
+ numLandmarks: number;
16
+ numBases: number | undefined;
17
+ recordCounter: number;
18
+ numRecords: number;
19
+ } & {
20
+ _endPosition: number;
21
+ _size: number;
22
+ } & {
23
+ numLandmarks: number;
24
+ landmarks: number[];
25
+ crc32?: number | undefined;
26
+ } & {
27
+ _endPosition: number;
28
+ _size: number;
29
+ } & {
30
+ _size: number;
31
+ _endPosition: number;
32
+ }) | undefined>;
9
33
  getCompressionHeaderBlock(): Promise<{
10
- parsedContent: import("../util").ParsedItem<import("../sectionParsers").CramCompressionHeader>;
34
+ parsedContent: {
35
+ dataSeriesEncoding: import("../codecs/dataSeriesTypes").DataSeriesEncodingMap;
36
+ preservation: import("../sectionParsers").CramPreservationMap;
37
+ tagEncoding: Record<string, import("../encoding").CramEncoding>;
38
+ } & {
39
+ _endPosition: number;
40
+ _size: number;
41
+ };
11
42
  compressionMethod: import("../sectionParsers").CompressionMethod;
12
43
  contentType: "FILE_HEADER" | "COMPRESSION_HEADER" | "MAPPED_SLICE_HEADER" | "UNMAPPED_SLICE_HEADER" | "EXTERNAL_DATA" | "CORE_DATA";
13
44
  contentId: number;
@@ -22,5 +53,28 @@ export default class CramContainer {
22
53
  getFirstBlock(): Promise<import("../file").CramFileBlock | undefined>;
23
54
  getCompressionScheme(): Promise<CramContainerCompressionScheme | undefined>;
24
55
  getSlice(slicePosition: number, sliceSize: number): CramSlice;
25
- _readContainerHeader(position: number): Promise<any>;
56
+ _readContainerHeader(position: number): Promise<({
57
+ length: number;
58
+ refSeqId: number;
59
+ refSeqStart: number;
60
+ alignmentSpan: number;
61
+ numBlocks: number;
62
+ numLandmarks: number;
63
+ numBases: number | undefined;
64
+ recordCounter: number;
65
+ numRecords: number;
66
+ } & {
67
+ _endPosition: number;
68
+ _size: number;
69
+ } & {
70
+ numLandmarks: number;
71
+ landmarks: number[];
72
+ crc32?: number | undefined;
73
+ } & {
74
+ _endPosition: number;
75
+ _size: number;
76
+ } & {
77
+ _size: number;
78
+ _endPosition: number;
79
+ }) | undefined>;
26
80
  }
@@ -1,30 +1,33 @@
1
+ import { Buffer } from 'buffer';
1
2
  import { CramMalformedError } from '../../errors';
3
+ // locals
2
4
  import { itf8Size, parseItem, tinyMemoize } from '../util';
3
5
  import CramSlice from '../slice';
4
6
  import CramContainerCompressionScheme from './compressionScheme';
7
+ import { getSectionParsers } from '../sectionParsers';
5
8
  export default class CramContainer {
6
9
  constructor(file, filePosition) {
7
10
  this.file = file;
8
11
  this.filePosition = filePosition;
9
12
  }
10
- // memoize
11
13
  getHeader() {
12
14
  return this._readContainerHeader(this.filePosition);
13
15
  }
14
- // memoize
15
16
  async getCompressionHeaderBlock() {
16
17
  const containerHeader = await this.getHeader();
17
- // if there are no records in the container, there will be no compression header
18
- if (!containerHeader.numRecords) {
18
+ // if there are no records in the container, there will be no compression
19
+ // header
20
+ if (!(containerHeader === null || containerHeader === void 0 ? void 0 : containerHeader.numRecords)) {
19
21
  return null;
20
22
  }
21
- const sectionParsers = await this.file.getSectionParsers();
23
+ const { majorVersion } = await this.file.getDefinition();
24
+ const sectionParsers = getSectionParsers(majorVersion);
22
25
  const block = await this.getFirstBlock();
23
26
  if (block === undefined) {
24
27
  return undefined;
25
28
  }
26
29
  if (block.contentType !== 'COMPRESSION_HEADER') {
27
- throw new CramMalformedError(`invalid content type ${block.contentType} in what is supposed to be the compression header block`);
30
+ throw new CramMalformedError(`invalid content type ${block.contentType} in compression header block`);
28
31
  }
29
32
  const content = parseItem(block.content, sectionParsers.cramCompressionHeader.parser, 0, block.contentPosition);
30
33
  return {
@@ -34,10 +37,13 @@ export default class CramContainer {
34
37
  }
35
38
  async getFirstBlock() {
36
39
  const containerHeader = await this.getHeader();
40
+ if (!containerHeader) {
41
+ return undefined;
42
+ }
37
43
  return this.file.readBlock(containerHeader._endPosition);
38
44
  }
39
- // parses the compression header data into a CramContainerCompressionScheme object
40
- // memoize
45
+ // parses the compression header data into a CramContainerCompressionScheme
46
+ // object
41
47
  async getCompressionScheme() {
42
48
  const header = await this.getCompressionHeaderBlock();
43
49
  if (!header) {
@@ -51,10 +57,12 @@ export default class CramContainer {
51
57
  return new CramSlice(this, slicePosition, sliceSize);
52
58
  }
53
59
  async _readContainerHeader(position) {
54
- const sectionParsers = await this.file.getSectionParsers();
60
+ const { majorVersion } = await this.file.getDefinition();
61
+ const sectionParsers = getSectionParsers(majorVersion);
55
62
  const { cramContainerHeader1, cramContainerHeader2 } = sectionParsers;
56
63
  const { size: fileSize } = await this.file.stat();
57
64
  if (position >= fileSize) {
65
+ console.warn(`pos:${position}>=fileSize:${fileSize} in cram container`);
58
66
  return undefined;
59
67
  }
60
68
  // parse the container header. do it in 2 pieces because you cannot tell
@@ -64,7 +72,8 @@ export default class CramContainer {
64
72
  const header1 = parseItem(bytes1, cramContainerHeader1.parser);
65
73
  const numLandmarksSize = itf8Size(header1.numLandmarks);
66
74
  if (position + header1.length >= fileSize) {
67
- console.warn(`${this.file}: container header at ${position} indicates that the container has length ${header1.length}, which extends beyond the length of the file. Skipping this container.`);
75
+ // header indicates container goes beyond fileSize
76
+ console.warn(`container at ${position} is beyond fileSize:${fileSize}, skipping`);
68
77
  return undefined;
69
78
  }
70
79
  const bytes2 = Buffer.allocUnsafe(cramContainerHeader2.maxLength(header1.numLandmarks));
@@ -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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"}
@@ -1,5 +1,5 @@
1
+ import { Buffer } from 'buffer';
1
2
  import QuickLRU from 'quick-lru';
2
- import { Parser } from '@gmod/binary-parser';
3
3
  import { BlockHeader, CompressionMethod } from './sectionParsers';
4
4
  import CramContainer from './container';
5
5
  import CramRecord from './record';
@@ -38,7 +38,12 @@ export default class CramFile {
38
38
  buffer: Buffer;
39
39
  }>;
40
40
  stat(): Promise<import("generic-filehandle").Stats>;
41
- getDefinition(): Promise<any>;
41
+ getDefinition(): Promise<{
42
+ magic: string;
43
+ majorVersion: number;
44
+ minorVersion: number;
45
+ fileId: string;
46
+ }>;
42
47
  getSamHeader(): Promise<{
43
48
  tag: string;
44
49
  data: {
@@ -47,60 +52,6 @@ export default class CramFile {
47
52
  }[];
48
53
  }[]>;
49
54
  getHeaderText(): Promise<string | undefined>;
50
- getSectionParsers(): Promise<{
51
- cramFileDefinition: {
52
- parser: Parser<{
53
- magic: string;
54
- majorVersion: number;
55
- minorVersion: number;
56
- fileId: string;
57
- }>;
58
- maxLength: number;
59
- };
60
- cramContainerHeader1: {
61
- parser: Parser<{
62
- length: number;
63
- refSeqId: number;
64
- refSeqStart: number;
65
- alignmentSpan: number;
66
- numRecords: number;
67
- recordCounter: number;
68
- numBases: number;
69
- numBlocks: number;
70
- numLandmarks: number;
71
- }>;
72
- maxLength: number;
73
- };
74
- cramContainerHeader2: {
75
- parser: Parser<{
76
- numLandmarks: number;
77
- landmarks: number[];
78
- crc32: number;
79
- }>;
80
- maxLength: (x: number) => number;
81
- };
82
- cramBlockHeader: {
83
- parser: Parser<BlockHeader>;
84
- maxLength: number;
85
- };
86
- cramBlockCrc32: {
87
- parser: Parser<{
88
- crc32: number;
89
- }>;
90
- maxLength: number;
91
- };
92
- cramCompressionHeader: {
93
- parser: Parser<import("./sectionParsers").CramCompressionHeader>;
94
- };
95
- cramMappedSliceHeader: {
96
- parser: Parser<import("./sectionParsers").MappedSliceHeader>;
97
- maxLength: (numContentIds: number) => number;
98
- };
99
- cramUnmappedSliceHeader: {
100
- parser: Parser<import("./sectionParsers").UnmappedSliceHeader>;
101
- maxLength: (numContentIds: number) => number;
102
- };
103
- }>;
104
55
  getContainerById(containerNumber: number): Promise<CramContainer | undefined>;
105
56
  checkCrc32(position: number, length: number, recordedCrc32: number, description: string): Promise<void>;
106
57
  /**
@@ -108,11 +59,26 @@ export default class CramFile {
108
59
  */
109
60
  containerCount(): Promise<number | undefined>;
110
61
  getContainerAtPosition(position: number): CramContainer;
111
- readBlockHeader(position: number): Promise<import("./util").ParsedItem<BlockHeader> | undefined>;
62
+ readBlockHeader(position: number): Promise<({
63
+ uncompressedSize: number;
64
+ compressedSize: number;
65
+ contentId: number;
66
+ contentType: "FILE_HEADER" | "COMPRESSION_HEADER" | "MAPPED_SLICE_HEADER" | "UNMAPPED_SLICE_HEADER" | "EXTERNAL_DATA" | "CORE_DATA";
67
+ compressionMethod: CompressionMethod;
68
+ } & {
69
+ _endPosition: number;
70
+ _size: number;
71
+ }) | undefined>;
112
72
  _parseSection<T>(section: {
113
- parser: Parser<T>;
114
73
  maxLength: number;
115
- }, position: number, size?: number, preReadBuffer?: undefined): Promise<import("./util").ParsedItem<T> | undefined>;
74
+ parser: (buffer: Buffer, offset: number) => {
75
+ offset: number;
76
+ value: T;
77
+ };
78
+ }, position: number, size?: number, preReadBuffer?: undefined): Promise<(T & {
79
+ _endPosition: number;
80
+ _size: number;
81
+ }) | undefined>;
116
82
  _uncompress(compressionMethod: CompressionMethod, inputBuffer: Buffer, outputBuffer: Buffer): Promise<void>;
117
83
  readBlock(position: number): Promise<CramFileBlock | undefined>;
118
84
  }
@@ -1,13 +1,14 @@
1
- import { unzip } from '../unzip';
1
+ import { Buffer } from 'buffer';
2
2
  import crc32 from 'buffer-crc32';
3
3
  import QuickLRU from 'quick-lru';
4
4
  import htscodecs from '@jkbonfield/htscodecs';
5
- // @ts-expect-error
6
5
  import bzip2 from 'bzip2';
7
6
  import { XzReadableStream } from 'xz-decompress';
8
7
  import { CramMalformedError, CramUnimplementedError } from '../errors';
8
+ // locals
9
+ import { unzip } from '../unzip';
9
10
  import ransuncompress from '../rans';
10
- import { cramFileDefinition as cramFileDefinitionParser, getSectionParsers, } from './sectionParsers';
11
+ import { cramFileDefinition, getSectionParsers, } from './sectionParsers';
11
12
  import CramContainer from './container';
12
13
  import { open } from '../io';
13
14
  import { parseItem, tinyMemoize } from './util';
@@ -20,18 +21,18 @@ function bufferToStream(buf) {
20
21
  },
21
22
  });
22
23
  }
23
- //source:https://abdulapopoola.com/2019/01/20/check-endianness-with-javascript/
24
+ // source: https://abdulapopoola.com/2019/01/20/check-endianness-with-javascript/
24
25
  function getEndianness() {
25
26
  const uInt32 = new Uint32Array([0x11223344]);
26
27
  const uInt8 = new Uint8Array(uInt32.buffer);
27
28
  if (uInt8[0] === 0x44) {
28
- return 0; //little-endian
29
+ return 0; // little-endian
29
30
  }
30
31
  else if (uInt8[0] === 0x11) {
31
- return 1; //big-endian
32
+ return 1; // big-endian
32
33
  }
33
34
  else {
34
- return 2; //mixed-endian?
35
+ return 2; // mixed-endian?
35
36
  }
36
37
  }
37
38
  export default class CramFile {
@@ -65,10 +66,10 @@ export default class CramFile {
65
66
  }
66
67
  // memoized
67
68
  async getDefinition() {
68
- const headbytes = Buffer.allocUnsafe(cramFileDefinitionParser.maxLength);
69
- await this.file.read(headbytes, 0, cramFileDefinitionParser.maxLength, 0);
70
- const definition = cramFileDefinitionParser.parser.parse(headbytes)
71
- .result;
69
+ const { maxLength, parser } = cramFileDefinition();
70
+ const headbytes = Buffer.allocUnsafe(maxLength);
71
+ await this.file.read(headbytes, 0, maxLength, 0);
72
+ const definition = parser(headbytes).value;
72
73
  if (definition.majorVersion !== 2 && definition.majorVersion !== 3) {
73
74
  throw new CramUnimplementedError(`CRAM version ${definition.majorVersion} not supported`);
74
75
  }
@@ -99,19 +100,15 @@ export default class CramFile {
99
100
  await this.getSamHeader();
100
101
  return this.header;
101
102
  }
102
- // memoize
103
- async getSectionParsers() {
104
- const { majorVersion } = await this.getDefinition();
105
- return getSectionParsers(majorVersion);
106
- }
107
103
  async getContainerById(containerNumber) {
108
- const sectionParsers = await this.getSectionParsers();
104
+ const { majorVersion } = await this.getDefinition();
105
+ const sectionParsers = getSectionParsers(majorVersion);
109
106
  let position = sectionParsers.cramFileDefinition.maxLength;
110
107
  const { size: fileSize } = await this.file.stat();
111
108
  const { cramContainerHeader1 } = sectionParsers;
112
109
  // skip with a series of reads to the proper container
113
110
  let currentContainer;
114
- for (let i = 0; i <= containerNumber; i += 1) {
111
+ for (let i = 0; i <= containerNumber; i++) {
115
112
  // if we are about to go off the end of the file
116
113
  // and have not found that container, it does not exist
117
114
  if (position + cramContainerHeader1.maxLength + 8 >= fileSize) {
@@ -122,13 +119,12 @@ export default class CramFile {
122
119
  if (!currentHeader) {
123
120
  throw new CramMalformedError(`container ${containerNumber} not found in file`);
124
121
  }
125
- // if this is the first container, read all the blocks in the
126
- // container to determine its length, because we cannot trust
127
- // the container header's given length due to a bug somewhere
128
- // in htslib
122
+ // if this is the first container, read all the blocks in the container
123
+ // to determine its length, because we cannot trust the container
124
+ // header's given length due to a bug somewhere in htslib
129
125
  if (i === 0) {
130
126
  position = currentHeader._endPosition;
131
- for (let j = 0; j < currentHeader.numBlocks; j += 1) {
127
+ for (let j = 0; j < currentHeader.numBlocks; j++) {
132
128
  const block = await this.readBlock(position);
133
129
  if (block === undefined) {
134
130
  return undefined;
@@ -155,7 +151,8 @@ export default class CramFile {
155
151
  * @returns {Promise[number]} the number of containers in the file
156
152
  */
157
153
  async containerCount() {
158
- const sectionParsers = await this.getSectionParsers();
154
+ const { majorVersion } = await this.getDefinition();
155
+ const sectionParsers = getSectionParsers(majorVersion);
159
156
  const { size: fileSize } = await this.file.stat();
160
157
  const { cramContainerHeader1 } = sectionParsers;
161
158
  let containerCount = 0;
@@ -170,7 +167,7 @@ export default class CramFile {
170
167
  // header's given length due to a bug somewhere in htslib
171
168
  if (containerCount === 0) {
172
169
  position = currentHeader._endPosition;
173
- for (let j = 0; j < currentHeader.numBlocks; j += 1) {
170
+ for (let j = 0; j < currentHeader.numBlocks; j++) {
174
171
  const block = await this.readBlock(position);
175
172
  if (block === undefined) {
176
173
  return undefined;
@@ -190,7 +187,8 @@ export default class CramFile {
190
187
  return new CramContainer(this, position);
191
188
  }
192
189
  async readBlockHeader(position) {
193
- const sectionParsers = await this.getSectionParsers();
190
+ const { majorVersion } = await this.getDefinition();
191
+ const sectionParsers = getSectionParsers(majorVersion);
194
192
  const { cramBlockHeader } = sectionParsers;
195
193
  const { size: fileSize } = await this.file.stat();
196
194
  if (position + cramBlockHeader.maxLength >= fileSize) {
@@ -231,12 +229,12 @@ export default class CramFile {
231
229
  let chunk;
232
230
  do {
233
231
  chunk = bzip2.decompress(bits, size);
234
- if (chunk != -1) {
232
+ if (chunk !== -1) {
235
233
  Buffer.from(chunk).copy(outputBuffer, j);
236
234
  j += chunk.length;
237
235
  size -= chunk.length;
238
236
  }
239
- } while (chunk != -1);
237
+ } while (chunk !== -1);
240
238
  }
241
239
  else if (compressionMethod === 'lzma') {
242
240
  const decompressedResponse = new Response(new XzReadableStream(bufferToStream(inputBuffer)));
@@ -266,7 +264,7 @@ export default class CramFile {
266
264
  }
267
265
  async readBlock(position) {
268
266
  const { majorVersion } = await this.getDefinition();
269
- const sectionParsers = await this.getSectionParsers();
267
+ const sectionParsers = getSectionParsers(majorVersion);
270
268
  const blockHeader = await this.readBlockHeader(position);
271
269
  if (blockHeader === undefined) {
272
270
  return undefined;