@genome-spy/core 0.69.1 → 0.71.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 (285) hide show
  1. package/dist/bundle/{AbortablePromiseCache-CcuMrnn7.js → AbortablePromiseCache-Dj0vzLnp.js} +4 -4
  2. package/dist/bundle/{browser-BRemItdO.js → browser-0iNU5Wit.js} +33 -33
  3. package/dist/bundle/index-BYsZN7b0.js +1597 -0
  4. package/dist/bundle/{index-Cq3QFUxX.js → index-C3kClAEN.js} +583 -593
  5. package/dist/bundle/{index-D-w7Mmt9.js → index-C7wOh6y1.js} +138 -140
  6. package/dist/bundle/index-CRaQAuki.js +326 -0
  7. package/dist/bundle/{index-D74H8TTz.js → index-D9v1PCj9.js} +1 -2
  8. package/dist/bundle/{index-BatuyGAI.js → index-GDOuv_D5.js} +75 -80
  9. package/dist/bundle/{index-DbJ0oeYM.js → index-Gt44EOIH.js} +160 -163
  10. package/dist/bundle/index.es.js +9095 -9129
  11. package/dist/bundle/index.js +121 -163
  12. package/dist/bundle/{unzip-NywezaRR.js → unzip-Bac01w6X.js} +1 -1
  13. package/dist/schema.json +0 -48
  14. package/dist/src/genomeSpy/containerUi.d.ts.map +1 -1
  15. package/dist/src/genomeSpy/containerUi.js +0 -1
  16. package/dist/src/genomeSpy/viewHighlight.js +2 -2
  17. package/dist/src/genomeSpy.d.ts +3 -3
  18. package/dist/src/genomeSpy.d.ts.map +1 -1
  19. package/dist/src/genomeSpy.js +27 -3
  20. package/dist/src/gl/colorUtils.d.ts +2 -1
  21. package/dist/src/gl/colorUtils.d.ts.map +1 -1
  22. package/dist/src/gl/colorUtils.js +15 -3
  23. package/dist/src/gl/webGLHelper.d.ts.map +1 -1
  24. package/dist/src/gl/webGLHelper.js +2 -1
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/index.js +2 -5
  27. package/dist/src/marks/mark.d.ts +1 -3
  28. package/dist/src/marks/mark.d.ts.map +1 -1
  29. package/dist/src/marks/mark.js +0 -8
  30. package/dist/src/marks/rect.d.ts.map +1 -1
  31. package/dist/src/marks/rect.js +0 -8
  32. package/dist/src/spec/view.d.ts +0 -10
  33. package/dist/src/utils/deepEqual.d.ts +14 -0
  34. package/dist/src/utils/deepEqual.d.ts.map +1 -0
  35. package/dist/src/utils/deepEqual.js +63 -0
  36. package/dist/src/utils/fetchUtils.d.ts +27 -0
  37. package/dist/src/utils/fetchUtils.d.ts.map +1 -0
  38. package/dist/src/utils/fetchUtils.js +47 -0
  39. package/dist/src/utils/keyboardZoomMotion.d.ts +93 -0
  40. package/dist/src/utils/keyboardZoomMotion.d.ts.map +1 -0
  41. package/dist/src/utils/keyboardZoomMotion.js +285 -0
  42. package/dist/src/utils/url.d.ts +12 -0
  43. package/dist/src/utils/url.d.ts.map +1 -1
  44. package/dist/src/utils/url.js +45 -0
  45. package/dist/src/view/axisGridView.d.ts +1 -1
  46. package/dist/src/view/axisGridView.js +0 -1
  47. package/dist/src/view/axisView.d.ts +1 -1
  48. package/dist/src/view/concatView.d.ts +6 -3
  49. package/dist/src/view/concatView.d.ts.map +1 -1
  50. package/dist/src/view/concatView.js +9 -2
  51. package/dist/src/view/containerMutationHelper.d.ts +6 -6
  52. package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
  53. package/dist/src/view/containerView.d.ts +7 -5
  54. package/dist/src/view/containerView.d.ts.map +1 -1
  55. package/dist/src/view/containerView.js +4 -1
  56. package/dist/src/view/facetView.d.ts +1 -1
  57. package/dist/src/view/flowBuilder.d.ts +1 -1
  58. package/dist/src/view/flowBuilder.d.ts.map +1 -1
  59. package/dist/src/view/gridView/gridChild.d.ts +3 -3
  60. package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
  61. package/dist/src/view/gridView/gridChild.js +0 -2
  62. package/dist/src/view/gridView/gridView.d.ts +13 -11
  63. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  64. package/dist/src/view/gridView/gridView.js +17 -26
  65. package/dist/src/view/gridView/keyboardZoomController.d.ts +21 -0
  66. package/dist/src/view/gridView/keyboardZoomController.d.ts.map +1 -0
  67. package/dist/src/view/gridView/keyboardZoomController.js +202 -0
  68. package/dist/src/view/gridView/scrollbar.d.ts +1 -1
  69. package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
  70. package/dist/src/view/gridView/scrollbar.js +0 -1
  71. package/dist/src/view/gridView/selectionRect.d.ts +1 -1
  72. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  73. package/dist/src/view/gridView/selectionRect.js +0 -1
  74. package/dist/src/view/gridView/separatorView.js +0 -1
  75. package/dist/src/view/gridView/zoomNavigationUtils.d.ts +19 -0
  76. package/dist/src/view/gridView/zoomNavigationUtils.d.ts.map +1 -0
  77. package/dist/src/view/gridView/zoomNavigationUtils.js +51 -0
  78. package/dist/src/view/layerView.d.ts +8 -5
  79. package/dist/src/view/layerView.d.ts.map +1 -1
  80. package/dist/src/view/layerView.js +6 -2
  81. package/dist/src/view/title.d.ts.map +1 -1
  82. package/dist/src/view/title.js +0 -1
  83. package/dist/src/view/unitView.d.ts +7 -4
  84. package/dist/src/view/unitView.d.ts.map +1 -1
  85. package/dist/src/view/unitView.js +5 -1
  86. package/dist/src/view/view.d.ts +13 -9
  87. package/dist/src/view/view.d.ts.map +1 -1
  88. package/dist/src/view/view.js +7 -1
  89. package/dist/src/view/viewError.d.ts +1 -1
  90. package/dist/src/view/viewError.d.ts.map +1 -1
  91. package/dist/src/view/viewFactory.d.ts +3 -44
  92. package/dist/src/view/viewFactory.d.ts.map +1 -1
  93. package/dist/src/view/viewFactory.js +28 -69
  94. package/dist/src/view/viewSelectors.d.ts.map +1 -1
  95. package/dist/src/view/viewSelectors.js +123 -160
  96. package/dist/src/view/viewSpecGuards.d.ts +43 -0
  97. package/dist/src/view/viewSpecGuards.d.ts.map +1 -0
  98. package/dist/src/view/viewSpecGuards.js +69 -0
  99. package/dist/src/view/viewUtils.d.ts +1 -1
  100. package/dist/src/view/viewUtils.d.ts.map +1 -1
  101. package/dist/src/view/viewUtils.js +4 -5
  102. package/dist/src/view/zoom.d.ts +1 -0
  103. package/dist/src/view/zoom.d.ts.map +1 -1
  104. package/dist/src/view/zoom.js +5 -1
  105. package/package.json +3 -3
  106. package/dist/bundle/index-ByuE8dvu.js +0 -332
  107. package/dist/bundle/index-D28m8tSW.js +0 -1607
  108. package/dist/src/data/collector.test.d.ts +0 -2
  109. package/dist/src/data/collector.test.d.ts.map +0 -1
  110. package/dist/src/data/dataFlow.test.d.ts +0 -2
  111. package/dist/src/data/dataFlow.test.d.ts.map +0 -1
  112. package/dist/src/data/flow.test.d.ts +0 -2
  113. package/dist/src/data/flow.test.d.ts.map +0 -1
  114. package/dist/src/data/flowInit.test.d.ts +0 -2
  115. package/dist/src/data/flowInit.test.d.ts.map +0 -1
  116. package/dist/src/data/flowNode.test.d.ts +0 -2
  117. package/dist/src/data/flowNode.test.d.ts.map +0 -1
  118. package/dist/src/data/flowOptimizer.test.d.ts +0 -2
  119. package/dist/src/data/flowOptimizer.test.d.ts.map +0 -1
  120. package/dist/src/data/formats/fasta.test.d.ts +0 -2
  121. package/dist/src/data/formats/fasta.test.d.ts.map +0 -1
  122. package/dist/src/data/keyIndex.test.d.ts +0 -2
  123. package/dist/src/data/keyIndex.test.d.ts.map +0 -1
  124. package/dist/src/data/sources/inlineSource.test.d.ts +0 -2
  125. package/dist/src/data/sources/inlineSource.test.d.ts.map +0 -1
  126. package/dist/src/data/sources/sequenceSource.test.d.ts +0 -2
  127. package/dist/src/data/sources/sequenceSource.test.d.ts.map +0 -1
  128. package/dist/src/data/transforms/aggregate.test.d.ts +0 -2
  129. package/dist/src/data/transforms/aggregate.test.d.ts.map +0 -1
  130. package/dist/src/data/transforms/clone.test.d.ts +0 -2
  131. package/dist/src/data/transforms/clone.test.d.ts.map +0 -1
  132. package/dist/src/data/transforms/coverage.test.d.ts +0 -2
  133. package/dist/src/data/transforms/coverage.test.d.ts.map +0 -1
  134. package/dist/src/data/transforms/filter.test.d.ts +0 -2
  135. package/dist/src/data/transforms/filter.test.d.ts.map +0 -1
  136. package/dist/src/data/transforms/filterScoredLabels.test.d.ts +0 -2
  137. package/dist/src/data/transforms/filterScoredLabels.test.d.ts.map +0 -1
  138. package/dist/src/data/transforms/flatten.test.d.ts +0 -2
  139. package/dist/src/data/transforms/flatten.test.d.ts.map +0 -1
  140. package/dist/src/data/transforms/flattenDelimited.test.d.ts +0 -2
  141. package/dist/src/data/transforms/flattenDelimited.test.d.ts.map +0 -1
  142. package/dist/src/data/transforms/flattenSequence.test.d.ts +0 -2
  143. package/dist/src/data/transforms/flattenSequence.test.d.ts.map +0 -1
  144. package/dist/src/data/transforms/formula.test.d.ts +0 -2
  145. package/dist/src/data/transforms/formula.test.d.ts.map +0 -1
  146. package/dist/src/data/transforms/identifier.test.d.ts +0 -2
  147. package/dist/src/data/transforms/identifier.test.d.ts.map +0 -1
  148. package/dist/src/data/transforms/pileup.test.d.ts +0 -2
  149. package/dist/src/data/transforms/pileup.test.d.ts.map +0 -1
  150. package/dist/src/data/transforms/project.test.d.ts +0 -2
  151. package/dist/src/data/transforms/project.test.d.ts.map +0 -1
  152. package/dist/src/data/transforms/regexExtract.test.d.ts +0 -2
  153. package/dist/src/data/transforms/regexExtract.test.d.ts.map +0 -1
  154. package/dist/src/data/transforms/regexFold.test.d.ts +0 -2
  155. package/dist/src/data/transforms/regexFold.test.d.ts.map +0 -1
  156. package/dist/src/data/transforms/sample.test.d.ts +0 -2
  157. package/dist/src/data/transforms/sample.test.d.ts.map +0 -1
  158. package/dist/src/data/transforms/stack.test.d.ts +0 -2
  159. package/dist/src/data/transforms/stack.test.d.ts.map +0 -1
  160. package/dist/src/encoder/accessor.test.d.ts +0 -2
  161. package/dist/src/encoder/accessor.test.d.ts.map +0 -1
  162. package/dist/src/encoder/encoder.test.d.ts +0 -2
  163. package/dist/src/encoder/encoder.test.d.ts.map +0 -1
  164. package/dist/src/encoder/metadataChannels.test.d.ts +0 -2
  165. package/dist/src/encoder/metadataChannels.test.d.ts.map +0 -1
  166. package/dist/src/genome/genome.test.d.ts +0 -2
  167. package/dist/src/genome/genome.test.d.ts.map +0 -1
  168. package/dist/src/genome/genomes.test.d.ts +0 -2
  169. package/dist/src/genome/genomes.test.d.ts.map +0 -1
  170. package/dist/src/genome/scaleIndex.test.d.ts +0 -2
  171. package/dist/src/genome/scaleIndex.test.d.ts.map +0 -1
  172. package/dist/src/genome/scaleLocus.test.d.ts +0 -2
  173. package/dist/src/genome/scaleLocus.test.d.ts.map +0 -1
  174. package/dist/src/genomeSpy/viewDataInit.test.d.ts +0 -2
  175. package/dist/src/genomeSpy/viewDataInit.test.d.ts.map +0 -1
  176. package/dist/src/paramRuntime/expressionRef.test.d.ts +0 -2
  177. package/dist/src/paramRuntime/expressionRef.test.d.ts.map +0 -1
  178. package/dist/src/paramRuntime/graphRuntime.test.d.ts +0 -2
  179. package/dist/src/paramRuntime/graphRuntime.test.d.ts.map +0 -1
  180. package/dist/src/paramRuntime/paramRuntime.test.d.ts +0 -2
  181. package/dist/src/paramRuntime/paramRuntime.test.d.ts.map +0 -1
  182. package/dist/src/paramRuntime/paramStore.test.d.ts +0 -2
  183. package/dist/src/paramRuntime/paramStore.test.d.ts.map +0 -1
  184. package/dist/src/scale/scale.test.d.ts +0 -2
  185. package/dist/src/scale/scale.test.d.ts.map +0 -1
  186. package/dist/src/scale/ticks.test.d.ts +0 -2
  187. package/dist/src/scale/ticks.test.d.ts.map +0 -1
  188. package/dist/src/scales/axisResolution.test.d.ts +0 -2
  189. package/dist/src/scales/axisResolution.test.d.ts.map +0 -1
  190. package/dist/src/scales/domainPlanner.test.d.ts +0 -2
  191. package/dist/src/scales/domainPlanner.test.d.ts.map +0 -1
  192. package/dist/src/scales/scaleInstanceManager.test.d.ts +0 -2
  193. package/dist/src/scales/scaleInstanceManager.test.d.ts.map +0 -1
  194. package/dist/src/scales/scaleInteractionController.test.d.ts +0 -2
  195. package/dist/src/scales/scaleInteractionController.test.d.ts.map +0 -1
  196. package/dist/src/scales/scaleResolution.test.d.ts +0 -2
  197. package/dist/src/scales/scaleResolution.test.d.ts.map +0 -1
  198. package/dist/src/scales/scaleRules.test.d.ts +0 -2
  199. package/dist/src/scales/scaleRules.test.d.ts.map +0 -1
  200. package/dist/src/selection/selection.test.d.ts +0 -2
  201. package/dist/src/selection/selection.test.d.ts.map +0 -1
  202. package/dist/src/tooltip/dataTooltipHandler.test.d.ts +0 -2
  203. package/dist/src/tooltip/dataTooltipHandler.test.d.ts.map +0 -1
  204. package/dist/src/tooltip/flattenDatumRows.test.d.ts +0 -2
  205. package/dist/src/tooltip/flattenDatumRows.test.d.ts.map +0 -1
  206. package/dist/src/tooltip/tooltipContext.test.d.ts +0 -2
  207. package/dist/src/tooltip/tooltipContext.test.d.ts.map +0 -1
  208. package/dist/src/utils/addBaseUrl.test.d.ts +0 -2
  209. package/dist/src/utils/addBaseUrl.test.d.ts.map +0 -1
  210. package/dist/src/utils/binnedIndex.test.d.ts +0 -2
  211. package/dist/src/utils/binnedIndex.test.d.ts.map +0 -1
  212. package/dist/src/utils/cloner.test.d.ts +0 -2
  213. package/dist/src/utils/cloner.test.d.ts.map +0 -1
  214. package/dist/src/utils/coalesce.test.d.ts +0 -2
  215. package/dist/src/utils/coalesce.test.d.ts.map +0 -1
  216. package/dist/src/utils/concatIterables.test.d.ts +0 -2
  217. package/dist/src/utils/concatIterables.test.d.ts.map +0 -1
  218. package/dist/src/utils/domainArray.test.d.ts +0 -2
  219. package/dist/src/utils/domainArray.test.d.ts.map +0 -1
  220. package/dist/src/utils/indexer.test.d.ts +0 -2
  221. package/dist/src/utils/indexer.test.d.ts.map +0 -1
  222. package/dist/src/utils/interactionEvent.test.d.ts +0 -2
  223. package/dist/src/utils/interactionEvent.test.d.ts.map +0 -1
  224. package/dist/src/utils/iterateNestedMaps.test.d.ts +0 -2
  225. package/dist/src/utils/iterateNestedMaps.test.d.ts.map +0 -1
  226. package/dist/src/utils/kWayMerge.test.d.ts +0 -2
  227. package/dist/src/utils/kWayMerge.test.d.ts.map +0 -1
  228. package/dist/src/utils/mergeObjects.test.d.ts +0 -2
  229. package/dist/src/utils/mergeObjects.test.d.ts.map +0 -1
  230. package/dist/src/utils/numberExtractor.test.d.ts +0 -2
  231. package/dist/src/utils/numberExtractor.test.d.ts.map +0 -1
  232. package/dist/src/utils/propertyCacher.test.d.ts +0 -2
  233. package/dist/src/utils/propertyCacher.test.d.ts.map +0 -1
  234. package/dist/src/utils/propertyCoalescer.test.d.ts +0 -2
  235. package/dist/src/utils/propertyCoalescer.test.d.ts.map +0 -1
  236. package/dist/src/utils/radixSort.test.d.ts +0 -2
  237. package/dist/src/utils/radixSort.test.d.ts.map +0 -1
  238. package/dist/src/utils/reservationMap.test.d.ts +0 -2
  239. package/dist/src/utils/reservationMap.test.d.ts.map +0 -1
  240. package/dist/src/utils/ringBuffer.test.d.ts +0 -2
  241. package/dist/src/utils/ringBuffer.test.d.ts.map +0 -1
  242. package/dist/src/utils/throttle.test.d.ts +0 -2
  243. package/dist/src/utils/throttle.test.d.ts.map +0 -1
  244. package/dist/src/utils/topK.test.d.ts +0 -2
  245. package/dist/src/utils/topK.test.d.ts.map +0 -1
  246. package/dist/src/utils/trees.test.d.ts +0 -2
  247. package/dist/src/utils/trees.test.d.ts.map +0 -1
  248. package/dist/src/utils/ui/tooltip.test.d.ts +0 -2
  249. package/dist/src/utils/ui/tooltip.test.d.ts.map +0 -1
  250. package/dist/src/utils/url.test.d.ts +0 -2
  251. package/dist/src/utils/url.test.d.ts.map +0 -1
  252. package/dist/src/utils/variableTools.test.d.ts +0 -2
  253. package/dist/src/utils/variableTools.test.d.ts.map +0 -1
  254. package/dist/src/view/concatView.test.d.ts +0 -2
  255. package/dist/src/view/concatView.test.d.ts.map +0 -1
  256. package/dist/src/view/dataReadiness.test.d.ts +0 -2
  257. package/dist/src/view/dataReadiness.test.d.ts.map +0 -1
  258. package/dist/src/view/flowBuilder.test.d.ts +0 -2
  259. package/dist/src/view/flowBuilder.test.d.ts.map +0 -1
  260. package/dist/src/view/gridView/gridView.test.d.ts +0 -2
  261. package/dist/src/view/gridView/gridView.test.d.ts.map +0 -1
  262. package/dist/src/view/gridView/selectionRect.test.d.ts +0 -2
  263. package/dist/src/view/gridView/selectionRect.test.d.ts.map +0 -1
  264. package/dist/src/view/layerView.test.d.ts +0 -2
  265. package/dist/src/view/layerView.test.d.ts.map +0 -1
  266. package/dist/src/view/layout/flexLayout.test.d.ts +0 -2
  267. package/dist/src/view/layout/flexLayout.test.d.ts.map +0 -1
  268. package/dist/src/view/layout/grid.test.d.ts +0 -2
  269. package/dist/src/view/layout/grid.test.d.ts.map +0 -1
  270. package/dist/src/view/layout/rectangle.test.d.ts +0 -2
  271. package/dist/src/view/layout/rectangle.test.d.ts.map +0 -1
  272. package/dist/src/view/multiscale.test.d.ts +0 -2
  273. package/dist/src/view/multiscale.test.d.ts.map +0 -1
  274. package/dist/src/view/view.test.d.ts +0 -2
  275. package/dist/src/view/view.test.d.ts.map +0 -1
  276. package/dist/src/view/viewDispose.test.d.ts +0 -2
  277. package/dist/src/view/viewDispose.test.d.ts.map +0 -1
  278. package/dist/src/view/viewFactory.test.d.ts +0 -2
  279. package/dist/src/view/viewFactory.test.d.ts.map +0 -1
  280. package/dist/src/view/viewParamRuntime.test.d.ts +0 -2
  281. package/dist/src/view/viewParamRuntime.test.d.ts.map +0 -1
  282. package/dist/src/view/viewSelectors.test.d.ts +0 -2
  283. package/dist/src/view/viewSelectors.test.d.ts.map +0 -1
  284. package/dist/src/view/viewUtils.test.d.ts +0 -2
  285. package/dist/src/view/viewUtils.test.d.ts.map +0 -1
