@gmod/cram 3.0.7 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) 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/cram-bundle.js.LICENSE.txt +0 -9
  5. package/dist/cramFile/codecs/_base.d.ts +1 -1
  6. package/dist/cramFile/codecs/beta.d.ts +2 -2
  7. package/dist/cramFile/codecs/beta.js +1 -1
  8. package/dist/cramFile/codecs/beta.js.map +1 -1
  9. package/dist/cramFile/codecs/byteArrayLength.d.ts +2 -2
  10. package/dist/cramFile/codecs/byteArrayStop.d.ts +4 -4
  11. package/dist/cramFile/codecs/byteArrayStop.js +1 -1
  12. package/dist/cramFile/codecs/byteArrayStop.js.map +1 -1
  13. package/dist/cramFile/codecs/external.d.ts +1 -1
  14. package/dist/cramFile/codecs/external.js +1 -1
  15. package/dist/cramFile/codecs/external.js.map +1 -1
  16. package/dist/cramFile/codecs/gamma.d.ts +1 -1
  17. package/dist/cramFile/codecs/gamma.js +1 -1
  18. package/dist/cramFile/codecs/gamma.js.map +1 -1
  19. package/dist/cramFile/codecs/getBits.d.ts +1 -1
  20. package/dist/cramFile/codecs/getBits.js.map +1 -1
  21. package/dist/cramFile/codecs/huffman.d.ts +1 -1
  22. package/dist/cramFile/codecs/huffman.js +1 -1
  23. package/dist/cramFile/codecs/huffman.js.map +1 -1
  24. package/dist/cramFile/codecs/index.d.ts +1 -1
  25. package/dist/cramFile/codecs/index.js +5 -5
  26. package/dist/cramFile/codecs/index.js.map +1 -1
  27. package/dist/cramFile/codecs/subexp.d.ts +2 -2
  28. package/dist/cramFile/codecs/subexp.js +1 -1
  29. package/dist/cramFile/codecs/subexp.js.map +1 -1
  30. package/dist/cramFile/container/compressionScheme.d.ts +2 -2
  31. package/dist/cramFile/container/compressionScheme.js +1 -1
  32. package/dist/cramFile/container/compressionScheme.js.map +1 -1
  33. package/dist/cramFile/container/index.d.ts +1 -2
  34. package/dist/cramFile/container/index.js +62 -79
  35. package/dist/cramFile/container/index.js.map +1 -1
  36. package/dist/cramFile/file.d.ts +9 -13
  37. package/dist/cramFile/file.js +218 -247
  38. package/dist/cramFile/file.js.map +1 -1
  39. package/dist/cramFile/record.js +2 -2
  40. package/dist/cramFile/record.js.map +1 -1
  41. package/dist/cramFile/sectionParsers.d.ts +16 -16
  42. package/dist/cramFile/sectionParsers.js +12 -9
  43. package/dist/cramFile/sectionParsers.js.map +1 -1
  44. package/dist/cramFile/slice/decodeRecord.d.ts +3 -3
  45. package/dist/cramFile/slice/decodeRecord.js +11 -11
  46. package/dist/cramFile/slice/decodeRecord.js.map +1 -1
  47. package/dist/cramFile/slice/index.d.ts +2 -2
  48. package/dist/cramFile/slice/index.js +241 -262
  49. package/dist/cramFile/slice/index.js.map +1 -1
  50. package/dist/cramFile/util.d.ts +4 -2
  51. package/dist/cramFile/util.js +29 -6
  52. package/dist/cramFile/util.js.map +1 -1
  53. package/dist/htscodecs/arith_gen.d.ts +9 -17
  54. package/dist/htscodecs/arith_gen.js +32 -272
  55. package/dist/htscodecs/arith_gen.js.map +1 -1
  56. package/dist/htscodecs/fqzcomp.d.ts +1 -2
  57. package/dist/htscodecs/fqzcomp.js +2 -421
  58. package/dist/htscodecs/fqzcomp.js.map +1 -1
  59. package/dist/htscodecs/index.d.ts +5 -5
  60. package/dist/htscodecs/index.js +10 -10
  61. package/dist/htscodecs/index.js.map +1 -1
  62. package/dist/htscodecs/iostream.d.ts +2 -1
  63. package/dist/htscodecs/iostream.js +3 -2
  64. package/dist/htscodecs/iostream.js.map +1 -1
  65. package/dist/htscodecs/rans.d.ts +1 -2
  66. package/dist/htscodecs/rans.js +3 -270
  67. package/dist/htscodecs/rans.js.map +1 -1
  68. package/dist/htscodecs/rans4x16.d.ts +0 -1
  69. package/dist/htscodecs/rans4x16.js +6 -497
  70. package/dist/htscodecs/rans4x16.js.map +1 -1
  71. package/dist/htscodecs/tok3.js +17 -1
  72. package/dist/htscodecs/tok3.js.map +1 -1
  73. package/dist/index.d.ts +1 -1
  74. package/dist/index.js +2 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/indexedCramFile.d.ts +4 -4
  77. package/dist/indexedCramFile.js +97 -108
  78. package/dist/indexedCramFile.js.map +1 -1
  79. package/dist/io/index.d.ts +3 -3
  80. package/dist/io/index.js +6 -6
  81. package/dist/io/index.js.map +1 -1
  82. package/dist/rans/constants.d.ts +1 -1
  83. package/dist/rans/constants.js +1 -1
  84. package/dist/rans/constants.js.map +1 -1
  85. package/dist/rans/d04.js.map +1 -1
  86. package/dist/rans/decoding.js.map +1 -1
  87. package/dist/rans/frequencies.js.map +1 -1
  88. package/dist/rans/index.js +5 -5
  89. package/dist/rans/index.js.map +1 -1
  90. package/dist/unzip.d.ts +1 -1
  91. package/dist/unzip.js +5 -3
  92. package/dist/unzip.js.map +1 -1
  93. package/esm/craiIndex.js +10 -12
  94. package/esm/craiIndex.js.map +1 -1
  95. package/esm/cramFile/codecs/_base.d.ts +1 -1
  96. package/esm/cramFile/codecs/beta.d.ts +2 -2
  97. package/esm/cramFile/codecs/beta.js +1 -1
  98. package/esm/cramFile/codecs/beta.js.map +1 -1
  99. package/esm/cramFile/codecs/byteArrayLength.d.ts +2 -2
  100. package/esm/cramFile/codecs/byteArrayStop.d.ts +4 -4
  101. package/esm/cramFile/codecs/byteArrayStop.js +1 -1
  102. package/esm/cramFile/codecs/byteArrayStop.js.map +1 -1
  103. package/esm/cramFile/codecs/external.d.ts +1 -1
  104. package/esm/cramFile/codecs/external.js +1 -1
  105. package/esm/cramFile/codecs/external.js.map +1 -1
  106. package/esm/cramFile/codecs/gamma.d.ts +1 -1
  107. package/esm/cramFile/codecs/gamma.js +1 -1
  108. package/esm/cramFile/codecs/gamma.js.map +1 -1
  109. package/esm/cramFile/codecs/getBits.d.ts +1 -1
  110. package/esm/cramFile/codecs/getBits.js.map +1 -1
  111. package/esm/cramFile/codecs/huffman.d.ts +1 -1
  112. package/esm/cramFile/codecs/huffman.js +1 -1
  113. package/esm/cramFile/codecs/huffman.js.map +1 -1
  114. package/esm/cramFile/codecs/index.d.ts +1 -1
  115. package/esm/cramFile/codecs/index.js +5 -5
  116. package/esm/cramFile/codecs/index.js.map +1 -1
  117. package/esm/cramFile/codecs/subexp.d.ts +2 -2
  118. package/esm/cramFile/codecs/subexp.js +1 -1
  119. package/esm/cramFile/codecs/subexp.js.map +1 -1
  120. package/esm/cramFile/container/compressionScheme.d.ts +2 -2
  121. package/esm/cramFile/container/compressionScheme.js +1 -1
  122. package/esm/cramFile/container/compressionScheme.js.map +1 -1
  123. package/esm/cramFile/container/index.d.ts +1 -2
  124. package/esm/cramFile/container/index.js +4 -7
  125. package/esm/cramFile/container/index.js.map +1 -1
  126. package/esm/cramFile/file.d.ts +9 -13
  127. package/esm/cramFile/file.js +47 -52
  128. package/esm/cramFile/file.js.map +1 -1
  129. package/esm/cramFile/record.js +2 -2
  130. package/esm/cramFile/record.js.map +1 -1
  131. package/esm/cramFile/sectionParsers.d.ts +16 -16
  132. package/esm/cramFile/sectionParsers.js +7 -7
  133. package/esm/cramFile/sectionParsers.js.map +1 -1
  134. package/esm/cramFile/slice/decodeRecord.d.ts +3 -3
  135. package/esm/cramFile/slice/decodeRecord.js +11 -11
  136. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  137. package/esm/cramFile/slice/index.d.ts +2 -2
  138. package/esm/cramFile/slice/index.js +7 -6
  139. package/esm/cramFile/slice/index.js.map +1 -1
  140. package/esm/cramFile/util.d.ts +4 -2
  141. package/esm/cramFile/util.js +19 -2
  142. package/esm/cramFile/util.js.map +1 -1
  143. package/esm/htscodecs/arith_gen.d.ts +9 -17
  144. package/esm/htscodecs/arith_gen.js +32 -272
  145. package/esm/htscodecs/arith_gen.js.map +1 -1
  146. package/esm/htscodecs/fqzcomp.d.ts +1 -2
  147. package/esm/htscodecs/fqzcomp.js +2 -421
  148. package/esm/htscodecs/fqzcomp.js.map +1 -1
  149. package/esm/htscodecs/index.d.ts +5 -5
  150. package/esm/htscodecs/index.js +10 -10
  151. package/esm/htscodecs/index.js.map +1 -1
  152. package/esm/htscodecs/iostream.d.ts +2 -1
  153. package/esm/htscodecs/iostream.js +3 -2
  154. package/esm/htscodecs/iostream.js.map +1 -1
  155. package/esm/htscodecs/rans.d.ts +1 -2
  156. package/esm/htscodecs/rans.js +3 -270
  157. package/esm/htscodecs/rans.js.map +1 -1
  158. package/esm/htscodecs/rans4x16.d.ts +0 -1
  159. package/esm/htscodecs/rans4x16.js +6 -497
  160. package/esm/htscodecs/rans4x16.js.map +1 -1
  161. package/esm/htscodecs/tok3.js +17 -1
  162. package/esm/htscodecs/tok3.js.map +1 -1
  163. package/esm/index.d.ts +1 -1
  164. package/esm/index.js +1 -1
  165. package/esm/index.js.map +1 -1
  166. package/esm/indexedCramFile.d.ts +4 -4
  167. package/esm/indexedCramFile.js +10 -10
  168. package/esm/indexedCramFile.js.map +1 -1
  169. package/esm/io/index.d.ts +3 -3
  170. package/esm/io/index.js +2 -2
  171. package/esm/io/index.js.map +1 -1
  172. package/esm/rans/constants.d.ts +1 -1
  173. package/esm/rans/constants.js +1 -1
  174. package/esm/rans/constants.js.map +1 -1
  175. package/esm/rans/d04.js.map +1 -1
  176. package/esm/rans/decoding.js.map +1 -1
  177. package/esm/rans/frequencies.js.map +1 -1
  178. package/esm/rans/index.js +5 -5
  179. package/esm/rans/index.js.map +1 -1
  180. package/esm/unzip.d.ts +1 -1
  181. package/esm/unzip.js +4 -1
  182. package/esm/unzip.js.map +1 -1
  183. package/package.json +7 -9
  184. package/src/craiIndex.ts +17 -16
  185. package/src/cramFile/codecs/_base.ts +1 -1
  186. package/src/cramFile/codecs/beta.ts +3 -3
  187. package/src/cramFile/codecs/byteArrayLength.ts +1 -1
  188. package/src/cramFile/codecs/byteArrayStop.ts +3 -4
  189. package/src/cramFile/codecs/external.ts +3 -3
  190. package/src/cramFile/codecs/gamma.ts +2 -2
  191. package/src/cramFile/codecs/getBits.ts +1 -1
  192. package/src/cramFile/codecs/huffman.ts +2 -3
  193. package/src/cramFile/codecs/index.ts +7 -8
  194. package/src/cramFile/codecs/subexp.ts +3 -3
  195. package/src/cramFile/container/compressionScheme.ts +3 -3
  196. package/src/cramFile/container/index.ts +7 -10
  197. package/src/cramFile/file.ts +71 -77
  198. package/src/cramFile/record.ts +3 -3
  199. package/src/cramFile/sectionParsers.ts +27 -22
  200. package/src/cramFile/slice/decodeRecord.ts +17 -17
  201. package/src/cramFile/slice/index.ts +8 -9
  202. package/src/cramFile/util.ts +24 -5
  203. package/src/htscodecs/arith_gen.js +33 -296
  204. package/src/htscodecs/fqzcomp.js +2 -476
  205. package/src/htscodecs/index.js +9 -11
  206. package/src/htscodecs/iostream.js +3 -2
  207. package/src/htscodecs/rans.js +3 -315
  208. package/src/htscodecs/rans4x16.js +6 -557
  209. package/src/htscodecs/tok3.js +18 -1
  210. package/src/index.ts +1 -1
  211. package/src/indexedCramFile.ts +6 -5
  212. package/src/io/index.ts +6 -5
  213. package/src/rans/constants.ts +1 -1
  214. package/src/rans/d04.ts +0 -1
  215. package/src/rans/decoding.ts +0 -1
  216. package/src/rans/frequencies.ts +0 -1
  217. package/src/rans/index.ts +5 -7
  218. package/src/unzip.ts +5 -1
  219. package/dist/cramFile/filehandle.d.ts +0 -1
  220. package/dist/cramFile/filehandle.js +0 -3
  221. package/dist/cramFile/filehandle.js.map +0 -1
  222. package/dist/htscodecs/main_arith_gen.d.ts +0 -1
  223. package/dist/htscodecs/main_arith_gen.js +0 -86
  224. package/dist/htscodecs/main_arith_gen.js.map +0 -1
  225. package/dist/htscodecs/main_fqzcomp.d.ts +0 -1
  226. package/dist/htscodecs/main_fqzcomp.js +0 -112
  227. package/dist/htscodecs/main_fqzcomp.js.map +0 -1
  228. package/dist/htscodecs/main_rans.d.ts +0 -1
  229. package/dist/htscodecs/main_rans.js +0 -83
  230. package/dist/htscodecs/main_rans.js.map +0 -1
  231. package/dist/htscodecs/main_rans4x16.d.ts +0 -1
  232. package/dist/htscodecs/main_rans4x16.js +0 -82
  233. package/dist/htscodecs/main_rans4x16.js.map +0 -1
  234. package/dist/htscodecs/main_tok3.d.ts +0 -1
  235. package/dist/htscodecs/main_tok3.js +0 -84
  236. package/dist/htscodecs/main_tok3.js.map +0 -1
  237. package/dist/unzip-pako.d.ts +0 -2
  238. package/dist/unzip-pako.js +0 -9
  239. package/dist/unzip-pako.js.map +0 -1
  240. package/esm/cramFile/filehandle.d.ts +0 -1
  241. package/esm/cramFile/filehandle.js +0 -2
  242. package/esm/cramFile/filehandle.js.map +0 -1
  243. package/esm/htscodecs/main_arith_gen.d.ts +0 -1
  244. package/esm/htscodecs/main_arith_gen.js +0 -86
  245. package/esm/htscodecs/main_arith_gen.js.map +0 -1
  246. package/esm/htscodecs/main_fqzcomp.d.ts +0 -1
  247. package/esm/htscodecs/main_fqzcomp.js +0 -112
  248. package/esm/htscodecs/main_fqzcomp.js.map +0 -1
  249. package/esm/htscodecs/main_rans.d.ts +0 -1
  250. package/esm/htscodecs/main_rans.js +0 -83
  251. package/esm/htscodecs/main_rans.js.map +0 -1
  252. package/esm/htscodecs/main_rans4x16.d.ts +0 -1
  253. package/esm/htscodecs/main_rans4x16.js +0 -82
  254. package/esm/htscodecs/main_rans4x16.js.map +0 -1
  255. package/esm/htscodecs/main_tok3.d.ts +0 -1
  256. package/esm/htscodecs/main_tok3.js +0 -84
  257. package/esm/htscodecs/main_tok3.js.map +0 -1
  258. package/esm/unzip-pako.d.ts +0 -2
  259. package/esm/unzip-pako.js +0 -6
  260. package/esm/unzip-pako.js.map +0 -1
  261. package/src/cramFile/filehandle.ts +0 -1
  262. package/src/htscodecs/Makefile +0 -142
  263. package/src/htscodecs/README.md +0 -64
  264. package/src/htscodecs/main_arith_gen.js +0 -96
  265. package/src/htscodecs/main_fqzcomp.js +0 -113
  266. package/src/htscodecs/main_rans.js +0 -88
  267. package/src/htscodecs/main_rans4x16.js +0 -87
  268. package/src/htscodecs/main_tok3.js +0 -86
  269. package/src/unzip-pako.ts +0 -6
