@gmod/cram 3.0.7 → 4.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.
Files changed (268) hide show
  1. package/dist/craiIndex.js +70 -87
  2. package/dist/craiIndex.js.map +1 -1
  3. package/dist/cram-bundle.js +1 -1
  4. package/dist/cramFile/codecs/_base.d.ts +1 -1
  5. package/dist/cramFile/codecs/beta.d.ts +2 -2
  6. package/dist/cramFile/codecs/beta.js +1 -1
  7. package/dist/cramFile/codecs/beta.js.map +1 -1
  8. package/dist/cramFile/codecs/byteArrayLength.d.ts +2 -2
  9. package/dist/cramFile/codecs/byteArrayStop.d.ts +4 -4
  10. package/dist/cramFile/codecs/byteArrayStop.js +1 -1
  11. package/dist/cramFile/codecs/byteArrayStop.js.map +1 -1
  12. package/dist/cramFile/codecs/external.d.ts +1 -1
  13. package/dist/cramFile/codecs/external.js +1 -1
  14. package/dist/cramFile/codecs/external.js.map +1 -1
  15. package/dist/cramFile/codecs/gamma.d.ts +1 -1
  16. package/dist/cramFile/codecs/gamma.js +1 -1
  17. package/dist/cramFile/codecs/gamma.js.map +1 -1
  18. package/dist/cramFile/codecs/getBits.d.ts +1 -1
  19. package/dist/cramFile/codecs/getBits.js.map +1 -1
  20. package/dist/cramFile/codecs/huffman.d.ts +1 -1
  21. package/dist/cramFile/codecs/huffman.js +1 -1
  22. package/dist/cramFile/codecs/huffman.js.map +1 -1
  23. package/dist/cramFile/codecs/index.d.ts +1 -1
  24. package/dist/cramFile/codecs/index.js +5 -5
  25. package/dist/cramFile/codecs/index.js.map +1 -1
  26. package/dist/cramFile/codecs/subexp.d.ts +2 -2
  27. package/dist/cramFile/codecs/subexp.js +1 -1
  28. package/dist/cramFile/codecs/subexp.js.map +1 -1
  29. package/dist/cramFile/container/compressionScheme.d.ts +2 -2
  30. package/dist/cramFile/container/compressionScheme.js +1 -1
  31. package/dist/cramFile/container/compressionScheme.js.map +1 -1
  32. package/dist/cramFile/container/index.d.ts +1 -2
  33. package/dist/cramFile/container/index.js +62 -79
  34. package/dist/cramFile/container/index.js.map +1 -1
  35. package/dist/cramFile/file.d.ts +9 -13
  36. package/dist/cramFile/file.js +218 -247
  37. package/dist/cramFile/file.js.map +1 -1
  38. package/dist/cramFile/record.js +2 -2
  39. package/dist/cramFile/record.js.map +1 -1
  40. package/dist/cramFile/sectionParsers.d.ts +16 -16
  41. package/dist/cramFile/sectionParsers.js +12 -9
  42. package/dist/cramFile/sectionParsers.js.map +1 -1
  43. package/dist/cramFile/slice/decodeRecord.d.ts +3 -3
  44. package/dist/cramFile/slice/decodeRecord.js +11 -11
  45. package/dist/cramFile/slice/decodeRecord.js.map +1 -1
  46. package/dist/cramFile/slice/index.d.ts +2 -2
  47. package/dist/cramFile/slice/index.js +241 -262
  48. package/dist/cramFile/slice/index.js.map +1 -1
  49. package/dist/cramFile/util.d.ts +4 -2
  50. package/dist/cramFile/util.js +29 -6
  51. package/dist/cramFile/util.js.map +1 -1
  52. package/dist/htscodecs/arith_gen.d.ts +9 -17
  53. package/dist/htscodecs/arith_gen.js +32 -272
  54. package/dist/htscodecs/arith_gen.js.map +1 -1
  55. package/dist/htscodecs/fqzcomp.d.ts +1 -2
  56. package/dist/htscodecs/fqzcomp.js +2 -421
  57. package/dist/htscodecs/fqzcomp.js.map +1 -1
  58. package/dist/htscodecs/index.d.ts +5 -5
  59. package/dist/htscodecs/index.js +10 -10
  60. package/dist/htscodecs/index.js.map +1 -1
  61. package/dist/htscodecs/iostream.d.ts +2 -1
  62. package/dist/htscodecs/iostream.js +3 -2
  63. package/dist/htscodecs/iostream.js.map +1 -1
  64. package/dist/htscodecs/rans.d.ts +1 -2
  65. package/dist/htscodecs/rans.js +3 -270
  66. package/dist/htscodecs/rans.js.map +1 -1
  67. package/dist/htscodecs/rans4x16.d.ts +0 -1
  68. package/dist/htscodecs/rans4x16.js +6 -497
  69. package/dist/htscodecs/rans4x16.js.map +1 -1
  70. package/dist/htscodecs/tok3.js +17 -1
  71. package/dist/htscodecs/tok3.js.map +1 -1
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.js +2 -2
  74. package/dist/index.js.map +1 -1
  75. package/dist/indexedCramFile.d.ts +4 -4
  76. package/dist/indexedCramFile.js +97 -108
  77. package/dist/indexedCramFile.js.map +1 -1
  78. package/dist/io/index.d.ts +2 -2
  79. package/dist/io/index.js +6 -6
  80. package/dist/io/index.js.map +1 -1
  81. package/dist/rans/constants.d.ts +1 -1
  82. package/dist/rans/constants.js +1 -1
  83. package/dist/rans/constants.js.map +1 -1
  84. package/dist/rans/d04.js.map +1 -1
  85. package/dist/rans/decoding.js.map +1 -1
  86. package/dist/rans/frequencies.js.map +1 -1
  87. package/dist/rans/index.js +5 -5
  88. package/dist/rans/index.js.map +1 -1
  89. package/dist/unzip.d.ts +1 -1
  90. package/dist/unzip.js +5 -3
  91. package/dist/unzip.js.map +1 -1
  92. package/esm/craiIndex.js +10 -12
  93. package/esm/craiIndex.js.map +1 -1
  94. package/esm/cramFile/codecs/_base.d.ts +1 -1
  95. package/esm/cramFile/codecs/beta.d.ts +2 -2
  96. package/esm/cramFile/codecs/beta.js +1 -1
  97. package/esm/cramFile/codecs/beta.js.map +1 -1
  98. package/esm/cramFile/codecs/byteArrayLength.d.ts +2 -2
  99. package/esm/cramFile/codecs/byteArrayStop.d.ts +4 -4
  100. package/esm/cramFile/codecs/byteArrayStop.js +1 -1
  101. package/esm/cramFile/codecs/byteArrayStop.js.map +1 -1
  102. package/esm/cramFile/codecs/external.d.ts +1 -1
  103. package/esm/cramFile/codecs/external.js +1 -1
  104. package/esm/cramFile/codecs/external.js.map +1 -1
  105. package/esm/cramFile/codecs/gamma.d.ts +1 -1
  106. package/esm/cramFile/codecs/gamma.js +1 -1
  107. package/esm/cramFile/codecs/gamma.js.map +1 -1
  108. package/esm/cramFile/codecs/getBits.d.ts +1 -1
  109. package/esm/cramFile/codecs/getBits.js.map +1 -1
  110. package/esm/cramFile/codecs/huffman.d.ts +1 -1
  111. package/esm/cramFile/codecs/huffman.js +1 -1
  112. package/esm/cramFile/codecs/huffman.js.map +1 -1
  113. package/esm/cramFile/codecs/index.d.ts +1 -1
  114. package/esm/cramFile/codecs/index.js +5 -5
  115. package/esm/cramFile/codecs/index.js.map +1 -1
  116. package/esm/cramFile/codecs/subexp.d.ts +2 -2
  117. package/esm/cramFile/codecs/subexp.js +1 -1
  118. package/esm/cramFile/codecs/subexp.js.map +1 -1
  119. package/esm/cramFile/container/compressionScheme.d.ts +2 -2
  120. package/esm/cramFile/container/compressionScheme.js +1 -1
  121. package/esm/cramFile/container/compressionScheme.js.map +1 -1
  122. package/esm/cramFile/container/index.d.ts +1 -2
  123. package/esm/cramFile/container/index.js +4 -7
  124. package/esm/cramFile/container/index.js.map +1 -1
  125. package/esm/cramFile/file.d.ts +9 -13
  126. package/esm/cramFile/file.js +47 -52
  127. package/esm/cramFile/file.js.map +1 -1
  128. package/esm/cramFile/record.js +2 -2
  129. package/esm/cramFile/record.js.map +1 -1
  130. package/esm/cramFile/sectionParsers.d.ts +16 -16
  131. package/esm/cramFile/sectionParsers.js +7 -7
  132. package/esm/cramFile/sectionParsers.js.map +1 -1
  133. package/esm/cramFile/slice/decodeRecord.d.ts +3 -3
  134. package/esm/cramFile/slice/decodeRecord.js +11 -11
  135. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  136. package/esm/cramFile/slice/index.d.ts +2 -2
  137. package/esm/cramFile/slice/index.js +7 -6
  138. package/esm/cramFile/slice/index.js.map +1 -1
  139. package/esm/cramFile/util.d.ts +4 -2
  140. package/esm/cramFile/util.js +19 -2
  141. package/esm/cramFile/util.js.map +1 -1
  142. package/esm/htscodecs/arith_gen.d.ts +9 -17
  143. package/esm/htscodecs/arith_gen.js +32 -272
  144. package/esm/htscodecs/arith_gen.js.map +1 -1
  145. package/esm/htscodecs/fqzcomp.d.ts +1 -2
  146. package/esm/htscodecs/fqzcomp.js +2 -421
  147. package/esm/htscodecs/fqzcomp.js.map +1 -1
  148. package/esm/htscodecs/index.d.ts +5 -5
  149. package/esm/htscodecs/index.js +10 -10
  150. package/esm/htscodecs/index.js.map +1 -1
  151. package/esm/htscodecs/iostream.d.ts +2 -1
  152. package/esm/htscodecs/iostream.js +3 -2
  153. package/esm/htscodecs/iostream.js.map +1 -1
  154. package/esm/htscodecs/rans.d.ts +1 -2
  155. package/esm/htscodecs/rans.js +3 -270
  156. package/esm/htscodecs/rans.js.map +1 -1
  157. package/esm/htscodecs/rans4x16.d.ts +0 -1
  158. package/esm/htscodecs/rans4x16.js +6 -497
  159. package/esm/htscodecs/rans4x16.js.map +1 -1
  160. package/esm/htscodecs/tok3.js +17 -1
  161. package/esm/htscodecs/tok3.js.map +1 -1
  162. package/esm/index.d.ts +1 -1
  163. package/esm/index.js +1 -1
  164. package/esm/index.js.map +1 -1
  165. package/esm/indexedCramFile.d.ts +4 -4
  166. package/esm/indexedCramFile.js +10 -10
  167. package/esm/indexedCramFile.js.map +1 -1
  168. package/esm/io/index.d.ts +2 -2
  169. package/esm/io/index.js +1 -1
  170. package/esm/io/index.js.map +1 -1
  171. package/esm/rans/constants.d.ts +1 -1
  172. package/esm/rans/constants.js +1 -1
  173. package/esm/rans/constants.js.map +1 -1
  174. package/esm/rans/d04.js.map +1 -1
  175. package/esm/rans/decoding.js.map +1 -1
  176. package/esm/rans/frequencies.js.map +1 -1
  177. package/esm/rans/index.js +5 -5
  178. package/esm/rans/index.js.map +1 -1
  179. package/esm/unzip.d.ts +1 -1
  180. package/esm/unzip.js +4 -1
  181. package/esm/unzip.js.map +1 -1
  182. package/package.json +7 -9
  183. package/src/craiIndex.ts +17 -16
  184. package/src/cramFile/codecs/_base.ts +1 -1
  185. package/src/cramFile/codecs/beta.ts +3 -3
  186. package/src/cramFile/codecs/byteArrayLength.ts +1 -1
  187. package/src/cramFile/codecs/byteArrayStop.ts +3 -4
  188. package/src/cramFile/codecs/external.ts +3 -3
  189. package/src/cramFile/codecs/gamma.ts +2 -2
  190. package/src/cramFile/codecs/getBits.ts +1 -1
  191. package/src/cramFile/codecs/huffman.ts +2 -3
  192. package/src/cramFile/codecs/index.ts +7 -8
  193. package/src/cramFile/codecs/subexp.ts +3 -3
  194. package/src/cramFile/container/compressionScheme.ts +3 -3
  195. package/src/cramFile/container/index.ts +7 -10
  196. package/src/cramFile/file.ts +71 -77
  197. package/src/cramFile/record.ts +3 -3
  198. package/src/cramFile/sectionParsers.ts +27 -22
  199. package/src/cramFile/slice/decodeRecord.ts +17 -17
  200. package/src/cramFile/slice/index.ts +8 -9
  201. package/src/cramFile/util.ts +24 -5
  202. package/src/htscodecs/arith_gen.js +33 -296
  203. package/src/htscodecs/fqzcomp.js +2 -476
  204. package/src/htscodecs/index.js +9 -11
  205. package/src/htscodecs/iostream.js +3 -2
  206. package/src/htscodecs/rans.js +3 -315
  207. package/src/htscodecs/rans4x16.js +6 -557
  208. package/src/htscodecs/tok3.js +18 -1
  209. package/src/index.ts +1 -1
  210. package/src/indexedCramFile.ts +6 -5
  211. package/src/io/index.ts +5 -4
  212. package/src/rans/constants.ts +1 -1
  213. package/src/rans/d04.ts +0 -1
  214. package/src/rans/decoding.ts +0 -1
  215. package/src/rans/frequencies.ts +0 -1
  216. package/src/rans/index.ts +5 -7
  217. package/src/unzip.ts +5 -1
  218. package/dist/cramFile/filehandle.d.ts +0 -1
  219. package/dist/cramFile/filehandle.js +0 -3
  220. package/dist/cramFile/filehandle.js.map +0 -1
  221. package/dist/htscodecs/main_arith_gen.d.ts +0 -1
  222. package/dist/htscodecs/main_arith_gen.js +0 -86
  223. package/dist/htscodecs/main_arith_gen.js.map +0 -1
  224. package/dist/htscodecs/main_fqzcomp.d.ts +0 -1
  225. package/dist/htscodecs/main_fqzcomp.js +0 -112
  226. package/dist/htscodecs/main_fqzcomp.js.map +0 -1
  227. package/dist/htscodecs/main_rans.d.ts +0 -1
  228. package/dist/htscodecs/main_rans.js +0 -83
  229. package/dist/htscodecs/main_rans.js.map +0 -1
  230. package/dist/htscodecs/main_rans4x16.d.ts +0 -1
  231. package/dist/htscodecs/main_rans4x16.js +0 -82
  232. package/dist/htscodecs/main_rans4x16.js.map +0 -1
  233. package/dist/htscodecs/main_tok3.d.ts +0 -1
  234. package/dist/htscodecs/main_tok3.js +0 -84
  235. package/dist/htscodecs/main_tok3.js.map +0 -1
  236. package/dist/unzip-pako.d.ts +0 -2
  237. package/dist/unzip-pako.js +0 -9
  238. package/dist/unzip-pako.js.map +0 -1
  239. package/esm/cramFile/filehandle.d.ts +0 -1
  240. package/esm/cramFile/filehandle.js +0 -2
  241. package/esm/cramFile/filehandle.js.map +0 -1
  242. package/esm/htscodecs/main_arith_gen.d.ts +0 -1
  243. package/esm/htscodecs/main_arith_gen.js +0 -86
  244. package/esm/htscodecs/main_arith_gen.js.map +0 -1
  245. package/esm/htscodecs/main_fqzcomp.d.ts +0 -1
  246. package/esm/htscodecs/main_fqzcomp.js +0 -112
  247. package/esm/htscodecs/main_fqzcomp.js.map +0 -1
  248. package/esm/htscodecs/main_rans.d.ts +0 -1
  249. package/esm/htscodecs/main_rans.js +0 -83
  250. package/esm/htscodecs/main_rans.js.map +0 -1
  251. package/esm/htscodecs/main_rans4x16.d.ts +0 -1
  252. package/esm/htscodecs/main_rans4x16.js +0 -82
  253. package/esm/htscodecs/main_rans4x16.js.map +0 -1
  254. package/esm/htscodecs/main_tok3.d.ts +0 -1
  255. package/esm/htscodecs/main_tok3.js +0 -84
  256. package/esm/htscodecs/main_tok3.js.map +0 -1
  257. package/esm/unzip-pako.d.ts +0 -2
  258. package/esm/unzip-pako.js +0 -6
  259. package/esm/unzip-pako.js.map +0 -1
  260. package/src/cramFile/filehandle.ts +0 -1
  261. package/src/htscodecs/Makefile +0 -142
  262. package/src/htscodecs/README.md +0 -64
  263. package/src/htscodecs/main_arith_gen.js +0 -96
  264. package/src/htscodecs/main_fqzcomp.js +0 -113
  265. package/src/htscodecs/main_rans.js +0 -88
  266. package/src/htscodecs/main_rans4x16.js +0 -87
  267. package/src/htscodecs/main_tok3.js +0 -86
  268. package/src/unzip-pako.ts +0 -6