@@ -1,332 +0,0 @@
1
- var v = Object.defineProperty;
2
- var F = (n, e, t) => e in n ? v(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
- var f = (n, e, t) => F(n, typeof e != "symbol" ? e + "" : e, t);
4
- const y = /%([0-9A-Fa-f]{2})/g, R = /^\s*##\s*(\S+)\s*(.*)/, g = /\r?\n$/, b = /\s+/, C = /\D/g;
5
- function p(n) {
6
- return n.includes("%") ? n.replaceAll(y, (e, t) => String.fromCharCode(parseInt(t, 16))) : n;
7
- }
8
- function k(n) {
9
- if (!n.length || n === ".")
10
- return {};
11
- const e = {};
12
- let t = n;
13
- t.endsWith(`
14
- `) && (t = t.slice(0, t.endsWith(`\r
15
- `) ? -2 : -1));
16
- for (const r of t.split(";")) {
17
- const s = r.indexOf("=");
18
- if (s === -1)
19
- continue;
20
- const c = r.slice(s + 1);
21
- if (!c.length)
22
- continue;
23
- const i = r.slice(0, s).trim();
24
- let o = e[i];
25
- o || (o = [], e[i] = o);
26
- for (const l of c.split(","))
27
- o.push(p(l.trim()));
28
- }
29
- return e;
30
- }
31
- function I(n) {
32
- if (!n.length || n === ".")
33
- return {};
34
- const e = {};
35
- let t = n;
36
- t.endsWith(`
37
- `) && (t = t.slice(0, t.endsWith(`\r
38
- `) ? -2 : -1));
39
- for (const r of t.split(";")) {
40
- const s = r.indexOf("=");
41
- if (s === -1)
42
- continue;
43
- const c = r.slice(s + 1);
44
- if (!c.length)
45
- continue;
46
- const i = r.slice(0, s).trim();
47
- let o = e[i];
48
- o || (o = [], e[i] = o);
49
- for (const l of c.split(","))
50
- o.push(l.trim());
51
- }
52
- return e;
53
- }
54
- function L(n) {
55
- return _(n.split(" "));
56
- }
57
- function a(n) {
58
- return n === "." || n === "" || n === void 0 ? null : n;
59
- }
60
- function _(n) {
61
- const e = a(n[0]), t = a(n[1]), r = a(n[2]), s = a(n[3]), c = a(n[4]), i = a(n[5]), o = a(n[6]), l = a(n[7]), u = a(n[8]);
62
- return {
63
- seq_id: e ? p(e) : null,
64
- source: t ? p(t) : null,
65
- type: r ? p(r) : null,
66
- start: s === null ? null : parseInt(s, 10),
67
- end: c === null ? null : parseInt(c, 10),
68
- score: i === null ? null : parseFloat(i),
69
- strand: o,
70
- phase: l,
71
- attributes: u === null ? null : k(u)
72
- };
73
- }
74
- function D(n) {
75
- const e = a(n[0]), t = a(n[1]), r = a(n[2]), s = a(n[3]), c = a(n[4]), i = a(n[5]), o = a(n[6]), l = a(n[7]), u = a(n[8]);
76
- return {
77
- seq_id: e,
78
- source: t,
79
- type: r,
80
- start: s === null ? null : parseInt(s, 10),
81
- end: c === null ? null : parseInt(c, 10),
82
- score: i === null ? null : parseFloat(i),
83
- strand: o,
84
- phase: l,
85
- attributes: u === null ? null : I(u)
86
- };
87
- }
88
- function A(n) {
89
- var c, i;
90
- const e = R.exec(n);
91
- if (!e)
92
- return null;
93
- const [, t] = e;
94
- let [, , r] = e;
95
- const s = { directive: t };
96
- if (r.length && (r = r.replace(g, ""), s.value = r), t === "sequence-region") {
97
- const o = r.split(b, 3);
98
- return {
99
- ...s,
100
- seq_id: o[0],
101
- start: (c = o[1]) == null ? void 0 : c.replaceAll(C, ""),
102
- end: (i = o[2]) == null ? void 0 : i.replaceAll(C, "")
103
- };
104
- } else if (t === "genome-build") {
105
- const [o, l] = r.split(b, 2);
106
- return {
107
- ...s,
108
- source: o,
109
- buildName: l
110
- };
111
- }
112
- return s;
113
- }
114
- const x = /^\s*[^#\s>]/, w = /^\s*(#+)(.*)/, S = /^\s*$/, E = /^\s*>/, P = /\r?\n?$/g;
115
- class m {
116
- constructor(e) {
117
- f(this, "featureCallback");
118
- f(this, "endCallback");
119
- f(this, "commentCallback");
120
- f(this, "errorCallback");
121
- f(this, "disableDerivesFromReferences");
122
- f(this, "directiveCallback");
123
- f(this, "bufferSize");
124
- f(this, "eof", !1);
125
- f(this, "lineNumber", 0);
126
- // features that we have to keep on hand for now because they
127
- // might be referenced by something else
128
- f(this, "_underConstructionTopLevel", []);
129
- // index of the above by ID
130
- f(this, "_underConstructionById", {});
131
- f(this, "_completedReferences", {});
132
- // features that reference something we have not seen yet
133
- // structured as:
134
- // { 'some_id' : {
135
- // 'Parent' : [ orphans that have a Parent attr referencing it ],
136
- // 'Derives_from' : [ orphans that have a Derives_from attr referencing it ],
137
- // }
138
- // }
139
- f(this, "_underConstructionOrphans", {});
140
- const t = () => {
141
- };
142
- this.featureCallback = e.featureCallback || t, this.endCallback = e.endCallback || t, this.commentCallback = e.commentCallback || t, this.errorCallback = e.errorCallback || t, this.directiveCallback = e.directiveCallback || t, this.disableDerivesFromReferences = e.disableDerivesFromReferences || !1, this.bufferSize = e.bufferSize === void 0 ? 1 / 0 : e.bufferSize;
143
- }
144
- addLine(e) {
145
- if (this.eof)
146
- return;
147
- if (this.lineNumber += 1, x.test(e)) {
148
- this._bufferLine(e);
149
- return;
150
- }
151
- const t = w.exec(e);
152
- if (t) {
153
- const [, r] = t;
154
- let [, , s] = t;
155
- if (r.length === 3)
156
- this._emitAllUnderConstructionFeatures();
157
- else if (r.length === 2) {
158
- const c = A(e);
159
- c && (c.directive === "FASTA" ? (this._emitAllUnderConstructionFeatures(), this.eof = !0) : this._emitItem(c));
160
- } else
161
- this._emitItem({ comment: s.trimStart() });
162
- } else if (!S.test(e)) if (E.test(e))
163
- this._emitAllUnderConstructionFeatures(), this.eof = !0;
164
- else {
165
- const r = e.replaceAll(P, "");
166
- throw new Error(`GFF3 parse error. Cannot parse '${r}'.`);
167
- }
168
- }
169
- addParsedFeatureLine(e) {
170
- this.eof || (this.lineNumber += 1, this._bufferParsedLine(e));
171
- }
172
- finish() {
173
- this._emitAllUnderConstructionFeatures(), this.endCallback();
174
- }
175
- _emitItem(e) {
176
- Array.isArray(e) ? this.featureCallback(e) : "directive" in e ? this.directiveCallback(e) : "comment" in e && this.commentCallback(e);
177
- }
178
- _enforceBufferSizeLimit(e = 0) {
179
- const t = (r) => {
180
- var s, c;
181
- r && Array.isArray(r) && ((c = (s = r[0].attributes) == null ? void 0 : s.ID) != null && c[0]) && (r[0].attributes.ID.forEach((o) => {
182
- delete this._underConstructionById[o], delete this._completedReferences[o];
183
- }), r.forEach((o) => {
184
- o.child_features && o.child_features.forEach((l) => {
185
- t(l);
186
- }), o.derived_features && o.derived_features.forEach((l) => {
187
- t(l);
188
- });
189
- }));
190
- };
191
- for (; this._underConstructionTopLevel.length + e > this.bufferSize; ) {
192
- const r = this._underConstructionTopLevel.shift();
193
- r && (this._emitItem(r), t(r));
194
- }
195
- }
196
- /**
197
- * return all under-construction features, called when we know
198
- * there will be no additional data to attach to them
199
- */
200
- _emitAllUnderConstructionFeatures() {
201
- this._underConstructionTopLevel.forEach(this._emitItem.bind(this)), this._underConstructionTopLevel = [], this._underConstructionById = {}, this._completedReferences = {};
202
- const e = Object.keys(this._underConstructionOrphans);
203
- if (e.length)
204
- throw new Error(`some features reference other features that do not exist in the file (or in the same '###' scope). ${e.join(",")}`);
205
- }
206
- _bufferLine(e) {
207
- this._bufferParsedLine(L(e));
208
- }
209
- _bufferParsedLine(e) {
210
- var o, l, u;
211
- const t = e;
212
- t.child_features = [], t.derived_features = [];
213
- const r = ((o = t.attributes) == null ? void 0 : o.ID) || [], s = ((l = t.attributes) == null ? void 0 : l.Parent) || [], c = this.disableDerivesFromReferences ? [] : ((u = t.attributes) == null ? void 0 : u.Derives_from) || [];
214
- if (!r.length && !s.length && !c.length) {
215
- this._emitItem([t]);
216
- return;
217
- }
218
- let i;
219
- r.forEach((d) => {
220
- const h = this._underConstructionById[d];
221
- h ? (h[h.length - 1].type !== t.type && this._parseError(`multi-line feature "${d}" has inconsistent types: "${t.type}", "${h[h.length - 1].type}"`), h.push(t), i = h) : (i = [t], this._enforceBufferSizeLimit(1), !s.length && !c.length && this._underConstructionTopLevel.push(i), this._underConstructionById[d] = i, this._resolveReferencesTo(i, d));
222
- }), this._resolveReferencesFrom(
223
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
224
- i || [t],
225
- { Parent: s, Derives_from: c },
226
- r
227
- );
228
- }
229
- _resolveReferencesTo(e, t) {
230
- const r = this._underConstructionOrphans[t];
231
- if (r) {
232
- for (const s of e)
233
- s.child_features.push(...r.Parent), s.derived_features.push(...r.Derives_from);
234
- delete this._underConstructionOrphans[t];
235
- }
236
- }
237
- _parseError(e) {
238
- this.eof = !0, this.errorCallback(`${this.lineNumber}: ${e}`);
239
- }
240
- _resolveReferencesFrom(e, t, r) {
241
- for (const s of t.Parent) {
242
- const c = this._underConstructionById[s];
243
- if (c) {
244
- let i = !1;
245
- for (const o of r) {
246
- const l = `Parent,${s}`, u = this._completedReferences[o] || (this._completedReferences[o] = {});
247
- u[l] && (i = !0), u[l] = !0;
248
- }
249
- if (!i)
250
- for (const o of c)
251
- o.child_features.push(e);
252
- } else {
253
- let i = this._underConstructionOrphans[s];
254
- i || (i = { Parent: [], Derives_from: [] }, this._underConstructionOrphans[s] = i), i.Parent.push(e);
255
- }
256
- }
257
- for (const s of t.Derives_from) {
258
- const c = this._underConstructionById[s];
259
- if (c) {
260
- let i = !1;
261
- for (const o of r) {
262
- const l = `Derives_from,${s}`, u = this._completedReferences[o] || (this._completedReferences[o] = {});
263
- u[l] && (i = !0), u[l] = !0;
264
- }
265
- if (!i)
266
- for (const o of c)
267
- o.derived_features.push(e);
268
- } else {
269
- let i = this._underConstructionOrphans[s];
270
- i || (i = { Parent: [], Derives_from: [] }, this._underConstructionOrphans[s] = i), i.Derives_from.push(e);
271
- }
272
- }
273
- }
274
- }
275
- function $(n) {
276
- const e = [], t = new m({
277
- featureCallback: (r) => e.push(r),
278
- disableDerivesFromReferences: !0,
279
- errorCallback: (r) => {
280
- throw new Error(r);
281
- }
282
- });
283
- for (const r of n.split(/\r?\n/))
284
- t.addLine(r);
285
- return t.finish(), e;
286
- }
287
- function B(n) {
288
- const e = [], t = new m({
289
- featureCallback: (r) => e.push(r),
290
- disableDerivesFromReferences: !0,
291
- errorCallback: (r) => {
292
- throw new Error(r);
293
- }
294
- });
295
- for (const r of n)
296
- t.addLine(r);
297
- return t.finish(), e;
298
- }
299
- function T(n) {
300
- const e = [], t = new m({
301
- featureCallback: (r) => e.push(r),
302
- disableDerivesFromReferences: !0,
303
- errorCallback: (r) => {
304
- throw new Error(r);
305
- }
306
- });
307
- for (const r of n) {
308
- const s = _(r.fields);
309
- r.lineHash !== void 0 && (s.attributes || (s.attributes = {}), s.attributes._lineHash = [String(r.lineHash)]), t.addParsedFeatureLine(s);
310
- }
311
- return t.finish(), e;
312
- }
313
- function q(n, e) {
314
- const t = [], r = new m({
315
- featureCallback: (c) => t.push(c),
316
- disableDerivesFromReferences: !0,
317
- errorCallback: (c) => {
318
- throw new Error(c);
319
- }
320
- }), s = e ? _ : D;
321
- for (const c of n) {
322
- const i = s(c.fields);
323
- c.lineHash !== void 0 && (i.attributes || (i.attributes = {}), i.attributes._lineHash = [String(c.lineHash)]), r.addParsedFeatureLine(i);
324
- }
325
- return r.finish(), t;
326
- }
327
- export {
328
- B as parseArraySync,
329
- T as parseRecordsSync,
330
- q as parseRecordsSyncFast,
331
- $ as parseStringSync
332
- };