@gmod/tabix 1.5.6 → 1.5.8

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.
@@ -5,28 +5,48 @@ export interface Options {
5
5
  [key: string]: unknown;
6
6
  signal?: AbortSignal;
7
7
  }
8
+ export interface IndexData {
9
+ refNameToId: {
10
+ [key: string]: number;
11
+ };
12
+ refIdToName: string[];
13
+ metaChar: string | null;
14
+ columnNumbers: {
15
+ ref: number;
16
+ start: number;
17
+ end: number;
18
+ };
19
+ coordinateType: string;
20
+ format: string;
21
+ [key: string]: any;
22
+ }
8
23
  export default abstract class IndexFile {
9
24
  filehandle: GenericFilehandle;
10
25
  renameRefSeq: (arg0: string) => string;
11
- private _parseCache;
12
- /**
13
- * @param {filehandle} filehandle
14
- * @param {function} [renameRefSeqs]
15
- */
26
+ private parseP?;
16
27
  constructor({ filehandle, renameRefSeqs, }: {
17
28
  filehandle: GenericFilehandle;
18
29
  renameRefSeqs?: (a: string) => string;
19
30
  });
20
31
  abstract lineCount(refName: string, args: Options): Promise<number>;
21
- protected abstract _parse(opts: Options): Promise<{
32
+ protected abstract _parse(opts: Options): Promise<IndexData>;
33
+ getMetadata(opts?: Options): Promise<{
34
+ [key: string]: any;
22
35
  refNameToId: {
23
36
  [key: string]: number;
24
37
  };
25
38
  refIdToName: string[];
39
+ metaChar: string | null;
40
+ columnNumbers: {
41
+ ref: number;
42
+ start: number;
43
+ end: number;
44
+ };
45
+ coordinateType: string;
46
+ format: string;
26
47
  }>;
27
- getMetadata(opts?: Options): Promise<any>;
28
48
  abstract blocksForRange(refName: string, start: number, end: number, opts: Options): Promise<Chunk[]>;
29
49
  _findFirstData(currentFdl: VirtualOffset | undefined, virtualOffset: VirtualOffset): VirtualOffset;
30
- parse(opts?: Options): Promise<any>;
50
+ parse(opts?: Options): Promise<IndexData>;
31
51
  hasRefSeq(seqId: number, opts?: Options): Promise<boolean>;
32
52
  }
package/esm/indexFile.js CHANGED
@@ -1,10 +1,4 @@
1
- import AbortablePromiseCache from 'abortable-promise-cache';
2
- import QuickLRU from 'quick-lru';
3
1
  export default class IndexFile {
4
- /**
5
- * @param {filehandle} filehandle
6
- * @param {function} [renameRefSeqs]
7
- */
8
2
  constructor({ filehandle, renameRefSeqs = (n) => n, }) {
9
3
  this.filehandle = filehandle;
10
4
  this.renameRefSeq = renameRefSeqs;
@@ -25,13 +19,13 @@ export default class IndexFile {
25
19
  }
26
20
  }
27
21
  async parse(opts = {}) {
28
- if (!this._parseCache) {
29
- this._parseCache = new AbortablePromiseCache({
30
- cache: new QuickLRU({ maxSize: 1 }),
31
- fill: () => this._parse(opts),
22
+ if (!this.parseP) {
23
+ this.parseP = this._parse(opts).catch(e => {
24
+ this.parseP = undefined;
25
+ throw e;
32
26
  });
33
27
  }
34
- return this._parseCache.get('index', null, undefined);
28
+ return this.parseP;
35
29
  }
36
30
  async hasRefSeq(seqId, opts = {}) {
37
31
  return !!((await this.parse(opts)).indices[seqId] || {}).binIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,QAAQ,MAAM,WAAW,CAAA;AAWhC,MAAM,CAAC,OAAO,OAAgB,SAAS;IAKrC;;;OAGG;IACH,YAAY,EACV,UAAU,EACV,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIjC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAA;IACnC,CAAC;IASM,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE;QACzC,6DAA6D;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IASD,cAAc,CACZ,UAAqC,EACrC,aAA4B;QAE5B,IAAI,UAAU,EAAE;YACd,OAAO,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,UAAU,CAAA;SACf;aAAM;YACL,OAAO,aAAa,CAAA;SACrB;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,CAAC;gBAC3C,KAAK,EAAE,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACnC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;aAC9B,CAAC,CAAA;SACH;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAgB,EAAE;QAC/C,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAA;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,OAAO,OAAgB,SAAS;IAKrC,YAAY,EACV,UAAU,EACV,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIjC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAA;IACnC,CAAC;IAMM,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE;QACzC,6DAA6D;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IASD,cAAc,CACZ,UAAqC,EACrC,aAA4B;QAE5B,IAAI,UAAU,EAAE;YACd,OAAO,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,UAAU,CAAA;SACf;aAAM;YACL,OAAO,aAAa,CAAA;SACrB;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACxC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;gBACvB,MAAM,CAAC,CAAA;YACT,CAAC,CAAC,CAAA;SACH;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAgB,EAAE;QAC/C,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAA;IACnE,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { GenericFilehandle } from 'generic-filehandle';
3
- import { Options } from './indexFile';
3
+ import { Options, IndexData } from './indexFile';
4
4
  import Chunk from './chunk';
5
5
  type GetLinesCallback = (line: string, fileOffset: number) => void;
6
6
  interface GetLinesOpts {
@@ -12,6 +12,7 @@ export default class TabixIndexedFile {
12
12
  private filehandle;
13
13
  private index;
14
14
  private chunkSizeLimit;
15
+ private yieldTime;
15
16
  private renameRefSeq;
16
17
  private chunkCache;
17
18
  /**
@@ -22,39 +23,50 @@ export default class TabixIndexedFile {
22
23
  * @param {filehandle} [args.tbiFilehandle]
23
24
  * @param {string} [args.csiPath]
24
25
  * @param {filehandle} [args.csiFilehandle]
25
- * @param {chunkSizeLimit} default 50MiB
26
+ * @param {number} [args.yieldTime] yield to main thread after N milliseconds if reading features is taking a long time to avoid hanging main thread
26
27
  * @param {function} [args.renameRefSeqs] optional function with sig `string => string` to transform
27
28
  * reference sequence names for the purpose of indexing and querying. note that the data that is returned is
28
29
  * not altered, just the names of the reference sequences that are used for querying.
29
- * @param {number} [args.chunkCacheSize] maximum size in bytes of the chunk cache. default 5MB
30
- * @param {number} [args.blockCacheSize] maximum size in bytes of the block cache. default 5MB
31
30
  */
32
- constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, chunkSizeLimit, renameRefSeqs, chunkCacheSize, }: {
31
+ constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, yieldTime, chunkSizeLimit, renameRefSeqs, chunkCacheSize, }: {
33
32
  path?: string;
34
33
  filehandle?: GenericFilehandle;
35
34
  tbiPath?: string;
36
35
  tbiFilehandle?: GenericFilehandle;
37
36
  csiPath?: string;
38
37
  csiFilehandle?: GenericFilehandle;
38
+ yieldTime?: number;
39
39
  chunkSizeLimit?: number;
40
40
  renameRefSeqs?: (n: string) => string;
41
41
  chunkCacheSize?: number;
42
42
  });
43
43
  /**
44
- * @param {string} refName name of the reference sequence
45
- * @param {number} start start of the region (in 0-based half-open coordinates)
46
- * @param {number} end end of the region (in 0-based half-open coordinates)
47
- * @param {function|object} lineCallback callback called for each line in the region. can also pass a object param containing obj.lineCallback, obj.signal, etc
48
- * @returns {Promise} resolved when the whole read is finished, rejected on error
44
+ * @param refName name of the reference sequence
45
+ * @param start start of the region (in 0-based half-open coordinates)
46
+ * @param end end of the region (in 0-based half-open coordinates)
47
+ * @param opts callback called for each line in the region. can also pass a object param containing obj.lineCallback, obj.signal, etc
48
+ * @returns promise that is resolved when the whole read is finished, rejected on error
49
49
  */
50
50
  getLines(refName: string, start: number, end: number, opts: GetLinesOpts | GetLinesCallback): Promise<void>;
51
- getMetadata(opts?: Options): Promise<any>;
51
+ getMetadata(opts?: Options): Promise<{
52
+ [key: string]: any;
53
+ refNameToId: {
54
+ [key: string]: number;
55
+ };
56
+ refIdToName: string[];
57
+ metaChar: string | null;
58
+ columnNumbers: {
59
+ ref: number;
60
+ start: number;
61
+ end: number;
62
+ };
63
+ coordinateType: string;
64
+ format: string;
65
+ }>;
52
66
  /**
53
67
  * get a buffer containing the "header" region of
54
68
  * the file, which are the bytes up to the first
55
69
  * non-meta line
56
- *
57
- * @returns {Promise} for a buffer
58
70
  */
59
71
  getHeaderBuffer(opts?: Options): Promise<Buffer>;
60
72
  /**
@@ -66,13 +78,10 @@ export default class TabixIndexedFile {
66
78
  getHeader(opts?: Options): Promise<string>;
67
79
  /**
68
80
  * get an array of reference sequence names, in the order in which
69
- * they occur in the file.
70
- *
71
- * reference sequence renaming is not applied to these names.
72
- *
73
- * @returns {Promise} for an array of string sequence names
81
+ * they occur in the file. reference sequence renaming is not applied
82
+ * to these names.
74
83
  */
75
- getReferenceSequenceNames(opts?: Options): Promise<any>;
84
+ getReferenceSequenceNames(opts?: Options): Promise<string[]>;
76
85
  /**
77
86
  * @param {object} metadata metadata object from the parsed index,
78
87
  * containing columnNumbers, metaChar, and format
@@ -83,16 +92,7 @@ export default class TabixIndexedFile {
83
92
  * @returns {object} like `{startCoordinate, overlaps}`. overlaps is boolean,
84
93
  * true if line is a data line that overlaps the given region
85
94
  */
86
- checkLine({ columnNumbers, metaChar, coordinateType, format, }: {
87
- columnNumbers: {
88
- ref: number;
89
- start: number;
90
- end: number;
91
- };
92
- metaChar: string;
93
- coordinateType: string;
94
- format: string;
95
- }, regionRefName: string, regionStart: number, regionEnd: number, line: string): {
95
+ checkLine(metadata: IndexData, regionRefName: string, regionStart: number, regionEnd: number, line: string): {
96
96
  overlaps: boolean;
97
97
  startCoordinate?: undefined;
98
98
  } | {
@@ -102,17 +102,19 @@ export default class TabixIndexedFile {
102
102
  _getVcfEnd(startCoordinate: number, refSeq: string, info: any): number;
103
103
  /**
104
104
  * return the approximate number of data lines in the given reference sequence
105
- * @param {string} refSeq reference sequence name
106
- * @returns {Promise} for number of data lines present on that reference sequence
105
+ * @param refSeq reference sequence name
106
+ * @returns number of data lines present on that reference sequence
107
107
  */
108
108
  lineCount(refName: string, opts?: Options): Promise<number>;
109
- _readRegion(position: number, compressedSize: number, opts?: Options): Promise<Buffer>;
109
+ _readRegion(pos: number, size: number, opts?: Options): Promise<Buffer>;
110
110
  /**
111
111
  * read and uncompress the data in a chunk (composed of one or more
112
112
  * contiguous bgzip blocks) of the file
113
- * @param {Chunk} chunk
114
- * @returns {Promise} for a string chunk of the file
115
113
  */
116
- readChunk(chunk: Chunk, opts?: Options): Promise<any>;
114
+ readChunk(c: Chunk, opts?: Options): Promise<{
115
+ buffer: Buffer;
116
+ cpositions: number[];
117
+ dpositions: number[];
118
+ }>;
117
119
  }
118
120
  export {};
@@ -7,9 +7,7 @@ import TBI from './tbi';
7
7
  import CSI from './csi';
8
8
  const decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8') : undefined;
9
9
  function timeout(time) {
10
- return new Promise(resolve => {
11
- setTimeout(resolve, time);
12
- });
10
+ return new Promise(resolve => setTimeout(resolve, time));
13
11
  }
14
12
  export default class TabixIndexedFile {
15
13
  /**
@@ -20,14 +18,12 @@ export default class TabixIndexedFile {
20
18
  * @param {filehandle} [args.tbiFilehandle]
21
19
  * @param {string} [args.csiPath]
22
20
  * @param {filehandle} [args.csiFilehandle]
23
- * @param {chunkSizeLimit} default 50MiB
21
+ * @param {number} [args.yieldTime] yield to main thread after N milliseconds if reading features is taking a long time to avoid hanging main thread
24
22
  * @param {function} [args.renameRefSeqs] optional function with sig `string => string` to transform
25
23
  * reference sequence names for the purpose of indexing and querying. note that the data that is returned is
26
24
  * not altered, just the names of the reference sequences that are used for querying.
27
- * @param {number} [args.chunkCacheSize] maximum size in bytes of the chunk cache. default 5MB
28
- * @param {number} [args.blockCacheSize] maximum size in bytes of the block cache. default 5MB
29
25
  */
30
- constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, chunkSizeLimit = 50000000, renameRefSeqs = n => n, chunkCacheSize = 5 * 2 ** 20, }) {
26
+ constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, yieldTime = 500, chunkSizeLimit = 50000000, renameRefSeqs = n => n, chunkCacheSize = 5 * 2 ** 20, }) {
31
27
  if (filehandle) {
32
28
  this.filehandle = filehandle;
33
29
  }
@@ -72,19 +68,18 @@ export default class TabixIndexedFile {
72
68
  }
73
69
  this.chunkSizeLimit = chunkSizeLimit;
74
70
  this.renameRefSeq = renameRefSeqs;
71
+ this.yieldTime = yieldTime;
75
72
  this.chunkCache = new AbortablePromiseCache({
76
- cache: new LRU({
77
- maxSize: Math.floor(chunkCacheSize / (1 << 16)),
78
- }),
79
- fill: this.readChunk.bind(this),
73
+ cache: new LRU({ maxSize: Math.floor(chunkCacheSize / (1 << 16)) }),
74
+ fill: (args, signal) => this.readChunk(args, { signal }),
80
75
  });
81
76
  }
82
77
  /**
83
- * @param {string} refName name of the reference sequence
84
- * @param {number} start start of the region (in 0-based half-open coordinates)
85
- * @param {number} end end of the region (in 0-based half-open coordinates)
86
- * @param {function|object} lineCallback callback called for each line in the region. can also pass a object param containing obj.lineCallback, obj.signal, etc
87
- * @returns {Promise} resolved when the whole read is finished, rejected on error
78
+ * @param refName name of the reference sequence
79
+ * @param start start of the region (in 0-based half-open coordinates)
80
+ * @param end end of the region (in 0-based half-open coordinates)
81
+ * @param opts callback called for each line in the region. can also pass a object param containing obj.lineCallback, obj.signal, etc
82
+ * @returns promise that is resolved when the whole read is finished, rejected on error
88
83
  */
89
84
  async getLines(refName, start, end, opts) {
90
85
  let signal;
@@ -135,7 +130,7 @@ export default class TabixIndexedFile {
135
130
  for (let chunkNum = 0; chunkNum < chunks.length; chunkNum += 1) {
136
131
  let previousStartCoordinate;
137
132
  const c = chunks[chunkNum];
138
- const { buffer, cpositions, dpositions } = await this.chunkCache.get(c.toString(), c, signal);
133
+ const { buffer, cpositions, dpositions } = await this.chunkCache.get(c.toString(), c);
139
134
  checkAbortSignal(signal);
140
135
  let blockStart = 0;
141
136
  let pos = 0;
@@ -182,7 +177,7 @@ export default class TabixIndexedFile {
182
177
  return;
183
178
  }
184
179
  // yield if we have emitted beyond the yield limit
185
- if (last - Date.now() > 500) {
180
+ if (this.yieldTime && last - Date.now() > this.yieldTime) {
186
181
  last = Date.now();
187
182
  checkAbortSignal(signal);
188
183
  await timeout(1);
@@ -198,15 +193,11 @@ export default class TabixIndexedFile {
198
193
  * get a buffer containing the "header" region of
199
194
  * the file, which are the bytes up to the first
200
195
  * non-meta line
201
- *
202
- * @returns {Promise} for a buffer
203
196
  */
204
197
  async getHeaderBuffer(opts = {}) {
205
198
  const { firstDataLine, metaChar, maxBlockSize } = await this.getMetadata(opts);
206
199
  checkAbortSignal(opts.signal);
207
- const maxFetch = firstDataLine && firstDataLine.blockPosition
208
- ? firstDataLine.blockPosition + maxBlockSize
209
- : maxBlockSize;
200
+ const maxFetch = ((firstDataLine === null || firstDataLine === void 0 ? void 0 : firstDataLine.blockPosition) || 0) + maxBlockSize;
210
201
  // TODO: what if we don't have a firstDataLine, and the header
211
202
  // actually takes up more than one block? this case is not covered here
212
203
  let bytes = await this._readRegion(0, maxFetch, opts);
@@ -234,7 +225,7 @@ export default class TabixIndexedFile {
234
225
  lastNewline = i;
235
226
  }
236
227
  }
237
- bytes = bytes.slice(0, lastNewline + 1);
228
+ bytes = bytes.subarray(0, lastNewline + 1);
238
229
  }
239
230
  return bytes;
240
231
  }
@@ -246,16 +237,12 @@ export default class TabixIndexedFile {
246
237
  */
247
238
  async getHeader(opts = {}) {
248
239
  const bytes = await this.getHeaderBuffer(opts);
249
- checkAbortSignal(opts.signal);
250
240
  return bytes.toString('utf8');
251
241
  }
252
242
  /**
253
243
  * get an array of reference sequence names, in the order in which
254
- * they occur in the file.
255
- *
256
- * reference sequence renaming is not applied to these names.
257
- *
258
- * @returns {Promise} for an array of string sequence names
244
+ * they occur in the file. reference sequence renaming is not applied
245
+ * to these names.
259
246
  */
260
247
  async getReferenceSequenceNames(opts = {}) {
261
248
  const metadata = await this.getMetadata(opts);
@@ -271,7 +258,8 @@ export default class TabixIndexedFile {
271
258
  * @returns {object} like `{startCoordinate, overlaps}`. overlaps is boolean,
272
259
  * true if line is a data line that overlaps the given region
273
260
  */
274
- checkLine({ columnNumbers, metaChar, coordinateType, format, }, regionRefName, regionStart, regionEnd, line) {
261
+ checkLine(metadata, regionRefName, regionStart, regionEnd, line) {
262
+ const { columnNumbers, metaChar, coordinateType, format } = metadata;
275
263
  // skip meta lines
276
264
  if (line.charAt(0) === metaChar) {
277
265
  return { overlaps: false };
@@ -376,31 +364,30 @@ export default class TabixIndexedFile {
376
364
  }
377
365
  /**
378
366
  * return the approximate number of data lines in the given reference sequence
379
- * @param {string} refSeq reference sequence name
380
- * @returns {Promise} for number of data lines present on that reference sequence
367
+ * @param refSeq reference sequence name
368
+ * @returns number of data lines present on that reference sequence
381
369
  */
382
370
  async lineCount(refName, opts = {}) {
383
371
  return this.index.lineCount(refName, opts);
384
372
  }
385
- async _readRegion(position, compressedSize, opts = {}) {
386
- const { bytesRead, buffer } = await this.filehandle.read(Buffer.alloc(compressedSize), 0, compressedSize, position, opts);
387
- return bytesRead < compressedSize ? buffer.slice(0, bytesRead) : buffer;
373
+ async _readRegion(pos, size, opts = {}) {
374
+ const b = Buffer.alloc(size);
375
+ const { bytesRead, buffer } = await this.filehandle.read(b, 0, size, pos, opts);
376
+ return buffer.subarray(0, bytesRead);
388
377
  }
389
378
  /**
390
379
  * read and uncompress the data in a chunk (composed of one or more
391
380
  * contiguous bgzip blocks) of the file
392
- * @param {Chunk} chunk
393
- * @returns {Promise} for a string chunk of the file
394
381
  */
395
- async readChunk(chunk, opts = {}) {
382
+ async readChunk(c, opts = {}) {
396
383
  // fetch the uncompressed data, uncompress carefully a block at a time,
397
384
  // and stop when done
398
- const compressedData = await this._readRegion(chunk.minv.blockPosition, chunk.fetchedSize(), opts);
385
+ const data = await this._readRegion(c.minv.blockPosition, c.fetchedSize(), opts);
399
386
  try {
400
- return unzipChunkSlice(compressedData, chunk);
387
+ return unzipChunkSlice(data, c);
401
388
  }
402
389
  catch (e) {
403
- throw new Error(`error decompressing chunk ${chunk.toString()} ${e}`);
390
+ throw new Error(`error decompressing c ${c.toString()} ${e}`);
404
391
  }
405
392
  }
406
393
  }
@@ -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/esm/tbi.d.ts CHANGED
@@ -17,12 +17,12 @@ export default class TabixIndex extends IndexFile {
17
17
  metaChar: string | null;
18
18
  maxBinNumber: number;
19
19
  maxRefLength: number;
20
- skipLines: any;
20
+ skipLines: number;
21
21
  firstDataLine: VirtualOffset | undefined;
22
22
  columnNumbers: {
23
- ref: any;
24
- start: any;
25
- end: any;
23
+ ref: number;
24
+ start: number;
25
+ end: number;
26
26
  };
27
27
  coordinateType: string;
28
28
  format: string;
package/esm/tbi.js CHANGED
@@ -38,10 +38,10 @@ export default class TabixIndex extends IndexFile {
38
38
  }
39
39
  return -1;
40
40
  }
41
- // memoize
42
41
  // fetch and parse the index
43
42
  async _parse(opts = {}) {
44
- const bytes = await unzip((await this.filehandle.readFile(opts)));
43
+ const buf = await this.filehandle.readFile(opts);
44
+ const bytes = await unzip(buf);
45
45
  checkAbortSignal(opts.signal);
46
46
  // check TBI magic numbers
47
47
  if (bytes.readUInt32LE(0) !== TBI_MAGIC /* "TBI\1" */) {
@@ -74,7 +74,7 @@ export default class TabixIndex extends IndexFile {
74
74
  const skipLines = bytes.readInt32LE(28);
75
75
  // read sequence dictionary
76
76
  const nameSectionLength = bytes.readInt32LE(32);
77
- const { refNameToId, refIdToName } = this._parseNameBytes(bytes.slice(36, 36 + nameSectionLength));
77
+ const { refNameToId, refIdToName } = this._parseNameBytes(bytes.subarray(36, 36 + nameSectionLength));
78
78
  // read the indexes for each reference sequence
79
79
  let currOffset = 36 + nameSectionLength;
80
80
  let firstDataLine;
@@ -139,7 +139,7 @@ export default class TabixIndex extends IndexFile {
139
139
  };
140
140
  }
141
141
  parsePseudoBin(bytes, offset) {
142
- const lineCount = longToNumber(Long.fromBytesLE(bytes.slice(offset + 16, offset + 24), true));
142
+ const lineCount = longToNumber(Long.fromBytesLE(bytes.subarray(offset + 16, offset + 24), true));
143
143
  return { lineCount };
144
144
  }
145
145
  _parseNameBytes(namesBytes) {
package/esm/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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/tabix",
3
- "version": "1.5.6",
3
+ "version": "1.5.8",
4
4
  "description": "Read Tabix-indexed files, supports both .tbi and .csi indexes",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/tabix-js",
@@ -46,23 +46,23 @@
46
46
  "quick-lru": "^4.0.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@types/jest": "^29.2.4",
49
+ "@types/jest": "^29.5.0",
50
50
  "@types/long": "^4.0.0",
51
- "@types/node": "^18.0.6",
51
+ "@types/node": "^18.15.5",
52
52
  "@types/quick-lru": "2.0.0",
53
- "@typescript-eslint/eslint-plugin": "^5.30.7",
54
- "@typescript-eslint/parser": "^5.30.7",
55
- "eslint": "^8.20.0",
56
- "eslint-config-prettier": "^8.3.0",
57
- "eslint-plugin-import": "^2.25.3",
53
+ "@typescript-eslint/eslint-plugin": "^5.56.0",
54
+ "@typescript-eslint/parser": "^5.56.0",
55
+ "eslint": "^8.36.0",
56
+ "eslint-config-prettier": "^8.8.0",
57
+ "eslint-plugin-import": "^2.27.5",
58
58
  "eslint-plugin-prettier": "^4.2.1",
59
- "jest": "^29.3.1",
60
- "jest-environment-jsdom": "^29.3.1",
61
- "prettier": "^2.7.1",
62
- "rimraf": "^3.0.2",
59
+ "jest": "^29.5.0",
60
+ "jest-environment-jsdom": "^29.5.0",
61
+ "prettier": "^2.8.6",
62
+ "rimraf": "^4.4.1",
63
63
  "standard-changelog": "^2.0.27",
64
- "ts-jest": "^29.0.3",
65
- "typescript": "^4.7.4"
64
+ "ts-jest": "^29.0.5",
65
+ "typescript": "^5.0.2"
66
66
  },
67
67
  "publishConfig": {
68
68
  "access": "public"