@gmod/tabix 1.5.13 → 1.5.15

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 (50) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/README.md +9 -0
  3. package/dist/chunk.js +0 -1
  4. package/dist/chunk.js.map +1 -1
  5. package/dist/csi.d.ts +1 -2
  6. package/dist/csi.js +10 -10
  7. package/dist/csi.js.map +1 -1
  8. package/dist/indexFile.js +8 -8
  9. package/dist/indexFile.js.map +1 -1
  10. package/dist/tabix-bundle.js +2 -0
  11. package/dist/tabix-bundle.js.LICENSE.txt +8 -0
  12. package/dist/tabixIndexedFile.d.ts +43 -21
  13. package/dist/tabixIndexedFile.js +82 -58
  14. package/dist/tabixIndexedFile.js.map +1 -1
  15. package/dist/tbi.d.ts +0 -1
  16. package/dist/tbi.js +12 -11
  17. package/dist/tbi.js.map +1 -1
  18. package/dist/util.d.ts +7 -7
  19. package/dist/util.js +11 -12
  20. package/dist/util.js.map +1 -1
  21. package/dist/virtualOffset.d.ts +0 -2
  22. package/dist/virtualOffset.js +1 -15
  23. package/dist/virtualOffset.js.map +1 -1
  24. package/esm/chunk.js +0 -1
  25. package/esm/chunk.js.map +1 -1
  26. package/esm/csi.d.ts +1 -2
  27. package/esm/csi.js +4 -4
  28. package/esm/csi.js.map +1 -1
  29. package/esm/indexFile.js +1 -1
  30. package/esm/indexFile.js.map +1 -1
  31. package/esm/tabixIndexedFile.d.ts +43 -21
  32. package/esm/tabixIndexedFile.js +68 -44
  33. package/esm/tabixIndexedFile.js.map +1 -1
  34. package/esm/tbi.d.ts +0 -1
  35. package/esm/tbi.js +6 -5
  36. package/esm/tbi.js.map +1 -1
  37. package/esm/util.d.ts +7 -7
  38. package/esm/util.js +6 -6
  39. package/esm/util.js.map +1 -1
  40. package/esm/virtualOffset.d.ts +0 -2
  41. package/esm/virtualOffset.js +0 -13
  42. package/esm/virtualOffset.js.map +1 -1
  43. package/package.json +25 -21
  44. package/src/chunk.ts +1 -1
  45. package/src/csi.ts +6 -5
  46. package/src/indexFile.ts +1 -1
  47. package/src/tabixIndexedFile.ts +74 -52
  48. package/src/tbi.ts +7 -6
  49. package/src/util.ts +7 -7
  50. package/src/virtualOffset.ts +7 -21
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Buffer } from 'buffer';
3
2
  import { GenericFilehandle } from 'generic-filehandle';
4
3
  import { Options, IndexData } from './indexFile';
@@ -12,41 +11,58 @@ interface GetLinesOpts {
12
11
  export default class TabixIndexedFile {
13
12
  private filehandle;
14
13
  private index;
15
- private chunkSizeLimit;
16
14
  private yieldTime;
17
15
  private renameRefSeq;
18
16
  private chunkCache;
19
17
  /**
20
18
  * @param {object} args
19
+ *
21
20
  * @param {string} [args.path]
21
+ *
22
22
  * @param {filehandle} [args.filehandle]
23
+ *
23
24
  * @param {string} [args.tbiPath]
25
+ *
24
26
  * @param {filehandle} [args.tbiFilehandle]
27
+ *
25
28
  * @param {string} [args.csiPath]
29
+ *
26
30
  * @param {filehandle} [args.csiFilehandle]
27
- * @param {number} [args.yieldTime] yield to main thread after N milliseconds if reading features is taking a long time to avoid hanging main thread
28
- * @param {function} [args.renameRefSeqs] optional function with sig `string => string` to transform
29
- * reference sequence names for the purpose of indexing and querying. note that the data that is returned is
30
- * not altered, just the names of the reference sequences that are used for querying.
31
+ *
32
+ * @param {number} [args.yieldTime] yield to main thread after N milliseconds
33
+ * if reading features is taking a long time to avoid hanging main thread
34
+ *
35
+ * @param {function} [args.renameRefSeqs] optional function with sig `string
36
+ * => string` to transform reference sequence names for the purpose of
37
+ * indexing and querying. note that the data that is returned is not altered,
38
+ * just the names of the reference sequences that are used for querying.
31
39
  */
32
- constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, yieldTime, chunkSizeLimit, renameRefSeqs, chunkCacheSize, }: {
40
+ constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, yieldTime, renameRefSeqs, chunkCacheSize, }: {
33
41
  path?: string;
34
42
  filehandle?: GenericFilehandle;
43
+ url?: string;
35
44
  tbiPath?: string;
45
+ tbiUrl?: string;
36
46
  tbiFilehandle?: GenericFilehandle;
37
47
  csiPath?: string;
48
+ csiUrl?: string;
38
49
  csiFilehandle?: GenericFilehandle;
39
50
  yieldTime?: number;
40
- chunkSizeLimit?: number;
41
51
  renameRefSeqs?: (n: string) => string;
42
52
  chunkCacheSize?: number;
43
53
  });
