@genome-spy/core 0.63.0 → 0.65.0

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.
Files changed (138) hide show
  1. package/dist/bundle/{index-CCJIjehY.js → AbortablePromiseCache-CcuMrnn7.js} +22 -91
  2. package/dist/bundle/browser-txUcLy2H.js +123 -0
  3. package/dist/bundle/index-BQpbYrv4.js +1712 -0
  4. package/dist/bundle/index-BhtHKLUo.js +73 -0
  5. package/dist/bundle/index-C0llXMqm.js +280 -0
  6. package/dist/bundle/index-CCe8rnZz.js +716 -0
  7. package/dist/bundle/index-CD7FLu9x.js +269 -0
  8. package/dist/bundle/{index-C08YCM2T.js → index-D-w7Mmt9.js} +246 -126
  9. package/dist/bundle/index-D74H8TTz.js +508 -0
  10. package/dist/bundle/index-DhcU-Gk-.js +1487 -0
  11. package/dist/bundle/index.es.js +5394 -4989
  12. package/dist/bundle/index.js +420 -362
  13. package/dist/bundle/inflate-DRgHi_KK.js +1050 -0
  14. package/dist/schema.json +93 -13
  15. package/dist/src/data/collector.d.ts +7 -2
  16. package/dist/src/data/collector.d.ts.map +1 -1
  17. package/dist/src/data/collector.js +13 -2
  18. package/dist/src/data/dataFlow.d.ts +20 -42
  19. package/dist/src/data/dataFlow.d.ts.map +1 -1
  20. package/dist/src/data/dataFlow.js +57 -80
  21. package/dist/src/data/dataFlow.test.js +35 -2
  22. package/dist/src/data/flowHandle.d.ts +15 -0
  23. package/dist/src/data/flowHandle.d.ts.map +1 -0
  24. package/dist/src/data/flowHandle.js +13 -0
  25. package/dist/src/data/flowInit.d.ts +85 -0
  26. package/dist/src/data/flowInit.d.ts.map +1 -0
  27. package/dist/src/data/flowInit.js +238 -0
  28. package/dist/src/data/flowInit.test.d.ts +2 -0
  29. package/dist/src/data/flowInit.test.d.ts.map +1 -0
  30. package/dist/src/data/flowInit.test.js +413 -0
  31. package/dist/src/data/flowOptimizer.d.ts +6 -4
  32. package/dist/src/data/flowOptimizer.d.ts.map +1 -1
  33. package/dist/src/data/flowOptimizer.js +29 -14
  34. package/dist/src/data/flowOptimizer.test.js +20 -15
  35. package/dist/src/data/sources/lazy/bamSource.js +1 -1
  36. package/dist/src/data/sources/lazy/bigBedSource.js +1 -1
  37. package/dist/src/data/sources/lazy/bigWigSource.js +1 -1
  38. package/dist/src/data/sources/lazy/gff3Source.d.ts +2 -6
  39. package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
  40. package/dist/src/data/sources/lazy/gff3Source.js +4 -8
  41. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
  42. package/dist/src/data/sources/lazy/indexedFastaSource.js +17 -17
  43. package/dist/src/data/sources/lazy/tabixSource.js +1 -1
  44. package/dist/src/genomeSpy.d.ts +1 -1
  45. package/dist/src/genomeSpy.d.ts.map +1 -1
  46. package/dist/src/genomeSpy.js +18 -61
  47. package/dist/src/gl/webGLHelper.d.ts.map +1 -1
  48. package/dist/src/gl/webGLHelper.js +8 -0
  49. package/dist/src/marks/link.fragment.glsl.js +1 -1
  50. package/dist/src/marks/link.vertex.glsl.js +1 -1
  51. package/dist/src/marks/mark.d.ts +1 -0
  52. package/dist/src/marks/mark.d.ts.map +1 -1
  53. package/dist/src/marks/mark.js +22 -1
  54. package/dist/src/marks/point.fragment.glsl.js +1 -1
  55. package/dist/src/marks/point.vertex.glsl.js +1 -1
  56. package/dist/src/marks/rect.fragment.glsl.js +1 -1
  57. package/dist/src/marks/rect.vertex.glsl.js +1 -1
  58. package/dist/src/marks/rule.fragment.glsl.js +1 -1
  59. package/dist/src/marks/rule.vertex.glsl.js +1 -1
  60. package/dist/src/marks/text.fragment.glsl.js +1 -1
  61. package/dist/src/marks/text.vertex.glsl.js +1 -1
  62. package/dist/src/selection/selection.d.ts +5 -0
  63. package/dist/src/selection/selection.d.ts.map +1 -1
  64. package/dist/src/selection/selection.js +43 -6
  65. package/dist/src/selection/selection.test.d.ts +2 -0
  66. package/dist/src/selection/selection.test.d.ts.map +1 -0
  67. package/dist/src/selection/selection.test.js +14 -0
  68. package/dist/src/spec/parameter.d.ts +28 -2
  69. package/dist/src/spec/sampleView.d.ts +3 -2
  70. package/dist/src/styles/{genome-spy.scss → genome-spy.css} +25 -21
  71. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  72. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  73. package/dist/src/styles/genome-spy.css.js +264 -195
  74. package/dist/src/styles/update.sh +14 -4
  75. package/dist/src/types/viewContext.d.ts +1 -1
  76. package/dist/src/utils/expression.d.ts +5 -0
  77. package/dist/src/utils/expression.d.ts.map +1 -1
  78. package/dist/src/utils/expression.js +37 -0
  79. package/dist/src/utils/interactionEvent.d.ts +18 -1
  80. package/dist/src/utils/interactionEvent.d.ts.map +1 -1
  81. package/dist/src/utils/interactionEvent.js +101 -1
  82. package/dist/src/utils/interactionEvent.test.d.ts +2 -0
  83. package/dist/src/utils/interactionEvent.test.d.ts.map +1 -0
  84. package/dist/src/utils/interactionEvent.test.js +35 -0
  85. package/dist/src/view/axisResolution.d.ts +5 -0
  86. package/dist/src/view/axisResolution.d.ts.map +1 -1
  87. package/dist/src/view/axisResolution.js +16 -1
  88. package/dist/src/view/facetView.d.ts +1 -1
  89. package/dist/src/view/facetView.d.ts.map +1 -1
  90. package/dist/src/view/facetView.js +1 -0
  91. package/dist/src/view/flowBuilder.d.ts +2 -2
  92. package/dist/src/view/flowBuilder.d.ts.map +1 -1
  93. package/dist/src/view/flowBuilder.js +21 -4
  94. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  95. package/dist/src/view/gridView/gridView.js +13 -0
  96. package/dist/src/view/gridView/selectionRect.d.ts +8 -4
  97. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  98. package/dist/src/view/gridView/selectionRect.js +28 -3
  99. package/dist/src/view/gridView/selectionRect.test.d.ts +2 -0
  100. package/dist/src/view/gridView/selectionRect.test.d.ts.map +1 -0
  101. package/dist/src/view/gridView/selectionRect.test.js +87 -0
  102. package/dist/src/view/paramMediator.d.ts +2 -1
  103. package/dist/src/view/paramMediator.d.ts.map +1 -1
  104. package/dist/src/view/paramMediator.js +13 -1
  105. package/dist/src/view/paramMediator.test.js +22 -0
  106. package/dist/src/view/scaleResolution.d.ts +5 -0
  107. package/dist/src/view/scaleResolution.d.ts.map +1 -1
  108. package/dist/src/view/scaleResolution.js +10 -0
  109. package/dist/src/view/testUtils.d.ts.map +1 -1
  110. package/dist/src/view/testUtils.js +16 -4
  111. package/dist/src/view/unitView.d.ts.map +1 -1
  112. package/dist/src/view/unitView.js +103 -10
  113. package/dist/src/view/view.d.ts +17 -1
  114. package/dist/src/view/view.d.ts.map +1 -1
  115. package/dist/src/view/view.js +57 -1
  116. package/dist/src/view/viewDispose.test.d.ts +2 -0
  117. package/dist/src/view/viewDispose.test.d.ts.map +1 -0
  118. package/dist/src/view/viewDispose.test.js +110 -0
  119. package/dist/src/view/viewUtils.d.ts +4 -4
  120. package/dist/src/view/viewUtils.d.ts.map +1 -1
  121. package/dist/src/view/viewUtils.js +19 -15
  122. package/dist/src/view/viewUtils.test.d.ts +2 -0
  123. package/dist/src/view/viewUtils.test.d.ts.map +1 -0
  124. package/dist/src/view/viewUtils.test.js +87 -0
  125. package/package.json +16 -16
  126. package/dist/bundle/__vite-browser-external-C--ziKoh.js +0 -8
  127. package/dist/bundle/_commonjsHelpers-DjF3Plf2.js +0 -26
  128. package/dist/bundle/index-5ajWdKly.js +0 -1319
  129. package/dist/bundle/index-B03-Om4z.js +0 -274
  130. package/dist/bundle/index-BftNdA0O.js +0 -27
  131. package/dist/bundle/index-Bg7C4Xat.js +0 -2750
  132. package/dist/bundle/index-C3QR8Lv6.js +0 -2131
  133. package/dist/bundle/index-DTcHjAHp.js +0 -505
  134. package/dist/bundle/index-DnIkxb0L.js +0 -1025
  135. package/dist/bundle/index-Ww3TAo6_.js +0 -71
  136. package/dist/bundle/index-g8iXgW0W.js +0 -651
  137. package/dist/bundle/long-B-FASCSo.js +0 -2387
  138. package/dist/bundle/remoteFile-BuaqFGWk.js +0 -94
