@gmod/bbi 4.0.3 → 4.0.4

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 CHANGED
@@ -1,13 +1,17 @@
1
- ## [4.0.3](https://github.com/GMOD/bbi-js/compare/v4.0.2...v4.0.3) (2024-01-16)
1
+ ## [4.0.4](https://github.com/GMOD/bbi-js/compare/v4.0.3...v4.0.4) (2024-3-5)
2
2
 
3
3
 
4
- ### Performance Improvements
5
4
 
6
- * optimize `parseBigBedBlock` ([#58](https://github.com/GMOD/bbi-js/issues/58)) ([eb3f7a4](https://github.com/GMOD/bbi-js/commit/eb3f7a4885c4e8262c6e3e63696b533e53072463))
5
+ - Fix issue fetching data from file where refNames are not sorted (#59)
7
6
 
7
+ ## [4.0.3](https://github.com/GMOD/bbi-js/compare/v4.0.2...v4.0.3) (2024-01-16)
8
+
9
+ ### Performance Improvements
8
10
 
11
+ - optimize `parseBigBedBlock` ([#58](https://github.com/GMOD/bbi-js/issues/58))
12
+ ([eb3f7a4](https://github.com/GMOD/bbi-js/commit/eb3f7a4885c4e8262c6e3e63696b533e53072463))
9
13
 
10
- - Small perf improvement (#58)
14
+ * Small perf improvement (#58)
11
15
 
12
16
  ## [4.0.2](https://github.com/GMOD/bbi-js/compare/v4.0.1...v4.0.2) (2023-07-30)
13
17
 
package/README.md CHANGED
@@ -29,12 +29,13 @@ https://github.com/GMOD/generic-filehandle/
29
29
  const { BigWig } = require('@gmod/bbi')
30
30
  const { RemoteFile } = require('generic-filehandle')
31
31
 
32
- // if running in the browser, RemoteFile will use the the global fetch
32
+ // if running in the browser or newer versions of node.js, RemoteFile will use
33
+ // the the global fetch
33
34
  const file = new BigWig({
34
35
  filehandle: new RemoteFile('volvox.bw'),
35
36
  })
36
37
 
37
- // if running under node.js you must supply the fetch function to RemoteFile
38
+ // old versions of node.js without a global fetch, supply custom fetch function
38
39
  const fetch = require('node-fetch')
39
40
  const file = new BigWig({
40
41
  filehandle: new RemoteFile('volvox.bw', { fetch }),
@@ -203,15 +203,15 @@ class BlockView {
203
203
  };
204
204
  const cirFobStartFetch = (off, fr, level) => __awaiter(this, void 0, void 0, function* () {
205
205
  try {
206
- const length = fr.max() - fr.min();
207
- const offset = fr.min();
206
+ const length = fr.max - fr.min;
207
+ const offset = fr.min;
208
208
  const resultBuffer = yield this.featureCache.get(`${length}_${offset}`, { length, offset }, opts === null || opts === void 0 ? void 0 : opts.signal);
209
209
  for (const element of off) {
210
210
  if (fr.contains(element)) {
211
211
  cirFobRecur2(resultBuffer, element - offset, level);
212
212
  outstanding -= 1;
213
213
  if (outstanding === 0) {
214
- this.readFeatures(observer, blocksToFetch, Object.assign(Object.assign({}, opts), { request }));
214
+ this.readFeatures(observer, blocksToFetch, Object.assign(Object.assign({}, opts), { request })).catch(e => observer.error(e));
215
215
  }
216
216
  }
217
217
  }
@@ -225,9 +225,13 @@ class BlockView {
225
225
  outstanding += offset.length;
226
226
  // Upper bound on size, based on a completely full leaf node.
227
227
  const maxCirBlockSpan = 4 + Number(cirBlockSize) * 32;
228
- let spans = new range_1.default(offset[0], offset[0] + maxCirBlockSpan);
228
+ let spans = new range_1.default([
229
+ { min: offset[0], max: offset[0] + maxCirBlockSpan },
230
+ ]);
229
231
  for (let i = 1; i < offset.length; i += 1) {
230
- const blockSpan = new range_1.default(offset[i], offset[i] + maxCirBlockSpan);
232
+ const blockSpan = new range_1.default([
233
+ { min: offset[i], max: offset[i] + maxCirBlockSpan },
234
+ ]);
231
235
  spans = spans.union(blockSpan);
232
236
  }
233
237
  spans.getRanges().map(fr => cirFobStartFetch(offset, fr, level));
@@ -1 +1 @@
1
- {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mCAA+B;AAE/B,iDAAsC;AACtC,sFAA2D;AAE3D,0DAAgC;AAEhC,SAAS;AACT,oDAA2B;AAC3B,mCAA+B;AAE/B,iCAAsD;AA+BtD,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAC5B,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAC5B,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAE5B,SAAS,WAAW,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IACjE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAC5B,CAAC;AAED,SAAS,UAAU,CAAC,WAAoB;IACtC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzC,MAAM,aAAa,GAAG,IAAI,sBAAM,EAAE;SAC/B,SAAS,CAAC,EAAE,CAAC;SACb,MAAM,CAAC,SAAS,CAAC;SACjB,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,KAAK,CAAC;SACb,MAAM,CAAC,UAAU,CAAC;SAClB,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,SAAS,CAAC;SAClB,OAAO,CAAC,WAAW,CAAC;SACpB,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,UAAU,GAAG,IAAI,sBAAM,EAAE;SAC5B,SAAS,CAAC,EAAE,CAAC;SACb,KAAK,CAAC,QAAQ,CAAC;SACf,IAAI,CAAC,CAAC,CAAC;SACP,MAAM,CAAC,KAAK,CAAC;SACb,MAAM,CAAC;QACN,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE;YACP,CAAC,EAAE,IAAI,sBAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE;gBACnD,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,sBAAM,EAAE;qBACf,SAAS,CAAC,EAAE,CAAC;qBACb,MAAM,CAAC,YAAY,CAAC;qBACpB,MAAM,CAAC,WAAW,CAAC;qBACnB,MAAM,CAAC,UAAU,CAAC;qBAClB,MAAM,CAAC,SAAS,CAAC;qBACjB,MAAM,CAAC,aAAa,CAAC;qBACrB,MAAM,CAAC,WAAW,CAAC;qBACnB,UAAU,CAAC,QAAQ,CAAC;aACxB,CAAC;YACF,CAAC,EAAE,IAAI,sBAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE;gBACpC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,sBAAM,EAAE;qBACf,SAAS,CAAC,EAAE,CAAC;qBACb,MAAM,CAAC,YAAY,CAAC;qBACpB,MAAM,CAAC,WAAW,CAAC;qBACnB,MAAM,CAAC,UAAU,CAAC;qBAClB,MAAM,CAAC,SAAS,CAAC;qBACjB,MAAM,CAAC,aAAa,CAAC;qBACrB,UAAU,CAAC,QAAQ,CAAC;aACxB,CAAC;SACH;KACF,CAAC,CAAA;IACJ,MAAM,YAAY,GAAG,IAAI,sBAAM,EAAE;SAC9B,SAAS,CAAC,EAAE,CAAC;SACb,MAAM,CAAC,SAAS,CAAC;SACjB,KAAK,CAAC,OAAO,CAAC;SACd,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,MAAM,EAAE;QACd,cAAc,EAAE,IAAI;KACrB,CAAC;SACD,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,YAAY,GAAG,IAAI,sBAAM,EAAE;SAC9B,SAAS,CAAC,EAAE,CAAC;SACb,IAAI,CAAC,CAAC,CAAC;SACP,KAAK,CAAC,YAAY,CAAC;SACnB,IAAI,CAAC,CAAC,CAAC;SACP,MAAM,CAAC,UAAU,CAAC;SAClB,MAAM,CAAC,UAAU,CAAC;SAClB,KAAK,CAAC,WAAW,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC;SACP,MAAM,CAAC,WAAW,CAAC;SACnB,MAAM,CAAC;QACN,GAAG,EAAE,WAAW;QAChB,OAAO,EAAE;YACP,CAAC,kBAAkB,CAAC,EAAE,IAAI,sBAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE;gBAChD,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,IAAI,sBAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;aACpC,CAAC;YACF,CAAC,kBAAkB,CAAC,EAAE,IAAI,sBAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE;gBAChD,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,IAAI,sBAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;aACjE,CAAC;YACF,CAAC,kBAAkB,CAAC,EAAE,IAAI,sBAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE;gBAChD,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,IAAI,sBAAM,EAAE;qBACf,SAAS,CAAC,EAAE,CAAC;qBACb,KAAK,CAAC,OAAO,CAAC;qBACd,KAAK,CAAC,KAAK,CAAC;qBACZ,OAAO,CAAC,OAAO,CAAC;aACpB,CAAC;SACH;KACF,CAAC,CAAA;IACJ,OAAO;QACL,YAAY;QACZ,YAAY;QACZ,aAAa;QACb,UAAU;KACX,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AAEH,MAAa,SAAS;IAoBpB,YACU,GAAsB,EACtB,UAAe,EACf,aAAqB,EACrB,WAAoB,EACpB,YAAqB,EACrB,SAAiB;QALjB,QAAG,GAAH,GAAG,CAAmB;QACtB,eAAU,GAAV,UAAU,CAAK;QACf,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAS;QACpB,iBAAY,GAAZ,YAAY,CAAS;QACrB,cAAS,GAAT,SAAS,CAAQ;QAvBnB,iBAAY,GAAG,IAAI,iCAAqB,CAAmB;YACjE,KAAK,EAAE,IAAI,mBAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAEtC,IAAI,EAAE,CAAO,WAAW,EAAE,MAAM,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACtC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;oBACrE,MAAM;iBACP,CAAC,CAAA;gBACF,OAAO,MAAM,CAAA;YACf,CAAC,CAAA;SACF,CAAC,CAAA;QAcA,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QACpC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;IAC1C,CAAC;IAEY,WAAW,CACtB,OAAe,EACf,KAAa,EACb,GAAW,EACX,QAA6B,EAC7B,IAAc;;YAEd,IAAI,CAAC;gBACH,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;gBAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;gBACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,QAAQ,CAAC,QAAQ,EAAE,CAAA;gBACrB,CAAC;gBACD,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;gBACrC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAC5B,eAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAChB,CAAC,EACD,EAAE,EACF,MAAM,CAAC,aAAa,CAAC,EACrB,IAAI,CACL,CAAA;gBACH,CAAC;gBACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAA;gBAC5C,MAAM,YAAY,GAAG,WAAW;oBAC9B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;gBAC1B,IAAI,aAAa,GAAU,EAAE,CAAA;gBAC7B,IAAI,WAAW,GAAG,CAAC,CAAA;gBAEnB,MAAM,YAAY,GAAG,CACnB,YAAoB,EACpB,MAAc,EACd,KAAa,EACb,EAAE;oBACF,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;wBAE1C,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAGnC,CAAA;wBACD,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;4BACpB,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,CAAC,aAAa;iCACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iCAC3B,GAAG,CAAC,CAAC,CAA6C,EAAE,EAAE,CAAC,CAAC;gCACvD,MAAM,EAAE,CAAC,CAAC,WAAW;gCACrB,MAAM,EAAE,CAAC,CAAC,SAAS;6BACpB,CAAC,CAAC,CACN,CAAA;wBACH,CAAC;wBACD,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;4BACnB,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY;iCAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iCAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;4BAClC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC5B,WAAW,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;4BACtC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBACnB,CAAC;gBACH,CAAC,CAAA;gBAED,MAAM,WAAW,GAAG,CAAC,CAAY,EAAE,EAAE;oBACnC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;oBACtD,OAAO,CACL,CAAC,UAAU,GAAG,KAAK,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC;wBAClE,CAAC,QAAQ,GAAG,KAAK,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAC/D,CAAA;gBACH,CAAC,CAAA;gBAED,MAAM,gBAAgB,GAAG,CACvB,GAAa,EACb,EAAS,EACT,KAAa,EACb,EAAE;oBACF,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;wBAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAA;wBACrB,MAAM,YAAY,GAAW,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CACtD,GAAG,MAAM,IAAI,MAAM,EAAE,EACrB,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CACb,CAAA;wBACD,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;4BAC1B,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gCACzB,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,CAAC,CAAA;gCACnD,WAAW,IAAI,CAAC,CAAA;gCAChB,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;oCACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,kCACpC,IAAI,KACP,OAAO,IACP,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gCAClC,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBACnB,CAAC;gBACH,CAAC,CAAA,CAAA;gBACD,MAAM,WAAW,GAAG,CAAC,MAAgB,EAAE,KAAa,EAAE,EAAE;oBACtD,IAAI,CAAC;wBACH,WAAW,IAAI,MAAM,CAAC,MAAM,CAAA;wBAE5B,6DAA6D;wBAC7D,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;wBACrD,IAAI,KAAK,GAAG,IAAI,eAAK,CAAC;4BACpB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE;yBACrD,CAAC,CAAA;wBACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC1C,MAAM,SAAS,GAAG,IAAI,eAAK,CAAC;gCAC1B,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE;6BACrD,CAAC,CAAA;4BACF,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;wBAChC,CAAC;wBACD,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;oBAClE,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBACnB,CAAC;gBACH,CAAC,CAAA;gBAED,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;KAAA;IAEO,iBAAiB,CACvB,MAAc,EACd,WAAmB,EACnB,OAAsB;QAEtB,MAAM,QAAQ,GAAG,EAAW,CAAA;QAC5B,IAAI,MAAM,GAAG,WAAW,CAAA;QAExB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,CACd,CAAA;QACD,OAAO,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,mEAAmE;YACnE,gBAAgB;YAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAChD,MAAM,IAAI,CAAC,CAAA;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC9C,MAAM,IAAI,CAAC,CAAA;YACX,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC5C,MAAM,IAAI,CAAC,CAAA;YACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACjD,MAAM,IAAI,CAAC,CAAA;YACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAClD,MAAM,IAAI,CAAC,CAAA;YACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAClD,MAAM,IAAI,CAAC,CAAA;YACX,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACjD,MAAM,IAAI,CAAC,CAAA;YACX,SAAS;YACT,sDAAsD;YACtD,MAAM,IAAI,CAAC,CAAA;YAEX,IACE,OAAO;gBACL,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK;oBACzB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;gBACrD,CAAC,CAAC,IAAI,EACR,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC;oBACZ,KAAK;oBACL,GAAG;oBACH,QAAQ;oBACR,QAAQ;oBACR,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,OAAO,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;iBACjC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,gBAAgB,CACtB,IAAY,EACZ,WAAmB,EACnB,MAAc,EACd,OAAsB;QAEtB,MAAM,KAAK,GAAG,EAAe,CAAA;QAC7B,IAAI,UAAU,GAAG,WAAW,CAAA;QAC5B,OAAO,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;YAC9D,GAAG,CAAC,QAAQ,GAAG,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;YAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,UAAU,IAAI,GAAG,CAAC,MAAM,CAAA;QAC1B,CAAC;QAED,OAAO,OAAO;YACZ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CACtB,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CACxD;YACH,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IAEO,gBAAgB,CACtB,MAAc,EACd,WAAmB,EACnB,OAAsB;QAEtB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEtC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;QAC/D,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,MAAM,IAAI,CAAC,CAAA;QACX,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClD,MAAM,IAAI,CAAC,CAAA;QACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACjD,MAAM,IAAI,CAAC,CAAA;QACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACjD,MAAM,IAAI,CAAC,CAAA;QACX,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,IAAI,CAAC,CAAA;QACX,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClD,MAAM,IAAI,CAAC,CAAA;QACX,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;QAClC,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBAC7C,MAAM,IAAI,CAAC,CAAA;oBACX,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBAC3C,MAAM,IAAI,CAAC,CAAA;oBACX,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBAC/C,MAAM,IAAI,CAAC,CAAA;oBACX,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;gBAClC,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBAC7C,MAAM,IAAI,CAAC,CAAA;oBACX,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBAC/C,MAAM,IAAI,CAAC,CAAA;oBACX,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAA;gBACpD,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBAC/C,MAAM,IAAI,CAAC,CAAA;oBACX,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAA;oBACvC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAA;gBACpD,CAAC;gBACD,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO,OAAO;YACZ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CACtB,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CACxD;YACH,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IAEY,YAAY,CACvB,QAA6B,EAC7B,MAA4C,EAC5C,OAAgB,EAAE;;YAElB,IAAI,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;gBACxC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;gBAChC,MAAM,kBAAkB,GAAG,IAAA,kBAAW,EAAC,MAAM,CAAC,CAAA;gBAC9C,IAAA,uBAAgB,EAAC,MAAM,CAAC,CAAA;gBACxB,MAAM,OAAO,CAAC,GAAG,CACf,kBAAkB,CAAC,GAAG,CAAC,CAAM,UAAU,EAAC,EAAE;oBACxC,IAAA,uBAAgB,EAAC,MAAM,CAAC,CAAA;oBACxB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;oBACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CACtC,GAAG,MAAM,IAAI,MAAM,EAAE,EACrB,UAAU,EACV,MAAM,CACP,CAAA;oBACD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBACtC,IAAA,uBAAgB,EAAC,MAAM,CAAC,CAAA;wBACxB,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;wBAClE,IAAI,UAAU,GAAG,IAAI,CAAA;wBACrB,IAAI,YAAY,EAAE,CAAC;4BACjB,UAAU,GAAG,IAAA,aAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;4BAC9C,WAAW,GAAG,CAAC,CAAA;wBACjB,CAAC;wBACD,IAAA,uBAAgB,EAAC,MAAM,CAAC,CAAA;wBAExB,QAAQ,SAAS,EAAE,CAAC;4BAClB,KAAK,SAAS,CAAC,CAAC,CAAC;gCACf,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CACzD,CAAA;gCACD,MAAK;4BACP,CAAC;4BACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gCACd,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CACxD,CAAA;gCACD,MAAK;4BACP,CAAC;4BACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gCACd,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,gBAAgB,CACnB,UAAU,EACV,WAAW,EACX,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAC/B,OAAO,CACR,CACF,CAAA;gCACD,MAAK;4BACP,CAAC;4BACD,OAAO,CAAC,CAAC,CAAC;gCACR,OAAO,CAAC,IAAI,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAA;4BACzD,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAA,CAAC,CACH,CAAA;gBACD,QAAQ,CAAC,QAAQ,EAAE,CAAA;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;KAAA;CACF;AAjXD,8BAiXC"}
package/dist/range.d.ts CHANGED
@@ -2,17 +2,18 @@
2
2
  * Adapted from a combination of Range and _Compound in the
3
3
  * Dalliance Genome Explorer, (c) Thomas Down 2006-2010.
4
4
  */
5
+ export interface IRange {
6
+ min: number;
7
+ max: number;
8
+ }
5
9
  export default class Range {
6
- ranges: any;
7
- constructor(arg1: any, arg2?: any);
8
- min(): number;
9
- max(): number;
10
+ ranges: IRange[];
11
+ constructor(arg1: IRange[]);
12
+ get min(): number;
13
+ get max(): number;
10
14
  contains(pos: number): boolean;
11
15
  isContiguous(): boolean;
12
16
  getRanges(): Range[];
13
17
  toString(): string;
14
18
  union(s1: Range): Range;
15
- intersection(arg: Range): Range;
16
- coverage(): number;
17
- rangeOrder(tmpa: Range, tmpb: Range): number;
18
19
  }
package/dist/range.js CHANGED
@@ -1,28 +1,18 @@
1
1
  "use strict";
2
2
  /* eslint prefer-rest-params:0, no-nested-ternary:0 */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- /**
5
- * Adapted from a combination of Range and _Compound in the
6
- * Dalliance Genome Explorer, (c) Thomas Down 2006-2010.
7
- */
8
4
  class Range {
9
- constructor(arg1, arg2) {
10
- this.ranges =
11
- arguments.length === 2
12
- ? [{ min: arg1, max: arg2 }]
13
- : 0 in arg1
14
- ? Object.assign({}, arg1)
15
- : [arg1];
5
+ constructor(arg1) {
6
+ this.ranges = arg1;
16
7
  }
17
- min() {
8
+ get min() {
18
9
  return this.ranges[0].min;
19
10
  }
20
- max() {
11
+ get max() {
21
12
  return this.ranges[this.ranges.length - 1].max;
22
13
  }
23
14
  contains(pos) {
24
- for (let s = 0; s < this.ranges.length; s += 1) {
25
- const r = this.ranges[s];
15
+ for (const r of this.ranges) {
26
16
  if (r.min <= pos && r.max >= pos) {
27
17
  return true;
28
18
  }
@@ -33,94 +23,43 @@ class Range {
33
23
  return this.ranges.length > 1;
34
24
  }
35
25
  getRanges() {
36
- return this.ranges.map((r) => new Range(r.min, r.max));
26
+ return this.ranges.map(r => new Range([{ min: r.min, max: r.max }]));
37
27
  }
38
28
  toString() {
39
- return this.ranges.map((r) => `[${r.min}-${r.max}]`).join(',');
29
+ return this.ranges.map(r => `[${r.min}-${r.max}]`).join(',');
40
30
  }
41
31
  union(s1) {
42
- const ranges = this.getRanges().concat(s1.getRanges()).sort(this.rangeOrder);
32
+ const ranges = [...this.getRanges(), ...s1.getRanges()].sort((a, b) => {
33
+ if (a.min < b.min) {
34
+ return -1;
35
+ }
36
+ else if (a.min > b.min) {
37
+ return 1;
38
+ }
39
+ else if (a.max < b.max) {
40
+ return -1;
41
+ }
42
+ else if (b.max > a.max) {
43
+ return 1;
44
+ }
45
+ else {
46
+ return 0;
47
+ }
48
+ });
43
49
  const oranges = [];
44
50
  let current = ranges[0];
45
51
  for (let i = 1; i < ranges.length; i += 1) {
46
52
  const nxt = ranges[i];
47
- if (nxt.min() > current.max() + 1) {
53
+ if (nxt.min > current.max + 1) {
48
54
  oranges.push(current);
49
55
  current = nxt;
50
56
  }
51
- else if (nxt.max() > current.max()) {
52
- current = new Range(current.min(), nxt.max());
57
+ else if (nxt.max > current.max) {
58
+ current = new Range([{ min: current.min, max: nxt.max }]);
53
59
  }
54
60
  }
55
61
  oranges.push(current);
56
- if (oranges.length === 1) {
57
- return oranges[0];
58
- }
59
- return new Range(oranges);
60
- }
61
- intersection(arg) {
62
- // eslint-disable-next-line @typescript-eslint/no-this-alias,unicorn/no-this-assignment
63
- let s0 = this;
64
- let s1 = arg;
65
- const r0 = this.ranges();
66
- const r1 = s1.ranges();
67
- const l0 = r0.length;
68
- const l1 = r1.length;
69
- let i0 = 0;
70
- let i1 = 0;
71
- const or = [];
72
- while (i0 < l0 && i1 < l1) {
73
- s0 = r0[i0];
74
- s1 = r1[i1];
75
- const lapMin = Math.max(s0.min(), s1.min());
76
- const lapMax = Math.min(s0.max(), s1.max());
77
- if (lapMax >= lapMin) {
78
- or.push(new Range(lapMin, lapMax));
79
- }
80
- if (s0.max() > s1.max()) {
81
- i1 += 1;
82
- }
83
- else {
84
- i0 += 1;
85
- }
86
- }
87
- if (or.length === 0) {
88
- throw new Error('found range of length 0');
89
- }
90
- if (or.length === 1) {
91
- return or[0];
92
- }
93
- return new Range(or);
94
- }
95
- coverage() {
96
- let tot = 0;
97
- const rl = this.ranges();
98
- for (const r of rl) {
99
- tot += r.max() - r.min() + 1;
100
- }
101
- return tot;
102
- }
103
- rangeOrder(tmpa, tmpb) {
104
- let a = tmpa;
105
- let b = tmpb;
106
- if (arguments.length < 2) {
107
- b = a;
108
- // eslint-disable-next-line @typescript-eslint/no-this-alias,unicorn/no-this-assignment
109
- a = this;
110
- }
111
- if (a.min() < b.min()) {
112
- return -1;
113
- }
114
- if (a.min() > b.min()) {
115
- return 1;
116
- }
117
- if (a.max() < b.max()) {
118
- return -1;
119
- }
120
- if (b.max() > a.max()) {
121
- return 1;
122
- }
123
- return 0;
62
+ return oranges.length === 1 ? oranges[0] : new Range(oranges);
124
63
  }
125
64
  }
126
65
  exports.default = Range;
package/dist/range.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../src/range.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../src/range.ts"],"names":[],"mappings":"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"}
package/esm/block-view.js CHANGED
@@ -187,15 +187,18 @@ export class BlockView {
187
187
  };
188
188
  const cirFobStartFetch = async (off, fr, level) => {
189
189
  try {
190
- const length = fr.max() - fr.min();
191
- const offset = fr.min();
190
+ const length = fr.max - fr.min;
191
+ const offset = fr.min;
192
192
  const resultBuffer = await this.featureCache.get(`${length}_${offset}`, { length, offset }, opts === null || opts === void 0 ? void 0 : opts.signal);
193
193
  for (const element of off) {
194
194
  if (fr.contains(element)) {
195
195
  cirFobRecur2(resultBuffer, element - offset, level);
196
196
  outstanding -= 1;
197
197
  if (outstanding === 0) {
198
- this.readFeatures(observer, blocksToFetch, { ...opts, request });
198
+ this.readFeatures(observer, blocksToFetch, {
199
+ ...opts,
200
+ request,
201
+ }).catch(e => observer.error(e));
199
202
  }
200
203
  }
201
204
  }
@@ -209,9 +212,13 @@ export class BlockView {
209
212
  outstanding += offset.length;
210
213
  // Upper bound on size, based on a completely full leaf node.
211
214
  const maxCirBlockSpan = 4 + Number(cirBlockSize) * 32;
212
- let spans = new Range(offset[0], offset[0] + maxCirBlockSpan);
215
+ let spans = new Range([
216
+ { min: offset[0], max: offset[0] + maxCirBlockSpan },
217
+ ]);
213
218
  for (let i = 1; i < offset.length; i += 1) {
214
- const blockSpan = new Range(offset[i], offset[i] + maxCirBlockSpan);
219
+ const blockSpan = new Range([
220
+ { min: offset[i], max: offset[i] + maxCirBlockSpan },
221
+ ]);
215
222
  spans = spans.union(blockSpan);
216
223
  }
217
224
  spans.getRanges().map(fr => cirFobStartFetch(offset, fr, level));
@@ -1 +1 @@
1
- {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":"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"}
package/esm/range.d.ts CHANGED
@@ -2,17 +2,18 @@
2
2
  * Adapted from a combination of Range and _Compound in the
3
3
  * Dalliance Genome Explorer, (c) Thomas Down 2006-2010.
4
4
  */
5
+ export interface IRange {
6
+ min: number;
7
+ max: number;
8
+ }
5
9
  export default class Range {
6
- ranges: any;
7
- constructor(arg1: any, arg2?: any);
8
- min(): number;
9
- max(): number;
10
+ ranges: IRange[];
11
+ constructor(arg1: IRange[]);
12
+ get min(): number;
13
+ get max(): number;
10
14
  contains(pos: number): boolean;
11
15
  isContiguous(): boolean;
12
16
  getRanges(): Range[];
13
17
  toString(): string;
14
18
  union(s1: Range): Range;
15
- intersection(arg: Range): Range;
16
- coverage(): number;
17
- rangeOrder(tmpa: Range, tmpb: Range): number;
18
19
  }
package/esm/range.js CHANGED
@@ -1,26 +1,16 @@
1
1
  /* eslint prefer-rest-params:0, no-nested-ternary:0 */
2
- /**
3
- * Adapted from a combination of Range and _Compound in the
4
- * Dalliance Genome Explorer, (c) Thomas Down 2006-2010.
5
- */
6
2
  export default class Range {
7
- constructor(arg1, arg2) {
8
- this.ranges =
9
- arguments.length === 2
10
- ? [{ min: arg1, max: arg2 }]
11
- : 0 in arg1
12
- ? Object.assign({}, arg1)
13
- : [arg1];
3
+ constructor(arg1) {
4
+ this.ranges = arg1;
14
5
  }
15
- min() {
6
+ get min() {
16
7
  return this.ranges[0].min;
17
8
  }
18
- max() {
9
+ get max() {
19
10
  return this.ranges[this.ranges.length - 1].max;
20
11
  }
21
12
  contains(pos) {
22
- for (let s = 0; s < this.ranges.length; s += 1) {
23
- const r = this.ranges[s];
13
+ for (const r of this.ranges) {
24
14
  if (r.min <= pos && r.max >= pos) {
25
15
  return true;
26
16
  }
@@ -31,94 +21,43 @@ export default class Range {
31
21
  return this.ranges.length > 1;
32
22
  }
33
23
  getRanges() {
34
- return this.ranges.map((r) => new Range(r.min, r.max));
24
+ return this.ranges.map(r => new Range([{ min: r.min, max: r.max }]));
35
25
  }
36
26
  toString() {
37
- return this.ranges.map((r) => `[${r.min}-${r.max}]`).join(',');
27
+ return this.ranges.map(r => `[${r.min}-${r.max}]`).join(',');
38
28
  }
39
29
  union(s1) {
40
- const ranges = this.getRanges().concat(s1.getRanges()).sort(this.rangeOrder);
30
+ const ranges = [...this.getRanges(), ...s1.getRanges()].sort((a, b) => {
31
+ if (a.min < b.min) {
32
+ return -1;
33
+ }
34
+ else if (a.min > b.min) {
35
+ return 1;
36
+ }
37
+ else if (a.max < b.max) {
38
+ return -1;
39
+ }
40
+ else if (b.max > a.max) {
41
+ return 1;
42
+ }
43
+ else {
44
+ return 0;
45
+ }
46
+ });
41
47
  const oranges = [];
42
48
  let current = ranges[0];
43
49
  for (let i = 1; i < ranges.length; i += 1) {
44
50
  const nxt = ranges[i];
45
- if (nxt.min() > current.max() + 1) {
51
+ if (nxt.min > current.max + 1) {
46
52
  oranges.push(current);
47
53
  current = nxt;
48
54
  }
49
- else if (nxt.max() > current.max()) {
50
- current = new Range(current.min(), nxt.max());
55
+ else if (nxt.max > current.max) {
56
+ current = new Range([{ min: current.min, max: nxt.max }]);
51
57
  }
52
58
  }
53
59
  oranges.push(current);
54
- if (oranges.length === 1) {
55
- return oranges[0];
56
- }
57
- return new Range(oranges);
58
- }
59
- intersection(arg) {
60
- // eslint-disable-next-line @typescript-eslint/no-this-alias,unicorn/no-this-assignment
61
- let s0 = this;
62
- let s1 = arg;
63
- const r0 = this.ranges();
64
- const r1 = s1.ranges();
65
- const l0 = r0.length;
66
- const l1 = r1.length;
67
- let i0 = 0;
68
- let i1 = 0;
69
- const or = [];
70
- while (i0 < l0 && i1 < l1) {
71
- s0 = r0[i0];
72
- s1 = r1[i1];
73
- const lapMin = Math.max(s0.min(), s1.min());
74
- const lapMax = Math.min(s0.max(), s1.max());
75
- if (lapMax >= lapMin) {
76
- or.push(new Range(lapMin, lapMax));
77
- }
78
- if (s0.max() > s1.max()) {
79
- i1 += 1;
80
- }
81
- else {
82
- i0 += 1;
83
- }
84
- }
85
- if (or.length === 0) {
86
- throw new Error('found range of length 0');
87
- }
88
- if (or.length === 1) {
89
- return or[0];
90
- }
91
- return new Range(or);
92
- }
93
- coverage() {
94
- let tot = 0;
95
- const rl = this.ranges();
96
- for (const r of rl) {
97
- tot += r.max() - r.min() + 1;
98
- }
99
- return tot;
100
- }
101
- rangeOrder(tmpa, tmpb) {
102
- let a = tmpa;
103
- let b = tmpb;
104
- if (arguments.length < 2) {
105
- b = a;
106
- // eslint-disable-next-line @typescript-eslint/no-this-alias,unicorn/no-this-assignment
107
- a = this;
108
- }
109
- if (a.min() < b.min()) {
110
- return -1;
111
- }
112
- if (a.min() > b.min()) {
113
- return 1;
114
- }
115
- if (a.max() < b.max()) {
116
- return -1;
117
- }
118
- if (b.max() > a.max()) {
119
- return 1;
120
- }
121
- return 0;
60
+ return oranges.length === 1 ? oranges[0] : new Range(oranges);
122
61
  }
123
62
  }
124
63
  //# sourceMappingURL=range.js.map
package/esm/range.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../src/range.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../src/range.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/bbi",
3
- "version": "4.0.3",
3
+ "version": "4.0.4",
4
4
  "description": "Parser for BigWig/BigBed files",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/bbi-js",
@@ -51,21 +51,21 @@
51
51
  },
52
52
  "devDependencies": {
53
53
  "@gmod/bed": "^2.1.2",
54
- "@types/jest": "^29.5.3",
55
- "@types/node": "^20.4.5",
54
+ "@types/jest": "^29.5.12",
55
+ "@types/node": "^20.11.16",
56
56
  "@types/pako": "^2.0.0",
57
- "@typescript-eslint/eslint-plugin": "^6.2.0",
58
- "@typescript-eslint/parser": "^6.2.0",
57
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
58
+ "@typescript-eslint/parser": "^6.21.0",
59
59
  "eslint": "^8.46.0",
60
60
  "eslint-config-prettier": "^9.1.0",
61
61
  "eslint-plugin-prettier": "^5.1.3",
62
- "eslint-plugin-unicorn": "^50.0.1",
62
+ "eslint-plugin-unicorn": "^51.0.0",
63
63
  "jest": "^29.6.2",
64
64
  "jest-environment-jsdom": "^29.6.2",
65
- "prettier": "^3.0.0",
65
+ "prettier": "^3.2.5",
66
66
  "rimraf": "^5.0.1",
67
- "standard-changelog": "^3.0.0",
68
- "ts-jest": "^29.1.1",
67
+ "standard-changelog": "^5.0.0",
68
+ "ts-jest": "^29.1.2",
69
69
  "typescript": "^5.1.6"
70
70
  },
71
71
  "publishConfig": {
package/src/block-view.ts CHANGED
@@ -268,8 +268,8 @@ export class BlockView {
268
268
  level: number,
269
269
  ) => {
270
270
  try {
271
- const length = fr.max() - fr.min()
272
- const offset = fr.min()
271
+ const length = fr.max - fr.min
272
+ const offset = fr.min
273
273
  const resultBuffer: Buffer = await this.featureCache.get(
274
274
  `${length}_${offset}`,
275
275
  { length, offset },
@@ -280,7 +280,10 @@ export class BlockView {
280
280
  cirFobRecur2(resultBuffer, element - offset, level)
281
281
  outstanding -= 1
282
282
  if (outstanding === 0) {
283
- this.readFeatures(observer, blocksToFetch, { ...opts, request })
283
+ this.readFeatures(observer, blocksToFetch, {
284
+ ...opts,
285
+ request,
286
+ }).catch(e => observer.error(e))
284
287
  }
285
288
  }
286
289
  }
@@ -294,9 +297,13 @@ export class BlockView {
294
297
 
295
298
  // Upper bound on size, based on a completely full leaf node.
296
299
  const maxCirBlockSpan = 4 + Number(cirBlockSize) * 32
297
- let spans = new Range(offset[0], offset[0] + maxCirBlockSpan)
300
+ let spans = new Range([
301
+ { min: offset[0], max: offset[0] + maxCirBlockSpan },
302
+ ])
298
303
  for (let i = 1; i < offset.length; i += 1) {
299
- const blockSpan = new Range(offset[i], offset[i] + maxCirBlockSpan)
304
+ const blockSpan = new Range([
305
+ { min: offset[i], max: offset[i] + maxCirBlockSpan },
306
+ ])
300
307
  spans = spans.union(blockSpan)
301
308
  }
302
309
  spans.getRanges().map(fr => cirFobStartFetch(offset, fr, level))
package/src/range.ts CHANGED
@@ -4,29 +4,28 @@
4
4
  * Adapted from a combination of Range and _Compound in the
5
5
  * Dalliance Genome Explorer, (c) Thomas Down 2006-2010.
6
6
  */
7
+
8
+ export interface IRange {
9
+ min: number
10
+ max: number
11
+ }
7
12
  export default class Range {
8
- public ranges: any
13
+ public ranges: IRange[]
9
14
 
10
- public constructor(arg1: any, arg2?: any) {
11
- this.ranges =
12
- arguments.length === 2
13
- ? [{ min: arg1, max: arg2 }]
14
- : 0 in arg1
15
- ? Object.assign({}, arg1)
16
- : [arg1]
15
+ public constructor(arg1: IRange[]) {
16
+ this.ranges = arg1
17
17
  }
18
18
 
19
- public min(): number {
19
+ get min() {
20
20
  return this.ranges[0].min
21
21
  }
22
22
 
23
- public max(): number {
23
+ get max() {
24
24
  return this.ranges[this.ranges.length - 1].max
25
25
  }
26
26
 
27
- public contains(pos: number): boolean {
28
- for (let s = 0; s < this.ranges.length; s += 1) {
29
- const r = this.ranges[s]
27
+ public contains(pos: number) {
28
+ for (const r of this.ranges) {
30
29
  if (r.min <= pos && r.max >= pos) {
31
30
  return true
32
31
  }
@@ -38,104 +37,42 @@ export default class Range {
38
37
  return this.ranges.length > 1
39
38
  }
40
39
 
41
- public getRanges(): Range[] {
42
- return this.ranges.map((r: Range) => new Range(r.min, r.max))
40
+ public getRanges() {
41
+ return this.ranges.map(r => new Range([{ min: r.min, max: r.max }]))
43
42
  }
44
43
 
45
44
  public toString(): string {
46
- return this.ranges.map((r: Range) => `[${r.min}-${r.max}]`).join(',')
45
+ return this.ranges.map(r => `[${r.min}-${r.max}]`).join(',')
47
46
  }
48
47
 
49
48
  public union(s1: Range): Range {
50
- const ranges = this.getRanges().concat(s1.getRanges()).sort(this.rangeOrder)
49
+ const ranges = [...this.getRanges(), ...s1.getRanges()].sort((a, b) => {
50
+ if (a.min < b.min) {
51
+ return -1
52
+ } else if (a.min > b.min) {
53
+ return 1
54
+ } else if (a.max < b.max) {
55
+ return -1
56
+ } else if (b.max > a.max) {
57
+ return 1
58
+ } else {
59
+ return 0
60
+ }
61
+ })
51
62
  const oranges = []
52
63
  let current = ranges[0]
53
64
 
54
65
  for (let i = 1; i < ranges.length; i += 1) {
55
66
  const nxt = ranges[i]
56
- if (nxt.min() > current.max() + 1) {
67
+ if (nxt.min > current.max + 1) {
57
68
  oranges.push(current)
58
69
  current = nxt
59
- } else if (nxt.max() > current.max()) {
60
- current = new Range(current.min(), nxt.max())
70
+ } else if (nxt.max > current.max) {
71
+ current = new Range([{ min: current.min, max: nxt.max }])
61
72
  }
62
73
  }
63
74
  oranges.push(current)
64
75
 
65
- if (oranges.length === 1) {
66
- return oranges[0]
67
- }
68
- return new Range(oranges)
69
- }
70
-
71
- public intersection(arg: Range): Range {
72
- // eslint-disable-next-line @typescript-eslint/no-this-alias,unicorn/no-this-assignment
73
- let s0 = this
74
- let s1 = arg
75
- const r0 = this.ranges()
76
- const r1 = s1.ranges()
77
- const l0 = r0.length
78
-
79
- const l1 = r1.length
80
- let i0 = 0
81
-
82
- let i1 = 0
83
- const or = []
84
-
85
- while (i0 < l0 && i1 < l1) {
86
- s0 = r0[i0]
87
- s1 = r1[i1]
88
- const lapMin = Math.max(s0.min(), s1.min())
89
- const lapMax = Math.min(s0.max(), s1.max())
90
- if (lapMax >= lapMin) {
91
- or.push(new Range(lapMin, lapMax))
92
- }
93
- if (s0.max() > s1.max()) {
94
- i1 += 1
95
- } else {
96
- i0 += 1
97
- }
98
- }
99
-
100
- if (or.length === 0) {
101
- throw new Error('found range of length 0')
102
- }
103
- if (or.length === 1) {
104
- return or[0]
105
- }
106
- return new Range(or)
107
- }
108
-
109
- public coverage(): number {
110
- let tot = 0
111
- const rl = this.ranges()
112
- for (const r of rl) {
113
- tot += r.max() - r.min() + 1
114
- }
115
- return tot
116
- }
117
-
118
- public rangeOrder(tmpa: Range, tmpb: Range): number {
119
- let a = tmpa
120
- let b = tmpb
121
- if (arguments.length < 2) {
122
- b = a
123
- // eslint-disable-next-line @typescript-eslint/no-this-alias,unicorn/no-this-assignment
124
- a = this
125
- }
126
-
127
- if (a.min() < b.min()) {
128
- return -1
129
- }
130
- if (a.min() > b.min()) {
131
- return 1
132
- }
133
- if (a.max() < b.max()) {
134
- return -1
135
- }
136
- if (b.max() > a.max()) {
137
- return 1
138
- }
139
- return 0
76
+ return oranges.length === 1 ? oranges[0] : new Range(oranges)
140
77
  }
141
78
  }