@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.
- package/CHANGELOG.md +5 -1
- package/dist/tabix-bundle.js +1 -1
- package/dist/tabixIndexedFile.d.ts +28 -20
- package/dist/tabixIndexedFile.js +120 -122
- package/dist/tabixIndexedFile.js.map +1 -1
- package/dist/tbi.js +0 -1
- package/dist/tbi.js.map +1 -1
- package/dist/util.d.ts +0 -20
- package/dist/util.js +0 -41
- package/dist/util.js.map +1 -1
- package/esm/tabixIndexedFile.d.ts +28 -20
- package/esm/tabixIndexedFile.js +120 -122
- package/esm/tabixIndexedFile.js.map +1 -1
- package/esm/tbi.js +1 -2
- package/esm/tbi.js.map +1 -1
- package/esm/util.d.ts +0 -20
- package/esm/util.js +0 -39
- package/esm/util.js.map +1 -1
- package/package.json +11 -9
- package/src/tabixIndexedFile.ts +175 -136
- package/src/tbi.ts +1 -2
- package/src/util.ts +0 -42
|
@@ -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 {
|
|
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<
|
|
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 {
|
|
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 {
|
|
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(
|
|
121
|
-
|
|
122
|
-
|
|
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
|
package/dist/tabixIndexedFile.js
CHANGED
|
@@ -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
|
|
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
|
|
186
|
-
if (
|
|
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
|
|
215
|
-
if (
|
|
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 {
|
|
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
|
-
* @
|
|
295
|
-
*
|
|
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(
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
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
|
-
//
|
|
304
|
-
let
|
|
305
|
-
|
|
306
|
-
|
|
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
|
-
|
|
309
|
-
|
|
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
|
-
|
|
312
|
-
|
|
361
|
+
const startCoordinate = +line.slice(tabs[startColumn - 1] + 1, tabs[startColumn]) +
|
|
362
|
+
coordinateOffset;
|
|
363
|
+
if (startCoordinate >= regionEnd) {
|
|
364
|
+
return null;
|
|
313
365
|
}
|
|
314
|
-
|
|
315
|
-
|
|
366
|
+
let endCoordinate;
|
|
367
|
+
if (endColumn === 0 || endColumn === startColumn) {
|
|
368
|
+
endCoordinate = startCoordinate + 1;
|
|
316
369
|
}
|
|
317
|
-
|
|
318
|
-
|
|
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
|
-
|
|
378
|
-
|
|
379
|
-
|
|
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 (
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA6C;AAE7C,0DAA8B;AAC9B,kEAAmD;AACnD,uCAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA6C;AAE7C,0DAA8B;AAC9B,kEAAmD;AACnD,uCAAmD;AACnD,uCAA0C;AAC1C,uEAA6D;AAE7D,MAAM,SAAS,GAAG,QAAQ,CAAA,CAAC,QAAQ;AACnC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB;;;GAGG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,GAAG,IAAI,CAAC,CAAA,CAAC,8BAA8B;IACvC,GAAG,IAAI,CAAC,CAAA;IACR,OAAO;QACL,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;KAChC,CAAA;AACZ,CAAC;AAED,MAAqB,UAAW,SAAQ,sBAAS;IAC/C,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,OAAgB,EAAE;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAK,EAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACzC,IAAI,KAAK,KAAK,SAAS,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACnC,CAAC;QAED,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC/C,MAAM,cAAc,GAClB,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAA;QACnE,MAAM,UAAU,GAA2B;YACzC,CAAC,EAAE,SAAS;YACZ,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,KAAK;SACT,CAAA;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAA;QACrE,CAAC;QACD,MAAM,aAAa,GAAG;YACpB,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;YAChC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;YAClC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;SACjC,CAAA;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAA;QACf,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACvD,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAE7C,2BAA2B;QAC3B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACrD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CACvD,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,iBAAiB,CAAC,CACxC,CAAA;QAED,+CAA+C;QAC/C,IAAI,UAAU,GAAG,EAAE,GAAG,iBAAiB,CAAA;QACvC,IAAI,aAAwC,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YACnD,oBAAoB;YACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YACpD,UAAU,IAAI,CAAC,CAAA;YACf,MAAM,QAAQ,GAA4B,EAAE,CAAA;YAC5C,IAAI,KAAK,CAAA;YACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBAChD,UAAU,IAAI,CAAC,CAAA;gBACf,IAAI,GAAG,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;gBACH,CAAC;qBAAM,IAAI,GAAG,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;oBACtD,UAAU,IAAI,CAAC,CAAA;oBACf,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;wBACrB,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;oBAChD,CAAC;oBACD,UAAU,IAAI,EAAE,GAAG,UAAU,CAAA;gBAC/B,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;oBACtD,UAAU,IAAI,CAAC,CAAA;oBACf,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;oBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvC,MAAM,CAAC,GAAG,IAAA,4BAAS,EAAC,KAAK,EAAE,UAAU,CAAC,CAAA;wBACtC,MAAM,CAAC,GAAG,IAAA,4BAAS,EAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;wBAC1C,UAAU,IAAI,EAAE,CAAA;wBAChB,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;wBACrD,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,kBAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;oBAClC,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;gBACxB,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YACvD,UAAU,IAAI,CAAC,CAAA;YACf,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAA,4BAAS,EAAC,KAAK,EAAE,UAAU,CAAC,CAAA;gBAC7C,UAAU,IAAI,CAAC,CAAA;gBACf,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;YACpE,CAAC;YACD,OAAO;gBACL,QAAQ;gBACR,WAAW;gBACX,KAAK;aACN,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,OAAO;YACP,QAAQ;YACR,YAAY;YACZ,YAAY;YACZ,SAAS;YACT,aAAa;YACb,aAAa;YACb,cAAc;YACd,MAAM;YACN,WAAW;YACX,WAAW;YACX,YAAY,EAAE,CAAC,IAAI,EAAE;SACtB,CAAA;IACH,CAAC;IAED,cAAc,CAAC,KAAiB,EAAE,MAAc;QAC9C,OAAO;YACL,SAAS,EAAE,IAAA,iCAAuB,EAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;SACvD,CAAA;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,GAAW,EACX,GAAW,EACX,OAAgB,EAAE;QAElB,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,GAAG,GAAG,CAAC,CAAA;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,SAAS,GACb,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,EAAE,CAAC,WAAW,CACZ,GAAG,IAAI,cAAc,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM;gBAC5C,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,GAAG,IAAI,cAAc,CAC1B;YACH,CAAC,CAAC,IAAI,0BAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;QAC1D,CAAC;QAED,4CAA4C;QAE5C,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA,CAAC,uCAAuC;QAClF,MAAM,MAAM,GAAY,EAAE,CAAA;QAE1B,sEAAsE;QACtE,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;YAC3C,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBACxC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,mCAAmC;QACnC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAA;QACnC,IAAI,MAAiC,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC7C,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YAC5B,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,EAAE,CAAA;YACb,CAAC;QACH,CAAC;QAED,OAAO,IAAA,wBAAc,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;CACF;AApMD,6BAoMC"}
|
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":";;
|
|
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"}
|