@@ -0,0 +1,110 @@
1
+ import { describe, expect, test } from "vitest";
2
+
3
+ import ConcatView from "./concatView.js";
4
+ import DataSource from "../data/sources/dataSource.js";
5
+ import UnitView from "./unitView.js";
6
+ import View from "./view.js";
7
+ import { create, createTestViewContext } from "./testUtils.js";
8
+
9
+ class DisposableView extends View {
10
+ /** @type {boolean} */
11
+ disposed = false;
12
+
13
+ /**
14
+ * @param {string} name
15
+ * @param {import("../types/viewContext.js").default} context
16
+ * @param {import("./containerView.js").default} layoutParent
17
+ * @param {import("./view.js").default} dataParent
18
+ */
19
+ constructor(name, context, layoutParent, dataParent) {
20
+ /** @type {import("../spec/view.js").LayerSpec} */
21
+ const spec = { name, layer: [] };
22
+ super(spec, context, layoutParent, dataParent, name);
23
+ }
24
+
25
+ dispose() {
26
+ super.dispose();
27
+ this.disposed = true;
28
+ }
29
+ }
30
+
31
+ describe("View disposal", () => {
32
+ test("removes scale and axis resolutions for disposed unit views", async () => {
33
+ /** @type {import("../spec/view.js").UnitSpec} */
34
+ const spec = {
35
+ data: {
36
+ values: [
37
+ {
38
+ x: 1,
39
+ y: 2,
40
+ },
41
+ ],
42
+ },
43
+ mark: "point",
44
+ encoding: {
45
+ x: { field: "x", type: "quantitative" },
46
+ y: { field: "y", type: "quantitative" },
47
+ },
48
+ };
49
+
50
+ const view = await create(spec, UnitView);
51
+
52
+ expect(view.getScaleResolution("x")).toBeDefined();
53
+ expect(view.getAxisResolution("x")).toBeDefined();
54
+
55
+ view.disposeSubtree();
56
+
57
+ expect(view.getScaleResolution("x")).toBeUndefined();
58
+ expect(view.getAxisResolution("x")).toBeUndefined();
59
+ });
60
+
61
+ test("disposes replaced grid children", () => {
62
+ const context = createTestViewContext();
63
+ const parent = new ConcatView(
64
+ { hconcat: [] },
65
+ context,
66
+ null,
67
+ null,
68
+ "c"
69
+ );
70
+
71
+ const childA = new DisposableView("a", context, parent, parent);
72
+ const childB = new DisposableView("b", context, parent, parent);
73
+ parent.setChildren([childA, childB]);
74
+
75
+ const childC = new DisposableView("c", context, parent, parent);
76
+ parent.setChildren([childC]);
77
+
78
+ expect(childA.disposed).toBe(true);
79
+ expect(childB.disposed).toBe(true);
80
+ expect(childC.disposed).toBe(false);
81
+
82
+ const childD = new DisposableView("d", context, parent, parent);
83
+ parent.replaceChild(childC, childD);
84
+
85
+ expect(childC.disposed).toBe(true);
86
+ expect(childD.disposed).toBe(false);
87
+ });
88
+
89
+ test("removes dataflow hosts on dispose", () => {
90
+ const context = createTestViewContext();
91
+ const parent = new ConcatView(
92
+ { hconcat: [] },
93
+ context,
94
+ null,
95
+ null,
96
+ "c"
97
+ );
98
+ const child = new DisposableView("a", context, parent, parent);
99
+
100
+ const dataSource = new DataSource(child);
101
+ context.dataFlow.addDataSource(dataSource);
102
+ child.flowHandle = { dataSource };
103
+
104
+ expect(child.flowHandle.dataSource).toBe(dataSource);
105
+
106
+ child.disposeSubtree();
107
+
108
+ expect(child.flowHandle).toBeUndefined();
109
+ });
110
+ });
@@ -35,11 +35,11 @@ export function checkForDuplicateScaleNames(root: View): void;
35
35
  */
