@gmod/cram 4.0.9 → 5.0.0
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/README.md +6 -6
- package/dist/craiIndex.d.ts +1 -1
- package/dist/craiIndex.js +7 -7
- package/dist/craiIndex.js.map +1 -1
- package/dist/cram-bundle.js +1 -2
- package/dist/cramFile/codecs/_base.d.ts +3 -3
- package/dist/cramFile/codecs/beta.d.ts +5 -5
- package/dist/cramFile/codecs/beta.js +7 -7
- package/dist/cramFile/codecs/beta.js.map +1 -1
- package/dist/cramFile/codecs/byteArrayLength.d.ts +5 -5
- package/dist/cramFile/codecs/byteArrayLength.js +4 -4
- package/dist/cramFile/codecs/byteArrayLength.js.map +1 -1
- package/dist/cramFile/codecs/byteArrayStop.d.ts +5 -5
- package/dist/cramFile/codecs/byteArrayStop.js +7 -7
- package/dist/cramFile/codecs/byteArrayStop.js.map +1 -1
- package/dist/cramFile/codecs/dataSeriesTypes.d.ts +1 -1
- package/dist/cramFile/codecs/external.d.ts +5 -5
- package/dist/cramFile/codecs/external.js +12 -11
- package/dist/cramFile/codecs/external.js.map +1 -1
- package/dist/cramFile/codecs/gamma.d.ts +5 -5
- package/dist/cramFile/codecs/gamma.js +8 -8
- package/dist/cramFile/codecs/gamma.js.map +1 -1
- package/dist/cramFile/codecs/huffman.d.ts +6 -6
- package/dist/cramFile/codecs/huffman.js +9 -9
- package/dist/cramFile/codecs/huffman.js.map +1 -1
- package/dist/cramFile/codecs/index.d.ts +3 -3
- package/dist/cramFile/codecs/index.js +16 -16
- package/dist/cramFile/codecs/index.js.map +1 -1
- package/dist/cramFile/codecs/subexp.d.ts +5 -5
- package/dist/cramFile/codecs/subexp.js +9 -9
- package/dist/cramFile/codecs/subexp.js.map +1 -1
- package/dist/cramFile/container/compressionScheme.d.ts +4 -4
- package/dist/cramFile/container/compressionScheme.js +5 -5
- package/dist/cramFile/container/compressionScheme.js.map +1 -1
- package/dist/cramFile/container/index.d.ts +8 -8
- package/dist/cramFile/container/index.js +15 -16
- package/dist/cramFile/container/index.js.map +1 -1
- package/dist/cramFile/file.d.ts +3 -3
- package/dist/cramFile/file.js +29 -38
- package/dist/cramFile/file.js.map +1 -1
- package/dist/cramFile/index.d.ts +2 -2
- package/dist/cramFile/index.js +4 -4
- package/dist/cramFile/index.js.map +1 -1
- package/dist/cramFile/record.d.ts +2 -2
- package/dist/cramFile/record.js +17 -17
- package/dist/cramFile/record.js.map +1 -1
- package/dist/cramFile/sectionParsers.d.ts +3 -3
- package/dist/cramFile/sectionParsers.js +56 -56
- package/dist/cramFile/sectionParsers.js.map +1 -1
- package/dist/cramFile/slice/decodeRecord.d.ts +6 -6
- package/dist/cramFile/slice/decodeRecord.js +17 -17
- package/dist/cramFile/slice/decodeRecord.js.map +1 -1
- package/dist/cramFile/slice/index.d.ts +5 -5
- package/dist/cramFile/slice/index.js +46 -52
- package/dist/cramFile/slice/index.js.map +1 -1
- package/dist/htscodecs/arith_gen.d.ts +1 -1
- package/dist/htscodecs/arith_gen.js +17 -17
- package/dist/htscodecs/arith_gen.js.map +1 -1
- package/dist/htscodecs/fqzcomp.js +10 -10
- package/dist/htscodecs/fqzcomp.js.map +1 -1
- package/dist/htscodecs/index.js +6 -6
- package/dist/htscodecs/index.js.map +1 -1
- package/dist/htscodecs/rans.js +2 -2
- package/dist/htscodecs/rans.js.map +1 -1
- package/dist/htscodecs/rans4x16.js +7 -7
- package/dist/htscodecs/rans4x16.js.map +1 -1
- package/dist/htscodecs/tok3.js +9 -9
- package/dist/htscodecs/tok3.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/indexedCramFile.d.ts +4 -4
- package/dist/indexedCramFile.js +5 -5
- package/dist/indexedCramFile.js.map +1 -1
- package/dist/{io/index.js → io.js} +1 -1
- package/dist/io.js.map +1 -0
- package/dist/rans/d04.js +28 -28
- package/dist/rans/d04.js.map +1 -1
- package/dist/rans/d14.js +16 -16
- package/dist/rans/d14.js.map +1 -1
- package/dist/rans/decoding.js +8 -8
- package/dist/rans/decoding.js.map +1 -1
- package/dist/rans/frequencies.js +15 -15
- package/dist/rans/frequencies.js.map +1 -1
- package/dist/rans/index.js +17 -17
- package/dist/rans/index.js.map +1 -1
- package/dist/seek-bzip/bitreader.d.ts +27 -0
- package/dist/seek-bzip/bitreader.js +101 -0
- package/dist/seek-bzip/bitreader.js.map +1 -0
- package/dist/seek-bzip/crc32.d.ts +0 -0
- package/dist/seek-bzip/crc32.js +113 -0
- package/dist/seek-bzip/crc32.js.map +1 -0
- package/dist/seek-bzip/index.d.ts +9 -0
- package/dist/seek-bzip/index.js +585 -0
- package/dist/seek-bzip/index.js.map +1 -0
- package/dist/seek-bzip/stream.d.ts +1 -0
- package/dist/seek-bzip/stream.js +41 -0
- package/dist/seek-bzip/stream.js.map +1 -0
- package/dist/seek-bzip/toHex.d.ts +1 -0
- package/dist/seek-bzip/toHex.js +36 -0
- package/dist/seek-bzip/toHex.js.map +1 -0
- package/esm/craiIndex.d.ts +1 -1
- package/esm/craiIndex.js +3 -3
- package/esm/craiIndex.js.map +1 -1
- package/esm/cramFile/codecs/_base.d.ts +3 -3
- package/esm/cramFile/codecs/beta.d.ts +5 -5
- package/esm/cramFile/codecs/beta.js +4 -4
- package/esm/cramFile/codecs/beta.js.map +1 -1
- package/esm/cramFile/codecs/byteArrayLength.d.ts +5 -5
- package/esm/cramFile/codecs/byteArrayLength.js +2 -2
- package/esm/cramFile/codecs/byteArrayLength.js.map +1 -1
- package/esm/cramFile/codecs/byteArrayStop.d.ts +5 -5
- package/esm/cramFile/codecs/byteArrayStop.js +4 -4
- package/esm/cramFile/codecs/byteArrayStop.js.map +1 -1
- package/esm/cramFile/codecs/dataSeriesTypes.d.ts +1 -1
- package/esm/cramFile/codecs/external.d.ts +5 -5
- package/esm/cramFile/codecs/external.js +8 -7
- package/esm/cramFile/codecs/external.js.map +1 -1
- package/esm/cramFile/codecs/gamma.d.ts +5 -5
- package/esm/cramFile/codecs/gamma.js +4 -4
- package/esm/cramFile/codecs/gamma.js.map +1 -1
- package/esm/cramFile/codecs/huffman.d.ts +6 -6
- package/esm/cramFile/codecs/huffman.js +5 -5
- package/esm/cramFile/codecs/huffman.js.map +1 -1
- package/esm/cramFile/codecs/index.d.ts +3 -3
- package/esm/cramFile/codecs/index.js +8 -8
- package/esm/cramFile/codecs/index.js.map +1 -1
- package/esm/cramFile/codecs/subexp.d.ts +5 -5
- package/esm/cramFile/codecs/subexp.js +4 -4
- package/esm/cramFile/codecs/subexp.js.map +1 -1
- package/esm/cramFile/container/compressionScheme.d.ts +4 -4
- package/esm/cramFile/container/compressionScheme.js +2 -2
- package/esm/cramFile/container/compressionScheme.js.map +1 -1
- package/esm/cramFile/container/index.d.ts +8 -8
- package/esm/cramFile/container/index.js +5 -6
- package/esm/cramFile/container/index.js.map +1 -1
- package/esm/cramFile/file.d.ts +3 -3
- package/esm/cramFile/file.js +12 -21
- package/esm/cramFile/file.js.map +1 -1
- package/esm/cramFile/index.d.ts +2 -2
- package/esm/cramFile/index.js +2 -2
- package/esm/cramFile/index.js.map +1 -1
- package/esm/cramFile/record.d.ts +2 -2
- package/esm/cramFile/record.js +1 -1
- package/esm/cramFile/record.js.map +1 -1
- package/esm/cramFile/sectionParsers.d.ts +3 -3
- package/esm/cramFile/sectionParsers.js +1 -1
- package/esm/cramFile/sectionParsers.js.map +1 -1
- package/esm/cramFile/slice/decodeRecord.d.ts +6 -6
- package/esm/cramFile/slice/decodeRecord.js +3 -3
- package/esm/cramFile/slice/decodeRecord.js.map +1 -1
- package/esm/cramFile/slice/index.d.ts +5 -5
- package/esm/cramFile/slice/index.js +18 -24
- package/esm/cramFile/slice/index.js.map +1 -1
- package/esm/htscodecs/arith_gen.d.ts +1 -1
- package/esm/htscodecs/arith_gen.js +5 -5
- package/esm/htscodecs/arith_gen.js.map +1 -1
- package/esm/htscodecs/fqzcomp.js +3 -3
- package/esm/htscodecs/fqzcomp.js.map +1 -1
- package/esm/htscodecs/index.js +5 -5
- package/esm/htscodecs/index.js.map +1 -1
- package/esm/htscodecs/rans.js +1 -1
- package/esm/htscodecs/rans.js.map +1 -1
- package/esm/htscodecs/rans4x16.js +1 -1
- package/esm/htscodecs/rans4x16.js.map +1 -1
- package/esm/htscodecs/tok3.js +4 -4
- package/esm/htscodecs/tok3.js.map +1 -1
- package/esm/index.d.ts +3 -3
- package/esm/index.js +3 -3
- package/esm/index.js.map +1 -1
- package/esm/indexedCramFile.d.ts +4 -4
- package/esm/indexedCramFile.js +2 -2
- package/esm/indexedCramFile.js.map +1 -1
- package/esm/{io/index.js → io.js} +1 -1
- package/esm/io.js.map +1 -0
- package/esm/rans/d04.js +3 -3
- package/esm/rans/d04.js.map +1 -1
- package/esm/rans/d14.js +2 -2
- package/esm/rans/d14.js.map +1 -1
- package/esm/rans/decoding.js +2 -2
- package/esm/rans/decoding.js.map +1 -1
- package/esm/rans/frequencies.js +3 -3
- package/esm/rans/frequencies.js.map +1 -1
- package/esm/rans/index.js +5 -5
- package/esm/rans/index.js.map +1 -1
- package/esm/seek-bzip/bitreader.d.ts +27 -0
- package/esm/seek-bzip/bitreader.js +98 -0
- package/esm/seek-bzip/bitreader.js.map +1 -0
- package/esm/seek-bzip/crc32.d.ts +0 -0
- package/esm/seek-bzip/crc32.js +113 -0
- package/esm/seek-bzip/crc32.js.map +1 -0
- package/esm/seek-bzip/index.d.ts +9 -0
- package/esm/seek-bzip/index.js +579 -0
- package/esm/seek-bzip/index.js.map +1 -0
- package/esm/seek-bzip/stream.d.ts +1 -0
- package/esm/seek-bzip/stream.js +41 -0
- package/esm/seek-bzip/stream.js.map +1 -0
- package/esm/seek-bzip/toHex.d.ts +1 -0
- package/esm/seek-bzip/toHex.js +33 -0
- package/esm/seek-bzip/toHex.js.map +1 -0
- package/package.json +15 -10
- package/src/craiIndex.ts +4 -4
- package/src/cramFile/codecs/_base.ts +3 -3
- package/src/cramFile/codecs/beta.ts +8 -8
- package/src/cramFile/codecs/byteArrayLength.ts +6 -6
- package/src/cramFile/codecs/byteArrayStop.ts +8 -8
- package/src/cramFile/codecs/dataSeriesTypes.ts +1 -1
- package/src/cramFile/codecs/external.ts +15 -12
- package/src/cramFile/codecs/gamma.ts +8 -8
- package/src/cramFile/codecs/huffman.ts +8 -8
- package/src/cramFile/codecs/index.ts +11 -11
- package/src/cramFile/codecs/subexp.ts +8 -8
- package/src/cramFile/container/compressionScheme.ts +6 -6
- package/src/cramFile/container/index.ts +6 -7
- package/src/cramFile/file.ts +13 -24
- package/src/cramFile/index.ts +2 -2
- package/src/cramFile/record.ts +3 -3
- package/src/cramFile/sectionParsers.ts +4 -4
- package/src/cramFile/slice/decodeRecord.ts +8 -8
- package/src/cramFile/slice/index.ts +23 -29
- package/src/htscodecs/arith_gen.ts +6 -6
- package/src/htscodecs/fqzcomp.ts +3 -3
- package/src/htscodecs/index.ts +5 -5
- package/src/htscodecs/rans.ts +1 -1
- package/src/htscodecs/rans4x16.ts +1 -1
- package/src/htscodecs/tok3.ts +4 -4
- package/src/index.ts +3 -3
- package/src/indexedCramFile.ts +5 -5
- package/src/rans/d04.ts +3 -3
- package/src/rans/d14.ts +2 -2
- package/src/rans/decoding.ts +2 -2
- package/src/rans/frequencies.ts +3 -3
- package/src/rans/index.ts +5 -5
- package/src/seek-bzip/README.md +6 -0
- package/src/seek-bzip/bitreader.ts +113 -0
- package/src/seek-bzip/crc32.ts +116 -0
- package/src/seek-bzip/index.ts +615 -0
- package/src/seek-bzip/stream.ts +42 -0
- package/src/seek-bzip/toHex.ts +33 -0
- package/dist/cram-bundle.js.LICENSE.txt +0 -12
- package/dist/io/index.js.map +0 -1
- package/esm/io/index.js.map +0 -1
- package/src/cramFile/declare.d.ts +0 -1
- /package/dist/{io/index.d.ts → io.d.ts} +0 -0
- /package/esm/{io/index.d.ts → io.d.ts} +0 -0
- /package/src/{io/index.ts → io.ts} +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// from https://www.xaymar.com/articles/2020/12/08/fastest-uint8array-to-hex-string-conversion-in-javascript/
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.toHex = toHex;
|
|
5
|
+
// Pre-Init
|
|
6
|
+
const LUT_HEX_4b = [
|
|
7
|
+
'0',
|
|
8
|
+
'1',
|
|
9
|
+
'2',
|
|
10
|
+
'3',
|
|
11
|
+
'4',
|
|
12
|
+
'5',
|
|
13
|
+
'6',
|
|
14
|
+
'7',
|
|
15
|
+
'8',
|
|
16
|
+
'9',
|
|
17
|
+
'A',
|
|
18
|
+
'B',
|
|
19
|
+
'C',
|
|
20
|
+
'D',
|
|
21
|
+
'E',
|
|
22
|
+
'F',
|
|
23
|
+
];
|
|
24
|
+
const LUT_HEX_8b = new Array(0x100);
|
|
25
|
+
for (let n = 0; n < 0x100; n++) {
|
|
26
|
+
LUT_HEX_8b[n] = `${LUT_HEX_4b[(n >>> 4) & 0xf]}${LUT_HEX_4b[n & 0xf]}`;
|
|
27
|
+
}
|
|
28
|
+
// End Pre-Init
|
|
29
|
+
function toHex(buffer) {
|
|
30
|
+
let out = '';
|
|
31
|
+
for (let idx = 0, edx = buffer.length; idx < edx; idx++) {
|
|
32
|
+
out += LUT_HEX_8b[buffer[idx]];
|
|
33
|
+
}
|
|
34
|
+
return out;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=toHex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toHex.js","sourceRoot":"","sources":["../../src/seek-bzip/toHex.ts"],"names":[],"mappings":";AAAA,6GAA6G;;AA0B7G,sBAMC;AA9BD,WAAW;AACX,MAAM,UAAU,GAAG;IACjB,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAA;AACD,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;AACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/B,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAA;AACxE,CAAC;AACD,eAAe;AACf,SAAgB,KAAK,CAAC,MAAkB;IACtC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACxD,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAE,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
package/esm/craiIndex.d.ts
CHANGED
package/esm/craiIndex.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CramMalformedError } from
|
|
2
|
-
import { open } from
|
|
3
|
-
import { unzip } from
|
|
1
|
+
import { CramMalformedError } from "./errors.js";
|
|
2
|
+
import { open } from "./io.js";
|
|
3
|
+
import { unzip } from "./unzip.js";
|
|
4
4
|
const BAI_MAGIC = 21_578_050; // BAI\1
|
|
5
5
|
function addRecordToIndex(index, record) {
|
|
6
6
|
const [seqId, start, span, containerStart, sliceStart, sliceBytes] = record;
|
package/esm/craiIndex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"craiIndex.js","sourceRoot":"","sources":["../src/craiIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"craiIndex.js","sourceRoot":"","sources":["../src/craiIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CramFileBlock } from '../file';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { CramFileBlock } from '../file.ts';
|
|
2
|
+
import { DataType } from './dataSeriesTypes.ts';
|
|
3
|
+
import CramSlice from '../slice/index.ts';
|
|
4
4
|
export interface DataTypeMapping {
|
|
5
5
|
byte: number;
|
|
6
6
|
int: number;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import CramCodec, { Cursors } from './_base';
|
|
2
|
-
import { BetaEncoding } from '../encoding';
|
|
3
|
-
import { CramFileBlock } from '../file';
|
|
4
|
-
import CramSlice from '../slice';
|
|
1
|
+
import CramCodec, { Cursors } from './_base.ts';
|
|
2
|
+
import { BetaEncoding } from '../encoding.ts';
|
|
3
|
+
import { CramFileBlock } from '../file.ts';
|
|
4
|
+
import CramSlice from '../slice/index.ts';
|
|
5
5
|
export default class BetaCodec extends CramCodec<'int', BetaEncoding['parameters']> {
|
|
6
6
|
constructor(parameters: BetaEncoding['parameters'], dataType: 'int');
|
|
7
|
-
decode(
|
|
7
|
+
decode(_slice: CramSlice, coreDataBlock: CramFileBlock, _blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number;
|
|
8
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import CramCodec from
|
|
2
|
-
import { getBits } from
|
|
3
|
-
import { CramUnimplementedError } from
|
|
1
|
+
import CramCodec from "./_base.js";
|
|
2
|
+
import { getBits } from "./getBits.js";
|
|
3
|
+
import { CramUnimplementedError } from "../../errors.js";
|
|
4
4
|
export default class BetaCodec extends CramCodec {
|
|
5
5
|
constructor(parameters, dataType) {
|
|
6
6
|
super(parameters, dataType);
|
|
@@ -8,7 +8,7 @@ export default class BetaCodec extends CramCodec {
|
|
|
8
8
|
throw new CramUnimplementedError(`${this.dataType} decoding not yet implemented by BETA codec`);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
decode(
|
|
11
|
+
decode(_slice, coreDataBlock, _blocksByContentId, cursors) {
|
|
12
12
|
const fromBits = getBits(coreDataBlock.content, cursors.coreBlock, this.parameters.length);
|
|
13
13
|
return fromBits - this.parameters.offset;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beta.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/beta.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"beta.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/beta.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAKxD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAGtC;IACC,YAAY,UAAsC,EAAE,QAAe;QACjE,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,6CAA6C,CAC9D,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,MAAiB,EACjB,aAA4B,EAC5B,kBAAiD,EACjD,OAAgB;QAEhB,MAAM,QAAQ,GAAG,OAAO,CACtB,aAAa,CAAC,OAAO,EACrB,OAAO,CAAC,SAAS,EACjB,IAAI,CAAC,UAAU,CAAC,MAAM,CACvB,CAAA;QACD,OAAO,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;IAC1C,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import CramCodec, { Cursors } from './_base';
|
|
2
|
-
import { ByteArrayLengthEncoding, CramEncoding } from '../encoding';
|
|
3
|
-
import { CramFileBlock } from '../file';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import CramCodec, { Cursors } from './_base.ts';
|
|
2
|
+
import { ByteArrayLengthEncoding, CramEncoding } from '../encoding.ts';
|
|
3
|
+
import { CramFileBlock } from '../file.ts';
|
|
4
|
+
import { DataType } from './dataSeriesTypes.ts';
|
|
5
|
+
import CramSlice from '../slice/index.ts';
|
|
6
6
|
type CramCodecFactory = <TData extends DataType = DataType>(encodingData: CramEncoding, dataType: TData | 'ignore') => CramCodec<TData>;
|
|
7
7
|
export default class ByteArrayStopCodec extends CramCodec<'byteArray', ByteArrayLengthEncoding['parameters']> {
|
|
8
8
|
private instantiateCodec;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import CramCodec from
|
|
2
|
-
import { tinyMemoize } from
|
|
1
|
+
import CramCodec from "./_base.js";
|
|
2
|
+
import { tinyMemoize } from "../util.js";
|
|
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,SAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"byteArrayLength.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/byteArrayLength.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,YAAY,CAAA;AAK/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAOxC,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;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;AAED,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAC1D,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;AACzC,CAAC,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import CramCodec, { Cursor, Cursors } from './_base';
|
|
2
|
-
import { ByteArrayStopCramEncoding } from '../encoding';
|
|
3
|
-
import { CramFileBlock } from '../file';
|
|
4
|
-
import CramSlice from '../slice';
|
|
1
|
+
import CramCodec, { Cursor, Cursors } from './_base.ts';
|
|
2
|
+
import { ByteArrayStopCramEncoding } from '../encoding.ts';
|
|
3
|
+
import { CramFileBlock } from '../file.ts';
|
|
4
|
+
import CramSlice from '../slice/index.ts';
|
|
5
5
|
export default class ByteArrayStopCodec extends CramCodec<'byteArray', ByteArrayStopCramEncoding['parameters']> {
|
|
6
|
-
decode(
|
|
6
|
+
decode(_slice: CramSlice, _coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): Uint8Array<ArrayBufferLike>;
|
|
7
7
|
_decodeByteArray(contentBlock: CramFileBlock, cursor: Cursor): Uint8Array<ArrayBufferLike>;
|
|
8
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import CramCodec from
|
|
2
|
-
import { CramMalformedError } from
|
|
3
|
-
import { CramBufferOverrunError } from
|
|
1
|
+
import CramCodec from "./_base.js";
|
|
2
|
+
import { CramMalformedError } from "../../errors.js";
|
|
3
|
+
import { CramBufferOverrunError } from "./getBits.js";
|
|
4
4
|
export default class ByteArrayStopCodec extends CramCodec {
|
|
5
|
-
decode(
|
|
5
|
+
decode(_slice, _coreDataBlock, blocksByContentId, cursors) {
|
|
6
6
|
const { blockContentId } = this.parameters;
|
|
7
7
|
const contentBlock = blocksByContentId[blockContentId];
|
|
8
8
|
if (!contentBlock) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"byteArrayStop.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/byteArrayStop.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,
|
|
1
|
+
{"version":3,"file":"byteArrayStop.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/byteArrayStop.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAGrD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAG/C;IACC,MAAM,CACJ,MAAiB,EACjB,cAA6B,EAC7B,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,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IAED,gBAAgB,CAAC,YAA2B,EAAE,MAAc;QAC1D,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAA;QACvC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QACpC,6BAA6B;QAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAA;QACzC,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACtC,OACE,UAAU,CAAC,YAAY,CAAC,KAAK,QAAQ;YACrC,YAAY,GAAG,UAAU,CAAC,MAAM,EAChC,CAAC;YACD,IAAI,YAAY,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,IAAI,sBAAsB,CAC9B,qDAAqD,CACtD,CAAA;YACH,CAAC;YACD,YAAY,GAAG,YAAY,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,MAAM,CAAC,YAAY,GAAG,YAAY,GAAG,CAAC,CAAA;QACtC,OAAO,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;IACzD,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CramEncoding } from '../encoding';
|
|
1
|
+
import { CramEncoding } from '../encoding.ts';
|
|
2
2
|
export type DataType = 'int' | 'byte' | 'long' | 'byteArray';
|
|
3
3
|
export type DataSeriesEncodingKey = 'BF' | 'CF' | 'RI' | 'RL' | 'AP' | 'RG' | 'RN' | 'MF' | 'NS' | 'NP' | 'TS' | 'NF' | 'TL' | 'FN' | 'FC' | 'FP' | 'DL' | 'BB' | 'QQ' | 'BS' | 'IN' | 'RS' | 'PD' | 'HC' | 'SC' | 'MQ' | 'BA' | 'QS' | 'TC' | 'TN';
|
|
4
4
|
export type DataSeriesEncodingMap = Record<DataSeriesEncodingKey, CramEncoding>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import CramCodec, { Cursor, Cursors } from './_base';
|
|
2
|
-
import { CramFileBlock } from '../file';
|
|
3
|
-
import CramSlice from '../slice';
|
|
4
|
-
import { ExternalCramEncoding } from '../encoding';
|
|
1
|
+
import CramCodec, { Cursor, Cursors } from './_base.ts';
|
|
2
|
+
import { CramFileBlock } from '../file.ts';
|
|
3
|
+
import CramSlice from '../slice/index.ts';
|
|
4
|
+
import { ExternalCramEncoding } from '../encoding.ts';
|
|
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(
|
|
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
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import CramCodec from
|
|
2
|
-
import { CramUnimplementedError } from
|
|
3
|
-
import { parseItf8 } from
|
|
4
|
-
import { CramBufferOverrunError } from
|
|
1
|
+
import CramCodec from "./_base.js";
|
|
2
|
+
import { CramUnimplementedError } from "../../errors.js";
|
|
3
|
+
import { parseItf8 } from "../util.js";
|
|
4
|
+
import { CramBufferOverrunError } from "./getBits.js";
|
|
5
5
|
export default class ExternalCodec extends CramCodec {
|
|
6
6
|
constructor(parameters, dataType) {
|
|
7
7
|
super(parameters, dataType);
|
|
@@ -15,11 +15,12 @@ export default class ExternalCodec extends CramCodec {
|
|
|
15
15
|
throw new CramUnimplementedError(`${this.dataType} decoding not yet implemented by EXTERNAL codec`);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
decode(
|
|
18
|
+
decode(_slice, _coreDataBlock, blocksByContentId, cursors) {
|
|
19
19
|
const { blockContentId } = this.parameters;
|
|
20
20
|
const contentBlock = blocksByContentId[blockContentId];
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
return contentBlock
|
|
22
|
+
? this._decodeData(contentBlock, cursors.externalBlocks.getCursor(blockContentId))
|
|
23
|
+
: undefined;
|
|
23
24
|
}
|
|
24
25
|
_decodeInt(contentBlock, cursor) {
|
|
25
26
|
const [result, bytesRead] = parseItf8(contentBlock.content, cursor.bytePosition);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,
|
|
1
|
+
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAGrD,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,MAAiB,EACjB,cAA6B,EAC7B,iBAAgD,EAChD,OAAgB;QAEhB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;QACtD,OAAO,YAAY;YACjB,CAAC,CAAC,IAAI,CAAC,WAAW,CACd,YAAY,EACZ,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CACjD;YACH,CAAC,CAAC,SAAS,CAAA;IACf,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,CAAE,CAAA;IACrD,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import CramCodec, { Cursors } from './_base';
|
|
2
|
-
import { GammaEncoding } from '../encoding';
|
|
3
|
-
import { CramFileBlock } from '../file';
|
|
4
|
-
import CramSlice from '../slice';
|
|
1
|
+
import CramCodec, { Cursors } from './_base.ts';
|
|
2
|
+
import { GammaEncoding } from '../encoding.ts';
|
|
3
|
+
import { CramFileBlock } from '../file.ts';
|
|
4
|
+
import CramSlice from '../slice/index.ts';
|
|
5
5
|
export default class GammaCodec extends CramCodec<'int', GammaEncoding['parameters']> {
|
|
6
6
|
constructor(parameters: GammaEncoding['parameters'], dataType: 'int');
|
|
7
|
-
decode(
|
|
7
|
+
decode(_slice: CramSlice, coreDataBlock: CramFileBlock, _blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number;
|
|
8
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import CramCodec from
|
|
2
|
-
import { getBits } from
|
|
3
|
-
import { CramUnimplementedError } from
|
|
1
|
+
import CramCodec from "./_base.js";
|
|
2
|
+
import { getBits } from "./getBits.js";
|
|
3
|
+
import { CramUnimplementedError } from "../../errors.js";
|
|
4
4
|
export default class GammaCodec extends CramCodec {
|
|
5
5
|
constructor(parameters, dataType) {
|
|
6
6
|
super(parameters, dataType);
|
|
@@ -8,7 +8,7 @@ export default class GammaCodec extends CramCodec {
|
|
|
8
8
|
throw new CramUnimplementedError(`${this.dataType} decoding not yet implemented by GAMMA codec`);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
decode(
|
|
11
|
+
decode(_slice, coreDataBlock, _blocksByContentId, cursors) {
|
|
12
12
|
let length = 1;
|
|
13
13
|
while (getBits(coreDataBlock.content, cursors.coreBlock, 1) === 0) {
|
|
14
14
|
length = length + 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gamma.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/gamma.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"gamma.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/gamma.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAKxD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAGvC;IACC,YAAY,UAAuC,EAAE,QAAe;QAClE,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,8CAA8C,CAC/D,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,MAAiB,EACjB,aAA4B,EAC5B,kBAAiD,EACjD,OAAgB;QAEhB,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CACtB,aAAa,CAAC,OAAO,EACrB,OAAO,CAAC,SAAS,EACjB,MAAM,GAAG,CAAC,CACX,CAAA;QAED,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QAC5C,OAAO,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;IACvC,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import CramCodec, { Cursor, Cursors } from './_base';
|
|
2
|
-
import { HuffmanEncoding } from '../encoding';
|
|
3
|
-
import { CramFileBlock } from '../file';
|
|
4
|
-
import CramSlice from '../slice';
|
|
1
|
+
import CramCodec, { Cursor, Cursors } from './_base.ts';
|
|
2
|
+
import { HuffmanEncoding } from '../encoding.ts';
|
|
3
|
+
import { CramFileBlock } from '../file.ts';
|
|
4
|
+
import CramSlice from '../slice/index.ts';
|
|
5
5
|
export default class HuffmanIntCodec extends CramCodec<'byte' | 'int', HuffmanEncoding['parameters']> {
|
|
6
6
|
private codes;
|
|
7
7
|
private codeBook;
|
|
@@ -14,7 +14,7 @@ export default class HuffmanIntCodec extends CramCodec<'byte' | 'int', HuffmanEn
|
|
|
14
14
|
buildCodeBook(): void;
|
|
15
15
|
buildCodes(): void;
|
|
16
16
|
buildCaches(): void;
|
|
17
|
-
decode(slice: CramSlice, coreDataBlock: CramFileBlock,
|
|
17
|
+
decode(slice: CramSlice, coreDataBlock: CramFileBlock, _blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number;
|
|
18
18
|
_decodeZeroLengthCode(): number;
|
|
19
|
-
_decode(
|
|
19
|
+
_decode(_slice: CramSlice, coreDataBlock: CramFileBlock, coreCursor: Cursor): number;
|
|
20
20
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import CramCodec from
|
|
2
|
-
import { getBits } from
|
|
3
|
-
import { CramMalformedError } from
|
|
1
|
+
import CramCodec from "./_base.js";
|
|
2
|
+
import { getBits } from "./getBits.js";
|
|
3
|
+
import { CramMalformedError } from "../../errors.js";
|
|
4
4
|
function numberOfSetBits(ii) {
|
|
5
5
|
let i = (ii - (ii >> 1)) & 0x55555555;
|
|
6
6
|
i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
|
|
@@ -82,7 +82,7 @@ export default class HuffmanIntCodec extends CramCodec {
|
|
|
82
82
|
this.bitCodeToValue[this.sortedCodes[i].bitCode] = i;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
decode(slice, coreDataBlock,
|
|
85
|
+
decode(slice, coreDataBlock, _blocksByContentId, cursors) {
|
|
86
86
|
return this._decode(slice, coreDataBlock, cursors.coreBlock);
|
|
87
87
|
}
|
|
88
88
|
// _decodeNull() {
|
|
@@ -92,7 +92,7 @@ export default class HuffmanIntCodec extends CramCodec {
|
|
|
92
92
|
_decodeZeroLengthCode() {
|
|
93
93
|
return this.sortedCodes[0].value;
|
|
94
94
|
}
|
|
95
|
-
_decode(
|
|
95
|
+
_decode(_slice, coreDataBlock, coreCursor) {
|
|
96
96
|
const input = coreDataBlock.content;
|
|
97
97
|
let prevLen = 0;
|
|
98
98
|
let bits = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huffman.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/huffman.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,
|
|
1
|
+
{"version":3,"file":"huffman.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/huffman.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import CramCodec from './_base';
|
|
2
|
-
import { DataType } from './dataSeriesTypes';
|
|
3
|
-
import { CramEncoding } from '../encoding';
|
|
1
|
+
import CramCodec from './_base.ts';
|
|
2
|
+
import { DataType } from './dataSeriesTypes.ts';
|
|
3
|
+
import { CramEncoding } from '../encoding.ts';
|
|
4
4
|
export declare function instantiateCodec<TResult extends DataType = DataType>(encodingData: CramEncoding, dataType: DataType | 'ignore'): CramCodec<TResult>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import BetaCodec from
|
|
2
|
-
import ByteArrayLengthCodec from
|
|
3
|
-
import ByteArrayStopCodec from
|
|
4
|
-
import ExternalCodec from
|
|
5
|
-
import GammaCodec from
|
|
6
|
-
import HuffmanIntCodec from
|
|
7
|
-
import SubexpCodec from
|
|
8
|
-
import { CramUnimplementedError } from
|
|
1
|
+
import BetaCodec from "./beta.js";
|
|
2
|
+
import ByteArrayLengthCodec from "./byteArrayLength.js";
|
|
3
|
+
import ByteArrayStopCodec from "./byteArrayStop.js";
|
|
4
|
+
import ExternalCodec from "./external.js";
|
|
5
|
+
import GammaCodec from "./gamma.js";
|
|
6
|
+
import HuffmanIntCodec from "./huffman.js";
|
|
7
|
+
import SubexpCodec from "./subexp.js";
|
|
8
|
+
import { CramUnimplementedError } from "../../errors.js";
|
|
9
9
|
const codecClasses = {
|
|
10
10
|
1: ExternalCodec,
|
|
11
11
|
// 2: GolombCodec,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/index.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/index.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,oBAAoB,MAAM,sBAAsB,CAAA;AACvD,OAAO,kBAAkB,MAAM,oBAAoB,CAAA;AAEnD,OAAO,aAAa,MAAM,eAAe,CAAA;AACzC,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,eAAe,MAAM,cAAc,CAAA;AAC1C,OAAO,WAAW,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,MAAM,YAAY,GAAG;IACnB,CAAC,EAAE,aAAa;IAChB,kBAAkB;IAClB,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,WAAW;IACd,sBAAsB;IACtB,CAAC,EAAE,UAAU;CACd,CAAA;AAED,SAAS,mBAAmB,CAAC,EAAU;IACrC,OAAQ,YAAoB,CAAC,EAAE,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAA0B,EAC1B,QAA6B;IAE7B,MAAM,UAAU,GAAG,mBAAmB,CACpC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CACjD,CAAA;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,sBAAsB,CAC9B,qCAAqC,YAAY,CAAC,OAAO,EAAE,CAC5D,CAAA;IACH,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;AAC5E,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import CramCodec, { Cursors } from './_base';
|
|
2
|
-
import { SubexpEncoding } from '../encoding';
|
|
3
|
-
import { CramFileBlock } from '../file';
|
|
4
|
-
import CramSlice from '../slice';
|
|
1
|
+
import CramCodec, { Cursors } from './_base.ts';
|
|
2
|
+
import { SubexpEncoding } from '../encoding.ts';
|
|
3
|
+
import { CramFileBlock } from '../file.ts';
|
|
4
|
+
import CramSlice from '../slice/index.ts';
|
|
5
5
|
export default class SubexpCodec extends CramCodec<'int', SubexpEncoding['parameters']> {
|
|
6
6
|
constructor(parameters: SubexpEncoding['parameters'], dataType: 'int');
|
|
7
|
-
decode(
|
|
7
|
+
decode(_slice: CramSlice, coreDataBlock: CramFileBlock, _blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number;
|
|
8
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import CramCodec from
|
|
2
|
-
import { getBits } from
|
|
3
|
-
import { CramUnimplementedError } from
|
|
1
|
+
import CramCodec from "./_base.js";
|
|
2
|
+
import { getBits } from "./getBits.js";
|
|
3
|
+
import { CramUnimplementedError } from "../../errors.js";
|
|
4
4
|
export default class SubexpCodec extends CramCodec {
|
|
5
5
|
constructor(parameters, dataType) {
|
|
6
6
|
super(parameters, dataType);
|
|
@@ -8,7 +8,7 @@ export default class SubexpCodec extends CramCodec {
|
|
|
8
8
|
throw new CramUnimplementedError(`${this.dataType} decoding not yet implemented by SUBEXP codec`);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
decode(
|
|
11
|
+
decode(_slice, coreDataBlock, _blocksByContentId, cursors) {
|
|
12
12
|
let numLeadingOnes = 0;
|
|
13
13
|
while (getBits(coreDataBlock.content, cursors.coreBlock, 1)) {
|
|
14
14
|
numLeadingOnes = numLeadingOnes + 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subexp.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/subexp.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"subexp.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/subexp.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAKxD,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,MAAiB,EACjB,aAA4B,EAC5B,kBAAiD,EACjD,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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import CramCodec from '../codecs/_base';
|
|
2
|
-
import { DataSeriesEncodingKey, DataSeriesEncodingMap } from '../codecs/dataSeriesTypes';
|
|
3
|
-
import { CramEncoding } from '../encoding';
|
|
4
|
-
import { CramCompressionHeader } from '../sectionParsers';
|
|
1
|
+
import CramCodec from '../codecs/_base.ts';
|
|
2
|
+
import { DataSeriesEncodingKey, DataSeriesEncodingMap } from '../codecs/dataSeriesTypes.ts';
|
|
3
|
+
import { CramEncoding } from '../encoding.ts';
|
|
4
|
+
import { CramCompressionHeader } from '../sectionParsers.ts';
|
|
5
5
|
declare const dataSeriesTypes: {
|
|
6
6
|
readonly BF: "int";
|
|
7
7
|
readonly CF: "int";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CramMalformedError } from
|
|
2
|
-
import { instantiateCodec } from
|
|
1
|
+
import { CramMalformedError } from "../../errors.js";
|
|
2
|
+
import { instantiateCodec } from "../codecs/index.js";
|
|
3
3
|
// the hardcoded data type to be decoded for each core
|
|
4
4
|
// data field
|
|
5
5
|
const dataSeriesTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compressionScheme.js","sourceRoot":"","sources":["../../../src/cramFile/container/compressionScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"compressionScheme.js","sourceRoot":"","sources":["../../../src/cramFile/container/compressionScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAMpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAIrD,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,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAE1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAE1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAE1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAE1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAE1C,OAAO,MAAM,CAAA;AACf,CAAC;AAMD,MAAM,CAAC,OAAO,OAAO,8BAA8B;IAWjD,YAAY,OAA8B;QALnC,yBAAoB,GAAoB,EAAE,CAAA;QAC1C,kBAAa,GAA8B,EAAE,CAAA;QAC7C,gBAAW,GAAiC,EAAE,CAAA;QAInD,iEAAiE;QACjE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAA;QACtC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAA;QAClD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAA;QAC/C,IAAI,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACxC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,OAAe;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;YAC3C,CAAC;YACD,MAAM,GAAG,GAAG,gBAAgB,CAC1B,YAAY,EACZ,WAAW,CACZ,CAAA;YACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,GAAG,CAAA;YACjC,OAAO,GAAG,CAAA;QACZ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;IACzC,CAAC;IAED,qBAAqB,CACnB,cAA2B;QAE3B,IAAI,CAAC,GACH,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAA;QAC3C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;YAC5D,uEAAuE;YACvE,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;gBAChD,uEAAuE;gBACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,kBAAkB,CAC1B,oBAAoB,cAAc,yCAAyC,CAC5E,CAAA;gBACH,CAAC;gBACD,CAAC,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;gBAC5C,+CAA+C;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG,CAAmB,CAAA;YACjE,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAA;IACV,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,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,OAAM;YACR,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,GAAI,IAAY,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import CramSlice from '../slice';
|
|
2
|
-
import CramContainerCompressionScheme from './compressionScheme';
|
|
3
|
-
import CramFile from '../file';
|
|
1
|
+
import CramSlice from '../slice/index.ts';
|
|
2
|
+
import CramContainerCompressionScheme from './compressionScheme.ts';
|
|
3
|
+
import CramFile from '../file.ts';
|
|
4
4
|
export default class CramContainer {
|
|
5
5
|
file: CramFile;
|
|
6
6
|
filePosition: number;
|
|
@@ -22,14 +22,14 @@ export default class CramContainer {
|
|
|
22
22
|
}>;
|
|
23
23
|
getCompressionHeaderBlock(): Promise<{
|
|
24
24
|
parsedContent: {
|
|
25
|
-
dataSeriesEncoding: import("../codecs/dataSeriesTypes").DataSeriesEncodingMap;
|
|
26
|
-
preservation: import("../sectionParsers").CramPreservationMap;
|
|
27
|
-
tagEncoding: Record<string, import("../encoding").CramEncoding>;
|
|
25
|
+
dataSeriesEncoding: import("../codecs/dataSeriesTypes.ts").DataSeriesEncodingMap;
|
|
26
|
+
preservation: import("../sectionParsers.ts").CramPreservationMap;
|
|
27
|
+
tagEncoding: Record<string, import("../encoding.ts").CramEncoding>;
|
|
28
28
|
} & {
|
|
29
29
|
_endPosition: number;
|
|
30
30
|
_size: number;
|
|
31
31
|
};
|
|
32
|
-
compressionMethod: import("../sectionParsers").CompressionMethod;
|
|
32
|
+
compressionMethod: import("../sectionParsers.ts").CompressionMethod;
|
|
33
33
|
contentType: "FILE_HEADER" | "COMPRESSION_HEADER" | "MAPPED_SLICE_HEADER" | "UNMAPPED_SLICE_HEADER" | "EXTERNAL_DATA" | "CORE_DATA";
|
|
34
34
|
contentId: number;
|
|
35
35
|
compressedSize: number;
|
|
@@ -40,7 +40,7 @@ export default class CramContainer {
|
|
|
40
40
|
content: Uint8Array;
|
|
41
41
|
crc32?: number;
|
|
42
42
|
} | null>;
|
|
43
|
-
getFirstBlock(): Promise<import("../file").CramFileBlock>;
|
|
43
|
+
getFirstBlock(): Promise<import("../file.ts").CramFileBlock>;
|
|
44
44
|
getCompressionScheme(): Promise<CramContainerCompressionScheme | undefined>;
|
|
45
45
|
getSlice(slicePosition: number, sliceSize: number): CramSlice;
|
|
46
46
|
_readContainerHeader(position: number): Promise<{
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { CramMalformedError } from
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { getSectionParsers } from '../sectionParsers';
|
|
1
|
+
import { CramMalformedError } from "../../errors.js";
|
|
2
|
+
import CramSlice from "../slice/index.js";
|
|
3
|
+
import { itf8Size, parseItem, tinyMemoize } from "../util.js";
|
|
4
|
+
import CramContainerCompressionScheme from "./compressionScheme.js";
|
|
5
|
+
import { getSectionParsers } from "../sectionParsers.js";
|
|
7
6
|
export default class CramContainer {
|
|
8
7
|
constructor(file, filePosition) {
|
|
9
8
|
this.file = file;
|