@@ -1,11 +1,10 @@
1
- import { Buffer } from 'buffer';
2
1
  import QuickLRU from 'quick-lru';
3
- import { BlockHeader, CompressionMethod } from './sectionParsers';
4
2
  import CramContainer from './container';
5
3
  import CramRecord from './record';
6
- import { Filehandle } from './filehandle';
4
+ import { BlockHeader, CompressionMethod } from './sectionParsers';
5
+ import type { GenericFilehandle } from 'generic-filehandle2';
7
6
  export interface CramFileSource {
8
- filehandle?: Filehandle;
7
+ filehandle?: GenericFilehandle;
9
8
  url?: string;
10
9
  path?: string;
11
10
  }
@@ -19,7 +18,7 @@ export type CramFileBlock = BlockHeader & {
19
18
  _endPosition: number;
20
19
  contentPosition: number;
21
20
  _size: number;
22
- content: Buffer;
21
+ content: Uint8Array;
23
22
  crc32?: number;
24
23
  };
25
24
  export default class CramFile {
@@ -33,11 +32,8 @@ export default class CramFile {
33
32
  featureCache: QuickLRU<string, Promise<CramRecord[]>>;
34
33
  private header;
35
34
  constructor(args: CramFileArgs);
36
- read(buffer: Buffer, offset: number, length: number, position: number): Promise<{
37
- bytesRead: number;
38
- buffer: Buffer;
39
- }>;
40
- stat(): Promise<import("generic-filehandle").Stats>;
35
+ stat(): Promise<import("generic-filehandle2").Stats>;
36
+ read(length: number, position: number): Promise<Uint8Array<ArrayBuffer>>;
41
37
  getDefinition(): Promise<{
42
38
  magic: string;
43
39
  majorVersion: number;
@@ -71,14 +67,14 @@ export default class CramFile {
71
67
  }) | undefined>;
72
68
  _parseSection<T>(section: {
73
69
  maxLength: number;
74
- parser: (buffer: Buffer, offset: number) => {
70
+ parser: (buffer: Uint8Array, offset: number) => {
75
71
  offset: number;
76
72
  value: T;
77
73
  };
78
- }, position: number, size?: number, preReadBuffer?: Buffer): Promise<(T & {
74
+ }, position: number, size?: number, preReadBuffer?: Uint8Array): Promise<(T & {
79
75
  _endPosition: number;
80
76
  _size: number;
81
77
  }) | undefined>;
82
- _uncompress(compressionMethod: CompressionMethod, inputBuffer: Buffer, outputBuffer: Buffer): Promise<void>;
78
+ _uncompress(compressionMethod: CompressionMethod, inputBuffer: Uint8Array, uncompressedSize: number): Promise<any>;
83
79
  readBlock(position: number): Promise<CramFileBlock | undefined>;
84
80
  }
@@ -1,18 +1,16 @@
1
- import { Buffer } from 'buffer';
2
- import crc32 from 'crc/crc32';
3
- import QuickLRU from 'quick-lru';
4
- import htscodecs from '../htscodecs';
5
1
  import bzip2 from 'bzip2';
2
+ import crc32 from 'crc/calculators/crc32';
3
+ import QuickLRU from 'quick-lru';
6
4
  import { XzReadableStream } from 'xz-decompress';
7
5
  import { CramMalformedError, CramUnimplementedError } from '../errors';
8
- // locals
9
- import { unzip } from '../unzip';
10
- import ransuncompress from '../rans';
11
- import { cramFileDefinition, getSectionParsers, } from './sectionParsers';
12
- import CramContainer from './container';
6
+ import htscodecs from '../htscodecs';
13
7
  import { open } from '../io';
14
- import { parseItem, tinyMemoize } from './util';
8
+ import ransuncompress from '../rans';
15
9
  import { parseHeaderText } from '../sam';
10
+ import { unzip } from '../unzip';
11
+ import CramContainer from './container';
12
+ import { cramFileDefinition, getSectionParsers, } from './sectionParsers';
13
+ import { concatUint8Array, parseItem, tinyMemoize } from './util';
16
14
  function bufferToStream(buf) {
17
15
  return new ReadableStream({
18
16
  start(controller) {
@@ -37,13 +35,12 @@ function getEndianness() {
37
35
  }
38
36
  export default class CramFile {
39
37
  constructor(args) {
40
- var _a;
41
38
  this.file = open(args.url, args.path, args.filehandle);
42
39
  this.validateChecksums = true;
43
40
  this.fetchReferenceSequenceCallback = args.seqFetch;
44
41
  this.options = {
45
42
  checkSequenceMD5: args.checkSequenceMD5,
46
- cacheSize: (_a = args.cacheSize) !== null && _a !== void 0 ? _a : 20000,
43
+ cacheSize: args.cacheSize ?? 20000,
47
44
  };
48
45
  // cache of features in a slice, keyed by the slice offset. caches all of
49
46
  // the features in a slice, or none. the cache is actually used by the
@@ -55,19 +52,18 @@ export default class CramFile {
55
52
  throw new Error('Detected big-endian machine, may be unable to run');
56
53
  }
57
54
  }
58
- // can just read this object like a filehandle
59
- read(buffer, offset, length, position) {
60
- return this.file.read(buffer, offset, length, position);
61
- }
62
55
  // can just stat this object like a filehandle
63
56
  stat() {
64
57
  return this.file.stat();
65
58
  }
59
+ // can just stat this object like a filehandle
60
+ read(length, position) {
61
+ return this.file.read(length, position);
62
+ }
66
63
  // memoized
67
64
  async getDefinition() {
68
65
  const { maxLength, parser } = cramFileDefinition();
69
- const headbytes = Buffer.allocUnsafe(maxLength);
70
- await this.file.read(headbytes, 0, maxLength, 0);
66
+ const headbytes = await this.file.read(maxLength, 0);
71
67
  const definition = parser(headbytes).value;
72
68
  if (definition.majorVersion !== 2 && definition.majorVersion !== 3) {
73
69
  throw new CramUnimplementedError(`CRAM version ${definition.majorVersion} not supported`);
@@ -84,12 +80,16 @@ export default class CramFile {
84
80
  if (firstBlock === undefined) {
85
81
  return parseHeaderText('');
86
82
  }
87
- const content = firstBlock.content;
88
- const headerLength = content.readInt32LE(0);
89
- const textStart = 4;
90
- const text = content.toString('utf8', textStart, textStart + headerLength);
91
- this.header = text;
92
- return parseHeaderText(text);
83
+ else {
84
+ const content = firstBlock.content;
85
+ const dataView = new DataView(content.buffer);
86
+ const headerLength = dataView.getInt32(0, true);
87
+ const textStart = 4;
88
+ const decoder = new TextDecoder('utf8');
89
+ const text = decoder.decode(content.subarray(textStart, textStart + headerLength));
90
+ this.header = text;
91
+ return parseHeaderText(text);
92
+ }
93
93
  }
94
94
  async getHeaderText() {
95
95
  await this.getSamHeader();
@@ -136,9 +136,11 @@ export default class CramFile {
136
136
  return currentContainer;
137
137
  }
138
138
  async checkCrc32(position, length, recordedCrc32, description) {
139
- const b = Buffer.allocUnsafe(length);
140
- await this.file.read(b, 0, length, position);
141
- const calculatedCrc32 = crc32.unsigned(b);
139
+ const b = await this.file.read(length, position);
140
+ // this shift >>> 0 is equivalent to crc32(b).unsigned but uses the
141
+ // internal calculator of crc32 to avoid accidentally importing buffer
142
+ // https://github.com/alexgorbatchev/crc/blob/31fc3853e417b5fb5ec83335428805842575f699/src/define_crc.ts#L5
143
+ const calculatedCrc32 = crc32(b) >>> 0;
142
144
  if (calculatedCrc32 !== recordedCrc32) {
143
145
  throw new CramMalformedError(`crc mismatch in ${description}: recorded CRC32 = ${recordedCrc32}, but calculated CRC32 = ${calculatedCrc32}`);
144
146
  }
@@ -191,8 +193,7 @@ export default class CramFile {
191
193
  if (position + cramBlockHeader.maxLength >= fileSize) {
192
194
  return undefined;
193
195
  }
194
- const buffer = Buffer.allocUnsafe(cramBlockHeader.maxLength);
195
- await this.file.read(buffer, 0, cramBlockHeader.maxLength, position);
196
+ const buffer = await this.file.read(cramBlockHeader.maxLength, position);
196
197
  return parseItem(buffer, cramBlockHeader.parser, 0, position);
197
198
  }
198
199
  async _parseSection(section, position, size = section.maxLength, preReadBuffer) {
@@ -205,8 +206,7 @@ export default class CramFile {
205
206
  if (position + size >= fileSize) {
206
207
  return undefined;
207
208
  }
208
- buffer = Buffer.allocUnsafe(size);
209
- await this.file.read(buffer, 0, size, position);
209
+ buffer = await this.file.read(size, position);
210
210
  }
211
211
  const data = parseItem(buffer, section.parser, 0, position);
212
212
  if (data._size !== size) {
@@ -214,46 +214,46 @@ export default class CramFile {
214
214
  }
215
215
  return data;
216
216
  }
217
- async _uncompress(compressionMethod, inputBuffer, outputBuffer) {
217
+ async _uncompress(compressionMethod, inputBuffer, uncompressedSize) {
218
218
  if (compressionMethod === 'gzip') {
219
- const result = unzip(inputBuffer);
220
- result.copy(outputBuffer);
219
+ return unzip(inputBuffer);
221
220
  }
222
221
  else if (compressionMethod === 'bzip2') {
223
222
  const bits = bzip2.array(inputBuffer);
224
223
  let size = bzip2.header(bits);
225
- let j = 0;
226
224
  let chunk;
225
+ const chunks = [];
227
226
  do {
228
227
  chunk = bzip2.decompress(bits, size);
229
228
  if (chunk !== -1) {
230
- Buffer.from(chunk).copy(outputBuffer, j);
231
- j += chunk.length;
229
+ chunks.push(chunk);
232
230
  size -= chunk.length;
233
231
  }
234
232
  } while (chunk !== -1);
233
+ return concatUint8Array(chunks);
235
234
  }
236
235
  else if (compressionMethod === 'lzma') {
237
236
  const decompressedResponse = new Response(new XzReadableStream(bufferToStream(inputBuffer)));
238
- const ret = Buffer.from(await decompressedResponse.arrayBuffer());
239
- ret.copy(outputBuffer);
237
+ return new Uint8Array(await decompressedResponse.arrayBuffer());
240
238
  }
241
239
  else if (compressionMethod === 'rans') {
240
+ const outputBuffer = new Uint8Array(uncompressedSize);
242
241
  ransuncompress(inputBuffer, outputBuffer);
242
+ return outputBuffer;
243
243
  // htscodecs r4x8 is slower, but compatible.
244
244
  // htscodecs.r4x8_uncompress(inputBuffer, outputBuffer);
245
245
  }
246
246
  else if (compressionMethod === 'rans4x16') {
247
- htscodecs.r4x16_uncompress(inputBuffer, outputBuffer);
247
+ return htscodecs.r4x16_uncompress(inputBuffer);
248
248
  }
249
249
  else if (compressionMethod === 'arith') {
250
- htscodecs.arith_uncompress(inputBuffer, outputBuffer);
250
+ return htscodecs.arith_uncompress(inputBuffer);
251
251
  }
252
252
  else if (compressionMethod === 'fqzcomp') {
253
- htscodecs.fqzcomp_uncompress(inputBuffer, outputBuffer);
253
+ return htscodecs.fqzcomp_uncompress(inputBuffer);
254
254
  }
255
255
  else if (compressionMethod === 'tok3') {
256
- htscodecs.tok3_uncompress(inputBuffer, outputBuffer);
256
+ return htscodecs.tok3_uncompress(inputBuffer);
257
257
  }
258
258
  else {
259
259
  throw new CramUnimplementedError(`${compressionMethod} decompression not yet implemented`);
@@ -267,21 +267,16 @@ export default class CramFile {
267
267
  return undefined;
268
268
  }
269
269
  const blockContentPosition = blockHeader._endPosition;
270
- const uncompressedData = Buffer.allocUnsafe(blockHeader.uncompressedSize);
270
+ const d = await this.file.read(blockHeader.compressedSize, blockContentPosition);
271
+ const uncompressedData = blockHeader.compressionMethod !== 'raw'
272
+ ? await this._uncompress(blockHeader.compressionMethod, d, blockHeader.uncompressedSize)
273
+ : d;
271
274
  const block = {
272
275
  ...blockHeader,
273
276
  _endPosition: blockContentPosition,
274
277
  contentPosition: blockContentPosition,
275
278
  content: uncompressedData,
276
279
  };
277
- if (blockHeader.compressionMethod !== 'raw') {
278
- const compressedData = Buffer.allocUnsafe(blockHeader.compressedSize);
279
- await this.read(compressedData, 0, blockHeader.compressedSize, blockContentPosition);
280
- await this._uncompress(blockHeader.compressionMethod, compressedData, uncompressedData);
281
- }
282
- else {
283
- await this.read(uncompressedData, 0, blockHeader.uncompressedSize, blockContentPosition);
284
- }
285
280
  if (majorVersion >= 3) {
286
281
  // parse the crc32
287
282
  const crc = await this._parseSection(sectionParsers.cramBlockCrc32, blockContentPosition + blockHeader.compressedSize);
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.ts"],"names":[],"mappings":"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"}
@@ -339,8 +339,8 @@ export default class CramRecord {
339
339
  */
340
340
  addReferenceSequence(refRegion, compressionScheme) {
341
341
  if (this.readFeatures) {
342
- // use the reference bases to decode the bases
343
- // substituted in each base substitution
342
+ // use the reference bases to decode the bases substituted in each base
343
+ // substitution
344
344
  this.readFeatures.forEach(readFeature => {
345
345
  if (readFeature.code === 'X') {
346
346
  decodeBaseSubstitution(this, refRegion, compressionScheme, readFeature);
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/cramFile/record.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AAoBnC,SAAS,kBAAkB,CAAC,UAAsB,EAAE,SAAoB;IACtE,0CAA0C;IAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+CAA+C;IAC/C,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAA;IAEnE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,GAAG;aACjB,KAAK,CAAC,eAAe,EAAE,eAAe,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;aACvE,WAAW,EAAE,CAAA;IAClB,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,SAAS,GAAG,eAAe,CAAA;IAC/B,IAAI,kBAAkB,GAAG,CAAC,CAAA;IAC1B,OAAO,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAE,CAAA;YAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjD,kBAAkB,IAAI,CAAC,CAAA;YACzB,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,2BAA2B;gBAC3B,kBAAkB,IAAI,CAAC,CAAA;gBAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACzB,sCAAsC;oBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;oBAC1B,KAAK,IAAI,KAAK,CAAA;oBACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,mCAAmC;oBACnC,0DAA0D;oBAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACxB,SAAS,IAAI,CAAC,CAAA;gBAChB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,oBAAoB;oBACpB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAA;oBACpB,SAAS,IAAI,CAAC,CAAA;gBAChB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,YAAY;oBACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,WAAW;oBACX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,qBAAqB;oBACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,oCAAoC;oBACpC,aAAa;oBACb,iDAAiD;oBACjD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,4DAA4D;oBAC5D,iEAAiE;oBACjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,sBAAsB;gBACxB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,wBAAwB;gBAC1B,CAAC;YACH,CAAC;iBAAM,IAAI,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC/D,2DAA2D;gBAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAC/B,SAAS,EACT,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAA;gBACD,KAAK,IAAI,KAAK,CAAA;gBACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAC/B,SAAS,EACT,SAAS,GAAG,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CACjD,CAAA;YACD,KAAK,IAAI,KAAK,CAAA;YACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;AAC5B,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAA;AAED,SAAS,sBAAsB,CAC7B,UAAsB,EACtB,SAAoB,EACpB,iBAAiD,EACjD,WAAwB;IAExB,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAA;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,GAAG,GAAG,OAAO,CAAA;IAC3B,CAAC;IACD,IAAI,UAAU,GAAI,WAAmB,CAAC,OAAO,CAAC,CAAA;IAC9C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,UAAU,CAAE,CAAA;IAC5E,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACjD,IAAI,IAAI,EAAE,CAAC;QACT,WAAW,CAAC,GAAG,GAAG,IAAI,CAAA;IACxB,CAAC;AACH,CAAC;AAWD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,CAAC,GAAG,EAAE,QAAQ,CAAC;IACf,CAAC,GAAG,EAAE,gBAAgB,CAAC;IACvB,CAAC,GAAG,EAAE,iBAAiB,CAAC;IACxB,CAAC,GAAG,EAAE,cAAc,CAAC;IACrB,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAC7B,4CAA4C;IAC5C,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACjC,iBAAiB;IACjB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,iBAAiB;IACjB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,CAAC,KAAK,EAAE,WAAW,CAAC;IACpB,cAAc;IACd,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,4BAA4B;IAC5B,CAAC,KAAK,EAAE,WAAW,CAAC;IACpB,2BAA2B;IAC3B,CAAC,KAAK,EAAE,eAAe,CAAC;CAChB,CAAA;AAEV,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,CAAC,GAAG,EAAE,yBAAyB,CAAC;IAChC,CAAC,GAAG,EAAE,UAAU,CAAC;IACjB,CAAC,GAAG,EAAE,oBAAoB,CAAC;IAC3B,CAAC,GAAG,EAAE,sBAAsB,CAAC;CACrB,CAAA;AAEV,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACzB,CAAC,GAAG,EAAE,UAAU,CAAC;CACT,CAAA;AAcV,SAAS,eAAe,CACtB,CAAoC;IAEpC,MAAM,CAAC,GAAQ,EAAE,CAAA;IACjB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAA;IACnD,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAqB7B,YAAY,EACV,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,IAAI,GACmD;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,0BAA0B;QAC1B,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAClC,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,GAAG;gBACV,KAAK,EAAE,SAAS,CAAC,SAAS;gBAC1B,QAAQ,EAAE,SAAS,CAAC,YAAY;gBAChC,UAAU,EAAE,SAAS,CAAC,cAAc;gBACpC,cAAc,EAAE,SAAS,CAAC,kBAAkB;aAC7C,CAAA;QACH,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,kFAAkF;IAClF,gBAAgB;QACd,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,gGAAgG;IAChG,iBAAiB;QACf,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,gGAAgG;IAChG,cAAc;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,0EAA0E;IAC1E,qBAAqB;QACnB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC;IAED,0EAA0E;IAC1E,yBAAyB;QACvB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,+DAA+D;IAC/D,WAAW;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;IAClD,CAAC;IAED,gEAAgE;IAChE,UAAU;QACR,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,yEAAyE;IACzE,WAAW;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,mEAAmE;IACnE,eAAe;QACb,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAC1D,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;QACf,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAA;IACjE,CAAC;IAED,+DAA+D;IAC/D,yBAAyB;QACvB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,8BAA8B,CAAC,CAAA;IACtE,CAAC;IAED,gEAAgE;IAChE,cAAc;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACxD,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YACzD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,OAAO,CAAA;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,IACE,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzB,IAAI,CAAC,QAAQ,EAAE;YACf,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EACxC,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACnD,MAAM,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACvD,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnB,EAAE,GAAG,GAAG,CAAA;gBACR,EAAE,GAAG,GAAG,CAAA;YACV,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1B,EAAE,GAAG,GAAG,CAAA;gBACR,EAAE,GAAG,GAAG,CAAA;YACV,CAAC;YAED,MAAM,GAAG,GAAG,EAAE,CAAA;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAA;YACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;YACvE,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChE,KAAK,GAAG,CAAC,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAClB,SAAoB,EACpB,iBAAiD;QAEjD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,8CAA8C;YAC9C,wCAAwC;YACxC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACtC,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAC7B,sBAAsB,CACpB,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,WAAW,CACZ,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,8CAA8C;QAC9C,yBAAyB;QACzB,IACE,CAAC,IAAI,CAAC,SAAS;YACf,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc;YACtC,SAAS,CAAC,GAAG;gBACX,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EACjE,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAQ,EAAE,CAAA;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAM;YACR,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,GAAI,IAAY,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/cramFile/record.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AAoBnC,SAAS,kBAAkB,CAAC,UAAsB,EAAE,SAAoB;IACtE,0CAA0C;IAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+CAA+C;IAC/C,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAA;IAEnE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,GAAG;aACjB,KAAK,CAAC,eAAe,EAAE,eAAe,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;aACvE,WAAW,EAAE,CAAA;IAClB,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,SAAS,GAAG,eAAe,CAAA;IAC/B,IAAI,kBAAkB,GAAG,CAAC,CAAA;IAC1B,OAAO,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAE,CAAA;YAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjD,kBAAkB,IAAI,CAAC,CAAA;YACzB,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,2BAA2B;gBAC3B,kBAAkB,IAAI,CAAC,CAAA;gBAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACzB,sCAAsC;oBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;oBAC1B,KAAK,IAAI,KAAK,CAAA;oBACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,mCAAmC;oBACnC,0DAA0D;oBAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACxB,SAAS,IAAI,CAAC,CAAA;gBAChB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,oBAAoB;oBACpB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAA;oBACpB,SAAS,IAAI,CAAC,CAAA;gBAChB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,YAAY;oBACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,WAAW;oBACX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,qBAAqB;oBACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,oCAAoC;oBACpC,aAAa;oBACb,iDAAiD;oBACjD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAA;gBAC3B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,4DAA4D;oBAC5D,iEAAiE;oBACjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;gBACvB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,sBAAsB;gBACxB,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,wBAAwB;gBAC1B,CAAC;YACH,CAAC;iBAAM,IAAI,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC/D,2DAA2D;gBAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAC/B,SAAS,EACT,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAA;gBACD,KAAK,IAAI,KAAK,CAAA;gBACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAC/B,SAAS,EACT,SAAS,GAAG,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CACjD,CAAA;YACD,KAAK,IAAI,KAAK,CAAA;YACd,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;AAC5B,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAA;AAED,SAAS,sBAAsB,CAC7B,UAAsB,EACtB,SAAoB,EACpB,iBAAiD,EACjD,WAAwB;IAExB,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAA;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,GAAG,GAAG,OAAO,CAAA;IAC3B,CAAC;IACD,IAAI,UAAU,GAAI,WAAmB,CAAC,OAAO,CAAC,CAAA;IAC9C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,UAAU,CAAE,CAAA;IAC5E,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACjD,IAAI,IAAI,EAAE,CAAC;QACT,WAAW,CAAC,GAAG,GAAG,IAAI,CAAA;IACxB,CAAC;AACH,CAAC;AAWD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,CAAC,GAAG,EAAE,QAAQ,CAAC;IACf,CAAC,GAAG,EAAE,gBAAgB,CAAC;IACvB,CAAC,GAAG,EAAE,iBAAiB,CAAC;IACxB,CAAC,GAAG,EAAE,cAAc,CAAC;IACrB,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAC7B,4CAA4C;IAC5C,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACjC,iBAAiB;IACjB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,iBAAiB;IACjB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,CAAC,KAAK,EAAE,WAAW,CAAC;IACpB,cAAc;IACd,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,4BAA4B;IAC5B,CAAC,KAAK,EAAE,WAAW,CAAC;IACpB,2BAA2B;IAC3B,CAAC,KAAK,EAAE,eAAe,CAAC;CAChB,CAAA;AAEV,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,CAAC,GAAG,EAAE,yBAAyB,CAAC;IAChC,CAAC,GAAG,EAAE,UAAU,CAAC;IACjB,CAAC,GAAG,EAAE,oBAAoB,CAAC;IAC3B,CAAC,GAAG,EAAE,sBAAsB,CAAC;CACrB,CAAA;AAEV,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACzB,CAAC,GAAG,EAAE,UAAU,CAAC;CACT,CAAA;AAcV,SAAS,eAAe,CACtB,CAAoC;IAEpC,MAAM,CAAC,GAAQ,EAAE,CAAA;IACjB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAA;IACnD,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAqB7B,YAAY,EACV,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,IAAI,GACmD;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,0BAA0B;QAC1B,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAClC,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,GAAG;gBACV,KAAK,EAAE,SAAS,CAAC,SAAS;gBAC1B,QAAQ,EAAE,SAAS,CAAC,YAAY;gBAChC,UAAU,EAAE,SAAS,CAAC,cAAc;gBACpC,cAAc,EAAE,SAAS,CAAC,kBAAkB;aAC7C,CAAA;QACH,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,kFAAkF;IAClF,gBAAgB;QACd,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,gGAAgG;IAChG,iBAAiB;QACf,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,gGAAgG;IAChG,cAAc;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,0EAA0E;IAC1E,qBAAqB;QACnB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC;IAED,0EAA0E;IAC1E,yBAAyB;QACvB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,+DAA+D;IAC/D,WAAW;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;IAClD,CAAC;IAED,gEAAgE;IAChE,UAAU;QACR,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,yEAAyE;IACzE,WAAW;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,mEAAmE;IACnE,eAAe;QACb,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAC1D,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;QACf,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAA;IACjE,CAAC;IAED,+DAA+D;IAC/D,yBAAyB;QACvB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,8BAA8B,CAAC,CAAA;IACtE,CAAC;IAED,gEAAgE;IAChE,cAAc;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACxD,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YACzD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,OAAO,CAAA;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,IACE,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzB,IAAI,CAAC,QAAQ,EAAE;YACf,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EACxC,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACnD,MAAM,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACvD,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnB,EAAE,GAAG,GAAG,CAAA;gBACR,EAAE,GAAG,GAAG,CAAA;YACV,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1B,EAAE,GAAG,GAAG,CAAA;gBACR,EAAE,GAAG,GAAG,CAAA;YACV,CAAC;YAED,MAAM,GAAG,GAAG,EAAE,CAAA;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAA;YACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;YACvE,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChE,KAAK,GAAG,CAAC,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAClB,SAAoB,EACpB,iBAAiD;QAEjD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,uEAAuE;YACvE,eAAe;YACf,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACtC,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBAC7B,sBAAsB,CACpB,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,WAAW,CACZ,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,8CAA8C;QAC9C,yBAAyB;QACzB,IACE,CAAC,IAAI,CAAC,SAAS;YACf,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc;YACtC,SAAS,CAAC,GAAG;gBACX,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EACjE,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAQ,EAAE,CAAA;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAM;YACR,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,GAAI,IAAY,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -2,7 +2,7 @@ import { TupleOf } from '../typescript';
2
2
  import { DataSeriesEncodingMap } from './codecs/dataSeriesTypes';
3
3
  import { CramEncoding } from './encoding';
4
4
  export declare function cramFileDefinition(): {
5
- parser: (buffer: Buffer, _startOffset?: number) => {
5
+ parser: (b: Uint8Array, _startOffset?: number) => {
6
6
  value: {
7
7
  magic: string;
8
8
  majorVersion: number;
@@ -14,7 +14,7 @@ export declare function cramFileDefinition(): {
14
14
  maxLength: number;
15
15
  };
16
16
  export declare function cramBlockHeader(): {
17
- parser: (buffer: Buffer, _startOffset?: number) => {
17
+ parser: (buffer: Uint8Array, _startOffset?: number) => {
18
18
  offset: number;
19
19
  value: {
20
20
  uncompressedSize: number;
@@ -27,7 +27,7 @@ export declare function cramBlockHeader(): {
27
27
  maxLength: number;
28
28
  };
29
29
  export declare function cramBlockCrc32(): {
30
- parser: (buffer: Buffer, offset: number) => {
30
+ parser: (buffer: Uint8Array, offset: number) => {
31
31
  offset: number;
32
32
  value: {
33
33
  crc32: number;
@@ -37,7 +37,7 @@ export declare function cramBlockCrc32(): {
37
37
  };
38
38
  export type CramTagDictionary = string[][];
39
39
  export declare function cramTagDictionary(): {
40
- parser: (buffer: Buffer, offset: number) => {
40
+ parser: (buffer: Uint8Array, offset: number) => {
41
41
  value: {
42
42
  size: number;
43
43
  ents: string[][];
@@ -56,7 +56,7 @@ export interface CramPreservationMap {
56
56
  TD: CramTagDictionary;
57
57
  }
58
58
  export declare function cramPreservationMap(): {
59
- parser: (buffer: Buffer, offset: number) => {
59
+ parser: (buffer: Uint8Array, offset: number) => {
60
60
  value: {
61
61
  mapSize: number;
62
62
  mapCount: number;
@@ -117,7 +117,7 @@ export interface CramCompressionHeader {
117
117
  }
118
118
  export declare function getSectionParsers(majorVersion: number): {
119
119
  cramFileDefinition: {
120
- parser: (buffer: Buffer, _startOffset?: number) => {
120
+ parser: (b: Uint8Array, _startOffset?: number) => {
121
121
  value: {
122
122
  magic: string;
123
123
  majorVersion: number;
@@ -129,7 +129,7 @@ export declare function getSectionParsers(majorVersion: number): {
129
129
  maxLength: number;
130
130
  };
131
131
  cramBlockHeader: {
132
- parser: (buffer: Buffer, _startOffset?: number) => {
132
+ parser: (buffer: Uint8Array, _startOffset?: number) => {
133
133
  offset: number;
134
134
  value: {
135
135
  uncompressedSize: number;
@@ -142,7 +142,7 @@ export declare function getSectionParsers(majorVersion: number): {
142
142
  maxLength: number;
143
143
  };
144
144
  cramBlockCrc32: {
145
- parser: (buffer: Buffer, offset: number) => {
145
+ parser: (buffer: Uint8Array, offset: number) => {
146
146
  offset: number;
147
147
  value: {
148
148
  crc32: number;
@@ -151,7 +151,7 @@ export declare function getSectionParsers(majorVersion: number): {
151
151
  maxLength: number;
152
152
  };
153
153
  cramDataSeriesEncodingMap: {
154
- parser: (buffer: Buffer, offset: number) => {
154
+ parser: (buffer: Uint8Array, offset: number) => {
155
155
  value: {
156
156
  mapSize: number;
157
157
  ents: {
@@ -164,7 +164,7 @@ export declare function getSectionParsers(majorVersion: number): {
164
164
  };
165
165
  };
166
166
  cramTagEncodingMap: {
167
- parser: (buffer: Buffer, offset: number) => {
167
+ parser: (buffer: Uint8Array, offset: number) => {
168
168
  value: {
169
169
  mapSize: number;
170
170
  ents: {
@@ -177,7 +177,7 @@ export declare function getSectionParsers(majorVersion: number): {
177
177
  };
178
178
  };
179
179
  cramCompressionHeader: {
180
- parser: (buffer: Buffer, offset: number) => {
180
+ parser: (buffer: Uint8Array, offset: number) => {
181
181
  value: {
182
182
  dataSeriesEncoding: DataSeriesEncodingMap;
183
183
  preservation: CramPreservationMap;
@@ -187,13 +187,13 @@ export declare function getSectionParsers(majorVersion: number): {
187
187
  };
188
188
  };
189
189
  cramEncoding: {
190
- parser: (buffer: Buffer, offset: number) => {
190
+ parser: (buffer: Uint8Array, offset: number) => {
191
191
  value: Value;
192
192
  offset: number;
193
193
  };
194
194
  };
195
195
  cramUnmappedSliceHeader: {
196
- parser: (buffer: Buffer, offset: number) => {
196
+ parser: (buffer: Uint8Array, offset: number) => {
197
197
  value: {
198
198
  recordCounter: number;
199
199
  md5: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] | undefined;
@@ -207,7 +207,7 @@ export declare function getSectionParsers(majorVersion: number): {
207
207
  maxLength: (numContentIds: number) => number;
208
208
  };
209
209
  cramMappedSliceHeader: {
210
- parser: (buffer: Buffer, offset: number) => {
210
+ parser: (buffer: Uint8Array, offset: number) => {
211
211
  value: {
212
212
  md5: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] | undefined;
213
213
  numBlocks: number;
@@ -226,7 +226,7 @@ export declare function getSectionParsers(majorVersion: number): {
226
226
  };
227
227
  cramContainerHeader1: {
228
228
  maxLength: number;
229
- parser: (buffer: Buffer, offset: number) => {
229
+ parser: (buffer: Uint8Array, offset: number) => {
230
230
  value: {
231
231
  length: number;
232
232
  refSeqId: number;
@@ -242,7 +242,7 @@ export declare function getSectionParsers(majorVersion: number): {
242
242
  };
243
243
  };
244
244
  cramContainerHeader2: {
245
- parser: (buffer: Buffer, offset: number) => {
245
+ parser: (buffer: Uint8Array, offset: number) => {
246
246
  value: {
247
247
  numLandmarks: number;
248
248
  landmarks: number[];
@@ -1,19 +1,18 @@
1
1
  import { parseItf8, parseLtf8 } from './util';
2
2
  export function cramFileDefinition() {
3
3
  return {
4
- parser: (buffer, _startOffset = 0) => {
5
- const b = buffer;
4
+ parser: (b, _startOffset = 0) => {
6
5
  const dataView = new DataView(b.buffer, b.byteOffset, b.length);
6
+ const decoder = new TextDecoder('utf8');
7
7
  let offset = 0;
8
- const magic = buffer.subarray(offset, offset + 4).toString();
8
+ const magic = decoder.decode(b.subarray(offset, offset + 4));
9
9
  offset += 4;
10
10
  const majorVersion = dataView.getUint8(offset);
11
11
  offset += 1;
12
12
  const minorVersion = dataView.getUint8(offset);
13
13
  offset += 1;
14
- const fileId = b
15
- .subarray(offset, offset + 20)
16
- .toString()
14
+ const fileId = decoder
15
+ .decode(b.subarray(offset, offset + 20))
17
16
  .replaceAll('\0', '');
18
17
  offset += 20;
19
18
  return {
@@ -100,7 +99,8 @@ export function cramBlockCrc32() {
100
99
  };
101
100
  }
102
101
  function makeTagSet(buffer, stringStart, stringEnd) {
103
- const str = buffer.toString('utf8', stringStart, stringEnd);
102
+ const decoder = new TextDecoder('utf8');
103
+ const str = decoder.decode(buffer.subarray(stringStart, stringEnd));
104
104
  const tags = [];
105
105
  for (let i = 0; i < str.length; i += 3) {
106
106
  tags.push(str.slice(i, i + 3));