@milaboratories/pframes-rs-node 1.0.108 → 1.1.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 (241) hide show
  1. package/README.md +1 -1
  2. package/export/addon-def.ts +16 -5
  3. package/export/tests/pframes.test.ts +736 -0
  4. package/export/tests/setup.ts +38 -0
  5. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.2LVJN6O24SEU2T6ZZRA3ZNIA.jdata +82 -0
  6. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.2MO4YNOSI4C2L7GHVIZ6YSYT.jdata +139 -0
  7. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.2R6YWG3EVKXULZJIZYSZYASV.jdata +151 -0
  8. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.2RFBXQYLZVPIYLITVUUU3GR6.jdata +136 -0
  9. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.2ZCJ73VD223TO7UVCF4DLSKS.jdata +166 -0
  10. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.2ZCOKJLMPCZTTSJQEYCYM2D6.jdata +18 -0
  11. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.32L5DZ6D632DGLU3OIBB3HGX.jdata +76 -0
  12. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.34LTVMPK2UDCR34EHCSEYX3W.jdata +19 -0
  13. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.3K6KCP5JDGW4X7DXT5RF6ZAF.jdata +121 -0
  14. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.5BJ4G7MKY3KGJAZMAYHRDDTI.jdata +106 -0
  15. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.5QIRD6GYS57CH4FPJLYCUDUN.jdata +81 -0
  16. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.6465KFARE44HTYJ4DLVE2POI.jdata +124 -0
  17. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.7EN5RO34NCDPWAWCIBM4UDIA.jdata +62 -0
  18. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.7HQRZGQAFAUVMAXUSH4QK35W.jdata +172 -0
  19. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.7IFCRZFNQ62AIPBKYYWNJKLP.jdata +166 -0
  20. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.7PPYAJDDR7DGHLI5YSFBGIX4.jdata +68 -0
  21. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.A7LBATMSQCBKAPGIUKAFX7ZQ.jdata +13 -0
  22. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.AQUOPWRX3Q2QNR2IWWMMGRCF.jdata +88 -0
  23. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.AY2WCVRGDI4KDBSNN4VWISRV.jdata +19 -0
  24. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.AZHBA2KSN2ZSGCQF32V3AZGH.jdata +18 -0
  25. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.B2X77CFBR4AHVC4UE3YWHRSE.jdata +1 -0
  26. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.BDGKT2HBP4KRZYQW7IOL3MXX.jdata +104 -0
  27. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.BUPSWPETJ4HHWZOY6M3X2AUV.jdata +48 -0
  28. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.CHH6NIYBJUBIWROO4LXF3AK2.jdata +28 -0
  29. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.CHI3Y6POL64COZMAEHK7RKOO.jdata +167 -0
  30. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.D4DU6MUFJX5C572GM25IWLFV.jdata +79 -0
  31. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.DFO4BLLJ4GVHRBYGLAJ7QUN2.jdata +59 -0
  32. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.DFQDMMGE23YQY5MCLNKOMZJM.jdata +118 -0
  33. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.DXWTOE3QM2D4XAICJLVAUOYH.jdata +173 -0
  34. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.E7DBFSJQQOZIWEZ4UIABFVTP.jdata +20 -0
  35. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.FILU5VIR2FDT3SRDYE322USR.jdata +181 -0
  36. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.GF24HO7CQHY55O6JKWEDKHNF.jdata +78 -0
  37. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.HBT3EGHORD2TZRM7XG5PO5II.jdata +136 -0
  38. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.HXBZGAQ724Y567AKGQOAAF2J.jdata +74 -0
  39. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.IBB3SCZSTCEZQFO4S7L6GVUH.jdata +149 -0
  40. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.ICOC34NWMBSXEFXQOO2BNY4H.jdata +59 -0
  41. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.IQPTOXVWTTENLD2E4VKNU56D.jdata +102 -0
  42. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.JP3IIRDA6QZDW4EZLKRII7KS.jdata +86 -0
  43. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.JZE5QCNYF4YHZYRGUZ6XRJHQ.jdata +84 -0
  44. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.K6A7V2JOVSAX7RHIZ2RPXYBP.jdata +1 -0
  45. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.KL7USBR5ZQUIN7K7MF3U7P73.jdata +64 -0
  46. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.KMZNMPE7IWFLWKPMN7OABWXZ.jdata +59 -0
  47. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.KZPHVIUPQIAFL2HTOAJR7VGJ.jdata +1 -0
  48. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.KZSRESLOPXQ4WH6ALAJP7U5H.jdata +196 -0
  49. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.LGBPQ5XC2BUGG4TJWYHTFZGE.jdata +89 -0
  50. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.LMLLDWOFTAPH3QVSOM7MHQ22.jdata +73 -0
  51. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.LVVUZMJT5MREBDWME5RSK7KI.jdata +146 -0
  52. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.LXBE5P62YKG5UDJGJRL6MSQC.jdata +68 -0
  53. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.MLOU6WK4ZV7K6HIWPE3LRWI2.jdata +98 -0
  54. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.NAL3QCUSLD44QGSRCQ5TZOAH.jdata +69 -0
  55. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.NWX7DKTFXRVH4ZYUTZULRDWT.jdata +80 -0
  56. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.O6M53LCMV7A3II22GUPKCJGP.jdata +98 -0
  57. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.PMARMGPM4IBPA3VCS3CYH5WM.jdata +32 -0
  58. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.PMJ37ZMFMTFORL4UYUDVNDZG.jdata +126 -0
  59. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.QPWLPWRWPFGRVQI5OS2RGXBW.jdata +26 -0
  60. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.QQ4RGTF2PBGNUPTLCO3Z3T2C.jdata +22 -0
  61. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.QWXPZSGYDRGIUZS6VDHGVLTF.jdata +72 -0
  62. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.QXQWSMICPPJGLPUQ33IQJK7F.jdata +90 -0
  63. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.RBX3IONPE5K2HMS4MAT4MKQY.jdata +146 -0
  64. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.RHKAHOLA74IHPBG75KQN4NAV.jdata +59 -0
  65. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.RWI3IGNEUOAJR7ZWU7NSPF72.jdata +67 -0
  66. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.SOVBQDZPBYCVZTRZF3CXHWOW.jdata +91 -0
  67. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.SWLOWAB2PTM5R2XN765A3ICZ.jdata +104 -0
  68. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.T3WRQEFUPCZICFXMJ5F6DQX3.jdata +131 -0
  69. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.TETZ2IEF3L2GYDJLNU3BVKMX.jdata +76 -0
  70. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.UXO4UE2Q7HO42SNSO4DULKJJ.jdata +118 -0
  71. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.VAUTIV2ROH62WNMZZCIGRBDC.jdata +132 -0
  72. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.VBP7Z5WQ2IOHMQIA5UV4DOH3.jdata +71 -0
  73. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.VCKGU2COVX6O3RUXNRC7FRCJ.jdata +151 -0
  74. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.VOCGDDBWN5H64YJZP3EPSZNU.jdata +158 -0
  75. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.VPEMTWGQVZ6ZSNF426GPHUXI.jdata +93 -0
  76. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.WAS2QNFHHPD2UIZ44F2IKRQ6.jdata +101 -0
  77. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.WYCWV4434DAMKRUU7F7LGZGR.jdata +142 -0
  78. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.XGWYF7VR6EIU3OWPXAWHP2PE.jdata +156 -0
  79. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.XJQYA42VX2WKHPAJWAUBHAXN.jdata +119 -0
  80. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.XLTFOXR4VH54UCW6BVEND6GI.jdata +85 -0
  81. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.YMTPJWXHLMW4IPBQABT3326F.jdata +109 -0
  82. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.YOIX3HY7SWPCY7AOBSDA3GLC.jdata +1 -0
  83. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.YSEQPSWWTXZTW52G5ZZU46RT.jdata +93 -0
  84. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.ZZ54PNLFYZ6GSOR2AESKXRL4.jdata +89 -0
  85. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.datainfo +86 -0
  86. package/export/tests/test_data/complex_join/export.cloneset.CDR3_length_aa.spec +42 -0
  87. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.2LVJN6O24SEU2T6ZZRA3ZNIA.jdata +82 -0
  88. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.2MO4YNOSI4C2L7GHVIZ6YSYT.jdata +139 -0
  89. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.2R6YWG3EVKXULZJIZYSZYASV.jdata +151 -0
  90. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.2RFBXQYLZVPIYLITVUUU3GR6.jdata +136 -0
  91. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.2ZCJ73VD223TO7UVCF4DLSKS.jdata +166 -0
  92. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.2ZCOKJLMPCZTTSJQEYCYM2D6.jdata +18 -0
  93. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.32L5DZ6D632DGLU3OIBB3HGX.jdata +76 -0
  94. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.34LTVMPK2UDCR34EHCSEYX3W.jdata +19 -0
  95. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.3K6KCP5JDGW4X7DXT5RF6ZAF.jdata +121 -0
  96. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.5BJ4G7MKY3KGJAZMAYHRDDTI.jdata +106 -0
  97. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.5QIRD6GYS57CH4FPJLYCUDUN.jdata +81 -0
  98. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.6465KFARE44HTYJ4DLVE2POI.jdata +124 -0
  99. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.7EN5RO34NCDPWAWCIBM4UDIA.jdata +62 -0
  100. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.7HQRZGQAFAUVMAXUSH4QK35W.jdata +172 -0
  101. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.7IFCRZFNQ62AIPBKYYWNJKLP.jdata +166 -0
  102. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.7PPYAJDDR7DGHLI5YSFBGIX4.jdata +68 -0
  103. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.A7LBATMSQCBKAPGIUKAFX7ZQ.jdata +13 -0
  104. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.AQUOPWRX3Q2QNR2IWWMMGRCF.jdata +88 -0
  105. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.AY2WCVRGDI4KDBSNN4VWISRV.jdata +19 -0
  106. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.AZHBA2KSN2ZSGCQF32V3AZGH.jdata +18 -0
  107. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.B2X77CFBR4AHVC4UE3YWHRSE.jdata +1 -0
  108. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.BDGKT2HBP4KRZYQW7IOL3MXX.jdata +104 -0
  109. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.BUPSWPETJ4HHWZOY6M3X2AUV.jdata +48 -0
  110. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.CHH6NIYBJUBIWROO4LXF3AK2.jdata +28 -0
  111. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.CHI3Y6POL64COZMAEHK7RKOO.jdata +167 -0
  112. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.D4DU6MUFJX5C572GM25IWLFV.jdata +79 -0
  113. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.DFO4BLLJ4GVHRBYGLAJ7QUN2.jdata +59 -0
  114. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.DFQDMMGE23YQY5MCLNKOMZJM.jdata +118 -0
  115. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.DXWTOE3QM2D4XAICJLVAUOYH.jdata +173 -0
  116. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.E7DBFSJQQOZIWEZ4UIABFVTP.jdata +20 -0
  117. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.FILU5VIR2FDT3SRDYE322USR.jdata +181 -0
  118. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.GF24HO7CQHY55O6JKWEDKHNF.jdata +78 -0
  119. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.HBT3EGHORD2TZRM7XG5PO5II.jdata +136 -0
  120. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.HXBZGAQ724Y567AKGQOAAF2J.jdata +74 -0
  121. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.IBB3SCZSTCEZQFO4S7L6GVUH.jdata +149 -0
  122. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.ICOC34NWMBSXEFXQOO2BNY4H.jdata +59 -0
  123. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.IQPTOXVWTTENLD2E4VKNU56D.jdata +102 -0
  124. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.JP3IIRDA6QZDW4EZLKRII7KS.jdata +86 -0
  125. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.JZE5QCNYF4YHZYRGUZ6XRJHQ.jdata +84 -0
  126. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.K6A7V2JOVSAX7RHIZ2RPXYBP.jdata +1 -0
  127. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.KL7USBR5ZQUIN7K7MF3U7P73.jdata +64 -0
  128. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.KMZNMPE7IWFLWKPMN7OABWXZ.jdata +59 -0
  129. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.KZPHVIUPQIAFL2HTOAJR7VGJ.jdata +1 -0
  130. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.KZSRESLOPXQ4WH6ALAJP7U5H.jdata +196 -0
  131. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.LGBPQ5XC2BUGG4TJWYHTFZGE.jdata +89 -0
  132. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.LMLLDWOFTAPH3QVSOM7MHQ22.jdata +73 -0
  133. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.LVVUZMJT5MREBDWME5RSK7KI.jdata +146 -0
  134. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.LXBE5P62YKG5UDJGJRL6MSQC.jdata +68 -0
  135. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.MLOU6WK4ZV7K6HIWPE3LRWI2.jdata +98 -0
  136. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.NAL3QCUSLD44QGSRCQ5TZOAH.jdata +69 -0
  137. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.NWX7DKTFXRVH4ZYUTZULRDWT.jdata +80 -0
  138. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.O6M53LCMV7A3II22GUPKCJGP.jdata +98 -0
  139. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.PMARMGPM4IBPA3VCS3CYH5WM.jdata +32 -0
  140. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.PMJ37ZMFMTFORL4UYUDVNDZG.jdata +126 -0
  141. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.QPWLPWRWPFGRVQI5OS2RGXBW.jdata +26 -0
  142. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.QQ4RGTF2PBGNUPTLCO3Z3T2C.jdata +22 -0
  143. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.QWXPZSGYDRGIUZS6VDHGVLTF.jdata +72 -0
  144. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.QXQWSMICPPJGLPUQ33IQJK7F.jdata +90 -0
  145. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.RBX3IONPE5K2HMS4MAT4MKQY.jdata +146 -0
  146. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.RHKAHOLA74IHPBG75KQN4NAV.jdata +59 -0
  147. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.RWI3IGNEUOAJR7ZWU7NSPF72.jdata +67 -0
  148. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.SOVBQDZPBYCVZTRZF3CXHWOW.jdata +91 -0
  149. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.SWLOWAB2PTM5R2XN765A3ICZ.jdata +104 -0
  150. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.T3WRQEFUPCZICFXMJ5F6DQX3.jdata +131 -0
  151. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.TETZ2IEF3L2GYDJLNU3BVKMX.jdata +76 -0
  152. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.UXO4UE2Q7HO42SNSO4DULKJJ.jdata +118 -0
  153. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.VAUTIV2ROH62WNMZZCIGRBDC.jdata +132 -0
  154. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.VBP7Z5WQ2IOHMQIA5UV4DOH3.jdata +71 -0
  155. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.VCKGU2COVX6O3RUXNRC7FRCJ.jdata +151 -0
  156. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.VOCGDDBWN5H64YJZP3EPSZNU.jdata +158 -0
  157. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.VPEMTWGQVZ6ZSNF426GPHUXI.jdata +93 -0
  158. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.WAS2QNFHHPD2UIZ44F2IKRQ6.jdata +101 -0
  159. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.WYCWV4434DAMKRUU7F7LGZGR.jdata +142 -0
  160. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.XGWYF7VR6EIU3OWPXAWHP2PE.jdata +156 -0
  161. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.XJQYA42VX2WKHPAJWAUBHAXN.jdata +119 -0
  162. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.XLTFOXR4VH54UCW6BVEND6GI.jdata +85 -0
  163. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.YMTPJWXHLMW4IPBQABT3326F.jdata +109 -0
  164. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.YOIX3HY7SWPCY7AOBSDA3GLC.jdata +1 -0
  165. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.YSEQPSWWTXZTW52G5ZZU46RT.jdata +93 -0
  166. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.ZZ54PNLFYZ6GSOR2AESKXRL4.jdata +89 -0
  167. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.datainfo +86 -0
  168. package/export/tests/test_data/complex_join/export.cloneset.ReadsCount.spec +37 -0
  169. package/export/tests/test_data/complex_join/metadata.7ZNW7LBUDMBSQJ26KYSSTBPJ.datainfo +5 -0
  170. package/export/tests/test_data/complex_join/metadata.7ZNW7LBUDMBSQJ26KYSSTBPJ.jdata +82 -0
  171. package/export/tests/test_data/complex_join/metadata.7ZNW7LBUDMBSQJ26KYSSTBPJ.spec +14 -0
  172. package/export/tests/test_data/complex_join/request.json +43 -0
  173. package/export/tests/test_data/create_table_request_1/column.datainfo +7 -0
  174. package/export/tests/test_data/create_table_request_1/column.spec +11 -0
  175. package/export/tests/test_data/create_table_request_1/request.json +8 -0
  176. package/export/tests/test_data/create_table_request_2/column.datainfo +7 -0
  177. package/export/tests/test_data/create_table_request_2/column.spec +11 -0
  178. package/export/tests/test_data/create_table_request_2/request.json +8 -0
  179. package/export/tests/test_data/create_table_request_3/column.datainfo +7 -0
  180. package/export/tests/test_data/create_table_request_3/column.spec +11 -0
  181. package/export/tests/test_data/create_table_request_3/request.json +8 -0
  182. package/export/tests/test_data/create_table_request_4/column.datainfo +7 -0
  183. package/export/tests/test_data/create_table_request_4/column.spec +11 -0
  184. package/export/tests/test_data/create_table_request_4/request.json +8 -0
  185. package/export/tests/test_data/create_table_request_fail/column.datainfo +5 -0
  186. package/export/tests/test_data/create_table_request_fail/column.spec +11 -0
  187. package/export/tests/test_data/create_table_request_fail/request.json +8 -0
  188. package/export/tests/test_data/delete_column_request/request.json +27 -0
  189. package/export/tests/test_data/delete_column_request/response.json +13 -0
  190. package/export/tests/test_data/find_columns_request/column.spec +11 -0
  191. package/export/tests/test_data/find_columns_request/request.json +5 -0
  192. package/export/tests/test_data/find_columns_request/response.json +21 -0
  193. package/export/tests/test_data/get_column_spec_request/column.spec +11 -0
  194. package/export/tests/test_data/get_column_spec_request/response.json +11 -0
  195. package/export/tests/test_data/set_column_data_request/column.datainfo +5 -0
  196. package/export/tests/test_data/set_column_data_request/column.jdata +24 -0
  197. package/export/tests/test_data/set_column_data_request/column.spec +14 -0
  198. package/export/tests/test_data/sort_table_request/column1.datainfo +5 -0
  199. package/export/tests/test_data/sort_table_request/column1.jdata +4 -0
  200. package/export/tests/test_data/sort_table_request/column1.spec +11 -0
  201. package/export/tests/test_data/sort_table_request/column2.datainfo +5 -0
  202. package/export/tests/test_data/sort_table_request/column2.jdata +4 -0
  203. package/export/tests/test_data/sort_table_request/column2.spec +15 -0
  204. package/export/tests/test_data/sort_table_request/request.json +18 -0
  205. package/export/tests/test_data/sort_table_request/sorting.json +40 -0
  206. package/export/tests/test_data/unique_values_request/column.datainfo +5 -0
  207. package/export/tests/test_data/unique_values_request/column.jdata +5 -0
  208. package/export/tests/test_data/unique_values_request/column.spec +11 -0
  209. package/export/tests/test_data/unique_values_request/request.json +5 -0
  210. package/export/wrapper.ts +39 -0
  211. package/export_dist/{export/addon-def.d.ts → addon-def.d.ts} +8 -1
  212. package/export_dist/addon-def.d.ts.map +1 -0
  213. package/export_dist/addon.cjs.map +1 -1
  214. package/export_dist/addon.d.ts.map +1 -0
  215. package/export_dist/addon.js.map +1 -1
  216. package/export_dist/dump.cjs.map +1 -1
  217. package/export_dist/dump.d.ts.map +1 -0
  218. package/export_dist/dump.js.map +1 -1
  219. package/export_dist/export.cjs.map +1 -1
  220. package/export_dist/export.d.ts.map +1 -0
  221. package/export_dist/export.js.map +1 -1
  222. package/export_dist/index.d.ts.map +1 -0
  223. package/export_dist/tests/pframes.test.d.ts.map +1 -1
  224. package/export_dist/tests/setup.d.ts.map +1 -1
  225. package/export_dist/wrapper.cjs +17 -0
  226. package/export_dist/wrapper.cjs.map +1 -1
  227. package/export_dist/{export/wrapper.d.ts → wrapper.d.ts} +8 -1
  228. package/export_dist/wrapper.d.ts.map +1 -0
  229. package/export_dist/wrapper.js +17 -0
  230. package/export_dist/wrapper.js.map +1 -1
  231. package/package.json +31 -26
  232. package/export_dist/export/addon-def.d.ts.map +0 -1
  233. package/export_dist/export/addon.d.ts.map +0 -1
  234. package/export_dist/export/dump.d.ts.map +0 -1
  235. package/export_dist/export/export.d.ts.map +0 -1
  236. package/export_dist/export/index.d.ts.map +0 -1
  237. package/export_dist/export/wrapper.d.ts.map +0 -1
  238. /package/export_dist/{export/addon.d.ts → addon.d.ts} +0 -0
  239. /package/export_dist/{export/dump.d.ts → dump.d.ts} +0 -0
  240. /package/export_dist/{export/export.d.ts → export.d.ts} +0 -0
  241. /package/export_dist/{export/index.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,15 @@
1
+ {
2
+ "kind": "PColumn",
3
+ "valueType": "Float",
4
+ "name": "C2",
5
+ "axesSpec": [
6
+ {
7
+ "type": "Long",
8
+ "name": "A1"
9
+ },
10
+ {
11
+ "type": "String",
12
+ "name": "A2"
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "src": {
3
+ "type": "full",
4
+ "entries": [
5
+ {
6
+ "type": "column",
7
+ "columnId": "column1",
8
+ "qualifications": []
9
+ },
10
+ {
11
+ "type": "column",
12
+ "columnId": "column2",
13
+ "qualifications": []
14
+ }
15
+ ]
16
+ },
17
+ "filters": []
18
+ }
@@ -0,0 +1,40 @@
1
+ [
2
+ {
3
+ "column": {
4
+ "type": "axis",
5
+ "id": {
6
+ "name": "A1",
7
+ "type": "Long"
8
+ }
9
+ },
10
+ "ascending": true,
11
+ "naAndAbsentAreLeastValues": false
12
+ },
13
+ {
14
+ "column": {
15
+ "type": "axis",
16
+ "id": {
17
+ "name": "A2",
18
+ "type": "String"
19
+ }
20
+ },
21
+ "ascending": true,
22
+ "naAndAbsentAreLeastValues": false
23
+ },
24
+ {
25
+ "column": {
26
+ "type": "column",
27
+ "id": "column1"
28
+ },
29
+ "ascending": true,
30
+ "naAndAbsentAreLeastValues": false
31
+ },
32
+ {
33
+ "column": {
34
+ "type": "column",
35
+ "id": "column2"
36
+ },
37
+ "ascending": true,
38
+ "naAndAbsentAreLeastValues": false
39
+ }
40
+ ]
@@ -0,0 +1,5 @@
1
+ {
2
+ "type": "JsonPartitioned",
3
+ "partitionKeyLength": 0,
4
+ "parts": { "[]": "column.jdata" }
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "[\"3WOKVWNSHQZM463FFF22KPLM\"]": 10,
3
+ "[\"475RXKH7EUTMHXWNHKY5BDDI\"]": 11,
4
+ "[\"6JWQLE5VUPM4QHKVN3KYHLKT\"]": 12
5
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "kind": "PColumn",
3
+ "name": "column",
4
+ "valueType": "Long",
5
+ "axesSpec": [
6
+ {
7
+ "type": "String",
8
+ "name": "axis"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "columnId": "column",
3
+ "filters": [],
4
+ "limit": 3
5
+ }
package/export/wrapper.ts CHANGED
@@ -14,6 +14,9 @@ import {
14
14
  type TableRange,
15
15
  type UniqueValuesRequest,
16
16
  type UniqueValuesResponse,
17
+ type QueryData,
18
+ type AxisId,
19
+ type PColumnIdAndSpec,
17
20
  ensureError,
18
21
  isAbortError
19
22
  } from '@milaboratories/pl-model-common';
@@ -439,6 +442,42 @@ export class PFrame implements PFrameInternal.PFrameV13 {
439
442
  }
440
443
  }
441
444
 
445
+ createTableByDataQuery(
446
+ requestId: PFrameInternal.PTableId,
447
+ request: {
448
+ tableSpec: {
449
+ axes: AxisId[];
450
+ columns: PColumnIdAndSpec[];
451
+ };
452
+ dataQuery: QueryData;
453
+ }
454
+ ): PTable {
455
+ const timer = PerfTimer.start();
456
+ try {
457
+ const boxed = AddonSymbol.pFrameCreateTableByDataQuery(
458
+ this.#frame,
459
+ requestId,
460
+ request
461
+ );
462
+ return new PTable(this, requestId, boxed, this.#logger);
463
+ } catch (err: unknown) {
464
+ const error = new PFrameError(
465
+ `PFrame createTableByDataQuery request failed`
466
+ );
467
+ error.cause = new Error(
468
+ `PFrame ${this.id} createTableByDataQuery request ${requestId} failed, ` +
469
+ `error:\n` +
470
+ `${ensureError(err)}`
471
+ );
472
+ throw error;
473
+ } finally {
474
+ this.#logger(
475
+ 'info',
476
+ `PFrame ${this.id} createTableByDataQuery request ${requestId} took ${timer.elapsed()}`
477
+ );
478
+ }
479
+ }
480
+
442
481
  async getUniqueValues(
443
482
  request: UniqueValuesRequest,
444
483
  ops?: {
@@ -1,4 +1,4 @@
1
- import type { PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
1
+ import type { PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse, QueryData, AxisId, PColumnIdAndSpec } from '@milaboratories/pl-model-common';
2
2
  import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
3
3
  export interface NodeFrameSymbol extends Symbol {
4
4
  }
@@ -18,6 +18,13 @@ interface NodeFrame {
18
18
  pFrameGetColumnSpec: (pFrame: NodeFrameSymbol, columnId: PObjectId) => Promise<PColumnSpec | null>;
19
19
  pFrameListColumns: (pFrame: NodeFrameSymbol) => Promise<PColumnInfo[]>;
20
20
  pFrameCreateTable: (pFrame: NodeFrameSymbol, id: PFrameInternal.PTableId, request: PFrameInternal.CreateTableRequestV4) => NodeTableSymbol;
21
+ pFrameCreateTableByDataQuery: (pFrame: NodeFrameSymbol, id: PFrameInternal.PTableId, request: {
22
+ tableSpec: {
23
+ axes: AxisId[];
24
+ columns: PColumnIdAndSpec[];
25
+ };
26
+ dataQuery: QueryData;
27
+ }) => NodeTableSymbol;
21
28
  pFrameGetUniqueValues: (pFrame: NodeFrameSymbol, id: PFrameInternal.PTableId, request: UniqueValuesRequest, signal: AbortSignal | undefined) => Promise<UniqueValuesResponse>;
22
29
  }
23
30
  interface NodeTable {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"addon.cjs","sources":["../../export/addon.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n"],"names":["dirname","fileURLToPath","createRequire","resolve"],"mappings":";;;;;;;;AAMA,MAAM,WAAW,GAAG,2PAAe;AACnC,MAAM,WAAW,GAAGA,iBAAO,CAACC,sBAAa,CAAC,WAAW,CAAC,CAAC;AACvD,MAAM,WAAW,GAAGC,yBAAa,CAAC,WAAW,CAAC;AAE9C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,WAAW,CAC7B,SAAS,CAACC,iBAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"addon.cjs","sources":["../export/addon.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n"],"names":["dirname","fileURLToPath","createRequire","resolve"],"mappings":";;;;;;;;AAMA,MAAM,WAAW,GAAG,2PAAe;AACnC,MAAM,WAAW,GAAGA,iBAAO,CAACC,sBAAa,CAAC,WAAW,CAAC,CAAC;AACvD,MAAM,WAAW,GAAGC,yBAAa,CAAC,WAAW,CAAC;AAE9C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,WAAW,CAC7B,SAAS,CAACC,iBAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon.d.ts","sourceRoot":"","sources":["../export/addon.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB/C,QAAA,MAAM,WAAW,EAEZ,WAAW,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addon.js","sources":["../../export/addon.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n"],"names":[],"mappings":";;;;;AAMA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACnC,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;AAE9C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,WAAW,CAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"addon.js","sources":["../export/addon.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n"],"names":[],"mappings":";;;;;AAMA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACnC,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;AAE9C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,WAAW,CAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dump.cjs","sources":["../../export/dump.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { promises as fs } from 'node:fs';\nimport { join } from 'node:path';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\n\nexport function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash('sha256').update(columnId).digest('hex') as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === 'column') {\n return {\n ...tableId,\n id: hashColumnId(tableId.id)\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(\n filter: PTableRecordFilter\n): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column)\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(\n request: UniqueValuesRequest\n): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column)\n };\n}\n\nfunction hashJoinEntryColumnId(\n entry: PFrameInternal.JoinEntryV4\n): PFrameInternal.JoinEntryV4 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'artificialColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV4\n): PFrameInternal.CreateTableRequestV4 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await fs.mkdir(fileDir, { recursive: true });\n\n const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data)\n ? data\n : JSON.stringify(data, null, 2);\n await fs.writeFile(filePath, fileData, { flag: 'wx' });\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n"],"names":["createHash","join","fs"],"mappings":";;;;;;AAYM,SAAU,YAAY,CAAC,QAAmB,EAAA;AAC9C,IAAA,OAAOA,sBAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAc;AACzE;AAEM,SAAU,iBAAiB,CAAC,OAAuB,EAAA;AACvD,IAAA,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC7B,OAAO;AACL,YAAA,GAAG,OAAO;AACV,YAAA,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE;SAC5B;IACH;AACA,IAAA,OAAO,OAAO;AAChB;AAEM,SAAU,kBAAkB,CAChC,MAA0B,EAAA;IAE1B,OAAO;AACL,QAAA,GAAG,MAAM;AACT,QAAA,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM;KACxC;AACH;AAEM,SAAU,+BAA+B,CAC7C,OAA4B,EAAA;IAE5B,OAAO;AACL,QAAA,GAAG,OAAO;AACV,QAAA,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;KAChD;AACH;AAEM,SAAU,mBAAmB,CAAC,OAAsB,EAAA;IACxD,OAAO;AACL,QAAA,GAAG,OAAO;AACV,QAAA,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM;KACzC;AACH;AAEA,SAAS,qBAAqB,CAC5B,KAAiC,EAAA;AAEjC,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;IACvB,QAAQ,IAAI;AACV,QAAA,KAAK,QAAQ;YACX,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ;aACtC;AACH,QAAA,KAAK,cAAc;YACjB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;AACtC,gBAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;aAChC;AACH,QAAA,KAAK,kBAAkB;YACrB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;AACtC,gBAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;aAChC;AACH,QAAA,KAAK,cAAc;YACjB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;aAChC;AACH,QAAA,KAAK,OAAO;YACV,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB;aACjD;AACH,QAAA,KAAK,MAAM;YACT,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB;aACjD;AACH,QAAA,KAAK,OAAO;YACV,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC7C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB;aACrD;AACH,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAA,CAAE,CAAC;;AAE7D;AAEM,SAAU,8BAA8B,CAC5C,OAA4C,EAAA;IAE5C,OAAO;AACL,QAAA,GAAG,OAAO;AACV,QAAA,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;KAChD;AACH;AAEO,eAAe,IAAI,CACxB,YAAsB,EACtB,IAA4C,EAC5C,MAA8B,EAAA;AAE9B,IAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAAE;AACrC,IAAA,IAAI;AACF,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,OAAO,GAAGC,cAAI,CAClB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAC9B,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC5B;AACD,QAAA,MAAMC,gBAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE5C,QAAA,MAAM,QAAQ,GAAGD,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,WAAW,CAAC;AACrE,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI;AACtC,cAAE;cACA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACjC,QAAA,MAAMC,gBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxD;IAAE,OAAO,KAAc,EAAE;QACvB,MAAM,GAAG,MAAM,EAAE,qCAAqC,KAAK,CAAA,CAAE,CAAC;IAChE;AACF;;;;;;;;;;"}
1
+ {"version":3,"file":"dump.cjs","sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { promises as fs } from 'node:fs';\nimport { join } from 'node:path';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\n\nexport function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash('sha256').update(columnId).digest('hex') as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === 'column') {\n return {\n ...tableId,\n id: hashColumnId(tableId.id)\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(\n filter: PTableRecordFilter\n): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column)\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(\n request: UniqueValuesRequest\n): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column)\n };\n}\n\nfunction hashJoinEntryColumnId(\n entry: PFrameInternal.JoinEntryV4\n): PFrameInternal.JoinEntryV4 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'artificialColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV4\n): PFrameInternal.CreateTableRequestV4 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await fs.mkdir(fileDir, { recursive: true });\n\n const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data)\n ? data\n : JSON.stringify(data, null, 2);\n await fs.writeFile(filePath, fileData, { flag: 'wx' });\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n"],"names":["createHash","join","fs"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../export/dump.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAEzC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAE3D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAQzE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,kBAAkB,CAKpB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAMrB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAKzE;AAkDD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,cAAc,CAAC,oBAAoB,GAC3C,cAAc,CAAC,oBAAoB,CAMrC;AAED,wBAAsB,IAAI,CACxB,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,UAAU,EAC5C,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"dump.js","sources":["../../export/dump.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { promises as fs } from 'node:fs';\nimport { join } from 'node:path';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\n\nexport function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash('sha256').update(columnId).digest('hex') as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === 'column') {\n return {\n ...tableId,\n id: hashColumnId(tableId.id)\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(\n filter: PTableRecordFilter\n): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column)\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(\n request: UniqueValuesRequest\n): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column)\n };\n}\n\nfunction hashJoinEntryColumnId(\n entry: PFrameInternal.JoinEntryV4\n): PFrameInternal.JoinEntryV4 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'artificialColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV4\n): PFrameInternal.CreateTableRequestV4 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await fs.mkdir(fileDir, { recursive: true });\n\n const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data)\n ? data\n : JSON.stringify(data, null, 2);\n await fs.writeFile(filePath, fileData, { flag: 'wx' });\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n"],"names":["fs"],"mappings":"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"}
1
+ {"version":3,"file":"dump.js","sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { promises as fs } from 'node:fs';\nimport { join } from 'node:path';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\n\nexport function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash('sha256').update(columnId).digest('hex') as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === 'column') {\n return {\n ...tableId,\n id: hashColumnId(tableId.id)\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(\n filter: PTableRecordFilter\n): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column)\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(\n request: UniqueValuesRequest\n): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column)\n };\n}\n\nfunction hashJoinEntryColumnId(\n entry: PFrameInternal.JoinEntryV4\n): PFrameInternal.JoinEntryV4 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'artificialColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV4\n): PFrameInternal.CreateTableRequestV4 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await fs.mkdir(fileDir, { recursive: true });\n\n const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data)\n ? data\n : JSON.stringify(data, null, 2);\n await fs.writeFile(filePath, fileData, { flag: 'wx' });\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n"],"names":["fs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"export.cjs","sources":["../../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame, pprofDump } from './wrapper';\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV4 = {\n createPFrame: (\n options: PFrameInternal.PFrameOptionsV2\n ): PFrameInternal.PFrameV13 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n }\n};\n"],"names":["PFrame","pprofDump"],"mappings":";;;;AAGO,MAAM,aAAa,GAAmC;AAC3D,IAAA,YAAY,EAAE,CACZ,OAAuC,KACX;AAC5B,QAAA,OAAO,IAAIA,cAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,SAAS,EAAE,YAAgC;QACzC,OAAO,MAAMC,iBAAS,EAAE;IAC1B;;;;;"}
1
+ {"version":3,"file":"export.cjs","sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame, pprofDump } from './wrapper';\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV4 = {\n createPFrame: (\n options: PFrameInternal.PFrameOptionsV2\n ): PFrameInternal.PFrameV13 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n }\n};\n"],"names":["PFrame","pprofDump"],"mappings":";;;;AAGO,MAAM,aAAa,GAAmC;AAC3D,IAAA,YAAY,EAAE,CACZ,OAAuC,KACX;AAC5B,QAAA,OAAO,IAAIA,cAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,SAAS,EAAE,YAAgC;QACzC,OAAO,MAAMC,iBAAS,EAAE;IAC1B;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../export/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAG5E,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,eAS1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sources":["../../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame, pprofDump } from './wrapper';\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV4 = {\n createPFrame: (\n options: PFrameInternal.PFrameOptionsV2\n ): PFrameInternal.PFrameV13 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n }\n};\n"],"names":[],"mappings":";;AAGO,MAAM,aAAa,GAAmC;AAC3D,IAAA,YAAY,EAAE,CACZ,OAAuC,KACX;AAC5B,QAAA,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,SAAS,EAAE,YAAgC;QACzC,OAAO,MAAM,SAAS,EAAE;IAC1B;;;;;"}
1
+ {"version":3,"file":"export.js","sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame, pprofDump } from './wrapper';\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV4 = {\n createPFrame: (\n options: PFrameInternal.PFrameOptionsV2\n ): PFrameInternal.PFrameV13 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n }\n};\n"],"names":[],"mappings":";;AAGO,MAAM,aAAa,GAAmC;AAC3D,IAAA,YAAY,EAAE,CACZ,OAAuC,KACX;AAC5B,QAAA,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,SAAS,EAAE,YAAgC;QACzC,OAAO,MAAM,SAAS,EAAE;IAC1B;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../export/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pframes.test.d.ts","sourceRoot":"","sources":["../../tests/pframes.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"pframes.test.d.ts","sourceRoot":"","sources":["../../export/tests/pframes.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../export/tests/setup.ts"],"names":[],"mappings":""}
@@ -279,6 +279,23 @@ class PFrame {
279
279
  this.#logger('info', `PFrame ${this.id} createTable request ${requestId} took ${timer.elapsed()}`);
280
280
  }
281
281
  }
282
+ createTableByDataQuery(requestId, request) {
283
+ const timer = helpers.PerfTimer.start();
284
+ try {
285
+ const boxed = addon.AddonSymbol.pFrameCreateTableByDataQuery(this.#frame, requestId, request);
286
+ return new PTable(this, requestId, boxed, this.#logger);
287
+ }
288
+ catch (err) {
289
+ const error = new plModelCommon.PFrameError(`PFrame createTableByDataQuery request failed`);
290
+ error.cause = new Error(`PFrame ${this.id} createTableByDataQuery request ${requestId} failed, ` +
291
+ `error:\n` +
292
+ `${plModelCommon.ensureError(err)}`);
293
+ throw error;
294
+ }
295
+ finally {
296
+ this.#logger('info', `PFrame ${this.id} createTableByDataQuery request ${requestId} took ${timer.elapsed()}`);
297
+ }
298
+ }
282
299
  async getUniqueValues(request, ops) {
283
300
  const requestId = ulid.ulid();
284
301
  dump.dump([`${this.id}`, `${requestId}.json`], {
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.cjs","sources":["../../export/wrapper.ts"],"sourcesContent":["import { ulid } from 'ulid';\nimport {\n AbortError,\n type PColumnInfo,\n type PColumnSpec,\n PFrameError,\n type PObjectId,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableRecordFilter,\n type PTableShape,\n type PTableSorting,\n type PTableVector,\n type TableRange,\n type UniqueValuesRequest,\n type UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PerfTimer } from '@milaboratories/helpers';\nimport type { NodeFrameSymbol, NodeTableSymbol } from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport async function pprofDump(): Promise<Uint8Array> {\n try {\n return await AddonSymbol.pprofDump();\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame pprofDump failed`);\n error.cause = ensureError(err);\n throw error;\n }\n}\n\nexport class PFrame implements PFrameInternal.PFrameV13 {\n readonly #frame: NodeFrameSymbol;\n\n readonly #id: PFrameInternal.PFrameId;\n\n get id(): PFrameInternal.PFrameId {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(options: PFrameInternal.PFrameOptionsV2) {\n this.#id = options.frameId;\n this.#logger = options.logger ?? (() => {});\n\n dump(\n [`${this.id}`, `${this.id}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'create'\n },\n this.#logger\n );\n\n try {\n this.#frame = AddonSymbol.pFrameCreate(options.spillPath, options.logger);\n this.#logger('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame creation failed`);\n error.cause = new Error(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${this.#logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n addColumnSpec(columnId: PObjectId, columnSpec: PColumnSpec): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'addColumnSpec',\n requestData: {\n columnId: hashColumnId(columnId),\n columnSpec\n }\n },\n this.#logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.spec`],\n {\n ...columnSpec\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pFrameAddColumnSpec(this.#frame, columnId, columnSpec);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame addColumnSpec request failed`);\n error.cause = new Error(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSourceV2): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setDataSource'\n },\n this.#logger\n );\n\n const wrappedDataSource = {\n preloadBlob: async (\n blobIds: PFrameInternal.PFrameBlobId[]\n ): Promise<void> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'preloadBlob',\n requestData: {\n blobIds\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const timer = PerfTimer.start();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${timer.elapsed()} (${blobIds.length} blobs)`\n );\n }\n },\n resolveBlobContent: async (\n blobId: PFrameInternal.PFrameBlobId\n ): Promise<Uint8Array> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'resolveBlobContent',\n requestData: {\n blobId\n }\n },\n this.#logger\n );\n\n const blob = await dataSource.resolveBlobContent(blobId);\n this.#logger('info', `PFrame ${this.id} resolved blob ${blobId}`);\n dump([`${this.id}`, `data`, `${blobId}`], blob, this.#logger);\n\n return blob;\n },\n parquetServer: dataSource.parquetServer\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame setDataSource request failed`);\n error.cause = new Error(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n setColumnData(\n columnId: PObjectId,\n dataInfo: PFrameInternal.DataInfo<PFrameInternal.PFrameBlobId>,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<void> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setColumnData',\n requestData: {\n columnId: hashColumnId(columnId),\n dataInfo\n }\n },\n this.#logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.datainfo`],\n {\n ...dataInfo\n },\n this.#logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return AddonSymbol.pFrameSetColumnData(\n this.#frame,\n columnId,\n dataInfo,\n ops?.signal\n );\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame setColumnData request failed`);\n error.cause = new Error(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n dispose(): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'dispose'\n },\n this.#logger\n );\n\n try {\n AddonSymbol.pFrameDispose(this.#frame);\n this.#logger('info', `PFrame ${this.id} disposed`);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame dispose request failed`);\n error.cause = new Error(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n [Symbol.dispose](): void {\n this.dispose();\n }\n\n async findColumns(\n request: PFrameInternal.FindColumnsRequest\n ): Promise<PFrameInternal.FindColumnsResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'findColumns',\n requestData: request\n },\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n return await AddonSymbol.pFrameFindColumns(this.#frame, request);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame findColumns request failed`);\n error.cause = new Error(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async deleteColumn(\n request: PFrameInternal.DeleteColumnFromColumnsRequest\n ): Promise<PFrameInternal.DeleteColumnFromColumnsResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'deleteColumn',\n requestData: request\n },\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n return await AddonSymbol.pFrameDeleteColumn(this.#frame, request);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame deleteColumn request failed`);\n error.cause = new Error(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async getColumnSpec(columnId: PObjectId): Promise<PColumnSpec | null> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getColumnSpec',\n requestData: {\n columnId: hashColumnId(columnId)\n }\n },\n this.#logger\n );\n\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame getColumnSpec request failed`);\n error.cause = new Error(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async listColumns(): Promise<PColumnInfo[]> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'listColumns'\n },\n this.#logger\n );\n\n try {\n return await AddonSymbol.pFrameListColumns(this.#frame);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame listColumns request failed`);\n error.cause = new Error(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n createTable(\n requestId: PFrameInternal.PTableId,\n request: PFrameInternal.CreateTableRequestV4\n ): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: hashCreateTableRequestColumnId(request)\n };\n dump([`${this.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pFrameCreateTable(\n this.#frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame createTable request failed`);\n error.cause = new Error(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid() as PFrameInternal.PTableId;\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: hashUniqueValuesRequestColumnId(request)\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} started`\n );\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pFrameGetUniqueValues(\n this.#frame,\n requestId,\n request,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PFrame ${this.id} getUniqueValues request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PFrame getUniqueValues request failed`);\n error.cause = new Error(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${timer.elapsed()}`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV8 {\n readonly #frame: PFrame;\n readonly #table: NodeTableSymbol;\n\n readonly #id: string;\n\n get id(): string {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(\n frame: PFrame,\n id: string,\n table: NodeTableSymbol,\n logger: PFrameInternal.Logger\n ) {\n this.#frame = frame;\n this.#table = table;\n this.#id = id;\n this.#logger = logger;\n this.#logger('info', `PTable ${this.id} created`);\n }\n\n getSpec(): PTableColumnSpec[] {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getSpec'\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pTableGetSpec(this.#table);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable getSpec request failed`);\n error.cause = new Error(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n getColumnIndices(columnIds: PTableColumnId[]): number[] {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getColumnIndices',\n requestData: {\n columnIds: columnIds.map(hashTableColumnId)\n }\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.#table, columnIds);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable getColumnIndices request failed`);\n error.cause = new Error(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async getFootprint(ops?: { signal?: AbortSignal }): Promise<number> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getFootprint'\n },\n this.#logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(this.#table, ops?.signal);\n } catch (err: unknown) {\n if (!isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getFootprint request failed`);\n error.cause = new Error(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getShape'\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PTable ${this.id} getShape request ${requestId} started`\n );\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetShape(this.#table, ops?.signal);\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getShape request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getShape request failed`);\n error.cause = new Error(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} getShape request ${requestId} finished, took ${timer.elapsed()}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n ops?: {\n range?: TableRange | undefined;\n signal?: AbortSignal | undefined;\n }\n ): Promise<PTableVector[]> {\n const requestId = ulid() as PFrameInternal.PTableId;\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: ops?.range ?? null\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PTable ${this.id} getData request ${requestId} started`\n );\n let rowCount = 0;\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n const result = await AddonSymbol.pTableGetData(\n this.#table,\n requestId,\n columnIndices,\n ops?.range,\n ops?.signal\n );\n rowCount = result[0].data.length;\n return result;\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getData request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getData request failed`);\n error.cause = new Error(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} getData request ${requestId} finished, took ${timer.elapsed()} (${rowCount} rows)`\n );\n }\n }\n\n filter(\n requestId: PFrameInternal.PTableId,\n request: PTableRecordFilter[]\n ): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: {\n filters: request.map(hashFilterColumnId)\n }\n };\n dump([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pTableFilter(this.#table, requestId, request);\n return new PTable(this.#frame, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable filter request failed`);\n error.cause = new Error(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n sort(requestId: PFrameInternal.PTableId, request: PTableSorting[]): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request.map(hashSortingColumnId)\n };\n dump([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pTableSort(this.#table, requestId, request);\n return new PTable(this.#frame, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable sort request failed`);\n error.cause = new Error(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n dispose() {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'dispose'\n },\n this.#logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.#table);\n this.#logger('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable dispose request failed`);\n error.cause = new Error(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n"],"names":["AddonSymbol","PFrameError","ensureError","dump","ulid","hashColumnId","PerfTimer","hashCreateTableRequestColumnId","hashUniqueValuesRequestColumnId","isAbortError","AbortError","hashTableColumnId","hashFilterColumnId","hashSortingColumnId"],"mappings":"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"}
1
+ {"version":3,"file":"wrapper.cjs","sources":["../export/wrapper.ts"],"sourcesContent":["import { ulid } from 'ulid';\nimport {\n AbortError,\n type PColumnInfo,\n type PColumnSpec,\n PFrameError,\n type PObjectId,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableRecordFilter,\n type PTableShape,\n type PTableSorting,\n type PTableVector,\n type TableRange,\n type UniqueValuesRequest,\n type UniqueValuesResponse,\n type QueryData,\n type AxisId,\n type PColumnIdAndSpec,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PerfTimer } from '@milaboratories/helpers';\nimport type { NodeFrameSymbol, NodeTableSymbol } from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport async function pprofDump(): Promise<Uint8Array> {\n try {\n return await AddonSymbol.pprofDump();\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame pprofDump failed`);\n error.cause = ensureError(err);\n throw error;\n }\n}\n\nexport class PFrame implements PFrameInternal.PFrameV13 {\n readonly #frame: NodeFrameSymbol;\n\n readonly #id: PFrameInternal.PFrameId;\n\n get id(): PFrameInternal.PFrameId {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(options: PFrameInternal.PFrameOptionsV2) {\n this.#id = options.frameId;\n this.#logger = options.logger ?? (() => {});\n\n dump(\n [`${this.id}`, `${this.id}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'create'\n },\n this.#logger\n );\n\n try {\n this.#frame = AddonSymbol.pFrameCreate(options.spillPath, options.logger);\n this.#logger('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame creation failed`);\n error.cause = new Error(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${this.#logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n addColumnSpec(columnId: PObjectId, columnSpec: PColumnSpec): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'addColumnSpec',\n requestData: {\n columnId: hashColumnId(columnId),\n columnSpec\n }\n },\n this.#logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.spec`],\n {\n ...columnSpec\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pFrameAddColumnSpec(this.#frame, columnId, columnSpec);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame addColumnSpec request failed`);\n error.cause = new Error(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSourceV2): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setDataSource'\n },\n this.#logger\n );\n\n const wrappedDataSource = {\n preloadBlob: async (\n blobIds: PFrameInternal.PFrameBlobId[]\n ): Promise<void> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'preloadBlob',\n requestData: {\n blobIds\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const timer = PerfTimer.start();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${timer.elapsed()} (${blobIds.length} blobs)`\n );\n }\n },\n resolveBlobContent: async (\n blobId: PFrameInternal.PFrameBlobId\n ): Promise<Uint8Array> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'resolveBlobContent',\n requestData: {\n blobId\n }\n },\n this.#logger\n );\n\n const blob = await dataSource.resolveBlobContent(blobId);\n this.#logger('info', `PFrame ${this.id} resolved blob ${blobId}`);\n dump([`${this.id}`, `data`, `${blobId}`], blob, this.#logger);\n\n return blob;\n },\n parquetServer: dataSource.parquetServer\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame setDataSource request failed`);\n error.cause = new Error(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n setColumnData(\n columnId: PObjectId,\n dataInfo: PFrameInternal.DataInfo<PFrameInternal.PFrameBlobId>,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<void> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setColumnData',\n requestData: {\n columnId: hashColumnId(columnId),\n dataInfo\n }\n },\n this.#logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.datainfo`],\n {\n ...dataInfo\n },\n this.#logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return AddonSymbol.pFrameSetColumnData(\n this.#frame,\n columnId,\n dataInfo,\n ops?.signal\n );\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame setColumnData request failed`);\n error.cause = new Error(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n dispose(): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'dispose'\n },\n this.#logger\n );\n\n try {\n AddonSymbol.pFrameDispose(this.#frame);\n this.#logger('info', `PFrame ${this.id} disposed`);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame dispose request failed`);\n error.cause = new Error(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n [Symbol.dispose](): void {\n this.dispose();\n }\n\n async findColumns(\n request: PFrameInternal.FindColumnsRequest\n ): Promise<PFrameInternal.FindColumnsResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'findColumns',\n requestData: request\n },\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n return await AddonSymbol.pFrameFindColumns(this.#frame, request);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame findColumns request failed`);\n error.cause = new Error(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async deleteColumn(\n request: PFrameInternal.DeleteColumnFromColumnsRequest\n ): Promise<PFrameInternal.DeleteColumnFromColumnsResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'deleteColumn',\n requestData: request\n },\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n return await AddonSymbol.pFrameDeleteColumn(this.#frame, request);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame deleteColumn request failed`);\n error.cause = new Error(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async getColumnSpec(columnId: PObjectId): Promise<PColumnSpec | null> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getColumnSpec',\n requestData: {\n columnId: hashColumnId(columnId)\n }\n },\n this.#logger\n );\n\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame getColumnSpec request failed`);\n error.cause = new Error(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async listColumns(): Promise<PColumnInfo[]> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'listColumns'\n },\n this.#logger\n );\n\n try {\n return await AddonSymbol.pFrameListColumns(this.#frame);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame listColumns request failed`);\n error.cause = new Error(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n createTable(\n requestId: PFrameInternal.PTableId,\n request: PFrameInternal.CreateTableRequestV4\n ): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: hashCreateTableRequestColumnId(request)\n };\n dump([`${this.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pFrameCreateTable(\n this.#frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame createTable request failed`);\n error.cause = new Error(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n createTableByDataQuery(\n requestId: PFrameInternal.PTableId,\n request: {\n tableSpec: {\n axes: AxisId[];\n columns: PColumnIdAndSpec[];\n };\n dataQuery: QueryData;\n }\n ): PTable {\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pFrameCreateTableByDataQuery(\n this.#frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(\n `PFrame createTableByDataQuery request failed`\n );\n error.cause = new Error(\n `PFrame ${this.id} createTableByDataQuery request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} createTableByDataQuery request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid() as PFrameInternal.PTableId;\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: hashUniqueValuesRequestColumnId(request)\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} started`\n );\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pFrameGetUniqueValues(\n this.#frame,\n requestId,\n request,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PFrame ${this.id} getUniqueValues request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PFrame getUniqueValues request failed`);\n error.cause = new Error(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${timer.elapsed()}`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV8 {\n readonly #frame: PFrame;\n readonly #table: NodeTableSymbol;\n\n readonly #id: string;\n\n get id(): string {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(\n frame: PFrame,\n id: string,\n table: NodeTableSymbol,\n logger: PFrameInternal.Logger\n ) {\n this.#frame = frame;\n this.#table = table;\n this.#id = id;\n this.#logger = logger;\n this.#logger('info', `PTable ${this.id} created`);\n }\n\n getSpec(): PTableColumnSpec[] {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getSpec'\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pTableGetSpec(this.#table);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable getSpec request failed`);\n error.cause = new Error(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n getColumnIndices(columnIds: PTableColumnId[]): number[] {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getColumnIndices',\n requestData: {\n columnIds: columnIds.map(hashTableColumnId)\n }\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.#table, columnIds);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable getColumnIndices request failed`);\n error.cause = new Error(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async getFootprint(ops?: { signal?: AbortSignal }): Promise<number> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getFootprint'\n },\n this.#logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(this.#table, ops?.signal);\n } catch (err: unknown) {\n if (!isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getFootprint request failed`);\n error.cause = new Error(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getShape'\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PTable ${this.id} getShape request ${requestId} started`\n );\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetShape(this.#table, ops?.signal);\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getShape request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getShape request failed`);\n error.cause = new Error(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} getShape request ${requestId} finished, took ${timer.elapsed()}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n ops?: {\n range?: TableRange | undefined;\n signal?: AbortSignal | undefined;\n }\n ): Promise<PTableVector[]> {\n const requestId = ulid() as PFrameInternal.PTableId;\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: ops?.range ?? null\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PTable ${this.id} getData request ${requestId} started`\n );\n let rowCount = 0;\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n const result = await AddonSymbol.pTableGetData(\n this.#table,\n requestId,\n columnIndices,\n ops?.range,\n ops?.signal\n );\n rowCount = result[0].data.length;\n return result;\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getData request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getData request failed`);\n error.cause = new Error(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} getData request ${requestId} finished, took ${timer.elapsed()} (${rowCount} rows)`\n );\n }\n }\n\n filter(\n requestId: PFrameInternal.PTableId,\n request: PTableRecordFilter[]\n ): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: {\n filters: request.map(hashFilterColumnId)\n }\n };\n dump([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pTableFilter(this.#table, requestId, request);\n return new PTable(this.#frame, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable filter request failed`);\n error.cause = new Error(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n sort(requestId: PFrameInternal.PTableId, request: PTableSorting[]): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request.map(hashSortingColumnId)\n };\n dump([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pTableSort(this.#table, requestId, request);\n return new PTable(this.#frame, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable sort request failed`);\n error.cause = new Error(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n dispose() {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'dispose'\n },\n this.#logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.#table);\n this.#logger('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable dispose request failed`);\n error.cause = new Error(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n"],"names":["AddonSymbol","PFrameError","ensureError","dump","ulid","hashColumnId","PerfTimer","hashCreateTableRequestColumnId","hashUniqueValuesRequestColumnId","isAbortError","AbortError","hashTableColumnId","hashFilterColumnId","hashSortingColumnId"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type PColumnInfo, type PColumnSpec, type PObjectId, type PTableColumnId, type PTableColumnSpec, type PTableRecordFilter, type PTableShape, type PTableSorting, type PTableVector, type TableRange, type UniqueValuesRequest, type UniqueValuesResponse } from '@milaboratories/pl-model-common';
1
+ import { type PColumnInfo, type PColumnSpec, type PObjectId, type PTableColumnId, type PTableColumnSpec, type PTableRecordFilter, type PTableShape, type PTableSorting, type PTableVector, type TableRange, type UniqueValuesRequest, type UniqueValuesResponse, type QueryData, type AxisId, type PColumnIdAndSpec } from '@milaboratories/pl-model-common';
2
2
  import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
3
3
  import type { NodeTableSymbol } from './addon-def';
4
4
  export declare function pprofDump(): Promise<Uint8Array>;
@@ -18,6 +18,13 @@ export declare class PFrame implements PFrameInternal.PFrameV13 {
18
18
  getColumnSpec(columnId: PObjectId): Promise<PColumnSpec | null>;
19
19
  listColumns(): Promise<PColumnInfo[]>;
20
20
  createTable(requestId: PFrameInternal.PTableId, request: PFrameInternal.CreateTableRequestV4): PTable;
21
+ createTableByDataQuery(requestId: PFrameInternal.PTableId, request: {
22
+ tableSpec: {
23
+ axes: AxisId[];
24
+ columns: PColumnIdAndSpec[];
25
+ };
26
+ dataQuery: QueryData;
27
+ }): PTable;
21
28
  getUniqueValues(request: UniqueValuesRequest, ops?: {
22
29
  signal?: AbortSignal;
23
30
  }): Promise<UniqueValuesResponse>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../export/wrapper.ts"],"names":[],"mappings":"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"}