@gmod/tabix 1.5.4 → 1.5.6
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 +12 -0
- package/README.md +37 -37
- package/dist/chunk.js +12 -14
- package/dist/chunk.js.map +1 -1
- package/dist/csi.js +170 -253
- package/dist/csi.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/indexFile.js +27 -73
- package/dist/indexFile.js.map +1 -1
- package/dist/tabixIndexedFile.d.ts +1 -1
- package/dist/tabixIndexedFile.js +214 -306
- package/dist/tabixIndexedFile.js.map +1 -1
- package/dist/tbi.js +185 -256
- package/dist/tbi.js.map +1 -1
- package/dist/util.js +10 -64
- package/dist/util.js.map +1 -1
- package/dist/virtualOffset.js +13 -20
- package/dist/virtualOffset.js.map +1 -1
- package/esm/tabixIndexedFile.d.ts +1 -1
- package/esm/tabixIndexedFile.js +21 -12
- package/esm/tabixIndexedFile.js.map +1 -1
- package/package.json +6 -7
- package/src/tabixIndexedFile.ts +23 -16
package/dist/indexFile.js
CHANGED
|
@@ -8,33 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
39
12
|
var t = {};
|
|
40
13
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -50,33 +23,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
50
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
24
|
};
|
|
52
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
26
|
+
const abortable_promise_cache_1 = __importDefault(require("abortable-promise-cache"));
|
|
27
|
+
const quick_lru_1 = __importDefault(require("quick-lru"));
|
|
28
|
+
class IndexFile {
|
|
56
29
|
/**
|
|
57
30
|
* @param {filehandle} filehandle
|
|
58
31
|
* @param {function} [renameRefSeqs]
|
|
59
32
|
*/
|
|
60
|
-
|
|
61
|
-
var filehandle = _a.filehandle, _b = _a.renameRefSeqs, renameRefSeqs = _b === void 0 ? function (n) { return n; } : _b;
|
|
33
|
+
constructor({ filehandle, renameRefSeqs = (n) => n, }) {
|
|
62
34
|
this.filehandle = filehandle;
|
|
63
35
|
this.renameRefSeq = renameRefSeqs;
|
|
64
36
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return
|
|
70
|
-
switch (_b.label) {
|
|
71
|
-
case 0: return [4 /*yield*/, this.parse(opts)];
|
|
72
|
-
case 1:
|
|
73
|
-
_a = _b.sent(), indices = _a.indices, rest = __rest(_a, ["indices"]);
|
|
74
|
-
return [2 /*return*/, rest];
|
|
75
|
-
}
|
|
76
|
-
});
|
|
37
|
+
getMetadata(opts = {}) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
40
|
+
const _a = yield this.parse(opts), { indices } = _a, rest = __rest(_a, ["indices"]);
|
|
41
|
+
return rest;
|
|
77
42
|
});
|
|
78
|
-
}
|
|
79
|
-
|
|
43
|
+
}
|
|
44
|
+
_findFirstData(currentFdl, virtualOffset) {
|
|
80
45
|
if (currentFdl) {
|
|
81
46
|
return currentFdl.compareTo(virtualOffset) > 0
|
|
82
47
|
? virtualOffset
|
|
@@ -85,34 +50,23 @@ var IndexFile = /** @class */ (function () {
|
|
|
85
50
|
else {
|
|
86
51
|
return virtualOffset;
|
|
87
52
|
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
return [2 /*return*/, this._parseCache.get('index', null, undefined)];
|
|
101
|
-
});
|
|
53
|
+
}
|
|
54
|
+
parse(opts = {}) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
if (!this._parseCache) {
|
|
57
|
+
this._parseCache = new abortable_promise_cache_1.default({
|
|
58
|
+
cache: new quick_lru_1.default({ maxSize: 1 }),
|
|
59
|
+
fill: () => this._parse(opts),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return this._parseCache.get('index', null, undefined);
|
|
102
63
|
});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return __generator(this, function (_a) {
|
|
108
|
-
switch (_a.label) {
|
|
109
|
-
case 0: return [4 /*yield*/, this.parse(opts)];
|
|
110
|
-
case 1: return [2 /*return*/, !!((_a.sent()).indices[seqId] || {}).binIndex];
|
|
111
|
-
}
|
|
112
|
-
});
|
|
64
|
+
}
|
|
65
|
+
hasRefSeq(seqId, opts = {}) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
return !!((yield this.parse(opts)).indices[seqId] || {}).binIndex;
|
|
113
68
|
});
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
}());
|
|
69
|
+
}
|
|
70
|
+
}
|
|
117
71
|
exports.default = IndexFile;
|
|
118
72
|
//# sourceMappingURL=indexFile.js.map
|
package/dist/indexFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sFAA2D;AAC3D,0DAAgC;AAWhC,MAA8B,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;IASY,WAAW,CAAC,OAAgB,EAAE;;YACzC,6DAA6D;YAC7D,MAAM,KAAuB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAA7C,EAAE,OAAO,OAAoC,EAA/B,IAAI,cAAlB,WAAoB,CAAyB,CAAA;YACnD,OAAO,IAAI,CAAA;QACb,CAAC;KAAA;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;IAEK,KAAK,CAAC,OAAgB,EAAE;;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,iCAAqB,CAAC;oBAC3C,KAAK,EAAE,IAAI,mBAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACnC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC9B,CAAC,CAAA;aACH;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QACvD,CAAC;KAAA;IAEK,SAAS,CAAC,KAAa,EAAE,OAAgB,EAAE;;YAC/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;QACnE,CAAC;KAAA;CACF;AAlED,4BAkEC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { GenericFilehandle } from 'generic-filehandle';
|
|
3
3
|
import { Options } from './indexFile';
|
|
4
4
|
import Chunk from './chunk';
|
|
5
|
-
|
|
5
|
+
type GetLinesCallback = (line: string, fileOffset: number) => void;
|
|
6
6
|
interface GetLinesOpts {
|
|
7
7
|
[key: string]: unknown;
|
|
8
8
|
signal?: AbortSignal;
|