36
36
  export function setImplicitScaleNames(root: View): void;
37
37
  /**
38
- * @param {View} root
39
- * @param {import("../data/dataFlow.js").default<View>} [existingFlow] Add data flow
40
- * graphs to an existing DataFlow object.
38
+ * @param {Promise<import("../marks/mark.js").default>[]} graphicsPromises
39
+ * @param {() => boolean} [shouldFinalize]
40
+ * @returns {Promise<void>}
41
41
  */
42
- export function initializeData(root: View, existingFlow?: import("../data/dataFlow.js").default<View>): Promise<import("../data/dataFlow.js").default<View>>;
42
+ export function finalizeSubtreeGraphics(graphicsPromises: Promise<import("../marks/mark.js").default>[], shouldFinalize?: () => boolean): Promise<void>;
43
43
  /**
44
44
  *
45
45
  * @param {View} view
@@ -1 +1 @@
1
- {"version":3,"file":"viewUtils.d.ts","sourceRoot":"","sources":["../../../src/view/viewUtils.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,qCAHW,OAAO,oBAAoB,EAAE,UAAU,GAAG,OAAO,iBAAiB,EAAE,YAAY,GAC9E,IAAI,IAAI,aAAa,CAIjC;AAED;;;;GAIG;AACH,oCAHW,OAAO,oBAAoB,EAAE,aAAa,GAAG,OAAO,iBAAiB,EAAE,YAAY,GACjF,IAAI,IAAI,YAAY,CAOhC;AAED;;;GAGG;AACH,+BAFW,IAAI,6EAMd;AAED;;;;GAIG;AACH,wCAFW,IAAI,UASd;AAED;;GAEG;AACH,kDAFW,IAAI,QAiBd;AAED;;;;;;;GAOG;AACH,4CAFW,IAAI,QAUd;AAED;;;;GAIG;AACH,qCAJW,IAAI,iBACJ,OAAO,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,wDAcrD;AAED;;;GAGG;AACH,wCAFW,IAAI;UAGO,QAAQ;aAAW,OAAO,oBAAoB,EAAE,OAAO;WAAS,OAAO,oBAAoB,EAAE,KAAK;UAAQ,OAAO,oBAAoB,EAAE,IAAI;IAqBhK;AAED;;;;;GAKG;AACH,2CALW,OAAO,iBAAiB,EAAE,UAAU,WACpC,MAAM,eACN,OAAO,yBAAyB,EAAE,OAAO,GACvC,OAAO,CAAC,OAAO,iBAAiB,EAAE,QAAQ,CAAC,CAsCvD;AAED;;GAEG;AACH,yCAFW,CAAS,IAAI,EAAJ,IAAI,EAAE,IAAM,EAAN,IAAI,EAAE,KAAE,IAAI,+BAkBrC;AAED;;;;;;GAMG;AACH,4CAJW,IAAI,QACJ,MAAM,GACJ,IAAI,EAAE,CAalB;AAED;;;GAGG;AACH,0CAFW,IAAI,eAqBd;AAED;;GAEG;AACH,8CAFW,OAAO,WAAW,EAAE,OAAO;;;EAoBrC;iBA3Q4C,WAAW;qBAFnC,eAAe"}
1
+ {"version":3,"file":"viewUtils.d.ts","sourceRoot":"","sources":["../../../src/view/viewUtils.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,qCAHW,OAAO,oBAAoB,EAAE,UAAU,GAAG,OAAO,iBAAiB,EAAE,YAAY,GAC9E,IAAI,IAAI,aAAa,CAIjC;AAED;;;;GAIG;AACH,oCAHW,OAAO,oBAAoB,EAAE,aAAa,GAAG,OAAO,iBAAiB,EAAE,YAAY,GACjF,IAAI,IAAI,YAAY,CAOhC;AAED;;;GAGG;AACH,+BAFW,IAAI,6EAMd;AAED;;;;GAIG;AACH,wCAFW,IAAI,UASd;AAED;;GAEG;AACH,kDAFW,IAAI,QAiBd;AAED;;;;;;;GAOG;AACH,4CAFW,IAAI,QAUd;AAED;;;;GAIG;AACH,0DAJW,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAC7C,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAmBzB;AAED;;;GAGG;AACH,wCAFW,IAAI;UAGO,QAAQ;aAAW,OAAO,oBAAoB,EAAE,OAAO;WAAS,OAAO,oBAAoB,EAAE,KAAK;UAAQ,OAAO,oBAAoB,EAAE,IAAI;IAqBhK;AAED;;;;;GAKG;AACH,2CALW,OAAO,iBAAiB,EAAE,UAAU,WACpC,MAAM,eACN,OAAO,yBAAyB,EAAE,OAAO,GACvC,OAAO,CAAC,OAAO,iBAAiB,EAAE,QAAQ,CAAC,CAsCvD;AAED;;GAEG;AACH,yCAFW,CAAS,IAAI,EAAJ,IAAI,EAAE,IAAM,EAAN,IAAI,EAAE,KAAE,IAAI,+BAkBrC;AAED;;;;;;GAMG;AACH,4CAJW,IAAI,QACJ,MAAM,GACJ,IAAI,EAAE,CAalB;AAED;;;GAGG;AACH,0CAFW,IAAI,eAqBd;AAED;;GAEG;AACH,8CAFW,OAAO,WAAW,EAAE,OAAO;;;EAoBrC;iBA/Q4C,WAAW;qBAFnC,eAAe"}
@@ -3,8 +3,6 @@ import { isObject, isString } from "vega-util";
3
3
  import UnitView from "./unitView.js";
4
4
  // eslint-disable-next-line no-unused-vars
5
5
  import View, { VISIT_SKIP, VISIT_STOP } from "./view.js";
6
- import { buildDataFlow } from "./flowBuilder.js";
7
- import { optimizeDataFlow } from "../data/flowOptimizer.js";
8
6
  import { isFieldDef, primaryPositionalChannels } from "../encoder/encoder.js";
9
7
  import { rollup } from "d3-array";
10
8
  import { concatUrl, getDirectory } from "../utils/url.js";
@@ -93,21 +91,27 @@ export function setImplicitScaleNames(root) {
93
91
  }
94
92
 
95
93
  /**
96
- * @param {View} root
97
- * @param {import("../data/dataFlow.js").default<View>} [existingFlow] Add data flow
98
- * graphs to an existing DataFlow object.
94
+ * @param {Promise<import("../marks/mark.js").default>[]} graphicsPromises
95
+ * @param {() => boolean} [shouldFinalize]
96
+ * @returns {Promise<void>}
99
97
  */