44
54
  /**
45
55
  * @param refName name of the reference sequence
56
+ *
46
57
  * @param start start of the region (in 0-based half-open coordinates)
58
+ *
47
59
  * @param end end of the region (in 0-based half-open coordinates)
48
- * @param opts callback called for each line in the region. can also pass a object param containing obj.lineCallback, obj.signal, etc
49
- * @returns promise that is resolved when the whole read is finished, rejected on error
60
+ *
61
+ * @param opts callback called for each line in the region. can also pass a
62
+ * object param containing obj.lineCallback, obj.signal, etc
63
+ *
64
+ * @returns promise that is resolved when the whole read is finished,
65
+ * rejected on error
50
66
  */
51
67
  getLines(refName: string, s: number | undefined, e: number | undefined, opts: GetLinesOpts | GetLinesCallback): Promise<void>;
52
68
  getMetadata(opts?: Options): Promise<{
@@ -63,31 +79,34 @@ export default class TabixIndexedFile {
63
79
  format: string;
64
80
  }>;
65
81
  /**
66
- * get a buffer containing the "header" region of
67
- * the file, which are the bytes up to the first
68
- * non-meta line
82
+ * get a buffer containing the "header" region of the file, which are the
83
+ * bytes up to the first non-meta line
69
84
  */
70
85
  getHeaderBuffer(opts?: Options): Promise<Buffer>;
71
86
  /**
72
- * get a string containing the "header" region of the
73
- * file, is the portion up to the first non-meta line
87
+ * get a string containing the "header" region of the file, is the portion up
88
+ * to the first non-meta line
74
89
  *
75
90
  * @returns {Promise} for a string
76
91
  */
77
92
  getHeader(opts?: Options): Promise<string>;
78
93
  /**
79
- * get an array of reference sequence names, in the order in which
80
- * they occur in the file. reference sequence renaming is not applied
81
- * to these names.
94
+ * get an array of reference sequence names, in the order in which they occur
95
+ * in the file. reference sequence renaming is not applied to these names.
82
96
  */
83
97
  getReferenceSequenceNames(opts?: Options): Promise<string[]>;
84
98
  /**
85
- * @param {object} metadata metadata object from the parsed index,
86
- * containing columnNumbers, metaChar, and format
99
+ * @param {object} metadata metadata object from the parsed index, containing
100
+ * columnNumbers, metaChar, and format
101
+ *
87
102
  * @param {string} regionRefName
103
+ *
88
104
  * @param {number} regionStart region start coordinate (0-based-half-open)
105
+ *
89
106
  * @param {number} regionEnd region end coordinate (0-based-half-open)
107
+ *
90
108
  * @param {array[string]} line
109
+ *
91
110
  * @returns {object} like `{startCoordinate, overlaps}`. overlaps is boolean,
92
111
  * true if line is a data line that overlaps the given region
93
112
  */
@@ -100,8 +119,11 @@ export default class TabixIndexedFile {
100
119
  };
101
120
  _getVcfEnd(startCoordinate: number, refSeq: string, info: any): number;
102
121
  /**
103
- * return the approximate number of data lines in the given reference sequence
122
+ * return the approximate number of data lines in the given reference
123
+ * sequence
124
+ *
104
125
  * @param refSeq reference sequence name
126
+ *
105
127
  * @returns number of data lines present on that reference sequence
106
128
  */
107
129
  lineCount(refName: string, opts?: Options): Promise<number>;
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const abortable_promise_cache_1 = __importDefault(require("abortable-promise-cache"));
15
+ const abortable_promise_cache_1 = __importDefault(require("@gmod/abortable-promise-cache"));
16
16
  const quick_lru_1 = __importDefault(require("quick-lru"));
17
17
  const buffer_1 = require("buffer");
18
18
  const generic_filehandle_1 = require("generic-filehandle");
@@ -27,24 +27,37 @@ function timeout(time) {
27
27
  class TabixIndexedFile {
28
28
  /**
29
29
  * @param {object} args
30
+ *
30
31
  * @param {string} [args.path]
32
+ *
31
33
  * @param {filehandle} [args.filehandle]
34
+ *
32
35
  * @param {string} [args.tbiPath]
36
+ *
33
37
  * @param {filehandle} [args.tbiFilehandle]
38
+ *
34
39
  * @param {string} [args.csiPath]
40
+ *
35
41
  * @param {filehandle} [args.csiFilehandle]
36
- * @param {number} [args.yieldTime] yield to main thread after N milliseconds if reading features is taking a long time to avoid hanging main thread
37
- * @param {function} [args.renameRefSeqs] optional function with sig `string => string` to transform
38
- * reference sequence names for the purpose of indexing and querying. note that the data that is returned is
39
- * not altered, just the names of the reference sequences that are used for querying.
42
+ *
43
+ * @param {number} [args.yieldTime] yield to main thread after N milliseconds
44
+ * if reading features is taking a long time to avoid hanging main thread
45
+ *
46
+ * @param {function} [args.renameRefSeqs] optional function with sig `string
47
+ * => string` to transform reference sequence names for the purpose of
48
+ * indexing and querying. note that the data that is returned is not altered,
49
+ * just the names of the reference sequences that are used for querying.
40
50
  */
41
- constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, yieldTime = 500, chunkSizeLimit = 50000000, renameRefSeqs = n => n, chunkCacheSize = 5 * Math.pow(2, 20), }) {
51
+ constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, yieldTime = 500, renameRefSeqs = n => n, chunkCacheSize = 5 * Math.pow(2, 20), }) {
42
52
  if (filehandle) {
43
53
  this.filehandle = filehandle;
44
54
  }
45
55
  else if (path) {
46
56
  this.filehandle = new generic_filehandle_1.LocalFile(path);
47
57
  }
58
+ else if (url) {
59
+ this.filehandle = new generic_filehandle_1.RemoteFile(url);
60
+ }
48
61
  else {
49
62
  throw new TypeError('must provide either filehandle or path');
50
63
  }
@@ -78,10 +91,24 @@ class TabixIndexedFile {
78
91
  renameRefSeqs,
79
92
  });
