@genome-spy/core 0.37.4 → 0.38.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 (356) hide show
  1. package/dist/bundle/__vite-browser-external-ENoMJThg.js +8 -0
  2. package/dist/bundle/_commonjsHelpers-QtkX90xp.js +30 -0
  3. package/dist/bundle/index-1QVesMzU.js +1074 -0
  4. package/dist/bundle/index-Cbz74kpR.js +638 -0
  5. package/dist/bundle/index-LD6yPc3X.js +515 -0
  6. package/dist/bundle/index-Pv3tKJ1W.js +2190 -0
  7. package/dist/bundle/index-UyrC0vvF.js +72 -0
  8. package/dist/bundle/index-Y-LdHNIz.js +501 -0
  9. package/dist/bundle/index-gn8bhQ8w.js +4050 -0
  10. package/dist/bundle/index-lmJu1tfP.js +1372 -0
  11. package/dist/bundle/index-z4Cs62EO.js +279 -0
  12. package/dist/bundle/index.es.js +6448 -20571
  13. package/dist/bundle/index.js +93 -112
  14. package/dist/bundle/long-Veu0zKh9.js +2382 -0
  15. package/dist/bundle/remoteFile-Ur-gRKsH.js +96 -0
  16. package/dist/schema.json +492 -108
  17. package/dist/src/data/collector.d.ts +11 -11
  18. package/dist/src/data/collector.d.ts.map +1 -1
  19. package/dist/src/data/collector.js +8 -8
  20. package/dist/src/data/dataFlow.d.ts +18 -18
  21. package/dist/src/data/dataFlow.d.ts.map +1 -1
  22. package/dist/src/data/dataFlow.js +7 -7
  23. package/dist/src/data/flowNode.d.ts +9 -9
  24. package/dist/src/data/flowNode.d.ts.map +1 -1
  25. package/dist/src/data/flowNode.js +5 -5
  26. package/dist/src/data/flowOptimizer.d.ts +11 -11
  27. package/dist/src/data/flowOptimizer.d.ts.map +1 -1
  28. package/dist/src/data/flowOptimizer.js +7 -7
  29. package/dist/src/data/flowTestUtils.d.ts +2 -2
  30. package/dist/src/data/flowTestUtils.d.ts.map +1 -1
  31. package/dist/src/data/flowTestUtils.js +1 -1
  32. package/dist/src/data/sources/dataSource.js +1 -1
  33. package/dist/src/data/sources/dataSourceFactory.d.ts +3 -3
  34. package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
  35. package/dist/src/data/sources/dataSourceFactory.js +20 -20
  36. package/dist/src/data/sources/dataUtils.d.ts +20 -20
  37. package/dist/src/data/sources/dataUtils.d.ts.map +1 -1
  38. package/dist/src/data/sources/dataUtils.js +11 -11
  39. package/dist/src/data/sources/dynamic/axisGenomeSource.d.ts +3 -3
  40. package/dist/src/data/sources/dynamic/axisGenomeSource.d.ts.map +1 -1
  41. package/dist/src/data/sources/dynamic/axisGenomeSource.js +2 -2
  42. package/dist/src/data/sources/dynamic/axisTickSource.d.ts +6 -6
  43. package/dist/src/data/sources/dynamic/axisTickSource.d.ts.map +1 -1
  44. package/dist/src/data/sources/dynamic/axisTickSource.js +4 -4
  45. package/dist/src/data/sources/dynamic/bamSource.d.ts +7 -13
  46. package/dist/src/data/sources/dynamic/bamSource.d.ts.map +1 -1
  47. package/dist/src/data/sources/dynamic/bamSource.js +35 -27
  48. package/dist/src/data/sources/dynamic/bigBedSource.d.ts +9 -9
  49. package/dist/src/data/sources/dynamic/bigBedSource.d.ts.map +1 -1
  50. package/dist/src/data/sources/dynamic/bigBedSource.js +31 -18
  51. package/dist/src/data/sources/dynamic/bigWigSource.d.ts +7 -7
  52. package/dist/src/data/sources/dynamic/bigWigSource.d.ts.map +1 -1
  53. package/dist/src/data/sources/dynamic/bigWigSource.js +33 -26
  54. package/dist/src/data/sources/dynamic/gff3Source.d.ts +9 -0
  55. package/dist/src/data/sources/dynamic/gff3Source.d.ts.map +1 -1
  56. package/dist/src/data/sources/dynamic/gff3Source.js +17 -2
  57. package/dist/src/data/sources/dynamic/indexedFastaSource.d.ts +6 -9
  58. package/dist/src/data/sources/dynamic/indexedFastaSource.d.ts.map +1 -1
  59. package/dist/src/data/sources/dynamic/indexedFastaSource.js +28 -18
  60. package/dist/src/data/sources/dynamic/singleAxisLazySource.d.ts +10 -10
  61. package/dist/src/data/sources/dynamic/singleAxisLazySource.d.ts.map +1 -1
  62. package/dist/src/data/sources/dynamic/singleAxisLazySource.js +6 -6
  63. package/dist/src/data/sources/dynamic/tabixSource.d.ts +11 -8
  64. package/dist/src/data/sources/dynamic/tabixSource.d.ts.map +1 -1
  65. package/dist/src/data/sources/dynamic/tabixSource.js +31 -17
  66. package/dist/src/data/sources/inlineSource.d.ts +7 -7
  67. package/dist/src/data/sources/inlineSource.d.ts.map +1 -1
  68. package/dist/src/data/sources/inlineSource.js +5 -5
  69. package/dist/src/data/sources/namedSource.d.ts +9 -9
  70. package/dist/src/data/sources/namedSource.d.ts.map +1 -1
  71. package/dist/src/data/sources/namedSource.js +6 -6
  72. package/dist/src/data/sources/sequenceSource.d.ts +7 -7
  73. package/dist/src/data/sources/sequenceSource.d.ts.map +1 -1
  74. package/dist/src/data/sources/sequenceSource.js +4 -4
  75. package/dist/src/data/sources/urlSource.d.ts +7 -7
  76. package/dist/src/data/sources/urlSource.d.ts.map +1 -1
  77. package/dist/src/data/sources/urlSource.js +4 -4
  78. package/dist/src/data/transforms/aggregate.d.ts +3 -3
  79. package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
  80. package/dist/src/data/transforms/aggregate.js +2 -2
  81. package/dist/src/data/transforms/clone.d.ts +2 -2
  82. package/dist/src/data/transforms/clone.d.ts.map +1 -1
  83. package/dist/src/data/transforms/clone.js +1 -1
  84. package/dist/src/data/transforms/coverage.d.ts +3 -3
  85. package/dist/src/data/transforms/coverage.d.ts.map +1 -1
  86. package/dist/src/data/transforms/coverage.js +1 -1
  87. package/dist/src/data/transforms/coverage.test.js +1 -1
  88. package/dist/src/data/transforms/filter.d.ts +3 -3
  89. package/dist/src/data/transforms/filter.d.ts.map +1 -1
  90. package/dist/src/data/transforms/filter.js +2 -2
  91. package/dist/src/data/transforms/filter.test.js +1 -1
  92. package/dist/src/data/transforms/filterScoredLabels.d.ts +4 -4
  93. package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
  94. package/dist/src/data/transforms/filterScoredLabels.js +3 -3
  95. package/dist/src/data/transforms/flatten.d.ts +2 -2
  96. package/dist/src/data/transforms/flatten.d.ts.map +1 -1
  97. package/dist/src/data/transforms/flatten.js +3 -3
  98. package/dist/src/data/transforms/flatten.test.js +6 -6
  99. package/dist/src/data/transforms/flattenCompressedExons.d.ts +2 -2
  100. package/dist/src/data/transforms/flattenCompressedExons.d.ts.map +1 -1
  101. package/dist/src/data/transforms/flattenCompressedExons.js +1 -1
  102. package/dist/src/data/transforms/flattenDelimited.d.ts +2 -2
  103. package/dist/src/data/transforms/flattenDelimited.d.ts.map +1 -1
  104. package/dist/src/data/transforms/flattenDelimited.js +2 -2
  105. package/dist/src/data/transforms/flattenDelimited.test.js +5 -5
  106. package/dist/src/data/transforms/flattenSequence.d.ts +2 -2
  107. package/dist/src/data/transforms/flattenSequence.d.ts.map +1 -1
  108. package/dist/src/data/transforms/flattenSequence.js +1 -1
  109. package/dist/src/data/transforms/flattenSequence.test.js +1 -1
  110. package/dist/src/data/transforms/formula.d.ts +3 -3
  111. package/dist/src/data/transforms/formula.d.ts.map +1 -1
  112. package/dist/src/data/transforms/formula.js +2 -2
  113. package/dist/src/data/transforms/identifier.d.ts +3 -3
  114. package/dist/src/data/transforms/identifier.d.ts.map +1 -1
  115. package/dist/src/data/transforms/identifier.js +2 -2
  116. package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts +3 -3
  117. package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts.map +1 -1
  118. package/dist/src/data/transforms/linearizeGenomicCoordinate.js +2 -2
  119. package/dist/src/data/transforms/measureText.d.ts +2 -2
  120. package/dist/src/data/transforms/measureText.d.ts.map +1 -1
  121. package/dist/src/data/transforms/measureText.js +1 -1
  122. package/dist/src/data/transforms/pileup.d.ts +3 -3
  123. package/dist/src/data/transforms/pileup.d.ts.map +1 -1
  124. package/dist/src/data/transforms/pileup.js +1 -1
  125. package/dist/src/data/transforms/pileup.test.js +1 -1
  126. package/dist/src/data/transforms/project.d.ts +2 -2
  127. package/dist/src/data/transforms/project.d.ts.map +1 -1
  128. package/dist/src/data/transforms/project.js +1 -1
  129. package/dist/src/data/transforms/project.test.js +1 -1
  130. package/dist/src/data/transforms/regexExtract.d.ts +2 -2
  131. package/dist/src/data/transforms/regexExtract.d.ts.map +1 -1
  132. package/dist/src/data/transforms/regexExtract.js +1 -1
  133. package/dist/src/data/transforms/regexExtract.test.js +3 -3
  134. package/dist/src/data/transforms/regexFold.d.ts +2 -2
  135. package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
  136. package/dist/src/data/transforms/regexFold.js +2 -2
  137. package/dist/src/data/transforms/regexFold.test.js +3 -3
  138. package/dist/src/data/transforms/sample.d.ts +2 -2
  139. package/dist/src/data/transforms/sample.d.ts.map +1 -1
  140. package/dist/src/data/transforms/sample.js +2 -2
  141. package/dist/src/data/transforms/stack.d.ts +3 -3
  142. package/dist/src/data/transforms/stack.d.ts.map +1 -1
  143. package/dist/src/data/transforms/stack.js +2 -2
  144. package/dist/src/data/transforms/stack.test.js +2 -2
  145. package/dist/src/data/transforms/transformFactory.d.ts +5 -5
  146. package/dist/src/data/transforms/transformFactory.d.ts.map +1 -1
  147. package/dist/src/data/transforms/transformFactory.js +3 -3
  148. package/dist/src/encoder/accessor.d.ts +6 -6
  149. package/dist/src/encoder/accessor.d.ts.map +1 -1
  150. package/dist/src/encoder/accessor.js +4 -4
  151. package/dist/src/encoder/encoder.d.ts +59 -59
  152. package/dist/src/encoder/encoder.d.ts.map +1 -1
  153. package/dist/src/encoder/encoder.js +40 -40
  154. package/dist/src/encoder/encoder.test.js +4 -4
  155. package/dist/src/fonts/bmFontManager.d.ts +7 -7
  156. package/dist/src/fonts/bmFontManager.d.ts.map +1 -1
  157. package/dist/src/fonts/bmFontManager.js +3 -3
  158. package/dist/src/fonts/bmFontMetrics.d.ts +6 -6
  159. package/dist/src/fonts/bmFontMetrics.d.ts.map +1 -1
  160. package/dist/src/fonts/bmFontMetrics.js +4 -4
  161. package/dist/src/genome/genome.d.ts +7 -7
  162. package/dist/src/genome/genome.d.ts.map +1 -1
  163. package/dist/src/genome/genome.js +2 -2
  164. package/dist/src/genome/genomeStore.d.ts +2 -2
  165. package/dist/src/genome/genomeStore.d.ts.map +1 -1
  166. package/dist/src/genome/genomeStore.js +1 -1
  167. package/dist/src/genome/locusFormat.d.ts +7 -7
  168. package/dist/src/genome/locusFormat.d.ts.map +1 -1
  169. package/dist/src/genome/locusFormat.js +4 -4
  170. package/dist/src/genome/scaleIndex.d.ts +1 -1
  171. package/dist/src/genome/scaleIndex.d.ts.map +1 -1
  172. package/dist/src/genome/scaleIndex.js +1 -1
  173. package/dist/src/genome/scaleLocus.d.ts +2 -2
  174. package/dist/src/genome/scaleLocus.d.ts.map +1 -1
  175. package/dist/src/genome/scaleLocus.js +3 -3
  176. package/dist/src/genomeSpy.d.ts +12 -12
  177. package/dist/src/genomeSpy.d.ts.map +1 -1
  178. package/dist/src/genomeSpy.js +51 -34
  179. package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
  180. package/dist/src/gl/dataToVertices.d.ts +18 -18
  181. package/dist/src/gl/dataToVertices.d.ts.map +1 -1
  182. package/dist/src/gl/dataToVertices.js +10 -10
  183. package/dist/src/gl/webGLHelper.d.ts +4 -4
  184. package/dist/src/gl/webGLHelper.d.ts.map +1 -1
  185. package/dist/src/gl/webGLHelper.js +2 -2
  186. package/dist/src/index.d.ts.map +1 -1
  187. package/dist/src/index.js +1 -1
  188. package/dist/src/marks/link.js +5 -5
  189. package/dist/src/marks/mark.d.ts +35 -32
  190. package/dist/src/marks/mark.d.ts.map +1 -1
  191. package/dist/src/marks/mark.js +26 -23
  192. package/dist/src/marks/markUtils.d.ts +10 -10
  193. package/dist/src/marks/markUtils.d.ts.map +1 -1
  194. package/dist/src/marks/markUtils.js +5 -5
  195. package/dist/src/marks/pointMark.d.ts +1 -1
  196. package/dist/src/marks/pointMark.d.ts.map +1 -1
  197. package/dist/src/marks/pointMark.js +7 -7
  198. package/dist/src/marks/rectMark.d.ts +2 -2
  199. package/dist/src/marks/rectMark.d.ts.map +1 -1
  200. package/dist/src/marks/rectMark.js +7 -7
  201. package/dist/src/marks/rule.js +6 -6
  202. package/dist/src/marks/text.d.ts +1 -1
  203. package/dist/src/marks/text.d.ts.map +1 -1
  204. package/dist/src/marks/text.js +6 -6
  205. package/dist/src/scale/colorUtils.d.ts +4 -4
  206. package/dist/src/scale/colorUtils.d.ts.map +1 -1
  207. package/dist/src/scale/colorUtils.js +2 -2
  208. package/dist/src/scale/glslScaleGenerator.d.ts +3 -3
  209. package/dist/src/scale/glslScaleGenerator.d.ts.map +1 -1
  210. package/dist/src/scale/glslScaleGenerator.js +2 -2
  211. package/dist/src/scale/scale.d.ts +3 -3
  212. package/dist/src/scale/scale.d.ts.map +1 -1
  213. package/dist/src/scale/scale.js +2 -2
  214. package/dist/src/scale/ticks.d.ts +4 -4
  215. package/dist/src/scale/ticks.js +4 -4
  216. package/dist/src/spec/axis.d.ts +1 -1
  217. package/dist/src/spec/channel.d.ts +2 -2
  218. package/dist/src/spec/data.d.ts +2 -2
  219. package/dist/src/spec/mark.d.ts +3 -3
  220. package/dist/src/spec/root.d.ts +2 -2
  221. package/dist/src/spec/sampleView.d.ts +5 -5
  222. package/dist/src/spec/scale.d.ts +1 -1
  223. package/dist/src/spec/title.d.ts +1 -1
  224. package/dist/src/spec/view.d.ts +36 -9
  225. package/dist/src/tooltip/dataTooltipHandler.js +1 -1
  226. package/dist/src/tooltip/refseqGeneTooltipHandler.d.ts.map +1 -1
  227. package/dist/src/tooltip/refseqGeneTooltipHandler.js +1 -1
  228. package/dist/src/tooltip/tooltipHandler.d.ts +1 -1
  229. package/dist/src/tooltip/tooltipHandler.d.ts.map +1 -1
  230. package/dist/src/tooltip/tooltipHandler.ts +1 -1
  231. package/dist/src/types/embedApi.d.ts +3 -3
  232. package/dist/src/types/encoder.d.ts +4 -4
  233. package/dist/src/types/flowBatch.d.ts +1 -1
  234. package/dist/src/types/rendering.d.ts +3 -3
  235. package/dist/src/types/scaleResolutionApi.d.ts +2 -2
  236. package/dist/src/types/viewContext.d.ts +41 -12
  237. package/dist/src/utils/animator.d.ts +2 -2
  238. package/dist/src/utils/animator.d.ts.map +1 -1
  239. package/dist/src/utils/animator.js +1 -1
  240. package/dist/src/utils/inertia.d.ts +3 -3
  241. package/dist/src/utils/inertia.d.ts.map +1 -1
  242. package/dist/src/utils/inertia.js +1 -1
  243. package/dist/src/utils/interactionEvent.d.ts +5 -5
  244. package/dist/src/utils/interactionEvent.d.ts.map +1 -1
  245. package/dist/src/utils/interactionEvent.js +2 -2
  246. package/dist/src/utils/trees.js +1 -1
  247. package/dist/src/view/axisGridView.d.ts +17 -16
  248. package/dist/src/view/axisGridView.d.ts.map +1 -1
  249. package/dist/src/view/axisGridView.js +24 -20
  250. package/dist/src/view/axisResolution.d.ts +10 -10
  251. package/dist/src/view/axisResolution.d.ts.map +1 -1
  252. package/dist/src/view/axisResolution.js +6 -6
  253. package/dist/src/view/axisResolution.test.js +1 -1
  254. package/dist/src/view/axisView.d.ts +18 -17
  255. package/dist/src/view/axisView.d.ts.map +1 -1
  256. package/dist/src/view/axisView.js +39 -35
  257. package/dist/src/view/concatView.d.ts +5 -5
  258. package/dist/src/view/concatView.d.ts.map +1 -1
  259. package/dist/src/view/concatView.js +23 -23
  260. package/dist/src/view/containerView.d.ts +10 -8
  261. package/dist/src/view/containerView.d.ts.map +1 -1
  262. package/dist/src/view/containerView.js +18 -13
  263. package/dist/src/view/facetView.d.ts +12 -12
  264. package/dist/src/view/facetView.d.ts.map +1 -1
  265. package/dist/src/view/facetView.js +19 -19
  266. package/dist/src/view/flowBuilder.d.ts +4 -4
  267. package/dist/src/view/flowBuilder.d.ts.map +1 -1
  268. package/dist/src/view/flowBuilder.js +13 -13
  269. package/dist/src/view/flowBuilder.test.js +7 -7
  270. package/dist/src/view/gridView.d.ts +63 -35
  271. package/dist/src/view/gridView.d.ts.map +1 -1
  272. package/dist/src/view/gridView.js +400 -113
  273. package/dist/src/view/layerView.d.ts +12 -14
  274. package/dist/src/view/layerView.d.ts.map +1 -1
  275. package/dist/src/view/layerView.js +55 -26
  276. package/dist/src/{utils → view}/layout/flexLayout.d.ts +6 -6
  277. package/dist/src/view/layout/flexLayout.d.ts.map +1 -0
  278. package/dist/src/{utils → view}/layout/flexLayout.js +4 -4
  279. package/dist/src/view/layout/grid.d.ts.map +1 -0
  280. package/dist/src/{utils → view}/layout/padding.d.ts +4 -4
  281. package/dist/src/view/layout/padding.d.ts.map +1 -0
  282. package/dist/src/{utils → view}/layout/padding.js +2 -2
  283. package/dist/src/view/layout/point.d.ts.map +1 -0
  284. package/dist/src/{utils → view}/layout/rectangle.d.ts +8 -2
  285. package/dist/src/view/layout/rectangle.d.ts.map +1 -0
  286. package/dist/src/{utils → view}/layout/rectangle.js +22 -2
  287. package/dist/src/{utils → view}/layout/rectangle.test.js +8 -0
  288. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts +10 -10
  289. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
  290. package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +10 -10
  291. package/dist/src/view/renderingContext/compositeViewRenderingContext.d.ts +2 -2
  292. package/dist/src/view/renderingContext/compositeViewRenderingContext.d.ts.map +1 -1
  293. package/dist/src/view/renderingContext/compositeViewRenderingContext.js +4 -4
  294. package/dist/src/view/renderingContext/debuggingViewRenderingContext.d.ts +4 -4
  295. package/dist/src/view/renderingContext/debuggingViewRenderingContext.d.ts.map +1 -1
  296. package/dist/src/view/renderingContext/debuggingViewRenderingContext.js +3 -3
  297. package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.d.ts +8 -8
  298. package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.d.ts.map +1 -1
  299. package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.js +4 -4
  300. package/dist/src/view/renderingContext/simpleViewRenderingContext.d.ts +6 -6
  301. package/dist/src/view/renderingContext/simpleViewRenderingContext.d.ts.map +1 -1
  302. package/dist/src/view/renderingContext/simpleViewRenderingContext.js +7 -7
  303. package/dist/src/view/renderingContext/svgViewRenderingContext.d.ts +4 -4
  304. package/dist/src/view/renderingContext/svgViewRenderingContext.d.ts.map +1 -1
  305. package/dist/src/view/renderingContext/svgViewRenderingContext.js +6 -6
  306. package/dist/src/view/renderingContext/viewRenderingContext.d.ts +10 -10
  307. package/dist/src/view/renderingContext/viewRenderingContext.d.ts.map +1 -1
  308. package/dist/src/view/renderingContext/viewRenderingContext.js +5 -5
  309. package/dist/src/view/scaleResolution.d.ts +21 -17
  310. package/dist/src/view/scaleResolution.d.ts.map +1 -1
  311. package/dist/src/view/scaleResolution.js +29 -24
  312. package/dist/src/view/scaleResolution.test.js +57 -72
  313. package/dist/src/view/testUtils.d.ts +6 -15
  314. package/dist/src/view/testUtils.d.ts.map +1 -1
  315. package/dist/src/view/testUtils.js +40 -44
  316. package/dist/src/view/title.d.ts +3 -3
  317. package/dist/src/view/title.d.ts.map +1 -1
  318. package/dist/src/view/title.js +12 -12
  319. package/dist/src/view/unitView.d.ts +31 -30
  320. package/dist/src/view/unitView.d.ts.map +1 -1
  321. package/dist/src/view/unitView.js +30 -22
  322. package/dist/src/view/view.d.ts +86 -57
  323. package/dist/src/view/view.d.ts.map +1 -1
  324. package/dist/src/view/view.js +148 -103
  325. package/dist/src/view/view.test.js +9 -8
  326. package/dist/src/view/viewError.d.ts +9 -0
  327. package/dist/src/view/viewError.d.ts.map +1 -0
  328. package/dist/src/view/viewError.js +11 -0
  329. package/dist/src/view/viewFactory.d.ts +53 -20
  330. package/dist/src/view/viewFactory.d.ts.map +1 -1
  331. package/dist/src/view/viewFactory.js +148 -33
  332. package/dist/src/view/viewFactory.test.js +8 -0
  333. package/dist/src/view/viewUtils.d.ts +14 -12
  334. package/dist/src/view/viewUtils.d.ts.map +1 -1
  335. package/dist/src/view/viewUtils.js +10 -63
  336. package/dist/src/view/zoom.d.ts +4 -4
  337. package/dist/src/view/zoom.d.ts.map +1 -1
  338. package/dist/src/view/zoom.js +3 -3
  339. package/package.json +7 -5
  340. package/dist/src/utils/layout/flexLayout.d.ts.map +0 -1
  341. package/dist/src/utils/layout/grid.d.ts.map +0 -1
  342. package/dist/src/utils/layout/padding.d.ts.map +0 -1
  343. package/dist/src/utils/layout/point.d.ts.map +0 -1
  344. package/dist/src/utils/layout/rectangle.d.ts.map +0 -1
  345. package/dist/src/view/implicitRootView.d.ts +0 -9
  346. package/dist/src/view/implicitRootView.d.ts.map +0 -1
  347. package/dist/src/view/implicitRootView.js +0 -23
  348. package/dist/src/view/importView.d.ts +0 -17
  349. package/dist/src/view/importView.d.ts.map +0 -1
  350. package/dist/src/view/importView.js +0 -22
  351. /package/dist/src/{utils → view}/layout/flexLayout.test.js +0 -0
  352. /package/dist/src/{utils → view}/layout/grid.d.ts +0 -0
  353. /package/dist/src/{utils → view}/layout/grid.js +0 -0
  354. /package/dist/src/{utils → view}/layout/grid.test.js +0 -0
  355. /package/dist/src/{utils → view}/layout/point.d.ts +0 -0
  356. /package/dist/src/{utils → view}/layout/point.js +0 -0
