@sjcrh/proteinpaint-client 2.201.0 → 2.202.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 (923) hide show
  1. package/dist/2dmaf-Y2MBOXHL.js +1373 -0
  2. package/dist/AIProjectAdmin-2W4WNV65.js +958 -0
  3. package/dist/AggregateMatrix-7L7OKUXI.js +671 -0
  4. package/dist/AppHeader-6WM66GKP.js +835 -0
  5. package/dist/BoxPlot-AF72DMSS.js +1218 -0
  6. package/dist/CorrelationVolcano-H6DHMTYZ.js +620 -0
  7. package/dist/CorrelationVolcano-H6DHMTYZ.js.map +7 -0
  8. package/dist/DE-AABMOSEE.js +95 -0
  9. package/dist/DEinput-3HVHJE2I.js +409 -0
  10. package/dist/DEinput-3HVHJE2I.js.map +7 -0
  11. package/dist/DifferentialAnalysis-NBC222Q6.js +243 -0
  12. package/dist/Disco-B6E3ALAV.js +3392 -0
  13. package/dist/Disco.UI-KGFIQHXC.js +248 -0
  14. package/dist/DmrPlot-R3S4PCAE.js +642 -0
  15. package/dist/DziViewer-QYLZ4EMQ.js +16332 -0
  16. package/dist/GB-PV4RI5DG.js +1396 -0
  17. package/dist/GSEA-DHUOROST.js +846 -0
  18. package/dist/GeneExpInput-RESMBEM3.js +367 -0
  19. package/dist/Geomap-2WACSP77.js +89 -0
  20. package/dist/HicApp-3FJEZXAI.js +2250 -0
  21. package/dist/IDCViewer-MIRQEK4N.js +10817 -0
  22. package/dist/NumBinaryEditor-EP277U4I.js +284 -0
  23. package/dist/NumBinaryEditor.unit.spec-ZB627VLG.js +317 -0
  24. package/dist/NumContEditor-F7DOQSIW.js +110 -0
  25. package/dist/NumContEditor.unit.spec-PROGQHTU.js +169 -0
  26. package/dist/NumCustomBinEditor-QS3IPKIQ.js +38 -0
  27. package/dist/NumCustomBinEditor.unit.spec-BRDEFIX6.js +402 -0
  28. package/dist/NumDiscreteEditor-SE4I3BDA.js +175 -0
  29. package/dist/NumDiscreteEditor.unit.spec-6GBWQ3NQ.js +238 -0
  30. package/dist/NumRegularBinEditor-RJKB3G3V.js +38 -0
  31. package/dist/NumRegularBinEditor.unit.spec-HRU2Y76X.js +283 -0
  32. package/dist/NumSplineEditor-2DCORF5E.js +215 -0
  33. package/dist/NumSplineEditor.unit.spec-TTNB5IXX.js +229 -0
  34. package/dist/NumericDensity-3A7KTA7Y.js +38 -0
  35. package/dist/NumericDensity.unit.spec-ISPDAUVX.js +423 -0
  36. package/dist/NumericHandler-RG5XZMBU.js +39 -0
  37. package/dist/NumericHandler.unit.spec-RTD7AZNE.js +219 -0
  38. package/dist/ProteomeInput-6A7UB4CI.js +394 -0
  39. package/dist/RunChart2-YEAOBR2L.js +758 -0
  40. package/dist/SC-C3MJQBI5.js +1112 -0
  41. package/dist/Volcano-N6MXAQDZ.js +1417 -0
  42. package/dist/Volcano-N6MXAQDZ.js.map +7 -0
  43. package/dist/WSIViewer-OVJ2QS7P.js +26200 -0
  44. package/dist/WSIViewer-OVJ2QS7P.js.map +7 -0
  45. package/dist/Wsi-CMLKCEG3.js +239 -0
  46. package/dist/Wsi-CMLKCEG3.js.map +7 -0
  47. package/dist/WsiSamplesPlot-ET7LGNJW.js +165 -0
  48. package/dist/adSandbox-6LGHUXPX.js +38 -0
  49. package/dist/animatedBubbleChart-VJ6EQDQP.js +553 -0
  50. package/dist/app-PRLLUIAA.js +49 -0
  51. package/dist/app-WR6PQ2YK.js +37 -0
  52. package/dist/app.js +13 -13
  53. package/dist/bam-EXBXKUSE.js +859 -0
  54. package/dist/barchart-FSIB3IZZ.js +47 -0
  55. package/dist/barchart.events-F4HSVH6M.js +47 -0
  56. package/dist/barchart.integration.spec-AXE7BRKX.js +2243 -0
  57. package/dist/barchart2-DRNQQJE2.js +314 -0
  58. package/dist/block-J3A3RIGS.js +6255 -0
  59. package/dist/block.init-MQKMDKKW.js +38 -0
  60. package/dist/block.mds.expressionrank-ZQEPPDEL.js +359 -0
  61. package/dist/block.mds.geneboxplot-VJTIMZ6H.js +828 -0
  62. package/dist/block.mds.junction-VTAMQ2CW.js +1545 -0
  63. package/dist/block.mds.svcnv-WG7WY3CS.js +6801 -0
  64. package/dist/block.svg-YTWYGSGO.js +164 -0
  65. package/dist/block.tk.aicheck-L4M55U63.js +283 -0
  66. package/dist/block.tk.ase-3OBVSGWM.js +365 -0
  67. package/dist/block.tk.bam-QUCP3HST.js +1906 -0
  68. package/dist/block.tk.bedgraphdot-BGAH5YPF.js +384 -0
  69. package/dist/block.tk.bigwig.ui-2MG6VMOE.js +211 -0
  70. package/dist/block.tk.hicstraw-MDQHFWBB.js +823 -0
  71. package/dist/block.tk.junction-PBCJTAFX.js +2364 -0
  72. package/dist/block.tk.junction.textmatrixui-FJR76QBO.js +199 -0
  73. package/dist/block.tk.ld-ISL7K3DH.js +99 -0
  74. package/dist/block.tk.menu-VQW3FUAF.js +1029 -0
  75. package/dist/block.tk.pgv-RMXDF3XD.js +944 -0
  76. package/dist/brainImaging-F4GZRF53.js +423 -0
  77. package/dist/brainRegions-ONUXPD7P.js +221 -0
  78. package/dist/bubbleHeatmap-ZOS2ME3T.js +383 -0
  79. package/dist/cellTypeBubbleHeatmap-BEVDWLHJ.js +283 -0
  80. package/dist/chunk-2JQWA4EO.js +6364 -0
  81. package/dist/chunk-2TWVFQD2.js +494 -0
  82. package/dist/chunk-2TWVFQD2.js.map +7 -0
  83. package/dist/chunk-2TZITKMT.js +498 -0
  84. package/dist/chunk-4BDOPNYW.js +129 -0
  85. package/dist/chunk-4G6ZGXZF.js +1338 -0
  86. package/dist/chunk-4G6ZGXZF.js.map +7 -0
  87. package/dist/chunk-4QW2O66J.js +22695 -0
  88. package/dist/chunk-4QW2O66J.js.map +7 -0
  89. package/dist/chunk-4RWLKZMS.js +480 -0
  90. package/dist/chunk-57GCW5SF.js +2899 -0
  91. package/dist/chunk-5RUVBYLK.js +117 -0
  92. package/dist/chunk-5YOZ4E5H.js +55 -0
  93. package/dist/chunk-6N5DNN7P.js +302 -0
  94. package/dist/chunk-73PFJ2VF.js +21517 -0
  95. package/dist/chunk-73PFJ2VF.js.map +7 -0
  96. package/dist/chunk-AOVDTRFY.js +272 -0
  97. package/dist/chunk-BIDQ4OZH.js +465 -0
  98. package/dist/chunk-C34UTN5M.js +292 -0
  99. package/dist/chunk-DFHSLHXZ.js +134 -0
  100. package/dist/chunk-DMOTISFN.js +835 -0
  101. package/dist/chunk-DMOTISFN.js.map +7 -0
  102. package/dist/chunk-E2JRANYL.js +299 -0
  103. package/dist/chunk-E6EA7IU7.js +1172 -0
  104. package/dist/chunk-E6EA7IU7.js.map +7 -0
  105. package/dist/chunk-E732F6XI.js +141 -0
  106. package/dist/chunk-E732F6XI.js.map +7 -0
  107. package/dist/chunk-FESRWKYY.js +203 -0
  108. package/dist/chunk-GMJSMF7P.js +5070 -0
  109. package/dist/chunk-H6INPPUC.js +784 -0
  110. package/dist/chunk-H6INPPUC.js.map +7 -0
  111. package/dist/chunk-HDPL53U4.js +14 -0
  112. package/dist/chunk-HOCICSX4.js +276 -0
  113. package/dist/chunk-HR7XPTAV.js +340 -0
  114. package/dist/chunk-HR7XPTAV.js.map +7 -0
  115. package/dist/chunk-HV3GD2F3.js +54 -0
  116. package/dist/chunk-IGVKT4CE.js +56 -0
  117. package/dist/chunk-IMKIDF2H.js +123 -0
  118. package/dist/chunk-ITKMNOLR.js +37 -0
  119. package/dist/chunk-JABW3SRG.js +217 -0
  120. package/dist/chunk-JTYQX3EE.js +4306 -0
  121. package/dist/chunk-JTYQX3EE.js.map +7 -0
  122. package/dist/chunk-KDNYUHAH.js +70 -0
  123. package/dist/chunk-KSA3ND7Z.js +2327 -0
  124. package/dist/chunk-LCRPBPKX.js +34 -0
  125. package/dist/chunk-NIZTWHGT.js +514 -0
  126. package/dist/chunk-OBRVYT5O.js +187 -0
  127. package/dist/chunk-OBRVYT5O.js.map +7 -0
  128. package/dist/chunk-OCC5HEPR.js +411 -0
  129. package/dist/chunk-OMIUJ7JT.js +448 -0
  130. package/dist/chunk-ONCG5AKF.js +160 -0
  131. package/dist/chunk-OW5LD7S2.js +102 -0
  132. package/dist/chunk-PY4QOYPK.js +102 -0
  133. package/dist/chunk-Q3QY7QGU.js +50 -0
  134. package/dist/chunk-RL3IRMOA.js +236 -0
  135. package/dist/chunk-SCOFWMSE.js +240 -0
  136. package/dist/chunk-SMOHPEMJ.js +2681 -0
  137. package/dist/chunk-SNL7MSZD.js +243 -0
  138. package/dist/chunk-SP7HDNXC.js +368 -0
  139. package/dist/chunk-UILBQKQ6.js +143 -0
  140. package/dist/chunk-USH6NWXA.js +1943 -0
  141. package/dist/chunk-USH6NWXA.js.map +7 -0
  142. package/dist/chunk-UTNJA7JC.js +381 -0
  143. package/dist/chunk-VJCJCDFI.js +142 -0
  144. package/dist/chunk-VSSZJHOR.js +473 -0
  145. package/dist/chunk-W2WOZNEN.js +158 -0
  146. package/dist/chunk-WGRJEQT7.js +1250 -0
  147. package/dist/chunk-WGRJEQT7.js.map +7 -0
  148. package/dist/chunk-WJTRQ3ZC.js +1710 -0
  149. package/dist/chunk-X4QQRHFB.js +1812 -0
  150. package/dist/chunk-Y2UCJ33M.js +263 -0
  151. package/dist/chunk-Y45RZL4F.js +98 -0
  152. package/dist/chunk-YAISXQJ5.js +626 -0
  153. package/dist/chunk-YAISXQJ5.js.map +7 -0
  154. package/dist/chunk-Z2TA7NML.js +352 -0
  155. package/dist/chunk-Z7U74YGW.js +222 -0
  156. package/dist/chunk-ZKMBNB5E.js +176 -0
  157. package/dist/chunk-ZPBG6CT3.js +100 -0
  158. package/dist/chunk-ZUDSOVYT.js +2784 -0
  159. package/dist/chunk-ZZMIDYRE.js +197 -0
  160. package/dist/chunk-ZZMIDYRE.js.map +7 -0
  161. package/dist/cohort-R743ZSCR.js +75 -0
  162. package/dist/condition-MPZIRRGP.js +332 -0
  163. package/dist/controls-WD5TZITZ.js +39 -0
  164. package/dist/controls.btns-KCLXBXSL.js +9 -0
  165. package/dist/controls.config-577UCREO.js +39 -0
  166. package/dist/correlation-OCFBDDOX.js +102 -0
  167. package/dist/cuminc-YJGCKHFM.js +1153 -0
  168. package/dist/cuminc-YJGCKHFM.js.map +7 -0
  169. package/dist/cuminc.integration.spec-V46K57GV.js +678 -0
  170. package/dist/customdata.inputui-2MS5ZRKC.js +289 -0
  171. package/dist/dataDownload-HBFKARTR.js +332 -0
  172. package/dist/dataDownload-HBFKARTR.js.map +7 -0
  173. package/dist/dataDownload.integration.spec-TEOJOMYK.js +193 -0
  174. package/dist/databrowser.ui-PDPFHOH7.js +432 -0
  175. package/dist/dictionary-MWUQYW6W.js +118 -0
  176. package/dist/dnaMethylation-SNVVE2MD.js +38 -0
  177. package/dist/dnaMethylation.integration.spec-OSYZ3YDP.js +203 -0
  178. package/dist/dofetch-7R7PL4BX.js +51 -0
  179. package/dist/e2pca-7FYIWR5O.js +350 -0
  180. package/dist/ep-PTAJZLKI.js +1256 -0
  181. package/dist/expclust.gdc.spec-2R7T7JPY.js +307 -0
  182. package/dist/facet-BY6DQRCA.js +521 -0
  183. package/dist/facet-BY6DQRCA.js.map +7 -0
  184. package/dist/gb-5UFIDQWY.js +88 -0
  185. package/dist/geneExpClustering-QLBETGVB.js +249 -0
  186. package/dist/geneExpression-SAMLSOHQ.js +38 -0
  187. package/dist/geneExpression-SECTPIDT.js +313 -0
  188. package/dist/geneExpression.unit.spec-UNRGPJIG.js +102 -0
  189. package/dist/geneORA-CCQGE7QL.js +278 -0
  190. package/dist/geneRanking-NVR7ZZIP.js +553 -0
  191. package/dist/geneVariant-5KL2J3NA.js +39 -0
  192. package/dist/geneVariant-72E5YEPJ.js +41 -0
  193. package/dist/geneVariant.integration.spec-7JLVYF7Q.js +198 -0
  194. package/dist/genefusion.ui-M3IG6NUU.js +308 -0
  195. package/dist/geneset-V2535XGY.js +208 -0
  196. package/dist/genomeBrowser.spec-TRREAQCH.js +281 -0
  197. package/dist/grin2-6X5GCPBQ.js +75 -0
  198. package/dist/grin2-GOO7H3RC.js +1143 -0
  199. package/dist/hierCluster-5YZOCCTV.js +63 -0
  200. package/dist/hierCluster-ZPQCUSVO.js +59 -0
  201. package/dist/hierCluster.config-T3Y2LS6V.js +40 -0
  202. package/dist/hierCluster.integration.spec-PTXVQH77.js +488 -0
  203. package/dist/hierCluster.interactivity-JNBO3MJB.js +54 -0
  204. package/dist/imagePlot-AH2JIGVN.js +163 -0
  205. package/dist/imagePlot-AH2JIGVN.js.map +7 -0
  206. package/dist/importPlot-CWMBFQDD.js +8 -0
  207. package/dist/isoformExpression-ABPY2N3A.js +40 -0
  208. package/dist/isoformExpression.unit.spec-KRAZBQVF.js +242 -0
  209. package/dist/junction-XGCBNVHV.js +41 -0
  210. package/dist/junction.unit.spec-XZFUJRI3.js +187 -0
  211. package/dist/launch.adhoc-7FJD3XSI.js +42 -0
  212. package/dist/leftlabel.sample-VPOZWRVY.js +263 -0
  213. package/dist/lollipop-WBOAFWWO.js +171 -0
  214. package/dist/maf-MMN6WYHA.js +460 -0
  215. package/dist/maf-MMN6WYHA.js.map +7 -0
  216. package/dist/maftimeline-UK4MQP2D.js +593 -0
  217. package/dist/matrix-AT2FFTWO.js +58 -0
  218. package/dist/matrix-AU6NPNID.js +63 -0
  219. package/dist/matrix.config-VTQ6HL5L.js +41 -0
  220. package/dist/matrix.data-DBYXSWIN.js +25 -0
  221. package/dist/matrix.dom-DDPSUNY2.js +11 -0
  222. package/dist/matrix.integration.spec-NJ2AXQAS.js +3072 -0
  223. package/dist/matrix.interactivity-HE2Q6SAO.js +42 -0
  224. package/dist/matrix.layout-FD5BPRCX.js +44 -0
  225. package/dist/matrix.renderers-DVM4NB2R.js +38 -0
  226. package/dist/matrix.sort.unit.spec-VQ3TR4S2.js +472 -0
  227. package/dist/matrix.sorterUi-4KYRGJT5.js +18 -0
  228. package/dist/matrix.sorterUi.unit.spec-IEHG3OKN.js +342 -0
  229. package/dist/mavb-RPRKXPTZ.js +732 -0
  230. package/dist/mds.fimo-PZCVBD44.js +518 -0
  231. package/dist/mds.samplescatterplot-236GTHM4.js +1550 -0
  232. package/dist/mds.survivalplot-IJHOWSZL.js +483 -0
  233. package/dist/oncomatrix-R4OKDXSV.js +295 -0
  234. package/dist/oncomatrix.spec-4Z4HKS44.js +448 -0
  235. package/dist/plot.2dvaf-ZK7DAKRQ.js +377 -0
  236. package/dist/plot.app-J66BA2LD.js +41 -0
  237. package/dist/plot.barplot-UVRVPOKA.js +102 -0
  238. package/dist/plot.boxplot-DQGBDNLU.js +152 -0
  239. package/dist/plot.brainImaging-WRMDYYHC.js +51 -0
  240. package/dist/plot.disco-SSGPSM7W.js +102 -0
  241. package/dist/plot.dzi-F77KKPIJ.js +33 -0
  242. package/dist/plot.ssgq-FVFJOYVO.js +139 -0
  243. package/dist/plot.vaf2cov-CJSYBSPQ.js +259 -0
  244. package/dist/plot.wsi-OSZU2PQ5.js +36 -0
  245. package/dist/polar2-R4ZKXKEV.js +237 -0
  246. package/dist/profileForms-F7LXHITE.js +940 -0
  247. package/dist/profileForms-F7LXHITE.js.map +7 -0
  248. package/dist/profilePlot-JU7SFYYY.js +54 -0
  249. package/dist/proteinView-VU4SVO5I.js +1568 -0
  250. package/dist/proteomeCohortCompare-2U537GOK.js +799 -0
  251. package/dist/pseudbulk.unit.spec-2FDKAEVI.js +91 -0
  252. package/dist/pseudobulk-5GBUBBOY.js +40 -0
  253. package/dist/qualitative-3FTEQ7JW.js +43 -0
  254. package/dist/radar2-EBOTTAMC.js +332 -0
  255. package/dist/radarFacility2-PAGNJR6D.js +340 -0
  256. package/dist/regression-XOVSVC7S.js +58 -0
  257. package/dist/regression.inputs-LGA67ESO.js +48 -0
  258. package/dist/regression.inputs.term-UCQKXC5D.js +50 -0
  259. package/dist/regression.inputs.values.table-2RRE7SMS.js +45 -0
  260. package/dist/regression.integration.spec-BKM5UI7H.js +838 -0
  261. package/dist/regression.results-T3HB6CBH.js +40 -0
  262. package/dist/regression.spec-W7IVCYVZ.js +708 -0
  263. package/dist/render-2C6LWNG2.js +38 -0
  264. package/dist/report-HRGU3XKL.js +222 -0
  265. package/dist/sampleView-P5JZHEKY.js +48 -0
  266. package/dist/samplelst-OYQ6BASU.js +111 -0
  267. package/dist/samplematrix-JC3SGO5V.js +2198 -0
  268. package/dist/sc-FTHUNDGY.js +86 -0
  269. package/dist/scatter-WYP2NPNB.js +890 -0
  270. package/dist/selectGenomeWithTklst-CIETKILP.js +134 -0
  271. package/dist/singleCellCellType-3O3TTLM6.js +38 -0
  272. package/dist/singleCellCellType.unit.spec-GHBS36DB.js +159 -0
  273. package/dist/singleCellGeneExpression-2F7F4EKK.js +38 -0
  274. package/dist/singleCellGeneExpression.unit.spec-2VGIH2NZ.js +153 -0
  275. package/dist/singleCellPlot-MGSS4O3L.js +54 -0
  276. package/dist/singlecell-CKC2VVJ3.js +86 -0
  277. package/dist/singlecell-QOXATRF4.js +1572 -0
  278. package/dist/snp-OSYJO2R7.js +38 -0
  279. package/dist/snp.unit.spec-L5ANPFO2.js +176 -0
  280. package/dist/snplocus-64MJJID2.js +208 -0
  281. package/dist/spliceevent.a53ss.diagram-LHRT5UPB.js +151 -0
  282. package/dist/spliceevent.exonskip.diagram-BGSEPGR5.js +283 -0
  283. package/dist/spliceevent.noeventdiagram-QGZZSKW7.js +460 -0
  284. package/dist/ssGSEA-VVAZDFDT.js +38 -0
  285. package/dist/ssGSEA.unit.spec-LP76RHTV.js +88 -0
  286. package/dist/stattable-55YGV5B4.js +122 -0
  287. package/dist/stattable-55YGV5B4.js.map +7 -0
  288. package/dist/studyCatalog-AXWH7IOH.js +358 -0
  289. package/dist/summarizeCnvGeneexp-DRBIXOAP.js +163 -0
  290. package/dist/summarizeGeneexpSurvival-4PATAUSN.js +110 -0
  291. package/dist/summarizeMutationCnv-UGSIGZDJ.js +164 -0
  292. package/dist/summarizeMutationDiagnosis-UATVI5BK.js +40 -0
  293. package/dist/summarizeMutationSurvival-CZXGM3AA.js +99 -0
  294. package/dist/summary-IGTXNQ5I.js +49 -0
  295. package/dist/summary.integration.spec-VFCYU2V6.js +414 -0
  296. package/dist/summaryInput-AFZSASTM.js +231 -0
  297. package/dist/sunburst-G7DBI637.js +284 -0
  298. package/dist/survival-GIRR5ML4.js +1247 -0
  299. package/dist/survival-GIRR5ML4.js.map +7 -0
  300. package/dist/survival-YOJBLMR2.js +58 -0
  301. package/dist/survival.integration.spec-FXPCZJSS.js +958 -0
  302. package/dist/svgraph-ZSSOWI7R.js +1387 -0
  303. package/dist/svmr-FPYSMXSC.js +3842 -0
  304. package/dist/table-NHS2WLWT.js +202 -0
  305. package/dist/table-NHS2WLWT.js.map +7 -0
  306. package/dist/termCollection-IY5V64IY.js +38 -0
  307. package/dist/termCollection-SR4SP6RZ.js +257 -0
  308. package/dist/termCollection.unit.spec-NL72AQ2P.js +304 -0
  309. package/dist/termCollectionFractionSelection-2LPBE224.js +47 -0
  310. package/dist/termCollectionFractionSelection.unit.spec-PUMGBUDN.js +193 -0
  311. package/dist/termInfo-2DR7DHXM.js +9 -0
  312. package/dist/tk-COBDWIZJ.js +1127 -0
  313. package/dist/tk-N2YBXDQK.js +46 -0
  314. package/dist/tp.ui-BMK2MMIJ.js +1459 -0
  315. package/dist/tvs.dt-KL4VCW5Y.js +39 -0
  316. package/dist/tvs.dtcnv.categorical-VGXOASJE.js +40 -0
  317. package/dist/tvs.dtcnv.continuous-IANT7BPS.js +72 -0
  318. package/dist/tvs.dtfusion-M5HJWCJI.js +40 -0
  319. package/dist/tvs.dtitd-KB72EDPN.js +40 -0
  320. package/dist/tvs.dtsnvindel-VGYTLO6E.js +40 -0
  321. package/dist/tvs.dtsv-KWUXW2F5.js +40 -0
  322. package/dist/tvs.samplelst-3UA7XMHJ.js +104 -0
  323. package/dist/tvs.termCollection-LK6CVGYZ.js +129 -0
  324. package/dist/violin-D4EX3ZFV.js +46 -0
  325. package/dist/violin.integration.spec-GBW3VBHW.js +1425 -0
  326. package/dist/violin.interactivity-N3JVI2AQ.js +38 -0
  327. package/dist/violin.renderer-2NYRUXUY.js +40 -0
  328. package/dist/vocabulary-277KD4RO.js +41 -0
  329. package/dist/wsi.direct-RI3XGLUC.js +81 -0
  330. package/dist/wsi.direct-RI3XGLUC.js.map +7 -0
  331. package/package.json +2 -2
  332. package/dist/2dmaf-6MNHNHWX.js +0 -1373
  333. package/dist/AIProjectAdmin-W36NGUX2.js +0 -958
  334. package/dist/AggregateMatrix-YH2SN6VN.js +0 -671
  335. package/dist/AppHeader-I5CFECIL.js +0 -835
  336. package/dist/BoxPlot-4SXDAOBP.js +0 -1218
  337. package/dist/CorrelationVolcano-NAWMGG4Q.js +0 -619
  338. package/dist/CorrelationVolcano-NAWMGG4Q.js.map +0 -7
  339. package/dist/DE-VZMT7KEM.js +0 -95
  340. package/dist/DEinput-TKERM2YD.js +0 -409
  341. package/dist/DEinput-TKERM2YD.js.map +0 -7
  342. package/dist/DifferentialAnalysis-Y4SU4BVP.js +0 -243
  343. package/dist/Disco-DLK3BYPV.js +0 -3392
  344. package/dist/Disco.UI-IKGMFG36.js +0 -248
  345. package/dist/DmrPlot-JWBZJFS6.js +0 -642
  346. package/dist/DziViewer-6737GC22.js +0 -16332
  347. package/dist/GB-3UZSSIBW.js +0 -1396
  348. package/dist/GSEA-YLHBZY55.js +0 -846
  349. package/dist/GeneExpInput-KX5I63YV.js +0 -367
  350. package/dist/Geomap-QTUHM4VH.js +0 -89
  351. package/dist/HicApp-M2OCHGRT.js +0 -2250
  352. package/dist/IDCViewer-SWFBLBZH.js +0 -10817
  353. package/dist/NumBinaryEditor-ILFP6DR7.js +0 -284
  354. package/dist/NumBinaryEditor.unit.spec-TNIH7GQB.js +0 -317
  355. package/dist/NumContEditor-7UR3QMO6.js +0 -110
  356. package/dist/NumContEditor.unit.spec-P67AFEHM.js +0 -169
  357. package/dist/NumCustomBinEditor-H22J4K47.js +0 -38
  358. package/dist/NumCustomBinEditor.unit.spec-CO76BQPZ.js +0 -402
  359. package/dist/NumDiscreteEditor-TSUHVX77.js +0 -175
  360. package/dist/NumDiscreteEditor.unit.spec-RGC3GT22.js +0 -238
  361. package/dist/NumRegularBinEditor-IRD27CE2.js +0 -38
  362. package/dist/NumRegularBinEditor.unit.spec-MUHVOK5P.js +0 -283
  363. package/dist/NumSplineEditor-3V7RWHE2.js +0 -215
  364. package/dist/NumSplineEditor.unit.spec-BUI7NPN4.js +0 -229
  365. package/dist/NumericDensity-53KMCTDL.js +0 -38
  366. package/dist/NumericDensity.unit.spec-OKAQPQHR.js +0 -423
  367. package/dist/NumericHandler-5QFNXVBA.js +0 -39
  368. package/dist/NumericHandler.unit.spec-OBITSUU3.js +0 -219
  369. package/dist/ProteomeInput-MM373EL3.js +0 -394
  370. package/dist/RunChart2-2L6T3ITZ.js +0 -758
  371. package/dist/SC-JKD3Z2X5.js +0 -1112
  372. package/dist/Volcano-STGBS7IJ.js +0 -1404
  373. package/dist/Volcano-STGBS7IJ.js.map +0 -7
  374. package/dist/WSIViewer-LOBVUTOD.js +0 -48562
  375. package/dist/WSIViewer-LOBVUTOD.js.map +0 -7
  376. package/dist/WsiSamplesPlot-D3L3AILR.js +0 -165
  377. package/dist/adSandbox-XO5HDSFW.js +0 -38
  378. package/dist/animatedBubbleChart-XKW6TCZP.js +0 -553
  379. package/dist/app-H7ABTG6X.js +0 -49
  380. package/dist/app-HJSPIKRQ.js +0 -37
  381. package/dist/bam-R5QVHWGY.js +0 -859
  382. package/dist/barchart-OGCLBPQ2.js +0 -47
  383. package/dist/barchart.events-GZTY4IC3.js +0 -47
  384. package/dist/barchart.integration.spec-Z6ECNFSM.js +0 -2243
  385. package/dist/barchart2-DT42I747.js +0 -314
  386. package/dist/block-UYYJXSCM.js +0 -6255
  387. package/dist/block.init-43M53IMA.js +0 -38
  388. package/dist/block.mds.expressionrank-YH3IWMKM.js +0 -359
  389. package/dist/block.mds.geneboxplot-QS2IK37X.js +0 -828
  390. package/dist/block.mds.junction-7FF5BFEX.js +0 -1545
  391. package/dist/block.mds.svcnv-MMJYLL2W.js +0 -6801
  392. package/dist/block.svg-SA6DSUM2.js +0 -164
  393. package/dist/block.tk.aicheck-ZX5LZ2QO.js +0 -283
  394. package/dist/block.tk.ase-YXT4BOXK.js +0 -365
  395. package/dist/block.tk.bam-IMLRIOOV.js +0 -1906
  396. package/dist/block.tk.bedgraphdot-UYQLL7HM.js +0 -384
  397. package/dist/block.tk.bigwig.ui-WUVLVRSM.js +0 -211
  398. package/dist/block.tk.hicstraw-N4SJGF7H.js +0 -823
  399. package/dist/block.tk.junction-LZWHFKWJ.js +0 -2364
  400. package/dist/block.tk.junction.textmatrixui-B626NYPA.js +0 -199
  401. package/dist/block.tk.ld-6VWUMAP6.js +0 -99
  402. package/dist/block.tk.menu-RRN2UPQX.js +0 -1029
  403. package/dist/block.tk.pgv-GYG3EI6P.js +0 -944
  404. package/dist/brainImaging-VIMLETC5.js +0 -423
  405. package/dist/brainRegions-DRYZT5K5.js +0 -221
  406. package/dist/bubbleHeatmap-Y4SGMVJY.js +0 -383
  407. package/dist/cellTypeBubbleHeatmap-QW37ZT5W.js +0 -283
  408. package/dist/chunk-2Y5C7GJS.js +0 -299
  409. package/dist/chunk-2ZTCRUOL.js +0 -2899
  410. package/dist/chunk-3O6XFPUB.js +0 -243
  411. package/dist/chunk-3P74DH6P.js +0 -236
  412. package/dist/chunk-3PPCZPLN.js +0 -98
  413. package/dist/chunk-4H4WJJ2G.js +0 -54
  414. package/dist/chunk-4KY4XKJV.js +0 -143
  415. package/dist/chunk-4L2OSDQ6.js +0 -626
  416. package/dist/chunk-4L2OSDQ6.js.map +0 -7
  417. package/dist/chunk-4USLEUNR.js +0 -1812
  418. package/dist/chunk-5ITKSTJX.js +0 -34
  419. package/dist/chunk-5VMYXVZG.js +0 -272
  420. package/dist/chunk-7ZVFLC2V.js +0 -134
  421. package/dist/chunk-C2JHLAKV.js +0 -222
  422. package/dist/chunk-C5IAIOCA.js +0 -102
  423. package/dist/chunk-CIRCVMWE.js +0 -102
  424. package/dist/chunk-CRH37PEV.js +0 -203
  425. package/dist/chunk-DCNDZOI3.js +0 -6364
  426. package/dist/chunk-DHPLHIVP.js +0 -498
  427. package/dist/chunk-DKAHHMKN.js +0 -5070
  428. package/dist/chunk-ECIBJXFT.js +0 -352
  429. package/dist/chunk-EQCVSUAF.js +0 -37
  430. package/dist/chunk-FVL37XFU.js +0 -834
  431. package/dist/chunk-FVL37XFU.js.map +0 -7
  432. package/dist/chunk-FXS4I3Z3.js +0 -176
  433. package/dist/chunk-FYAY6D3O.js +0 -123
  434. package/dist/chunk-GL44X7JY.js +0 -302
  435. package/dist/chunk-HQAJVJCQ.js +0 -195
  436. package/dist/chunk-HQAJVJCQ.js.map +0 -7
  437. package/dist/chunk-IIT367QZ.js +0 -473
  438. package/dist/chunk-IYT5PNYJ.js +0 -148
  439. package/dist/chunk-IYT5PNYJ.js.map +0 -7
  440. package/dist/chunk-J6EP7JPJ.js +0 -1245
  441. package/dist/chunk-J6EP7JPJ.js.map +0 -7
  442. package/dist/chunk-JKMN7XOP.js +0 -1114
  443. package/dist/chunk-JKMN7XOP.js.map +0 -7
  444. package/dist/chunk-JLGCQ2F4.js +0 -480
  445. package/dist/chunk-JQT67SWE.js +0 -263
  446. package/dist/chunk-JQYPRW42.js +0 -217
  447. package/dist/chunk-K4IGOJPT.js +0 -160
  448. package/dist/chunk-K6OVOHIZ.js +0 -21483
  449. package/dist/chunk-K6OVOHIZ.js.map +0 -7
  450. package/dist/chunk-KPTPDZX2.js +0 -56
  451. package/dist/chunk-KTB7KXC2.js +0 -187
  452. package/dist/chunk-KTB7KXC2.js.map +0 -7
  453. package/dist/chunk-KW7MKBGF.js +0 -2681
  454. package/dist/chunk-KZFVYDVK.js +0 -448
  455. package/dist/chunk-M3J4MINX.js +0 -783
  456. package/dist/chunk-M3J4MINX.js.map +0 -7
  457. package/dist/chunk-M77DCLJX.js +0 -100
  458. package/dist/chunk-MFEYO6FB.js +0 -4306
  459. package/dist/chunk-MFEYO6FB.js.map +0 -7
  460. package/dist/chunk-MUJMZ6W6.js +0 -129
  461. package/dist/chunk-NRP55BOF.js +0 -50
  462. package/dist/chunk-O5KFJBU3.js +0 -1942
  463. package/dist/chunk-O5KFJBU3.js.map +0 -7
  464. package/dist/chunk-Q4AP5L7R.js +0 -1311
  465. package/dist/chunk-Q4AP5L7R.js.map +0 -7
  466. package/dist/chunk-QHPN3JJZ.js +0 -55
  467. package/dist/chunk-QSGXZEUU.js +0 -465
  468. package/dist/chunk-RIQT2LSR.js +0 -479
  469. package/dist/chunk-RIQT2LSR.js.map +0 -7
  470. package/dist/chunk-RZGEKL77.js +0 -117
  471. package/dist/chunk-SOCGXVIL.js +0 -2327
  472. package/dist/chunk-SZHFBRRT.js +0 -514
  473. package/dist/chunk-TOYMIFHN.js +0 -381
  474. package/dist/chunk-TPVHGI7Q.js +0 -368
  475. package/dist/chunk-UJN2RH5R.js +0 -411
  476. package/dist/chunk-V2DU2OXH.js +0 -1710
  477. package/dist/chunk-X7KRSZQT.js +0 -2784
  478. package/dist/chunk-XIBY5I6F.js +0 -240
  479. package/dist/chunk-XJBSBIZ4.js +0 -70
  480. package/dist/chunk-XRQWZJJ3.js +0 -347
  481. package/dist/chunk-XRQWZJJ3.js.map +0 -7
  482. package/dist/chunk-XZ4M3QAV.js +0 -158
  483. package/dist/chunk-YMP4YKBN.js +0 -142
  484. package/dist/chunk-Z7VK2AMA.js +0 -292
  485. package/dist/chunk-ZH7JPYQE.js +0 -14
  486. package/dist/chunk-ZVDOSFWU.js +0 -276
  487. package/dist/cohort-CEYVJJ7E.js +0 -75
  488. package/dist/condition-QSOFP4MY.js +0 -332
  489. package/dist/controls-QYHARIEY.js +0 -39
  490. package/dist/controls.btns-AP67YWKW.js +0 -9
  491. package/dist/controls.config-3OO3JK6E.js +0 -39
  492. package/dist/correlation-TOI3TMYL.js +0 -102
  493. package/dist/cuminc-L7OJTYXC.js +0 -1148
  494. package/dist/cuminc-L7OJTYXC.js.map +0 -7
  495. package/dist/cuminc.integration.spec-LSWV3KOF.js +0 -678
  496. package/dist/customdata.inputui-VMB3HSSC.js +0 -289
  497. package/dist/dataDownload-NPSWNOAG.js +0 -330
  498. package/dist/dataDownload-NPSWNOAG.js.map +0 -7
  499. package/dist/dataDownload.integration.spec-J6FRFLBK.js +0 -193
  500. package/dist/databrowser.ui-GVYWG6YI.js +0 -432
  501. package/dist/dictionary-GD67R72W.js +0 -118
  502. package/dist/dnaMethylation-S7OSGLAF.js +0 -38
  503. package/dist/dnaMethylation.integration.spec-ETMMJNDE.js +0 -203
  504. package/dist/dofetch-7GURQS65.js +0 -51
  505. package/dist/e2pca-ZIIPBJFN.js +0 -350
  506. package/dist/ep-A2HAL5WA.js +0 -1256
  507. package/dist/expclust.gdc.spec-ZSILLYNI.js +0 -307
  508. package/dist/facet-74LKIPTA.js +0 -521
  509. package/dist/facet-74LKIPTA.js.map +0 -7
  510. package/dist/gb-C3MPQXKN.js +0 -88
  511. package/dist/geneExpClustering-HYCFUUTU.js +0 -249
  512. package/dist/geneExpression-GATKMJJ5.js +0 -313
  513. package/dist/geneExpression-JXSAP2H7.js +0 -38
  514. package/dist/geneExpression.unit.spec-CODZYFHZ.js +0 -102
  515. package/dist/geneORA-LJRIR4VV.js +0 -278
  516. package/dist/geneRanking-TWLBKQZG.js +0 -553
  517. package/dist/geneVariant-35RQHTCK.js +0 -41
  518. package/dist/geneVariant-TMJJIMUF.js +0 -39
  519. package/dist/geneVariant.integration.spec-FIQ7IBSD.js +0 -198
  520. package/dist/genefusion.ui-SOBESSNO.js +0 -308
  521. package/dist/geneset-JXEJFEK2.js +0 -208
  522. package/dist/genomeBrowser.spec-25ZO5S2X.js +0 -281
  523. package/dist/grin2-CW4RPVPI.js +0 -75
  524. package/dist/grin2-EI5BVP4E.js +0 -1143
  525. package/dist/hierCluster-OBBPQH24.js +0 -59
  526. package/dist/hierCluster-SDH3TJQY.js +0 -63
  527. package/dist/hierCluster.config-DO67TCXI.js +0 -40
  528. package/dist/hierCluster.integration.spec-EB24C4VZ.js +0 -488
  529. package/dist/hierCluster.interactivity-LGEAFT5T.js +0 -54
  530. package/dist/imagePlot-LGLFG2QZ.js +0 -163
  531. package/dist/imagePlot-LGLFG2QZ.js.map +0 -7
  532. package/dist/importPlot-R2WRZGZU.js +0 -8
  533. package/dist/isoformExpression-KI3WY5M3.js +0 -40
  534. package/dist/isoformExpression.unit.spec-OQRG2DDU.js +0 -242
  535. package/dist/junction-6SWFPNM5.js +0 -41
  536. package/dist/junction.unit.spec-5TZFITSU.js +0 -187
  537. package/dist/launch.adhoc-HCX2RQLB.js +0 -42
  538. package/dist/leftlabel.sample-OI6XCXTQ.js +0 -263
  539. package/dist/lollipop-SOSOYHYL.js +0 -171
  540. package/dist/maf-73RLOEVN.js +0 -459
  541. package/dist/maf-73RLOEVN.js.map +0 -7
  542. package/dist/maftimeline-UOMLYUNI.js +0 -593
  543. package/dist/matrix-5QWDN6SI.js +0 -63
  544. package/dist/matrix-SKPVVDVR.js +0 -58
  545. package/dist/matrix.config-HE64MAL4.js +0 -41
  546. package/dist/matrix.data-HTUZXQAM.js +0 -25
  547. package/dist/matrix.dom-F7AN3QGE.js +0 -11
  548. package/dist/matrix.integration.spec-YKJ4LZFY.js +0 -3072
  549. package/dist/matrix.interactivity-YB5G5W5T.js +0 -42
  550. package/dist/matrix.layout-MFG65V7K.js +0 -44
  551. package/dist/matrix.renderers-PCZFHDDZ.js +0 -38
  552. package/dist/matrix.sort.unit.spec-GEAM5DSU.js +0 -472
  553. package/dist/matrix.sorterUi-YSKIX6B6.js +0 -18
  554. package/dist/matrix.sorterUi.unit.spec-2MW64QS5.js +0 -342
  555. package/dist/mavb-YMHJXCGA.js +0 -732
  556. package/dist/mds.fimo-PTEDRMLQ.js +0 -518
  557. package/dist/mds.samplescatterplot-7R7PLVQJ.js +0 -1550
  558. package/dist/mds.survivalplot-F3EENMFQ.js +0 -483
  559. package/dist/oncomatrix-27VVSMZB.js +0 -295
  560. package/dist/oncomatrix.spec-F43Y7CWN.js +0 -448
  561. package/dist/plot.2dvaf-MYFQSWIA.js +0 -377
  562. package/dist/plot.app-36QWCKXR.js +0 -41
  563. package/dist/plot.barplot-535EP7XT.js +0 -102
  564. package/dist/plot.boxplot-6IBP7VEB.js +0 -152
  565. package/dist/plot.brainImaging-M4HPNXZH.js +0 -51
  566. package/dist/plot.disco-HIT6GR44.js +0 -102
  567. package/dist/plot.dzi-W66SBKTH.js +0 -33
  568. package/dist/plot.ssgq-MI2OMCUY.js +0 -139
  569. package/dist/plot.vaf2cov-F4CBMLRA.js +0 -259
  570. package/dist/plot.wsi-7M5KTNFC.js +0 -36
  571. package/dist/polar2-7VSWGT4U.js +0 -237
  572. package/dist/profileForms-DFPCNJW2.js +0 -940
  573. package/dist/profileForms-DFPCNJW2.js.map +0 -7
  574. package/dist/profilePlot-ECTPPVB2.js +0 -54
  575. package/dist/proteinView-6ELOLOIU.js +0 -1568
  576. package/dist/proteomeCohortCompare-V2FMWI62.js +0 -799
  577. package/dist/pseudbulk.unit.spec-KV6URTXC.js +0 -91
  578. package/dist/pseudobulk-6ZRFCE65.js +0 -40
  579. package/dist/qualitative-3B62RUOB.js +0 -43
  580. package/dist/radar2-4QQER64E.js +0 -332
  581. package/dist/radarFacility2-MZKORRDY.js +0 -340
  582. package/dist/regression-GZ2YNX6Y.js +0 -56
  583. package/dist/regression.inputs-ZEFDNSVT.js +0 -48
  584. package/dist/regression.inputs.term-O2FQBX7L.js +0 -48
  585. package/dist/regression.inputs.values.table-63BQKSZP.js +0 -45
  586. package/dist/regression.integration.spec-KDHC3KDU.js +0 -838
  587. package/dist/regression.results-5J3QM4RX.js +0 -40
  588. package/dist/regression.spec-WZAZTDDA.js +0 -708
  589. package/dist/render-MZTEXVU5.js +0 -38
  590. package/dist/report-M5TYHH2W.js +0 -222
  591. package/dist/sampleView-QYTLYJEW.js +0 -48
  592. package/dist/samplelst-FN3Q7M7A.js +0 -111
  593. package/dist/samplematrix-Z5FVODO7.js +0 -2198
  594. package/dist/sc-4CHP5SYP.js +0 -86
  595. package/dist/scatter-UOPJYXL3.js +0 -890
  596. package/dist/selectGenomeWithTklst-WMAHGT4F.js +0 -134
  597. package/dist/singleCellCellType-XPWENB6V.js +0 -38
  598. package/dist/singleCellCellType.unit.spec-QK56PHKW.js +0 -159
  599. package/dist/singleCellGeneExpression-4CEVDVYF.js +0 -38
  600. package/dist/singleCellGeneExpression.unit.spec-ZYRLBVF5.js +0 -153
  601. package/dist/singleCellPlot-JS74VUGC.js +0 -54
  602. package/dist/singlecell-5XYOHMWJ.js +0 -1572
  603. package/dist/singlecell-OO77XBDD.js +0 -86
  604. package/dist/snp-X5ZILM5J.js +0 -38
  605. package/dist/snp.unit.spec-V23G3JLJ.js +0 -176
  606. package/dist/snplocus-U5UIIUWR.js +0 -208
  607. package/dist/spliceevent.a53ss.diagram-YDFVSDMT.js +0 -151
  608. package/dist/spliceevent.exonskip.diagram-VDKN5JBE.js +0 -283
  609. package/dist/spliceevent.noeventdiagram-EFPFRUFI.js +0 -460
  610. package/dist/ssGSEA-LKJW5OQK.js +0 -38
  611. package/dist/ssGSEA.unit.spec-7WCZVEP2.js +0 -88
  612. package/dist/stattable-MDABSW3F.js +0 -90
  613. package/dist/stattable-MDABSW3F.js.map +0 -7
  614. package/dist/studyCatalog-EU33KE5H.js +0 -358
  615. package/dist/summarizeCnvGeneexp-QL25OQNB.js +0 -163
  616. package/dist/summarizeGeneexpSurvival-B7HTCH7L.js +0 -110
  617. package/dist/summarizeMutationCnv-DFAPX2JE.js +0 -164
  618. package/dist/summarizeMutationDiagnosis-HCSDSVII.js +0 -40
  619. package/dist/summarizeMutationSurvival-6WEASSA2.js +0 -99
  620. package/dist/summary-BWYXE77G.js +0 -49
  621. package/dist/summary.integration.spec-AVGSW5MF.js +0 -414
  622. package/dist/summaryInput-MOQ6HUCX.js +0 -231
  623. package/dist/sunburst-EZDHVJCL.js +0 -284
  624. package/dist/survival-5TFMM7NP.js +0 -1239
  625. package/dist/survival-5TFMM7NP.js.map +0 -7
  626. package/dist/survival-IEVELTC4.js +0 -58
  627. package/dist/survival.integration.spec-HHWP3R4H.js +0 -958
  628. package/dist/svgraph-55XRIYJW.js +0 -1387
  629. package/dist/svmr-CMEBFSRO.js +0 -3842
  630. package/dist/table-LTWQ3TLQ.js +0 -200
  631. package/dist/table-LTWQ3TLQ.js.map +0 -7
  632. package/dist/termCollection-CPQXYBFA.js +0 -38
  633. package/dist/termCollection-ZWOH273K.js +0 -257
  634. package/dist/termCollection.unit.spec-RK7VATLU.js +0 -304
  635. package/dist/termCollectionFractionSelection-Z4ZRW63R.js +0 -47
  636. package/dist/termCollectionFractionSelection.unit.spec-3CS7DPNU.js +0 -193
  637. package/dist/termInfo-6MJDJSDW.js +0 -9
  638. package/dist/tk-4NNTWWLK.js +0 -46
  639. package/dist/tk-RHWJJXH2.js +0 -1127
  640. package/dist/tp.ui-DPN5UN6U.js +0 -1459
  641. package/dist/tvs.dt-ARPDFRVM.js +0 -39
  642. package/dist/tvs.dtcnv.categorical-POS6WQK6.js +0 -40
  643. package/dist/tvs.dtcnv.continuous-5OETJ7JU.js +0 -72
  644. package/dist/tvs.dtfusion-ERYVI3DW.js +0 -40
  645. package/dist/tvs.dtitd-KTZZYEWU.js +0 -40
  646. package/dist/tvs.dtsnvindel-TGUAX3RN.js +0 -40
  647. package/dist/tvs.dtsv-AM63OIL6.js +0 -40
  648. package/dist/tvs.samplelst-VW2NOQ2C.js +0 -104
  649. package/dist/tvs.termCollection-O4ZSWJFA.js +0 -129
  650. package/dist/violin-ZQ3DEYGR.js +0 -46
  651. package/dist/violin.integration.spec-PVEF77HB.js +0 -1425
  652. package/dist/violin.interactivity-FYU4TCFO.js +0 -38
  653. package/dist/violin.renderer-XAERGBMV.js +0 -40
  654. package/dist/vocabulary-ECJX27W2.js +0 -41
  655. /package/dist/{2dmaf-6MNHNHWX.js.map → 2dmaf-Y2MBOXHL.js.map} +0 -0
  656. /package/dist/{AIProjectAdmin-W36NGUX2.js.map → AIProjectAdmin-2W4WNV65.js.map} +0 -0
  657. /package/dist/{AggregateMatrix-YH2SN6VN.js.map → AggregateMatrix-7L7OKUXI.js.map} +0 -0
  658. /package/dist/{AppHeader-I5CFECIL.js.map → AppHeader-6WM66GKP.js.map} +0 -0
  659. /package/dist/{BoxPlot-4SXDAOBP.js.map → BoxPlot-AF72DMSS.js.map} +0 -0
  660. /package/dist/{DE-VZMT7KEM.js.map → DE-AABMOSEE.js.map} +0 -0
  661. /package/dist/{DifferentialAnalysis-Y4SU4BVP.js.map → DifferentialAnalysis-NBC222Q6.js.map} +0 -0
  662. /package/dist/{Disco-DLK3BYPV.js.map → Disco-B6E3ALAV.js.map} +0 -0
  663. /package/dist/{Disco.UI-IKGMFG36.js.map → Disco.UI-KGFIQHXC.js.map} +0 -0
  664. /package/dist/{DmrPlot-JWBZJFS6.js.map → DmrPlot-R3S4PCAE.js.map} +0 -0
  665. /package/dist/{DziViewer-6737GC22.js.map → DziViewer-QYLZ4EMQ.js.map} +0 -0
  666. /package/dist/{GB-3UZSSIBW.js.map → GB-PV4RI5DG.js.map} +0 -0
  667. /package/dist/{GSEA-YLHBZY55.js.map → GSEA-DHUOROST.js.map} +0 -0
  668. /package/dist/{GeneExpInput-KX5I63YV.js.map → GeneExpInput-RESMBEM3.js.map} +0 -0
  669. /package/dist/{Geomap-QTUHM4VH.js.map → Geomap-2WACSP77.js.map} +0 -0
  670. /package/dist/{HicApp-M2OCHGRT.js.map → HicApp-3FJEZXAI.js.map} +0 -0
  671. /package/dist/{IDCViewer-SWFBLBZH.js.map → IDCViewer-MIRQEK4N.js.map} +0 -0
  672. /package/dist/{NumBinaryEditor-ILFP6DR7.js.map → NumBinaryEditor-EP277U4I.js.map} +0 -0
  673. /package/dist/{NumBinaryEditor.unit.spec-TNIH7GQB.js.map → NumBinaryEditor.unit.spec-ZB627VLG.js.map} +0 -0
  674. /package/dist/{NumContEditor-7UR3QMO6.js.map → NumContEditor-F7DOQSIW.js.map} +0 -0
  675. /package/dist/{NumContEditor.unit.spec-P67AFEHM.js.map → NumContEditor.unit.spec-PROGQHTU.js.map} +0 -0
  676. /package/dist/{NumCustomBinEditor-H22J4K47.js.map → NumCustomBinEditor-QS3IPKIQ.js.map} +0 -0
  677. /package/dist/{NumCustomBinEditor.unit.spec-CO76BQPZ.js.map → NumCustomBinEditor.unit.spec-BRDEFIX6.js.map} +0 -0
  678. /package/dist/{NumDiscreteEditor-TSUHVX77.js.map → NumDiscreteEditor-SE4I3BDA.js.map} +0 -0
  679. /package/dist/{NumDiscreteEditor.unit.spec-RGC3GT22.js.map → NumDiscreteEditor.unit.spec-6GBWQ3NQ.js.map} +0 -0
  680. /package/dist/{NumRegularBinEditor-IRD27CE2.js.map → NumRegularBinEditor-RJKB3G3V.js.map} +0 -0
  681. /package/dist/{NumRegularBinEditor.unit.spec-MUHVOK5P.js.map → NumRegularBinEditor.unit.spec-HRU2Y76X.js.map} +0 -0
  682. /package/dist/{NumSplineEditor-3V7RWHE2.js.map → NumSplineEditor-2DCORF5E.js.map} +0 -0
  683. /package/dist/{NumSplineEditor.unit.spec-BUI7NPN4.js.map → NumSplineEditor.unit.spec-TTNB5IXX.js.map} +0 -0
  684. /package/dist/{NumericDensity-53KMCTDL.js.map → NumericDensity-3A7KTA7Y.js.map} +0 -0
  685. /package/dist/{NumericDensity.unit.spec-OKAQPQHR.js.map → NumericDensity.unit.spec-ISPDAUVX.js.map} +0 -0
  686. /package/dist/{NumericHandler-5QFNXVBA.js.map → NumericHandler-RG5XZMBU.js.map} +0 -0
  687. /package/dist/{NumericHandler.unit.spec-OBITSUU3.js.map → NumericHandler.unit.spec-RTD7AZNE.js.map} +0 -0
  688. /package/dist/{ProteomeInput-MM373EL3.js.map → ProteomeInput-6A7UB4CI.js.map} +0 -0
  689. /package/dist/{RunChart2-2L6T3ITZ.js.map → RunChart2-YEAOBR2L.js.map} +0 -0
  690. /package/dist/{SC-JKD3Z2X5.js.map → SC-C3MJQBI5.js.map} +0 -0
  691. /package/dist/{WsiSamplesPlot-D3L3AILR.js.map → WsiSamplesPlot-ET7LGNJW.js.map} +0 -0
  692. /package/dist/{adSandbox-XO5HDSFW.js.map → adSandbox-6LGHUXPX.js.map} +0 -0
  693. /package/dist/{animatedBubbleChart-XKW6TCZP.js.map → animatedBubbleChart-VJ6EQDQP.js.map} +0 -0
  694. /package/dist/{app-H7ABTG6X.js.map → app-PRLLUIAA.js.map} +0 -0
  695. /package/dist/{app-HJSPIKRQ.js.map → app-WR6PQ2YK.js.map} +0 -0
  696. /package/dist/{bam-R5QVHWGY.js.map → bam-EXBXKUSE.js.map} +0 -0
  697. /package/dist/{barchart-OGCLBPQ2.js.map → barchart-FSIB3IZZ.js.map} +0 -0
  698. /package/dist/{barchart.events-GZTY4IC3.js.map → barchart.events-F4HSVH6M.js.map} +0 -0
  699. /package/dist/{barchart.integration.spec-Z6ECNFSM.js.map → barchart.integration.spec-AXE7BRKX.js.map} +0 -0
  700. /package/dist/{barchart2-DT42I747.js.map → barchart2-DRNQQJE2.js.map} +0 -0
  701. /package/dist/{block-UYYJXSCM.js.map → block-J3A3RIGS.js.map} +0 -0
  702. /package/dist/{block.init-43M53IMA.js.map → block.init-MQKMDKKW.js.map} +0 -0
  703. /package/dist/{block.mds.expressionrank-YH3IWMKM.js.map → block.mds.expressionrank-ZQEPPDEL.js.map} +0 -0
  704. /package/dist/{block.mds.geneboxplot-QS2IK37X.js.map → block.mds.geneboxplot-VJTIMZ6H.js.map} +0 -0
  705. /package/dist/{block.mds.junction-7FF5BFEX.js.map → block.mds.junction-VTAMQ2CW.js.map} +0 -0
  706. /package/dist/{block.mds.svcnv-MMJYLL2W.js.map → block.mds.svcnv-WG7WY3CS.js.map} +0 -0
  707. /package/dist/{block.svg-SA6DSUM2.js.map → block.svg-YTWYGSGO.js.map} +0 -0
  708. /package/dist/{block.tk.aicheck-ZX5LZ2QO.js.map → block.tk.aicheck-L4M55U63.js.map} +0 -0
  709. /package/dist/{block.tk.ase-YXT4BOXK.js.map → block.tk.ase-3OBVSGWM.js.map} +0 -0
  710. /package/dist/{block.tk.bam-IMLRIOOV.js.map → block.tk.bam-QUCP3HST.js.map} +0 -0
  711. /package/dist/{block.tk.bedgraphdot-UYQLL7HM.js.map → block.tk.bedgraphdot-BGAH5YPF.js.map} +0 -0
  712. /package/dist/{block.tk.bigwig.ui-WUVLVRSM.js.map → block.tk.bigwig.ui-2MG6VMOE.js.map} +0 -0
  713. /package/dist/{block.tk.hicstraw-N4SJGF7H.js.map → block.tk.hicstraw-MDQHFWBB.js.map} +0 -0
  714. /package/dist/{block.tk.junction-LZWHFKWJ.js.map → block.tk.junction-PBCJTAFX.js.map} +0 -0
  715. /package/dist/{block.tk.junction.textmatrixui-B626NYPA.js.map → block.tk.junction.textmatrixui-FJR76QBO.js.map} +0 -0
  716. /package/dist/{block.tk.ld-6VWUMAP6.js.map → block.tk.ld-ISL7K3DH.js.map} +0 -0
  717. /package/dist/{block.tk.menu-RRN2UPQX.js.map → block.tk.menu-VQW3FUAF.js.map} +0 -0
  718. /package/dist/{block.tk.pgv-GYG3EI6P.js.map → block.tk.pgv-RMXDF3XD.js.map} +0 -0
  719. /package/dist/{brainImaging-VIMLETC5.js.map → brainImaging-F4GZRF53.js.map} +0 -0
  720. /package/dist/{brainRegions-DRYZT5K5.js.map → brainRegions-ONUXPD7P.js.map} +0 -0
  721. /package/dist/{bubbleHeatmap-Y4SGMVJY.js.map → bubbleHeatmap-ZOS2ME3T.js.map} +0 -0
  722. /package/dist/{cellTypeBubbleHeatmap-QW37ZT5W.js.map → cellTypeBubbleHeatmap-BEVDWLHJ.js.map} +0 -0
  723. /package/dist/{chunk-DCNDZOI3.js.map → chunk-2JQWA4EO.js.map} +0 -0
  724. /package/dist/{chunk-DHPLHIVP.js.map → chunk-2TZITKMT.js.map} +0 -0
  725. /package/dist/{chunk-MUJMZ6W6.js.map → chunk-4BDOPNYW.js.map} +0 -0
  726. /package/dist/{chunk-JLGCQ2F4.js.map → chunk-4RWLKZMS.js.map} +0 -0
  727. /package/dist/{chunk-2ZTCRUOL.js.map → chunk-57GCW5SF.js.map} +0 -0
  728. /package/dist/{chunk-RZGEKL77.js.map → chunk-5RUVBYLK.js.map} +0 -0
  729. /package/dist/{chunk-QHPN3JJZ.js.map → chunk-5YOZ4E5H.js.map} +0 -0
  730. /package/dist/{chunk-GL44X7JY.js.map → chunk-6N5DNN7P.js.map} +0 -0
  731. /package/dist/{chunk-5VMYXVZG.js.map → chunk-AOVDTRFY.js.map} +0 -0
  732. /package/dist/{chunk-QSGXZEUU.js.map → chunk-BIDQ4OZH.js.map} +0 -0
  733. /package/dist/{chunk-Z7VK2AMA.js.map → chunk-C34UTN5M.js.map} +0 -0
  734. /package/dist/{chunk-7ZVFLC2V.js.map → chunk-DFHSLHXZ.js.map} +0 -0
  735. /package/dist/{chunk-2Y5C7GJS.js.map → chunk-E2JRANYL.js.map} +0 -0
  736. /package/dist/{chunk-CRH37PEV.js.map → chunk-FESRWKYY.js.map} +0 -0
  737. /package/dist/{chunk-DKAHHMKN.js.map → chunk-GMJSMF7P.js.map} +0 -0
  738. /package/dist/{chunk-ZH7JPYQE.js.map → chunk-HDPL53U4.js.map} +0 -0
  739. /package/dist/{chunk-ZVDOSFWU.js.map → chunk-HOCICSX4.js.map} +0 -0
  740. /package/dist/{chunk-4H4WJJ2G.js.map → chunk-HV3GD2F3.js.map} +0 -0
  741. /package/dist/{chunk-KPTPDZX2.js.map → chunk-IGVKT4CE.js.map} +0 -0
  742. /package/dist/{chunk-FYAY6D3O.js.map → chunk-IMKIDF2H.js.map} +0 -0
  743. /package/dist/{chunk-EQCVSUAF.js.map → chunk-ITKMNOLR.js.map} +0 -0
  744. /package/dist/{chunk-JQYPRW42.js.map → chunk-JABW3SRG.js.map} +0 -0
  745. /package/dist/{chunk-XJBSBIZ4.js.map → chunk-KDNYUHAH.js.map} +0 -0
  746. /package/dist/{chunk-SOCGXVIL.js.map → chunk-KSA3ND7Z.js.map} +0 -0
  747. /package/dist/{chunk-5ITKSTJX.js.map → chunk-LCRPBPKX.js.map} +0 -0
  748. /package/dist/{chunk-SZHFBRRT.js.map → chunk-NIZTWHGT.js.map} +0 -0
  749. /package/dist/{chunk-UJN2RH5R.js.map → chunk-OCC5HEPR.js.map} +0 -0
  750. /package/dist/{chunk-KZFVYDVK.js.map → chunk-OMIUJ7JT.js.map} +0 -0
  751. /package/dist/{chunk-K4IGOJPT.js.map → chunk-ONCG5AKF.js.map} +0 -0
  752. /package/dist/{chunk-C5IAIOCA.js.map → chunk-OW5LD7S2.js.map} +0 -0
  753. /package/dist/{chunk-CIRCVMWE.js.map → chunk-PY4QOYPK.js.map} +0 -0
  754. /package/dist/{chunk-NRP55BOF.js.map → chunk-Q3QY7QGU.js.map} +0 -0
  755. /package/dist/{chunk-3P74DH6P.js.map → chunk-RL3IRMOA.js.map} +0 -0
  756. /package/dist/{chunk-XIBY5I6F.js.map → chunk-SCOFWMSE.js.map} +0 -0
  757. /package/dist/{chunk-KW7MKBGF.js.map → chunk-SMOHPEMJ.js.map} +0 -0
  758. /package/dist/{chunk-3O6XFPUB.js.map → chunk-SNL7MSZD.js.map} +0 -0
  759. /package/dist/{chunk-TPVHGI7Q.js.map → chunk-SP7HDNXC.js.map} +0 -0
  760. /package/dist/{chunk-4KY4XKJV.js.map → chunk-UILBQKQ6.js.map} +0 -0
  761. /package/dist/{chunk-TOYMIFHN.js.map → chunk-UTNJA7JC.js.map} +0 -0
  762. /package/dist/{chunk-YMP4YKBN.js.map → chunk-VJCJCDFI.js.map} +0 -0
  763. /package/dist/{chunk-IIT367QZ.js.map → chunk-VSSZJHOR.js.map} +0 -0
  764. /package/dist/{chunk-XZ4M3QAV.js.map → chunk-W2WOZNEN.js.map} +0 -0
  765. /package/dist/{chunk-V2DU2OXH.js.map → chunk-WJTRQ3ZC.js.map} +0 -0
  766. /package/dist/{chunk-4USLEUNR.js.map → chunk-X4QQRHFB.js.map} +0 -0
  767. /package/dist/{chunk-JQT67SWE.js.map → chunk-Y2UCJ33M.js.map} +0 -0
  768. /package/dist/{chunk-3PPCZPLN.js.map → chunk-Y45RZL4F.js.map} +0 -0
  769. /package/dist/{chunk-ECIBJXFT.js.map → chunk-Z2TA7NML.js.map} +0 -0
  770. /package/dist/{chunk-C2JHLAKV.js.map → chunk-Z7U74YGW.js.map} +0 -0
  771. /package/dist/{chunk-FXS4I3Z3.js.map → chunk-ZKMBNB5E.js.map} +0 -0
  772. /package/dist/{chunk-M77DCLJX.js.map → chunk-ZPBG6CT3.js.map} +0 -0
  773. /package/dist/{chunk-X7KRSZQT.js.map → chunk-ZUDSOVYT.js.map} +0 -0
  774. /package/dist/{cohort-CEYVJJ7E.js.map → cohort-R743ZSCR.js.map} +0 -0
  775. /package/dist/{condition-QSOFP4MY.js.map → condition-MPZIRRGP.js.map} +0 -0
  776. /package/dist/{controls-QYHARIEY.js.map → controls-WD5TZITZ.js.map} +0 -0
  777. /package/dist/{controls.btns-AP67YWKW.js.map → controls.btns-KCLXBXSL.js.map} +0 -0
  778. /package/dist/{controls.config-3OO3JK6E.js.map → controls.config-577UCREO.js.map} +0 -0
  779. /package/dist/{correlation-TOI3TMYL.js.map → correlation-OCFBDDOX.js.map} +0 -0
  780. /package/dist/{cuminc.integration.spec-LSWV3KOF.js.map → cuminc.integration.spec-V46K57GV.js.map} +0 -0
  781. /package/dist/{customdata.inputui-VMB3HSSC.js.map → customdata.inputui-2MS5ZRKC.js.map} +0 -0
  782. /package/dist/{dataDownload.integration.spec-J6FRFLBK.js.map → dataDownload.integration.spec-TEOJOMYK.js.map} +0 -0
  783. /package/dist/{databrowser.ui-GVYWG6YI.js.map → databrowser.ui-PDPFHOH7.js.map} +0 -0
  784. /package/dist/{dictionary-GD67R72W.js.map → dictionary-MWUQYW6W.js.map} +0 -0
  785. /package/dist/{dnaMethylation-S7OSGLAF.js.map → dnaMethylation-SNVVE2MD.js.map} +0 -0
  786. /package/dist/{dnaMethylation.integration.spec-ETMMJNDE.js.map → dnaMethylation.integration.spec-OSYZ3YDP.js.map} +0 -0
  787. /package/dist/{dofetch-7GURQS65.js.map → dofetch-7R7PL4BX.js.map} +0 -0
  788. /package/dist/{e2pca-ZIIPBJFN.js.map → e2pca-7FYIWR5O.js.map} +0 -0
  789. /package/dist/{ep-A2HAL5WA.js.map → ep-PTAJZLKI.js.map} +0 -0
  790. /package/dist/{expclust.gdc.spec-ZSILLYNI.js.map → expclust.gdc.spec-2R7T7JPY.js.map} +0 -0
  791. /package/dist/{gb-C3MPQXKN.js.map → gb-5UFIDQWY.js.map} +0 -0
  792. /package/dist/{geneExpClustering-HYCFUUTU.js.map → geneExpClustering-QLBETGVB.js.map} +0 -0
  793. /package/dist/{geneExpression-JXSAP2H7.js.map → geneExpression-SAMLSOHQ.js.map} +0 -0
  794. /package/dist/{geneExpression-GATKMJJ5.js.map → geneExpression-SECTPIDT.js.map} +0 -0
  795. /package/dist/{geneExpression.unit.spec-CODZYFHZ.js.map → geneExpression.unit.spec-UNRGPJIG.js.map} +0 -0
  796. /package/dist/{geneORA-LJRIR4VV.js.map → geneORA-CCQGE7QL.js.map} +0 -0
  797. /package/dist/{geneRanking-TWLBKQZG.js.map → geneRanking-NVR7ZZIP.js.map} +0 -0
  798. /package/dist/{geneVariant-35RQHTCK.js.map → geneVariant-5KL2J3NA.js.map} +0 -0
  799. /package/dist/{geneVariant-TMJJIMUF.js.map → geneVariant-72E5YEPJ.js.map} +0 -0
  800. /package/dist/{geneVariant.integration.spec-FIQ7IBSD.js.map → geneVariant.integration.spec-7JLVYF7Q.js.map} +0 -0
  801. /package/dist/{genefusion.ui-SOBESSNO.js.map → genefusion.ui-M3IG6NUU.js.map} +0 -0
  802. /package/dist/{geneset-JXEJFEK2.js.map → geneset-V2535XGY.js.map} +0 -0
  803. /package/dist/{genomeBrowser.spec-25ZO5S2X.js.map → genomeBrowser.spec-TRREAQCH.js.map} +0 -0
  804. /package/dist/{grin2-CW4RPVPI.js.map → grin2-6X5GCPBQ.js.map} +0 -0
  805. /package/dist/{grin2-EI5BVP4E.js.map → grin2-GOO7H3RC.js.map} +0 -0
  806. /package/dist/{hierCluster-OBBPQH24.js.map → hierCluster-5YZOCCTV.js.map} +0 -0
  807. /package/dist/{hierCluster-SDH3TJQY.js.map → hierCluster-ZPQCUSVO.js.map} +0 -0
  808. /package/dist/{hierCluster.config-DO67TCXI.js.map → hierCluster.config-T3Y2LS6V.js.map} +0 -0
  809. /package/dist/{hierCluster.integration.spec-EB24C4VZ.js.map → hierCluster.integration.spec-PTXVQH77.js.map} +0 -0
  810. /package/dist/{hierCluster.interactivity-LGEAFT5T.js.map → hierCluster.interactivity-JNBO3MJB.js.map} +0 -0
  811. /package/dist/{importPlot-R2WRZGZU.js.map → importPlot-CWMBFQDD.js.map} +0 -0
  812. /package/dist/{isoformExpression-KI3WY5M3.js.map → isoformExpression-ABPY2N3A.js.map} +0 -0
  813. /package/dist/{isoformExpression.unit.spec-OQRG2DDU.js.map → isoformExpression.unit.spec-KRAZBQVF.js.map} +0 -0
  814. /package/dist/{junction-6SWFPNM5.js.map → junction-XGCBNVHV.js.map} +0 -0
  815. /package/dist/{junction.unit.spec-5TZFITSU.js.map → junction.unit.spec-XZFUJRI3.js.map} +0 -0
  816. /package/dist/{launch.adhoc-HCX2RQLB.js.map → launch.adhoc-7FJD3XSI.js.map} +0 -0
  817. /package/dist/{leftlabel.sample-OI6XCXTQ.js.map → leftlabel.sample-VPOZWRVY.js.map} +0 -0
  818. /package/dist/{lollipop-SOSOYHYL.js.map → lollipop-WBOAFWWO.js.map} +0 -0
  819. /package/dist/{maftimeline-UOMLYUNI.js.map → maftimeline-UK4MQP2D.js.map} +0 -0
  820. /package/dist/{matrix-5QWDN6SI.js.map → matrix-AT2FFTWO.js.map} +0 -0
  821. /package/dist/{matrix-SKPVVDVR.js.map → matrix-AU6NPNID.js.map} +0 -0
  822. /package/dist/{matrix.config-HE64MAL4.js.map → matrix.config-VTQ6HL5L.js.map} +0 -0
  823. /package/dist/{matrix.data-HTUZXQAM.js.map → matrix.data-DBYXSWIN.js.map} +0 -0
  824. /package/dist/{matrix.dom-F7AN3QGE.js.map → matrix.dom-DDPSUNY2.js.map} +0 -0
  825. /package/dist/{matrix.integration.spec-YKJ4LZFY.js.map → matrix.integration.spec-NJ2AXQAS.js.map} +0 -0
  826. /package/dist/{matrix.interactivity-YB5G5W5T.js.map → matrix.interactivity-HE2Q6SAO.js.map} +0 -0
  827. /package/dist/{matrix.layout-MFG65V7K.js.map → matrix.layout-FD5BPRCX.js.map} +0 -0
  828. /package/dist/{matrix.renderers-PCZFHDDZ.js.map → matrix.renderers-DVM4NB2R.js.map} +0 -0
  829. /package/dist/{matrix.sort.unit.spec-GEAM5DSU.js.map → matrix.sort.unit.spec-VQ3TR4S2.js.map} +0 -0
  830. /package/dist/{matrix.sorterUi-YSKIX6B6.js.map → matrix.sorterUi-4KYRGJT5.js.map} +0 -0
  831. /package/dist/{matrix.sorterUi.unit.spec-2MW64QS5.js.map → matrix.sorterUi.unit.spec-IEHG3OKN.js.map} +0 -0
  832. /package/dist/{mavb-YMHJXCGA.js.map → mavb-RPRKXPTZ.js.map} +0 -0
  833. /package/dist/{mds.fimo-PTEDRMLQ.js.map → mds.fimo-PZCVBD44.js.map} +0 -0
  834. /package/dist/{mds.samplescatterplot-7R7PLVQJ.js.map → mds.samplescatterplot-236GTHM4.js.map} +0 -0
  835. /package/dist/{mds.survivalplot-F3EENMFQ.js.map → mds.survivalplot-IJHOWSZL.js.map} +0 -0
  836. /package/dist/{oncomatrix-27VVSMZB.js.map → oncomatrix-R4OKDXSV.js.map} +0 -0
  837. /package/dist/{oncomatrix.spec-F43Y7CWN.js.map → oncomatrix.spec-4Z4HKS44.js.map} +0 -0
  838. /package/dist/{plot.2dvaf-MYFQSWIA.js.map → plot.2dvaf-ZK7DAKRQ.js.map} +0 -0
  839. /package/dist/{plot.app-36QWCKXR.js.map → plot.app-J66BA2LD.js.map} +0 -0
  840. /package/dist/{plot.barplot-535EP7XT.js.map → plot.barplot-UVRVPOKA.js.map} +0 -0
  841. /package/dist/{plot.boxplot-6IBP7VEB.js.map → plot.boxplot-DQGBDNLU.js.map} +0 -0
  842. /package/dist/{plot.brainImaging-M4HPNXZH.js.map → plot.brainImaging-WRMDYYHC.js.map} +0 -0
  843. /package/dist/{plot.disco-HIT6GR44.js.map → plot.disco-SSGPSM7W.js.map} +0 -0
  844. /package/dist/{plot.dzi-W66SBKTH.js.map → plot.dzi-F77KKPIJ.js.map} +0 -0
  845. /package/dist/{plot.ssgq-MI2OMCUY.js.map → plot.ssgq-FVFJOYVO.js.map} +0 -0
  846. /package/dist/{plot.vaf2cov-F4CBMLRA.js.map → plot.vaf2cov-CJSYBSPQ.js.map} +0 -0
  847. /package/dist/{plot.wsi-7M5KTNFC.js.map → plot.wsi-OSZU2PQ5.js.map} +0 -0
  848. /package/dist/{polar2-7VSWGT4U.js.map → polar2-R4ZKXKEV.js.map} +0 -0
  849. /package/dist/{profilePlot-ECTPPVB2.js.map → profilePlot-JU7SFYYY.js.map} +0 -0
  850. /package/dist/{proteinView-6ELOLOIU.js.map → proteinView-VU4SVO5I.js.map} +0 -0
  851. /package/dist/{proteomeCohortCompare-V2FMWI62.js.map → proteomeCohortCompare-2U537GOK.js.map} +0 -0
  852. /package/dist/{pseudbulk.unit.spec-KV6URTXC.js.map → pseudbulk.unit.spec-2FDKAEVI.js.map} +0 -0
  853. /package/dist/{pseudobulk-6ZRFCE65.js.map → pseudobulk-5GBUBBOY.js.map} +0 -0
  854. /package/dist/{qualitative-3B62RUOB.js.map → qualitative-3FTEQ7JW.js.map} +0 -0
  855. /package/dist/{radar2-4QQER64E.js.map → radar2-EBOTTAMC.js.map} +0 -0
  856. /package/dist/{radarFacility2-MZKORRDY.js.map → radarFacility2-PAGNJR6D.js.map} +0 -0
  857. /package/dist/{regression-GZ2YNX6Y.js.map → regression-XOVSVC7S.js.map} +0 -0
  858. /package/dist/{regression.inputs-ZEFDNSVT.js.map → regression.inputs-LGA67ESO.js.map} +0 -0
  859. /package/dist/{regression.inputs.term-O2FQBX7L.js.map → regression.inputs.term-UCQKXC5D.js.map} +0 -0
  860. /package/dist/{regression.inputs.values.table-63BQKSZP.js.map → regression.inputs.values.table-2RRE7SMS.js.map} +0 -0
  861. /package/dist/{regression.integration.spec-KDHC3KDU.js.map → regression.integration.spec-BKM5UI7H.js.map} +0 -0
  862. /package/dist/{regression.results-5J3QM4RX.js.map → regression.results-T3HB6CBH.js.map} +0 -0
  863. /package/dist/{regression.spec-WZAZTDDA.js.map → regression.spec-W7IVCYVZ.js.map} +0 -0
  864. /package/dist/{render-MZTEXVU5.js.map → render-2C6LWNG2.js.map} +0 -0
  865. /package/dist/{report-M5TYHH2W.js.map → report-HRGU3XKL.js.map} +0 -0
  866. /package/dist/{sampleView-QYTLYJEW.js.map → sampleView-P5JZHEKY.js.map} +0 -0
  867. /package/dist/{samplelst-FN3Q7M7A.js.map → samplelst-OYQ6BASU.js.map} +0 -0
  868. /package/dist/{samplematrix-Z5FVODO7.js.map → samplematrix-JC3SGO5V.js.map} +0 -0
  869. /package/dist/{sc-4CHP5SYP.js.map → sc-FTHUNDGY.js.map} +0 -0
  870. /package/dist/{scatter-UOPJYXL3.js.map → scatter-WYP2NPNB.js.map} +0 -0
  871. /package/dist/{selectGenomeWithTklst-WMAHGT4F.js.map → selectGenomeWithTklst-CIETKILP.js.map} +0 -0
  872. /package/dist/{singleCellCellType-XPWENB6V.js.map → singleCellCellType-3O3TTLM6.js.map} +0 -0
  873. /package/dist/{singleCellCellType.unit.spec-QK56PHKW.js.map → singleCellCellType.unit.spec-GHBS36DB.js.map} +0 -0
  874. /package/dist/{singleCellGeneExpression-4CEVDVYF.js.map → singleCellGeneExpression-2F7F4EKK.js.map} +0 -0
  875. /package/dist/{singleCellGeneExpression.unit.spec-ZYRLBVF5.js.map → singleCellGeneExpression.unit.spec-2VGIH2NZ.js.map} +0 -0
  876. /package/dist/{singleCellPlot-JS74VUGC.js.map → singleCellPlot-MGSS4O3L.js.map} +0 -0
  877. /package/dist/{singlecell-OO77XBDD.js.map → singlecell-CKC2VVJ3.js.map} +0 -0
  878. /package/dist/{singlecell-5XYOHMWJ.js.map → singlecell-QOXATRF4.js.map} +0 -0
  879. /package/dist/{snp-X5ZILM5J.js.map → snp-OSYJO2R7.js.map} +0 -0
  880. /package/dist/{snp.unit.spec-V23G3JLJ.js.map → snp.unit.spec-L5ANPFO2.js.map} +0 -0
  881. /package/dist/{snplocus-U5UIIUWR.js.map → snplocus-64MJJID2.js.map} +0 -0
  882. /package/dist/{spliceevent.a53ss.diagram-YDFVSDMT.js.map → spliceevent.a53ss.diagram-LHRT5UPB.js.map} +0 -0
  883. /package/dist/{spliceevent.exonskip.diagram-VDKN5JBE.js.map → spliceevent.exonskip.diagram-BGSEPGR5.js.map} +0 -0
  884. /package/dist/{spliceevent.noeventdiagram-EFPFRUFI.js.map → spliceevent.noeventdiagram-QGZZSKW7.js.map} +0 -0
  885. /package/dist/{ssGSEA-LKJW5OQK.js.map → ssGSEA-VVAZDFDT.js.map} +0 -0
  886. /package/dist/{ssGSEA.unit.spec-7WCZVEP2.js.map → ssGSEA.unit.spec-LP76RHTV.js.map} +0 -0
  887. /package/dist/{studyCatalog-EU33KE5H.js.map → studyCatalog-AXWH7IOH.js.map} +0 -0
  888. /package/dist/{summarizeCnvGeneexp-QL25OQNB.js.map → summarizeCnvGeneexp-DRBIXOAP.js.map} +0 -0
  889. /package/dist/{summarizeGeneexpSurvival-B7HTCH7L.js.map → summarizeGeneexpSurvival-4PATAUSN.js.map} +0 -0
  890. /package/dist/{summarizeMutationCnv-DFAPX2JE.js.map → summarizeMutationCnv-UGSIGZDJ.js.map} +0 -0
  891. /package/dist/{summarizeMutationDiagnosis-HCSDSVII.js.map → summarizeMutationDiagnosis-UATVI5BK.js.map} +0 -0
  892. /package/dist/{summarizeMutationSurvival-6WEASSA2.js.map → summarizeMutationSurvival-CZXGM3AA.js.map} +0 -0
  893. /package/dist/{summary-BWYXE77G.js.map → summary-IGTXNQ5I.js.map} +0 -0
  894. /package/dist/{summary.integration.spec-AVGSW5MF.js.map → summary.integration.spec-VFCYU2V6.js.map} +0 -0
  895. /package/dist/{summaryInput-MOQ6HUCX.js.map → summaryInput-AFZSASTM.js.map} +0 -0
  896. /package/dist/{sunburst-EZDHVJCL.js.map → sunburst-G7DBI637.js.map} +0 -0
  897. /package/dist/{survival-IEVELTC4.js.map → survival-YOJBLMR2.js.map} +0 -0
  898. /package/dist/{survival.integration.spec-HHWP3R4H.js.map → survival.integration.spec-FXPCZJSS.js.map} +0 -0
  899. /package/dist/{svgraph-55XRIYJW.js.map → svgraph-ZSSOWI7R.js.map} +0 -0
  900. /package/dist/{svmr-CMEBFSRO.js.map → svmr-FPYSMXSC.js.map} +0 -0
  901. /package/dist/{termCollection-CPQXYBFA.js.map → termCollection-IY5V64IY.js.map} +0 -0
  902. /package/dist/{termCollection-ZWOH273K.js.map → termCollection-SR4SP6RZ.js.map} +0 -0
  903. /package/dist/{termCollection.unit.spec-RK7VATLU.js.map → termCollection.unit.spec-NL72AQ2P.js.map} +0 -0
  904. /package/dist/{termCollectionFractionSelection-Z4ZRW63R.js.map → termCollectionFractionSelection-2LPBE224.js.map} +0 -0
  905. /package/dist/{termCollectionFractionSelection.unit.spec-3CS7DPNU.js.map → termCollectionFractionSelection.unit.spec-PUMGBUDN.js.map} +0 -0
  906. /package/dist/{termInfo-6MJDJSDW.js.map → termInfo-2DR7DHXM.js.map} +0 -0
  907. /package/dist/{tk-RHWJJXH2.js.map → tk-COBDWIZJ.js.map} +0 -0
  908. /package/dist/{tk-4NNTWWLK.js.map → tk-N2YBXDQK.js.map} +0 -0
  909. /package/dist/{tp.ui-DPN5UN6U.js.map → tp.ui-BMK2MMIJ.js.map} +0 -0
  910. /package/dist/{tvs.dt-ARPDFRVM.js.map → tvs.dt-KL4VCW5Y.js.map} +0 -0
  911. /package/dist/{tvs.dtcnv.categorical-POS6WQK6.js.map → tvs.dtcnv.categorical-VGXOASJE.js.map} +0 -0
  912. /package/dist/{tvs.dtcnv.continuous-5OETJ7JU.js.map → tvs.dtcnv.continuous-IANT7BPS.js.map} +0 -0
  913. /package/dist/{tvs.dtfusion-ERYVI3DW.js.map → tvs.dtfusion-M5HJWCJI.js.map} +0 -0
  914. /package/dist/{tvs.dtitd-KTZZYEWU.js.map → tvs.dtitd-KB72EDPN.js.map} +0 -0
  915. /package/dist/{tvs.dtsnvindel-TGUAX3RN.js.map → tvs.dtsnvindel-VGYTLO6E.js.map} +0 -0
  916. /package/dist/{tvs.dtsv-AM63OIL6.js.map → tvs.dtsv-KWUXW2F5.js.map} +0 -0
  917. /package/dist/{tvs.samplelst-VW2NOQ2C.js.map → tvs.samplelst-3UA7XMHJ.js.map} +0 -0
  918. /package/dist/{tvs.termCollection-O4ZSWJFA.js.map → tvs.termCollection-LK6CVGYZ.js.map} +0 -0
  919. /package/dist/{violin-ZQ3DEYGR.js.map → violin-D4EX3ZFV.js.map} +0 -0
  920. /package/dist/{violin.integration.spec-PVEF77HB.js.map → violin.integration.spec-GBW3VBHW.js.map} +0 -0
  921. /package/dist/{violin.interactivity-FYU4TCFO.js.map → violin.interactivity-N3JVI2AQ.js.map} +0 -0
  922. /package/dist/{violin.renderer-XAERGBMV.js.map → violin.renderer-2NYRUXUY.js.map} +0 -0
  923. /package/dist/{vocabulary-ECJX27W2.js.map → vocabulary-277KD4RO.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../rx/src/utils.ts", "../rx/src/Bus.ts", "../rx/src/AppApi.ts", "../rx/src/StoreApi.ts", "../rx/src/ComponentApi.ts", "../rx/src/wrappers.ts", "../rx/src/StoreBase.ts"],
4
+ "sourcesContent": ["/**************\nUtility Classes\n***************/\n\n/******************\n Detached Helpers\n******************/\n/*\n\tMethods to attach directly to an instance\n\tinside a class contructor method.\n\t\n\tThis is recommended instead of using \n\tinheritance via \"extends\", since this \"mixin\" \n\tapproach:\n\n\t- makes it clearer which instance method corresponds\n\t to what rx method\n\t\n\t- it is not susceptible to any class prototype edits\n\t that may affect all instances that inherits from \n\t the edited class\n\n\t- avoids conceptual association of classical\n\t inheritance using the \"extends\" keyword\n*/\n\n// x, y: objects to compare\n// matched: a tracker for x nested object values that's already been inspected\n// and found to match the corresponding value in y. This is useful when\n// using deepEqual() in deepCopyFreeze(), since it returns early when\n// some value does not match, but there may have been other nested objects\n// that have already been matched that do not need to be inspected again.\n//\n// NOTE: The 2nd argument will be frozen if added to the optional matched argument.\n// May improve the matched argument later into an opts{} argument, as needed.\nexport function deepEqual(x, y, matched?: WeakMap<any, WeakSet<any>> | Map<any, WeakSet<any>>) {\n\tif (x === y) {\n\t\treturn true\n\t} else if (typeof x == 'object' && x != null && typeof y == 'object' && y != null) {\n\t\tif (matched?.get(x)?.has(y)) return true\n\t\tconst xEntries = Object.entries(x)\n\t\tconst yKeys = Object.keys(y)\n\t\tif (xEntries.length != yKeys.length) return false\n\t\t// an empty object and empty array should not equal each other\n\t\tif (!xEntries.length && x.constructor.name !== y.constructor.name) return false\n\t\t// not using for..in loop, in order to not descend into inherited props/methods\n\t\tfor (const [key, val] of xEntries) {\n\t\t\tif (!yKeys.includes(key)) return false\n\t\t\tif (!deepEqual(val, y[key], matched)) return false\n\t\t}\n\t\tif (matched) {\n\t\t\tObject.freeze(y)\n\t\t\tif (!matched.has(x)) matched.set(x, new WeakSet())\n\t\t\tmatched.get(x)!.add(y)\n\t\t}\n\t\treturn true\n\t} else return false\n}\n\nexport function deepFreeze(obj) {\n\tObject.freeze(obj)\n\t// not using for..in loop, in order to not descend into inherited props/methods\n\tfor (const value of Object.values(obj)) {\n\t\tif (value !== null && typeof value == 'object') deepFreeze(value)\n\t}\n\treturn obj\n}\n\n// a reusable reference to an empty object\nconst emptyFrozenObj = Object.freeze({})\n\n// deepCopyFreez()\n//\n// input:\n// - object to copy\n// - may be mutated to freeze a class instance (or TODO: replace literal objects\n// with isolated mutable copies that are only accessible to the consumer code,\n// such as an rx store instance)\n// ref: may reuse another copy that's already frozen, if it already equals the input\n// matched: a tracker to supply as 3rd argument to deepEqual(), to track objects\n// that equal the second argument.\nexport function deepCopyFreeze(\n\tinput,\n\tref: any = {},\n\tmatched: WeakMap<any, WeakSet<any>> | Map<any, WeakSet<any>> = new Map()\n) {\n\t// non-objects will be returned as-is\n\tif (input === null || typeof input != 'object') return input\n\t// detect non-literal objects with a deepFreeze() method; class instances\n\t// without that method is assumed to be created by embedder code and should not be mutated,\n\t// cannot safely reuse the instance as-is\n\tif (\n\t\tinput.constructor.name !== 'Object' &&\n\t\tinput.constructor.name !== 'Array' &&\n\t\ttypeof input.deepFreeze == 'function'\n\t) {\n\t\t// class instances (non-literal objects) will be returned as-is but frozen,\n\t\t// i.e., a reference to the instances is returned instead of a copy\n\t\tif (!matched.has(input)) matched.set(input, new WeakSet())\n\t\tmatched.get(input)!.add(input)\n\t\treturn input.deepFreeze()\n\t}\n\tif (deepEqual(input, ref, matched)) return Object.freeze(ref)\n\tconst copy = Array.isArray(input) ? [] : {}\n\t// ref argument may be a non-object (string, number, etc), where\n\t// ref?.[key] (such as 1['test'] or \"abc\"['test']) would still work\n\t// but is not really an intended, valid comparison with an input object\n\tconst _ref = ref === null || typeof ref !== 'object' ? emptyFrozenObj : ref\n\t// not using for..in loop, in order to not descend into inherited props/methods\n\tfor (const [key, value] of Object.entries(input)) {\n\t\tcopy[key] = deepCopyFreeze(value, _ref[key], matched)\n\t}\n\treturn Object.freeze(copy)\n}\n\nexport async function notifyComponents(components, current) {\n\tif (!components) return // allow component-less app\n\tconst called: any[] = []\n\n\tfor (const name of Object.keys(components)) {\n\t\t// when components is array, name will be index\n\t\tconst component = components[name]\n\t\tif (Array.isArray(component)) {\n\t\t\tfor (const c of component) called.push(c.update(current))\n\t\t} else if (typeof component == 'object') {\n\t\t\tif (typeof component.update == 'function') {\n\t\t\t\tcalled.push(component.update(current))\n\t\t\t} else if (!component.main) {\n\t\t\t\tfor (const subname of Object.keys(component)) {\n\t\t\t\t\tif (typeof component[subname] == 'object' && typeof component[subname]?.update == 'function') {\n\t\t\t\t\t\tcalled.push(component[subname].update(current))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn Promise.all(called)\n}\n\n// Store Helpers\n// -------------\n\n/*\n\tbase: \n\t- either a state object or its JSON-stringified equivalent \n\t- will be over-written by second+ argument,\n\t similar to native Object.assign() overwrite sequence\n\n\targs\n\t- full or partial state object(s). if base is a string, then\n\t the arg object will be converted to/from JSON to\n\t create a copy for merging\n\t- the last argument may be an array of keys to force replacing\n\t an object value instead of extending it\n\n\tMerging behavior:\n\t- a base value that is an array or non-object will be replaced by matching arg key-value\n\t- a base value that is an object will be extended by a matching arg key-value\n\t- nested base object values will be extended recursively, instead of being swapped/replaced\n\t at the root level *** EXCEPT IF there is an isAtomic flag on one of these ****\n\t - the source\n\t - target object\n\t - target child object\n\t- see index.spec test for copyMerge details\n*/\nexport function copyMerge(base, ...args) {\n\tconst target = typeof base == 'string' ? fromJson(base) : base\n\tfor (const arg of args) {\n\t\tif (!arg) continue\n\t\tconst source = typeof base == 'string' ? fromJson(toJson(arg)) : arg\n\t\tfor (const [key, value] of Object.entries(source)) {\n\t\t\tif (\n\t\t\t\t!target[key] ||\n\t\t\t\tArray.isArray(target[key]) ||\n\t\t\t\ttypeof target[key] !== 'object' ||\n\t\t\t\tsource === null ||\n\t\t\t\tsource === undefined ||\n\t\t\t\tsource.isAtomic ||\n\t\t\t\ttarget?.isAtomic ||\n\t\t\t\ttarget[key]?.isAtomic\n\t\t\t) {\n\t\t\t\ttarget[key] = value\n\t\t\t} else copyMerge(target[key], value)\n\t\t}\n\t}\n\treturn target\n}\n\nexport function fromJson(objStr) {\n\t// this method should not be reused when there is\n\t// a need to recover any Set or Map values, instead\n\t// declare a class specific fromJson() method that has\n\t// new Set(arrOfValues) or new Map(arrOfPairedValues)\n\t//\n\t// also, do not use this when autogenerated IDs\n\t// need to be attached to list entries\n\t//\n\treturn JSON.parse(objStr)\n}\n\nexport function toJson(this: any, obj = null) {\n\t// this method should not be reused when there is\n\t// a need to stringify any Set or Map values,\n\t// instead declare a class specific toJson() method\n\t// that converts any Set or Map values to\n\t// [...Set] or [...Map] before JSON.stringify()\n\treturn JSON.stringify(obj ? obj : this.state)\n}\n\nexport function sleep(ms) {\n\treturn new Promise(resolve => setTimeout(resolve, ms))\n}\n\n// Component Helpers\n// -----------------\n\n// access the api of an indirectly connected component,\n// for example to subscribe an .on(event, listener) to\n// the event bus of a distant component\nexport function getComponents(components, dotSepNames) {\n\tif (!dotSepNames) return Object.assign({}, components)\n\t// string-based convenient accessor,\n\t// so instead of\n\t// app.getComponents().controls.getComponents().search,\n\t// simply\n\t// app.getComponents(\"controls.search\")\n\tconst names = dotSepNames.split('.')\n\tlet component = components\n\twhile (names.length) {\n\t\tlet name = names.shift()\n\t\tif (Array.isArray(component)) name = Number(name)\n\n\t\tif (!names.length) component = component[name]\n\t\telse if (component[name] && component[name].components) component = component[name].components\n\t\telse if (component[name] && component[name].getComponents) component = component[name].getComponents()\n\t\telse component = component[name]\n\t\tif (!component) break\n\t}\n\treturn component\n}\n", "/*\n\tA Bus instance will be its own api,\n\tsince it does not have a getApi() method.\n\tInstead, the mutable Bus instance will be hidden via the\n\tcomponent.api.on() method.\n*/\n\nexport class Bus {\n\tname: string\n\t/** \n\t \teventTypes[] \n\t\t\t- the events that this component wants to emit\n\t\t\t- e.g. ['postInit', 'postRender', 'postClick']\n\t\t\t- must not be namespaced\n\t\t\t- later, api.on() can use namespaced eventTypes\n\t*/\n\teventTypes: string[]\n\n\tevents: {\n\t\tpostInit?: (api: any) => void\n\t\tfirstRender?: (api: any) => void\n\t\tpostRender?: (api: any) => void\n\t\t//[eventName: string]?: (api: any) => void\n\t}\n\n\tdefaultArg: any\n\n\tconstructor(api, eventTypes, callbacks) {\n\t\t/*\n\t\t\tapi{} \n\t\t\t- the immutable api of the app or component\n\t\t\t\n\t\t\t\n\n\t\t\tcallbacks{}\n\t\t\t- any event listeners to set-up for this component \n\t\t\t- key: eventType, value: callback\n\n\t\t*/\n\t\tthis.name = api.type + (api.id === undefined || api.id === null ? '' : '#' + api.id)\n\t\tthis.eventTypes = eventTypes\n\t\tthis.events = {}\n\t\tthis.defaultArg = api\n\t\tif (callbacks) {\n\t\t\tfor (const [eventType, callback] of Object.entries(callbacks)) {\n\t\t\t\tthis.on(eventType, callback)\n\t\t\t}\n\t\t}\n\t}\n\n\ton(eventType, callback, opts: { wait?: number; [optsName: string]: any } = {}) {\n\t\t/*\n\t\tassign or delete a callback for an event\n\n\t\teventType\n\t\t- must match one of the eventTypes supplied to the Bus constructor\n\t\t- maybe be namespaced or not, example: \"postRender.test\" or \"postRender\"\n\t\t- any previous event-attached callbacks will be REPLACED in this bus \n\t\t when the same eventType is used as an argument again -- same behavior\n\t\t as a DOM event listener namespacing and replacement\n\n\t\tcallback\n\t\t- function. if missing will delete the eventType from bus\n\n\t\topts{}\n\t\t- optional callback configuration, such as\n\t\t.wait // to delay callback \n\t\t*/\n\t\tconst type = eventType.split('.').shift()\n\t\tif (!this.eventTypes.includes(type)) {\n\t\t\tthrow `Unknown bus event '${type}' for component ${this.name}`\n\t\t} else if (!callback) {\n\t\t\tdelete this.events[eventType]\n\t\t} else if (typeof callback == 'function') {\n\t\t\tif (eventType in this.events && !eventType.includes('.')) {\n\t\t\t\tconsole.log(`Warning: replacing ${this.name} ${eventType} callback - use event.name?`)\n\t\t\t}\n\t\t\tthis.events[eventType] = opts.wait ? arg => setTimeout(() => callback(arg), opts.wait) : callback\n\t\t} else {\n\t\t\tthrow `invalid callback for ${this.name} eventType=${eventType}`\n\t\t}\n\t\treturn this\n\t}\n\n\temit(eventType, arg = null, wait = 0, error = null) {\n\t\t/*\n\t\teventType\n\t\t- must be one of the eventTypes supplied to the Bus constructor\n\t\t- maybe be namespaced or not, example: \"postRender.test\" or \"postRender\"\n\n\t\targ\n\t\t- optional: the argument to supply to the callback\n\t\t if null or undefined, will use constructor() opts.defaultArg instead\n\n\t\twait\n\t\t- optional delay in calling the callback\n\t*/\n\t\tsetTimeout(() => {\n\t\t\tfor (const type of Object.keys(this.events)) {\n\t\t\t\tif (eventType == 'postRender' && type.startsWith('firstRender')) {\n\t\t\t\t\tthis.events[type](arg || this.defaultArg, error)\n\t\t\t\t\tdelete this.events[type]\n\t\t\t\t}\n\n\t\t\t\tif (type == eventType || type.startsWith(eventType + '.')) {\n\t\t\t\t\tthis.events[type](arg || this.defaultArg, error)\n\t\t\t\t\tif (eventType == 'postInit') delete this.events[type]\n\t\t\t\t}\n\t\t\t}\n\t\t}, wait)\n\t\treturn this\n\t}\n\n\tdestroy() {\n\t\tfor (const key in this.events) {\n\t\t\tdelete this.events[key]\n\t\t}\n\t}\n}\n", "import { type ComponentApi } from './ComponentApi.ts'\nimport { Bus } from './Bus.ts'\nimport { notifyComponents, getComponents } from './utils.ts'\n\ntype DispatchAction =\n\t| {\n\t\t\ttype: string\n\t\t\t[key: string]: any\n\t }\n\t| undefined\n\nexport interface RxApp {\n\ttype: string\n\tapi?: AppApi\n\tid: any\n\topts: any\n\tstate: any\n\tstore: any\n\tdebug?: boolean\n\t// should require dom to automate destroy()\n\tdom: {\n\t\t[index: string]: any\n\t}\n\tcomponents: ComponentApi[] | { [name: string]: ComponentApi | { [name: string]: ComponentApi } }\n\tpreApiFreeze?: (api: AppApi) => Promise<void>\n\tinit: () => Promise<void>\n\treactsTo?: (action: DispatchAction) => boolean\n\tgetState?: (appState: any) => any\n\thasStatePreMain?: boolean\n\tmain: (arg?: any) => void\n\tmainArg?: any\n\tprintError?: (any) => void\n\tdestroy?: () => void\n\t// may skip aborting previously dispatched actions in AppApi.dispatch()\n\t// if the new dispatched action doesn't affect all components; this will\n\t// allow plots and control menus to continue rendering while creating,\n\t// editing, or deleting another plot\n\tskipPrevActionAbort?: (action: DispatchAction) => boolean\n\n\tbus: Bus\n\teventTypes?: string[]\n\tcustomEvents?: string[]\n\twasDestroyed: boolean\n}\n\nexport class AppApi {\n\ttype = 'app'\n\tid: string\n\topts: any\n\tvocabApi: any\n\t#App: RxApp\n\tInner?: RxApp // only in debugmode\n\t#middlewares: any[] = []\n\tstate: any\n\n\t#latestActionSequenceId: number\n\t#abortController: AbortController = new AbortController()\n\t/** trackedAbortContrlsBySignal is used by trackAbortCtrlBySignal() */\n\t#trackedAbortContrlsBySignal = new WeakMap()\n\t#componentsByType: {\n\t\t[chartType: string]: {\n\t\t\t[plotId: string]: ComponentApi\n\t\t}\n\t} = {}\n\n\tstatic getInitFxn(__Class__) {\n\t\treturn async opts => {\n\t\t\tconst api = new AppApi(opts, __Class__)\n\t\t\tawait api.init()\n\t\t\treturn api\n\t\t}\n\t}\n\n\tconstructor(opts, __Class__) {\n\t\t// the component type + id may be used later to\n\t\t// simplify getting its state from the store\n\t\tconst self: RxApp = new __Class__(opts)\n\t\tself.opts = opts\n\t\tif (!self.id) self.id = opts.id || self.opts?.id\n\t\tif (!self.type) self.type = __Class__.type\n\t\tself.api = this\n\n\t\tthis.#App = self\n\t\tthis.id = self.id\n\t\tthis.type = self.type || __Class__.type\n\t\tthis.opts = opts\n\n\t\t// make it easy to access the private instance in debug mode, for testing\n\t\tif (self.debug || (self.opts && self.opts.debug)) this.Inner = self\n\n\t\tif (!self.eventTypes) self.eventTypes = ['preDispatch', 'postInit', 'postRender', 'firstRender', 'error']\n\t\tif (self.customEvents) self.eventTypes.push(...self.customEvents)\n\t\tself.bus = new Bus(this, self.eventTypes, opts.callbacks)\n\n\t\tthis.#latestActionSequenceId = 0\n\t}\n\n\tasync init() {\n\t\tif (this.#App.preApiFreeze) await this.#App.preApiFreeze(this)\n\t\tif (typeof this.#App.init === 'function') await this.#App.init()\n\t\tif (this.#App.bus) this.#App.bus.emit('postInit')\n\t}\n\n\tasync dispatch(action?: any) {\n\t\tconst self = this.#App\n\t\tself.bus.emit('preDispatch')\n\t\t// any active but stale async operation, like fetch, should be canceled\n\t\t// if a new dispatch supercedes previous dispatches.\n\t\t// NOTE: this cancellation should not affect synchronous steps\n\t\t//\n\t\t// NOTE: the controller is replaced only when it is actually aborted. Otherwise a skipped\n\t\t// action would orphan the previous controller, and the requests that it signaled could no\n\t\t// longer be canceled by a subsequent filter or cohort change.\n\t\tif (!self.skipPrevActionAbort?.(action)) {\n\t\t\tthis.#abortController?.abort('stale sequenceId')\n\t\t\tthis.#abortController = new AbortController()\n\t\t}\n\n\t\ttry {\n\t\t\tif (this.#middlewares.length) {\n\t\t\t\tfor (const fxn of this.#middlewares.slice()) {\n\t\t\t\t\tconst result = await fxn(action)\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tif (result.cancel) return\n\t\t\t\t\t\tif (result.error) throw result.error\n\t\t\t\t\t\tif (result.deactivate) {\n\t\t\t\t\t\t\tthis.#middlewares.splice(this.#middlewares.indexOf(fxn), 1)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// IMPORTANT: Since a dispatched action does not necessarily affect all plot,\n\t\t\t// there should not be any guard here to detect stale sequence ID. The app\n\t\t\t// must continue dispatching actions that may update a specific plot or component,\n\t\t\t// and allow a subsequent action to also update another component without canceling\n\t\t\t// the previous action. This allows plots to continue rendering without unnecessarily\n\t\t\t// aborting for unrelated dispatched actions. The main exception to these are changes\n\t\t\t// to global filter and cohort (action.type == 'filter_replace' || 'cohort_set'), which\n\t\t\t// are assumed to affect all plots and components - there excemptions are specified\n\t\t\t// in this.#App.skipPrevActionAbort().\n\n\t\t\t// expect store.write() to be debounced and handle rapid succession of dispatches\n\t\t\t// replace app.state if there is an action\n\t\t\tif (action) self.state = await self.store.write(action)\n\t\t\tthis.#latestActionSequenceId = action?.sequenceId\n\t\t\t// TODO: may need to group calls to this.main by action type and plot.id,\n\t\t\t// in order to debounce correctly\n\t\t\tif (self.main) await self.main()\n\t\t\tconst current = { action, appState: self.state }\n\t\t\tawait notifyComponents(current.action?._notificationRoot_ || self.components, current)\n\t\t} catch (e: any) {\n\t\t\tif (this.isAbortError(e) || (e && typeof e == 'object' && e.level === 'warn')) {\n\t\t\t\tself.bus.emit('postRender')\n\t\t\t\tconsole.warn(String(e))\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (self.wasDestroyed) return\n\t\t\tif (self.bus && this.#latestActionSequenceId == action?.sequenceId) self.bus.emit('error')\n\t\t\tif (self.printError) self.printError(e)\n\t\t\telse console.log(e)\n\t\t}\n\t\t// do not emit a postRender event if the action has become stale\n\t\tif (self.bus && this.#latestActionSequenceId == action?.sequenceId) self.bus.emit('postRender')\n\t\t//this.#abortController = undefined\n\t}\n\n\t// action: RxAction\n\tasync save(action) {\n\t\tconst self = this.#App\n\t\tif (self.wasDestroyed) return\n\t\t// save changes to store, do not notify components\n\t\tself.state = await self.store.write(action)\n\t\t// TODO: may generalize to use the key instead of hardcoding to only .recover\n\t\tif (this.#componentsByType.recover) {\n\t\t\tfor (const id in this.#componentsByType.recover) {\n\t\t\t\tconst api = this.#componentsByType.recover[id]\n\t\t\t\t// note: store.write() returns a frozen state, so safe to pass as argument\n\t\t\t\tif (api.replaceLastState) api.replaceLastState(self.state)\n\t\t\t}\n\t\t}\n\t}\n\n\tgetState() {\n\t\treturn this.#App.state\n\t}\n\t// fxn: RxAction => void\n\tmiddle(fxn) {\n\t\t/*\n\t\tadd #middlewares prior to calling dispatch()\n\t\t\n\t\tfxn(action: RxAction) \n\t\t- called in the order of being added to #middlewares array\n\t\t- must accept an action{} argument\n\t\t- do not return any value to eventually reach dispatch()\n\t\t - OR -\n\t\t- optionally return an object{}\n\t\t\t.error: \"string\" will throw\n\t\t\t.cancel: true will cancel dispatch\n\t\t\t.deactivate: true will remove the fxn from the #middlewares array\n\t\t*/\n\t\tif (typeof fxn !== 'function') throw `a middleware must be a function`\n\t\tif (this.#middlewares.includes(fxn)) throw `the function is already in the #middlewares array`\n\t\tthis.#middlewares.push(fxn)\n\t\treturn this\n\t}\n\n\t// must not expose this.bus directly since that\n\t// will also expose bus.emit() which should only\n\t// be triggered by this component\n\ton(eventType, callback) {\n\t\tconst self = this.#App\n\t\tif (!self.eventTypes) throw `no eventTypes[] for ${self.type} component`\n\t\tself.bus.on(eventType, callback)\n\t\treturn this\n\t}\n\n\tgetComponents(dotSepNames = '') {\n\t\treturn getComponents(this.#App.components, dotSepNames)\n\t}\n\n\tregister(api) {\n\t\tif (!this.#componentsByType[api.type]) this.#componentsByType[api.type] = {}\n\t\tthis.#componentsByType[api.type][api.id] = api\n\t}\n\n\tderegister(api) {\n\t\tif (this.#componentsByType[api.type]?.[api.id]) delete this.#componentsByType[api.type][api.id]\n\t}\n\n\tgetAbortSignal() {\n\t\tif (!this.#abortController) this.#abortController = new AbortController()\n\t\treturn this.#abortController?.signal\n\t\t// NOTE: the same signal can be reused to cancel different fetch requests, as tested pasting and running the following in the browser console:\n\t\t// > const ac = new AbortController(); for(let i=0; i<3; i++) fetch('/healthcheck', {signal: ac.signal}).then(r=>r.json()).then(console.log).catch(console.log); const t = setTimeout(()=>ac.abort('stale sequenceId'), 0);\n\t\t// stale sequenceId // repeats 3x\n\t\t// // can also change timeout to 1000, to see that aborting is okay after the signaled fetch completes\n\t}\n\n\ttriggerAbort(reason = '', signal?: any) {\n\t\tif (reason) console.info(`triggerAbort()`, reason)\n\t\tif (signal) {\n\t\t\tif (signal.aborted) return\n\t\t\tif (this.#abortController && signal === this.#abortController?.signal) this.#abortController.abort()\n\t\t\telse {\n\t\t\t\tconst abortCtrl = this.#trackedAbortContrlsBySignal.get(signal)\n\t\t\t\tif (abortCtrl) abortCtrl.abort()\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tconst self = this.#App\n\t\tif (this.#abortController) {\n\t\t\tthis.#abortController.abort('stale sequenceId')\n\t\t\t//this.#abortController = undefined\n\t\t}\n\t\tfor (const name of Object.keys(self.components)) {\n\t\t\tconst component = self.components[name]\n\t\t\tif (!component) continue\n\t\t\tif (Array.isArray(component)) {\n\t\t\t\tfor (const c of component) c.triggerAbort?.()\n\t\t\t} else if (!component || typeof component !== 'object') {\n\t\t\t\tcontinue\n\t\t\t} else if (typeof component.triggerAbort == 'function') {\n\t\t\t\t// NOTE: triggerAbort() is a prototype method, cannot use Object.keys(component).includes('triggerAbort')\n\t\t\t\t// which does not detect prototype/inherited methods\n\t\t\t\tcomponent.triggerAbort()\n\t\t\t} else if (!component.main) {\n\t\t\t\tfor (const subname of Object.keys(component)) {\n\t\t\t\t\tif (typeof component[subname].triggerAbort === 'function') {\n\t\t\t\t\t\tcomponent[subname].triggerAbort()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\ttrackAbortCtrlBySignal(abortCtrl) {\n\t\tthis.#trackedAbortContrlsBySignal.set(abortCtrl.signal, abortCtrl)\n\t}\n\n\tgetSequenceId() {\n\t\treturn this.#latestActionSequenceId\n\t}\n\n\tisStaleSequenceId(sequenceId) {\n\t\treturn sequenceId != this.#latestActionSequenceId\n\t}\n\n\tisAbortError(e) {\n\t\tif (e instanceof DOMException) return e.name === 'AbortError'\n\t\tif (typeof e == 'string') return e.includes('stale sequenceId') || e.includes('AbortError')\n\t\treturn false\n\t}\n\n\tdestroy() {\n\t\tthis.#abortController?.abort()\n\t\tconst self = this.#App\n\t\t// delete references to other objects to make it easier\n\t\t// for automatic garbage collection to find unreferenced objects\n\t\tfor (const key in self.components) {\n\t\t\tconst component = self.components[key]\n\t\t\tif (typeof component.destroy == 'function') {\n\t\t\t\tcomponent.destroy()\n\t\t\t} else if (component.holder) {\n\t\t\t\tcomponent.holder.selectAll('*').remove()\n\t\t\t}\n\t\t\tdelete self.components[key]\n\t\t}\n\t\tif (typeof self.destroy == 'function') self.destroy()\n\t\tif (self.dom) {\n\t\t\tif (self.dom.holder) self.dom.holder.selectAll('*').remove()\n\t\t\tfor (const key in self.dom) {\n\t\t\t\tdelete self.dom[key]\n\t\t\t}\n\t\t}\n\t\tif (self.bus) self.bus.destroy()\n\t\tdelete self.store\n\t\tif (self.api) delete self.api\n\t\tself.wasDestroyed = true\n\t}\n\n\tprintError(e) {\n\t\tif (this.#App.printError) this.#App.printError(e)\n\t\telse alert(e)\n\t}\n}\n", "import { deepCopyFreeze } from './utils.ts'\n\nexport interface RxStore {\n\ttype: string\n\tapi?: StoreApi\n\tid: any\n\tparentId?: string\n\topts: any\n\tdefaultState: any\n\tstate: any\n\tdebug?: boolean\n\tsequenceId: number\n\tnumPromisedWrites: number\n\tactions: {\n\t\t[actionType: string]: (action: { type: string; [prop: string]: any }) => void | Promise<void>\n\t}\n\n\tinit: () => void\n\tvalidateState?: () => void\n\tfromJson: (s: string) => any\n\ttoJson: (o: any) => string\n\tdeepFreeze: (o: any) => void\n\tcopyMerge: (_, __) => any\n}\n\nexport class StoreApi {\n\ttype: string\n\tid?: string\n\topts: any\n\n\t#Store: RxStore\n\tInner?: RxStore // only in debugmode\n\t#frozenStateCopy: any = Object.freeze({})\n\n\tstatic getInitFxn(__Class__) {\n\t\treturn async opts => {\n\t\t\tconst api = new StoreApi(opts, __Class__)\n\t\t\tawait api.init()\n\t\t\treturn api\n\t\t}\n\t}\n\n\tconstructor(_opts, __Class__) {\n\t\tconst opts = this.#validateOpts(_opts, __Class__)\n\t\t//this.app = opts.app\n\t\t//this.opts = opts\n\t\t// the component type + id may be used later to\n\t\t// simplify getting its state from the store\n\t\tconst self: RxStore = new __Class__(opts, this)\n\t\tself.opts = Object.assign(self.opts || {}, opts)\n\t\tif (!self.state) self.state = self.copyMerge(structuredClone(self.defaultState), opts.state || {})\n\t\t//self.app = opts.app\n\t\tif (!self.id) self.id = opts.id || self.opts?.id\n\t\tif (!self.type) self.type = __Class__.type\n\t\tself.api = this\n\t\tthis.#Store = self\n\t\tthis.id = self.id\n\t\tthis.type = self.type || __Class__.type\n\n\t\t// make it easy to access the private instance in debug mode, for testing\n\t\tif (self.debug || self.opts?.debug) this.Inner = self\n\t}\n\n\t#validateOpts(opts, __Class__) {\n\t\tconst optKeys = Object.keys(opts)\n\t\tif (!optKeys.includes('app')) throw `missing opts.app`\n\t\tif (!optKeys.includes('debug')) opts.debug = opts.app.debug ?? opts.app.opts?.debug ?? false\n\t\treturn opts\n\t}\n\n\tasync init() {\n\t\tif (this.#Store.init) await this.#Store.init()\n\t\tif (this.#Store.validateState) this.#Store.validateState()\n\t\tObject.freeze(this)\n\t}\n\n\tasync write(action) {\n\t\tconst self = this.#Store\n\n\t\t// to allow an app or chart code to fail due to race condition,\n\t\t// hardcode a constant value or comment out the ++ for the sequenceID\n\t\t// !!! CRITICAL TO INCREMENT THIS !!!\n\t\taction.sequenceId = this.#Store.sequenceId++\n\t\t// avoid calls to inherited methods\n\t\tconst actions = self.constructor.prototype.actions\n\t\tif (!actions) {\n\t\t\tthrow `no store actions specified`\n\t\t}\n\t\tif (!Object.keys(actions).includes(action.type)) {\n\t\t\tthrow `Action=${action.type} must be declared in an \"actions\" property of a class.`\n\t\t}\n\t\tif (typeof actions[action.type] !== 'function') {\n\t\t\tthrow `invalid action type=${action.type}`\n\t\t}\n\t\tawait actions[action.type].call(self, action)\n\t\t// quick fix?? add custom state properties to the state to trigger special action-related handling\n\t\t// _scope_:\n\t\tself.state._scope_ = action._scope_\n\t\tif (!self.opts.debounceInterval) return this.copyState()\n\n\t\t// track the #\n\t\tself.numPromisedWrites += 1\n\t\tlet decrement = -1\n\t\treturn new Promise(resolve => {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tself.numPromisedWrites += decrement\n\t\t\t\tdecrement = 0\n\t\t\t\tif (self.numPromisedWrites > 0) return\n\t\t\t\tclearInterval(interval)\n\t\t\t\tresolve(this.copyState())\n\t\t\t}, self.opts.debounceInterval)\n\t\t})\n\t}\n\n\tasync copyState() {\n\t\t// const time = Date.now()\n\t\tthis.#frozenStateCopy = deepCopyFreeze(this.#Store.state, this.#frozenStateCopy)\n\t\t// const self = this.#Store\n\t\t// this.#frozenStateCopy = self.fromJson(self.toJson(self.state))\n\t\t// self.deepFreeze(this.#frozenStateCopy)\n\t\t// console.log('copyState() time', Date.now() - time)\n\t\treturn this.#frozenStateCopy\n\t}\n}\n", "import type { AppApi } from './AppApi.ts'\nimport { deepEqual, notifyComponents, copyMerge, getComponents } from './utils.ts'\nimport { Bus } from './Bus.ts'\n\nexport interface RxComponent {\n\ttype: string\n\tapi?: ComponentApi\n\tapp: AppApi\n\tid: any\n\tparentId?: string\n\topts: any\n\tstate: any\n\tdebug?: boolean\n\t// should require dom to automate destroy()\n\tdom: {\n\t\t[index: string]: any\n\t}\n\tcomponents?: ComponentApi[] | { [name: string]: ComponentApi | { [name: string]: ComponentApi } }\n\tpreApiFreeze?: (api: ComponentApi) => void\n\tinit?: (appState: any) => Promise<void>\n\treactsTo?: (action: { type: string; [key: string]: any }) => boolean | undefined\n\tgetState?: (appState: any) => any\n\thasStatePreMain?: boolean\n\tmain: (arg?: any) => void\n\tmainArg?: any\n\tprintError?: null | ((any) => void)\n\tdestroy?: () => void\n\tgetChartImages?: () => any\n\t/** A vocabApi whose requests are signaled by this component's abort controller, instead of the\n\t * app-level one that AppApi.dispatch() may abort on behalf of all components. A component that\n\t * uses it will have its pending requests canceled when its own state changes, but not when an\n\t * unrelated action, such as closing another plot's sandbox, is dispatched. rx does not create\n\t * this; a component gets it by extending PlotBase, which assigns it in its constructor. */\n\tvocabApi?: any\n\n\tbus?: any\n\teventTypes?: string[]\n\tcustomEvents?: string[]\n}\n\nexport class ComponentApi {\n\ttype: string\n\tid?: string\n\n\t#Component: RxComponent\n\tInner?: RxComponent // only in debugmode\n\t#latestActionSequenceId: number\n\t#abortController: AbortController = new AbortController()\n\t#abortControllers: Set<AbortController>\n\t// TODO: may use #incompleteUpdate property, if the shared app abortController signal is used\n\t// #incompleteUpdate: boolean = true\n\t//#bus?: Bus\n\t#errdiv: any\n\n\tstatic getInitFxn(__Class__) {\n\t\treturn async opts => {\n\t\t\tconst api = new ComponentApi(opts, __Class__)\n\t\t\tawait api.init()\n\t\t\treturn api\n\t\t}\n\t}\n\n\tconstructor(_opts, __Class__) {\n\t\tconst opts = this.#validateOpts(_opts, __Class__)\n\t\t// the component type + id may be used later to\n\t\t// simplify getting its state from the store\n\t\tconst self: RxComponent = new __Class__(opts, this)\n\t\tself.opts = Object.assign(self.opts || {}, opts)\n\t\tif (!self.id) self.id = opts.id || self.opts?.id\n\t\tif (!self.type) self.type = __Class__.type\n\t\tself.app = opts.app\n\t\tself.api = this\n\n\t\tthis.#Component = self\n\t\tthis.id = self.id\n\t\tthis.type = self.type || __Class__.type\n\n\t\t// make it easy to access the private instance in debug mode, for testing\n\t\tif (self.debug || (self.opts && self.opts.debug)) this.Inner = self\n\n\t\tif (!self.eventTypes) self.eventTypes = ['preDispatch', 'postInit', 'postRender', 'firstRender', 'error']\n\t\tif (self.customEvents) self.eventTypes.push(...self.customEvents)\n\t\tself.bus = new Bus(this, self.eventTypes, opts.callbacks)\n\n\t\tthis.#latestActionSequenceId = 0\n\t\tthis.#abortControllers = new Set()\n\t}\n\n\t#validateOpts(opts, __Class__) {\n\t\tconst optKeys = Object.keys(opts)\n\t\tif (!optKeys.includes('app')) throw `missing opts.app`\n\t\tif (!optKeys.includes('debug')) opts.debug = opts.app.debug ?? opts.app.opts?.debug ?? false\n\t\tif (__Class__.type && opts.app.opts?.[__Class__.type]) {\n\t\t\tcopyMerge(opts, opts.app.opts[__Class__.type])\n\t\t}\n\t\treturn opts\n\t}\n\n\tasync init() {\n\t\tconst self = this.#Component\n\t\t// an instance may want to add or modify api properties before it is frozen\n\t\tif (self.preApiFreeze) await self.preApiFreeze(this)\n\t\t// freeze the api's properties and methods before exposing\n\t\tObject.freeze(this)\n\n\t\tif (self.init) await self.init(this.#Component.app.getState())\n\t\t// lessen confusing behavior\n\t\tif (self.state && !self.hasStatePreMain) {\n\t\t\tdelete self.state\n\t\t\tconsole.warn(\n\t\t\t\t`${self.type}: rx deleted this.state after init()` +\n\t\t\t\t\t`to avoid confusing behavior, such as the component not rendering initially ` +\n\t\t\t\t\t`because this.state would not have changed between init() and the first time ` +\n\t\t\t\t\t`main() is called. To skip this warning and retain this.state after init(), ` +\n\t\t\t\t\t`set this.hasStatePreMain = true in the ${self.type} constructor.`\n\t\t\t)\n\t\t}\n\t\tself.bus.emit('postInit')\n\t}\n\n\t// current: {action: RxAction, appState}\n\tasync update(current) {\n\t\tconst self = this.#Component\n\t\t// TODO: may use #incompleteUpdate property, if the shared app abortController signal is used\n\t\tif (/*!this.#incompleteUpdate &&*/ current.action && self.reactsTo && !self.reactsTo(current.action)) return\n\t\tconst componentState = self.getState ? self.getState(current.appState) : current.appState\n\t\t// no new state computed for this component\n\t\tif (!componentState) return\n\t\tlet detectedErrDisplay = 'none'\n\t\t// The logic below handles cases where the errdiv is created only as-needed and not during class instantiation.\n\t\t// For example PlotBase.printError() will create the errdiv if it doesn't already exist.\n\t\tif (!this.#errdiv) this.#errdiv = self.dom?.errdiv || self.dom?.error\n\t\tif (this.#errdiv) {\n\t\t\tdetectedErrDisplay = this.#errdiv.style('display') // detect if an error message is visible\n\t\t\t// hide and empty out the error div, it will be shown again if main() re-encounters an error that hasn't been addressed\n\t\t\tthis.#errdiv.style('display', 'none').html?.('')\n\t\t}\n\t\t// force an update if there is no action, or if there is an error from the previous update, or if the current and pending state is not equal\n\t\tif (\n\t\t\t!current.action /*|| this.#incompleteUpdate*/ ||\n\t\t\tdetectedErrDisplay !== 'none' ||\n\t\t\t!deepEqual(componentState, self.state)\n\t\t) {\n\t\t\t//this.#incompleteUpdate = true\n\t\t\tif (current.action) this.#latestActionSequenceId = current.action.sequenceId\n\t\t\tif (this.#abortController) {\n\t\t\t\tthis.#abortController.abort('stale sequenceId')\n\t\t\t}\n\t\t\tthis.#abortController = new AbortController()\n\t\t\tconst preMainProps = self.opts.debug && self.opts.preMain?.(this, self)\n\n\t\t\tif (self.mainArg == 'state') {\n\t\t\t\t// some components may require passing state to its .main() method,\n\t\t\t\t// for example when extending a simple object class into an rx-component\n\t\t\t\ttry {\n\t\t\t\t\tawait self.main(componentState)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (self.app.isAbortError(e)) return\n\t\t\t\t\tif (self.printError) self.printError(e)\n\t\t\t\t\tif (self.bus) self.bus.emit('error')\n\t\t\t\t\tif (!self.printError) throw e\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.state = componentState\n\t\t\t\tif (self.main) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait self.main()\n\t\t\t\t\t\t// uncomment to temporarily force an \"abort previous action on update()\" failure in rx-async.unit.spec.js;\n\t\t\t\t\t\t// may need to also copy this line to the catch below and also in triggerAbort()\n\t\t\t\t\t\t// this.#abortController = undefined\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tif (self.app.isAbortError(e)) return\n\t\t\t\t\t\tif (self.printError) self.printError(e)\n\t\t\t\t\t\tif (self.bus) self.bus.emit('error')\n\t\t\t\t\t\tif (!self.printError) throw e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (preMainProps) self.opts.postMain?.(this, self, preMainProps)\n\t\t}\n\t\ttry {\n\t\t\t// notify children\n\t\t\tawait notifyComponents(self.components, current)\n\t\t\tif (self.bus && (!current.action || current.action.sequenceId === this.#latestActionSequenceId))\n\t\t\t\tself.bus.emit('postRender')\n\t\t\t//this.#incompleteUpdate = false\n\t\t\treturn this\n\t\t} catch (e: any) {\n\t\t\tif (self.printError) self.printError(e)\n\t\t\telse if (self.dom?.errdiv) throw { message: e.message || e.error || e, errdiv: self.dom?.errdiv }\n\t\t\telse throw e\n\t\t}\n\t}\n\n\tgetComponents(dotSepNames = '') {\n\t\treturn getComponents(this.#Component.components, dotSepNames)\n\t}\n\n\t// must not expose self.bus directly since that\n\t// will also expose bus.emit() which should only\n\t// be triggered by this component\n\ton(eventType, callback) {\n\t\tconst self = this.#Component\n\t\tif (!self.eventTypes) throw `no eventTypes[] for ${self.type} component`\n\t\tself.bus.on(eventType, callback)\n\t\treturn this\n\t}\n\n\t// getComponents(dotSepNames = '') {\n\t// \treturn getComponents(self.components, dotSepNames)\n\t// }\n\t//\n\n\t// !!! detectStale() has been deprecated !!!\n\t// TODO: Replace all detectStale() usage with vocabApi.getAbortSignal()\n\t//\n\t// When an async function takes a while to resolve, such as for server requests,\n\t// a subsequent action may trigger another request before the first one resolves,\n\t// in that case should ignore the stale response/result from the async function.\n\t// This is an api function so that code that has access to this component api\n\t// can also tie-in a function call to the fresheness of the component action.\n\t//\n\tasync detectStale(asyncFxn, opts: { abortCtrl?: AbortController; wait?: number } = {}) {\n\t\tconst abortControllers = this.#abortControllers\n\t\t//let errMsg = ''\n\t\ttry {\n\t\t\tconst actionSequenceId = this.#latestActionSequenceId\n\t\t\tconst promises: Promise<any>[] = []\n\t\t\tlet i, promResolve\n\t\t\tif (opts.abortCtrl) {\n\t\t\t\tabortControllers.add(opts.abortCtrl)\n\t\t\t\tpromises.push(\n\t\t\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\t\t\tpromResolve = resolve\n\t\t\t\t\t\ti = setInterval(() => {\n\t\t\t\t\t\t\tif (actionSequenceId !== this.#latestActionSequenceId) {\n\t\t\t\t\t\t\t\tclearInterval(i)\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\topts.abortCtrl?.abort()\n\t\t\t\t\t\t\t\t\tthrow `stale sequenceId`\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\treject(e)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, opts.wait || 100)\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t}\n\t\t\tpromises.push(asyncFxn())\n\t\t\t// the setInterval does not resolve, so Promise.race can only be \"won\" by the asyncFxn() result,\n\t\t\t// but the race can be aborted by the reject() inside the setInterval\n\t\t\tconst result = await Promise.race(promises)\n\t\t\tif (i) clearInterval(i)\n\t\t\tif (promResolve) promResolve()\n\t\t\tif (opts.abortCtrl && abortControllers.has(opts.abortCtrl)) abortControllers.delete(opts.abortCtrl)\n\t\t\tif (this.#latestActionSequenceId !== actionSequenceId) {\n\t\t\t\t// another state change has been dispatched between the start and completion of the server request\n\t\t\t\tconsole.warn('aborted state update, the returned data corresponds to a stale action.sequenceId')\n\t\t\t\tif (opts.abortCtrl) opts.abortCtrl.abort()\n\t\t\t\treturn [result, true]\n\t\t\t}\n\t\t\treturn [result]\n\t\t} catch (e) {\n\t\t\tif (typeof e == 'string' && e.includes('sequenceId')) console.warn(e)\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tgetAbortSignal() {\n\t\tif (!this.#abortController) this.#abortController = new AbortController()\n\t\treturn this.#abortController.signal\n\t\t// NOTE: the same signal can be reused to cancel different fetch requests, as tested pasting and running the following in the browser console:\n\t\t// > const ac = new AbortController(); for(let i=0; i<3; i++) fetch('/healthcheck', {signal: ac.signal}).then(r=>r.json()).then(console.log).catch(console.log); const t = setTimeout(()=>ac.abort('stale sequenceId'), 0);\n\t\t// stale sequenceId // repeats 3x\n\t\t// // can also change timeout to 1000, to see that aborting is okay after the signaled fetch completes\n\t}\n\n\ttriggerAbort(reason = '') {\n\t\tif (reason) console.info(`triggerAbort()`, reason)\n\t\tif (this.#abortController) {\n\t\t\tthis.#abortController.abort('stale sequenceId')\n\t\t}\n\t\tfor (const c of this.#abortControllers.values()) {\n\t\t\ttry {\n\t\t\t\tc.abort()\n\t\t\t\tthis.#abortControllers.delete(c)\n\t\t\t} catch (e) {\n\t\t\t\t// ok to\n\t\t\t\tconsole.warn('unable to cancel fetch: ', e)\n\t\t\t\tthis.#abortControllers.delete(c)\n\t\t\t}\n\t\t}\n\t\tconst self = this.#Component\n\t\tif (!self.components) return\n\t\tfor (const name of Object.keys(self.components)) {\n\t\t\tconst component = self.components[name]\n\t\t\tif (Array.isArray(component)) {\n\t\t\t\tfor (const c of component) c.triggerAbort?.()\n\t\t\t} else if (!component || typeof component !== 'object') {\n\t\t\t\tcontinue\n\t\t\t} else if (typeof component.triggerAbort === 'function') {\n\t\t\t\t// NOTE: triggerAbort() is a prototype method, cannot use Object.keys(component).includes('triggerAbort')\n\t\t\t\t// which does not detect prototype/inherited methods\n\t\t\t\tcomponent.triggerAbort()\n\t\t\t} else if (!component.main) {\n\t\t\t\tfor (const subname of Object.keys(component)) {\n\t\t\t\t\tif (typeof component[subname].triggerAbort === 'function') {\n\t\t\t\t\t\tcomponent[subname].triggerAbort()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tgetSequenceId() {\n\t\treturn this.#latestActionSequenceId\n\t}\n\n\tisStaleSequenceId(sequenceId) {\n\t\treturn sequenceId != this.#latestActionSequenceId\n\t}\n\n\tdestroy() {\n\t\tthis.triggerAbort()\n\t\tconst self = this.#Component\n\t\t// delete references to other objects to make it easier\n\t\t// for automatic garbage collection to find unreferenced objects\n\t\tself.app.deregister(self.api)\n\t\tfor (const key in self.components) {\n\t\t\tconst component = self.components[key]\n\t\t\tif (typeof component.destroy == 'function') {\n\t\t\t\tcomponent.destroy()\n\t\t\t} else if (component.holder) {\n\t\t\t\tcomponent.holder.selectAll('*').remove()\n\t\t\t}\n\t\t\tdelete self.components[key]\n\t\t}\n\t\tif (typeof self.destroy == 'function') self.destroy()\n\t\tif (self.dom) {\n\t\t\tif (self.dom.holder) self.dom.holder.selectAll('*').remove()\n\t\t\tfor (const key in self.dom) {\n\t\t\t\tif (typeof self.dom[key]?.remove == 'function') self.dom[key].remove()\n\t\t\t\tdelete self.dom[key]\n\t\t\t}\n\t\t}\n\t\tif (self.bus) self.bus.destroy()\n\t\tif (self.api) delete self.api\n\t}\n\n\t// defaults for optional preApiFreeze addons\n\treplaceLastState(_) {}\n\n\tgetChartImages() {\n\t\treturn this.#Component.getChartImages ? this.#Component.getChartImages() : null\n\t}\n}\n", "import { AppApi } from './AppApi.ts'\nimport { StoreApi } from './StoreApi.ts'\nimport { ComponentApi } from './ComponentApi.ts'\n\n/*\n*********** Exported ***********\ngetInitFxn()\ngetAppInit()\ngetStoreInit()\ngetComponentInit()\n*********** Internal ***********\n\nInstances, APIs, and callback arguments are documented at:\nhttps://docs.google.com/document/d/1G3LqbtsCEkGw4ABA_VognhjVnUHnsVYAGdXyhYG374M/edit#\n\n*/\n\n/************\n Init Factory\n*************/\n\n/* \n\tgetInitFxn()\n\t- !!! do not use for reactive components, use ComponentApi.getInitFxn() instead !!!\n\t- use to wrap and protect _Class_ instance properties from being changed arbitrarily \n\t by any code that has a reference to it \n\t- offers flexibility to use the generated instance outside of the rx framework/notification flow,\n\t\twith or without an coordinating \"app\"\n\t- as of 3/12/2026, this is used by FilterPrompt, FilterStateless, TermInfo\n\n\t- returns a _Class_ initiator function that\n\t\t- creates a _Class_ instance\n\t\t- optionally attaches an api.Inner reference to the instance for debugging\n\t\t- optionally creates an instance.bus property if there is an instance.eventTypes property\n\t\t- freezes and returns an immutable instance API\n*/\nexport function getInitFxn(_Class_) {\n\t/*\n\t\topts\n\t\t- the argument to the _Class_ constructor\n\t*/\n\treturn opts => {\n\t\t// create a _Class_ instance with mutable private properties and methods\n\t\tconst self = new _Class_(opts)\n\t\tif (!self.opts) self.opts = opts\n\t\tif (self.bus) self.bus.emit('postInit')\n\t\tif (!self.api) return Object.freeze(self)\n\n\t\tif (self.init) throw `legacy getInitFxn() does not accept a class with an init() method`\n\t\tif (self.debug || self.opts?.debug) self.api.Inner = self\n\t\t// return the instance API; the parent component that uses this initializer\n\t\t// does NOT have to use the await keyword\n\t\treturn Object.freeze(self.api)\n\t}\n}\n\n// should use AppApi.getInitFxn() directly,\n// keeping this code for convenience as it's used in multiple places\nexport function getAppInit(_Class_) {\n\tif (_Class_.type) return AppApi.getInitFxn(_Class_)\n\tthrow `A rx app class must declare a static type='app'.`\n}\n\n// should use StoreApi.getInitFxn() directly,\n// keeping this code for convenience as it's used in multiple places\nexport function getStoreInit(_Class_) {\n\tif (_Class_.type) return StoreApi.getInitFxn(_Class_)\n\tthrow `A rx store class must declare a static type='store'.`\n}\n\n// should use ComponentApi.getInitFxn() directly,\n// keeping this code for convenience as it's used in multiple places\nexport function getCompInit(_Class_) {\n\tif (_Class_.type) return ComponentApi.getInitFxn(_Class_)\n\tthrow `A rx component class must declare a static type.`\n}\n\n/*\n\tParallelize the potentially async initialization of multiple components\n\n\tinitPromises{}\n\t- keys: component names\n\t- values: Promise\n*/\nexport async function multiInit(initPromises) {\n\tconst components = {}\n\tawait Promise.all(Object.values(initPromises))\n\tfor (const name in initPromises) {\n\t\tcomponents[name] = await initPromises[name]\n\t}\n\treturn components\n}\n", "import { type AppApi } from './AppApi'\n\nexport class StoreBase {\n\ttype: string = 'store'\n\tapp: AppApi\n\t//type: string\n\t//id: string\n\topts: any\n\tid: string\n\tstate: any\n\t// dom: any\n\t// config: any\n\n\t/** use for assigning unique IDs where needed\n\t * may be used later to simplify getting component state by type and id */\n\tprevGeneratedId = 0\n\n\t// the action.sequenceId can be used by a chart/app\n\t// to identify the state that corresponds to an async step\n\t// like a server data request, so that a really late-arriving data\n\t// can be rejected if the state that was associated with that requested\n\t// is already stale/superseded by a subsequent state update\n\tsequenceId: number = 0\n\n\tnumPromisedWrites: number = 0\n\n\tconstructor(opts) {\n\t\tthis.opts = this.validateOpts(opts)\n\t\tthis.app = this.opts.app\n\t\tthis.id = opts.id\n\t}\n\n\tvalidateOpts(o: any = {}) {\n\t\treturn o\n\t}\n\n\tfromJson(objStr) {\n\t\t// this base method should not be reused when there is\n\t\t// a need to recover any Set or Map values, instead\n\t\t// declare a class specific fromJson() method that has\n\t\t// new Set(arrOfValues) or new Map(arrOfPairedValues)\n\t\t//\n\t\t// also, do not use this when autogenerated IDs\n\t\t// need to be attached to list entries\n\t\t//\n\t\treturn JSON.parse(objStr)\n\t}\n\n\ttoJson(this: any, obj: any = null) {\n\t\t// this base method should not be reused when there is\n\t\t// a need to stringify any Set or Map values,\n\t\t// instead declare a class specific toJson() method\n\t\t// that converts any Set or Map values to\n\t\t// [...Set] or [...Map] before JSON.stringify()\n\t\treturn JSON.stringify(obj ? obj : this.state)\n\t}\n\n\tdeepFreeze(obj) {\n\t\tObject.freeze(obj)\n\t\t// not using for..in loop, in order to not descend into inherited props/methods\n\t\tfor (const value of Object.values(obj)) {\n\t\t\tif (value !== null && typeof value == 'object') this.deepFreeze(value)\n\t\t}\n\t}\n\n\tcopyMerge(base, ...args) {\n\t\tconst target = typeof base == 'string' ? this.fromJson(base) : base\n\t\tfor (const arg of args) {\n\t\t\tif (arg) {\n\t\t\t\tconst source = typeof base == 'string' ? this.fromJson(this.toJson(arg)) : arg\n\t\t\t\tfor (const key in source) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!target[key] ||\n\t\t\t\t\t\tArray.isArray(target[key]) ||\n\t\t\t\t\t\ttypeof target[key] !== 'object' ||\n\t\t\t\t\t\tsource === null ||\n\t\t\t\t\t\tsource === undefined ||\n\t\t\t\t\t\tsource.isAtomic ||\n\t\t\t\t\t\ttarget?.isAtomic ||\n\t\t\t\t\t\ttarget[key]?.isAtomic\n\t\t\t\t\t)\n\t\t\t\t\t\ttarget[key] = source[key]\n\t\t\t\t\telse this.copyMerge(target[key], source[key])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn target\n\t}\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ // src/block.lazyload.js
2
+ var Block;
3
+ async function blocklazyload(arg) {
4
+ if (!Block) {
5
+ const b = await import("./block-J3A3RIGS.js");
6
+ Block = b.Block;
7
+ }
8
+ return new Block(arg);
9
+ }
10
+
11
+ export {
12
+ blocklazyload
13
+ };
14
+ //# sourceMappingURL=chunk-HDPL53U4.js.map
@@ -0,0 +1,276 @@
1
+ import {
2
+ parsesample
3
+ } from "./chunk-X4QQRHFB.js";
4
+ import {
5
+ dtfusionrna,
6
+ dtsv,
7
+ mclassfusionrna,
8
+ mclasssv
9
+ } from "./chunk-GEQUQ3GG.js";
10
+
11
+ // ../shared/utils/dist/src/bulk.sv.js
12
+ function parseheader(line, flag, issv) {
13
+ const header = line.toLowerCase().split(" ");
14
+ if (header.length <= 1) return "invalid file header for fusions";
15
+ const htry = (...lst) => {
16
+ for (const a of lst) {
17
+ const j = header.indexOf(a);
18
+ if (j != -1) return j;
19
+ }
20
+ return -1;
21
+ };
22
+ let i = htry("gene_a", "gene1", "genea");
23
+ if (i == -1) return "gene_a missing from header";
24
+ header[i] = "gene1";
25
+ i = htry("gene_b", "gene2", "geneb");
26
+ if (i == -1) return "gene_b missing from header";
27
+ header[i] = "gene2";
28
+ i = htry("chr_a", "chr1", "chra");
29
+ if (i == -1) return "chr_a missing from header";
30
+ header[i] = "chr1";
31
+ i = htry("chr_b", "chr2", "chrb");
32
+ if (i == -1) return "chr_b missing from header";
33
+ header[i] = "chr2";
34
+ i = htry("pos_a", "position_a", "position1", "posa");
35
+ if (i == -1) return "pos_a missing from header";
36
+ header[i] = "position1";
37
+ i = htry("pos_b", "position_b", "position2", "posb");
38
+ if (i == -1) return "pos_b missing from header";
39
+ header[i] = "position2";
40
+ i = htry("isoform_a", "refseq_a", "refseq1", "isoform1", "sv_refseqa");
41
+ if (i == -1) return "isoform_a missing from header";
42
+ header[i] = "isoform1";
43
+ i = htry("isoform_b", "refseq_b", "refseq2", "isoform2", "sv_refseqb");
44
+ if (i == -1) return "isoform_b missing from header";
45
+ header[i] = "isoform2";
46
+ i = htry("strand_a", "orta");
47
+ if (i == -1) return "strand_a missing from header";
48
+ header[i] = "strand1";
49
+ i = htry("strand_b", "ortb");
50
+ if (i == -1) return "strand_b missing from header";
51
+ header[i] = "strand2";
52
+ i = htry("sample", "sample_name", "tumor_sample_barcode");
53
+ if (i != -1) header[i] = "sample";
54
+ i = htry("patient", "donor", "target_case_id");
55
+ if (i != -1) header[i] = "patient";
56
+ i = htry("sampletype", "sample type", "sample_type");
57
+ if (i != -1) header[i] = "sampletype";
58
+ i = htry("disease");
59
+ if (i != -1) header[i] = "disease";
60
+ i = htry("origin");
61
+ if (i != -1) header[i] = "origin";
62
+ if (issv) {
63
+ flag.sv.loaded = true;
64
+ flag.sv.header = header;
65
+ } else {
66
+ flag.fusion.loaded = true;
67
+ flag.fusion.header = header;
68
+ }
69
+ return false;
70
+ }
71
+ function parseline(i, line, flag, issv) {
72
+ if (line == "" || line[0] == "#") return;
73
+ const lst = line.split(" ");
74
+ const m = {};
75
+ const header = issv ? flag.sv.header : flag.fusion.header;
76
+ const badlines = issv ? flag.sv.badlines : flag.fusion.badlines;
77
+ for (let j = 0; j < header.length; j++) {
78
+ m[header[j]] = lst[j];
79
+ }
80
+ if (!m.chr1) {
81
+ badlines.push([i, "missing chr1", lst]);
82
+ return;
83
+ }
84
+ if (m.chr1.toLowerCase().indexOf("chr") != 0) {
85
+ m.chr1 = "chr" + m.chr1;
86
+ }
87
+ if (!m.chr2) {
88
+ badlines.push([i, "missing chr2", lst]);
89
+ return;
90
+ }
91
+ if (m.chr2.toLowerCase().indexOf("chr") != 0) {
92
+ m.chr2 = "chr" + m.chr2;
93
+ }
94
+ let v = m.position1;
95
+ if (!v) {
96
+ badlines.push([i, "missing position1", lst]);
97
+ return;
98
+ }
99
+ let v2 = Number.parseInt(v);
100
+ if (Number.isNaN(v2) || v2 <= 0) {
101
+ badlines.push([i, "invalid value for position1", lst]);
102
+ return;
103
+ }
104
+ m.position1 = v2;
105
+ v = m.position2;
106
+ if (!v) {
107
+ badlines.push([i, "missing position2", lst]);
108
+ return;
109
+ }
110
+ v2 = Number.parseInt(v);
111
+ if (Number.isNaN(v2) || v2 <= 0) {
112
+ badlines.push([i, "invalid value for position2", lst]);
113
+ return;
114
+ }
115
+ m.position2 = v2;
116
+ if (parsesample(m, flag, i, lst)) {
117
+ return;
118
+ }
119
+ if (m.isoform1 && m.isoform1.indexOf(",") != -1) {
120
+ const lst2 = m.isoform1.split(",");
121
+ m.isoform1 = void 0;
122
+ for (const t of lst2) {
123
+ if (t != "") m.isoform1 = t;
124
+ }
125
+ }
126
+ if (m.isoform2 && m.isoform2.indexOf(",") != -1) {
127
+ const lst2 = m.isoform2.split(",");
128
+ m.isoform2 = void 0;
129
+ for (const t of lst2) {
130
+ if (t != "") m.isoform2 = t;
131
+ }
132
+ }
133
+ if (!m.gene1) {
134
+ m.isoform1 = void 0;
135
+ }
136
+ if (!m.gene2) {
137
+ m.isoform2 = void 0;
138
+ }
139
+ if (m.gene1) {
140
+ flag.good++;
141
+ const m2 = {
142
+ dt: issv ? dtsv : dtfusionrna,
143
+ class: issv ? mclasssv : mclassfusionrna,
144
+ isoform: m.isoform1,
145
+ mname: m.gene2 || m.chr2,
146
+ sample: m.sample,
147
+ patient: m.patient,
148
+ sampletype: m.sampletype,
149
+ origin: m.origin,
150
+ disease: m.disease,
151
+ pairlst: [
152
+ {
153
+ a: {
154
+ name: m.gene1,
155
+ isoform: m.isoform1,
156
+ strand: m.strand1,
157
+ chr: m.chr1,
158
+ position: m.position1
159
+ },
160
+ b: {
161
+ name: m.gene2,
162
+ isoform: m.isoform2,
163
+ strand: m.strand2,
164
+ chr: m.chr2,
165
+ position: m.position2
166
+ }
167
+ }
168
+ ]
169
+ };
170
+ const n = flag.geneToUpper ? m.gene1.toUpperCase() : m.gene1;
171
+ if (!flag.data[n]) {
172
+ flag.data[n] = [];
173
+ }
174
+ flag.data[n].push(m2);
175
+ }
176
+ if (m.gene2 && m.gene2 != m.gene1) {
177
+ flag.good++;
178
+ const m2 = {
179
+ dt: issv ? dtsv : dtfusionrna,
180
+ class: issv ? mclasssv : mclassfusionrna,
181
+ isoform: m.isoform2,
182
+ mname: m.gene1 || m.chr1,
183
+ sample: m.sample,
184
+ patient: m.patient,
185
+ sampletype: m.sampletype,
186
+ origin: m.origin,
187
+ disease: m.disease,
188
+ pairlst: [
189
+ {
190
+ a: {
191
+ name: m.gene1,
192
+ isoform: m.isoform1,
193
+ strand: m.strand1,
194
+ chr: m.chr1,
195
+ position: m.position1
196
+ },
197
+ b: {
198
+ name: m.gene2,
199
+ isoform: m.isoform2,
200
+ strand: m.strand2,
201
+ chr: m.chr2,
202
+ position: m.position2
203
+ }
204
+ }
205
+ ]
206
+ };
207
+ const n = flag.geneToUpper ? m.gene2.toUpperCase() : m.gene2;
208
+ if (!flag.data[n]) {
209
+ flag.data[n] = [];
210
+ }
211
+ flag.data[n].push(m2);
212
+ }
213
+ }
214
+ function duplicate(m) {
215
+ const n = {};
216
+ for (const k in m) {
217
+ if (k == "pairlst") continue;
218
+ const v = m[k];
219
+ const type = typeof v;
220
+ if (type == "object") {
221
+ continue;
222
+ }
223
+ n[k] = v;
224
+ }
225
+ if (m.pairlst) {
226
+ n.pairlst = [];
227
+ for (const pair of m.pairlst) {
228
+ const p = {};
229
+ for (const k in pair) {
230
+ if (k == "a" || k == "b" || k == "interstitial") {
231
+ continue;
232
+ }
233
+ p[k] = pair[k];
234
+ }
235
+ if (pair.a) {
236
+ p.a = {};
237
+ for (const k in pair.a) {
238
+ const v = pair.a[k];
239
+ if (typeof v == "object") {
240
+ continue;
241
+ }
242
+ p.a[k] = v;
243
+ }
244
+ }
245
+ if (pair.b) {
246
+ p.b = {};
247
+ for (const k in pair.b) {
248
+ const v = pair.b[k];
249
+ if (typeof v == "object") {
250
+ continue;
251
+ }
252
+ p.b[k] = v;
253
+ }
254
+ }
255
+ if (pair.interstitial) {
256
+ p.interstitial = {};
257
+ for (const k in pair.interstitial) {
258
+ const v = pair.interstitial[k];
259
+ if (typeof v == "object") {
260
+ continue;
261
+ }
262
+ p.interstitial[k] = v;
263
+ }
264
+ }
265
+ n.pairlst.push(p);
266
+ }
267
+ }
268
+ return n;
269
+ }
270
+
271
+ export {
272
+ parseheader,
273
+ parseline,
274
+ duplicate
275
+ };
276
+ //# sourceMappingURL=chunk-HOCICSX4.js.map