@gmod/bbi 2.0.3 → 2.0.5

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/bigbed.js CHANGED
@@ -1,30 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -34,129 +8,84 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
35
9
  });
36
10
  };
37
- var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
- function verb(n) { return function (v) { return step([n, v]); }; }
41
- function step(op) {
42
- if (f) throw new TypeError("Generator is already executing.");
43
- while (_) try {
44
- 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;
45
- if (y = 0, t) op = [op[0] & 2, t.value];
46
- switch (op[0]) {
47
- case 0: case 1: t = op; break;
48
- case 4: _.label++; return { value: op[1], done: false };
49
- case 5: _.label++; y = op[1]; op = [0]; continue;
50
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
- default:
52
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
- if (t[2]) _.ops.pop();
57
- _.trys.pop(); continue;
58
- }
59
- op = body.call(thisArg, _);
60
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
- }
63
- };
64
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
65
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
66
13
  };
67
14
  Object.defineProperty(exports, "__esModule", { value: true });
68
15
  exports.BigBed = exports.filterUndef = void 0;
69
- var binary_parser_1 = require("binary-parser");
70
- var rxjs_1 = require("rxjs");
71
- var operators_1 = require("rxjs/operators");
72
- var abortable_promise_cache_1 = __importDefault(require("abortable-promise-cache"));
73
- var quick_lru_1 = __importDefault(require("quick-lru"));
74
- var bbi_1 = require("./bbi");
16
+ const binary_parser_1 = require("binary-parser");
17
+ const rxjs_1 = require("rxjs");
18
+ const operators_1 = require("rxjs/operators");
19
+ const abortable_promise_cache_1 = __importDefault(require("abortable-promise-cache"));
20
+ const quick_lru_1 = __importDefault(require("quick-lru"));
21
+ const bbi_1 = require("./bbi");
75
22
  function filterUndef(ts) {
76
- return ts.filter(function (t) { return !!t; });
23
+ return ts.filter((t) => !!t);
77
24
  }
78
25
  exports.filterUndef = filterUndef;