80
93
  }
94
+ else if (csiUrl) {
95
+ this.index = new csi_1.default({
96
+ filehandle: new generic_filehandle_1.RemoteFile(csiUrl),
97
+ });
98
+ }
99
+ else if (tbiUrl) {
100
+ this.index = new tbi_1.default({
101
+ filehandle: new generic_filehandle_1.RemoteFile(tbiUrl),
102
+ });
103
+ }
104
+ else if (url) {
105
+ this.index = new tbi_1.default({
106
+ filehandle: new generic_filehandle_1.RemoteFile(`${url}.tbi`),
107
+ });
108
+ }
81
109
  else {
82
- throw new TypeError('must provide one of tbiFilehandle, tbiPath, csiFilehandle, or csiPath');
110
+ throw new TypeError('must provide one of tbiFilehandle, tbiPath, csiFilehandle, csiPath, tbiUrl, csiUrl');
83
111
  }
84
- this.chunkSizeLimit = chunkSizeLimit;
85
112
  this.renameRefSeq = renameRefSeqs;
86
113
  this.yieldTime = yieldTime;
87
114
  this.chunkCache = new abortable_promise_cache_1.default({
@@ -91,20 +118,23 @@ class TabixIndexedFile {
91
118
  }
92
119
  /**
93
120
  * @param refName name of the reference sequence
121
+ *
94
122
  * @param start start of the region (in 0-based half-open coordinates)
123
+ *
95
124
  * @param end end of the region (in 0-based half-open coordinates)
96
- * @param opts callback called for each line in the region. can also pass a object param containing obj.lineCallback, obj.signal, etc
97
- * @returns promise that is resolved when the whole read is finished, rejected on error
125
+ *
126
+ * @param opts callback called for each line in the region. can also pass a
127
+ * object param containing obj.lineCallback, obj.signal, etc
128
+ *
129
+ * @returns promise that is resolved when the whole read is finished,
130
+ * rejected on error
98
131
  */
99
132
  getLines(refName, s, e, opts) {
100
- var _a;
101
133
  return __awaiter(this, void 0, void 0, function* () {
134
+ var _a;
102
135
  let signal;
103
136
  let options = {};
104
137
  let callback;
105
- if (opts === undefined) {
106
- throw new TypeError('line callback must be provided');
107
- }
108
138
  if (typeof opts === 'function') {
109
139
  callback = opts;
110
140
  }
@@ -113,12 +143,6 @@ class TabixIndexedFile {
113
143
  callback = opts.lineCallback;
114
144
  signal = opts.signal;
115
145
  }
116
- if (refName === undefined) {
117
- throw new TypeError('must provide a reference sequence name');
118
- }
119
- if (!callback) {
120
- throw new TypeError('line callback must be provided');
121
- }
122
146
  const metadata = yield this.index.getMetadata(options);
123
147
  (0, util_1.checkAbortSignal)(signal);
124
148
  const start = s !== null && s !== void 0 ? s : 0;
@@ -131,14 +155,6 @@ class TabixIndexedFile {
131
155
  }
132
156
  const chunks = yield this.index.blocksForRange(refName, start, end, options);
133
157
  (0, util_1.checkAbortSignal)(signal);
134
- // check the chunks for any that are over the size limit. if
135
- // any are, don't fetch any of them
136
- for (const chunk of chunks) {
137
- const size = chunk.fetchedSize();
138
- if (size > this.chunkSizeLimit) {
139
- throw new Error(`Too much data. Chunk size ${size.toLocaleString()} bytes exceeds chunkSizeLimit of ${this.chunkSizeLimit.toLocaleString()}.`);
140
- }
141
- }
142
158
  // now go through each chunk and parse and filter the lines out of it
143
159
  let last = Date.now();
144
160
  for (const c of chunks) {
@@ -154,6 +170,7 @@ class TabixIndexedFile {
154
170
  }
155
171
  const b = buffer.slice(blockStart, n);
156
172
  const line = (_a = decoder === null || decoder === void 0 ? void 0 : decoder.decode(b)) !== null && _a !== void 0 ? _a : b.toString();
173
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
157
174
  if (dpositions) {
158
175
  while (blockStart + c.minv.dataPosition >= dpositions[pos++]) { }
159
176
  pos--;
@@ -200,20 +217,20 @@ class TabixIndexedFile {
200
217
  }
201
218
  });
202
219
  }
203
- getMetadata(opts = {}) {
204
- return __awaiter(this, void 0, void 0, function* () {
220
+ getMetadata() {
221
+ return __awaiter(this, arguments, void 0, function* (opts = {}) {
205
222
  return this.index.getMetadata(opts);
206
223
  });
207
224
  }
208
225
  /**
209
- * get a buffer containing the "header" region of
210
- * the file, which are the bytes up to the first
211
- * non-meta line
226
+ * get a buffer containing the "header" region of the file, which are the
227
+ * bytes up to the first non-meta line
212
228
  */
213
- getHeaderBuffer(opts = {}) {
214
- return __awaiter(this, void 0, void 0, function* () {
229
+ getHeaderBuffer() {
230
+ return __awaiter(this, arguments, void 0, function* (opts = {}) {
215
231
  const { firstDataLine, metaChar, maxBlockSize } = yield this.getMetadata(opts);
216
232
  (0, util_1.checkAbortSignal)(opts.signal);
233
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
217
234
  const maxFetch = ((firstDataLine === null || firstDataLine === void 0 ? void 0 : firstDataLine.blockPosition) || 0) + maxBlockSize;
218
235
  // TODO: what if we don't have a firstDataLine, and the header
219
236
  // actually takes up more than one block? this case is not covered here
@@ -239,35 +256,39 @@ class TabixIndexedFile {
239
256
  });
240
257
  }
241
258
  /**
242
- * get a string containing the "header" region of the
243
- * file, is the portion up to the first non-meta line
259
+ * get a string containing the "header" region of the file, is the portion up
260
+ * to the first non-meta line
244
261
  *
245
262
  * @returns {Promise} for a string
246
263
  */
247
- getHeader(opts = {}) {
248
- return __awaiter(this, void 0, void 0, function* () {
264
+ getHeader() {
265
+ return __awaiter(this, arguments, void 0, function* (opts = {}) {
249
266
  const bytes = yield this.getHeaderBuffer(opts);
250
267
  return bytes.toString('utf8');
251
268
  });
252
269
  }
253
270
  /**
254
- * get an array of reference sequence names, in the order in which
255
- * they occur in the file. reference sequence renaming is not applied
256
- * to these names.
271
+ * get an array of reference sequence names, in the order in which they occur
272
+ * in the file. reference sequence renaming is not applied to these names.
257
273
  */
258
- getReferenceSequenceNames(opts = {}) {
259
- return __awaiter(this, void 0, void 0, function* () {
274
+ getReferenceSequenceNames() {
275
+ return __awaiter(this, arguments, void 0, function* (opts = {}) {
260
276
  const metadata = yield this.getMetadata(opts);
261
277
  return metadata.refIdToName;
262
278
  });
263
279
  }
264
280
  /**
265
- * @param {object} metadata metadata object from the parsed index,
266
- * containing columnNumbers, metaChar, and format
281
+ * @param {object} metadata metadata object from the parsed index, containing
282
+ * columnNumbers, metaChar, and format
283
+ *
267
284
  * @param {string} regionRefName
285
+ *
268
286
  * @param {number} regionStart region start coordinate (0-based-half-open)
287
+ *
269
288
  * @param {number} regionEnd region end coordinate (0-based-half-open)
289
+ *
270
290
  * @param {array[string]} line
291
+ *
271
292
  * @returns {object} like `{startCoordinate, overlaps}`. overlaps is boolean,
272
293
  * true if line is a data line that overlaps the given region
273
294
  */
@@ -292,9 +313,9 @@ class TabixIndexedFile {
292
313
  end = 8;
293
314
  }
294
315
  const maxColumn = Math.max(ref, start, end);
295
- // this code is kind of complex, but it is fairly fast.
296
- // basically, we want to avoid doing a split, because if the lines are really long
297
- // that could lead to us allocating a bunch of extra memory, which is slow
316
+ // this code is kind of complex, but it is fairly fast. basically, we want
317
+ // to avoid doing a split, because if the lines are really long that could
318
+ // lead to us allocating a bunch of extra memory, which is slow
298
319
  let currentColumnNumber = 1; // cols are numbered starting at 1 in the index metadata
299
320
  let currentColumnStart = 0;
300
321
  let refSeq = '';
@@ -372,17 +393,20 @@ class TabixIndexedFile {
372
393
  return endCoordinate;
373
394
  }
374
395
  /**
375
- * return the approximate number of data lines in the given reference sequence
396
+ * return the approximate number of data lines in the given reference
397
+ * sequence
398
+ *
376
399
  * @param refSeq reference sequence name
400
+ *
377
401
  * @returns number of data lines present on that reference sequence
378
402
  */
379
- lineCount(refName, opts = {}) {
380
- return __awaiter(this, void 0, void 0, function* () {
403
+ lineCount(refName_1) {
404
+ return __awaiter(this, arguments, void 0, function* (refName, opts = {}) {
381
405
  return this.index.lineCount(refName, opts);
382
406
  });
383
407
  }
384
- _readRegion(pos, size, opts = {}) {
385
- return __awaiter(this, void 0, void 0, function* () {
408
+ _readRegion(pos_1, size_1) {
409
+ return __awaiter(this, arguments, void 0, function* (pos, size, opts = {}) {
386
410
  const b = buffer_1.Buffer.alloc(size);
387
411
  const { bytesRead, buffer } = yield this.filehandle.read(b, 0, size, pos, opts);
388
412
  return buffer.slice(0, bytesRead);
@@ -392,10 +416,10 @@ class TabixIndexedFile {
392
416
  * read and uncompress the data in a chunk (composed of one or more
393
417
  * contiguous bgzip blocks) of the file
394
418
  */
395
- readChunk(c, opts = {}) {
396
- return __awaiter(this, void 0, void 0, function* () {
397
- // fetch the uncompressed data, uncompress carefully a block at a time,
398
- // and stop when done
419
+ readChunk(c_1) {
420
+ return __awaiter(this, arguments, void 0, function* (c, opts = {}) {
421
+ // fetch the uncompressed data, uncompress carefully a block at a time, and
422
+ // stop when done
399
423
  const data = yield this._readRegion(c.minv.blockPosition, c.fetchedSize(), opts);
400
424
  return (0, bgzf_filehandle_1.unzipChunkSlice)(data, c);
401
425
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
package/dist/tbi.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Buffer } from 'buffer';
3
2
  import VirtualOffset from './virtualOffset';
4
3
  import Chunk from './chunk';
package/dist/tbi.js CHANGED
@@ -44,7 +44,8 @@ const indexFile_1 = __importDefault(require("./indexFile"));
44
44
  const TBI_MAGIC = 21578324; // TBI\1
45
45
  const TAD_LIDX_SHIFT = 14;
46
46
  /**
47
- * calculate the list of bins that may overlap with region [beg,end) (zero-based half-open)
47
+ * calculate the list of bins that may overlap with region [beg,end)
48
+ * (zero-based half-open)
48
49
  */
49
50
  function reg2bins(beg, end) {
50
51
  beg += 1; // < convert to 1-based closed
@@ -59,13 +60,13 @@ function reg2bins(beg, end) {
59
60
  ];
60
61
  }
61
62
  class TabixIndex extends indexFile_1.default {
62
- lineCount(refName, opts = {}) {
63
- return __awaiter(this, void 0, void 0, function* () {
63
+ lineCount(refName_1) {
64
+ return __awaiter(this, arguments, void 0, function* (refName, opts = {}) {
64
65
  const indexData = yield this.parse(opts);
65
- if (!indexData) {
66
+ const refId = indexData.refNameToId[refName];
67
+ if (refId === undefined) {
66
68
  return -1;
67
69
  }
68
- const refId = indexData.refNameToId[refName];
69
70
  const idx = indexData.indices[refId];
70
71
  if (!idx) {
71
72
  return -1;
@@ -78,8 +79,8 @@ class TabixIndex extends indexFile_1.default {
78
79
  });
79
80
  }
80
81
  // fetch and parse the index
81
- _parse(opts = {}) {
82
- return __awaiter(this, void 0, void 0, function* () {
82
+ _parse() {
83
+ return __awaiter(this, arguments, void 0, function* (opts = {}) {
83
84
  const buf = yield this.filehandle.readFile(opts);
84
85
  const bytes = yield (0, bgzf_filehandle_1.unzip)(buf);
85
86
  (0, util_1.checkAbortSignal)(opts.signal);
@@ -202,16 +203,16 @@ class TabixIndex extends indexFile_1.default {
202
203
  }
203
204
  return { refNameToId, refIdToName };
204
205
  }
205
- blocksForRange(refName, min, max, opts = {}) {
206
- return __awaiter(this, void 0, void 0, function* () {
206
+ blocksForRange(refName_1, min_1, max_1) {
207
+ return __awaiter(this, arguments, void 0, function* (refName, min, max, opts = {}) {
207
208
  if (min < 0) {
208
209
  min = 0;
209
210
  }
210
211
  const indexData = yield this.parse(opts);
211
- if (!indexData) {
212
+ const refId = indexData.refNameToId[refName];
213
+ if (refId === undefined) {
212
214
  return [];
213
215
  }
214
- const refId = indexData.refNameToId[refName];
215
216
  const ba = indexData.indices[refId];
216
217
  if (!ba) {
217
218
  return [];
package/dist/tbi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"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"}
package/dist/util.d.ts CHANGED
@@ -1,16 +1,16 @@
1
- /// <reference types="long" />
2
1
  import Chunk from './chunk';
3
2
  import VirtualOffset from './virtualOffset';
4
3
  export declare function longToNumber(long: Long): number;
5
4
  /**
6
- * Properly check if the given AbortSignal is aborted.
7
- * Per the standard, if the signal reads as aborted,
8
- * this function throws either a DOMException AbortError, or a regular error
9
- * with a `code` attribute set to `ERR_ABORTED`.
5
+ * Properly check if the given AbortSignal is aborted. Per the standard, if the
6
+ * signal reads as aborted, this function throws either a DOMException
7
+ * AbortError, or a regular error with a `code` attribute set to `ERR_ABORTED`.
10
8
  *
11
9
  * For convenience, passing `undefined` is a no-op
12
10
  *
13
- * @param {AbortSignal} [signal] an AbortSignal, or anything with an `aborted` attribute
11
+ * @param {AbortSignal} [signal] an AbortSignal, or anything with an `aborted`
12
+ * attribute
13
+ *
14
14
  * @returns nothing
15
15
  */
16
16
  export declare function checkAbortSignal(signal?: AbortSignal): void;
@@ -22,4 +22,4 @@ export declare function checkAbortSignal(signal?: AbortSignal): void;
22
22
  */
23
23
  export declare function abortBreakPoint(signal?: AbortSignal): Promise<void>;
24
24
  export declare function canMergeBlocks(chunk1: Chunk, chunk2: Chunk): boolean;
25
- export declare function optimizeChunks(chunks: Chunk[], lowest: VirtualOffset): Chunk[];
25
+ export declare function optimizeChunks(chunks: Chunk[], lowest?: VirtualOffset): Chunk[];