@@ -2,20 +2,20 @@
2
2
  * Validates data source params, infers format if not specified explicitly,
3
3
  * returns a complete DataSource params object.
4
4
  *
5
- * @param {import("../../spec/data").DataSource} params
5
+ * @param {import("../../spec/data.js").DataSource} params
6
6
  * DataSource parameters
7
7
  */
8
- export function getFormat(params: import("../../spec/data").DataSource): {
8
+ export function getFormat(params: import("../../spec/data.js").DataSource): {
9
9
  type?: "csv" | "tsv";
10
- parse?: import("../../spec/data").Parse;
10
+ parse?: import("../../spec/data.js").Parse;
11
11
  } | {
12
12
  type?: "dsv";
13
13
  delimiter: string;
14
- parse?: import("../../spec/data").Parse;
14
+ parse?: import("../../spec/data.js").Parse;
15
15
  } | {
16
16
  type?: "json";
17
17
  property?: string;
18
- parse?: import("../../spec/data").Parse;
18
+ parse?: import("../../spec/data.js").Parse;
19
19
  } | {
20
20
  type: string;
21
21
  };
@@ -24,27 +24,27 @@ export function getFormat(params: import("../../spec/data").DataSource): {
24
24
  */
25
25
  export function extractTypeFromUrl(url: string | string[]): string;
26
26
  /**
27
- * @param {import("../../spec/data").DataFormat} dataFormat
28
- * @return {dataFormat is import("../../spec/data").CsvDataFormat}
27
+ * @param {import("../../spec/data.js").DataFormat} dataFormat
28
+ * @return {dataFormat is import("../../spec/data.js").CsvDataFormat}
29
29
  */
30
- export function isCsvDataFormat(dataFormat: import("../../spec/data").DataFormat): dataFormat is import("../../spec/data").CsvDataFormat;
30
+ export function isCsvDataFormat(dataFormat: import("../../spec/data.js").DataFormat): dataFormat is import("../../spec/data.js").CsvDataFormat;
31
31
  /**
32
- * @param {import("../../spec/data").DataFormat} dataFormat
33
- * @return {dataFormat is import("../../spec/data").DsvDataFormat}
32
+ * @param {import("../../spec/data.js").DataFormat} dataFormat
33
+ * @return {dataFormat is import("../../spec/data.js").DsvDataFormat}
34
34
  */
35
- export function isDsvDataFormat(dataFormat: import("../../spec/data").DataFormat): dataFormat is import("../../spec/data").DsvDataFormat;
35
+ export function isDsvDataFormat(dataFormat: import("../../spec/data.js").DataFormat): dataFormat is import("../../spec/data.js").DsvDataFormat;
36
36
  /**
37
- * @param {import("../../spec/data").DataFormat} dataFormat
38
- * @return {dataFormat is import("../../spec/data").JsonDataFormat}
37
+ * @param {import("../../spec/data.js").DataFormat} dataFormat
38
+ * @return {dataFormat is import("../../spec/data.js").JsonDataFormat}
39
39
  */
40
- export function isJsonDataFormat(dataFormat: import("../../spec/data").DataFormat): dataFormat is import("../../spec/data").JsonDataFormat;
40
+ export function isJsonDataFormat(dataFormat: import("../../spec/data.js").DataFormat): dataFormat is import("../../spec/data.js").JsonDataFormat;
41
41
  /**
42
42
  *
43
- * @param {import("../../spec/data").DataSource} dataSource
44
- * @return {dataSource is import("../../spec/data").UrlData}
43
+ * @param {import("../../spec/data.js").DataSource} dataSource
44
+ * @return {dataSource is import("../../spec/data.js").UrlData}
45
45
  */
46
- export function isUrlData(dataSource: import("../../spec/data").DataSource): dataSource is import("../../spec/data").UrlData;
47
- export function makeWrapper(d: any): ((x: import("../../spec/channel").Scalar) => {
48
- data: import("../../spec/channel").Scalar;
49
- }) | ((x: import("../flowNode").Datum) => import("../flowNode").Datum);
46
+ export function isUrlData(dataSource: import("../../spec/data.js").DataSource): dataSource is import("../../spec/data.js").UrlData;
47
+ export function makeWrapper(d: any): ((x: import("../../spec/channel.js").Scalar) => {
48
+ data: import("../../spec/channel.js").Scalar;
49
+ }) | ((x: import("../flowNode.js").Datum) => import("../flowNode.js").Datum);
50
50
  //# sourceMappingURL=dataUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataUtils.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/dataUtils.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,kCAHW,OAAO,iBAAiB,EAAE,UAAU;;;;;;;;;;;;;EAqB9C;AAED;;GAEG;AACH,wCAFW,MAAM,GAAG,MAAM,EAAE,UAU3B;AAWD;;;GAGG;AACH,4CAHW,OAAO,iBAAiB,EAAE,UAAU,yDAK9C;AAED;;;GAGG;AACH,4CAHW,OAAO,iBAAiB,EAAE,UAAU,yDAK9C;AAED;;;GAGG;AACH,6CAHW,OAAO,iBAAiB,EAAE,UAAU,0DAK9C;AAED;;;;GAIG;AACH,sCAHW,OAAO,iBAAiB,EAAE,UAAU,mDAK9C;AAxCM,+BAAgC,GAAG,QAI3B,OAAO,oBAAoB,EAAE,MAAM;;UAGnB,OAAO,aAAa,EAAE,KAAK,kCANL"}
1
+ {"version":3,"file":"dataUtils.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/dataUtils.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,kCAHW,OAAO,oBAAoB,EAAE,UAAU;;;;;;;;;;;;;EAqBjD;AAED;;GAEG;AACH,wCAFW,MAAM,GAAG,MAAM,EAAE,UAU3B;AAWD;;;GAGG;AACH,4CAHW,OAAO,oBAAoB,EAAE,UAAU,4DAKjD;AAED;;;GAGG;AACH,4CAHW,OAAO,oBAAoB,EAAE,UAAU,4DAKjD;AAED;;;GAGG;AACH,6CAHW,OAAO,oBAAoB,EAAE,UAAU,6DAKjD;AAED;;;;GAIG;AACH,sCAHW,OAAO,oBAAoB,EAAE,UAAU,sDAKjD;AAxCM,+BAAgC,GAAG,QAI3B,OAAO,uBAAuB,EAAE,MAAM;;UAGtB,OAAO,gBAAgB,EAAE,KAAK,qCANR"}
@@ -4,7 +4,7 @@ import { isInlineData } from "./inlineSource.js";
4
4
  * Validates data source params, infers format if not specified explicitly,
5
5
  * returns a complete DataSource params object.
6
6
  *
7
- * @param {import("../../spec/data").DataSource} params
7
+ * @param {import("../../spec/data.js").DataSource} params
8
8
  * DataSource parameters
9
9
  */
10
10
  export function getFormat(params) {
@@ -44,30 +44,30 @@ export const makeWrapper = (/** @type {any} */ d) =>
44
44
  typeof d != "object" ? scalarWrapper : nopWrapper;
45
45
 
46
46
  const scalarWrapper = (
47
- /** @type {import("../../spec/channel").Scalar} */ x
47
+ /** @type {import("../../spec/channel.js").Scalar} */ x
48
48
  ) => ({ data: x });
49
49
 
50
- const nopWrapper = (/** @type {import("../flowNode").Datum} */ x) => x;
50
+ const nopWrapper = (/** @type {import("../flowNode.js").Datum} */ x) => x;
51
51
 
52
52
  /**
53
- * @param {import("../../spec/data").DataFormat} dataFormat
54
- * @return {dataFormat is import("../../spec/data").CsvDataFormat}
53
+ * @param {import("../../spec/data.js").DataFormat} dataFormat
54
+ * @return {dataFormat is import("../../spec/data.js").CsvDataFormat}
55
55
  */
56
56
  export function isCsvDataFormat(dataFormat) {
57
57
  return dataFormat.type == "csv" || dataFormat.type == "tsv";
58
58
  }
59
59
 
60
60
  /**
61
- * @param {import("../../spec/data").DataFormat} dataFormat
62
- * @return {dataFormat is import("../../spec/data").DsvDataFormat}
61
+ * @param {import("../../spec/data.js").DataFormat} dataFormat
62
+ * @return {dataFormat is import("../../spec/data.js").DsvDataFormat}
63
63
  */
64
64
  export function isDsvDataFormat(dataFormat) {
65
65
  return dataFormat.type == "dsv";
66
66
  }
67
67
 
68
68
  /**
69
- * @param {import("../../spec/data").DataFormat} dataFormat
70
- * @return {dataFormat is import("../../spec/data").JsonDataFormat}
69
+ * @param {import("../../spec/data.js").DataFormat} dataFormat
70
+ * @return {dataFormat is import("../../spec/data.js").JsonDataFormat}
71
71
  */
72
72
  export function isJsonDataFormat(dataFormat) {
73
73
  return dataFormat.type == "json";
@@ -75,8 +75,8 @@ export function isJsonDataFormat(dataFormat) {
75
75
 
76
76
  /**
77
77
  *
78
- * @param {import("../../spec/data").DataSource} dataSource
79
- * @return {dataSource is import("../../spec/data").UrlData}
78
+ * @param {import("../../spec/data.js").DataSource} dataSource
79
+ * @return {dataSource is import("../../spec/data.js").UrlData}
80
80
  */
81
81
  export function isUrlData(dataSource) {
82
82
  return "url" in dataSource;
@@ -4,10 +4,10 @@
4
4
  */
5
5
  export default class AxisGenomeSource extends SingleAxisLazySource {
6
6
  /**
7
- * @param {import("../../../spec/data").AxisGenomeData} params
8
- * @param {import("../../../view/view").default} view
7
+ * @param {import("../../../spec/data.js").AxisGenomeData} params
8
+ * @param {import("../../../view/view.js").default} view
9
9
  */
10
- constructor(params: import("../../../spec/data").AxisGenomeData, view: import("../../../view/view").default);
10
+ constructor(params: import("../../../spec/data.js").AxisGenomeData, view: import("../../../view/view.js").default);
11
11
  }
12
12
  import SingleAxisLazySource from "./singleAxisLazySource.js";
13
13
  //# sourceMappingURL=axisGenomeSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"axisGenomeSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/axisGenomeSource.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IACI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,cAAc,QAC3C,OAAO,oBAAoB,EAAE,OAAO,EAI9C;CAKJ;iCAlBgC,2BAA2B"}
1
+ {"version":3,"file":"axisGenomeSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/axisGenomeSource.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IACI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,cAAc,QAC9C,OAAO,uBAAuB,EAAE,OAAO,EAIjD;CAKJ;iCAlBgC,2BAA2B"}
@@ -6,8 +6,8 @@ import SingleAxisLazySource from "./singleAxisLazySource.js";
6
6
  */
7
7
  export default class AxisGenomeSource extends SingleAxisLazySource {
8
8
  /**
9
- * @param {import("../../../spec/data").AxisGenomeData} params
10
- * @param {import("../../../view/view").default} view
9
+ * @param {import("../../../spec/data.js").AxisGenomeData} params
10
+ * @param {import("../../../view/view.js").default} view
11
11
  */
12
12
  constructor(params, view) {
13
13
  super(view, params.channel);
@@ -3,15 +3,15 @@
3
3
  */
4
4
  export default class AxisTickSource extends SingleAxisLazySource {
5
5
  /**
6
- * @param {import("../../../spec/data").AxisTicksData} params
7
- * @param {import("../../../view/view").default} view
6
+ * @param {import("../../../spec/data.js").AxisTicksData} params
7
+ * @param {import("../../../view/view.js").default} view
8
8
  */
9
- constructor(params: import("../../../spec/data").AxisTicksData, view: import("../../../view/view").default);
9
+ constructor(params: import("../../../spec/data.js").AxisTicksData, view: import("../../../view/view.js").default);
10
10
  /**
11
- * @type {import("../../../spec/channel").Scalar[]}
11
+ * @type {import("../../../spec/channel.js").Scalar[]}
12
12
  */
13
- ticks: import("../../../spec/channel").Scalar[];
14
- params: import("../../../spec/data").AxisTicksData;
13
+ ticks: import("../../../spec/channel.js").Scalar[];
14
+ params: import("../../../spec/data.js").AxisTicksData;
15
15
  onDomainChanged(): Promise<void>;
16
16
  }
17
17
  import SingleAxisLazySource from "./singleAxisLazySource.js";
@@ -1 +1 @@
1
- {"version":3,"file":"axisTickSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/axisTickSource.js"],"names":[],"mappings":"AAYA;;GAEG;AACH;IAMI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,aAAa,QAC1C,OAAO,oBAAoB,EAAE,OAAO,EAY9C;IAnBD;;OAEG;IACH,OAFU,OAAO,uBAAuB,EAAE,MAAM,EAAE,CAEvC;IAeP,mDAAoB;IAGxB,iCAkCC;CACJ;iCA9DgC,2BAA2B"}
1
+ {"version":3,"file":"axisTickSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/axisTickSource.js"],"names":[],"mappings":"AAYA;;GAEG;AACH;IAMI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,aAAa,QAC7C,OAAO,uBAAuB,EAAE,OAAO,EAYjD;IAnBD;;OAEG;IACH,OAFU,OAAO,0BAA0B,EAAE,MAAM,EAAE,CAE1C;IAeP,sDAAoB;IAGxB,iCAkCC;CACJ;iCA9DgC,2BAA2B"}
@@ -15,16 +15,16 @@ import SingleAxisLazySource from "./singleAxisLazySource.js";
15
15
  */
16
16
  export default class AxisTickSource extends SingleAxisLazySource {
17
17
  /**
18
- * @type {import("../../../spec/channel").Scalar[]}
18
+ * @type {import("../../../spec/channel.js").Scalar[]}
19
19
  */
20
20
  ticks = [];
21
21
 
22
22
  /**
23
- * @param {import("../../../spec/data").AxisTicksData} params
24
- * @param {import("../../../view/view").default} view
23
+ * @param {import("../../../spec/data.js").AxisTicksData} params
24
+ * @param {import("../../../view/view.js").default} view
25
25
  */
26
26
  constructor(params, view) {
27
- /** @type {import("../../../spec/data").AxisTicksData} params */
27
+ /** @type {import("../../../spec/data.js").AxisTicksData} params */
28
28
  const paramsWithDefaults = {
29
29
  axis: {},
30
30
  ...params,
@@ -8,12 +8,14 @@ declare const BamSource_base: {
8
8
  } & typeof SingleAxisLazySource;
9
9
  export default class BamSource extends BamSource_base {
10
10
  /**
11
- * @param {import("../../../spec/data").BamData} params
12
- * @param {import("../../../view/view").default} view
11
+ * @param {import("../../../spec/data.js").BamData} params
12
+ * @param {import("../../../view/view.js").default} view
13
13
  */
14
- constructor(params: import("../../../spec/data").BamData, view: import("../../../view/view").default);
14
+ constructor(params: import("../../../spec/data.js").BamData, view: import("../../../view/view.js").default);
15
15
  /** Keep track of the order of the requests */
16
16
  lastRequestId: number;
17
+ /** @type {import("@gmod/bam").BamFile} */
18
+ bam: import("@gmod/bam").BamFile;
17
19
  /**
18
20
  * Some BAM files lack the "chr" prefix on their reference names. For example:
19
21
  * http://genome.ucsc.edu/goldenPath/help/examples/bamExample.bam
@@ -24,15 +26,8 @@ export default class BamSource extends BamSource_base {
24
26
  * @type {(chr: string) => string}
25
27
  */
26
28
  chrPrefixFixer: (chr: string) => string;
27
- params: import("../../../spec/data").BamData;
28
- bam: BamFile;
29
- headerPromise: Promise<{
30
- tag: string;
31
- data: {
32
- tag: string;
33
- value: string;
34
- }[];
35
- }[]>;
29
+ params: import("../../../spec/data.js").BamData;
30
+ initializedPromise: Promise<any>;
36
31
  /**
37
32
  * Listen to the domain change event and update data when the covered windows change.
38
33
  *
@@ -41,6 +36,5 @@ export default class BamSource extends BamSource_base {
41
36
  onDomainChanged(domain: number[]): Promise<void>;
42
37
  }
43
38
  import SingleAxisLazySource from "./singleAxisLazySource.js";
44
- import { BamFile } from "@gmod/bam";
45
39
  export {};
46
40
  //# sourceMappingURL=bamSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bamSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bamSource.js"],"names":[],"mappings":";;;;;;;;AAOA;IAeI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,oBAAoB,EAAE,OAAO,EAuC9C;IAvDD,8CAA8C;IAC9C,sBAAkB;IAElB;;;;;;;;OAQG;IACH,sBAFgB,MAAM,KAAK,MAAM,CAEH;IAgB1B,6CAAgC;IAShC,aAKE;IAEF;;;;;;SAAyC;IAa7C;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBA6ClB;CACJ;iCA/GgC,2BAA2B;wBAFpC,WAAW"}
1
+ {"version":3,"file":"bamSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bamSource.js"],"names":[],"mappings":";;;;;;;;AAIA;IAkBI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,OAAO,QACvC,OAAO,uBAAuB,EAAE,OAAO,EA+CjD;IAlED,8CAA8C;IAC9C,sBAAkB;IAElB,0CAA0C;IAC1C,KADW,OAAO,WAAW,EAAE,OAAO,CAClC;IAEJ;;;;;;;;OAQG;IACH,sBAFgB,MAAM,KAAK,MAAM,CAEH;IAgB1B,gDAAgC;IAMhC,iCA4BE;IAGN;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBA6ClB;CACJ;iCA1HgC,2BAA2B"}
@@ -1,6 +1,3 @@
1
- import { RemoteFile } from "generic-filehandle";
2
- import { BamFile } from "@gmod/bam";
3
-
4
1
  import SingleAxisLazySource from "./singleAxisLazySource.js";
5
2
  import windowedMixin from "./windowedMixin.js";
6
3
  import addBaseUrl from "../../../utils/addBaseUrl.js";
@@ -9,6 +6,9 @@ export default class BamSource extends windowedMixin(SingleAxisLazySource) {
9
6
  /** Keep track of the order of the requests */
10
7
  lastRequestId = 0;
11
8
 
9
+ /** @type {import("@gmod/bam").BamFile} */
10
+ bam;
11
+
12
12
  /**
13
13
  * Some BAM files lack the "chr" prefix on their reference names. For example:
14
14
  * http://genome.ucsc.edu/goldenPath/help/examples/bamExample.bam
@@ -21,11 +21,11 @@ export default class BamSource extends windowedMixin(SingleAxisLazySource) {
21
21
  chrPrefixFixer = (chr) => chr;
22
22
 
23
23
  /**
24
- * @param {import("../../../spec/data").BamData} params
25
- * @param {import("../../../view/view").default} view
24
+ * @param {import("../../../spec/data.js").BamData} params
25
+ * @param {import("../../../view/view.js").default} view
26
26
  */
27
27
  constructor(params, view) {
28
- /** @type {import("../../../spec/data").BamData} */
28
+ /** @type {import("../../../spec/data.js").BamData} */
29
29
  const paramsWithDefaults = {
30
30
  channel: "x",
31
31
  windowSize: 20000,
@@ -40,26 +40,34 @@ export default class BamSource extends windowedMixin(SingleAxisLazySource) {
40
40
  throw new Error("No URL provided for BamSource");
41
41
  }
42
42
 
43
- const withBase = (/** @type {string} */ uri) =>
44
- new RemoteFile(addBaseUrl(uri, this.view.getBaseUrl()));
45
-
46
- this.bam = new BamFile({
47
- bamFilehandle: withBase(this.params.url),
48
- baiFilehandle: withBase(
49
- this.params.indexUrl ?? this.params.url + ".bai"
50
- ),
51
- });
52
-
53
- this.headerPromise = this.bam.getHeader();
54
- this.headerPromise.then((_header) => {
55
- const g = this.genome.hasChrPrefix();
56
- // @ts-expect-error protected property
57
- const b = this.bam.indexToChr?.[0]?.refName.startsWith("chr");
58
- if (g && !b) {
59
- this.chrPrefixFixer = (chr) => chr.replace("chr", "");
60
- } else if (!g && b) {
61
- this.chrPrefixFixer = (chr) => "chr" + chr;
62
- }
43
+ this.initializedPromise = new Promise((resolve) => {
44
+ Promise.all([
45
+ import("@gmod/bam"),
46
+ import("generic-filehandle"),
47
+ ]).then(([{ BamFile }, { RemoteFile }]) => {
48
+ const withBase = (/** @type {string} */ uri) =>
49
+ new RemoteFile(addBaseUrl(uri, this.view.getBaseUrl()));
50
+
51
+ this.bam = new BamFile({
52
+ bamFilehandle: withBase(this.params.url),
53
+ baiFilehandle: withBase(
54
+ this.params.indexUrl ?? this.params.url + ".bai"
55
+ ),
56
+ });
57
+
58
+ this.bam.getHeader().then((_header) => {
59
+ const g = this.genome.hasChrPrefix();
60
+ const b =
61
+ this.bam.indexToChr?.[0]?.refName.startsWith("chr");
62
+ if (g && !b) {
63
+ this.chrPrefixFixer = (chr) => chr.replace("chr", "");
64
+ } else if (!g && b) {
65
+ this.chrPrefixFixer = (chr) => "chr" + chr;
66
+ }
67
+
68
+ resolve();
69
+ });
70
+ });
63
71
  });
64
72
  }
65
73
 
@@ -75,7 +83,7 @@ export default class BamSource extends windowedMixin(SingleAxisLazySource) {
75
83
  return;
76
84
  }
77
85
 
78
- await this.headerPromise;
86
+ await this.initializedPromise;
79
87
 
80
88
  const quantizedInterval = this.quantizeInterval(domain, windowSize);
81
89
 
@@ -8,17 +8,19 @@ declare const BigBedSource_base: {
8
8
  } & typeof SingleAxisLazySource;
9
9
  export default class BigBedSource extends BigBedSource_base {
10
10
  /**
11
- * @param {import("../../../spec/data").BigBedData} params
12
- * @param {import("../../../view/view").default} view
11
+ * @param {import("../../../spec/data.js").BigBedData} params
12
+ * @param {import("../../../view/view.js").default} view
13
13
  */
14
- constructor(params: import("../../../spec/data").BigBedData, view: import("../../../view/view").default);
14
+ constructor(params: import("../../../spec/data.js").BigBedData, view: import("../../../view/view.js").default);
15
15
  /** Keep track of the order of the requests */
16
16
  lastRequestId: number;
17
- /** @type {BED} */
18
- parser: BED;
19
- params: import("../../../spec/data").BigBedData;
20
- bbi: BigBed;
17
+ /** @type {import("@gmod/bed").default} */
18
+ parser: import("@gmod/bed").default;
19
+ /** @type {import("@gmod/bbi").BigBed} */
20
+ bbi: import("@gmod/bbi").BigBed;
21
+ params: import("../../../spec/data.js").BigBedData;
21
22
  doDebouncedRequest: (...args: any[]) => Promise<any>;
23
+ initializedPromise: Promise<any>;
22
24
  headerPromise: Promise<import("@gmod/bbi").Header>;
23
25
  /**
24
26
  * Listen to the domain change event and update data when the covered windows change.
@@ -45,7 +47,5 @@ export default class BigBedSource extends BigBedSource_base {
45
47
  }>;
46
48
  }
47
49
  import SingleAxisLazySource from "./singleAxisLazySource.js";
48
- import BED from "@gmod/bed";
49
- import { BigBed } from "@gmod/bbi";
50
50
  export {};
51
51
  //# sourceMappingURL=bigBedSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bigBedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bigBedSource.js"],"names":[],"mappings":";;;;;;;;AASA;IAOI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,UAAU,QACvC,OAAO,oBAAoB,EAAE,OAAO,EAmC9C;IA3CD,8CAA8C;IAC9C,sBAAkB;IAElB,kBAAkB;IAClB,QADW,GAAG,CACP;IAgBH,gDAAgC;IAMhC,YAIE;IAEF,qDAIC;IAED,mDAAyC;IAO7C;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBAclB;IAED;;;;OAIG;IACH,oBAFW,MAAM,EAAE,iBAWlB;IAED;;;OAGG;IACH,sBAFW,MAAM,EAAE;;;;;;OAkClB;CACJ;iCA3HgC,2BAA2B;gBAF5C,WAAW;uBAFJ,WAAW"}
1
+ {"version":3,"file":"bigBedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bigBedSource.js"],"names":[],"mappings":";;;;;;;;AAKA;IAUI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,EA+CjD;IA1DD,8CAA8C;IAC9C,sBAAkB;IAElB,0CAA0C;IAC1C,QADW,OAAO,WAAW,EAAE,OAAO,CAC/B;IAEP,yCAAyC;IACzC,KADW,OAAO,WAAW,EAAE,MAAM,CACjC;IAgBA,mDAAgC;IAMhC,qDAIC;IAED,iCAsBE;IARM,mDAAyC;IAWrD;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBAgBlB;IAED;;;;OAIG;IACH,oBAFW,MAAM,EAAE,iBAWlB;IAED;;;OAGG;IACH,sBAFW,MAAM,EAAE;;;;;;OAkClB;CACJ;iCA5IgC,2BAA2B"}
@@ -1,7 +1,3 @@
1
- import { BigBed } from "@gmod/bbi";
2
- import { RemoteFile } from "generic-filehandle";
3
- import BED from "@gmod/bed";
4
-
5
1
  import SingleAxisLazySource from "./singleAxisLazySource.js";
6
2
  import windowedMixin from "./windowedMixin.js";
7
3
  import { debounce } from "../../../utils/debounce.js";
@@ -11,15 +7,18 @@ export default class BigBedSource extends windowedMixin(SingleAxisLazySource) {
11
7
  /** Keep track of the order of the requests */
12
8
  lastRequestId = 0;
13
9
 
14
- /** @type {BED} */
10
+ /** @type {import("@gmod/bed").default} */
15
11
  parser;
16
12
 
13
+ /** @type {import("@gmod/bbi").BigBed} */
14
+ bbi;
15
+
17
16
  /**
18
- * @param {import("../../../spec/data").BigBedData} params
19
- * @param {import("../../../view/view").default} view
17
+ * @param {import("../../../spec/data.js").BigBedData} params
18
+ * @param {import("../../../view/view.js").default} view
20
19
  */
21
20
  constructor(params, view) {
22
- /** @type {import("../../../spec/data").BigBedData} */
21
+ /** @type {import("../../../spec/data.js").BigBedData} */
23
22
  const paramsWithDefaults = {
24
23
  channel: "x",
25
24
  windowSize: 1000000,
@@ -34,22 +33,34 @@ export default class BigBedSource extends windowedMixin(SingleAxisLazySource) {
34
33
  throw new Error("No URL provided for BigBedSource");
35
34
  }
36
35
 
37
- this.bbi = new BigBed({
38
- filehandle: new RemoteFile(
39
- addBaseUrl(this.params.url, this.view.getBaseUrl())
40
- ),
41
- });
42
-
43
36
  this.doDebouncedRequest = debounce(
44
37
  this.doRequest.bind(this),
45
38
  200,
46
39
  false
47
40
  );
48
41
 
49
- this.headerPromise = this.bbi.getHeader();
50
-
51
- this.headerPromise.then((header) => {
52
- this.parser = new BED({ autoSql: header.autoSql });
42
+ this.initializedPromise = new Promise((resolve) => {
43
+ Promise.all([
44
+ import("@gmod/bed"),
45
+ import("@gmod/bbi"),
46
+ import("generic-filehandle"),
47
+ ]).then(([bed, { BigBed }, { RemoteFile }]) => {
48
+ const BED = bed.default;
49
+
50
+ this.bbi = new BigBed({
51
+ filehandle: new RemoteFile(
52
+ addBaseUrl(this.params.url, this.view.getBaseUrl())
53
+ ),
54
+ });
55
+
56
+ this.headerPromise = this.bbi.getHeader();
57
+ this.headerPromise.then(async (header) => {
58
+ // @ts-ignore TODO: Fix
59
+ this.parser = new BED({ autoSql: header.autoSql });
60
+
61
+ resolve();
62
+ });
63
+ });
53
64
  });
54
65
  }
55
66
 
@@ -59,6 +70,8 @@ export default class BigBedSource extends windowedMixin(SingleAxisLazySource) {
59
70
  * @param {number[]} domain Linearized domain
60
71
  */
61
72
  async onDomainChanged(domain) {
73
+ await this.initializedPromise;
74
+
62
75
  const windowSize = this.params.windowSize;
63
76
 
64
77
  if (domain[1] - domain[0] > windowSize) {
@@ -11,18 +11,19 @@ declare const BigWigSource_base: {
11
11
  */
12
12
  export default class BigWigSource extends BigWigSource_base {
13
13
  /**
14
- * @param {import("../../../spec/data").BigWigData} params
15
- * @param {import("../../../view/view").default} view
14
+ * @param {import("../../../spec/data.js").BigWigData} params
15
+ * @param {import("../../../view/view.js").default} view
16
16
  */
17
- constructor(params: import("../../../spec/data").BigWigData, view: import("../../../view/view").default);
17
+ constructor(params: import("../../../spec/data.js").BigWigData, view: import("../../../view/view.js").default);
18
18
  /** @type {number[]} */
19
19
  reductionLevels: number[];
20
20
  /** Keep track of the order of the requests */
21
21
  lastRequestId: number;
22
- params: import("../../../spec/data").BigWigData;
23
- bbi: BigWig;
22
+ /** @type {import("@gmod/bbi").BigWig} */
23
+ bbi: import("@gmod/bbi").BigWig;
24
+ params: import("../../../spec/data.js").BigWigData;
24
25
  doDebouncedRequest: (...args: any[]) => Promise<any>;
25
- headerPromise: Promise<import("@gmod/bbi").Header>;
26
+ initializedPromise: Promise<any>;
26
27
  /**
27
28
  * Listen to the domain change event and update data when the covered windows change.
28
29
  *
@@ -53,6 +54,5 @@ export default class BigWigSource extends BigWigSource_base {
53
54
  }>;
54
55
  }
55
56
  import SingleAxisLazySource from "./singleAxisLazySource.js";
56
- import { BigWig } from "@gmod/bbi";
57
57
  export {};
58
58
  //# sourceMappingURL=bigWigSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bigWigSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bigWigSource.js"],"names":[],"mappings":";;;;;;;;AAQA;;GAEG;AACH;IAOI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,UAAU,QACvC,OAAO,oBAAoB,EAAE,OAAO,EA2C9C;IAnDD,uBAAuB;IACvB,iBADW,MAAM,EAAE,CACE;IAErB,8CAA8C;IAC9C,sBAAkB;IAgBd,gDAAgC;IAMhC,YAIE;IAEF,qDAIC;IAED,mDAAyC;IAe7C;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBAwBlB;IAED;;;;;OAKG;IACH,oBAHW,MAAM,EAAE,kBACR,MAAM,iBAchB;IAED;;;;OAIG;IACH,sBAHW,MAAM,EAAE,SACR,MAAM;;;;;;;;;OAmChB;CACJ;iCArJgC,2BAA2B;uBAJrC,WAAW"}
1
+ {"version":3,"file":"bigWigSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bigWigSource.js"],"names":[],"mappings":";;;;;;;;AAKA;;GAEG;AACH;IAUI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,EAmDjD;IA9DD,uBAAuB;IACvB,iBADW,MAAM,EAAE,CACE;IAErB,8CAA8C;IAC9C,sBAAkB;IAElB,yCAAyC;IACzC,KADW,OAAO,WAAW,EAAE,MAAM,CACjC;IAgBA,mDAAgC;IAMhC,qDAIC;IAED,iCA0BE;IAGN;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBAuBlB;IAED;;;;;OAKG;IACH,oBAHW,MAAM,EAAE,kBACR,MAAM,iBAchB;IAED;;;;OAIG;IACH,sBAHW,MAAM,EAAE,SACR,MAAM;;;;;;;;;OAmChB;CACJ;iCA/JgC,2BAA2B"}
@@ -1,6 +1,3 @@
1
- import { BigWig } from "@gmod/bbi";
2
- import { RemoteFile } from "generic-filehandle";
3
-
4
1
  import { debounce } from "../../../utils/debounce.js";
5
2
  import SingleAxisLazySource from "./singleAxisLazySource.js";
6
3
  import windowedMixin from "./windowedMixin.js";
@@ -16,12 +13,15 @@ export default class BigWigSource extends windowedMixin(SingleAxisLazySource) {
16
13
  /** Keep track of the order of the requests */
17
14
  lastRequestId = 0;
18
15
 
16
+ /** @type {import("@gmod/bbi").BigWig} */
17
+ bbi;
18
+
19
19
  /**
20
- * @param {import("../../../spec/data").BigWigData} params
21
- * @param {import("../../../view/view").default} view
20
+ * @param {import("../../../spec/data.js").BigWigData} params
21
+ * @param {import("../../../view/view.js").default} view
22
22
  */
23
23
  constructor(params, view) {
24
- /** @type {import("../../../spec/data").BigWigData} */
24
+ /** @type {import("../../../spec/data.js").BigWigData} */
25
25
  const paramsWithDefaults = {
26
26
  pixelsPerBin: 2,
27
27
  channel: "x",
@@ -36,30 +36,38 @@ export default class BigWigSource extends windowedMixin(SingleAxisLazySource) {
36
36
  throw new Error("No URL provided for BigWigSource");
37
37
  }
38
38
 
39
- this.bbi = new BigWig({
40
- filehandle: new RemoteFile(
41
- addBaseUrl(this.params.url, this.view.getBaseUrl())
42
- ),
43
- });
44
-
45
39
  this.doDebouncedRequest = debounce(
46
40
  this.doRequest.bind(this),
47
41
  200,
48
42
  false
49
43
  );
50
44
 
51
- this.headerPromise = this.bbi.getHeader();
52
-
53
- this.headerPromise.then((header) => {
54
- this.reductionLevels = /** @type {{reductionLevel: number}[]} */ (
55
- header.zoomLevels
56
- )
57
- .map((z) => z.reductionLevel)
58
- .reverse();
59
-
60
- // Add the non-reduced level. Not sure if this is the best way to do it.
61
- // Afaik, the non-reduced bin size is not available in the header.
62
- this.reductionLevels.push(1);
45
+ this.initializedPromise = new Promise((resolve) => {
46
+ Promise.all([
47
+ import("@gmod/bbi"),
48
+ import("generic-filehandle"),
49
+ ]).then(([{ BigWig }, { RemoteFile }]) => {
50
+ this.bbi = new BigWig({
51
+ filehandle: new RemoteFile(
52
+ addBaseUrl(this.params.url, this.view.getBaseUrl())
53
+ ),
54
+ });
55
+
56
+ this.bbi.getHeader().then((header) => {
57
+ this.reductionLevels =
58
+ /** @type {{reductionLevel: number}[]} */ (
59
+ header.zoomLevels
60
+ )
61
+ .map((z) => z.reductionLevel)
62
+ .reverse();
63
+
64
+ // Add the non-reduced level. Not sure if this is the best way to do it.
65
+ // Afaik, the non-reduced bin size is not available in the header.
66
+ this.reductionLevels.push(1);
67
+
68
+ resolve();
69
+ });
70
+ });
63
71
  });
64
72
  }
65
73
 
@@ -69,8 +77,7 @@ export default class BigWigSource extends windowedMixin(SingleAxisLazySource) {
69
77
  * @param {number[]} domain Linearized domain
70
78
  */
71
79
  async onDomainChanged(domain) {
72
- // Header must be available to determine the reduction level
73
- await this.headerPromise;
80
+ await this.initializedPromise;
74
81
 
75
82
  // TODO: Postpone the initial load until layout is computed and remove 700.
76
83
  const length = this.getAxisLength() || 700;