79
- var BigBed = /** @class */ (function (_super) {
80
- __extends(BigBed, _super);
81
- function BigBed() {
82
- var _this = _super !== null && _super.apply(this, arguments) || this;
83
- _this.readIndicesCache = new abortable_promise_cache_1.default({
26
+ class BigBed extends bbi_1.BBI {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.readIndicesCache = new abortable_promise_cache_1.default({
84
30
  cache: new quick_lru_1.default({ maxSize: 1 }),
85
- fill: function (args, signal) { return __awaiter(_this, void 0, void 0, function () {
86
- return __generator(this, function (_a) {
87
- return [2 /*return*/, this._readIndices(__assign(__assign({}, args), { signal: signal }))];
88
- });
89
- }); },
31
+ fill: (args, signal) => __awaiter(this, void 0, void 0, function* () {
32
+ return this._readIndices(Object.assign(Object.assign({}, args), { signal }));
33
+ }),
90
34
  });
91
- return _this;
92
35
  }
93
- BigBed.prototype.readIndices = function (opts) {
94
- if (opts === void 0) { opts = {}; }
95
- var options = 'aborted' in opts ? { signal: opts } : opts;
36
+ readIndices(opts = {}) {
37
+ const options = 'aborted' in opts ? { signal: opts } : opts;
96
38
  return this.readIndicesCache.get(JSON.stringify(options), options, options.signal);
97
- };
39
+ }
98
40
  /*
99
41
  * retrieve unzoomed view for any scale
100
42
  * @param scale - unused
101
43
  * @param abortSignal - an optional AbortSignal to kill operation
102
44
  * @return promise for a BlockView
103
45
  */
104
- BigBed.prototype.getView = function (_scale, opts) {
105
- return __awaiter(this, void 0, void 0, function () {
106
- return __generator(this, function (_a) {
107
- return [2 /*return*/, this.getUnzoomedView(opts)];
108
- });
46
+ getView(_scale, opts) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ return this.getUnzoomedView(opts);
109
49
  });
110
- };
50
+ }
111
51
  /*
112
52
  * parse the bigbed extraIndex fields
113
53
  * @param abortSignal to abort operation
114
54
  * @return a Promise for an array of Index data structure since there can be multiple extraIndexes in a bigbed, see bedToBigBed documentation
115
55
  */
116
- BigBed.prototype._readIndices = function (opts) {
117
- return __awaiter(this, void 0, void 0, function () {
118
- var _a, extHeaderOffset, isBigEndian, data, le, ret, count, offset, blocklen, len, buffer, extParser, indices, i;
119
- return __generator(this, function (_b) {
120
- switch (_b.label) {
121
- case 0: return [4 /*yield*/, this.getHeader(opts)];
122
- case 1:
123
- _a = _b.sent(), extHeaderOffset = _a.extHeaderOffset, isBigEndian = _a.isBigEndian;
124
- return [4 /*yield*/, this.bbi.read(Buffer.alloc(64), 0, 64, Number(extHeaderOffset))];
125
- case 2:
126
- data = (_b.sent()).buffer;
127
- le = isBigEndian ? 'big' : 'little';
128
- ret = new binary_parser_1.Parser()
129
- .endianess(le)
130
- .uint16('size')
131
- .uint16('count')
132
- .uint64('offset')
133
- .parse(data);
134
- count = ret.count, offset = ret.offset;
135
- // no extra index is defined if count==0
136
- if (count === 0) {
137
- return [2 /*return*/, []];
138
- }
139
- blocklen = 20;
140
- len = blocklen * count;
141
- return [4 /*yield*/, this.bbi.read(Buffer.alloc(len), 0, len, Number(offset))];
142
- case 3:
143
- buffer = (_b.sent()).buffer;
144
- extParser = new binary_parser_1.Parser()
145
- .endianess(le)
146
- .int16('type')
147
- .int16('fieldcount')
148
- .uint64('offset')
149
- .skip(4)
150
- .int16('field');
151
- indices = [];
152
- for (i = 0; i < count; i += 1) {
153
- indices.push(extParser.parse(buffer.subarray(i * blocklen)));
154
- }
155
- return [2 /*return*/, indices];
156
- }
157
- });
56
+ _readIndices(opts) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ const { extHeaderOffset, isBigEndian } = yield this.getHeader(opts);
59
+ const { buffer: data } = yield this.bbi.read(Buffer.alloc(64), 0, 64, Number(extHeaderOffset));
60
+ const le = isBigEndian ? 'big' : 'little';
61
+ const ret = new binary_parser_1.Parser()
62
+ .endianess(le)
63
+ .uint16('size')
64
+ .uint16('count')
65
+ .uint64('offset')
66
+ .parse(data);
67
+ const { count, offset } = ret;
68
+ // no extra index is defined if count==0
69
+ if (count === 0) {
70
+ return [];
71
+ }
72
+ const blocklen = 20;
73
+ const len = blocklen * count;
74
+ const { buffer } = yield this.bbi.read(Buffer.alloc(len), 0, len, Number(offset));
75
+ const extParser = new binary_parser_1.Parser()
76
+ .endianess(le)
77
+ .int16('type')
78
+ .int16('fieldcount')
79
+ .uint64('offset')
80
+ .skip(4)
81
+ .int16('field');
82
+ const indices = [];
83
+ for (let i = 0; i < count; i += 1) {
84
+ indices.push(extParser.parse(buffer.subarray(i * blocklen)));
85
+ }
86
+ return indices;
158
87
  });
159
- };
88
+ }
160
89
  /*
161
90
  * perform a search in the bigbed extraIndex to find which blocks in the bigbed data to look for the
162
91
  * actual feature data
@@ -165,110 +94,81 @@ var BigBed = /** @class */ (function (_super) {
165
94
  * @param opts - a SearchOptions argument with optional signal
166
95
  * @return a Promise for an array of bigbed block Loc entries
167
96
  */
168
- BigBed.prototype.searchExtraIndexBlocks = function (name, opts) {
169
- if (opts === void 0) { opts = {}; }
170
- return __awaiter(this, void 0, void 0, function () {
171
- var isBigEndian, indices, locs, _a;
172
- var _this = this;
173
- return __generator(this, function (_b) {
174
- switch (_b.label) {
175
- case 0: return [4 /*yield*/, this.getHeader(opts)];
176
- case 1:
177
- isBigEndian = (_b.sent()).isBigEndian;
178
- return [4 /*yield*/, this.readIndices(opts)];
179
- case 2:
180
- indices = _b.sent();
181
- if (!indices.length) {
182
- return [2 /*return*/, []];
97
+ searchExtraIndexBlocks(name, opts = {}) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ const { isBigEndian } = yield this.getHeader(opts);
100
+ const indices = yield this.readIndices(opts);
101
+ if (!indices.length) {
102
+ return [];
103
+ }
104
+ const locs = indices.map((index) => __awaiter(this, void 0, void 0, function* () {
105
+ const { offset, field } = index;
106
+ const { buffer: data } = yield this.bbi.read(Buffer.alloc(32), 0, 32, Number(offset), opts);
107
+ const le = isBigEndian ? 'big' : 'little';
108
+ const p = new binary_parser_1.Parser()
109
+ .endianess(le)
110
+ .int32('magic')
111
+ .int32('blockSize')
112
+ .int32('keySize')
113
+ .int32('valSize')
114
+ .uint64('itemCount');
115
+ const { blockSize, keySize, valSize } = p.parse(data);
116
+ // console.log({blockSize,keySize,valSize})
117
+ const bpt = new binary_parser_1.Parser()
118
+ .endianess(le)
119
+ .int8('nodeType')
120
+ .skip(1)
121
+ .int16('cnt')
122
+ .choice({
123
+ tag: 'nodeType',
124
+ choices: {
125
+ 0: new binary_parser_1.Parser().array('leafkeys', {
126
+ length: 'cnt',
127
+ type: new binary_parser_1.Parser()
128
+ .endianess(le)
129
+ .string('key', { length: keySize, stripNull: true })
130
+ .uint64('offset'),
131
+ }),
132
+ 1: new binary_parser_1.Parser().array('keys', {
133
+ length: 'cnt',
134
+ type: new binary_parser_1.Parser()
135
+ .endianess(le)
136
+ .string('key', { length: keySize, stripNull: true })
137
+ .uint64('offset')
138
+ .uint32('length')
139
+ .uint32('reserved'),
140
+ }),
141
+ },
142
+ });
143
+ const bptReadNode = (nodeOffset) => __awaiter(this, void 0, void 0, function* () {
144
+ const val = Number(nodeOffset);
145
+ const len = 4 + blockSize * (keySize + valSize);
146
+ const { buffer } = yield this.bbi.read(Buffer.alloc(len), 0, len, val, opts);
147
+ const node = bpt.parse(buffer);
148
+ if (node.leafkeys) {
149
+ let lastOffset;
150
+ for (let i = 0; i < node.leafkeys.length; i += 1) {
151
+ const { key } = node.leafkeys[i];
152
+ if (name.localeCompare(key) < 0 && lastOffset) {
153
+ return bptReadNode(lastOffset);
154
+ }
155
+ lastOffset = node.leafkeys[i].offset;
183
156
  }
184
- locs = indices.map(function (index) { return __awaiter(_this, void 0, void 0, function () {
185
- var offset, field, data, le, p, _a, blockSize, keySize, valSize, bpt, bptReadNode, rootNodeOffset;
186
- var _this = this;
187
- return __generator(this, function (_b) {
188
- switch (_b.label) {
189
- case 0:
190
- offset = index.offset, field = index.field;
191
- return [4 /*yield*/, this.bbi.read(Buffer.alloc(32), 0, 32, Number(offset), opts)];
192
- case 1:
193
- data = (_b.sent()).buffer;
194
- le = isBigEndian ? 'big' : 'little';
195
- p = new binary_parser_1.Parser()
196
- .endianess(le)
197
- .int32('magic')
198
- .int32('blockSize')
199
- .int32('keySize')
200
- .int32('valSize')
201
- .uint64('itemCount');
202
- _a = p.parse(data), blockSize = _a.blockSize, keySize = _a.keySize, valSize = _a.valSize;
203
- bpt = new binary_parser_1.Parser()
204
- .endianess(le)
205
- .int8('nodeType')
206
- .skip(1)
207
- .int16('cnt')
208
- .choice({
209
- tag: 'nodeType',
210
- choices: {
211
- 0: new binary_parser_1.Parser().array('leafkeys', {
212
- length: 'cnt',
213
- type: new binary_parser_1.Parser()
214
- .endianess(le)
215
- .string('key', { length: keySize, stripNull: true })
216
- .uint64('offset'),
217
- }),
218
- 1: new binary_parser_1.Parser().array('keys', {
219
- length: 'cnt',
220
- type: new binary_parser_1.Parser()
221
- .endianess(le)
222
- .string('key', { length: keySize, stripNull: true })
223
- .uint64('offset')
224
- .uint32('length')
225
- .uint32('reserved'),
226
- }),
227
- },
228
- });
229
- bptReadNode = function (nodeOffset) { return __awaiter(_this, void 0, void 0, function () {
230
- var val, len, buffer, node, lastOffset, i, key, i;
231
- return __generator(this, function (_a) {
232
- switch (_a.label) {
233
- case 0:
234
- val = Number(nodeOffset);
235
- len = 4 + blockSize * (keySize + valSize);
236
- return [4 /*yield*/, this.bbi.read(Buffer.alloc(len), 0, len, val, opts)];
237
- case 1:
238
- buffer = (_a.sent()).buffer;
239
- node = bpt.parse(buffer);
240
- if (node.leafkeys) {
241
- lastOffset = void 0;
242
- for (i = 0; i < node.leafkeys.length; i += 1) {
243
- key = node.leafkeys[i].key;
244
- if (name.localeCompare(key) < 0 && lastOffset) {
245
- return [2 /*return*/, bptReadNode(lastOffset)];
246
- }
247
- lastOffset = node.leafkeys[i].offset;
248
- }
249
- return [2 /*return*/, bptReadNode(lastOffset)];
250
- }
251
- for (i = 0; i < node.keys.length; i += 1) {
252
- if (node.keys[i].key === name) {
253
- return [2 /*return*/, __assign(__assign({}, node.keys[i]), { field: field })];
254
- }
255
- }
256
- return [2 /*return*/, undefined];
257
- }
258
- });
259
- }); };
260
- rootNodeOffset = 32;
261
- return [2 /*return*/, bptReadNode(Number(offset) + rootNodeOffset)];
262
- }
263
- });
264
- }); });
265
- _a = filterUndef;
266
- return [4 /*yield*/, Promise.all(locs)];
267
- case 3: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
268
- }
269
- });
157
+ return bptReadNode(lastOffset);
158
+ }
159
+ for (let i = 0; i < node.keys.length; i += 1) {
160
+ if (node.keys[i].key === name) {
161
+ return Object.assign(Object.assign({}, node.keys[i]), { field });
162
+ }
163
+ }
164
+ return undefined;
165
+ });
166
+ const rootNodeOffset = 32;
167
+ return bptReadNode(Number(offset) + rootNodeOffset);
168
+ }));
169
+ return filterUndef(yield Promise.all(locs));
270
170
  });
271
- };
171
+ }
272
172
  /*
273
173
  * retrieve the features from the bigbed data that were found through the lookup of the extraIndex
274
174
  * note that there can be multiple extraIndex, see the BigBed specification and the -extraIndex argument to bedToBigBed
@@ -277,40 +177,27 @@ var BigBed = /** @class */ (function (_super) {
277
177
  * @param opts - a SearchOptions argument with optional signal
278
178
  * @return a Promise for an array of Feature
279
179
  */
280
- BigBed.prototype.searchExtraIndex = function (name, opts) {
281
- if (opts === void 0) { opts = {}; }
282
- return __awaiter(this, void 0, void 0, function () {
283
- var blocks, view, res, ret;
284
- return __generator(this, function (_a) {
285
- switch (_a.label) {
286
- case 0: return [4 /*yield*/, this.searchExtraIndexBlocks(name, opts)];
287
- case 1:
288
- blocks = _a.sent();
289
- if (!blocks.length) {
290
- return [2 /*return*/, []];
291
- }
292
- return [4 /*yield*/, this.getUnzoomedView(opts)];
293
- case 2:
294
- view = _a.sent();
295
- res = blocks.map(function (block) {
296
- return new rxjs_1.Observable(function (observer) {
297
- view.readFeatures(observer, [block], opts);
298
- }).pipe((0, operators_1.reduce)(function (acc, curr) { return acc.concat(curr); }), (0, operators_1.map)(function (x) {
299
- for (var i = 0; i < x.length; i += 1) {
300
- x[i].field = block.field;
301
- }
302
- return x;
303
- }));
304
- });
305
- return [4 /*yield*/, rxjs_1.merge.apply(void 0, res).toPromise()];
306
- case 3:
307
- ret = _a.sent();
308
- return [2 /*return*/, ret.filter(function (f) { var _a; return ((_a = f.rest) === null || _a === void 0 ? void 0 : _a.split('\t')[(f.field || 0) - 3]) === name; })];
309
- }
180
+ searchExtraIndex(name, opts = {}) {
181
+ return __awaiter(this, void 0, void 0, function* () {
182
+ const blocks = yield this.searchExtraIndexBlocks(name, opts);
183
+ if (!blocks.length) {
184
+ return [];
185
+ }
186
+ const view = yield this.getUnzoomedView(opts);
187
+ const res = blocks.map(block => {
188
+ return new rxjs_1.Observable(observer => {
189
+ view.readFeatures(observer, [block], opts);
190
+ }).pipe((0, operators_1.reduce)((acc, curr) => acc.concat(curr)), (0, operators_1.map)(x => {
191
+ for (let i = 0; i < x.length; i += 1) {
192
+ x[i].field = block.field;
193
+ }
194
+ return x;
195
+ }));
310
196
  });
197
+ const ret = yield (0, rxjs_1.merge)(...res).toPromise();
198
+ return ret.filter(f => { var _a; return ((_a = f.rest) === null || _a === void 0 ? void 0 : _a.split('\t')[(f.field || 0) - 3]) === name; });
311
199
  });
312
- };
313
- return BigBed;
314
- }(bbi_1.BBI));
200
+ }
201
+ }
315
202
  exports.BigBed = BigBed;
316
203
  //# sourceMappingURL=bigbed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bigbed.js","sourceRoot":"","sources":["../src/bigbed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bigbed.js","sourceRoot":"","sources":["../src/bigbed.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var pure_1 = require("./pure");
3
+ const pure_1 = require("./pure");
4
4
  if (!('getBigInt64' in DataView)) {
5
5
  DataView.prototype.getBigInt64 = function (byteOffset, littleEndian) {
6
6
  return (0, pure_1.getBigInt64)(this, byteOffset, littleEndian);
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../../src/bigint-polyfill/polyfill.ts"],"names":[],"mappings":";;AAAA,+BAA6E;AAE7E,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,EAAE;IAChC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,UAAU,EAAE,YAAY;QACjE,OAAO,IAAA,kBAAW,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC,CAAA;CACF;AAED,IAAI,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,EAAE;IACjC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,UAAU,EAAE,YAAY;QAClE,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC,CAAA;CACF;AAED,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,EAAE;IAChC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,UAAU,EAAE,KAAK,EAAE,YAAY;QACxE,IAAA,kBAAW,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC,CAAA;CACF;AAED,IAAI,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,EAAE;IACjC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,UAAU,EAAE,KAAK,EAAE,YAAY;QACzE,IAAA,mBAAY,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../../src/bigint-polyfill/polyfill.ts"],"names":[],"mappings":";;AAAA,iCAA6E;AAE7E,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,EAAE;IAChC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,UAAU,EAAE,YAAY;QACjE,OAAO,IAAA,kBAAW,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC,CAAA;CACF;AAED,IAAI,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,EAAE;IACjC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,UAAU,EAAE,YAAY;QAClE,OAAO,IAAA,mBAAY,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC,CAAA;CACF;AAED,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,EAAE;IAChC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,UAAU,EAAE,KAAK,EAAE,YAAY;QACxE,IAAA,kBAAW,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC,CAAA;CACF;AAED,IAAI,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,EAAE;IACjC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,UAAU,EAAE,KAAK,EAAE,YAAY;QACzE,IAAA,mBAAY,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC,CAAA;CACF"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setBigUint64 = exports.setBigInt64 = exports.getBigUint64 = exports.getBigInt64 = void 0;
4
- var BigInt32 = BigInt(32);
4
+ const BigInt32 = BigInt(32);
5
5
  function getBigInt64(dataView, byteOffset, littleEndian) {
6
- var littleEndianMask = Number(!!littleEndian);
7
- var bigEndianMask = Number(!littleEndian);
6
+ const littleEndianMask = Number(!!littleEndian);
7
+ const bigEndianMask = Number(!littleEndian);
8
8
  return ((BigInt(dataView.getInt32(byteOffset, littleEndian) * bigEndianMask +
9
9
  dataView.getInt32(byteOffset + 4, littleEndian) * littleEndianMask) <<
10
10
  BigInt32) |
@@ -13,10 +13,10 @@ function getBigInt64(dataView, byteOffset, littleEndian) {
13
13
  }
14
14
  exports.getBigInt64 = getBigInt64;
15
15
  function getBigUint64(dataView, byteOffset, littleEndian) {
16
- var a = dataView.getUint32(byteOffset, littleEndian);
17
- var b = dataView.getUint32(byteOffset + 4, littleEndian);
18
- var littleEndianMask = Number(!!littleEndian);
19
- var bigEndianMask = Number(!littleEndian);
16
+ const a = dataView.getUint32(byteOffset, littleEndian);
17
+ const b = dataView.getUint32(byteOffset + 4, littleEndian);
18
+ const littleEndianMask = Number(!!littleEndian);
19
+ const bigEndianMask = Number(!littleEndian);
20
20
  // This branch-less optimization is 77x faster than normal ternary operator.
21
21
  // and only 3% slower than native implementation
22
22
  // https://jsbench.me/p8kyhg1eqv/1
@@ -25,8 +25,8 @@ function getBigUint64(dataView, byteOffset, littleEndian) {
25
25
  }
26
26
  exports.getBigUint64 = getBigUint64;
27
27
  function setBigInt64(dataView, byteOffset, value, littleEndian) {
28
- var hi = Number(value >> BigInt32);
29
- var lo = Number(value & BigInt(0xffffffff));
28
+ const hi = Number(value >> BigInt32);
29
+ const lo = Number(value & BigInt(0xffffffff));
30
30
  if (littleEndian) {
31
31
  dataView.setInt32(byteOffset + 4, hi, littleEndian);
32
32
  dataView.setUint32(byteOffset, lo, littleEndian);
@@ -38,8 +38,8 @@ function setBigInt64(dataView, byteOffset, value, littleEndian) {
38
38
  }
39
39
  exports.setBigInt64 = setBigInt64;
40
40
  function setBigUint64(dataView, byteOffset, value, littleEndian) {
41
- var hi = Number(value >> BigInt32);
42
- var lo = Number(value & BigInt(0xffffffff));
41
+ const hi = Number(value >> BigInt32);
42
+ const lo = Number(value & BigInt(0xffffffff));
43
43
  if (littleEndian) {
44
44
  dataView.setUint32(byteOffset + 4, hi, littleEndian);
45
45
  dataView.setUint32(byteOffset, lo, littleEndian);
@@ -1 +1 @@
1
- {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/bigint-polyfill/pure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/bigint-polyfill/pure.ts"],"names":[],"mappings":"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"}