@gmod/tabix 1.5.0 → 1.5.1
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 +7 -0
- package/README.md +3 -2
- package/dist/chunk.js +33 -62
- package/dist/csi.d.ts +0 -1
- package/dist/csi.js +324 -533
- package/dist/index.js +11 -36
- package/dist/indexFile.d.ts +1 -1
- package/dist/indexFile.js +112 -174
- package/dist/tabixIndexedFile.d.ts +8 -4
- package/dist/tabixIndexedFile.js +476 -774
- package/dist/tbi.js +308 -485
- package/dist/util.js +132 -148
- package/dist/virtualOffset.js +44 -68
- package/esm/chunk.d.ts +18 -0
- package/esm/chunk.js +35 -0
- package/esm/csi.d.ts +71 -0
- package/esm/csi.js +254 -0
- package/esm/index.d.ts +4 -0
- package/esm/index.js +12 -0
- package/esm/indexFile.d.ts +32 -0
- package/esm/indexFile.js +45 -0
- package/esm/tabixIndexedFile.d.ts +118 -0
- package/esm/tabixIndexedFile.js +403 -0
- package/esm/tbi.d.ts +45 -0
- package/esm/tbi.js +240 -0
- package/esm/util.d.ts +25 -0
- package/esm/util.js +98 -0
- package/esm/virtualOffset.d.ts +10 -0
- package/esm/virtualOffset.js +41 -0
- package/package.json +23 -40
- package/dist/declare.d.js +0 -2
package/dist/index.js
CHANGED
|
@@ -1,37 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
get: function get() {
|
|
14
|
-
return _tabixIndexedFile.default;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
_Object$defineProperty(exports, "TBI", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function get() {
|
|
21
|
-
return _tbi.default;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
_Object$defineProperty(exports, "CSI", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function get() {
|
|
28
|
-
return _csi.default;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
var _tabixIndexedFile = _interopRequireDefault(require("./tabixIndexedFile"));
|
|
33
|
-
|
|
34
|
-
var _tbi = _interopRequireDefault(require("./tbi"));
|
|
35
|
-
|
|
36
|
-
var _csi = _interopRequireDefault(require("./csi"));
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVGFiaXhJbmRleGVkRmlsZSBmcm9tICcuL3RhYml4SW5kZXhlZEZpbGUnXG5pbXBvcnQgVEJJIGZyb20gJy4vdGJpJ1xuaW1wb3J0IENTSSBmcm9tICcuL2NzaSdcblxuZXhwb3J0IHsgVGFiaXhJbmRleGVkRmlsZSwgVEJJLCBDU0kgfVxuIl19
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CSI = exports.TBI = exports.TabixIndexedFile = void 0;
|
|
7
|
+
var tabixIndexedFile_1 = __importDefault(require("./tabixIndexedFile"));
|
|
8
|
+
exports.TabixIndexedFile = tabixIndexedFile_1.default;
|
|
9
|
+
var tbi_1 = __importDefault(require("./tbi"));
|
|
10
|
+
exports.TBI = tbi_1.default;
|
|
11
|
+
var csi_1 = __importDefault(require("./csi"));
|
|
12
|
+
exports.CSI = csi_1.default;
|
package/dist/indexFile.d.ts
CHANGED
package/dist/indexFile.js
CHANGED
|
@@ -1,179 +1,117 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* @param {function} [renameRefSeqs]
|
|
33
|
-
*/
|
|
34
|
-
function IndexFile(_ref) {
|
|
35
|
-
var filehandle = _ref.filehandle,
|
|
36
|
-
_ref$renameRefSeqs = _ref.renameRefSeqs,
|
|
37
|
-
renameRefSeqs = _ref$renameRefSeqs === void 0 ? function (n) {
|
|
38
|
-
return n;
|
|
39
|
-
} : _ref$renameRefSeqs;
|
|
40
|
-
(0, _classCallCheck2.default)(this, IndexFile);
|
|
41
|
-
(0, _defineProperty2.default)(this, "filehandle", void 0);
|
|
42
|
-
(0, _defineProperty2.default)(this, "renameRefSeq", void 0);
|
|
43
|
-
(0, _defineProperty2.default)(this, "_parseCache", void 0);
|
|
44
|
-
this.filehandle = filehandle;
|
|
45
|
-
this.renameRefSeq = renameRefSeqs;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
(0, _createClass2.default)(IndexFile, [{
|
|
49
|
-
key: "getMetadata",
|
|
50
|
-
value: function () {
|
|
51
|
-
var _getMetadata = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
52
|
-
var opts,
|
|
53
|
-
_yield$this$parse,
|
|
54
|
-
indices,
|
|
55
|
-
rest,
|
|
56
|
-
_args = arguments;
|
|
57
|
-
|
|
58
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
59
|
-
while (1) {
|
|
60
|
-
switch (_context.prev = _context.next) {
|
|
61
|
-
case 0:
|
|
62
|
-
opts = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
|
|
63
|
-
_context.next = 3;
|
|
64
|
-
return this.parse(opts);
|
|
65
|
-
|
|
66
|
-
case 3:
|
|
67
|
-
_yield$this$parse = _context.sent;
|
|
68
|
-
indices = _yield$this$parse.indices;
|
|
69
|
-
rest = (0, _objectWithoutProperties2.default)(_yield$this$parse, ["indices"]);
|
|
70
|
-
return _context.abrupt("return", rest);
|
|
71
|
-
|
|
72
|
-
case 7:
|
|
73
|
-
case "end":
|
|
74
|
-
return _context.stop();
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
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;
|
|
75
32
|
}
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
function getMetadata() {
|
|
81
|
-
return _getMetadata.apply(this, arguments);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return getMetadata;
|
|
85
|
-
}()
|
|
86
|
-
}, {
|
|
87
|
-
key: "_findFirstData",
|
|
88
|
-
value: function _findFirstData(currentFdl, virtualOffset) {
|
|
89
|
-
if (currentFdl) {
|
|
90
|
-
return currentFdl.compareTo(virtualOffset) > 0 ? virtualOffset : currentFdl;
|
|
91
|
-
} else {
|
|
92
|
-
return virtualOffset;
|
|
93
|
-
}
|
|
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 };
|
|
94
36
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
var
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
key: "hasRefSeq",
|
|
134
|
-
value: function () {
|
|
135
|
-
var _hasRefSeq = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(seqId) {
|
|
136
|
-
var opts,
|
|
137
|
-
_args3 = arguments;
|
|
138
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
139
|
-
while (1) {
|
|
140
|
-
switch (_context3.prev = _context3.next) {
|
|
141
|
-
case 0:
|
|
142
|
-
opts = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
|
|
143
|
-
_context3.next = 3;
|
|
144
|
-
return this.parse(opts);
|
|
145
|
-
|
|
146
|
-
case 3:
|
|
147
|
-
_context3.t1 = seqId;
|
|
148
|
-
_context3.t0 = _context3.sent.indices[_context3.t1];
|
|
149
|
-
|
|
150
|
-
if (_context3.t0) {
|
|
151
|
-
_context3.next = 7;
|
|
152
|
-
break;
|
|
37
|
+
};
|
|
38
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
39
|
+
var t = {};
|
|
40
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
41
|
+
t[p] = s[p];
|
|
42
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
43
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
44
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
45
|
+
t[p[i]] = s[p[i]];
|
|
46
|
+
}
|
|
47
|
+
return t;
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
var abortable_promise_cache_1 = __importDefault(require("abortable-promise-cache"));
|
|
54
|
+
var quick_lru_1 = __importDefault(require("quick-lru"));
|
|
55
|
+
var IndexFile = /** @class */ (function () {
|
|
56
|
+
/**
|
|
57
|
+
* @param {filehandle} filehandle
|
|
58
|
+
* @param {function} [renameRefSeqs]
|
|
59
|
+
*/
|
|
60
|
+
function IndexFile(_a) {
|
|
61
|
+
var filehandle = _a.filehandle, _b = _a.renameRefSeqs, renameRefSeqs = _b === void 0 ? function (n) { return n; } : _b;
|
|
62
|
+
this.filehandle = filehandle;
|
|
63
|
+
this.renameRefSeq = renameRefSeqs;
|
|
64
|
+
}
|
|
65
|
+
IndexFile.prototype.getMetadata = function (opts) {
|
|
66
|
+
if (opts === void 0) { opts = {}; }
|
|
67
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
68
|
+
var _a, indices, rest;
|
|
69
|
+
return __generator(this, function (_b) {
|
|
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];
|
|
153
75
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
return
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
IndexFile.prototype._findFirstData = function (currentFdl, virtualOffset) {
|
|
80
|
+
if (currentFdl) {
|
|
81
|
+
return currentFdl.compareTo(virtualOffset) > 0
|
|
82
|
+
? virtualOffset
|
|
83
|
+
: currentFdl;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return virtualOffset;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
IndexFile.prototype.parse = function (opts) {
|
|
90
|
+
if (opts === void 0) { opts = {}; }
|
|
91
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
+
var _this = this;
|
|
93
|
+
return __generator(this, function (_a) {
|
|
94
|
+
if (!this._parseCache) {
|
|
95
|
+
this._parseCache = new abortable_promise_cache_1.default({
|
|
96
|
+
cache: new quick_lru_1.default({ maxSize: 1 }),
|
|
97
|
+
fill: function () { return _this._parse(opts); },
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return [2 /*return*/, this._parseCache.get('index', null, undefined)];
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
IndexFile.prototype.hasRefSeq = function (seqId, opts) {
|
|
105
|
+
if (opts === void 0) { opts = {}; }
|
|
106
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
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
|
+
});
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
return IndexFile;
|
|
116
|
+
}());
|
|
178
117
|
exports.default = IndexFile;
|
|
179
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleEZpbGUudHMiXSwibmFtZXMiOlsiSW5kZXhGaWxlIiwiZmlsZWhhbmRsZSIsInJlbmFtZVJlZlNlcXMiLCJuIiwicmVuYW1lUmVmU2VxIiwib3B0cyIsInBhcnNlIiwiaW5kaWNlcyIsInJlc3QiLCJjdXJyZW50RmRsIiwidmlydHVhbE9mZnNldCIsImNvbXBhcmVUbyIsIl9wYXJzZUNhY2hlIiwiQWJvcnRhYmxlUHJvbWlzZUNhY2hlIiwiY2FjaGUiLCJRdWlja0xSVSIsIm1heFNpemUiLCJmaWxsIiwiX3BhcnNlIiwiZ2V0Iiwic2lnbmFsIiwic2VxSWQiLCJiaW5JbmRleCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0lBVzhCQSxTO0FBSzVCOzs7O0FBSUEsMkJBTUc7QUFBQSxRQUxEQyxVQUtDLFFBTERBLFVBS0M7QUFBQSxrQ0FKREMsYUFJQztBQUFBLFFBSkRBLGFBSUMsbUNBSmUsVUFBQ0MsQ0FBRDtBQUFBLGFBQWVBLENBQWY7QUFBQSxLQUlmO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDRCxTQUFLRixVQUFMLEdBQWtCQSxVQUFsQjtBQUNBLFNBQUtHLFlBQUwsR0FBb0JGLGFBQXBCO0FBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjd0JHLGdCQUFBQSxJLDJEQUFnQixFOzt1QkFFSixLQUFLQyxLQUFMLENBQVdELElBQVgsQzs7OztBQUEzQkUsZ0JBQUFBLE8scUJBQUFBLE87QUFBWUMsZ0JBQUFBLEk7aURBQ2JBLEk7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQ0FXUEMsVSxFQUNBQyxhLEVBQ0E7QUFDQSxVQUFJRCxVQUFKLEVBQWdCO0FBQ2QsZUFBT0EsVUFBVSxDQUFDRSxTQUFYLENBQXFCRCxhQUFyQixJQUFzQyxDQUF0QyxHQUNIQSxhQURHLEdBRUhELFVBRko7QUFHRCxPQUpELE1BSU87QUFDTCxlQUFPQyxhQUFQO0FBQ0Q7QUFDRjs7Ozs7Ozs7Ozs7OztBQUVXTCxnQkFBQUEsSSw4REFBZ0IsRTtBQUMxQixvQkFBSSxDQUFDLEtBQUtPLFdBQVYsRUFDRSxLQUFLQSxXQUFMLEdBQW1CLElBQUlDLDhCQUFKLENBQTBCO0FBQzNDQyxrQkFBQUEsS0FBSyxFQUFFLElBQUlDLGlCQUFKLENBQWE7QUFBRUMsb0JBQUFBLE9BQU8sRUFBRTtBQUFYLG1CQUFiLENBRG9DO0FBRTNDQyxrQkFBQUEsSUFBSSxFQUFFO0FBQUEsMkJBQU0sS0FBSSxDQUFDQyxNQUFMLENBQVliLElBQVosQ0FBTjtBQUFBO0FBRnFDLGlCQUExQixDQUFuQjtrREFJSyxLQUFLTyxXQUFMLENBQWlCTyxHQUFqQixDQUFxQixPQUFyQixFQUE4QixJQUE5QixFQUFvQ2QsSUFBSSxDQUFDZSxNQUF6QyxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lIQUdPQyxLOzs7Ozs7O0FBQWVoQixnQkFBQUEsSSw4REFBZ0IsRTs7dUJBQzVCLEtBQUtDLEtBQUwsQ0FBV0QsSUFBWCxDOzs7K0JBQTBCZ0IsSzs4Q0FBUmQsTzs7Ozs7OzsrQkFBa0IsRTs7O2lFQUFJZSxRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFib3J0YWJsZVByb21pc2VDYWNoZSBmcm9tICdhYm9ydGFibGUtcHJvbWlzZS1jYWNoZSdcbmltcG9ydCBRdWlja0xSVSBmcm9tICdxdWljay1scnUnXG5pbXBvcnQgeyBHZW5lcmljRmlsZWhhbmRsZSB9IGZyb20gJ2dlbmVyaWMtZmlsZWhhbmRsZSdcbmltcG9ydCBWaXJ0dWFsT2Zmc2V0IGZyb20gJy4vdmlydHVhbE9mZnNldCdcbmltcG9ydCBDaHVuayBmcm9tICcuL2NodW5rJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAvLyBzdXBwb3J0IGhhdmluZyBzb21lIHVua25vd24gcGFydHMgb2YgdGhlIG9wdGlvbnNcbiAgW2tleTogc3RyaW5nXTogdW5rbm93blxuICBzaWduYWw/OiBBYm9ydFNpZ25hbFxufVxuXG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBJbmRleEZpbGUge1xuICBwdWJsaWMgZmlsZWhhbmRsZTogR2VuZXJpY0ZpbGVoYW5kbGVcbiAgcHVibGljIHJlbmFtZVJlZlNlcTogRnVuY3Rpb25cbiAgcHJpdmF0ZSBfcGFyc2VDYWNoZTogYW55XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7ZmlsZWhhbmRsZX0gZmlsZWhhbmRsZVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBbcmVuYW1lUmVmU2Vxc11cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBmaWxlaGFuZGxlLFxuICAgIHJlbmFtZVJlZlNlcXMgPSAobjogc3RyaW5nKSA9PiBuLFxuICB9OiB7XG4gICAgZmlsZWhhbmRsZTogR2VuZXJpY0ZpbGVoYW5kbGVcbiAgICByZW5hbWVSZWZTZXFzPzogKGE6IHN0cmluZykgPT4gc3RyaW5nXG4gIH0pIHtcbiAgICB0aGlzLmZpbGVoYW5kbGUgPSBmaWxlaGFuZGxlXG4gICAgdGhpcy5yZW5hbWVSZWZTZXEgPSByZW5hbWVSZWZTZXFzXG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgYXN5bmMgbGluZUNvdW50KFxuICAgIHJlZk5hbWU6IHN0cmluZyxcbiAgICBhcmdzOiBPcHRpb25zLFxuICApOiBQcm9taXNlPG51bWJlcj5cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYXN5bmMgX3BhcnNlKFxuICAgIG9wdHM6IE9wdGlvbnMsXG4gICk6IFByb21pc2U8e1xuICAgIHJlZk5hbWVUb0lkOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9XG4gICAgcmVmSWRUb05hbWU6IHN0cmluZ1tdXG4gIH0+XG5cbiAgcHVibGljIGFzeW5jIGdldE1ldGFkYXRhKG9wdHM6IE9wdGlvbnMgPSB7fSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCB7IGluZGljZXMsIC4uLnJlc3QgfSA9IGF3YWl0IHRoaXMucGFyc2Uob3B0cylcbiAgICByZXR1cm4gcmVzdFxuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGFzeW5jIGJsb2Nrc0ZvclJhbmdlKFxuICAgIHJlZk5hbWU6IHN0cmluZyxcbiAgICBzdGFydDogbnVtYmVyLFxuICAgIGVuZDogbnVtYmVyLFxuICAgIG9wdHM6IE9wdGlvbnMsXG4gICk6IFByb21pc2U8Q2h1bmtbXT5cblxuICBfZmluZEZpcnN0RGF0YShcbiAgICBjdXJyZW50RmRsOiBWaXJ0dWFsT2Zmc2V0IHwgdW5kZWZpbmVkLFxuICAgIHZpcnR1YWxPZmZzZXQ6IFZpcnR1YWxPZmZzZXQsXG4gICkge1xuICAgIGlmIChjdXJyZW50RmRsKSB7XG4gICAgICByZXR1cm4gY3VycmVudEZkbC5jb21wYXJlVG8odmlydHVhbE9mZnNldCkgPiAwXG4gICAgICAgID8gdmlydHVhbE9mZnNldFxuICAgICAgICA6IGN1cnJlbnRGZGxcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZpcnR1YWxPZmZzZXRcbiAgICB9XG4gIH1cblxuICBhc3luYyBwYXJzZShvcHRzOiBPcHRpb25zID0ge30pIHtcbiAgICBpZiAoIXRoaXMuX3BhcnNlQ2FjaGUpXG4gICAgICB0aGlzLl9wYXJzZUNhY2hlID0gbmV3IEFib3J0YWJsZVByb21pc2VDYWNoZSh7XG4gICAgICAgIGNhY2hlOiBuZXcgUXVpY2tMUlUoeyBtYXhTaXplOiAxIH0pLFxuICAgICAgICBmaWxsOiAoKSA9PiB0aGlzLl9wYXJzZShvcHRzKSxcbiAgICAgIH0pXG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlQ2FjaGUuZ2V0KCdpbmRleCcsIG51bGwsIG9wdHMuc2lnbmFsKVxuICB9XG5cbiAgYXN5bmMgaGFzUmVmU2VxKHNlcUlkOiBudW1iZXIsIG9wdHM6IE9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiAhISgoYXdhaXQgdGhpcy5wYXJzZShvcHRzKSkuaW5kaWNlc1tzZXFJZF0gfHwge30pLmJpbkluZGV4XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
import { GenericFilehandle } from 'generic-filehandle';
|
|
3
3
|
import { Options } from './indexFile';
|
|
4
4
|
import Chunk from './chunk';
|
|
5
|
+
declare type GetLinesCallback = (line: string, fileOffset: number) => Promise<void>;
|
|
6
|
+
interface GetLinesOpts {
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
signal?: AbortSignal;
|
|
9
|
+
lineCallback: GetLinesCallback;
|
|
10
|
+
}
|
|
5
11
|
export default class TabixIndexedFile {
|
|
6
12
|
private filehandle;
|
|
7
13
|
private index;
|
|
@@ -41,10 +47,7 @@ export default class TabixIndexedFile {
|
|
|
41
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
|
|
42
48
|
* @returns {Promise} resolved when the whole read is finished, rejected on error
|
|
43
49
|
*/
|
|
44
|
-
getLines(refName: string, start: number, end: number, opts:
|
|
45
|
-
signal?: AbortSignal;
|
|
46
|
-
lineCallback: Function;
|
|
47
|
-
} | Function): Promise<void>;
|
|
50
|
+
getLines(refName: string, start: number, end: number, opts: GetLinesOpts | GetLinesCallback): Promise<void>;
|
|
48
51
|
getMetadata(opts?: Options): Promise<any>;
|
|
49
52
|
/**
|
|
50
53
|
* get a buffer containing the "header" region of
|
|
@@ -112,3 +115,4 @@ export default class TabixIndexedFile {
|
|
|
112
115
|
*/
|
|
113
116
|
readChunk(chunk: Chunk, opts?: Options): Promise<any>;
|
|
114
117
|
}
|
|
118
|
+
export {};
|