@gmod/tabix 3.2.0 → 3.2.2

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.
@@ -1,8 +1,8 @@
1
- import LRU from 'quick-lru';
1
+ import LRU from '@jbrowse/quick-lru';
2
2
  import Chunk from './chunk.ts';
3
- import { IndexData, Options } from './indexFile.ts';
3
+ import { Options } from './indexFile.ts';
4
4
  import type { GenericFilehandle } from 'generic-filehandle2';
5
- type GetLinesCallback = (line: string, fileOffset: number) => void;
5
+ type GetLinesCallback = (line: string, fileOffset: number, start: number, end: number) => void;
6
6
  interface GetLinesOpts {
7
7
  [key: string]: unknown;
8
8
  signal?: AbortSignal;
@@ -12,6 +12,7 @@ export default class TabixIndexedFile {
12
12
  private filehandle;
13
13
  private index;
14
14
  private renameRefSeq;
15
+ private hasCustomRenameRefSeq;
15
16
  private chunkCache;
16
17
  cache: LRU<string, {
17
18
  bytesRead: number;
@@ -44,7 +45,7 @@ export default class TabixIndexedFile {
44
45
  * indexing and querying. note that the data that is returned is not altered,
45
46
  * just the names of the reference sequences that are used for querying.
46
47
  */
47
- constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, renameRefSeqs, chunkCacheSize, }: {
48
+ constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, renameRefSeqs: renameRefSeqsPre, chunkCacheSize, }: {
48
49
  path?: string;
49
50
  filehandle?: GenericFilehandle;
50
51
  url?: string;
@@ -89,12 +90,10 @@ export default class TabixIndexedFile {
89
90
  * get a buffer containing the "header" region of the file, which are the
90
91
  * bytes up to the first non-meta line
91
92
  */
92
- getHeaderBuffer(opts?: Options): Promise<Uint8Array<ArrayBufferLike>>;
93
+ getHeaderBuffer(opts?: Options): Promise<any>;
93
94
  /**
94
95
  * get a string containing the "header" region of the file, is the portion up
95
96
  * to the first non-meta line
96
- *
97
- * @returns {Promise} for a string
98
97
  */
99
98
  getHeader(opts?: Options): Promise<string>;
100
99
  /**
@@ -103,27 +102,36 @@ export default class TabixIndexedFile {
103
102
  */
104
103
  getReferenceSequenceNames(opts?: Options): Promise<string[]>;
105
104
  /**
106
- * @param {object} metadata metadata object from the parsed index, containing
107
- * columnNumbers, metaChar, and format
108
- *
109
105
  * @param {string} regionRefName
110
106
  *
111
107
  * @param {number} regionStart region start coordinate (0-based-half-open)
112
108
  *
113
109
  * @param {number} regionEnd region end coordinate (0-based-half-open)
114
110
  *
115
- * @param {array[string]} line
111
+ * @param {string} line
112
+ *
113
+ * @param {number} refColumn column number for ref
114
+ *
115
+ * @param {number} startColumn column number for start
116
+ *
117
+ * @param {number} endColumn column number for end
118
+ *
119
+ * @param {number} maxColumn pre-calculated max column
120
+ *
121
+ * @param {number} metaCharCode pre-calculated metaChar code
122
+ *
123
+ * @param {number} coordinateOffset 0 or -1 for coordinate adjustment
124
+ *
125
+ * @param {boolean} isVCF whether this is VCF format
126
+ *
127
+ * @param {boolean} isIdentityRename whether renameRefSeq is the identity function
116
128
  *
117
- * @returns {object} like `{startCoordinate, overlaps}`. overlaps is boolean,
118
- * true if line is a data line that overlaps the given region
129
+ * @returns {{ start: number, end: number } | null | undefined} coordinates if overlapping, null if should stop processing, undefined otherwise
119
130
  */
120
- checkLine(metadata: IndexData, regionRefName: string, regionStart: number, regionEnd: number, line: string): {
121
- overlaps: boolean;
122
- startCoordinate?: undefined;
123
- } | {
124
- startCoordinate: number;
125
- overlaps: boolean;
126
- };
131
+ checkLine(regionRefName: string, regionStart: number, regionEnd: number, line: string, refColumn: number, startColumn: number, endColumn: number, maxColumn: number, metaCharCode: number | undefined, coordinateOffset: number, isVCF: boolean, isIdentityRename: boolean): {
132
+ start: number;
133
+ end: number;
134
+ } | null | undefined;
127
135
  _getVcfEnd(startCoordinate: number, refSeq: string, info: any): number;
128
136
  /**
129
137
  * return the approximate number of data lines in the given reference
@@ -5,11 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const abortable_promise_cache_1 = __importDefault(require("@gmod/abortable-promise-cache"));
7
7
  const bgzf_filehandle_1 = require("@gmod/bgzf-filehandle");
8
+ const quick_lru_1 = __importDefault(require("@jbrowse/quick-lru"));
8
9
  const generic_filehandle2_1 = require("generic-filehandle2");
9
- const quick_lru_1 = __importDefault(require("quick-lru"));
10
10
  const csi_ts_1 = __importDefault(require("./csi.js"));
11
11
  const tbi_ts_1 = __importDefault(require("./tbi.js"));
12
- const util_ts_1 = require("./util.js");
13
12
  class TabixIndexedFile {
14
13
  /**
15
14
  * @param {object} args
@@ -37,10 +36,11 @@ class TabixIndexedFile {
37
36
  * indexing and querying. note that the data that is returned is not altered,
38
37
  * just the names of the reference sequences that are used for querying.
39
38
  */
40
- constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, renameRefSeqs = n => n, chunkCacheSize = 5 * 2 ** 20, }) {
39
+ constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, renameRefSeqs: renameRefSeqsPre, chunkCacheSize = 5 * 2 ** 20, }) {
41
40
  this.cache = new quick_lru_1.default({
42
41
  maxSize: 1000,
43
42
  });
43
+ const renameRefSeqs = renameRefSeqsPre ?? (arg => arg);
44
44
  if (filehandle) {
45
45
  this.filehandle = filehandle;
46
46
  }
@@ -102,6 +102,7 @@ class TabixIndexedFile {
102
102
  throw new TypeError('must provide one of tbiFilehandle, tbiPath, csiFilehandle, csiPath, tbiUrl, csiUrl');
103
103
  }
104
104
  this.renameRefSeq = renameRefSeqs;
105
+ this.hasCustomRenameRefSeq = renameRefSeqsPre !== undefined;
105
106
  this.chunkCache = new abortable_promise_cache_1.default({
106
107
  cache: new quick_lru_1.default({ maxSize: Math.floor(chunkCacheSize / (1 << 16)) }),
107
108
  fill: (args, signal) => this.readChunk(args, { signal }),
@@ -139,7 +140,6 @@ class TabixIndexedFile {
139
140
  signal = opts.signal;
140
141
  }
141
142
  const metadata = await this.index.getMetadata(options);
142
- (0, util_ts_1.checkAbortSignal)(signal);
143
143
  const start = s ?? 0;
144
144
  const end = e ?? metadata.maxRefLength;
145
145
  if (!(start <= end)) {
@@ -149,12 +149,20 @@ class TabixIndexedFile {
149
149
  return;
150
150
  }
151
151
  const chunks = await this.index.blocksForRange(refName, start, end, options);
152
- (0, util_ts_1.checkAbortSignal)(signal);
153
152
  const decoder = new TextDecoder('utf8');
153
+ const isVCF = metadata.format === 'VCF';
154
+ const columnNumbersEffective = {
155
+ ref: metadata.columnNumbers.ref || 0,
156
+ start: metadata.columnNumbers.start || 0,
157
+ end: isVCF ? 8 : metadata.columnNumbers.end || 0,
158
+ };
159
+ const maxColumn = Math.max(columnNumbersEffective.ref, columnNumbersEffective.start, columnNumbersEffective.end);
160
+ const metaCharCode = metadata.metaChar?.charCodeAt(0);
161
+ const coordinateOffset = metadata.coordinateType === '1-based-closed' ? -1 : 0;
162
+ const isIdentityRename = !this.hasCustomRenameRefSeq;
154
163
  // now go through each chunk and parse and filter the lines out of it
155
164
  for (const c of chunks) {
156
165
  const { buffer, cpositions, dpositions } = await this.chunkCache.get(c.toString(), c, signal);
157
- (0, util_ts_1.checkAbortSignal)(signal);
158
166
  let blockStart = 0;
159
167
  let pos = 0;
160
168
  // fast path, Buffer is just ASCII chars and not gigantor, can be
@@ -182,16 +190,13 @@ class TabixIndexedFile {
182
190
  }
183
191
  }
184
192
  // filter the line for whether it is within the requested range
185
- const { startCoordinate, overlaps } = this.checkLine(metadata, refName, start, end, line);
186
- if (overlaps) {
187
- callback(line, this.calculateFileOffset(cpositions, dpositions, pos, blockStart, c.minv.dataPosition));
188
- }
189
- else if (startCoordinate !== undefined && startCoordinate >= end) {
190
- // the lines were overlapping the region, but now have stopped, so we
191
- // must be at the end of the relevant data and we can stop processing
192
- // data now
193
+ const result = this.checkLine(refName, start, end, line, columnNumbersEffective.ref, columnNumbersEffective.start, columnNumbersEffective.end, maxColumn, metaCharCode, coordinateOffset, isVCF, isIdentityRename);
194
+ if (result === null) {
193
195
  return;
194
196
  }
197
+ else if (result !== undefined) {
198
+ callback(line, this.calculateFileOffset(cpositions, dpositions, pos, blockStart, c.minv.dataPosition), result.start, result.end);
199
+ }
195
200
  blockStart = n + 1;
196
201
  }
197
202
  }
@@ -211,16 +216,13 @@ class TabixIndexedFile {
211
216
  }
212
217
  }
213
218
  // filter the line for whether it is within the requested range
214
- const { startCoordinate, overlaps } = this.checkLine(metadata, refName, start, end, line);
215
- if (overlaps) {
216
- callback(line, this.calculateFileOffset(cpositions, dpositions, pos, blockStart, c.minv.dataPosition));
217
- }
218
- else if (startCoordinate !== undefined && startCoordinate >= end) {
219
- // the lines were overlapping the region, but now have stopped, so we
220
- // must be at the end of the relevant data and we can stop processing
221
- // data now
219
+ const result = this.checkLine(refName, start, end, line, columnNumbersEffective.ref, columnNumbersEffective.start, columnNumbersEffective.end, maxColumn, metaCharCode, coordinateOffset, isVCF, isIdentityRename);
220
+ if (result === null) {
222
221
  return;
223
222
  }
223
+ else if (result !== undefined) {
224
+ callback(line, this.calculateFileOffset(cpositions, dpositions, pos, blockStart, c.minv.dataPosition), result.start, result.end);
225
+ }
224
226
  blockStart = n + 1;
225
227
  }
226
228
  }
@@ -235,7 +237,6 @@ class TabixIndexedFile {
235
237
  */
236
238
  async getHeaderBuffer(opts = {}) {
237
239
  const { firstDataLine, metaChar, maxBlockSize } = await this.getMetadata(opts);
238
- (0, util_ts_1.checkAbortSignal)(opts.signal);
239
240
  const maxFetch = (firstDataLine?.blockPosition || 0) + maxBlockSize;
240
241
  // TODO: what if we don't have a firstDataLine, and the header actually
241
242
  // takes up more than one block? this case is not covered here
@@ -263,8 +264,6 @@ class TabixIndexedFile {
263
264
  /**
264
265
  * get a string containing the "header" region of the file, is the portion up
265
266
  * to the first non-meta line
266
- *
267
- * @returns {Promise} for a string
268
267
  */
269
268
  async getHeader(opts = {}) {
270
269
  const decoder = new TextDecoder('utf8');
@@ -280,123 +279,122 @@ class TabixIndexedFile {
280
279
  return metadata.refIdToName;
281
280
  }
282
281
  /**
283
- * @param {object} metadata metadata object from the parsed index, containing
284
- * columnNumbers, metaChar, and format
285
- *
286
282
  * @param {string} regionRefName
287
283
  *
288
284
  * @param {number} regionStart region start coordinate (0-based-half-open)
289
285
  *
290
286
  * @param {number} regionEnd region end coordinate (0-based-half-open)
291
287
  *
292
- * @param {array[string]} line
288
+ * @param {string} line
289
+ *
290
+ * @param {number} refColumn column number for ref
291
+ *
292
+ * @param {number} startColumn column number for start
293
+ *
294
+ * @param {number} endColumn column number for end
295
+ *
296
+ * @param {number} maxColumn pre-calculated max column
297
+ *
298
+ * @param {number} metaCharCode pre-calculated metaChar code
293
299
  *
294
- * @returns {object} like `{startCoordinate, overlaps}`. overlaps is boolean,
295
- * true if line is a data line that overlaps the given region
300
+ * @param {number} coordinateOffset 0 or -1 for coordinate adjustment
301
+ *
302
+ * @param {boolean} isVCF whether this is VCF format
303
+ *
304
+ * @param {boolean} isIdentityRename whether renameRefSeq is the identity function
305
+ *
306
+ * @returns {{ start: number, end: number } | null | undefined} coordinates if overlapping, null if should stop processing, undefined otherwise
296
307
  */
297
- checkLine(metadata, regionRefName, regionStart, regionEnd, line) {
298
- const { columnNumbers, metaChar, coordinateType, format } = metadata;
299
- // skip meta lines
300
- if (metaChar && line.startsWith(metaChar)) {
301
- return { overlaps: false };
308
+ checkLine(regionRefName, regionStart, regionEnd, line, refColumn, startColumn, endColumn, maxColumn, metaCharCode, coordinateOffset, isVCF, isIdentityRename) {
309
+ if (metaCharCode !== undefined && line.charCodeAt(0) === metaCharCode) {
310
+ return;
311
+ }
312
+ // Length-based fast path: split for short lines, indexOf for long lines
313
+ // Split is faster for short lines, but slow for long lines with big attribute columns
314
+ if (line.length < 500) {
315
+ const fields = line.split('\t');
316
+ const ref = fields[refColumn - 1];
317
+ const refMatch = isIdentityRename
318
+ ? ref === regionRefName
319
+ : this.renameRefSeq(ref) === regionRefName;
320
+ if (!refMatch) {
321
+ return;
322
+ }
323
+ const startCoordinate = +fields[startColumn - 1] + coordinateOffset;
324
+ if (startCoordinate >= regionEnd) {
325
+ return null;
326
+ }
327
+ let endCoordinate;
328
+ if (endColumn === 0 || endColumn === startColumn) {
329
+ endCoordinate = startCoordinate + 1;
330
+ }
331
+ else if (isVCF) {
332
+ endCoordinate = this._getVcfEnd(startCoordinate, fields[3], fields[endColumn - 1]);
333
+ }
334
+ else {
335
+ endCoordinate = +fields[endColumn - 1];
336
+ }
337
+ if (endCoordinate <= regionStart) {
338
+ return;
339
+ }
340
+ return { start: startCoordinate, end: endCoordinate };
302
341
  }
303
- // check ref/start/end using column metadata from index
304
- let { ref, start, end } = columnNumbers;
305
- if (!ref) {
306
- ref = 0;
342
+ // Long lines - use indexOf chain (avoids parsing long attribute column)
343
+ let prev = -1;
344
+ const tabs = [-1];
345
+ for (let i = 0; i < maxColumn; i++) {
346
+ const pos = line.indexOf('\t', prev + 1);
347
+ if (pos === -1) {
348
+ tabs.push(line.length);
349
+ break;
350
+ }
351
+ tabs.push(pos);
352
+ prev = pos;
307
353
  }
308
- if (!start) {
309
- start = 0;
354
+ const ref = line.slice(tabs[refColumn - 1] + 1, tabs[refColumn]);
355
+ const refMatch = isIdentityRename
356
+ ? ref === regionRefName
357
+ : this.renameRefSeq(ref) === regionRefName;
358
+ if (!refMatch) {
359
+ return;
310
360
  }
311
- if (!end) {
312
- end = 0;
361
+ const startCoordinate = +line.slice(tabs[startColumn - 1] + 1, tabs[startColumn]) +
362
+ coordinateOffset;
363
+ if (startCoordinate >= regionEnd) {
364
+ return null;
313
365
  }
314
- if (format === 'VCF') {
315
- end = 8;
366
+ let endCoordinate;
367
+ if (endColumn === 0 || endColumn === startColumn) {
368
+ endCoordinate = startCoordinate + 1;
316
369
  }
317
- const maxColumn = Math.max(ref, start, end);
318
- // this code is kind of complex, but it is fairly fast. basically, we want
319
- // to avoid doing a split, because if the lines are really long that could
320
- // lead to us allocating a bunch of extra memory, which is slow
321
- let currentColumnNumber = 1; // cols are numbered starting at 1 in the index metadata
322
- let currentColumnStart = 0;
323
- let refSeq = '';
324
- let startCoordinate = -Infinity;
325
- const l = line.length;
326
- for (let i = 0; i < l + 1; i++) {
327
- if (line[i] === '\t' || i === l) {
328
- if (currentColumnNumber === ref) {
329
- if (this.renameRefSeq(line.slice(currentColumnStart, i)) !==
330
- regionRefName) {
331
- return {
332
- overlaps: false,
333
- };
334
- }
335
- }
336
- else if (currentColumnNumber === start) {
337
- startCoordinate = Number.parseInt(line.slice(currentColumnStart, i), 10);
338
- // we convert to 0-based-half-open
339
- if (coordinateType === '1-based-closed') {
340
- startCoordinate -= 1;
341
- }
342
- if (startCoordinate >= regionEnd) {
343
- return {
344
- startCoordinate,
345
- overlaps: false,
346
- };
347
- }
348
- if ((end === 0 || end === start) && // if we have no end, we assume the feature is 1 bp long
349
- startCoordinate + 1 <= regionStart) {
350
- return {
351
- startCoordinate,
352
- overlaps: false,
353
- };
354
- }
355
- }
356
- else if (format === 'VCF' && currentColumnNumber === 4) {
357
- refSeq = line.slice(currentColumnStart, i);
358
- }
359
- else if (currentColumnNumber === end) {
360
- // this will never match if there is no end column
361
- const endCoordinate = format === 'VCF'
362
- ? this._getVcfEnd(startCoordinate, refSeq, line.slice(currentColumnStart, i))
363
- : Number.parseInt(line.slice(currentColumnStart, i), 10);
364
- if (endCoordinate <= regionStart) {
365
- return {
366
- overlaps: false,
367
- };
368
- }
369
- }
370
- if (currentColumnNumber === maxColumn) {
371
- break;
372
- }
373
- currentColumnStart = i + 1;
374
- currentColumnNumber += 1;
375
- }
370
+ else if (isVCF) {
371
+ endCoordinate = this._getVcfEnd(startCoordinate, line.slice(tabs[3] + 1, tabs[4]), line.slice(tabs[endColumn - 1] + 1, tabs[endColumn]));
376
372
  }
377
- return {
378
- startCoordinate,
379
- overlaps: true,
380
- };
373
+ else {
374
+ endCoordinate = +line.slice(tabs[endColumn - 1] + 1, tabs[endColumn]);
375
+ }
376
+ if (endCoordinate <= regionStart) {
377
+ return;
378
+ }
379
+ return { start: startCoordinate, end: endCoordinate };
381
380
  }
382
381
  _getVcfEnd(startCoordinate, refSeq, info) {
383
382
  let endCoordinate = startCoordinate + refSeq.length;
384
- // ignore TRA features as they specify CHR2 and END as being on a different
385
- // chromosome
386
- //
387
- // if CHR2 is on the same chromosome, still ignore it because there should
388
- // be another pairwise feature at the end of this one
389
383
  const isTRA = info.includes('SVTYPE=TRA');
390
- if (info[0] !== '.' && !isTRA) {
391
- const endRegex = /(?:^|;)END=([^;]+)/;
392
- const match = endRegex.exec(info);
393
- if (match) {
394
- endCoordinate = Number.parseInt(match[1], 10);
395
- }
396
- }
397
- else if (isTRA) {
384
+ if (isTRA) {
398
385
  return startCoordinate + 1;
399
386
  }
387
+ if (info[0] !== '.') {
388
+ const endIdx = info.indexOf('END=');
389
+ if (endIdx !== -1 && (endIdx === 0 || info[endIdx - 1] === ';')) {
390
+ const start = endIdx + 4;
391
+ let end = info.indexOf(';', start);
392
+ if (end === -1) {
393
+ end = info.length;
394
+ }
395
+ endCoordinate = Number.parseInt(info.slice(start, end), 10);
396
+ }
397
+ }
400
398
  return endCoordinate;
401
399
  }
402
400
  /**
@@ -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.js CHANGED
@@ -77,7 +77,6 @@ class TabixIndex extends indexFile_ts_1.default {
77
77
  async _parse(opts = {}) {
78
78
  const buf = await this.filehandle.readFile(opts);
79
79
  const bytes = await (0, bgzf_filehandle_1.unzip)(buf);
80
- (0, util_ts_1.checkAbortSignal)(opts.signal);
81
80
  const dataView = new DataView(bytes.buffer);
82
81
  const magic = dataView.getUint32(0, true);
83
82
  if (magic !== TBI_MAGIC /* "TBI\1" */) {
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,24 +1,4 @@
1
1
  import Chunk from './chunk.ts';
2
2
  import VirtualOffset from './virtualOffset.ts';
3
- /**
4
- * Properly check if the given AbortSignal is aborted. Per the standard, if the
5
- * signal reads as aborted, this function throws either a DOMException
6
- * AbortError, or a regular error with a `code` attribute set to `ERR_ABORTED`.
7
- *
8
- * For convenience, passing `undefined` is a no-op
9
- *
10
- * @param {AbortSignal} [signal] an AbortSignal, or anything with an `aborted`
11
- * attribute
12
- *
13
- * @returns nothing
14
- */
15
- export declare function checkAbortSignal(signal?: AbortSignal): void;
16
- /**
17
- * Skips to the next tick, then runs `checkAbortSignal`.
18
- * Await this to inside an otherwise synchronous loop to
19
- * provide a place to break when an abort signal is received.
20
- * @param {AbortSignal} signal
21
- */
22
- export declare function abortBreakPoint(signal?: AbortSignal): Promise<void>;
23
3
  export declare function canMergeBlocks(chunk1: Chunk, chunk2: Chunk): boolean;
24
4
  export declare function optimizeChunks(chunks: Chunk[], lowest?: VirtualOffset): Chunk[];
package/dist/util.js CHANGED
@@ -1,48 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkAbortSignal = checkAbortSignal;
4
- exports.abortBreakPoint = abortBreakPoint;
5
3
  exports.canMergeBlocks = canMergeBlocks;
6
4
  exports.optimizeChunks = optimizeChunks;
7
- class AbortError extends Error {
8
- }
9
- /**
10
- * Properly check if the given AbortSignal is aborted. Per the standard, if the
11
- * signal reads as aborted, this function throws either a DOMException
12
- * AbortError, or a regular error with a `code` attribute set to `ERR_ABORTED`.
13
- *
14
- * For convenience, passing `undefined` is a no-op
15
- *
16
- * @param {AbortSignal} [signal] an AbortSignal, or anything with an `aborted`
17
- * attribute
18
- *
19
- * @returns nothing
20
- */
21
- function checkAbortSignal(signal) {
22
- if (!signal) {
23
- return;
24
- }
25
- if (signal.aborted) {
26
- if (typeof DOMException === 'undefined') {
27
- const e = new AbortError('aborted');
28
- e.code = 'ERR_ABORTED';
29
- throw e;
30
- }
31
- else {
32
- throw new DOMException('aborted', 'AbortError');
33
- }
34
- }
35
- }
36
- /**
37
- * Skips to the next tick, then runs `checkAbortSignal`.
38
- * Await this to inside an otherwise synchronous loop to
39
- * provide a place to break when an abort signal is received.
40
- * @param {AbortSignal} signal
41
- */
42
- async function abortBreakPoint(signal) {
43
- await Promise.resolve();
44
- checkAbortSignal(signal);
45
- }
46
5
  function canMergeBlocks(chunk1, chunk2) {
47
6
  return (chunk2.minv.blockPosition - chunk1.maxv.blockPosition < 65000 &&
48
7
  chunk2.maxv.blockPosition - chunk1.minv.blockPosition < 5000000);
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAkBA,4CAcC;AAQD,0CAGC;AAED,wCAKC;AAED,wCAgCC;AAjFD,MAAM,UAAW,SAAQ,KAAK;CAE7B;AACD;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAC,MAAoB;IACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC,CAAC,IAAI,GAAG,aAAa,CAAA;YACtB,MAAM,CAAC,CAAA;QACT,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CAAC,MAAoB;IACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IACvB,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,SAAgB,cAAc,CAAC,MAAa,EAAE,MAAa;IACzD,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK;QAC7D,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAChE,CAAA;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,MAAe,EAAE,MAAsB;IACpE,MAAM,YAAY,GAAY,EAAE,CAAA;IAChC,IAAI,SAA4B,CAAA;IAEhC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAA;QACzD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACxB,SAAS,GAAG,KAAK,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,IAAI,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7C,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC7B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACxB,SAAS,GAAG,KAAK,CAAA;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAGA,wCAKC;AAED,wCAgCC;AAvCD,SAAgB,cAAc,CAAC,MAAa,EAAE,MAAa;IACzD,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK;QAC7D,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAChE,CAAA;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,MAAe,EAAE,MAAsB;IACpE,MAAM,YAAY,GAAY,EAAE,CAAA;IAChC,IAAI,SAA4B,CAAA;IAEhC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAA;QACzD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACxB,SAAS,GAAG,KAAK,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,IAAI,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7C,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC7B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACxB,SAAS,GAAG,KAAK,CAAA;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC"}