@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.
- package/CHANGELOG.md +10 -0
- package/dist/cram-bundle.js +1 -1
- package/dist/cramFile/codecs/byteArrayLength.js +1 -1
- package/dist/cramFile/codecs/byteArrayLength.js.map +1 -1
- package/dist/cramFile/codecs/byteArrayStop.js +1 -1
- package/dist/cramFile/codecs/external.js +1 -1
- package/dist/cramFile/codecs/external.js.map +1 -1
- package/dist/cramFile/codecs/huffman.js +3 -2
- package/dist/cramFile/codecs/huffman.js.map +1 -1
- package/dist/cramFile/codecs/subexp.js.map +1 -1
- package/dist/cramFile/container/compressionScheme.d.ts +0 -3
- package/dist/cramFile/container/compressionScheme.js +0 -4
- package/dist/cramFile/container/compressionScheme.js.map +1 -1
- package/dist/cramFile/container/index.d.ts +57 -3
- package/dist/cramFile/container/index.js +21 -12
- package/dist/cramFile/container/index.js.map +1 -1
- package/dist/cramFile/file.d.ts +25 -59
- package/dist/cramFile/file.js +33 -37
- package/dist/cramFile/file.js.map +1 -1
- package/dist/cramFile/record.d.ts +1 -1
- package/dist/cramFile/record.js +2 -2
- package/dist/cramFile/record.js.map +1 -1
- package/dist/cramFile/sectionParsers.d.ts +195 -48
- package/dist/cramFile/sectionParsers.js +621 -303
- package/dist/cramFile/sectionParsers.js.map +1 -1
- package/dist/cramFile/slice/decodeRecord.js +5 -4
- package/dist/cramFile/slice/decodeRecord.js.map +1 -1
- package/dist/cramFile/slice/index.d.ts +23 -1
- package/dist/cramFile/slice/index.js +11 -8
- package/dist/cramFile/slice/index.js.map +1 -1
- package/dist/cramFile/util.d.ts +6 -4
- package/dist/cramFile/util.js +88 -6
- package/dist/cramFile/util.js.map +1 -1
- package/dist/rans/d04.js.map +1 -1
- package/dist/rans/decoding.d.ts +4 -4
- package/dist/rans/decoding.js +5 -6
- package/dist/rans/decoding.js.map +1 -1
- package/dist/rans/index.js +4 -3
- package/dist/rans/index.js.map +1 -1
- package/esm/cramFile/codecs/byteArrayLength.js +1 -1
- package/esm/cramFile/codecs/byteArrayLength.js.map +1 -1
- package/esm/cramFile/codecs/byteArrayStop.js +1 -1
- package/esm/cramFile/codecs/external.js +1 -1
- package/esm/cramFile/codecs/external.js.map +1 -1
- package/esm/cramFile/codecs/huffman.js +3 -2
- package/esm/cramFile/codecs/huffman.js.map +1 -1
- package/esm/cramFile/codecs/subexp.js.map +1 -1
- package/esm/cramFile/container/compressionScheme.d.ts +0 -3
- package/esm/cramFile/container/compressionScheme.js +0 -4
- package/esm/cramFile/container/compressionScheme.js.map +1 -1
- package/esm/cramFile/container/index.d.ts +57 -3
- package/esm/cramFile/container/index.js +19 -10
- package/esm/cramFile/container/index.js.map +1 -1
- package/esm/cramFile/file.d.ts +25 -59
- package/esm/cramFile/file.js +27 -29
- package/esm/cramFile/file.js.map +1 -1
- package/esm/cramFile/record.d.ts +1 -1
- package/esm/cramFile/record.js +2 -2
- package/esm/cramFile/record.js.map +1 -1
- package/esm/cramFile/sectionParsers.d.ts +195 -48
- package/esm/cramFile/sectionParsers.js +620 -303
- package/esm/cramFile/sectionParsers.js.map +1 -1
- package/esm/cramFile/slice/decodeRecord.js +5 -4
- package/esm/cramFile/slice/decodeRecord.js.map +1 -1
- package/esm/cramFile/slice/index.d.ts +23 -1
- package/esm/cramFile/slice/index.js +12 -9
- package/esm/cramFile/slice/index.js.map +1 -1
- package/esm/cramFile/util.d.ts +6 -4
- package/esm/cramFile/util.js +87 -6
- package/esm/cramFile/util.js.map +1 -1
- package/esm/rans/d04.js.map +1 -1
- package/esm/rans/decoding.d.ts +4 -4
- package/esm/rans/decoding.js +5 -6
- package/esm/rans/decoding.js.map +1 -1
- package/esm/rans/index.js +3 -2
- package/esm/rans/index.js.map +1 -1
- package/package.json +7 -8
- package/src/cramFile/codecs/byteArrayLength.ts +1 -2
- package/src/cramFile/codecs/byteArrayStop.ts +1 -1
- package/src/cramFile/codecs/external.ts +1 -1
- package/src/cramFile/codecs/huffman.ts +3 -2
- package/src/cramFile/codecs/subexp.ts +2 -2
- package/src/cramFile/container/compressionScheme.ts +1 -8
- package/src/cramFile/container/index.ts +23 -12
- package/src/cramFile/declare.d.ts +1 -0
- package/src/cramFile/file.ts +37 -53
- package/src/cramFile/record.ts +4 -7
- package/src/cramFile/sectionParsers.ts +668 -390
- package/src/cramFile/slice/decodeRecord.ts +20 -12
- package/src/cramFile/slice/index.ts +13 -7
- package/src/cramFile/util.ts +91 -92
- package/src/rans/d04.ts +1 -1
- package/src/rans/decoding.ts +5 -7
- package/src/rans/index.ts +3 -2
- package/src/typings/binary-parser.d.ts +0 -44
|
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const util_1 = require("../util");
|
|
7
6
|
const _base_1 = __importDefault(require("./_base"));
|
|
7
|
+
const util_1 = require("../util");
|
|
8
8
|
class ByteArrayStopCodec extends _base_1.default {
|
|
9
9
|
constructor(parameters, dataType, instantiateCodec) {
|
|
10
10
|
super(parameters, dataType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"byteArrayLength.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/byteArrayLength.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
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;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;AA3DD,qCA2DC;AAED,+BAA+B;KAC5B,KAAK,CAAC,GAAG,CAAC;KACV,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,kBAAW,EAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA"}
|
|
@@ -31,7 +31,7 @@ class ByteArrayStopCodec extends _base_1.default {
|
|
|
31
31
|
while (dataBuffer[stopPosition] !== stopByte &&
|
|
32
32
|
stopPosition < dataBuffer.length) {
|
|
33
33
|
if (stopPosition === dataBuffer.length) {
|
|
34
|
-
throw new getBits_1.CramBufferOverrunError(
|
|
34
|
+
throw new getBits_1.CramBufferOverrunError('byteArrayStop reading beyond length of data buffer?');
|
|
35
35
|
}
|
|
36
36
|
stopPosition = stopPosition + 1;
|
|
37
37
|
}
|
|
@@ -25,7 +25,7 @@ class ExternalCodec extends _base_1.default {
|
|
|
25
25
|
const { blockContentId } = this.parameters;
|
|
26
26
|
const contentBlock = blocksByContentId[blockContentId];
|
|
27
27
|
if (!contentBlock) {
|
|
28
|
-
throw new errors_1.CramMalformedError(`no block found with content ID ${blockContentId}`);
|
|
28
|
+
throw new errors_1.CramMalformedError(`no block found with content ID ${blockContentId}}`);
|
|
29
29
|
}
|
|
30
30
|
const cursor = cursors.externalBlocks.getCursor(blockContentId);
|
|
31
31
|
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,yCAAyE;AACzE,oDAAoD;AACpD,kCAAmC;AAGnC,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,
|
|
1
|
+
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":";;;;;AAAA,sDAAsD;AACtD,yCAAyE;AACzE,oDAAoD;AACpD,kCAAmC;AAGnC,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,CAAC,CAAA;IACpD,CAAC;CACF;AA3DD,gCA2DC"}
|
|
@@ -28,7 +28,8 @@ class HuffmanIntCodec extends _base_1.default {
|
|
|
28
28
|
this.buildCodeBook();
|
|
29
29
|
this.buildCodes();
|
|
30
30
|
this.buildCaches();
|
|
31
|
-
// if this is a degenerate zero-length huffman code, special-case the
|
|
31
|
+
// if this is a degenerate zero-length huffman code, special-case the
|
|
32
|
+
// decoding
|
|
32
33
|
if (this.sortedCodes[0].bitLength === 0) {
|
|
33
34
|
this._decode = this._decodeZeroLengthCode;
|
|
34
35
|
}
|
|
@@ -57,7 +58,7 @@ class HuffmanIntCodec extends _base_1.default {
|
|
|
57
58
|
let codeLength = 0;
|
|
58
59
|
let codeValue = -1;
|
|
59
60
|
Object.entries(this.codeBook).forEach(([bitLength, symbols]) => {
|
|
60
|
-
const bitLengthInt = parseInt(bitLength, 10);
|
|
61
|
+
const bitLengthInt = Number.parseInt(bitLength, 10);
|
|
61
62
|
symbols.forEach(symbol => {
|
|
62
63
|
const code = {
|
|
63
64
|
bitLength: bitLengthInt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huffman.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/huffman.ts"],"names":[],"mappings":";;;;;AAAA,sDAAsD;AACtD,yCAAiD;AACjD,oDAAoD;AACpD,uCAAmC;AAMnC,SAAS,eAAe,CAAC,EAAU;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;IACrC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,CAAA;IAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;AAC3D,CAAC;AAQD,MAAqB,eAAgB,SAAQ,eAG5C;IASC,YACE,UAAyC,EACzC,QAAwB;QAExB,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAZrB,UAAK,GAAyB,EAAE,CAAA;QAChC,aAAQ,GAA6B,EAAE,CAAA;QACvC,gBAAW,GAAW,EAAE,CAAA;QACxB,0BAAqB,GAAa,EAAE,CAAA;QACpC,mBAAc,GAAa,EAAE,CAAA;QAC7B,8BAAyB,GAAa,EAAE,CAAA;QACxC,mBAAc,GAAa,EAAE,CAAA;QAOnC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,SAAS,CACjB,GAAG,IAAI,CAAC,QAAQ,oDAAoD,CACrE,CAAA;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,
|
|
1
|
+
{"version":3,"file":"huffman.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/huffman.ts"],"names":[],"mappings":";;;;;AAAA,sDAAsD;AACtD,yCAAiD;AACjD,oDAAoD;AACpD,uCAAmC;AAMnC,SAAS,eAAe,CAAC,EAAU;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;IACrC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,CAAA;IAC9C,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;AAC3D,CAAC;AAQD,MAAqB,eAAgB,SAAQ,eAG5C;IASC,YACE,UAAyC,EACzC,QAAwB;QAExB,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAZrB,UAAK,GAAyB,EAAE,CAAA;QAChC,aAAQ,GAA6B,EAAE,CAAA;QACvC,gBAAW,GAAW,EAAE,CAAA;QACxB,0BAAqB,GAAa,EAAE,CAAA;QACpC,mBAAc,GAAa,EAAE,CAAA;QAC7B,8BAAyB,GAAa,EAAE,CAAA;QACxC,mBAAc,GAAa,EAAE,CAAA;QAOnC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,SAAS,CACjB,GAAG,IAAI,CAAC,QAAQ,oDAAoD,CACrE,CAAA;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,qEAAqE;QACrE,WAAW;QACX,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,aAAa;QACX,8DAA8D;QAC9D,IAAI,KAAK,GAAG,IAAI,KAAK,CACnB,IAAI,CAAC,UAAU,CAAC,QAAQ,CACzB,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,CAAC,CAAC,GAAG;gBACT,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;aACzC,CAAA;QACH,CAAC;QACD,gDAAgD;QAChD,KAAK,GAAG,KAAK,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAC3D,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;YACpC,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA,CAAC,8CAA8C;QAC9D,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAA;QAClB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;YAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACnD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,MAAM,IAAI,GAAG;oBACX,SAAS,EAAE,YAAY;oBACvB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,CAAC;iBACX,CAAA;gBACD,SAAS,GAAG,SAAS,GAAG,CAAC,CAAA;gBACzB,MAAM,KAAK,GAAG,YAAY,GAAG,UAAU,CAAA,CAAC,cAAc;gBACtD,SAAS,GAAG,SAAS,IAAI,KAAK,CAAA,CAAC,eAAe;gBAC9C,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA,CAAC,2BAA2B;gBACpD,UAAU,GAAG,UAAU,GAAG,KAAK,CAAA,CAAC,6BAA6B;gBAE7D,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;oBAC9C,MAAM,IAAI,2BAAkB,CAAC,qBAAqB,CAAC,CAAA;gBACrD,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAC7D,CAAA;QAED,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;QAEnD,IAAI,CAAC,cAAc,GAAG,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAED,MAAM,CACJ,KAAgB,EAChB,aAA4B,EAC5B,iBAAgD,EAChD,OAAgB;QAEhB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9D,CAAC;IAED,kBAAkB;IAClB,cAAc;IACd,IAAI;IAEJ,yCAAyC;IACzC,qBAAqB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAClC,CAAC;IAED,OAAO,CAAC,KAAgB,EAAE,aAA4B,EAAE,UAAkB;QACxE,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;QAEnC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC5C,IAAI,KAAK,MAAM,GAAG,OAAO,CAAA;YACzB,IAAI,IAAI,IAAA,iBAAO,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;YACpD,OAAO,GAAG,MAAM,CAAA;YAChB,CAAC;gBACC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;gBACvC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC;oBACnE,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;gBAC1C,CAAC;gBAED,KACE,IAAI,CAAC,GAAG,CAAC,EACT,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM;oBAC5C,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAC3B,CAAC,IAAI,CAAC,EACN,CAAC;oBACD,CAAC,IAAI,CAAC,CAAA;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,2BAAkB,CAAC,2BAA2B,CAAC,CAAA;IAC3D,CAAC;CACF;AApJD,kCAoJC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subexp.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/subexp.ts"],"names":[],"mappings":";;;;;AAAA,yCAAqD;AACrD,oDAA4C;AAC5C,uCAAmC;AAKnC,MAAqB,WAAY,SAAQ,eAGxC;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,+BAAsB,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,IAAA,iBAAO,EAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5D,cAAc,GAAG,cAAc,GAAG,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,
|
|
1
|
+
{"version":3,"file":"subexp.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/subexp.ts"],"names":[],"mappings":";;;;;AAAA,yCAAqD;AACrD,oDAA4C;AAC5C,uCAAmC;AAKnC,MAAqB,WAAY,SAAQ,eAGxC;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,+BAAsB,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,IAAA,iBAAO,EAAC,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,IAAA,iBAAO,EAAC,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,IAAA,iBAAO,EAAC,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;AArCD,8BAqCC"}
|
|
@@ -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
|
|
@@ -70,7 +70,6 @@ class CramContainerCompressionScheme {
|
|
|
70
70
|
this.dataSeriesCodecCache = {};
|
|
71
71
|
this.tagCodecCache = {};
|
|
72
72
|
this.tagEncoding = {};
|
|
73
|
-
// Object.assign(this, content)
|
|
74
73
|
// interpret some of the preservation map tags for convenient use
|
|
75
74
|
this.readNamesIncluded = content.preservation.RN;
|
|
76
75
|
this.APdelta = content.preservation.AP;
|
|
@@ -79,9 +78,6 @@ class CramContainerCompressionScheme {
|
|
|
79
78
|
this.substitutionMatrix = parseSubstitutionMatrix(content.preservation.SM);
|
|
80
79
|
this.dataSeriesEncoding = content.dataSeriesEncoding;
|
|
81
80
|
this.tagEncoding = content.tagEncoding;
|
|
82
|
-
this.preservation = content.preservation;
|
|
83
|
-
this._size = content._size;
|
|
84
|
-
this._endPosition = content._endPosition;
|
|
85
81
|
}
|
|
86
82
|
/**
|
|
87
83
|
* @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,sCAA4C;AAI5C,yCAAiD;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,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,OAAO,MAAM,CAAA;AACf,CAAC;AAMD,MAAqB,8BAA8B;
|
|
1
|
+
{"version":3,"file":"compressionScheme.js","sourceRoot":"","sources":["../../../src/cramFile/container/compressionScheme.ts"],"names":[],"mappings":";;AAAA,sCAA4C;AAI5C,yCAAiD;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,GAAG,CAAA;IACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CA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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<
|
|
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:
|
|
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<
|
|
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
|
}
|
|
@@ -12,34 +12,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const buffer_1 = require("buffer");
|
|
15
16
|
const errors_1 = require("../../errors");
|
|
17
|
+
// locals
|
|
16
18
|
const util_1 = require("../util");
|
|
17
19
|
const slice_1 = __importDefault(require("../slice"));
|
|
18
20
|
const compressionScheme_1 = __importDefault(require("./compressionScheme"));
|
|
21
|
+
const sectionParsers_1 = require("../sectionParsers");
|
|
19
22
|
class CramContainer {
|
|
20
23
|
constructor(file, filePosition) {
|
|
21
24
|
this.file = file;
|
|
22
25
|
this.filePosition = filePosition;
|
|
23
26
|
}
|
|
24
|
-
// memoize
|
|
25
27
|
getHeader() {
|
|
26
28
|
return this._readContainerHeader(this.filePosition);
|
|
27
29
|
}
|
|
28
|
-
// memoize
|
|
29
30
|
getCompressionHeaderBlock() {
|
|
30
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
32
|
const containerHeader = yield this.getHeader();
|
|
32
|
-
// if there are no records in the container, there will be no compression
|
|
33
|
-
|
|
33
|
+
// if there are no records in the container, there will be no compression
|
|
34
|
+
// header
|
|
35
|
+
if (!(containerHeader === null || containerHeader === void 0 ? void 0 : containerHeader.numRecords)) {
|
|
34
36
|
return null;
|
|
35
37
|
}
|
|
36
|
-
const
|
|
38
|
+
const { majorVersion } = yield this.file.getDefinition();
|
|
39
|
+
const sectionParsers = (0, sectionParsers_1.getSectionParsers)(majorVersion);
|
|
37
40
|
const block = yield this.getFirstBlock();
|
|
38
41
|
if (block === undefined) {
|
|
39
42
|
return undefined;
|
|
40
43
|
}
|
|
41
44
|
if (block.contentType !== 'COMPRESSION_HEADER') {
|
|
42
|
-
throw new errors_1.CramMalformedError(`invalid content type ${block.contentType} in
|
|
45
|
+
throw new errors_1.CramMalformedError(`invalid content type ${block.contentType} in compression header block`);
|
|
43
46
|
}
|
|
44
47
|
const content = (0, util_1.parseItem)(block.content, sectionParsers.cramCompressionHeader.parser, 0, block.contentPosition);
|
|
45
48
|
return Object.assign(Object.assign({}, block), { parsedContent: content });
|
|
@@ -48,11 +51,14 @@ class CramContainer {
|
|
|
48
51
|
getFirstBlock() {
|
|
49
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50
53
|
const containerHeader = yield this.getHeader();
|
|
54
|
+
if (!containerHeader) {
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
51
57
|
return this.file.readBlock(containerHeader._endPosition);
|
|
52
58
|
});
|
|
53
59
|
}
|
|
54
|
-
// parses the compression header data into a CramContainerCompressionScheme
|
|
55
|
-
//
|
|
60
|
+
// parses the compression header data into a CramContainerCompressionScheme
|
|
61
|
+
// object
|
|
56
62
|
getCompressionScheme() {
|
|
57
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
64
|
const header = yield this.getCompressionHeaderBlock();
|
|
@@ -69,23 +75,26 @@ class CramContainer {
|
|
|
69
75
|
}
|
|
70
76
|
_readContainerHeader(position) {
|
|
71
77
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
const
|
|
78
|
+
const { majorVersion } = yield this.file.getDefinition();
|
|
79
|
+
const sectionParsers = (0, sectionParsers_1.getSectionParsers)(majorVersion);
|
|
73
80
|
const { cramContainerHeader1, cramContainerHeader2 } = sectionParsers;
|
|
74
81
|
const { size: fileSize } = yield this.file.stat();
|
|
75
82
|
if (position >= fileSize) {
|
|
83
|
+
console.warn(`pos:${position}>=fileSize:${fileSize} in cram container`);
|
|
76
84
|
return undefined;
|
|
77
85
|
}
|
|
78
86
|
// parse the container header. do it in 2 pieces because you cannot tell
|
|
79
87
|
// how much to buffer until you read numLandmarks
|
|
80
|
-
const bytes1 = Buffer.allocUnsafe(cramContainerHeader1.maxLength);
|
|
88
|
+
const bytes1 = buffer_1.Buffer.allocUnsafe(cramContainerHeader1.maxLength);
|
|
81
89
|
yield this.file.read(bytes1, 0, cramContainerHeader1.maxLength, position);
|
|
82
90
|
const header1 = (0, util_1.parseItem)(bytes1, cramContainerHeader1.parser);
|
|
83
91
|
const numLandmarksSize = (0, util_1.itf8Size)(header1.numLandmarks);
|
|
84
92
|
if (position + header1.length >= fileSize) {
|
|
85
|
-
|
|
93
|
+
// header indicates container goes beyond fileSize
|
|
94
|
+
console.warn(`container at ${position} is beyond fileSize:${fileSize}, skipping`);
|
|
86
95
|
return undefined;
|
|
87
96
|
}
|
|
88
|
-
const bytes2 = Buffer.allocUnsafe(cramContainerHeader2.maxLength(header1.numLandmarks));
|
|
97
|
+
const bytes2 = buffer_1.Buffer.allocUnsafe(cramContainerHeader2.maxLength(header1.numLandmarks));
|
|
89
98
|
yield this.file.read(bytes2, 0, cramContainerHeader2.maxLength(header1.numLandmarks), position + header1._size - numLandmarksSize);
|
|
90
99
|
const header2 = (0, util_1.parseItem)(bytes2, cramContainerHeader2.parser);
|
|
91
100
|
if (this.file.validateChecksums && header2.crc32 !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/container/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yCAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/container/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mCAA+B;AAC/B,yCAAiD;AACjD,SAAS;AACT,kCAA0D;AAC1D,qDAAgC;AAChC,4EAAgE;AAEhE,sDAAqD;AAErD,MAAqB,aAAa;IAChC,YACS,IAAc,EACd,YAAoB;QADpB,SAAI,GAAJ,IAAI,CAAU;QACd,iBAAY,GAAZ,YAAY,CAAQ;IAC1B,CAAC;IAEJ,SAAS;QACP,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACrD,CAAC;IAEK,yBAAyB;;YAC7B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YAE9C,yEAAyE;YACzE,SAAS;YACT,IAAI,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,CAAA,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA;YACxD,MAAM,cAAc,GAAG,IAAA,kCAAiB,EAAC,YAAY,CAAC,CAAA;YAEtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;YACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,KAAK,oBAAoB,EAAE,CAAC;gBAC/C,MAAM,IAAI,2BAAkB,CAC1B,wBAAwB,KAAK,CAAC,WAAW,8BAA8B,CACxE,CAAA;YACH,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,gBAAS,EACvB,KAAK,CAAC,OAAO,EACb,cAAc,CAAC,qBAAqB,CAAC,MAAM,EAC3C,CAAC,EACD,KAAK,CAAC,eAAe,CACtB,CAAA;YACD,uCACK,KAAK,KACR,aAAa,EAAE,OAAO,IACvB;QACH,CAAC;KAAA;IAEK,aAAa;;YACjB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QAC1D,CAAC;KAAA;IAED,2EAA2E;IAC3E,SAAS;IACH,oBAAoB;;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,OAAO,IAAI,2BAA8B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACjE,CAAC;KAAA;IAED,QAAQ,CAAC,aAAqB,EAAE,SAAiB;QAC/C,qEAAqE;QACrE,wCAAwC;QACxC,OAAO,IAAI,eAAS,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;IACtD,CAAC;IAEK,oBAAoB,CAAC,QAAgB;;YACzC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA;YACxD,MAAM,cAAc,GAAG,IAAA,kCAAiB,EAAC,YAAY,CAAC,CAAA;YACtD,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,cAAc,CAAA;YACrE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YAEjD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,OAAO,QAAQ,cAAc,QAAQ,oBAAoB,CAAC,CAAA;gBACvE,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,wEAAwE;YACxE,iDAAiD;YACjD,MAAM,MAAM,GAAG,eAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;YACjE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACzE,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAC9D,MAAM,gBAAgB,GAAG,IAAA,eAAQ,EAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACvD,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC1C,kDAAkD;gBAClD,OAAO,CAAC,IAAI,CACV,gBAAgB,QAAQ,uBAAuB,QAAQ,YAAY,CACpE,CAAA;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,eAAM,CAAC,WAAW,CAC/B,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CACrD,CAAA;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,MAAM,EACN,CAAC,EACD,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EACpD,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAC5C,CAAA;YACD,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAE9D,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CACxB,QAAQ,EACR,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,gBAAgB,GAAG,CAAC,EACpD,OAAO,CAAC,KAAK,EACb,0CAA0C,QAAQ,EAAE,CACrD,CAAA;YACH,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;gBACrD,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,gBAAgB;gBACvD,YAAY,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,gBAAgB,GAAG,QAAQ;aAC1E,CAAC,CAAA;YAEF,OAAO,cAAc,CAAA;QACvB,CAAC;KAAA;CACF;AAvHD,gCAuHC;AAED,0DAA0D;KACvD,KAAK,CAAC,GAAG,CAAC;KACV,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,kBAAW,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAA"}
|
package/dist/cramFile/file.d.ts
CHANGED
|
@@ -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<
|
|
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<
|
|
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
|
-
|
|
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
|
}
|