package/dist/craiIndex.js CHANGED
@@ -1,18 +1,9 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const unzip_1 = require("./unzip");
13
- const io_1 = require("./io");
14
3
  const errors_1 = require("./errors");
15
- const BAI_MAGIC = 21578050; // BAI\1
4
+ const io_1 = require("./io");
5
+ const unzip_1 = require("./unzip");
6
+ const BAI_MAGIC = 21_578_050; // BAI\1
16
7
  function addRecordToIndex(index, record) {
17
8
  const [seqId, start, span, containerStart, sliceStart, sliceBytes] = record;
18
9
  const s = seqId;
@@ -28,10 +19,7 @@ function addRecordToIndex(index, record) {
28
19
  });
29
20
  }
30
21
  function maybeUnzip(data) {
31
- if (data[0] === 31 && data[1] === 139) {
32
- return (0, unzip_1.unzip)(data);
33
- }
34
- return data;
22
+ return data[0] === 31 && data[1] === 139 ? (0, unzip_1.unzip)(data) : data;
35
23
  }
36
24
  class CraiIndex {
37
25
  /**
@@ -44,55 +32,54 @@ class CraiIndex {
44
32
  constructor(args) {
45
33
  this.filehandle = (0, io_1.open)(args.url, args.path, args.filehandle);
46
34
  }
47
- parseIndex() {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const index = {};
50
- const uncompressedBuffer = maybeUnzip(yield this.filehandle.readFile());
51
- if (uncompressedBuffer.length > 4 &&
52
- uncompressedBuffer.readUInt32LE(0) === BAI_MAGIC) {
53
- throw new errors_1.CramMalformedError('invalid .crai index file. note: file appears to be a .bai index. this is technically legal but please open a github issue if you need support');
54
- }
55
- // interpret the text as regular ascii, since it is
56
- // supposed to be only digits and whitespace characters
57
- // this is written in a deliberately low-level fashion for performance,
58
- // because some .crai files can be pretty large.
59
- let currentRecord = [];
60
- let currentString = '';
61
- for (const charCode of uncompressedBuffer) {
62
- if ((charCode >= 48 && charCode <= 57) /* 0-9 */ ||
63
- (!currentString && charCode === 45) /* leading - */) {
64
- currentString += String.fromCharCode(charCode);
65
- }
66
- else if (charCode === 9 /* \t */) {
67
- currentRecord.push(Number.parseInt(currentString, 10));
68
- currentString = '';
69
- }
70
- else if (charCode === 10 /* \n */) {
71
- currentRecord.push(Number.parseInt(currentString, 10));
72
- currentString = '';
73
- addRecordToIndex(index, currentRecord);
74
- currentRecord = [];
75
- }
76
- else if (charCode !== 13 /* \r */ && charCode !== 32 /* space */) {
77
- // if there are other characters in the file besides
78
- // space and \r, something is wrong.
79
- throw new errors_1.CramMalformedError('invalid .crai index file');
80
- }
35
+ async parseIndex() {
36
+ const index = {};
37
+ const uncompressedBuffer = maybeUnzip(await this.filehandle.readFile());
38
+ const dataView = new DataView(uncompressedBuffer.buffer);
39
+ if (uncompressedBuffer.length > 4 &&
40
+ dataView.getUint32(0, true) === BAI_MAGIC) {
41
+ throw new errors_1.CramMalformedError('invalid .crai index file. note: file appears to be a .bai index. this is technically legal but please open a github issue if you need support');
42
+ }
43
+ // interpret the text as regular ascii, since it is supposed to be only
44
+ // digits and whitespace characters this is written in a deliberately
45
+ // low-level fashion for performance, because some .crai files can be
46
+ // pretty large.
47
+ let currentRecord = [];
48
+ let currentString = '';
49
+ for (const charCode of uncompressedBuffer) {
50
+ if ((charCode >= 48 && charCode <= 57) /* 0-9 */ ||
51
+ (!currentString && charCode === 45) /* leading - */) {
52
+ currentString += String.fromCharCode(charCode);
81
53
  }
82
- // if the file ends without a \n, we need to flush our buffers
83
- if (currentString) {
54
+ else if (charCode === 9 /* \t */) {
84
55
  currentRecord.push(Number.parseInt(currentString, 10));
56
+ currentString = '';
85
57
  }
86
- if (currentRecord.length === 6) {
58
+ else if (charCode === 10 /* \n */) {
59
+ currentRecord.push(Number.parseInt(currentString, 10));
60
+ currentString = '';
87
61
  addRecordToIndex(index, currentRecord);
62
+ currentRecord = [];
88
63
  }
89
- // sort each of them by start
90
- Object.entries(index).forEach(([seqId, ent]) => {
91
- const e2 = ent;
92
- index[seqId] = e2.sort((a, b) => a.start - b.start || a.span - b.span);
93
- });
94
- return index;
64
+ else if (charCode !== 13 /* \r */ && charCode !== 32 /* space */) {
65
+ // if there are other characters in the file besides
66
+ // space and \r, something is wrong.
67
+ throw new errors_1.CramMalformedError('invalid .crai index file');
68
+ }
69
+ }
70
+ // if the file ends without a \n, we need to flush our buffers
71
+ if (currentString) {
72
+ currentRecord.push(Number.parseInt(currentString, 10));
73
+ }
74
+ if (currentRecord.length === 6) {
75
+ addRecordToIndex(index, currentRecord);
76
+ }
77
+ // sort each of them by start
78
+ Object.entries(index).forEach(([seqId, ent]) => {
79
+ const e2 = ent;
80
+ index[seqId] = e2.sort((a, b) => a.start - b.start || a.span - b.span);
95
81
  });
82
+ return index;
96
83
  }
97
84
  getIndex() {
98
85
  if (!this.parseIndexP) {
@@ -108,10 +95,8 @@ class CraiIndex {
108
95
  * @returns {Promise} true if the index contains entries for
109
96
  * the given reference sequence ID, false otherwise
110
97
  */
111
- hasDataForReferenceSequence(seqId) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- return !!(yield this.getIndex())[seqId];
114
- });
98
+ async hasDataForReferenceSequence(seqId) {
99
+ return !!(await this.getIndex())[seqId];
115
100
  }
116
101
  /**
117
102
  * fetch index entries for the given range
@@ -124,31 +109,29 @@ class CraiIndex {
124
109
  * an array of objects of the form
125
110
  * `{start, span, containerStart, sliceStart, sliceBytes }`
126
111
  */
127
- getEntriesForRange(seqId, queryStart, queryEnd) {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- const seqEntries = (yield this.getIndex())[seqId];
130
- if (!seqEntries) {
131
- return [];
132
- }
133
- const compare = (entry) => {
134
- const entryStart = entry.start;
135
- const entryEnd = entry.start + entry.span;
136
- if (entryStart > queryEnd) {
137
- return -1;
138
- } // entry is ahead of query
139
- if (entryEnd <= queryStart) {
140
- return 1;
141
- } // entry is behind query
142
- return 0; // entry overlaps query
143
- };
144
- const bins = [];
145
- for (const entry of seqEntries) {
146
- if (compare(entry) === 0) {
147
- bins.push(entry);
148
- }
112
+ async getEntriesForRange(seqId, queryStart, queryEnd) {
113
+ const seqEntries = (await this.getIndex())[seqId];
114
+ if (!seqEntries) {
115
+ return [];
116
+ }
117
+ const compare = (entry) => {
118
+ const entryStart = entry.start;
119
+ const entryEnd = entry.start + entry.span;
120
+ if (entryStart > queryEnd) {
121
+ return -1;
122
+ } // entry is ahead of query
123
+ if (entryEnd <= queryStart) {
124
+ return 1;
125
+ } // entry is behind query
126
+ return 0; // entry overlaps query
127
+ };
128
+ const bins = [];
129
+ for (const entry of seqEntries) {
130
+ if (compare(entry) === 0) {
131
+ bins.push(entry);
149
132
  }
150
- return bins;
151
- });
133
+ }
134
+ return bins;
152
135
  }
153
136
  }
154
137
  exports.default = CraiIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"craiIndex.js","sourceRoot":"","sources":["../src/craiIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"craiIndex.js","sourceRoot":"","sources":["../src/craiIndex.ts"],"names":[],"mappings":"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"}