@gmod/tabix 1.4.5 → 1.5.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/dist/index.js CHANGED
@@ -1,37 +1,12 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
-
5
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
- _Object$defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
-
11
- _Object$defineProperty(exports, "TabixIndexedFile", {
12
- enumerable: true,
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;
@@ -7,7 +7,7 @@ export interface Options {
7
7
  }
8
8
  export default abstract class IndexFile {
9
9
  filehandle: GenericFilehandle;
10
- renameRefSeq: Function;
10
+ renameRefSeq: (arg0: string) => string;
11
11
  private _parseCache;
12
12
  /**
13
13
  * @param {filehandle} filehandle
package/dist/indexFile.js CHANGED
@@ -1,179 +1,117 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
-
5
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
- _Object$defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
-
11
- exports.default = void 0;
12
-
13
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
14
-
15
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutProperties"));
16
-
17
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
18
-
19
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
23
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
24
-
25
- var _abortablePromiseCache = _interopRequireDefault(require("abortable-promise-cache"));
26
-
27
- var _quickLru = _interopRequireDefault(require("quick-lru"));
28
-
29
- var IndexFile = /*#__PURE__*/function () {
30
- /**
31
- * @param {filehandle} filehandle
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
- }, _callee, this);
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
- key: "parse",
97
- value: function () {
98
- var _parse2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
99
- var _this = this;
100
-
101
- var opts,
102
- _args2 = arguments;
103
- return _regenerator.default.wrap(function _callee2$(_context2) {
104
- while (1) {
105
- switch (_context2.prev = _context2.next) {
106
- case 0:
107
- opts = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
108
- if (!this._parseCache) this._parseCache = new _abortablePromiseCache.default({
109
- cache: new _quickLru.default({
110
- maxSize: 1
111
- }),
112
- fill: function fill() {
113
- return _this._parse(opts);
114
- }
115
- });
116
- return _context2.abrupt("return", this._parseCache.get('index', null, opts.signal));
117
-
118
- case 3:
119
- case "end":
120
- return _context2.stop();
121
- }
122
- }
123
- }, _callee2, this);
124
- }));
125
-
126
- function parse() {
127
- return _parse2.apply(this, arguments);
128
- }
129
-
130
- return parse;
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
- _context3.t0 = {};
156
-
157
- case 7:
158
- return _context3.abrupt("return", !!_context3.t0.binIndex);
159
-
160
- case 8:
161
- case "end":
162
- return _context3.stop();
163
- }
164
- }
165
- }, _callee3, this);
166
- }));
167
-
168
- function hasRefSeq(_x) {
169
- return _hasRefSeq.apply(this, arguments);
170
- }
171
-
172
- return hasRefSeq;
173
- }()
174
- }]);
175
- return IndexFile;
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,12 +2,17 @@
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) => 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;
8
14
  private chunkSizeLimit;
9
15
  private renameRefSeq;
10
- private yieldLimit;
11
16
  private chunkCache;
12
17
  /**
13
18
  * @param {object} args
@@ -17,17 +22,14 @@ export default class TabixIndexedFile {
17
22
  * @param {filehandle} [args.tbiFilehandle]
18
23
  * @param {string} [args.csiPath]
19
24
  * @param {filehandle} [args.csiFilehandle]
20
- * @param {number} [args.chunkSizeLimit] maximum number of bytes to fetch in a single `getLines` call.
21
- * default 2MiB
22
- * @param {number} [args.yieldLimit] maximum number of lines to parse without yielding.
23
- * this avoids having a large read prevent any other work getting done on the thread. default 300 lines.
25
+ * @param {chunkSizeLimit} default 50MiB
24
26
  * @param {function} [args.renameRefSeqs] optional function with sig `string => string` to transform
25
27
  * reference sequence names for the purpose of indexing and querying. note that the data that is returned is
26
28
  * not altered, just the names of the reference sequences that are used for querying.
27
29
  * @param {number} [args.chunkCacheSize] maximum size in bytes of the chunk cache. default 5MB
28
30
  * @param {number} [args.blockCacheSize] maximum size in bytes of the block cache. default 5MB
29
31
  */
30
- constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, chunkSizeLimit, yieldLimit, renameRefSeqs, chunkCacheSize, }: {
32
+ constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, chunkSizeLimit, renameRefSeqs, chunkCacheSize, }: {
31
33
  path?: string;
32
34
  filehandle?: GenericFilehandle;
33
35
  tbiPath?: string;
@@ -35,7 +37,6 @@ export default class TabixIndexedFile {
35
37
  csiPath?: string;
36
38
  csiFilehandle?: GenericFilehandle;
37
39
  chunkSizeLimit?: number;
38
- yieldLimit?: number;
39
40
  renameRefSeqs?: (n: string) => string;
40
41
  chunkCacheSize?: number;
41
42
  });
@@ -46,10 +47,7 @@ export default class TabixIndexedFile {
46
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
47
48
  * @returns {Promise} resolved when the whole read is finished, rejected on error
48
49
  */
49
- getLines(refName: string, start: number, end: number, opts: {
50
- signal?: AbortSignal;
51
- lineCallback: Function;
52
- } | Function): Promise<void>;
50
+ getLines(refName: string, start: number, end: number, opts: GetLinesOpts | GetLinesCallback): Promise<void>;
53
51
  getMetadata(opts?: Options): Promise<any>;
54
52
  /**
55
53
  * get a buffer containing the "header" region of
@@ -117,3 +115,4 @@ export default class TabixIndexedFile {
117
115
  */
118
116
  readChunk(chunk: Chunk, opts?: Options): Promise<any>;
119
117
  }
118
+ export {};