100
- export async function initializeData(root, existingFlow) {
101
- const flow = buildDataFlow(root, existingFlow);
102
- optimizeDataFlow(flow);
103
- flow.initialize();
104
-
105
- /** @type {Promise<void>[]} */
106
- const promises = flow.dataSources.map((dataSource) => dataSource.load());
107
-
108
- await Promise.all(promises);
98
+ export function finalizeSubtreeGraphics(
99
+ graphicsPromises,
100
+ shouldFinalize = () => true
101
+ ) {
102
+ return Promise.allSettled(graphicsPromises).then((results) => {
103
+ if (!shouldFinalize()) {
104
+ return;
105
+ }
109
106
 
110
- return flow;
107
+ for (const result of results) {
108
+ if ("value" in result) {
109
+ result.value.finalizeGraphicsInitialization();
110
+ } else if ("reason" in result) {
111
+ console.error(result.reason);
112
+ }
113
+ }
114
+ });
111
115
  }
112
116
 
113
117
  /**
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=viewUtils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewUtils.test.d.ts","sourceRoot":"","sources":["../../../src/view/viewUtils.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,87 @@
1
+ import { describe, expect, test, vi } from "vitest";
2
+
3
+ import { createTestViewContext } from "./testUtils.js";
4
+ import { finalizeSubtreeGraphics } from "./viewUtils.js";
5
+ import { initializeViewSubtree } from "../data/flowInit.js";
6
+
7
+ describe("initializeViewSubtree", () => {
8
+ test("initializes data flow for a subtree only", async () => {
9
+ const context = createTestViewContext();
10
+
11
+ /** @type {import("../spec/view.js").HConcatSpec} */
12
+ const spec = {
13
+ hconcat: [
14
+ {
15
+ data: {
16
+ values: [{ x: 1 }],
17
+ },
18
+ mark: "point",
19
+ encoding: {
20
+ x: { field: "x", type: "quantitative" },
21
+ },
22
+ },
23
+ {
24
+ data: {
25
+ values: [{ x: 2 }],
26
+ },
27
+ mark: "point",
28
+ encoding: {
29
+ x: { field: "x", type: "quantitative" },
30
+ },
31
+ },
32
+ ],
33
+ };
34
+
35
+ const root = await context.createOrImportView(spec, null, null, "root");
36
+ const concatRoot = /** @type {import("./concatView.js").default} */ (
37
+ root
38
+ );
39
+ const child = concatRoot.children[0];
40
+ const otherChild = concatRoot.children[1];
41
+
42
+ const { dataSources, graphicsPromises, unitViews } =
43
+ initializeViewSubtree(child, context.dataFlow);
44
+
45
+ expect(dataSources.size).toBe(1);
46
+ expect(unitViews.length).toBe(1);
47
+ expect(graphicsPromises.length).toBe(0);
48
+
49
+ expect(child.flowHandle?.dataSource).toBeDefined();
50
+ expect(otherChild.flowHandle?.dataSource).toBeUndefined();
51
+ });
52
+ });
53
+
54
+ describe("finalizeSubtreeGraphics", () => {
55
+ test("finalizes marks when allowed", async () => {
56
+ const markA = /** @type {import("../marks/mark.js").default} */ (
57
+ /** @type {unknown} */ ({
58
+ finalizeGraphicsInitialization: vi.fn(),
59
+ })
60
+ );
61
+ const markB = /** @type {import("../marks/mark.js").default} */ (
62
+ /** @type {unknown} */ ({
63
+ finalizeGraphicsInitialization: vi.fn(),
64
+ })
65
+ );
66
+
67
+ await finalizeSubtreeGraphics([
68
+ Promise.resolve(markA),
69
+ Promise.resolve(markB),
70
+ ]);
71
+
72
+ expect(markA.finalizeGraphicsInitialization).toHaveBeenCalledTimes(1);
73
+ expect(markB.finalizeGraphicsInitialization).toHaveBeenCalledTimes(1);
74
+ });
75
+
76
+ test("skips finalization when predicate is false", async () => {
77
+ const mark = /** @type {import("../marks/mark.js").default} */ (
78
+ /** @type {unknown} */ ({
79
+ finalizeGraphicsInitialization: vi.fn(),
80
+ })
81
+ );
82
+
83
+ await finalizeSubtreeGraphics([Promise.resolve(mark)], () => false);
84
+
85
+ expect(mark.finalizeGraphicsInitialization).not.toHaveBeenCalled();
86
+ });
87
+ });
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "contributors": [],
9
9
  "license": "MIT",
10
- "version": "0.63.0",
10
+ "version": "0.65.0",
11
11
  "jsdelivr": "dist/bundle/index.js",
12
12
  "unpkg": "dist/bundle/index.js",
13
13
  "browser": "dist/bundle/index.js",
@@ -36,36 +36,36 @@
36
36
  "postpack": "node scripts/postpack.mjs"
37
37
  },
38
38
  "dependencies": {
39
- "@gmod/bam": "^4.0.1",
40
- "@gmod/bbi": "^5.0.2",
41
- "@gmod/bed": "^2.1.3",
42
- "@gmod/bgzf-filehandle": "^1.5.5",
43
- "@gmod/gff": "^1.3.0",
44
- "@gmod/indexedfasta": "^2.1.1",
45
- "@gmod/tabix": "^1.6.1",
46
- "@gmod/vcf": "^6.0.0",
47
- "@types/d3-array": "^3.2.1",
39
+ "@gmod/bam": "^7.0.5",
40
+ "@gmod/bbi": "^7.1.0",
41
+ "@gmod/bed": "^2.1.7",
42
+ "@gmod/indexedfasta": "^4.0.7",
43
+ "@gmod/tabix": "^3.1.2",
44
+ "@gmod/vcf": "^6.1.0",
45
+ "@types/d3-array": "^3.2.2",
48
46
  "@types/d3-dsv": "^3.0.7",
49
47
  "@types/d3-ease": "^3.0.2",
50
48
  "@types/d3-format": "^3.0.4",
51
49
  "@types/d3-interpolate": "^3.0.4",
52
- "@types/d3-scale": "^4.0.8",
50
+ "@types/d3-scale": "^4.0.9",
53
51
  "d3-array": "^3.2.4",
54
52
  "d3-color": "^3.1.0",
55
53
  "d3-ease": "^3.0.1",
56
54
  "d3-format": "^3.1.0",
57
55
  "events": "^3.3.0",
58
56
  "flatqueue": "^2.0.3",
57
+ "generic-filehandle2": "^2.0.14",
58
+ "gff-nostream": "^2.0.0",
59
59
  "internmap": "^2.0.3",
60
60
  "lit": "^3.3.0",
61
61
  "twgl.js": "^4.19.1",
62
- "vega-expression": "^6.0.0",
63
- "vega-loader": "^5.0.0",
64
- "vega-scale": "^8.0.0",
65
- "vega-util": "^2.0.0"
62
+ "vega-expression": "^6.1.0",
63
+ "vega-loader": "^5.1.0",
64
+ "vega-scale": "^8.1.0",
65
+ "vega-util": "^2.1.0"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@types/long": "^4.0.1"
69
69
  },
70
- "gitHead": "61b7ba62f15827e617d5e8321e532e4c3a2efd75"
70
+ "gitHead": "15ad2aca88eff4e1ba45a6956c3f2a04a01e6d26"
71
71
  }
@@ -1,8 +0,0 @@
1
- const e = {}, t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2
- __proto__: null,
3
- default: e
4
- }, Symbol.toStringTag, { value: "Module" }));
5
- export {
6
- e as L,
7
- t as _
8
- };
@@ -1,26 +0,0 @@
1
- function n(e) {
2
- return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
3
- }
4
- function c(e) {
5
- if (e.__esModule) return e;
6
- var o = e.default;
7
- if (typeof o == "function") {
8
- var t = function r() {
9
- return this instanceof r ? Reflect.construct(o, arguments, this.constructor) : o.apply(this, arguments);
10
- };
11
- t.prototype = o.prototype;
12
- } else t = {};
13
- return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(e).forEach(function(r) {
14
- var u = Object.getOwnPropertyDescriptor(e, r);
15
- Object.defineProperty(t, r, u.get ? u : {
16
- enumerable: !0,
17
- get: function() {
18
- return e[r];
19
- }
20
- });
21
- }), t;
22
- }
23
- export {
24
- c as a,
25
- n as g
26
- };