@nshiab/simple-data-analysis 5.19.18 → 5.20.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 (1151) hide show
  1. package/esm/class/SimpleDB.d.ts +1 -1
  2. package/esm/class/SimpleDB.d.ts.map +1 -1
  3. package/esm/class/SimpleDB.js +1 -1
  4. package/esm/class/SimpleTable.d.ts +1 -1
  5. package/esm/class/SimpleTable.d.ts.map +1 -1
  6. package/esm/class/SimpleTable.js +3 -3
  7. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/Simple.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleDB.d.ts +482 -0
  9. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleDB.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleDB.js +805 -0
  11. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleTable.d.ts +4589 -0
  12. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleTable.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleTable.js +5561 -0
  14. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/accumulateQuery.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/camelCase.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/capitalize.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/checkVssIndexes.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/cleanCache.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/cleanPath.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/cleanSQL.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/concatenateRowQuery.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/convertForJS.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/convertForJS.js +39 -0
  24. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/createDirectory.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/csvFormat.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/dataToArrays.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/extractTypes.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/findGeoColumn.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/findGeoColumn.js +18 -0
  30. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/formatDate.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/formatNumber.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/getCombinations.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/getExtension.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/getIdenticalColumns.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/getName.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/hasGeometryColumn.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/hasGeometryColumn.js +21 -0
  38. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/index.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/keepNumericalColumns.d.ts.map +1 -0
  40. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/logData.d.ts.map +1 -0
  41. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/logData.js +53 -0
  42. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/mergeOptions.d.ts.map +1 -0
  43. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/nestQuery.d.ts.map +1 -0
  44. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseDuckDBType.d.ts.map +1 -0
  45. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseTypes.d.ts +2 -0
  46. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseTypes.d.ts.map +1 -0
  47. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseTypes.js +37 -0
  48. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseValue.d.ts.map +1 -0
  49. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/prettyDuration.d.ts.map +1 -0
  50. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/printTable.d.ts.map +1 -0
  51. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/queryDB.d.ts.map +1 -0
  52. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/repeatRowsQuery.d.ts.map +1 -0
  53. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/rewind.d.ts.map +1 -0
  54. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/runQuery.d.ts.map +1 -0
  55. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/setDbProps.d.ts +3 -0
  56. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/setDbProps.d.ts.map +1 -0
  57. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/setDbProps.js +21 -0
  58. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/stringToArray.d.ts.map +1 -0
  59. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/stringifyDates.d.ts.map +1 -0
  60. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/stringifyDatesInvert.d.ts.map +1 -0
  61. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/unifyColumns.d.ts +7 -0
  62. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/unifyColumns.d.ts.map +1 -0
  63. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/unifyColumns.js +17 -0
  64. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/unnestQuery.d.ts.map +1 -0
  65. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/wrapString.d.ts.map +1 -0
  66. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeDataAsArrays.d.ts.map +1 -0
  67. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeGeoData.d.ts.map +1 -0
  68. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeGeoData.js +80 -0
  69. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeIndexes.d.ts +3 -0
  70. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeIndexes.d.ts.map +1 -0
  71. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeIndexes.js +16 -0
  72. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/index.d.ts.map +1 -0
  73. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/aggregateGeoQuery.d.ts.map +1 -0
  74. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/binsQuery.d.ts.map +1 -0
  75. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/bm25.d.ts.map +1 -0
  76. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/bm25.js +48 -0
  77. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/cache.d.ts.map +1 -0
  78. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/cache.js +133 -0
  79. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/capitalizeQuery.d.ts.map +1 -0
  80. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/cloneColumn.d.ts.map +1 -0
  81. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/cloneQuery.d.ts.map +1 -0
  82. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/concatenateQuery.d.ts.map +1 -0
  83. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/convertQuery.d.ts.map +1 -0
  84. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/correlations.d.ts.map +1 -0
  85. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/correlationsQuery.d.ts.map +1 -0
  86. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/createFtsIndex.d.ts.map +1 -0
  87. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/createVssIndex.d.ts.map +1 -0
  88. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/crossJoinQuery.d.ts.map +1 -0
  89. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/distanceQuery.d.ts.map +1 -0
  90. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/distanceQuery.js +44 -0
  91. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fill.d.ts.map +1 -0
  92. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fuzzyClean.d.ts.map +1 -0
  93. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fuzzyJoin.d.ts.map +1 -0
  94. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fuzzyJoin.js +52 -0
  95. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fuzzyJoinQuery.d.ts.map +1 -0
  96. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getBottom.d.ts.map +1 -0
  97. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getColumns.d.ts.map +1 -0
  98. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getDescription.d.ts.map +1 -0
  99. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getFirstRow.d.ts.map +1 -0
  100. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getGeoData.d.ts.map +1 -0
  101. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getGeoData.js +32 -0
  102. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getLastRow.d.ts.map +1 -0
  103. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getMax.d.ts.map +1 -0
  104. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getMean.d.ts.map +1 -0
  105. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getMedian.d.ts.map +1 -0
  106. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getMin.d.ts.map +1 -0
  107. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getNbCharacters.d.ts.map +1 -0
  108. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getNbRows.d.ts +5 -0
  109. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getNbRows.d.ts.map +1 -0
  110. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getNbRows.js +15 -0
  111. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getQuantile.d.ts.map +1 -0
  112. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getSkew.d.ts.map +1 -0
  113. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getStdDev.d.ts.map +1 -0
  114. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getSum.d.ts.map +1 -0
  115. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getTableNames.d.ts.map +1 -0
  116. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getTop.d.ts.map +1 -0
  117. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getTypes.d.ts.map +1 -0
  118. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getUniques.d.ts.map +1 -0
  119. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getValues.d.ts.map +1 -0
  120. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getVar.d.ts.map +1 -0
  121. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/insertRowsQuery.d.ts.map +1 -0
  122. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/join.d.ts.map +1 -0
  123. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/join.js +57 -0
  124. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinGeo.d.ts.map +1 -0
  125. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinGeo.js +63 -0
  126. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinGeoQuery.d.ts.map +1 -0
  127. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinGeoQuery.js +55 -0
  128. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinQuery.d.ts.map +1 -0
  129. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/keepQuery.d.ts.map +1 -0
  130. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/linearRegressionQuery.d.ts.map +1 -0
  131. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/linearRegressions.d.ts.map +1 -0
  132. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/loadArray.d.ts.map +1 -0
  133. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/loadDataQuery.d.ts.map +1 -0
  134. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/loadSample.d.ts.map +1 -0
  135. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/lowerQuery.d.ts.map +1 -0
  136. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/normalizeQuery.d.ts.map +1 -0
  137. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/normalizeString.d.ts.map +1 -0
  138. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/outliersIQRQuery.d.ts.map +1 -0
  139. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/padQuery.d.ts.map +1 -0
  140. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/proportionsHorizontalQuery.d.ts.map +1 -0
  141. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/proportionsVerticalQuery.d.ts.map +1 -0
  142. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/quantilesQuery.d.ts.map +1 -0
  143. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/randomPointQuery.d.ts +2 -0
  144. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/randomPointQuery.d.ts.map +1 -0
  145. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/randomPointQuery.js +66 -0
  146. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/ranksQuery.d.ts.map +1 -0
  147. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/removeDuplicatesQuery.d.ts.map +1 -0
  148. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/removeMissing.d.ts.map +1 -0
  149. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/removeMissingQuery.d.ts.map +1 -0
  150. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/removeQuery.d.ts.map +1 -0
  151. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/renameColumnQuery.d.ts.map +1 -0
  152. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/replaceNullsQuery.d.ts.map +1 -0
  153. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/replaceQuery.d.ts.map +1 -0
  154. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/rollingQuery.d.ts.map +1 -0
  155. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/roundQuery.d.ts.map +1 -0
  156. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/selectRowsQuery.d.ts.map +1 -0
  157. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/sortQuery.d.ts.map +1 -0
  158. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/splitSpread.d.ts.map +1 -0
  159. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/summarize.d.ts.map +1 -0
  160. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/summarizeQuery.d.ts.map +1 -0
  161. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/summarizeQuery.js +112 -0
  162. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/trimQuery.d.ts.map +1 -0
  163. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/truncateQuery.d.ts.map +1 -0
  164. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/upperQuery.d.ts.map +1 -0
  165. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/writeDataQuery.d.ts.map +1 -0
  166. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/writeGeoDataQuery.d.ts.map +1 -0
  167. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/writeGeoDataQuery.js +19 -0
  168. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/zScoreQuery.d.ts.map +1 -0
  169. package/esm/methods/aiRowByRow.js +1 -1
  170. package/esm/methods/aiVectorSimilarity.d.ts.map +1 -1
  171. package/esm/methods/aiVectorSimilarity.js +2 -2
  172. package/esm/methods/hybridSearch.d.ts.map +1 -1
  173. package/esm/methods/hybridSearch.js +2 -2
  174. package/package.json +2 -2
  175. package/script/class/SimpleDB.d.ts +1 -1
  176. package/script/class/SimpleDB.d.ts.map +1 -1
  177. package/script/class/SimpleDB.js +1 -1
  178. package/script/class/SimpleTable.d.ts +1 -1
  179. package/script/class/SimpleTable.d.ts.map +1 -1
  180. package/script/class/SimpleTable.js +3 -3
  181. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/Simple.d.ts.map +1 -0
  182. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleDB.d.ts +482 -0
  183. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleDB.d.ts.map +1 -0
  184. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleDB.js +811 -0
  185. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleTable.d.ts +4589 -0
  186. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleTable.d.ts.map +1 -0
  187. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/class/SimpleTable.js +5567 -0
  188. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/accumulateQuery.d.ts.map +1 -0
  189. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/camelCase.d.ts.map +1 -0
  190. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/capitalize.d.ts.map +1 -0
  191. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/checkVssIndexes.d.ts.map +1 -0
  192. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/cleanCache.d.ts.map +1 -0
  193. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/cleanPath.d.ts.map +1 -0
  194. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/cleanSQL.d.ts.map +1 -0
  195. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/concatenateRowQuery.d.ts.map +1 -0
  196. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/convertForJS.d.ts.map +1 -0
  197. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/convertForJS.js +42 -0
  198. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/createDirectory.d.ts.map +1 -0
  199. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/csvFormat.d.ts.map +1 -0
  200. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/dataToArrays.d.ts.map +1 -0
  201. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/extractTypes.d.ts.map +1 -0
  202. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/findGeoColumn.d.ts.map +1 -0
  203. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/findGeoColumn.js +21 -0
  204. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/formatDate.d.ts.map +1 -0
  205. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/formatNumber.d.ts.map +1 -0
  206. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/getCombinations.d.ts.map +1 -0
  207. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/getExtension.d.ts.map +1 -0
  208. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/getIdenticalColumns.d.ts.map +1 -0
  209. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/getName.d.ts.map +1 -0
  210. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/hasGeometryColumn.d.ts.map +1 -0
  211. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/hasGeometryColumn.js +24 -0
  212. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/index.d.ts.map +1 -0
  213. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/keepNumericalColumns.d.ts.map +1 -0
  214. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/logData.d.ts.map +1 -0
  215. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/logData.js +59 -0
  216. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/mergeOptions.d.ts.map +1 -0
  217. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/nestQuery.d.ts.map +1 -0
  218. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseDuckDBType.d.ts.map +1 -0
  219. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseTypes.d.ts +2 -0
  220. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseTypes.d.ts.map +1 -0
  221. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseTypes.js +40 -0
  222. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/parseValue.d.ts.map +1 -0
  223. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/prettyDuration.d.ts.map +1 -0
  224. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/printTable.d.ts.map +1 -0
  225. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/queryDB.d.ts.map +1 -0
  226. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/repeatRowsQuery.d.ts.map +1 -0
  227. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/rewind.d.ts.map +1 -0
  228. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/runQuery.d.ts.map +1 -0
  229. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/setDbProps.d.ts +3 -0
  230. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/setDbProps.d.ts.map +1 -0
  231. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/setDbProps.js +24 -0
  232. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/stringToArray.d.ts.map +1 -0
  233. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/stringifyDates.d.ts.map +1 -0
  234. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/stringifyDatesInvert.d.ts.map +1 -0
  235. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/unifyColumns.d.ts +7 -0
  236. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/unifyColumns.d.ts.map +1 -0
  237. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/unifyColumns.js +20 -0
  238. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/unnestQuery.d.ts.map +1 -0
  239. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/wrapString.d.ts.map +1 -0
  240. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeDataAsArrays.d.ts.map +1 -0
  241. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeGeoData.d.ts.map +1 -0
  242. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeGeoData.js +86 -0
  243. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeIndexes.d.ts +3 -0
  244. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeIndexes.d.ts.map +1 -0
  245. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/helpers/writeIndexes.js +19 -0
  246. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/index.d.ts.map +1 -0
  247. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/aggregateGeoQuery.d.ts.map +1 -0
  248. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/binsQuery.d.ts.map +1 -0
  249. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/bm25.d.ts.map +1 -0
  250. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/bm25.js +54 -0
  251. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/cache.d.ts.map +1 -0
  252. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/cache.js +139 -0
  253. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/capitalizeQuery.d.ts.map +1 -0
  254. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/cloneColumn.d.ts.map +1 -0
  255. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/cloneQuery.d.ts.map +1 -0
  256. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/concatenateQuery.d.ts.map +1 -0
  257. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/convertQuery.d.ts.map +1 -0
  258. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/correlations.d.ts.map +1 -0
  259. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/correlationsQuery.d.ts.map +1 -0
  260. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/createFtsIndex.d.ts.map +1 -0
  261. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/createVssIndex.d.ts.map +1 -0
  262. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/crossJoinQuery.d.ts.map +1 -0
  263. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/distanceQuery.d.ts.map +1 -0
  264. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/distanceQuery.js +47 -0
  265. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fill.d.ts.map +1 -0
  266. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fuzzyClean.d.ts.map +1 -0
  267. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fuzzyJoin.d.ts.map +1 -0
  268. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fuzzyJoin.js +58 -0
  269. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/fuzzyJoinQuery.d.ts.map +1 -0
  270. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getBottom.d.ts.map +1 -0
  271. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getColumns.d.ts.map +1 -0
  272. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getDescription.d.ts.map +1 -0
  273. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getFirstRow.d.ts.map +1 -0
  274. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getGeoData.d.ts.map +1 -0
  275. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getGeoData.js +38 -0
  276. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getLastRow.d.ts.map +1 -0
  277. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getMax.d.ts.map +1 -0
  278. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getMean.d.ts.map +1 -0
  279. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getMedian.d.ts.map +1 -0
  280. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getMin.d.ts.map +1 -0
  281. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getNbCharacters.d.ts.map +1 -0
  282. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getNbRows.d.ts +5 -0
  283. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getNbRows.d.ts.map +1 -0
  284. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getNbRows.js +21 -0
  285. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getQuantile.d.ts.map +1 -0
  286. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getSkew.d.ts.map +1 -0
  287. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getStdDev.d.ts.map +1 -0
  288. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getSum.d.ts.map +1 -0
  289. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getTableNames.d.ts.map +1 -0
  290. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getTop.d.ts.map +1 -0
  291. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getTypes.d.ts.map +1 -0
  292. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getUniques.d.ts.map +1 -0
  293. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getValues.d.ts.map +1 -0
  294. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/getVar.d.ts.map +1 -0
  295. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/insertRowsQuery.d.ts.map +1 -0
  296. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/join.d.ts.map +1 -0
  297. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/join.js +63 -0
  298. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinGeo.d.ts.map +1 -0
  299. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinGeo.js +69 -0
  300. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinGeoQuery.d.ts.map +1 -0
  301. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinGeoQuery.js +58 -0
  302. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/joinQuery.d.ts.map +1 -0
  303. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/keepQuery.d.ts.map +1 -0
  304. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/linearRegressionQuery.d.ts.map +1 -0
  305. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/linearRegressions.d.ts.map +1 -0
  306. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/loadArray.d.ts.map +1 -0
  307. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/loadDataQuery.d.ts.map +1 -0
  308. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/loadSample.d.ts.map +1 -0
  309. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/lowerQuery.d.ts.map +1 -0
  310. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/normalizeQuery.d.ts.map +1 -0
  311. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/normalizeString.d.ts.map +1 -0
  312. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/outliersIQRQuery.d.ts.map +1 -0
  313. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/padQuery.d.ts.map +1 -0
  314. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/proportionsHorizontalQuery.d.ts.map +1 -0
  315. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/proportionsVerticalQuery.d.ts.map +1 -0
  316. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/quantilesQuery.d.ts.map +1 -0
  317. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/randomPointQuery.d.ts +2 -0
  318. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/randomPointQuery.d.ts.map +1 -0
  319. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/randomPointQuery.js +69 -0
  320. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/ranksQuery.d.ts.map +1 -0
  321. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/removeDuplicatesQuery.d.ts.map +1 -0
  322. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/removeMissing.d.ts.map +1 -0
  323. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/removeMissingQuery.d.ts.map +1 -0
  324. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/removeQuery.d.ts.map +1 -0
  325. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/renameColumnQuery.d.ts.map +1 -0
  326. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/replaceNullsQuery.d.ts.map +1 -0
  327. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/replaceQuery.d.ts.map +1 -0
  328. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/rollingQuery.d.ts.map +1 -0
  329. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/roundQuery.d.ts.map +1 -0
  330. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/selectRowsQuery.d.ts.map +1 -0
  331. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/sortQuery.d.ts.map +1 -0
  332. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/splitSpread.d.ts.map +1 -0
  333. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/summarize.d.ts.map +1 -0
  334. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/summarizeQuery.d.ts.map +1 -0
  335. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/summarizeQuery.js +115 -0
  336. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/trimQuery.d.ts.map +1 -0
  337. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/truncateQuery.d.ts.map +1 -0
  338. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/upperQuery.d.ts.map +1 -0
  339. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/writeDataQuery.d.ts.map +1 -0
  340. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/writeGeoDataQuery.d.ts.map +1 -0
  341. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/writeGeoDataQuery.js +25 -0
  342. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.1.1/src/methods/zScoreQuery.d.ts.map +1 -0
  343. package/script/methods/aiRowByRow.js +1 -1
  344. package/script/methods/aiVectorSimilarity.d.ts.map +1 -1
  345. package/script/methods/aiVectorSimilarity.js +2 -2
  346. package/script/methods/hybridSearch.d.ts.map +1 -1
  347. package/script/methods/hybridSearch.js +2 -2
  348. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/Simple.d.ts.map +0 -1
  349. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleDB.d.ts +0 -487
  350. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleDB.d.ts.map +0 -1
  351. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleDB.js +0 -807
  352. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleTable.d.ts +0 -4579
  353. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleTable.d.ts.map +0 -1
  354. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleTable.js +0 -5565
  355. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/accumulateQuery.d.ts.map +0 -1
  356. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/camelCase.d.ts.map +0 -1
  357. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/capitalize.d.ts.map +0 -1
  358. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/checkVssIndexes.d.ts.map +0 -1
  359. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/cleanCache.d.ts.map +0 -1
  360. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/cleanPath.d.ts.map +0 -1
  361. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/cleanSQL.d.ts.map +0 -1
  362. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/concatenateRowQuery.d.ts.map +0 -1
  363. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/convertForJS.d.ts.map +0 -1
  364. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/convertForJS.js +0 -39
  365. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/createDirectory.d.ts.map +0 -1
  366. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/csvFormat.d.ts.map +0 -1
  367. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/dataToArrays.d.ts.map +0 -1
  368. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/extractTypes.d.ts.map +0 -1
  369. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/findGeoColumn.d.ts.map +0 -1
  370. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/findGeoColumn.js +0 -18
  371. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/formatDate.d.ts.map +0 -1
  372. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/formatNumber.d.ts.map +0 -1
  373. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getCombinations.d.ts.map +0 -1
  374. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getExtension.d.ts.map +0 -1
  375. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getIdenticalColumns.d.ts.map +0 -1
  376. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getName.d.ts.map +0 -1
  377. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjection.d.ts +0 -3
  378. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjection.d.ts.map +0 -1
  379. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjection.js +0 -25
  380. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjectionParquet.d.ts +0 -3
  381. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjectionParquet.d.ts.map +0 -1
  382. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjectionParquet.js +0 -24
  383. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/hasGeometryColumn.d.ts.map +0 -1
  384. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/hasGeometryColumn.js +0 -21
  385. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/index.d.ts.map +0 -1
  386. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/keepNumericalColumns.d.ts.map +0 -1
  387. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/logData.d.ts.map +0 -1
  388. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/logData.js +0 -48
  389. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/mergeOptions.d.ts.map +0 -1
  390. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/nestQuery.d.ts.map +0 -1
  391. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseDuckDBType.d.ts.map +0 -1
  392. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseTypes.d.ts +0 -2
  393. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseTypes.d.ts.map +0 -1
  394. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseTypes.js +0 -35
  395. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseValue.d.ts.map +0 -1
  396. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/prettyDuration.d.ts.map +0 -1
  397. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/printTable.d.ts.map +0 -1
  398. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/queryDB.d.ts.map +0 -1
  399. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/repeatRowsQuery.d.ts.map +0 -1
  400. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/rewind.d.ts.map +0 -1
  401. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/runQuery.d.ts.map +0 -1
  402. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/setDbProps.d.ts +0 -3
  403. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/setDbProps.d.ts.map +0 -1
  404. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/setDbProps.js +0 -25
  405. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/shouldFlipBeforeExport.d.ts +0 -2
  406. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/shouldFlipBeforeExport.d.ts.map +0 -1
  407. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/shouldFlipBeforeExport.js +0 -3
  408. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/stringToArray.d.ts.map +0 -1
  409. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/stringifyDates.d.ts.map +0 -1
  410. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/stringifyDatesInvert.d.ts.map +0 -1
  411. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/unifyColumns.d.ts +0 -9
  412. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/unifyColumns.d.ts.map +0 -1
  413. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/unifyColumns.js +0 -21
  414. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/unnestQuery.d.ts.map +0 -1
  415. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/wrapString.d.ts.map +0 -1
  416. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeDataAsArrays.d.ts.map +0 -1
  417. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeGeoData.d.ts.map +0 -1
  418. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeGeoData.js +0 -110
  419. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeProjectionsAndIndexes.d.ts +0 -3
  420. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeProjectionsAndIndexes.d.ts.map +0 -1
  421. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeProjectionsAndIndexes.js +0 -29
  422. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/index.d.ts.map +0 -1
  423. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/aggregateGeoQuery.d.ts.map +0 -1
  424. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/binsQuery.d.ts.map +0 -1
  425. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/bm25.d.ts.map +0 -1
  426. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/bm25.js +0 -48
  427. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/cache.d.ts.map +0 -1
  428. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/cache.js +0 -133
  429. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/capitalizeQuery.d.ts.map +0 -1
  430. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/cloneColumn.d.ts.map +0 -1
  431. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/cloneQuery.d.ts.map +0 -1
  432. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/concatenateQuery.d.ts.map +0 -1
  433. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/convertQuery.d.ts.map +0 -1
  434. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/correlations.d.ts.map +0 -1
  435. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/correlationsQuery.d.ts.map +0 -1
  436. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/createFtsIndex.d.ts.map +0 -1
  437. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/createVssIndex.d.ts.map +0 -1
  438. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/crossJoinQuery.d.ts.map +0 -1
  439. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/distanceQuery.d.ts.map +0 -1
  440. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/distanceQuery.js +0 -42
  441. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fill.d.ts.map +0 -1
  442. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fuzzyClean.d.ts.map +0 -1
  443. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fuzzyJoin.d.ts.map +0 -1
  444. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fuzzyJoin.js +0 -57
  445. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fuzzyJoinQuery.d.ts.map +0 -1
  446. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getBottom.d.ts.map +0 -1
  447. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getColumns.d.ts.map +0 -1
  448. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getDescription.d.ts.map +0 -1
  449. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getFirstRow.d.ts.map +0 -1
  450. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getGeoData.d.ts.map +0 -1
  451. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getGeoData.js +0 -41
  452. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getLastRow.d.ts.map +0 -1
  453. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getMax.d.ts.map +0 -1
  454. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getMean.d.ts.map +0 -1
  455. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getMedian.d.ts.map +0 -1
  456. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getMin.d.ts.map +0 -1
  457. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getNbCharacters.d.ts.map +0 -1
  458. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getNbRows.d.ts +0 -3
  459. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getNbRows.d.ts.map +0 -1
  460. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getNbRows.js +0 -15
  461. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getQuantile.d.ts.map +0 -1
  462. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getSkew.d.ts.map +0 -1
  463. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getStdDev.d.ts.map +0 -1
  464. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getSum.d.ts.map +0 -1
  465. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getTableNames.d.ts.map +0 -1
  466. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getTop.d.ts.map +0 -1
  467. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getTypes.d.ts.map +0 -1
  468. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getUniques.d.ts.map +0 -1
  469. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getValues.d.ts.map +0 -1
  470. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getVar.d.ts.map +0 -1
  471. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/insertRowsQuery.d.ts.map +0 -1
  472. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/join.d.ts.map +0 -1
  473. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/join.js +0 -63
  474. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinGeo.d.ts.map +0 -1
  475. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinGeo.js +0 -76
  476. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinGeoQuery.d.ts.map +0 -1
  477. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinGeoQuery.js +0 -55
  478. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinQuery.d.ts.map +0 -1
  479. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/keepQuery.d.ts.map +0 -1
  480. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/linearRegressionQuery.d.ts.map +0 -1
  481. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/linearRegressions.d.ts.map +0 -1
  482. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/loadArray.d.ts.map +0 -1
  483. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/loadDataQuery.d.ts.map +0 -1
  484. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/loadSample.d.ts.map +0 -1
  485. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/lowerQuery.d.ts.map +0 -1
  486. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/normalizeQuery.d.ts.map +0 -1
  487. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/normalizeString.d.ts.map +0 -1
  488. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/outliersIQRQuery.d.ts.map +0 -1
  489. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/padQuery.d.ts.map +0 -1
  490. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/proportionsHorizontalQuery.d.ts.map +0 -1
  491. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/proportionsVerticalQuery.d.ts.map +0 -1
  492. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/quantilesQuery.d.ts.map +0 -1
  493. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/randomPointQuery.d.ts +0 -2
  494. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/randomPointQuery.d.ts.map +0 -1
  495. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/randomPointQuery.js +0 -28
  496. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/ranksQuery.d.ts.map +0 -1
  497. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/removeDuplicatesQuery.d.ts.map +0 -1
  498. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/removeMissing.d.ts.map +0 -1
  499. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/removeMissingQuery.d.ts.map +0 -1
  500. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/removeQuery.d.ts.map +0 -1
  501. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/renameColumnQuery.d.ts.map +0 -1
  502. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/replaceNullsQuery.d.ts.map +0 -1
  503. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/replaceQuery.d.ts.map +0 -1
  504. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/rollingQuery.d.ts.map +0 -1
  505. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/roundQuery.d.ts.map +0 -1
  506. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/selectRowsQuery.d.ts.map +0 -1
  507. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/sortQuery.d.ts.map +0 -1
  508. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/splitSpread.d.ts.map +0 -1
  509. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/summarize.d.ts.map +0 -1
  510. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/summarizeQuery.d.ts.map +0 -1
  511. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/summarizeQuery.js +0 -112
  512. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/trimQuery.d.ts.map +0 -1
  513. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/truncateQuery.d.ts.map +0 -1
  514. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/upperQuery.d.ts.map +0 -1
  515. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/writeDataQuery.d.ts.map +0 -1
  516. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/writeGeoDataQuery.d.ts.map +0 -1
  517. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/writeGeoDataQuery.js +0 -19
  518. package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/zScoreQuery.d.ts.map +0 -1
  519. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/Simple.d.ts.map +0 -1
  520. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleDB.d.ts +0 -487
  521. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleDB.d.ts.map +0 -1
  522. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleDB.js +0 -813
  523. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleTable.d.ts +0 -4579
  524. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleTable.d.ts.map +0 -1
  525. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/class/SimpleTable.js +0 -5571
  526. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/accumulateQuery.d.ts.map +0 -1
  527. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/camelCase.d.ts.map +0 -1
  528. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/capitalize.d.ts.map +0 -1
  529. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/checkVssIndexes.d.ts.map +0 -1
  530. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/cleanCache.d.ts.map +0 -1
  531. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/cleanPath.d.ts.map +0 -1
  532. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/cleanSQL.d.ts.map +0 -1
  533. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/concatenateRowQuery.d.ts.map +0 -1
  534. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/convertForJS.d.ts.map +0 -1
  535. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/convertForJS.js +0 -42
  536. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/createDirectory.d.ts.map +0 -1
  537. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/csvFormat.d.ts.map +0 -1
  538. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/dataToArrays.d.ts.map +0 -1
  539. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/extractTypes.d.ts.map +0 -1
  540. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/findGeoColumn.d.ts.map +0 -1
  541. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/findGeoColumn.js +0 -21
  542. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/formatDate.d.ts.map +0 -1
  543. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/formatNumber.d.ts.map +0 -1
  544. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getCombinations.d.ts.map +0 -1
  545. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getExtension.d.ts.map +0 -1
  546. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getIdenticalColumns.d.ts.map +0 -1
  547. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getName.d.ts.map +0 -1
  548. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjection.d.ts +0 -3
  549. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjection.d.ts.map +0 -1
  550. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjection.js +0 -31
  551. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjectionParquet.d.ts +0 -3
  552. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjectionParquet.d.ts.map +0 -1
  553. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/getProjectionParquet.js +0 -30
  554. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/hasGeometryColumn.d.ts.map +0 -1
  555. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/hasGeometryColumn.js +0 -24
  556. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/index.d.ts.map +0 -1
  557. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/keepNumericalColumns.d.ts.map +0 -1
  558. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/logData.d.ts.map +0 -1
  559. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/logData.js +0 -54
  560. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/mergeOptions.d.ts.map +0 -1
  561. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/nestQuery.d.ts.map +0 -1
  562. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseDuckDBType.d.ts.map +0 -1
  563. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseTypes.d.ts +0 -2
  564. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseTypes.d.ts.map +0 -1
  565. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseTypes.js +0 -38
  566. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/parseValue.d.ts.map +0 -1
  567. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/prettyDuration.d.ts.map +0 -1
  568. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/printTable.d.ts.map +0 -1
  569. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/queryDB.d.ts.map +0 -1
  570. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/repeatRowsQuery.d.ts.map +0 -1
  571. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/rewind.d.ts.map +0 -1
  572. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/runQuery.d.ts.map +0 -1
  573. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/setDbProps.d.ts +0 -3
  574. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/setDbProps.d.ts.map +0 -1
  575. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/setDbProps.js +0 -28
  576. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/shouldFlipBeforeExport.d.ts +0 -2
  577. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/shouldFlipBeforeExport.d.ts.map +0 -1
  578. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/shouldFlipBeforeExport.js +0 -6
  579. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/stringToArray.d.ts.map +0 -1
  580. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/stringifyDates.d.ts.map +0 -1
  581. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/stringifyDatesInvert.d.ts.map +0 -1
  582. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/unifyColumns.d.ts +0 -9
  583. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/unifyColumns.d.ts.map +0 -1
  584. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/unifyColumns.js +0 -24
  585. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/unnestQuery.d.ts.map +0 -1
  586. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/wrapString.d.ts.map +0 -1
  587. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeDataAsArrays.d.ts.map +0 -1
  588. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeGeoData.d.ts.map +0 -1
  589. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeGeoData.js +0 -116
  590. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeProjectionsAndIndexes.d.ts +0 -3
  591. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeProjectionsAndIndexes.d.ts.map +0 -1
  592. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/helpers/writeProjectionsAndIndexes.js +0 -32
  593. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/index.d.ts.map +0 -1
  594. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/aggregateGeoQuery.d.ts.map +0 -1
  595. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/binsQuery.d.ts.map +0 -1
  596. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/bm25.d.ts.map +0 -1
  597. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/bm25.js +0 -54
  598. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/cache.d.ts.map +0 -1
  599. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/cache.js +0 -139
  600. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/capitalizeQuery.d.ts.map +0 -1
  601. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/cloneColumn.d.ts.map +0 -1
  602. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/cloneQuery.d.ts.map +0 -1
  603. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/concatenateQuery.d.ts.map +0 -1
  604. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/convertQuery.d.ts.map +0 -1
  605. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/correlations.d.ts.map +0 -1
  606. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/correlationsQuery.d.ts.map +0 -1
  607. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/createFtsIndex.d.ts.map +0 -1
  608. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/createVssIndex.d.ts.map +0 -1
  609. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/crossJoinQuery.d.ts.map +0 -1
  610. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/distanceQuery.d.ts.map +0 -1
  611. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/distanceQuery.js +0 -45
  612. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fill.d.ts.map +0 -1
  613. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fuzzyClean.d.ts.map +0 -1
  614. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fuzzyJoin.d.ts.map +0 -1
  615. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fuzzyJoin.js +0 -63
  616. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/fuzzyJoinQuery.d.ts.map +0 -1
  617. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getBottom.d.ts.map +0 -1
  618. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getColumns.d.ts.map +0 -1
  619. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getDescription.d.ts.map +0 -1
  620. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getFirstRow.d.ts.map +0 -1
  621. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getGeoData.d.ts.map +0 -1
  622. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getGeoData.js +0 -47
  623. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getLastRow.d.ts.map +0 -1
  624. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getMax.d.ts.map +0 -1
  625. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getMean.d.ts.map +0 -1
  626. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getMedian.d.ts.map +0 -1
  627. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getMin.d.ts.map +0 -1
  628. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getNbCharacters.d.ts.map +0 -1
  629. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getNbRows.d.ts +0 -3
  630. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getNbRows.d.ts.map +0 -1
  631. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getNbRows.js +0 -21
  632. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getQuantile.d.ts.map +0 -1
  633. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getSkew.d.ts.map +0 -1
  634. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getStdDev.d.ts.map +0 -1
  635. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getSum.d.ts.map +0 -1
  636. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getTableNames.d.ts.map +0 -1
  637. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getTop.d.ts.map +0 -1
  638. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getTypes.d.ts.map +0 -1
  639. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getUniques.d.ts.map +0 -1
  640. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getValues.d.ts.map +0 -1
  641. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/getVar.d.ts.map +0 -1
  642. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/insertRowsQuery.d.ts.map +0 -1
  643. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/join.d.ts.map +0 -1
  644. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/join.js +0 -69
  645. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinGeo.d.ts.map +0 -1
  646. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinGeo.js +0 -82
  647. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinGeoQuery.d.ts.map +0 -1
  648. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinGeoQuery.js +0 -58
  649. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/joinQuery.d.ts.map +0 -1
  650. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/keepQuery.d.ts.map +0 -1
  651. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/linearRegressionQuery.d.ts.map +0 -1
  652. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/linearRegressions.d.ts.map +0 -1
  653. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/loadArray.d.ts.map +0 -1
  654. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/loadDataQuery.d.ts.map +0 -1
  655. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/loadSample.d.ts.map +0 -1
  656. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/lowerQuery.d.ts.map +0 -1
  657. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/normalizeQuery.d.ts.map +0 -1
  658. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/normalizeString.d.ts.map +0 -1
  659. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/outliersIQRQuery.d.ts.map +0 -1
  660. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/padQuery.d.ts.map +0 -1
  661. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/proportionsHorizontalQuery.d.ts.map +0 -1
  662. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/proportionsVerticalQuery.d.ts.map +0 -1
  663. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/quantilesQuery.d.ts.map +0 -1
  664. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/randomPointQuery.d.ts +0 -2
  665. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/randomPointQuery.d.ts.map +0 -1
  666. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/randomPointQuery.js +0 -31
  667. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/ranksQuery.d.ts.map +0 -1
  668. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/removeDuplicatesQuery.d.ts.map +0 -1
  669. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/removeMissing.d.ts.map +0 -1
  670. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/removeMissingQuery.d.ts.map +0 -1
  671. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/removeQuery.d.ts.map +0 -1
  672. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/renameColumnQuery.d.ts.map +0 -1
  673. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/replaceNullsQuery.d.ts.map +0 -1
  674. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/replaceQuery.d.ts.map +0 -1
  675. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/rollingQuery.d.ts.map +0 -1
  676. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/roundQuery.d.ts.map +0 -1
  677. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/selectRowsQuery.d.ts.map +0 -1
  678. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/sortQuery.d.ts.map +0 -1
  679. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/splitSpread.d.ts.map +0 -1
  680. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/summarize.d.ts.map +0 -1
  681. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/summarizeQuery.d.ts.map +0 -1
  682. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/summarizeQuery.js +0 -115
  683. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/trimQuery.d.ts.map +0 -1
  684. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/truncateQuery.d.ts.map +0 -1
  685. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/upperQuery.d.ts.map +0 -1
  686. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/writeDataQuery.d.ts.map +0 -1
  687. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/writeGeoDataQuery.d.ts.map +0 -1
  688. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/writeGeoDataQuery.js +0 -25
  689. package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/0.0.26/src/methods/zScoreQuery.d.ts.map +0 -1
  690. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/class/Simple.d.ts +0 -0
  691. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/class/Simple.js +0 -0
  692. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/accumulateQuery.d.ts +0 -0
  693. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/accumulateQuery.js +0 -0
  694. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/camelCase.d.ts +0 -0
  695. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/camelCase.js +0 -0
  696. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/capitalize.d.ts +0 -0
  697. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/capitalize.js +0 -0
  698. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/checkVssIndexes.d.ts +0 -0
  699. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/checkVssIndexes.js +0 -0
  700. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanCache.d.ts +0 -0
  701. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanCache.js +0 -0
  702. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanPath.d.ts +0 -0
  703. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanPath.js +0 -0
  704. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanSQL.d.ts +0 -0
  705. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanSQL.js +0 -0
  706. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/concatenateRowQuery.d.ts +0 -0
  707. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/concatenateRowQuery.js +0 -0
  708. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/convertForJS.d.ts +0 -0
  709. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/createDirectory.d.ts +0 -0
  710. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/createDirectory.js +0 -0
  711. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/csvFormat.d.ts +0 -0
  712. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/csvFormat.js +0 -0
  713. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/dataToArrays.d.ts +0 -0
  714. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/dataToArrays.js +0 -0
  715. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/extractTypes.d.ts +0 -0
  716. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/extractTypes.js +0 -0
  717. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/findGeoColumn.d.ts +0 -0
  718. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/formatDate.d.ts +0 -0
  719. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/formatDate.js +0 -0
  720. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/formatNumber.d.ts +0 -0
  721. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/formatNumber.js +0 -0
  722. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getCombinations.d.ts +0 -0
  723. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getCombinations.js +0 -0
  724. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getExtension.d.ts +0 -0
  725. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getExtension.js +0 -0
  726. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getIdenticalColumns.d.ts +0 -0
  727. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getIdenticalColumns.js +0 -0
  728. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getName.d.ts +0 -0
  729. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getName.js +0 -0
  730. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/hasGeometryColumn.d.ts +0 -0
  731. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/index.d.ts +0 -0
  732. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/index.js +0 -0
  733. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/keepNumericalColumns.d.ts +0 -0
  734. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/keepNumericalColumns.js +0 -0
  735. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/logData.d.ts +0 -0
  736. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/mergeOptions.d.ts +0 -0
  737. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/mergeOptions.js +0 -0
  738. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/nestQuery.d.ts +0 -0
  739. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/nestQuery.js +0 -0
  740. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/parseDuckDBType.d.ts +0 -0
  741. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/parseDuckDBType.js +0 -0
  742. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/parseValue.d.ts +0 -0
  743. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/parseValue.js +0 -0
  744. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/prettyDuration.d.ts +0 -0
  745. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/prettyDuration.js +0 -0
  746. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/printTable.d.ts +0 -0
  747. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/printTable.js +0 -0
  748. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/queryDB.d.ts +0 -0
  749. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/queryDB.js +0 -0
  750. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/repeatRowsQuery.d.ts +0 -0
  751. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/repeatRowsQuery.js +0 -0
  752. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/rewind.d.ts +0 -0
  753. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/rewind.js +0 -0
  754. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/runQuery.d.ts +0 -0
  755. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/runQuery.js +0 -0
  756. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringToArray.d.ts +0 -0
  757. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringToArray.js +0 -0
  758. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringifyDates.d.ts +0 -0
  759. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringifyDates.js +0 -0
  760. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringifyDatesInvert.d.ts +0 -0
  761. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringifyDatesInvert.js +0 -0
  762. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/unnestQuery.d.ts +0 -0
  763. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/unnestQuery.js +0 -0
  764. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/wrapString.d.ts +0 -0
  765. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/wrapString.js +0 -0
  766. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/writeDataAsArrays.d.ts +0 -0
  767. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/writeDataAsArrays.js +0 -0
  768. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/writeGeoData.d.ts +0 -0
  769. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/index.d.ts +0 -0
  770. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/index.js +0 -0
  771. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/aggregateGeoQuery.d.ts +0 -0
  772. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/aggregateGeoQuery.js +0 -0
  773. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/binsQuery.d.ts +0 -0
  774. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/binsQuery.js +0 -0
  775. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/bm25.d.ts +0 -0
  776. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cache.d.ts +0 -0
  777. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/capitalizeQuery.d.ts +0 -0
  778. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/capitalizeQuery.js +0 -0
  779. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cloneColumn.d.ts +0 -0
  780. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cloneColumn.js +0 -0
  781. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cloneQuery.d.ts +0 -0
  782. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cloneQuery.js +0 -0
  783. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/concatenateQuery.d.ts +0 -0
  784. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/concatenateQuery.js +0 -0
  785. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/convertQuery.d.ts +0 -0
  786. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/convertQuery.js +0 -0
  787. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/correlations.d.ts +0 -0
  788. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/correlations.js +0 -0
  789. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/correlationsQuery.d.ts +0 -0
  790. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/correlationsQuery.js +0 -0
  791. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/createFtsIndex.d.ts +0 -0
  792. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/createFtsIndex.js +0 -0
  793. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/createVssIndex.d.ts +0 -0
  794. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/createVssIndex.js +0 -0
  795. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/crossJoinQuery.d.ts +0 -0
  796. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/crossJoinQuery.js +0 -0
  797. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/distanceQuery.d.ts +0 -0
  798. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fill.d.ts +0 -0
  799. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fill.js +0 -0
  800. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyClean.d.ts +0 -0
  801. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyClean.js +0 -0
  802. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyJoin.d.ts +0 -0
  803. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyJoinQuery.d.ts +0 -0
  804. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyJoinQuery.js +0 -0
  805. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getBottom.d.ts +0 -0
  806. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getBottom.js +0 -0
  807. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getColumns.d.ts +0 -0
  808. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getColumns.js +0 -0
  809. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getDescription.d.ts +0 -0
  810. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getDescription.js +0 -0
  811. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getFirstRow.d.ts +0 -0
  812. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getFirstRow.js +0 -0
  813. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getGeoData.d.ts +0 -0
  814. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getLastRow.d.ts +0 -0
  815. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getLastRow.js +0 -0
  816. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMax.d.ts +0 -0
  817. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMax.js +0 -0
  818. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMean.d.ts +0 -0
  819. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMean.js +0 -0
  820. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMedian.d.ts +0 -0
  821. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMedian.js +0 -0
  822. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMin.d.ts +0 -0
  823. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMin.js +0 -0
  824. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getNbCharacters.d.ts +0 -0
  825. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getNbCharacters.js +0 -0
  826. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getQuantile.d.ts +0 -0
  827. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getQuantile.js +0 -0
  828. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getSkew.d.ts +0 -0
  829. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getSkew.js +0 -0
  830. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getStdDev.d.ts +0 -0
  831. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getStdDev.js +0 -0
  832. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getSum.d.ts +0 -0
  833. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getSum.js +0 -0
  834. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTableNames.d.ts +0 -0
  835. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTableNames.js +0 -0
  836. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTop.d.ts +0 -0
  837. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTop.js +0 -0
  838. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTypes.d.ts +0 -0
  839. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTypes.js +0 -0
  840. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getUniques.d.ts +0 -0
  841. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getUniques.js +0 -0
  842. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getValues.d.ts +0 -0
  843. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getValues.js +0 -0
  844. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getVar.d.ts +0 -0
  845. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getVar.js +0 -0
  846. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/insertRowsQuery.d.ts +0 -0
  847. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/insertRowsQuery.js +0 -0
  848. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/join.d.ts +0 -0
  849. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/joinGeo.d.ts +0 -0
  850. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/joinGeoQuery.d.ts +0 -0
  851. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/joinQuery.d.ts +0 -0
  852. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/joinQuery.js +0 -0
  853. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/keepQuery.d.ts +0 -0
  854. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/keepQuery.js +0 -0
  855. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/linearRegressionQuery.d.ts +0 -0
  856. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/linearRegressionQuery.js +0 -0
  857. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/linearRegressions.d.ts +0 -0
  858. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/linearRegressions.js +0 -0
  859. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadArray.d.ts +0 -0
  860. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadArray.js +0 -0
  861. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadDataQuery.d.ts +0 -0
  862. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadDataQuery.js +0 -0
  863. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadSample.d.ts +0 -0
  864. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadSample.js +0 -0
  865. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/lowerQuery.d.ts +0 -0
  866. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/lowerQuery.js +0 -0
  867. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/normalizeQuery.d.ts +0 -0
  868. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/normalizeQuery.js +0 -0
  869. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/normalizeString.d.ts +0 -0
  870. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/normalizeString.js +0 -0
  871. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/outliersIQRQuery.d.ts +0 -0
  872. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/outliersIQRQuery.js +0 -0
  873. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/padQuery.d.ts +0 -0
  874. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/padQuery.js +0 -0
  875. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/proportionsHorizontalQuery.d.ts +0 -0
  876. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/proportionsHorizontalQuery.js +0 -0
  877. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/proportionsVerticalQuery.d.ts +0 -0
  878. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/proportionsVerticalQuery.js +0 -0
  879. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/quantilesQuery.d.ts +0 -0
  880. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/quantilesQuery.js +0 -0
  881. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/ranksQuery.d.ts +0 -0
  882. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/ranksQuery.js +0 -0
  883. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeDuplicatesQuery.d.ts +0 -0
  884. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeDuplicatesQuery.js +0 -0
  885. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeMissing.d.ts +0 -0
  886. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeMissing.js +0 -0
  887. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeMissingQuery.d.ts +0 -0
  888. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeMissingQuery.js +0 -0
  889. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeQuery.d.ts +0 -0
  890. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeQuery.js +0 -0
  891. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/renameColumnQuery.d.ts +0 -0
  892. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/renameColumnQuery.js +0 -0
  893. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/replaceNullsQuery.d.ts +0 -0
  894. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/replaceNullsQuery.js +0 -0
  895. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/replaceQuery.d.ts +0 -0
  896. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/replaceQuery.js +0 -0
  897. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/rollingQuery.d.ts +0 -0
  898. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/rollingQuery.js +0 -0
  899. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/roundQuery.d.ts +0 -0
  900. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/roundQuery.js +0 -0
  901. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/selectRowsQuery.d.ts +0 -0
  902. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/selectRowsQuery.js +0 -0
  903. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/sortQuery.d.ts +0 -0
  904. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/sortQuery.js +0 -0
  905. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/splitSpread.d.ts +0 -0
  906. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/splitSpread.js +0 -0
  907. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/summarize.d.ts +0 -0
  908. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/summarize.js +0 -0
  909. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/summarizeQuery.d.ts +0 -0
  910. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/trimQuery.d.ts +0 -0
  911. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/trimQuery.js +0 -0
  912. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/truncateQuery.d.ts +0 -0
  913. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/truncateQuery.js +0 -0
  914. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/upperQuery.d.ts +0 -0
  915. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/upperQuery.js +0 -0
  916. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/writeDataQuery.d.ts +0 -0
  917. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/writeDataQuery.js +0 -0
  918. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/writeGeoDataQuery.d.ts +0 -0
  919. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/zScoreQuery.d.ts +0 -0
  920. /package/esm/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/zScoreQuery.js +0 -0
  921. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/class/Simple.d.ts +0 -0
  922. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/class/Simple.js +0 -0
  923. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/accumulateQuery.d.ts +0 -0
  924. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/accumulateQuery.js +0 -0
  925. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/camelCase.d.ts +0 -0
  926. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/camelCase.js +0 -0
  927. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/capitalize.d.ts +0 -0
  928. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/capitalize.js +0 -0
  929. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/checkVssIndexes.d.ts +0 -0
  930. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/checkVssIndexes.js +0 -0
  931. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanCache.d.ts +0 -0
  932. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanCache.js +0 -0
  933. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanPath.d.ts +0 -0
  934. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanPath.js +0 -0
  935. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanSQL.d.ts +0 -0
  936. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/cleanSQL.js +0 -0
  937. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/concatenateRowQuery.d.ts +0 -0
  938. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/concatenateRowQuery.js +0 -0
  939. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/convertForJS.d.ts +0 -0
  940. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/createDirectory.d.ts +0 -0
  941. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/createDirectory.js +0 -0
  942. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/csvFormat.d.ts +0 -0
  943. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/csvFormat.js +0 -0
  944. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/dataToArrays.d.ts +0 -0
  945. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/dataToArrays.js +0 -0
  946. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/extractTypes.d.ts +0 -0
  947. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/extractTypes.js +0 -0
  948. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/findGeoColumn.d.ts +0 -0
  949. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/formatDate.d.ts +0 -0
  950. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/formatDate.js +0 -0
  951. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/formatNumber.d.ts +0 -0
  952. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/formatNumber.js +0 -0
  953. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getCombinations.d.ts +0 -0
  954. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getCombinations.js +0 -0
  955. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getExtension.d.ts +0 -0
  956. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getExtension.js +0 -0
  957. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getIdenticalColumns.d.ts +0 -0
  958. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getIdenticalColumns.js +0 -0
  959. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getName.d.ts +0 -0
  960. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/getName.js +0 -0
  961. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/hasGeometryColumn.d.ts +0 -0
  962. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/index.d.ts +0 -0
  963. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/index.js +0 -0
  964. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/keepNumericalColumns.d.ts +0 -0
  965. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/keepNumericalColumns.js +0 -0
  966. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/logData.d.ts +0 -0
  967. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/mergeOptions.d.ts +0 -0
  968. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/mergeOptions.js +0 -0
  969. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/nestQuery.d.ts +0 -0
  970. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/nestQuery.js +0 -0
  971. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/parseDuckDBType.d.ts +0 -0
  972. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/parseDuckDBType.js +0 -0
  973. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/parseValue.d.ts +0 -0
  974. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/parseValue.js +0 -0
  975. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/prettyDuration.d.ts +0 -0
  976. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/prettyDuration.js +0 -0
  977. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/printTable.d.ts +0 -0
  978. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/printTable.js +0 -0
  979. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/queryDB.d.ts +0 -0
  980. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/queryDB.js +0 -0
  981. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/repeatRowsQuery.d.ts +0 -0
  982. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/repeatRowsQuery.js +0 -0
  983. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/rewind.d.ts +0 -0
  984. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/rewind.js +0 -0
  985. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/runQuery.d.ts +0 -0
  986. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/runQuery.js +0 -0
  987. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringToArray.d.ts +0 -0
  988. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringToArray.js +0 -0
  989. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringifyDates.d.ts +0 -0
  990. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringifyDates.js +0 -0
  991. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringifyDatesInvert.d.ts +0 -0
  992. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/stringifyDatesInvert.js +0 -0
  993. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/unnestQuery.d.ts +0 -0
  994. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/unnestQuery.js +0 -0
  995. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/wrapString.d.ts +0 -0
  996. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/wrapString.js +0 -0
  997. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/writeDataAsArrays.d.ts +0 -0
  998. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/writeDataAsArrays.js +0 -0
  999. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/helpers/writeGeoData.d.ts +0 -0
  1000. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/index.d.ts +0 -0
  1001. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/index.js +0 -0
  1002. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/aggregateGeoQuery.d.ts +0 -0
  1003. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/aggregateGeoQuery.js +0 -0
  1004. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/binsQuery.d.ts +0 -0
  1005. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/binsQuery.js +0 -0
  1006. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/bm25.d.ts +0 -0
  1007. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cache.d.ts +0 -0
  1008. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/capitalizeQuery.d.ts +0 -0
  1009. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/capitalizeQuery.js +0 -0
  1010. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cloneColumn.d.ts +0 -0
  1011. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cloneColumn.js +0 -0
  1012. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cloneQuery.d.ts +0 -0
  1013. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/cloneQuery.js +0 -0
  1014. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/concatenateQuery.d.ts +0 -0
  1015. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/concatenateQuery.js +0 -0
  1016. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/convertQuery.d.ts +0 -0
  1017. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/convertQuery.js +0 -0
  1018. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/correlations.d.ts +0 -0
  1019. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/correlations.js +0 -0
  1020. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/correlationsQuery.d.ts +0 -0
  1021. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/correlationsQuery.js +0 -0
  1022. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/createFtsIndex.d.ts +0 -0
  1023. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/createFtsIndex.js +0 -0
  1024. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/createVssIndex.d.ts +0 -0
  1025. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/createVssIndex.js +0 -0
  1026. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/crossJoinQuery.d.ts +0 -0
  1027. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/crossJoinQuery.js +0 -0
  1028. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/distanceQuery.d.ts +0 -0
  1029. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fill.d.ts +0 -0
  1030. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fill.js +0 -0
  1031. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyClean.d.ts +0 -0
  1032. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyClean.js +0 -0
  1033. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyJoin.d.ts +0 -0
  1034. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyJoinQuery.d.ts +0 -0
  1035. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/fuzzyJoinQuery.js +0 -0
  1036. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getBottom.d.ts +0 -0
  1037. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getBottom.js +0 -0
  1038. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getColumns.d.ts +0 -0
  1039. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getColumns.js +0 -0
  1040. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getDescription.d.ts +0 -0
  1041. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getDescription.js +0 -0
  1042. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getFirstRow.d.ts +0 -0
  1043. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getFirstRow.js +0 -0
  1044. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getGeoData.d.ts +0 -0
  1045. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getLastRow.d.ts +0 -0
  1046. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getLastRow.js +0 -0
  1047. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMax.d.ts +0 -0
  1048. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMax.js +0 -0
  1049. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMean.d.ts +0 -0
  1050. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMean.js +0 -0
  1051. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMedian.d.ts +0 -0
  1052. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMedian.js +0 -0
  1053. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMin.d.ts +0 -0
  1054. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getMin.js +0 -0
  1055. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getNbCharacters.d.ts +0 -0
  1056. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getNbCharacters.js +0 -0
  1057. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getQuantile.d.ts +0 -0
  1058. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getQuantile.js +0 -0
  1059. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getSkew.d.ts +0 -0
  1060. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getSkew.js +0 -0
  1061. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getStdDev.d.ts +0 -0
  1062. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getStdDev.js +0 -0
  1063. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getSum.d.ts +0 -0
  1064. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getSum.js +0 -0
  1065. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTableNames.d.ts +0 -0
  1066. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTableNames.js +0 -0
  1067. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTop.d.ts +0 -0
  1068. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTop.js +0 -0
  1069. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTypes.d.ts +0 -0
  1070. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getTypes.js +0 -0
  1071. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getUniques.d.ts +0 -0
  1072. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getUniques.js +0 -0
  1073. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getValues.d.ts +0 -0
  1074. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getValues.js +0 -0
  1075. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getVar.d.ts +0 -0
  1076. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/getVar.js +0 -0
  1077. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/insertRowsQuery.d.ts +0 -0
  1078. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/insertRowsQuery.js +0 -0
  1079. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/join.d.ts +0 -0
  1080. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/joinGeo.d.ts +0 -0
  1081. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/joinGeoQuery.d.ts +0 -0
  1082. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/joinQuery.d.ts +0 -0
  1083. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/joinQuery.js +0 -0
  1084. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/keepQuery.d.ts +0 -0
  1085. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/keepQuery.js +0 -0
  1086. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/linearRegressionQuery.d.ts +0 -0
  1087. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/linearRegressionQuery.js +0 -0
  1088. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/linearRegressions.d.ts +0 -0
  1089. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/linearRegressions.js +0 -0
  1090. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadArray.d.ts +0 -0
  1091. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadArray.js +0 -0
  1092. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadDataQuery.d.ts +0 -0
  1093. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadDataQuery.js +0 -0
  1094. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadSample.d.ts +0 -0
  1095. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/loadSample.js +0 -0
  1096. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/lowerQuery.d.ts +0 -0
  1097. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/lowerQuery.js +0 -0
  1098. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/normalizeQuery.d.ts +0 -0
  1099. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/normalizeQuery.js +0 -0
  1100. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/normalizeString.d.ts +0 -0
  1101. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/normalizeString.js +0 -0
  1102. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/outliersIQRQuery.d.ts +0 -0
  1103. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/outliersIQRQuery.js +0 -0
  1104. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/padQuery.d.ts +0 -0
  1105. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/padQuery.js +0 -0
  1106. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/proportionsHorizontalQuery.d.ts +0 -0
  1107. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/proportionsHorizontalQuery.js +0 -0
  1108. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/proportionsVerticalQuery.d.ts +0 -0
  1109. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/proportionsVerticalQuery.js +0 -0
  1110. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/quantilesQuery.d.ts +0 -0
  1111. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/quantilesQuery.js +0 -0
  1112. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/ranksQuery.d.ts +0 -0
  1113. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/ranksQuery.js +0 -0
  1114. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeDuplicatesQuery.d.ts +0 -0
  1115. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeDuplicatesQuery.js +0 -0
  1116. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeMissing.d.ts +0 -0
  1117. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeMissing.js +0 -0
  1118. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeMissingQuery.d.ts +0 -0
  1119. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeMissingQuery.js +0 -0
  1120. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeQuery.d.ts +0 -0
  1121. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/removeQuery.js +0 -0
  1122. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/renameColumnQuery.d.ts +0 -0
  1123. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/renameColumnQuery.js +0 -0
  1124. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/replaceNullsQuery.d.ts +0 -0
  1125. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/replaceNullsQuery.js +0 -0
  1126. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/replaceQuery.d.ts +0 -0
  1127. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/replaceQuery.js +0 -0
  1128. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/rollingQuery.d.ts +0 -0
  1129. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/rollingQuery.js +0 -0
  1130. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/roundQuery.d.ts +0 -0
  1131. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/roundQuery.js +0 -0
  1132. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/selectRowsQuery.d.ts +0 -0
  1133. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/selectRowsQuery.js +0 -0
  1134. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/sortQuery.d.ts +0 -0
  1135. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/sortQuery.js +0 -0
  1136. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/splitSpread.d.ts +0 -0
  1137. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/splitSpread.js +0 -0
  1138. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/summarize.d.ts +0 -0
  1139. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/summarize.js +0 -0
  1140. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/summarizeQuery.d.ts +0 -0
  1141. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/trimQuery.d.ts +0 -0
  1142. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/trimQuery.js +0 -0
  1143. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/truncateQuery.d.ts +0 -0
  1144. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/truncateQuery.js +0 -0
  1145. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/upperQuery.d.ts +0 -0
  1146. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/upperQuery.js +0 -0
  1147. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/writeDataQuery.d.ts +0 -0
  1148. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/writeDataQuery.js +0 -0
  1149. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/writeGeoDataQuery.d.ts +0 -0
  1150. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/zScoreQuery.d.ts +0 -0
  1151. /package/script/deps/jsr.io/@nshiab/simple-data-analysis-core/{0.0.26 → 0.1.1}/src/methods/zScoreQuery.js +0 -0
@@ -1,4579 +0,0 @@
1
- import type SimpleDB from "./SimpleDB.js";
2
- import Simple from "./Simple.js";
3
- /**
4
- * IMPORTANT: When extending this class, always use `this.sdb.newTable()` to
5
- * create new tables instead of `new SimpleTable(...)` directly. This ensures
6
- * subclasses that override `tableClass` on their parent `SimpleDB` get their
7
- * own table type back.
8
- *
9
- * Represents a table within a SimpleDB database, capable of handling tabular, geospatial, and vector data.
10
- * SimpleTable instances are typically created via a SimpleDB instance.
11
- *
12
- * @category Main
13
- * @example
14
- * ```ts
15
- * // Create a SimpleDB instance (in-memory by default)
16
- * const sdb = new SimpleDB();
17
- *
18
- * // Create a new table named "employees" within the database
19
- * const employees = sdb.newTable("employees");
20
- *
21
- * // Load data from a CSV file into the "employees" table
22
- * await employees.loadData("./employees.csv");
23
- *
24
- * // Log the first few rows of the "employees" table to the console
25
- * await employees.logTable();
26
- *
27
- * // Close the database connection and free up resources
28
- * await sdb.done();
29
- * ```
30
- *
31
- * @example
32
- * ```ts
33
- * // Handling geospatial data
34
- * // Create a SimpleDB instance
35
- * const sdb = new SimpleDB();
36
- *
37
- * // Create a new table for geospatial data
38
- * const boundaries = sdb.newTable("boundaries");
39
- *
40
- * // Load geospatial data from a GeoJSON file
41
- * await boundaries.loadGeoData("./boundaries.geojson");
42
- *
43
- * // Close the database connection
44
- * await sdb.done();
45
- * ```
46
- */
47
- export default class SimpleTable extends Simple {
48
- /**
49
- * Name of the table in the database.
50
- *
51
- * @category Properties
52
- */
53
- name: string;
54
- /**
55
- * The projections of the geospatial data, if any.
56
- *
57
- * @defaultValue `{}`
58
- * @category Properties
59
- */
60
- projections: {
61
- [key: string]: string;
62
- };
63
- /**
64
- * The indexes of the table.
65
- *
66
- * @defaultValue `[]`
67
- * @category Properties
68
- */
69
- indexes: string[];
70
- /**
71
- * The SimpleDB instance that created this table.
72
- *
73
- * @category Properties
74
- */
75
- sdb: SimpleDB;
76
- /**
77
- * Creates an instance of SimpleTable.
78
- *
79
- * @param name - The name of the table.
80
- * @param projections - An object mapping column names to their geospatial projections.
81
- * @param simpleDB - The SimpleDB instance that this table belongs to.
82
- * @param options - An optional object with configuration options:
83
- * @param options.debug - A boolean indicating whether to enable debug mode.
84
- * @param options.nbRowsToLog - The number of rows to log when displaying table data.
85
- * @param options.nbCharactersToLog - The maximum number of characters to log for strings. Useful to avoid logging large text content.
86
- * @param options.types - A boolean indicating whether to include data types when logging a table.
87
- * @category Constructor
88
- */
89
- constructor(name: string, projections: {
90
- [key: string]: string;
91
- }, simpleDB: SimpleDB, options?: {
92
- debug?: boolean;
93
- nbRowsToLog?: number;
94
- nbCharactersToLog?: number;
95
- types?: boolean;
96
- });
97
- /**
98
- * Renames the current table.
99
- *
100
- * @param name - The new name for the table.
101
- * @returns A promise that resolves when the table has been renamed.
102
- * @category Table Management
103
- *
104
- * @example
105
- * ```ts
106
- * // Rename the table to "new_employees"
107
- * await table.renameTable("new_employees");
108
- * ```
109
- */
110
- renameTable(name: string): Promise<void>;
111
- /**
112
- * Sets the data types for columns in a new table. If the table already exists, it will be replaced.
113
- * To convert the types of an existing table, use the `.convert()` method instead.
114
- *
115
- * @param types - An object specifying the column names and their target data types (JavaScript or SQL types).
116
- * @returns A promise that resolves when the types have been set.
117
- * @category Table Management
118
- *
119
- * @example
120
- * ```ts
121
- * // Set types for a new table
122
- * await table.setTypes({
123
- * name: "string",
124
- * salary: "integer",
125
- * raise: "float",
126
- * });
127
- * ```
128
- */
129
- setTypes(types: {
130
- [key: string]: "integer" | "float" | "number" | "string" | "date" | "time" | "datetime" | "datetimeTz" | "bigint" | "double" | "varchar" | "timestamp" | "timestamp with time zone" | "boolean" | "geometry";
131
- }): Promise<void>;
132
- /**
133
- * Loads an array of JavaScript objects into the table.
134
- *
135
- * @param arrayOfObjects - An array of objects, where each object represents a row and its properties represent columns.
136
- * @returns A promise that resolves to the SimpleTable instance after the data has been loaded.
137
- * @category Importing Data
138
- *
139
- * @example
140
- * ```ts
141
- * // Load data from an array of objects
142
- * const data = [
143
- * { letter: "a", number: 1 },
144
- * { letter: "b", number: 2 }
145
- * ];
146
- * await table.loadArray(data);
147
- * ```
148
- */
149
- loadArray(arrayOfObjects: {
150
- [key: string]: unknown;
151
- }[]): Promise<this>;
152
- /**
153
- * Loads data from one or more local or remote files into the table.
154
- * Supported file formats include CSV, JSON, Parquet, and Excel.
155
- *
156
- * @param files - The path(s) or URL(s) of the file(s) containing the data to be loaded.
157
- * @param options - An optional object with configuration options:
158
- * @param options.fileType - The type of file to load ("csv", "dsv", "json", "parquet", "excel"). Defaults to being inferred from the file extension.
159
- * @param options.autoDetect - A boolean indicating whether to automatically detect the data format. Defaults to `true`.
160
- * @param options.limit - A number indicating the maximum number of rows to load. Defaults to all rows.
161
- * @param options.fileName - A boolean indicating whether to include the file name as a new column in the loaded data. Defaults to `false`.
162
- * @param options.unifyColumns - A boolean indicating whether to unify columns across multiple files when their structures differ. Missing columns will be filled with `NULL` values. Defaults to `false`.
163
- * @param options.columnTypes - An object mapping column names to their expected data types. By default, types are inferred.
164
- * @param options.columns - An array of column names to load. When provided, only the specified columns are loaded, reducing memory usage and improving load times. Not supported for Excel files — combining `columns` with Excel files throws an error. If an invalid column name is provided, DuckDB will throw its native error. An empty array behaves the same as omitting the option (loads all columns). Defaults to loading all columns.
165
- * @param options.header - A boolean indicating whether the file has a header row. Applicable to CSV files. Defaults to `true`.
166
- * @param options.allText - A boolean indicating whether all columns should be treated as text. Applicable to CSV files. Defaults to `false`.
167
- * @param options.delim - The delimiter used in the file. Applicable to CSV and DSV files. By default, the delimiter is inferred.
168
- * @param options.skip - The number of lines to skip at the beginning of the file. Applicable to CSV files. Defaults to `0`.
169
- * @param options.nullPadding - If `true`, when a row has fewer columns than expected, the remaining columns on the right will be padded with `NULL` values. Defaults to `false`.
170
- * @param options.ignoreErrors - If `true`, parsing errors encountered will be ignored, and rows with errors will be skipped. Defaults to `false`.
171
- * @param options.compression - The compression type of the file. Applicable to CSV files. Defaults to `none`.
172
- * @param options.strict - If `true`, an error will be thrown when encountering any issues. If `false`, structurally incorrect files will be parsed tentatively. Defaults to `true`.
173
- * @param options.encoding - The encoding of the file. Applicable to CSV files. Defaults to `utf-8`.
174
- * @param options.jsonFormat - The format of JSON files ("unstructured", "newlineDelimited", "array"). By default, the format is inferred.
175
- * @param options.records - A boolean indicating whether each line in a newline-delimited JSON file represents a record. Applicable to JSON files. By default, it's inferred.
176
- * @param options.sheet - A string indicating a specific sheet to import from an Excel file. By default, the first sheet is imported.
177
- * @returns A promise that resolves to the SimpleTable instance after the data has been loaded.
178
- * @category Importing Data
179
- *
180
- * @example
181
- * ```ts
182
- * // Load data from a single local CSV file
183
- * await table.loadData("./some-data.csv");
184
- * ```
185
- *
186
- * @example
187
- * ```ts
188
- * // Load data from a remote Parquet file
189
- * await table.loadData("https://some-website.com/some-data.parquet");
190
- * ```
191
- *
192
- * @example
193
- * ```ts
194
- * // Load data from multiple local JSON files
195
- * await table.loadData([
196
- * "./some-data1.json",
197
- * "./some-data2.json",
198
- * "./some-data3.json"
199
- * ]);
200
- * ```
201
- *
202
- * @example
203
- * ```ts
204
- * // Load data from multiple remote Parquet files with column unification
205
- * await table.loadData([
206
- * "https://some-website.com/some-data1.parquet",
207
- * "https://some-website.com/some-data2.parquet",
208
- * "https://some-website.com/some-data3.parquet"
209
- * ], { unifyColumns: true });
210
- * ```
211
- *
212
- * @example
213
- * ```ts
214
- * // Load only specific columns from a CSV file
215
- * await table.loadData("./employees.csv", { columns: ["name", "salary"] });
216
- * ```
217
- */
218
- loadData(files: string | string[], options?: {
219
- fileType?: "csv" | "dsv" | "json" | "parquet" | "excel";
220
- autoDetect?: boolean;
221
- limit?: number;
222
- fileName?: boolean;
223
- unifyColumns?: boolean;
224
- columnTypes?: {
225
- [key: string]: string;
226
- };
227
- columns?: string[];
228
- header?: boolean;
229
- allText?: boolean;
230
- delim?: string;
231
- skip?: number;
232
- nullPadding?: boolean;
233
- ignoreErrors?: boolean;
234
- compression?: "none" | "gzip" | "zstd";
235
- encoding?: string;
236
- strict?: boolean;
237
- jsonFormat?: "unstructured" | "newlineDelimited" | "array";
238
- records?: boolean;
239
- sheet?: string;
240
- }): Promise<this>;
241
- /**
242
- * Loads data from all supported files (CSV, JSON, Parquet, Excel) within a local directory into the table.
243
- *
244
- * @param directory - The absolute path to the directory containing the data files.
245
- * @param options - An optional object with configuration options:
246
- * @param options.fileType - The type of file to load ("csv", "dsv", "json", "parquet", "excel"). Defaults to being inferred from the file extension.
247
- * @param options.autoDetect - A boolean indicating whether to automatically detect the data format. Defaults to `true`.
248
- * @param options.limit - A number indicating the maximum number of rows to load. Defaults to all rows.
249
- * @param options.fileName - A boolean indicating whether to include the file name as a new column in the loaded data. Defaults to `false`.
250
- * @param options.unifyColumns - A boolean indicating whether to unify columns across multiple files when their structures differ. Missing columns will be filled with `NULL` values. Defaults to `false`.
251
- * @param options.columnTypes - An object mapping column names to their expected data types. By default, types are inferred.
252
- * @param options.columns - An array of column names to load. When provided, only the specified columns are loaded, reducing memory usage and improving load times. Not supported for Excel files — combining `columns` with Excel files throws an error. If an invalid column name is provided, DuckDB will throw its native error. An empty array behaves the same as omitting the option (loads all columns). Defaults to loading all columns.
253
- * @param options.header - A boolean indicating whether the file has a header row. Applicable to CSV files. Defaults to `true`.
254
- * @param options.allText - A boolean indicating whether all columns should be treated as text. Applicable to CSV files. Defaults to `false`.
255
- * @param options.delim - The delimiter used in the file. Applicable to CSV and DSV files. By default, the delimiter is inferred.
256
- * @param options.skip - The number of lines to skip at the beginning of the file. Applicable to CSV files. Defaults to `0`.
257
- * @param options.nullPadding - If `true`, when a row has fewer columns than expected, the remaining columns on the right will be padded with `NULL` values. Defaults to `false`.
258
- * @param options.ignoreErrors - If `true`, parsing errors encountered will be ignored, and rows with errors will be skipped. Defaults to `false`.
259
- * @param options.compression - The compression type of the file. Applicable to CSV files. Defaults to `none`.
260
- * @param options.strict - If `true`, an error will be thrown when encountering any issues. If `false`, structurally incorrect files will be parsed tentatively. Defaults to `true`.
261
- * @param options.encoding - The encoding of the files. Applicable to CSV files. Defaults to `utf-8`.
262
- * @param options.jsonFormat - The format of JSON files ("unstructured", "newlineDelimited", "array"). By default, the format is inferred.
263
- * @param options.records - A boolean indicating whether each line in a newline-delimited JSON file represents a record. Applicable to JSON files. By default, it's inferred.
264
- * @param options.sheet - A string indicating a specific sheet to import from an Excel file. By default, the first sheet is imported.
265
- * @returns A promise that resolves to the SimpleTable instance after the data has been loaded.
266
- * @category Importing Data
267
- *
268
- * @example
269
- * ```ts
270
- * // Load all supported data files from the "./data/" directory
271
- * await table.loadDataFromDirectory("./data/");
272
- * ```
273
- *
274
- * @example
275
- * ```ts
276
- * // Load only specific columns from all CSV files in a directory
277
- * await table.loadDataFromDirectory("./data/", { columns: ["name", "salary"] });
278
- * ```
279
- */
280
- loadDataFromDirectory(directory: string, options?: {
281
- fileType?: "csv" | "dsv" | "json" | "parquet" | "excel";
282
- autoDetect?: boolean;
283
- limit?: number;
284
- fileName?: boolean;
285
- unifyColumns?: boolean;
286
- columnTypes?: {
287
- [key: string]: string;
288
- };
289
- columns?: string[];
290
- header?: boolean;
291
- allText?: boolean;
292
- delim?: string;
293
- skip?: number;
294
- nullPadding?: boolean;
295
- ignoreErrors?: boolean;
296
- compression?: "none" | "gzip" | "zstd";
297
- encoding?: "utf-8" | "utf-16" | "latin-1";
298
- strict?: boolean;
299
- jsonFormat?: "unstructured" | "newlineDelimited" | "array";
300
- records?: boolean;
301
- sheet?: string;
302
- }): Promise<this>;
303
- /**
304
- * Loads geospatial data from an external file or URL into the table.
305
- * The coordinates of files or URLs ending with `.json` or `.geojson` are automatically flipped to `[latitude, longitude]` axis order.
306
- *
307
- * @param file - The URL or absolute path to the external file containing the geospatial data.
308
- * @param options - An optional object with configuration options:
309
- * @param options.toWGS84 - If `true`, the method will attempt to reproject the data to WGS84 with `[latitude, longitude]` axis order. If the file is `.json` or `.geojson`, coordinates are automatically flipped, and this option has no additional effect. Defaults to `false`.
310
- * @param options.from - An optional string specifying the original projection of the data, if the method is unable to detect it automatically.
311
- * @returns A promise that resolves to the SimpleTable instance after the geospatial data has been loaded.
312
- * @category Geospatial
313
- *
314
- * @example
315
- * ```ts
316
- * // Load geospatial data from a URL
317
- * await table.loadGeoData("https://some-website.com/some-data.geojson");
318
- * ```
319
- *
320
- * @example
321
- * ```ts
322
- * // Load geospatial data from a local file
323
- * await table.loadGeoData("./some-data.geojson");
324
- * ```
325
- *
326
- * @example
327
- * ```ts
328
- * // Load geospatial data from a shapefile (with relevant files in the same folder) and reproject to WGS84
329
- * await table.loadGeoData("./some-data/some-data.shp", { toWGS84: true });
330
- * ```
331
- *
332
- * @example
333
- * ```ts
334
- * // Load geospatial data from a zipped shapefile and reproject to WGS84
335
- * await table.loadGeoData("./some-data.shp.zip", { toWGS84: true });
336
- * ```
337
- */
338
- loadGeoData(file: string, options?: {
339
- toWGS84?: boolean;
340
- from?: string;
341
- }): Promise<this>;
342
- /**
343
- * Creates a full-text search (FTS) index on a specified text column using DuckDB's [FTS extension](https://duckdb.org/docs/stable/core_extensions/full_text_search).
344
- *
345
- * If an FTS index already exists on the table, this method will skip creation and log a message (when verbose is enabled), unless the `overwrite` option is set to `true`.
346
- *
347
- * @param columnId - The name of the column containing unique identifiers for each row.
348
- * @param columnText - The name of the column containing the text to index.
349
- * @param options - An optional object with configuration options:
350
- * @param options.stemmer - The language stemmer to apply for word normalization. Supports multiple languages or "none" to disable stemming. Defaults to 'porter'.
351
- * @param options.stopwords - The table containing the stopwords to use for the FTS index. Supports multiple languages or "none" to disable stopwords. Defaults to "english".
352
- * @param options.overwrite - If `true`, recreates the index even if it already exists. Defaults to `false`.
353
- * @param options.verbose - If `true`, logs additional debugging information, including index creation status. Defaults to `false`.
354
- * @returns A promise that resolves to the SimpleTable instance for method chaining.
355
- * @category Text Search
356
- *
357
- * @example
358
- * ```ts
359
- * // Load a dataset and create an FTS index
360
- * await table.loadData("recipes.parquet");
361
- *
362
- * // Create FTS index for later searches
363
- * await table.createFtsIndex("Dish", "Recipe");
364
- * ```
365
- *
366
- * @param columnId - The column containing the document identifiers.
367
- * @param columnText - The column containing the text to search.
368
- * @param options - An optional object with configuration options:
369
- * @param options.stemmer - The stemmer to use for the FTS index. Supports multiple languages or "none" to disable stemming. Defaults to "porter".
370
- * @param options.stopwords - The table containing the stopwords to use for the FTS index. Supports multiple languages or "none" to disable stopwords. Defaults to "english".
371
- * @param options.ignore - The regular expression of patterns to be ignored. Defaults to "(\\.|[^a-z])+".
372
- * @param options.stripAccents - A boolean indicating whether to remove accents. Defaults to true.
373
- * @param options.lower - A boolean indicating whether to convert all text to lowercase. Defaults to true.
374
- * @param options.overwrite - A boolean indicating whether to overwrite the existing FTS index. Defaults to false.
375
- * @param options.verbose - A boolean indicating whether to log additional information. Defaults to false.
376
- *
377
- * @example
378
- * ```ts
379
- * // Create an index with a specific language stemmer
380
- * await table.createFtsIndex("Dish", "Recipe", {
381
- * stemmer: "french",
382
- * });
383
- * ```
384
- *
385
- * @example
386
- * ```ts
387
- * // Recreate an existing index with different settings
388
- * await table.createFtsIndex("Dish", "Recipe", {
389
- * stemmer: "english",
390
- * overwrite: true,
391
- * });
392
- * ```
393
- *
394
- * @example
395
- * ```ts
396
- * // Create index with verbose logging
397
- * await table.createFtsIndex("Dish", "Recipe", {
398
- * verbose: true,
399
- * });
400
- * // Logs: "Creating FTS index on 'Recipe' column..."
401
- * // Logs: "FTS index created successfully."
402
- * ```
403
- */
404
- createFtsIndex(columnId: string, columnText: string, options?: {
405
- stemmer?: "arabic" | "basque" | "catalan" | "danish" | "dutch" | "english" | "finnish" | "french" | "german" | "greek" | "hindi" | "hungarian" | "indonesian" | "irish" | "italian" | "lithuanian" | "nepali" | "norwegian" | "porter" | "portuguese" | "romanian" | "russian" | "serbian" | "spanish" | "swedish" | "tamil" | "turkish" | "none";
406
- stopwords?: string;
407
- ignore?: string;
408
- stripAccents?: boolean;
409
- lower?: boolean;
410
- overwrite?: boolean;
411
- verbose?: boolean;
412
- }): Promise<this>;
413
- /**
414
- * Creates a vector similarity search (VSS) index on a specified column using DuckDB's [VSS extension](https://duckdb.org/docs/stable/extensions/vss).
415
- *
416
- * If a VSS index already exists on the table, this method will skip creation and log a message (when verbose is enabled), unless the `overwrite` option is set to `true`.
417
- *
418
- * @param column - The name of the column containing vector embeddings (must be FLOAT array type).
419
- * @param options - An optional object with configuration options:
420
- * @param options.overwrite - If `true`, drops and recreates the index even if it already exists. Defaults to `false`.
421
- * @param options.verbose - If `true`, logs additional debugging information, including index creation status. Defaults to `false`.
422
- * @param options.efConstruction - The number of candidate vertices to consider during index construction. Higher values result in more accurate indexes but increase build time. Defaults to 128.
423
- * @param options.efSearch - The number of candidate vertices to consider during search. Higher values result in more accurate searches but increase search time. Defaults to 64.
424
- * @param options.M - The maximum number of neighbors to keep for each vertex in the graph. Higher values result in more accurate indexes but increase build time and memory usage. Defaults to 16.
425
- * @returns A promise that resolves to the SimpleTable instance for method chaining.
426
- * @category Vector Search
427
- *
428
- * @example
429
- * ```ts
430
- * // Load data that already contains an embedding column
431
- * await table.loadData("data.csv");
432
- *
433
- * // Create VSS index for fast similarity searches
434
- * await table.createVssIndex("embedding_column");
435
- * ```
436
- *
437
- * @example
438
- * ```ts
439
- * // Recreate an existing index
440
- * await table.createVssIndex("embedding_column", {
441
- * overwrite: true,
442
- * });
443
- * ```
444
- *
445
- * @example
446
- * ```ts
447
- * // Create index with verbose logging
448
- * await table.createVssIndex("embedding_column", {
449
- * verbose: true,
450
- * });
451
- * // Logs: "Creating VSS index on 'embedding_column' column..."
452
- * // Logs: "VSS index created successfully."
453
- * ```
454
- *
455
- * @example
456
- * ```ts
457
- * // Create index with custom HNSW parameters for higher accuracy
458
- * await table.createVssIndex("embedding_column", {
459
- * efConstruction: 256,
460
- * efSearch: 128,
461
- * M: 32,
462
- * });
463
- * ```
464
- */
465
- createVssIndex(column: string, options?: {
466
- overwrite?: boolean;
467
- verbose?: boolean;
468
- efConstruction?: number;
469
- efSearch?: number;
470
- M?: number;
471
- }): Promise<this>;
472
- /**
473
- * Performs BM25 full-text search on a text column to find the most relevant results. BM25 (Best Matching 25) is a ranking function used in information retrieval that calculates relevance scores based on term frequency and document length normalization.
474
- *
475
- * This method creates a full-text search index on the specified text column using DuckDB's [FTS extension](https://duckdb.org/docs/stable/core_extensions/full_text_search). If the index already exists, it will be reused unless the `overwriteIndex` option is set to `true`.
476
- *
477
- * @param text - The search query text to match against the text column.
478
- * @param columnId - The name of the column containing unique identifiers for each row.
479
- * @param columnText - The name of the column containing the text to search.
480
- * @param nbResults - The number of top-ranked results to return.
481
- * @param options - An optional object with configuration options:
482
- * @param options.outputTable - The name of a new table where the results will be stored. If not provided, the current table will be replaced with the search results.
483
- * @param options.verbose - If `true`, logs additional debugging information, including FTS index creation status. Defaults to `false`.
484
- * @param options.k - The BM25 k parameter controlling term frequency saturation. Defaults to 1.2.
485
- * @param options.b - The BM25 b parameter controlling document length normalization (0-1 range). Defaults to 0.75.
486
- * @param options.stemmer - The language stemmer to apply for word normalization. Supports multiple languages or "none" to disable stemming. Defaults to 'porter'.
487
- * @param options.stopwords - The table containing the stopwords to use for the FTS index. Supports multiple languages or "none" to disable stopwords. Defaults to "english".
488
- * @param options.ignore - The regular expression of patterns to be ignored. Defaults to "(\\.|[^a-z])+".
489
- * @param options.stripAccents - A boolean indicating whether to remove accents. Defaults to true.
490
- * @param options.lower - A boolean indicating whether to convert all text to lowercase. Defaults to true.
491
- * @param options.overwriteIndex - If `true`, drops and recreates the FTS index even if it already exists. Defaults to `false`.
492
- * @param options.conjunctive - If `true`, all terms in the query string must be present in order for a document to be retrieved. Defaults to `false`.
493
- * @param options.minScore - A threshold to filter out results with a BM25 score below this value.
494
- * @param options.scoreColumn - If provided, the BM25 score will be included in the output table under this column name.
495
- * @returns A promise that resolves to a SimpleTable instance containing the search results, ordered by relevance (best matches first).
496
- * @category Text Search
497
- *
498
- * @example
499
- * ```ts
500
- * // Load a dataset of recipes
501
- * await table.loadData("recipes.parquet");
502
- *
503
- * // Search for "italian food" in the Recipe column, return top 5 results
504
- * await table.bm25("italian food", "Dish", "Recipe", 5);
505
- *
506
- * // Check the results
507
- * const dishes = await table.getValues("Dish");
508
- * // Returns: ["Carbonara", "Pizza", "Risotto", "Tiramisu", "Escarole Soup"]
509
- * ```
510
- *
511
- * @example
512
- * ```ts
513
- * // Search with a specific language stemmer
514
- * await table.bm25("french food", "Dish", "Recipe", 5, {
515
- * stemmer: "french",
516
- * });
517
- * ```
518
- *
519
- * @example
520
- * ```ts
521
- * // Recreate the index with different settings and perform search
522
- * await table.bm25("italian food", "Dish", "Recipe", 5, {
523
- * stemmer: "english",
524
- * overwriteIndex: true,
525
- * });
526
- * ```
527
- *
528
- * @example
529
- * ```ts
530
- * // Save results to a new table without modifying the original
531
- * const italianDishes = await table.bm25("italian food", "Dish", "Recipe", 5, {
532
- * outputTable: "italian_results",
533
- * });
534
- *
535
- * // Original table remains unchanged
536
- * const allDishes = await table.getValues("Dish");
537
- * console.log(allDishes.length); // 336 (all dishes)
538
- *
539
- * // New table contains only search results
540
- * const italianOnly = await italianDishes.getValues("Dish");
541
- * console.log(italianOnly.length); // 5 (top results)
542
- * ```
543
- *
544
- * @example
545
- * ```ts
546
- * // Multiple searches reuse the same index for better performance
547
- * // The first search creates the index
548
- * const italian = await table.bm25("italian food", "Dish", "Recipe", 5, {
549
- * outputTable: "italian",
550
- * });
551
- *
552
- * // The second search reuses the existing index, so it's faster
553
- * const french = await table.bm25("french food", "Dish", "Recipe", 5, {
554
- * outputTable: "french",
555
- * });
556
- * ```
557
- * * @example
558
- * ```ts
559
- * // Filter results by a minimum BM25 score and include the score in the output
560
- * await table.bm25("spicy noodles", "Dish", "Recipe", 10, {
561
- * minScore: 5.5,
562
- * scoreColumn: "bm25_score"
563
- * });
564
- * ```
565
- *
566
- * @example
567
- * ```ts
568
- * // Use the conjunctive option to require all terms
569
- * await table.bm25("italian sauce", "Dish", "Recipe", 5, {
570
- * conjunctive: true,
571
- * });
572
- * ```
573
- */
574
- bm25(text: string, columnId: string, columnText: string, nbResults: number, options?: {
575
- outputTable?: string;
576
- verbose?: boolean;
577
- k?: number;
578
- b?: number;
579
- stemmer?: "arabic" | "basque" | "catalan" | "danish" | "dutch" | "english" | "finnish" | "french" | "german" | "greek" | "hindi" | "hungarian" | "indonesian" | "irish" | "italian" | "lithuanian" | "nepali" | "norwegian" | "porter" | "portuguese" | "romanian" | "russian" | "serbian" | "spanish" | "swedish" | "tamil" | "turkish" | "none";
580
- stopwords?: string;
581
- ignore?: string;
582
- stripAccents?: boolean;
583
- lower?: boolean;
584
- overwriteIndex?: boolean;
585
- conjunctive?: boolean;
586
- minScore?: number;
587
- scoreColumn?: string;
588
- }): Promise<this>;
589
- /**
590
- * Inserts rows, provided as an array of JavaScript objects, into the table.
591
- *
592
- * @param rows - An array of objects, where each object represents a row to be inserted and its properties correspond to column names.
593
- * @returns A promise that resolves when the rows have been inserted.
594
- * @category Importing Data
595
- *
596
- * @example
597
- * ```ts
598
- * // Insert new rows into the table
599
- * const newRows = [
600
- * { letter: "c", number: 3 },
601
- * { letter: "d", number: 4 }
602
- * ];
603
- * await table.insertRows(newRows);
604
- * ```
605
- */
606
- insertRows(rows: {
607
- [key: string]: unknown;
608
- }[]): Promise<void>;
609
- /**
610
- * Inserts all rows from one or more other tables into this table. If tables do not have the same columns, an error will be thrown unless the `unifyColumns` option is set to `true`.
611
- *
612
- * @param tablesToInsert - The name(s) of the table(s) or SimpleTable instance(s) from which rows will be inserted.
613
- * @param options - An optional object with configuration options:
614
- * @param options.unifyColumns - A boolean indicating whether to unify the columns of the tables. If `true`, missing columns in a table will be filled with `NULL` values. Defaults to `false`.
615
- * @returns A promise that resolves when the rows have been inserted.
616
- * @category Importing Data
617
- *
618
- * @example
619
- * ```ts
620
- * // Insert all rows from 'tableB' into 'tableA'.
621
- * await tableA.insertTables("tableB");
622
- * ```
623
- *
624
- * @example
625
- * ```ts
626
- * // Insert all rows from 'tableB' and 'tableC' into 'tableA'.
627
- * await tableA.insertTables(["tableB", "tableC"]);
628
- * ```
629
- *
630
- * @example
631
- * ```ts
632
- * // Insert rows from multiple tables, unifying columns. Missing columns will be filled with NULL.
633
- * await tableA.insertTables(["tableB", "tableC"], { unifyColumns: true });
634
- * ```
635
- */
636
- insertTables(tablesToInsert: SimpleTable | SimpleTable[], options?: {
637
- unifyColumns?: boolean;
638
- }): Promise<void>;
639
- /**
640
- * Fetches sample data from the simple-data-analysis-core GitHub repository.
641
- *
642
- * @param sample - The name of the sample to load.
643
- *
644
- * Tabular data:
645
- * - "fires": [firesCanada2023.csv](https://raw.githubusercontent.com/nshiab/simple-data-analysis-core/refs/heads/main/test/geodata/files/firesCanada2023.csv)
646
- * - "recipes": [recipes.parquet](https://github.com/nshiab/simple-data-analysis-core/raw/refs/heads/main/test/data/files/recipes.parquet)
647
- * - "temperatures": [dailyTemperatures.csv](https://raw.githubusercontent.com/nshiab/simple-data-analysis-core/refs/heads/main/test/data/files/dailyTemperatures.csv)
648
- * - "temperaturesCities": [cities.csv](https://raw.githubusercontent.com/nshiab/simple-data-analysis-core/refs/heads/main/test/data/files/cities.csv)
649
- *
650
- * Geospatial data:
651
- * - "canada": [CanadianProvincesAndTerritories.json](https://raw.githubusercontent.com/nshiab/simple-data-analysis-core/refs/heads/main/test/geodata/files/CanadianProvincesAndTerritories.json)
652
- * - "firesGeo": [firesCanada2023.geojson](https://raw.githubusercontent.com/nshiab/simple-data-analysis-core/refs/heads/main/test/geodata/files/firesCanada2023.geojson)
653
- *
654
- * @category Importing Data
655
- *
656
- * @example
657
- * ```ts
658
- * // Load the fires sample data
659
- * await table.loadSample("fires");
660
- * ```
661
- */
662
- loadSample(sample: "fires" | "recipes" | "temperatures" | "temperaturesCities" | "canada" | "firesGeo"): Promise<this>;
663
- /**
664
- * Returns a new table with the same structure and data as this table. The data can be optionally filtered.
665
- * Note that cloning large tables can be a slow operation.
666
- *
667
- * @param nameOrOptions - Either a string specifying the name of the new table, or an optional object with configuration options. If not provided, a default name (e.g., "table1", "table2") will be generated.
668
- * @param nameOrOptions.outputTable - The name of the new table to be created in the database. If not provided, a default name (e.g., "table1", "table2") will be generated.
669
- * @param nameOrOptions.conditions - A SQL `WHERE` clause condition to filter the data during cloning. Defaults to no condition (clones all rows).
670
- * @param nameOrOptions.columns - An array of column names to include in the cloned table. If not provided, all columns will be included.
671
- * @returns A promise that resolves to a new table instance containing the cloned data.
672
- * @category Table Management
673
- *
674
- * @example
675
- * ```ts
676
- * // Clone tableA to a new table with a default generated name (e.g., "table1")
677
- * const tableB = await tableA.cloneTable();
678
- * ```
679
- *
680
- * @example
681
- * ```ts
682
- * // Clone tableA to a new table named "my_cloned_table" using string parameter
683
- * const tableB = await tableA.cloneTable("my_cloned_table");
684
- * ```
685
- *
686
- * @example
687
- * ```ts
688
- * // Clone tableA to a new table named "my_cloned_table" using options object
689
- * const tableB = await tableA.cloneTable({ outputTable: "my_cloned_table" });
690
- * ```
691
- *
692
- * @example
693
- * ```ts
694
- * // Clone tableA, including only rows where 'column1' is greater than 10
695
- * const tableB = await tableA.cloneTable({ conditions: `column1 > 10` });
696
- * ```
697
- *
698
- * @example
699
- * ```ts
700
- * // Clone tableA with only specific columns
701
- * const tableB = await tableA.cloneTable({ columns: ["name", "age", "city"] });
702
- * ```
703
- *
704
- * @example
705
- * ```ts
706
- * // Clone tableA to a specific table name with filtered data and specific columns
707
- * const tableB = await tableA.cloneTable({
708
- * outputTable: "filtered_data",
709
- * conditions: `status = 'active' AND created_date >= '2023-01-01'`,
710
- * columns: ["name", "status", "created_date"]
711
- * });
712
- * ```
713
- */
714
- cloneTable(nameOrOptions?: string | {
715
- outputTable?: string;
716
- conditions?: string;
717
- columns?: string | string[];
718
- }): Promise<this>;
719
- /**
720
- * Clones an existing column in this table, creating a new column with identical values.
721
- *
722
- * @param originalColumn - The name of the original column to clone.
723
- * @param newColumn - The name of the new column to be created.
724
- * @returns A promise that resolves when the column has been cloned.
725
- * @category Column Operations
726
- *
727
- * @example
728
- * ```ts
729
- * // Clone 'firstName' column as 'contactName'
730
- * await table.cloneColumn("firstName", "contactName");
731
- * ```
732
- */
733
- cloneColumn(originalColumn: string, newColumn: string): Promise<void>;
734
- /**
735
- * Clones a column in the table and offsets its values by a specified number of rows.
736
- * This is useful for time-series analysis or comparing values across different time points.
737
- *
738
- * **Important:** The offset is applied based on the current row order in the table. For meaningful results, ensure your data is sorted appropriately (e.g., by date/time for time-series analysis) before calling this method.
739
- *
740
- * @param originalColumn - The name of the original column.
741
- * @param newColumn - The name of the new column to be created with offset values.
742
- * @param options - An optional object with configuration options:
743
- * @param options.offset - The number of rows to offset the values. A positive number shifts values downwards (later rows), a negative number shifts values upwards (earlier rows). Defaults to `1`.
744
- * @param options.categories - A string or an array of strings representing columns to partition the data by. The offset will be applied independently within each category.
745
- * @returns A promise that resolves when the column has been cloned with offset values.
746
- * @category Column Operations
747
- *
748
- * @example
749
- * ```ts
750
- * // Clone 'value' as 'previous_value', offsetting by 1 row (value of row N-1 goes to row N)
751
- * await table.cloneColumnWithOffset("value", "previous_value");
752
- * ```
753
- *
754
- * @example
755
- * ```ts
756
- * // Clone 'sales' as 'sales_2_days_ago', offsetting by 2 rows
757
- * await table.cloneColumnWithOffset("sales", "sales_2_days_ago", { offset: 2 });
758
- * ```
759
- *
760
- * @example
761
- * ```ts
762
- * // Clone 'temperature' as 'prev_temp_by_city', offsetting by 1 row within each 'city' category
763
- * await table.cloneColumnWithOffset("temperature", "prev_temp_by_city", {
764
- * offset: 1,
765
- * categories: "city",
766
- * });
767
- * ```
768
- *
769
- * @example
770
- * ```ts
771
- * // Clone 'stock_price' as 'prev_price_by_stock_and_exchange', offsetting by 1 row within each 'stock_symbol' and 'exchange' category
772
- * await table.cloneColumnWithOffset("stock_price", "prev_price_by_stock_and_exchange", {
773
- * offset: 1,
774
- * categories: ["stock_symbol", "exchange"],
775
- * });
776
- * ```
777
- */
778
- cloneColumnWithOffset(originalColumn: string, newColumn: string, options?: {
779
- offset?: number;
780
- categories?: string | string[];
781
- }): Promise<void>;
782
- /**
783
- * Fills `NULL` values in specified columns. By default, each `NULL` is replaced with the last non-`NULL` value from the preceding row. When `interpolate` is `true`, `NULL` values are replaced using linear interpolation (or extrapolation at the ends). Pass `interpolateBy` with a real numeric or date column name to use it as the X-axis, so that interpolated values are proportional to the actual distances between X-axis values rather than treating every row as equidistant. When `interpolateBy` is set, `interpolate` is automatically assumed `true`.
784
- *
785
- * @param columns - The column(s) for which to fill `NULL` values.
786
- * @param options - An optional object with configuration options:
787
- * @param options.categories - A string or an array of strings representing columns to partition the data by. The fill will be applied independently within each category.
788
- * @param options.interpolate - If `true`, replaces `NULL` values with linearly interpolated values using DuckDB's `fill()` window function. When `interpolateBy` is not set, row positions are used as the X-axis, treating rows as equidistant. For `NULL` values at the ends, linear extrapolation is used. Both the column values and the X-axis values must support arithmetic. If `false` or omitted, the previous non-`NULL` value is used instead. Automatically assumed `true` when `interpolateBy` is set.
789
- * @param options.interpolateBy - A column name to use as the X-axis for interpolation instead of equidistant row positions. When provided, `interpolate` is automatically assumed `true`. Use this when rows are not evenly spaced (e.g., timestamps or non-uniform numeric indices) so that interpolated values are proportional to the actual distance between X-axis values.
790
- * @returns A promise that resolves when the `NULL` values have been filled.
791
- * @category Updating Data
792
- *
793
- * @example
794
- * ```ts
795
- * // Fill NULL values in 'column1' with the previous non-NULL value
796
- * await table.fill("column1");
797
- * ```
798
- *
799
- * @example
800
- * ```ts
801
- * // Fill NULL values in multiple columns
802
- * await table.fill(["columnA", "columnB"]);
803
- * ```
804
- *
805
- * @example
806
- * ```ts
807
- * // Fill NULL values in 'value' independently within each 'group'
808
- * await table.fill("value", { categories: "group" });
809
- * ```
810
- *
811
- * @example
812
- * ```ts
813
- * // Fill NULL values in 'value' using linear interpolation
814
- * await table.fill("value", { interpolate: true });
815
- * ```
816
- *
817
- * @example
818
- * ```ts
819
- * // Fill NULL values in 'value' using linear interpolation, independently within each 'group'
820
- * await table.fill("value", { categories: "group", interpolate: true });
821
- * ```
822
- *
823
- * @example
824
- * ```ts
825
- * // Fill NULL values in 'value' using linear interpolation proportional to 'x' distances
826
- * await table.fill("value", { interpolate: true, interpolateBy: "x" });
827
- * ```
828
- *
829
- * @example
830
- * ```ts
831
- * // interpolateBy implies interpolate: true, so this is equivalent to the previous example
832
- * await table.fill("value", { interpolateBy: "x" });
833
- * ```
834
- */
835
- fill(columns: string | string[], options?: {
836
- categories?: string | string[];
837
- interpolate?: boolean;
838
- interpolateBy?: string;
839
- }): Promise<void>;
840
- /**
841
- * Sorts the rows of the table based on specified column(s) and order(s).
842
- * If no columns are specified, all columns are sorted from left to right in ascending order.
843
- *
844
- * @param order - An object mapping column names to their sorting order: `"asc"` for ascending or `"desc"` for descending. If `null`, all columns are sorted ascendingly.
845
- * @param options - An optional object with configuration options:
846
- * @param options.lang - An object mapping column names to language codes for collation (e.g., `{ column1: "fr" }`). See DuckDB Collations documentation for more details: https://duckdb.org/docs/sql/expressions/collations.
847
- * @returns A promise that resolves when the table has been sorted.
848
- * @category Restructuring Data
849
- *
850
- * @example
851
- * ```ts
852
- * // Sort all columns from left to right in ascending order
853
- * await table.sort();
854
- * ```
855
- *
856
- * @example
857
- * ```ts
858
- * // Sort 'column1' in ascending order
859
- * await table.sort({ column1: "asc" });
860
- * ```
861
- *
862
- * @example
863
- * ```ts
864
- * // Sort 'column1' ascendingly, then 'column2' descendingly
865
- * await table.sort({ column1: "asc", column2: "desc" });
866
- * ```
867
- *
868
- * @example
869
- * ```ts
870
- * // Sort 'column1' considering French accents
871
- * await table.sort({ column1: "asc" }, { lang: { column1: "fr" } });
872
- * ```
873
- */
874
- sort(order?: {
875
- [key: string]: "asc" | "desc";
876
- } | null, options?: {
877
- lang?: {
878
- [key: string]: string;
879
- };
880
- }): Promise<void>;
881
- /**
882
- * Selects specific columns in the table, removing all others.
883
- *
884
- * @param columns - The name or an array of names of the columns to be selected.
885
- * @returns A promise that resolves when the columns have been selected.
886
- * @category Selecting or Filtering Data
887
- *
888
- * @example
889
- * ```ts
890
- * // Select only the 'firstName' and 'lastName' columns, removing all other columns.
891
- * await table.selectColumns(["firstName", "lastName"]);
892
- * ```
893
- *
894
- * @example
895
- * ```ts
896
- * // Select only the 'productName' column.
897
- * await table.selectColumns("productName");
898
- * ```
899
- */
900
- selectColumns(columns: string | string[]): Promise<void>;
901
- /**
902
- * Skips the first `n` rows of the table, effectively removing them.
903
- *
904
- * @param nbRowsToSkip - The number of rows to skip from the beginning of the table.
905
- * @returns A promise that resolves when the rows have been skipped.
906
- * @category Selecting or Filtering Data
907
- *
908
- * @example
909
- * ```ts
910
- * // Skip the first 10 rows of the table
911
- * await table.skip(10);
912
- * ```
913
- */
914
- skip(nbRowsToSkip: number): Promise<void>;
915
- /**
916
- * Checks if a column with the specified name exists in the table.
917
- *
918
- * @param column - The name of the column to check.
919
- * @returns A promise that resolves to `true` if the column exists, `false` otherwise.
920
- * @category Column Operations
921
- *
922
- * @example
923
- * ```ts
924
- * // Check if the table has a column named "age"
925
- * const hasAgeColumn = await table.hasColumn("age");
926
- * console.log(hasAgeColumn); // Output: true or false
927
- * ```
928
- */
929
- hasColumn(column: string): Promise<boolean>;
930
- /**
931
- * Selects random rows from the table, removing all others. You can optionally specify a seed to ensure repeatable sampling.
932
- *
933
- * @param quantity - The number of rows to select (e.g., `100`) or a percentage string (e.g., `"10%"`) specifying the sampling size.
934
- * @param options - An optional object with configuration options:
935
- * @param options.seed - A number specifying the seed for repeatable sampling. Using the same seed will always yield the same random rows. Defaults to a random seed.
936
- * @returns A promise that resolves when the sampling is complete.
937
- * @category Selecting or Filtering Data
938
- *
939
- * @example
940
- * ```ts
941
- * // Select 100 random rows from the table
942
- * await table.sample(100);
943
- * ```
944
- *
945
- * @example
946
- * ```ts
947
- * // Select 10% of the rows randomly
948
- * await table.sample("10%");
949
- * ```
950
- *
951
- * @example
952
- * ```ts
953
- * // Select random rows with a specific seed for repeatable results
954
- * await table.sample("10%", { seed: 123 });
955
- * ```
956
- */
957
- sample(quantity: number | string, options?: {
958
- seed?: number;
959
- }): Promise<void>;
960
- /**
961
- * Selects a specified number of rows from this table. An offset can be applied to skip initial rows, and the results can be output to a new table.
962
- *
963
- * @param count - The number of rows to select.
964
- * @param options - An optional object with configuration options:
965
- * @param options.offset - The number of rows to skip from the beginning of the table before selecting. Defaults to `0`.
966
- * @param options.outputTable - If `true`, the selected rows will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be modified. Defaults to `false`.
967
- * @returns A promise that resolves to a table instance containing the selected rows (either the modified current table or a new table).
968
- * @category Selecting or Filtering Data
969
- *
970
- * @example
971
- * ```ts
972
- * // Select the first 100 rows of the current table
973
- * await table.selectRows(100);
974
- * ```
975
- *
976
- * @example
977
- * ```ts
978
- * // Select 100 rows after skipping the first 50 rows
979
- * await table.selectRows(100, { offset: 50 });
980
- * ```
981
- *
982
- * @example
983
- * ```ts
984
- * // Select 50 rows and store them in a new table with a generated name
985
- * const newTable = await table.selectRows(50, { outputTable: true });
986
- * ```
987
- *
988
- * @example
989
- * ```ts
990
- * // Select 75 rows and store them in a new table named "top_customers"
991
- * const topCustomersTable = await table.selectRows(75, { outputTable: "top_customers" });
992
- * ```
993
- */
994
- selectRows(count: number | string, options?: {
995
- offset?: number;
996
- outputTable?: string | boolean;
997
- }): Promise<this>;
998
- /**
999
- * Removes duplicate rows from this table, keeping only unique rows.
1000
- * Note that the resulting data order might differ from the original.
1001
- *
1002
- * @param options - An optional object with configuration options:
1003
- * @param options.on - A column name or an array of column names to consider when identifying duplicates. If specified, duplicates are determined based only on the values in these columns. If omitted, all columns are considered.
1004
- * @returns A promise that resolves when the duplicate rows have been removed.
1005
- * @category Selecting or Filtering Data
1006
- *
1007
- * @example
1008
- * ```ts
1009
- * // Remove duplicate rows based on all columns
1010
- * await table.removeDuplicates();
1011
- * ```
1012
- *
1013
- * @example
1014
- * ```ts
1015
- * // Remove duplicate rows based only on the 'email' column
1016
- * await table.removeDuplicates({ on: "email" });
1017
- * ```
1018
- *
1019
- * @example
1020
- * ```ts
1021
- * // Remove duplicate rows based on 'firstName' and 'lastName' columns
1022
- * await table.removeDuplicates({ on: ["firstName", "lastName"] });
1023
- * ```
1024
- */
1025
- removeDuplicates(options?: {
1026
- on?: string | string[];
1027
- }): Promise<void>;
1028
- /**
1029
- * Removes rows with missing values from this table.
1030
- * By default, missing values include SQL `NULL`, as well as string representations like `"NULL"`, `"null"`, `"NaN"`, `"undefined"`, and empty strings `""`.
1031
- *
1032
- * @param options - An optional object with configuration options:
1033
- * @param options.columns - A string or an array of strings specifying the columns to consider for missing values. If omitted, all columns are considered.
1034
- * @param options.missingValues - An array of values to be treated as missing values instead of the default ones. Defaults to `["undefined", "NaN", "null", "NULL", ""]`.
1035
- * @param options.invert - A boolean indicating whether to invert the condition. If `true`, only rows containing missing values will be kept. Defaults to `false`.
1036
- * @returns A promise that resolves when the rows with missing values have been removed.
1037
- * @category Selecting or Filtering Data
1038
- *
1039
- * @example
1040
- * ```ts
1041
- * // Remove rows with missing values in any column
1042
- * await table.removeMissing();
1043
- * ```
1044
- *
1045
- * @example
1046
- * ```ts
1047
- * // Remove rows with missing values only in 'firstName' or 'lastName' columns
1048
- * await table.removeMissing({ columns: ["firstName", "lastName"] });
1049
- * ```
1050
- *
1051
- * @example
1052
- * ```ts
1053
- * // Keep only rows with missing values in any column
1054
- * await table.removeMissing({ invert: true });
1055
- * ```
1056
- *
1057
- * @example
1058
- * ```ts
1059
- * // Remove rows where 'age' is missing or is equal to -1
1060
- * await table.removeMissing({ columns: "age", missingValues: [-1] });
1061
- * ```
1062
- */
1063
- removeMissing(options?: {
1064
- columns?: string | string[];
1065
- missingValues?: (string | number)[];
1066
- invert?: boolean;
1067
- }): Promise<void>;
1068
- /**
1069
- * Trims specified characters from the beginning, end, or both sides of string values in the given columns.
1070
- *
1071
- * @param columns - The column name or an array of column names to trim.
1072
- * @param options - An optional object with configuration options:
1073
- * @param options.character - The string to trim. Defaults to whitespace characters.
1074
- * @param options.method - The trimming method to apply: `"leftTrim"` (removes from the beginning), `"rightTrim"` (removes from the end), or `"trim"` (removes from both sides). Defaults to `"trim"`.
1075
- * @returns A promise that resolves when the trimming operation is complete.
1076
- * @category Updating Data
1077
- *
1078
- * @example
1079
- * ```ts
1080
- * // Trim whitespace from 'column1'
1081
- * await table.trim("column1");
1082
- * ```
1083
- *
1084
- * @example
1085
- * ```ts
1086
- * // Trim leading and trailing asterisks from 'productCode'
1087
- * await table.trim("productCode", { character: "*" });
1088
- * ```
1089
- *
1090
- * @example
1091
- * ```ts
1092
- * // Right-trim whitespace from 'description' and 'notes' columns
1093
- * await table.trim(["description", "notes"], { method: "rightTrim" });
1094
- * ```
1095
- */
1096
- trim(columns: string | string[], options?: {
1097
- character?: string;
1098
- method?: "leftTrim" | "rightTrim" | "trim";
1099
- }): Promise<void>;
1100
- /**
1101
- * Filters rows from this table based on SQL conditions. Note that it's often faster to use the `removeRows` method for simple removals.
1102
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
1103
- *
1104
- * @param conditions - The filtering conditions specified as a SQL `WHERE` clause (e.g., `"column1 > 10 AND column2 = 'value'"`).
1105
- * @returns A promise that resolves when the rows have been filtered.
1106
- * @category Selecting or Filtering Data
1107
- *
1108
- * @example
1109
- * ```ts
1110
- * // Keep only rows where the 'fruit' column is not 'apple'
1111
- * await table.filter(`fruit != 'apple'`);
1112
- * ```
1113
- *
1114
- * @example
1115
- * ```ts
1116
- * // Keep rows where 'price' is greater than 100 AND 'quantity' is greater than 0
1117
- * await table.filter(`price > 100 && quantity > 0`); // Using JS syntax
1118
- * ```
1119
- *
1120
- * @example
1121
- * ```ts
1122
- * // Keep rows where 'category' is 'Electronics' OR 'Appliances'
1123
- * await table.filter(`category === 'Electronics' || category === 'Appliances'`); // Using JS syntax
1124
- * ```
1125
- *
1126
- * @example
1127
- * ```ts
1128
- * // Keep rows where 'lastPurchaseDate' is on or after '2023-01-01'
1129
- * await table.filter(`lastPurchaseDate >= '2023-01-01'`);
1130
- * ```
1131
- */
1132
- filter(conditions: string): Promise<void>;
1133
- /**
1134
- * Keeps rows in this table that have specific values in specified columns, removing all other rows.
1135
- *
1136
- * @param columnsAndValues - An object where keys are column names and values are the specific values (or an array of values) to keep in those columns.
1137
- * @returns A promise that resolves when the rows have been filtered.
1138
- * @category Selecting or Filtering Data
1139
- *
1140
- * @example
1141
- * ```ts
1142
- * // Keep only rows where 'job' is 'accountant' or 'developer', AND 'city' is 'Montreal'
1143
- * await table.keep({ job: ["accountant", "developer"], city: "Montreal" });
1144
- * ```
1145
- *
1146
- * @example
1147
- * ```ts
1148
- * // Keep only rows where 'status' is 'active'
1149
- * await table.keep({ status: "active" });
1150
- * ```
1151
- */
1152
- keep(columnsAndValues: {
1153
- [key: string]: (number | string | Date | boolean | null)[] | (number | string | Date | boolean | null);
1154
- }): Promise<void>;
1155
- /**
1156
- * Removes rows from this table that have specific values in specified columns.
1157
- *
1158
- * @param columnsAndValues - An object where keys are column names and values are the specific values (or an array of values) to remove from those columns.
1159
- * @returns A promise that resolves when the rows have been removed.
1160
- * @category Selecting or Filtering Data
1161
- *
1162
- * @example
1163
- * ```ts
1164
- * // Remove rows where 'job' is 'accountant' or 'developer', AND 'city' is 'Montreal'
1165
- * await table.remove({ job: ["accountant", "developer"], city: "Montreal" });
1166
- * ```
1167
- *
1168
- * @example
1169
- * ```ts
1170
- * // Remove rows where 'status' is 'inactive'
1171
- * await table.remove({ status: "inactive" });
1172
- * ```
1173
- */
1174
- remove(columnsAndValues: {
1175
- [key: string]: (number | string | Date | boolean | null)[] | (number | string | Date | boolean | null);
1176
- }): Promise<void>;
1177
- /**
1178
- * Removes rows from this table based on SQL conditions. This method is similar to `filter()`, but removes rows instead of keeping them.
1179
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
1180
- *
1181
- * @param conditions - The filtering conditions specified as a SQL `WHERE` clause (e.g., `"fruit = 'apple'"`).
1182
- * @returns A promise that resolves when the rows have been removed.
1183
- * @category Selecting or Filtering Data
1184
- *
1185
- * @example
1186
- * ```ts
1187
- * // Remove rows where the 'fruit' column is 'apple'
1188
- * await table.removeRows(`fruit = 'apple'`);
1189
- * ```
1190
- *
1191
- * @example
1192
- * ```ts
1193
- * // Remove rows where 'quantity' is less than 5
1194
- * await table.removeRows(`quantity < 5`);
1195
- * ```
1196
- *
1197
- * @example
1198
- * ```ts
1199
- * // Remove rows where 'price' is less than 100 AND 'quantity' is 0
1200
- * await table.removeRows(`price < 100 && quantity === 0`); // Using JS syntax
1201
- * ```
1202
- *
1203
- * @example
1204
- * ```ts
1205
- * // Remove rows where 'category' is 'Electronics' OR 'Appliances'
1206
- * await table.removeRows(`category === 'Electronics' || category === 'Appliances'`); // Using JS syntax
1207
- * ```
1208
- */
1209
- removeRows(conditions: string): Promise<void>;
1210
- /**
1211
- * Renames one or more columns in the table.
1212
- *
1213
- * @param names - An object mapping old column names to their new column names (e.g., `{ "oldName": "newName", "anotherOld": "anotherNew" }`).
1214
- * @returns A promise that resolves when the columns have been renamed.
1215
- * @category Column Operations
1216
- *
1217
- * @example
1218
- * ```ts
1219
- * // Rename "How old?" to "age" and "Man or woman?" to "sex"
1220
- * await table.renameColumns({ "How old?": "age", "Man or woman?": "sex" });
1221
- * ```
1222
- *
1223
- * @example
1224
- * ```ts
1225
- * // Rename a single column
1226
- * await table.renameColumns({ "product_id": "productId" });
1227
- * ```
1228
- */
1229
- renameColumns(names: {
1230
- [key: string]: string;
1231
- }): Promise<void>;
1232
- /**
1233
- * Cleans column names by removing non-alphanumeric characters and formatting them to camel case.
1234
- *
1235
- * @returns A promise that resolves when the column names have been cleaned.
1236
- * @category Column Operations
1237
- *
1238
- * @example
1239
- * ```ts
1240
- * // Clean all column names in the table
1241
- * // e.g., "First Name" becomes "firstName", "Product ID" becomes "productId"
1242
- * await table.cleanColumnNames();
1243
- * ```
1244
- */
1245
- cleanColumnNames(): Promise<void>;
1246
- /**
1247
- * Restructures this table by stacking (unpivoting) columns. This is useful for tidying up data from a wide format to a long format.
1248
- *
1249
- * For example, given a table showing employee counts per department per year:
1250
- *
1251
- * | Department | 2021 | 2022 | 2023 |
1252
- * | :--------- | :--- | :--- | :--- |
1253
- * | Accounting | 10 | 9 | 15 |
1254
- * | Sales | 52 | 75 | 98 |
1255
- *
1256
- * We can restructure it by putting all year columns into a new column named `Year` and their corresponding employee counts into a new column named `Employees`.
1257
- *
1258
- * @example
1259
- * ```ts
1260
- * // Restructure the table by stacking year columns into 'year' and 'employees'
1261
- * await table.longer(["2021", "2022", "2023"], "year", "employees");
1262
- * ```
1263
- *
1264
- * The table will then look like this:
1265
- *
1266
- * | Department | Year | Employees |
1267
- * | :--------- | :--- | :-------- |
1268
- * | Accounting | 2021 | 10 |
1269
- * | Accounting | 2022 | 9 |
1270
- * | Accounting | 2023 | 15 |
1271
- * | Sales | 2021 | 52 |
1272
- * | Sales | 2022 | 75 |
1273
- * | Sales | 2023 | 98 |
1274
- *
1275
- * @param columns - An array of strings representing the names of the columns to be stacked (unpivoted).
1276
- * @param columnsTo - The name of the new column that will contain the original column names (e.g., "Year").
1277
- * @param valuesTo - The name of the new column that will contain the values from the stacked columns (e.g., "Employees").
1278
- * @returns A promise that resolves when the table has been restructured.
1279
- * @category Restructuring Data
1280
- */
1281
- longer(columns: string[], columnsTo: string, valuesTo: string): Promise<void>;
1282
- /**
1283
- * Restructures this table by unstacking (pivoting) values, transforming data from a long format to a wide format.
1284
- *
1285
- * For example, given a table showing employee counts per department per year:
1286
- *
1287
- * | Department | Year | Employees |
1288
- * | :--------- | :--- | :-------- |
1289
- * | Accounting | 2021 | 10 |
1290
- * | Accounting | 2022 | 9 |
1291
- * | Accounting | 2023 | 15 |
1292
- * | Sales | 2021 | 52 |
1293
- * | Sales | 2022 | 75 |
1294
- * | Sales | 2023 | 98 |
1295
- *
1296
- * We can restructure it by creating new columns for each year, with the associated employee counts as values.
1297
- *
1298
- * @example
1299
- * ```ts
1300
- * // Restructure the table by pivoting 'Year' into new columns with 'Employees' as values
1301
- * await table.wider("Year", "Employees");
1302
- * ```
1303
- *
1304
- * The table will then look like this:
1305
- *
1306
- * | Department | 2021 | 2022 | 2023 |
1307
- * | :--------- | :--- | :--- | :--- |
1308
- * | Accounting | 10 | 9 | 15 |
1309
- * | Sales | 52 | 75 | 98 |
1310
- *
1311
- * @param columnsFrom - The name of the column containing the values that will be transformed into new column headers (e.g., "Year").
1312
- * @param valuesFrom - The name of the column containing the values to be spread across the new columns (e.g., "Employees").
1313
- * @returns A promise that resolves when the table has been restructured.
1314
- * @category Restructuring Data
1315
- */
1316
- wider(columnsFrom: string, valuesFrom: string): Promise<void>;
1317
- /**
1318
- * Converts data types of specified columns to target types (JavaScript or SQL types).
1319
- *
1320
- * When converting timestamps, dates, or times to/from strings, you must provide a `datetimeFormat` option using [DuckDB's format specifiers](https://duckdb.org/docs/sql/functions/dateformat).
1321
- *
1322
- * When converting timestamps, dates, or times to/from numbers, the numerical representation will be in milliseconds since the Unix epoch (1970-01-01 00:00:00 UTC).
1323
- *
1324
- * When converting strings to numbers, commas (often used as thousand separators) will be automatically removed before conversion.
1325
- *
1326
- * @param types - An object mapping column names to their target data types for conversion.
1327
- * @param options - An optional object with configuration options:
1328
- * @param options.try - If `true`, values that cannot be converted will be replaced by `NULL` instead of throwing an error. Defaults to `false`.
1329
- * @param options.datetimeFormat - A string specifying the format for date and time conversions. Uses `strftime` and `strptime` functions from DuckDB. For format specifiers, see [DuckDB's documentation](https://duckdb.org/docs/sql/functions/dateformat).
1330
- * @returns A promise that resolves when the column types have been converted.
1331
- * @category Updating Data
1332
- *
1333
- * @example
1334
- * ```ts
1335
- * // Convert 'column1' to string and 'column2' to integer (JavaScript types)
1336
- * await table.convert({ column1: "string", column2: "integer" });
1337
- * ```
1338
- *
1339
- * @example
1340
- * ```ts
1341
- * // Convert 'column1' to VARCHAR and 'column2' to BIGINT (SQL types)
1342
- * await table.convert({ column1: "varchar", column2: "bigint" });
1343
- * ```
1344
- *
1345
- * @example
1346
- * ```ts
1347
- * // Convert strings in 'column3' to datetime using a specific format
1348
- * await table.convert({ column3: "datetime" }, { datetimeFormat: "%Y-%m-%d" });
1349
- * ```
1350
- *
1351
- * @example
1352
- * ```ts
1353
- * // Convert datetime values in 'column3' to strings using a specific format
1354
- * await table.convert({ column3: "string" }, { datetimeFormat: "%Y-%m-%d %H:%M:%S" });
1355
- * ```
1356
- *
1357
- * @example
1358
- * ```ts
1359
- * // Convert 'amount' to float, replacing unconvertible values with NULL
1360
- * await table.convert({ amount: "float" }, { try: true });
1361
- * ```
1362
- */
1363
- convert(types: {
1364
- [key: string]: "integer" | "float" | "number" | "string" | "date" | "time" | "datetime" | "datetimeTz" | "bigint" | "double" | "varchar" | "timestamp" | "timestamp with time zone" | "boolean";
1365
- }, options?: {
1366
- try?: boolean;
1367
- datetimeFormat?: string;
1368
- }): Promise<void>;
1369
- /**
1370
- * Removes the table from the database. After this operation, invoking methods on this SimpleTable instance will result in an error.
1371
- *
1372
- * @returns A promise that resolves when the table has been removed.
1373
- * @category Table Management
1374
- *
1375
- * @example
1376
- * ```ts
1377
- * // Remove the current table from the database
1378
- * await table.removeTable();
1379
- * ```
1380
- */
1381
- removeTable(): Promise<void>;
1382
- /**
1383
- * Removes one or more columns from this table.
1384
- *
1385
- * @param columns - The name or an array of names of the columns to be removed.
1386
- * @returns A promise that resolves when the columns have been removed.
1387
- * @category Column Operations
1388
- *
1389
- * @example
1390
- * ```ts
1391
- * // Remove 'column1' and 'column2' from the table
1392
- * await table.removeColumns(["column1", "column2"]);
1393
- * ```
1394
- *
1395
- * @example
1396
- * ```ts
1397
- * // Remove a single column named 'tempColumn'
1398
- * await table.removeColumns("tempColumn");
1399
- * ```
1400
- */
1401
- removeColumns(columns: string | string[]): Promise<void>;
1402
- /**
1403
- * Adds a new column to the table based on a specified data type (JavaScript or SQL types) and a SQL definition.
1404
- *
1405
- * @param newColumn - The name of the new column to be added.
1406
- * @param type - The data type for the new column. Can be a JavaScript type (e.g., `"number"`, `"string"`) or a SQL type (e.g., `"integer"`, `"varchar"`).
1407
- * @param definition - A SQL expression defining how the values for the new column should be computed (e.g., `"column1 + column2"`, `"ST_Centroid(geom_column)"`).
1408
- * @param options - An optional object with configuration options:
1409
- * @param options.projection - Required if the new column stores geometries. Specifies the geospatial projection of the new geometry column. You can reuse the projection of an existing geometry column (available in `table.projections`).
1410
- * @returns A promise that resolves when the new column has been added.
1411
- * @category Column Operations
1412
- *
1413
- * @example
1414
- * ```ts
1415
- * // Add a new column 'total' as a float, calculated from 'column1' and 'column2'
1416
- * await table.addColumn("total", "float", "column1 + column2");
1417
- * ```
1418
- *
1419
- * @example
1420
- * ```ts
1421
- * // Add a new geometry column 'centroid' using the centroid of an existing 'country' geometry column
1422
- * // The projection of the new 'centroid' column is set to be the same as 'country'.
1423
- * await table.addColumn("centroid", "geometry", `ST_Centroid("country")`, {
1424
- * projection: table.projections.country,
1425
- * });
1426
- * ```
1427
- */
1428
- addColumn(newColumn: string, type: "integer" | "float" | "number" | "string" | "date" | "time" | "datetime" | "datetimeTz" | "bigint" | "double" | "varchar" | "timestamp" | "timestamp with time zone" | "boolean" | "geometry", definition: string, options?: {
1429
- projection?: string;
1430
- }): Promise<void>;
1431
- /**
1432
- * Adds a new column to the table containing the row number.
1433
- *
1434
- * @param newColumn - The name of the new column that will store the row number.
1435
- * @returns A promise that resolves when the row number column has been added.
1436
- * @category Column Operations
1437
- *
1438
- * @example
1439
- * ```ts
1440
- * // Add a new column named 'rowNumber' with the row number for each row
1441
- * await table.addRowNumber("rowNumber");
1442
- * ```
1443
- */
1444
- addRowNumber(newColumn: string): Promise<void>;
1445
- /**
1446
- * Performs a cross join operation with another table. A cross join returns the Cartesian product of the rows from both tables, meaning all possible pairs of rows will be in the resulting table.
1447
- * This means that if the left table has `n` rows and the right table has `m` rows, the result will have `n * m` rows.
1448
- *
1449
- * @param rightTable - The SimpleTable instance to cross join with.
1450
- * @param options - An optional object with configuration options:
1451
- * @param options.outputTable - If `true`, the results will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be overwritten. Defaults to `false`.
1452
- * @returns A promise that resolves to a table instance containing the cross-joined data (either the modified current table or a new table).
1453
- * @category Table Operations
1454
- *
1455
- * @example
1456
- * ```ts
1457
- * // Perform a cross join with 'tableB', overwriting the current table (tableA)
1458
- * await tableA.crossJoin(tableB);
1459
- * ```
1460
- *
1461
- * @example
1462
- * ```ts
1463
- * // Perform a cross join with 'tableB' and store the results in a new table with a generated name
1464
- * const tableC = await tableA.crossJoin(tableB, { outputTable: true });
1465
- * ```
1466
- *
1467
- * @example
1468
- * ```ts
1469
- * // Perform a cross join with 'tableB' and store the results in a new table named 'tableC'
1470
- * const tableC = await tableA.crossJoin(tableB, { outputTable: "tableC" });
1471
- * ```
1472
- */
1473
- crossJoin(rightTable: SimpleTable, options?: {
1474
- outputTable?: string | boolean;
1475
- }): Promise<this>;
1476
- /**
1477
- * Merges the data of this table (considered the left table) with another table (the right table) based on a common column or multiple columns.
1478
- * Note that the order of rows in the returned data is not guaranteed to be the same as in the original tables.
1479
- * This operation might create temporary files in a `.tmp` folder; consider adding `.tmp` to your `.gitignore`.
1480
- *
1481
- * @param rightTable - The SimpleTable instance to be joined with this table.
1482
- * @param options - An optional object with configuration options:
1483
- * @param options.commonColumn - The common column(s) used for the join operation. If omitted, the method automatically searches for a column name that exists in both tables. Can be a single string or an array of strings for multiple join keys.
1484
- * @param options.type - The type of join operation to perform. Possible values are `"inner"`, `"left"` (default), `"right"`, or `"full"`.
1485
- * @param options.outputTable - If `true`, the results will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be overwritten. Defaults to `false`.
1486
- * @returns A promise that resolves to a table instance containing the joined data (either the modified current table or a new table).
1487
- * @category Table Operations
1488
- *
1489
- * @example
1490
- * ```ts
1491
- * // Perform a left join with 'tableB' on a common column (auto-detected), overwriting tableA
1492
- * await tableA.join(tableB);
1493
- * ```
1494
- *
1495
- * @example
1496
- * ```ts
1497
- * // Perform an inner join with 'tableB' on the 'id' column, storing results in a new table named 'tableC'
1498
- * const tableC = await tableA.join(tableB, { commonColumn: 'id', type: 'inner', outputTable: "tableC" });
1499
- * ```
1500
- *
1501
- * @example
1502
- * ```ts
1503
- * // Perform a join on multiple columns ('name' and 'category')
1504
- * await tableA.join(tableB, { commonColumn: ['name', 'category'] });
1505
- * ```
1506
- */
1507
- join(rightTable: SimpleTable, options?: {
1508
- commonColumn?: string | string[];
1509
- type?: "inner" | "left" | "right" | "full";
1510
- outputTable?: string | boolean;
1511
- }): Promise<this>;
1512
- /**
1513
- * Performs a fuzzy left join between this table (considered the left table) and another table
1514
- * (the right table) based on string similarity between two text columns. Uses the
1515
- * [rapidfuzz](https://query.farm/duckdb_extension_rapidfuzz) DuckDB community extension.
1516
- *
1517
- * If a similarity score column is added to the results, the rows will be ordered alphabetically by the left column, and then by descending similarity score within each group of identical left column values. Otherwise, the rows will be order alphabetically by the left column and then by the right column.
1518
- *
1519
- * This operation might create temporary files in a `.tmp` folder; consider adding `.tmp` to your `.gitignore`.
1520
- *
1521
- * @param rightTable - The SimpleTable instance to be joined with this table.
1522
- * @param leftColumn - The name of the column in this (left) table containing the text to compare.
1523
- * @param rightColumn - The name of the column in the right table containing the text to compare.
1524
- * @param threshold - The minimum similarity score (0–100) required for two rows to be joined. For `method: "ratio"`, a length-based pre-filter is automatically applied based on the threshold to improve performance without losing accuracy.
1525
- * @param options - An optional object with configuration options:
1526
- * @param options.method - The rapidfuzz similarity algorithm to use. Defaults to `"ratio"`.
1527
- * - `"ratio"`: Overall similarity (Levenshtein-based).
1528
- * - `"partial_ratio"`: Best partial/substring similarity.
1529
- * - `"token_sort_ratio"`: Similarity after sorting tokens (words), useful for reordered words.
1530
- * - `"token_set_ratio"`: Similarity based on sets of tokens, ignoring duplicates and word order.
1531
- * @param options.similarityColumn - If provided, a column with this name is added to the result containing the similarity score (0–100). If omitted, the score is not included in the output.
1532
- * @param options.outputTable - If `true`, the results will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be overwritten. Defaults to `false`.
1533
- * @param options.preFilterPrefixLen - An optional prefix length. Only strings sharing the same first N characters are compared. Note that prefix filtering is lossy (e.g. "John" vs. "Phon" will not match despite high similarity).
1534
- * @returns A promise that resolves to a table instance containing the fuzzy-joined data (either the modified current table or a new table).
1535
- * @category Table Operations
1536
- *
1537
- * @example
1538
- * ```ts
1539
- * // Fuzzy left join tableA with tableB on 'name' (left) and 'standardName' (right) with a threshold of 80
1540
- * // A length-based pre-filter is automatically applied.
1541
- * await tableA.fuzzyJoin(tableB, "name", "standardName", 80);
1542
- * ```
1543
- *
1544
- * @example
1545
- * ```ts
1546
- * // Fuzzy join with a prefix-based pre-filter and a threshold of 80
1547
- * await tableA.fuzzyJoin(tableB, "name", "standardName", 80, {
1548
- * preFilterPrefixLen: 3, // Must share the same first 3 characters
1549
- * });
1550
- * ```
1551
- *
1552
- * @example
1553
- * ```ts
1554
- * // Fuzzy join with a custom threshold and method, storing results in a new table
1555
- * const tableC = await tableA.fuzzyJoin(tableB, "name", "standardName", 90, {
1556
- * method: "token_sort_ratio",
1557
- * outputTable: "tableC",
1558
- * });
1559
- * ```
1560
- *
1561
- * @example
1562
- * ```ts
1563
- * // Fuzzy join with a custom similarity column name and a threshold of 80
1564
- * await tableA.fuzzyJoin(tableB, "name", "standardName", 80, {
1565
- * similarityColumn: "matchScore",
1566
- * });
1567
- * ```
1568
- */
1569
- fuzzyJoin(rightTable: SimpleTable, leftColumn: string, rightColumn: string, threshold: number, options?: {
1570
- method?: "ratio" | "partial_ratio" | "token_sort_ratio" | "token_set_ratio";
1571
- similarityColumn?: string;
1572
- outputTable?: string | boolean;
1573
- preFilterPrefixLen?: number;
1574
- }): Promise<this>;
1575
- /**
1576
- * Normalizes string values in a column by detecting fuzzy duplicates and replacing them with a single canonical value.
1577
- *
1578
- * Similar strings are grouped into clusters. Matching is transitive: if `"New York"` is similar to `"New Yorke"` and
1579
- * `"New Yorke"` is similar to `"New Yorkk"`, all three land in the same cluster even if `"New York"` and `"New Yorkk"`
1580
- * would not match directly. Each cluster is then collapsed to one representative value based on the `keep` strategy.
1581
- *
1582
- * Similarity is computed using the [rapidfuzz](https://query.farm/duckdb_extension_rapidfuzz) DuckDB community extension,
1583
- * which is installed and loaded automatically.
1584
- *
1585
- * @param column - The name of the column containing the strings to normalize.
1586
- * @param newColumn - The name of the column to write the normalized values to. Use the same name as `column` to normalize in-place.
1587
- * @param threshold - The minimum similarity score (0–100) for two strings to be considered duplicates. For `method: "ratio"`, a length-based pre-filter is automatically applied based on the threshold to improve performance without losing accuracy.
1588
- * @param options - An optional object with configuration options:
1589
- * @param options.method - The rapidfuzz similarity algorithm to use. Defaults to `"ratio"`.
1590
- * - `"ratio"`: Overall similarity.
1591
- * - `"partial_ratio"`: Best partial/substring similarity.
1592
- * - `"token_sort_ratio"`: Similarity after sorting tokens (words), useful for reordered words.
1593
- * - `"token_set_ratio"`: Similarity based on sets of tokens, ignoring duplicates and word order.
1594
- * @param options.keep - The strategy for choosing the canonical value within each cluster of similar strings. Defaults to `"mostCommon"`.
1595
- * - `"mostCommon"`: Keep the value that appears most frequently in the original column.
1596
- * - `"longestString"`: Keep the longest string in the cluster.
1597
- * - `"shortestString"`: Keep the shortest string in the cluster.
1598
- * - `"mostCentral"`: Keep the string with the highest total similarity score to all other cluster members (the most "central" string).
1599
- * - `"maxScore"`: Keep the string that participates in the single highest-scoring pairwise match within the cluster.
1600
- * @param options.preFilterPrefixLen - An optional prefix length. Only strings sharing the same first N characters are compared. Note that prefix filtering is lossy (e.g. "John" vs. "Phon" will not match despite high similarity).
1601
- * @returns A promise that resolves when the column has been normalized.
1602
- * @category Updating Data
1603
- *
1604
- * @example
1605
- * ```ts
1606
- * // Normalize 'city' into a new 'cityClean' column, keeping the most common string per cluster with a threshold of 80
1607
- * // A length-based pre-filter is automatically applied.
1608
- * await table.fuzzyClean("city", "cityClean", 80);
1609
- * ```
1610
- *
1611
- * @example
1612
- * ```ts
1613
- * // Normalize with a prefix-based pre-filter and a threshold of 80
1614
- * await table.fuzzyClean("city", "cityClean", 80, {
1615
- * preFilterPrefixLen: 5, // Must share the same first 5 characters
1616
- * });
1617
- * ```
1618
- *
1619
- * @example
1620
- * ```ts
1621
- * // Normalize 'companyName' into a new column using token_sort_ratio and a threshold of 90
1622
- * await table.fuzzyClean("companyName", "companyNameClean", 90, { method: "token_sort_ratio" });
1623
- * ```
1624
- *
1625
- * @example
1626
- * ```ts
1627
- * // Normalize 'category' in-place, keeping the longest string in each cluster and a threshold of 80
1628
- * await table.fuzzyClean("category", "category", 80, { keep: "longestString" });
1629
- * ```
1630
- */
1631
- fuzzyClean(column: string, newColumn: string, threshold: number, options?: {
1632
- method?: "ratio" | "partial_ratio" | "token_sort_ratio" | "token_set_ratio";
1633
- keep?: "mostCommon" | "longestString" | "shortestString" | "mostCentral" | "maxScore";
1634
- preFilterPrefixLen?: number;
1635
- }): Promise<void>;
1636
- /**
1637
- * Replaces specified strings in the selected columns.
1638
- *
1639
- * @param columns - The column name or an array of column names where string replacements will occur.
1640
- * @param strings - An object mapping old strings to new strings (e.g., `{ "oldValue": "newValue" }`).
1641
- * @param options - An optional object with configuration options:
1642
- * @param options.entireString - A boolean indicating whether the entire cell content must match the `oldString` for replacement to occur. Defaults to `false` (replaces substrings).
1643
- * @param options.regex - A boolean indicating whether the `oldString` should be treated as a regular expression for global replacement. Cannot be used with `entireString: true`. Defaults to `false`.
1644
- * @returns A promise that resolves when the string replacements are complete.
1645
- * @category Updating Data
1646
- *
1647
- * @example
1648
- * ```ts
1649
- * // Replace all occurrences of "kilograms" with "kg" in 'column1'
1650
- * await table.replace("column1", { "kilograms": "kg" });
1651
- * ```
1652
- *
1653
- * @example
1654
- * ```ts
1655
- * // Replace "kilograms" with "kg" and "liters" with "l" in 'column1' and 'column2'
1656
- * await table.replace(["column1", "column2"], { "kilograms": "kg", "liters": "l" });
1657
- * ```
1658
- *
1659
- * @example
1660
- * ```ts
1661
- * // Replace only if the entire string in 'column1' is "kilograms"
1662
- * await table.replace("column1", { "kilograms": "kg" }, { entireString: true });
1663
- * ```
1664
- *
1665
- * @example
1666
- * ```ts
1667
- * // Replace any sequence of one or more digits with a hyphen in 'column1' using regex
1668
- * await table.replace("column1", { "\d+": "-" }, { regex: true });
1669
- * ```
1670
- */
1671
- replace(columns: string | string[], strings: {
1672
- [key: string]: string;
1673
- }, options?: {
1674
- entireString?: boolean;
1675
- regex?: boolean;
1676
- }): Promise<void>;
1677
- /**
1678
- * Converts string values in the specified columns to lowercase.
1679
- *
1680
- * @param columns - The column name or an array of column names to be converted to lowercase.
1681
- * @returns A promise that resolves when the strings have been converted to lowercase.
1682
- * @category Updating Data
1683
- *
1684
- * @example
1685
- * ```ts
1686
- * // Convert strings in 'column1' to lowercase
1687
- * await table.lower("column1");
1688
- * ```
1689
- *
1690
- * @example
1691
- * ```ts
1692
- * // Convert strings in 'column1' and 'column2' to lowercase
1693
- * await table.lower(["column1", "column2"]);
1694
- * ```
1695
- */
1696
- lower(columns: string | string[]): Promise<void>;
1697
- /**
1698
- * Converts string values in the specified columns to uppercase.
1699
- *
1700
- * @param columns - The column name or an array of column names to be converted to uppercase.
1701
- * @returns A promise that resolves when the strings have been converted to uppercase.
1702
- * @category Updating Data
1703
- *
1704
- * @example
1705
- * ```ts
1706
- * // Convert strings in 'column1' to uppercase
1707
- * await table.upper("column1");
1708
- * ```
1709
- *
1710
- * @example
1711
- * ```ts
1712
- * // Convert strings in 'column1' and 'column2' to uppercase
1713
- * await table.upper(["column1", "column2"]);
1714
- * ```
1715
- */
1716
- upper(columns: string | string[]): Promise<void>;
1717
- /**
1718
- * Capitalizes the first letter of each string in the specified columns and converts the rest of the string to lowercase.
1719
- *
1720
- * @param columns - The column name or an array of column names to be capitalized.
1721
- * @returns A promise that resolves when the strings have been capitalized.
1722
- * @category Updating Data
1723
- *
1724
- * @example
1725
- * ```ts
1726
- * // Capitalize strings in 'column1' (e.g., "hello world" becomes "Hello world")
1727
- * await table.capitalize("column1");
1728
- * ```
1729
- *
1730
- * @example
1731
- * ```ts
1732
- * // Capitalize strings in 'column1' and 'column2'
1733
- * await table.capitalize(["column1", "column2"]);
1734
- * ```
1735
- */
1736
- capitalize(columns: string | string[]): Promise<void>;
1737
- /**
1738
- * Truncates string values in a specified column to a maximum number of characters.
1739
- *
1740
- * @param column - The column name containing strings to be truncated.
1741
- * @param length - The maximum number of characters to keep.
1742
- * @returns A promise that resolves when the strings have been truncated.
1743
- * @category Updating Data
1744
- *
1745
- * @example
1746
- * ```ts
1747
- * // Truncate strings in 'description' column to 50 characters
1748
- * await table.truncate("description", 50);
1749
- * ```
1750
- *
1751
- * @example
1752
- * ```ts
1753
- * // Truncate strings in 'name' column to 10 characters
1754
- * await table.truncate("name", 10);
1755
- * ```
1756
- */
1757
- truncate(column: string, length: number): Promise<void>;
1758
- /**
1759
- * Pads the strings in the specified columns to a target length.
1760
- *
1761
- * The columns must contain string (VARCHAR) values. An error is thrown if any
1762
- * column is of a different type. `null` values remain `null`. If any string
1763
- * already exceeds the target length, an error is thrown (no silent truncation).
1764
- *
1765
- * @param columns - The column name(s) containing strings to be padded.
1766
- * @param length - The target length of the padded strings.
1767
- * @param options - An optional object with configuration options:
1768
- * @param options.method - Which side to pad. `'left'` (default) or `'right'`.
1769
- * @param options.char - The character to use for padding. Defaults to `'0'`.
1770
- * @returns A promise that resolves when the padding operation is complete.
1771
- * @throws {Error} If any column is not of string (VARCHAR) type.
1772
- * @throws {Error} If any string value exceeds the target length.
1773
- * @category Updating Data
1774
- *
1775
- * @example
1776
- * ```ts
1777
- * // Left-pad 'id' column to 3 characters with zeros (default)
1778
- * await table.pad("id", 3);
1779
- * // Result: '1' -> '001', '23' -> '023', null -> null
1780
- * ```
1781
- *
1782
- * @example
1783
- * ```ts
1784
- * // Right-pad 'code' column to 5 characters with spaces
1785
- * await table.pad("code", 5, { method: "right", char: " " });
1786
- * // Result: '123' -> '123 ', '45' -> '45 ', null -> null
1787
- * ```
1788
- *
1789
- * @example
1790
- * ```ts
1791
- * // Left-pad multiple columns to 5 characters with dashes
1792
- * await table.pad(["id", "code"], 5, { method: "left", char: "-" });
1793
- * // Result: '1' -> '----1', '23' -> '---23'
1794
- * ```
1795
- */
1796
- pad(columns: string | string[], length: number, options?: {
1797
- method?: "left" | "right";
1798
- char?: string;
1799
- }): Promise<void>;
1800
- /**
1801
- * Splits strings in a specified column by a separator and extracts a substring at a given index, storing the result in a new or existing column.
1802
- * If the index is out of bounds, an empty string will be returned for that row.
1803
- *
1804
- * @param column - The name of the column containing the strings to be split.
1805
- * @param separator - The substring to use as a delimiter for splitting the strings.
1806
- * @param index - The zero-based index of the substring to extract after splitting. For example, `0` for the first part, `1` for the second, etc.
1807
- * @param newColumn - The name of the column where the extracted substrings will be stored. To overwrite the original column, use the same name as `column`.
1808
- * @returns A promise that resolves when the strings have been split and extracted.
1809
- * @category Updating Data
1810
- *
1811
- * @example
1812
- * ```ts
1813
- * // Split 'address' by comma and extract the second part (index 1) into a new 'city' column
1814
- * // e.g., "123 Main St, Anytown, USA" -> "Anytown"
1815
- * await table.splitExtract("address", ",", 1, "city");
1816
- * ```
1817
- *
1818
- * @example
1819
- * ```ts
1820
- * // Split 'fileName' by dot and extract the first part (index 0), overwriting 'fileName'
1821
- * // e.g., "document.pdf" -> "document"
1822
- * await table.splitExtract("fileName", ".", 0, "fileName");
1823
- * ```
1824
- */
1825
- splitExtract(column: string, separator: string, index: number, newColumn: string): Promise<void>;
1826
- /**
1827
- * Splits strings in a specified column by a separator and spreads the resulting parts into multiple new columns.
1828
- *
1829
- * Each part of the split string will be stored in a separate column. The number of columns created is determined by the length of the `newColumns` array.
1830
- * If a row has fewer parts than the number of new columns, a warning will be logged and the extra columns will contain empty strings (unless `noCheck` is set to true).
1831
- * If a row has more parts than the number of new columns, an error will be thrown unless `noCheck` is set to true.
1832
- *
1833
- * @param column - The name of the column containing the strings to be split.
1834
- * @param separator - The substring to use as a delimiter for splitting the strings.
1835
- * @param newColumns - An array of column names for the extracted parts.
1836
- * @param options - Optional configuration.
1837
- * @param options.noCheck - If true, skips all validation checks (both max and min parts). Default is false.
1838
- * @returns A promise that resolves when the strings have been split and spread into new columns.
1839
- * @category Updating Data
1840
- *
1841
- * @example
1842
- * ```ts
1843
- * // Split 'fullName' by comma and spread into 'lastName' and 'firstName'
1844
- * // e.g., "Shiab, Nael" -> lastName: "Shiab", firstName: "Nael"
1845
- * await table.splitSpread("fullName", ",", ["lastName", "firstName"]);
1846
- * ```
1847
- *
1848
- * @example
1849
- * ```ts
1850
- * // Split 'address' by comma and spread into three columns
1851
- * // e.g., "123 Main St, Anytown, USA" -> street: "123 Main St", city: "Anytown", country: "USA"
1852
- * await table.splitSpread("address", ",", ["street", "city", "country"]);
1853
- * ```
1854
- *
1855
- * @example
1856
- * ```ts
1857
- * // Skip validation for performance with noCheck option
1858
- * await table.splitSpread("data", "|", ["col1", "col2"], { noCheck: true });
1859
- * ```
1860
- */
1861
- splitSpread(column: string, separator: string, newColumns: string[], options?: {
1862
- noCheck?: boolean;
1863
- }): Promise<void>;
1864
- /**
1865
- * Extracts a specific number of characters from the beginning (left side) of string values in the specified column.
1866
- *
1867
- * @param column - The name of the column containing the strings to be modified.
1868
- * @param numberOfCharacters - The number of characters to extract from the left side of each string.
1869
- * @returns A promise that resolves when the strings have been updated.
1870
- * @category Updating Data
1871
- *
1872
- * @example
1873
- * ```ts
1874
- * // Replace strings in 'productCode' with their first two characters
1875
- * // e.g., "ABC-123" becomes "AB"
1876
- * await table.left("productCode", 2);
1877
- * ```
1878
- */
1879
- left(column: string, numberOfCharacters: number): Promise<void>;
1880
- /**
1881
- * Extracts a specific number of characters from the end (right side) of string values in the specified column.
1882
- *
1883
- * @param column - The name of the column containing the strings to be modified.
1884
- * @param numberOfCharacters - The number of characters to extract from the right side of each string.
1885
- * @returns A promise that resolves when the strings have been updated.
1886
- * @category Updating Data
1887
- *
1888
- * @example
1889
- * ```ts
1890
- * // Replace strings in 'productCode' with their last two characters
1891
- * // e.g., "ABC-123" becomes "23"
1892
- * await table.right("productCode", 2);
1893
- * ```
1894
- */
1895
- right(column: string, numberOfCharacters: number): Promise<void>;
1896
- /**
1897
- * Replaces `NULL` values in the specified columns with a given value.
1898
- *
1899
- * @param columns - The column name or an array of column names in which to replace `NULL` values.
1900
- * @param value - The value to replace `NULL` occurrences with.
1901
- * @returns A promise that resolves when the `NULL` values have been replaced.
1902
- * @category Updating Data
1903
- *
1904
- * @example
1905
- * ```ts
1906
- * // Replace NULL values in 'column1' with 0
1907
- * await table.replaceNulls("column1", 0);
1908
- * ```
1909
- *
1910
- * @example
1911
- * ```ts
1912
- * // Replace NULL values in 'columnA' and 'columnB' with the string "N/A"
1913
- * await table.replaceNulls(["columnA", "columnB"], "N/A");
1914
- * ```
1915
- *
1916
- * @example
1917
- * ```ts
1918
- * // Replace NULL values in 'dateColumn' with a specific date
1919
- * await table.replaceNulls("dateColumn", new Date("2023-01-01"));
1920
- * ```
1921
- */
1922
- replaceNulls(columns: string | string[], value: number | string | Date | boolean): Promise<void>;
1923
- /**
1924
- * Concatenates values from specified columns into a new column.
1925
- *
1926
- * @param columns - An array of column names whose values will be concatenated.
1927
- * @param newColumn - The name of the new column to store the concatenated values.
1928
- * @param options - An optional object with configuration options:
1929
- * @param options.separator - The string used to separate concatenated values. Defaults to an empty string (`""`).
1930
- * @returns A promise that resolves when the concatenation is complete.
1931
- * @category Updating Data
1932
- *
1933
- * @example
1934
- * ```ts
1935
- * // Concatenate 'firstName' and 'lastName' into a new 'fullName' column
1936
- * await table.concatenate(["firstName", "lastName"], "fullName");
1937
- * ```
1938
- *
1939
- * @example
1940
- * ```ts
1941
- * // Concatenate 'city' and 'country' into 'location', separated by a comma and space
1942
- * await table.concatenate(["city", "country"], "location", { separator: ", " });
1943
- * ```
1944
- */
1945
- concatenate(columns: string[], newColumn: string, options?: {
1946
- separator?: string;
1947
- }): Promise<void>;
1948
- /**
1949
- * Concatenates values from multiple columns into a new column with labeled rows.
1950
- *
1951
- * This method creates a new column where each value is a concatenation of the specified columns,
1952
- * with each column value prefixed by its column name and a colon, followed by a newline.
1953
- * Column entries are separated by double newlines ("\n\n").
1954
- *
1955
- * All values must be string, otherwise an error will be thrown. Use the `convert()` method first to convert non-string columns to string.
1956
- *
1957
- * If a column value is `NULL`, it will be replaced by `'Unknown'` in the concatenated result.
1958
- *
1959
- * @param columns - An array of column names whose values will be concatenated with labels.
1960
- * @param newColumn - The name of the new column to create with the concatenated values.
1961
- * @returns A promise that resolves when the concatenation is complete.
1962
- * @category Updating Data
1963
- *
1964
- * @example
1965
- * ```ts
1966
- * // Concatenate multiple string columns into a labeled text field
1967
- * await table.concatenateRow(
1968
- * ["summary", "findings", "context", "date", "quote"],
1969
- * "fullText"
1970
- * );
1971
- * // Result in "fullText" will look like:
1972
- * // summary:
1973
- * // [value]
1974
- * //
1975
- * // findings:
1976
- * // [value]
1977
- * //
1978
- * // context:
1979
- * // [value]
1980
- * //
1981
- * // date:
1982
- * // [value]
1983
- * //
1984
- * // quote:
1985
- * // [value]
1986
- * ```
1987
- *
1988
- * @example
1989
- * ```ts
1990
- * // Convert numeric columns to strings first, then concatenate
1991
- * // NULL values will appear as 'Unknown'
1992
- * await table.convert({ age: "string", salary: "string" });
1993
- * await table.concatenateRow(["name", "age", "salary"], "profile");
1994
- * ```
1995
- */
1996
- concatenateRow(columns: string[], newColumn: string): Promise<void>;
1997
- /**
1998
- * Unnests (expands) rows by splitting a column's string values into multiple rows based on a separator.
1999
- *
2000
- * Each value in the specified column is split using the provided separator, and a new row is created for each resulting substring. All other column values are duplicated across the newly created rows.
2001
- *
2002
- * @param column - The name of the column containing string values to be split and unnested.
2003
- * @param separator - The delimiter string used to split the column values.
2004
- * @returns A promise that resolves when the unnesting is complete.
2005
- * @category Updating Data
2006
- *
2007
- * @example
2008
- * ```ts
2009
- * // Unnest 'tags' column separated by commas
2010
- * // Before: [{ id: 1, tags: "red,blue,green" }]
2011
- * // After: [{ id: 1, tags: "red" }, { id: 1, tags: "blue" }, { id: 1, tags: "green" }]
2012
- * await table.unnest("tags", ",");
2013
- * ```
2014
- *
2015
- * @example
2016
- * ```ts
2017
- * // Unnest 'neighborhoods' column separated by " / "
2018
- * // Before: [{ city: "Montreal", neighborhoods: "Old Montreal / Chinatown / Griffintown" }]
2019
- * // After: [{ city: "Montreal", neighborhoods: "Old Montreal" },
2020
- * // { city: "Montreal", neighborhoods: "Chinatown" },
2021
- * // { city: "Montreal", neighborhoods: "Griffintown" }]
2022
- * await table.unnest("neighborhoods", " / ");
2023
- * ```
2024
- */
2025
- unnest(column: string, separator: string): Promise<void>;
2026
- /**
2027
- * Repeats rows based on the values in a column.
2028
- *
2029
- * If a row has a value of 3 in the specified column, it will be repeated 3 times. If the value is 0 or negative, the row will be removed.
2030
- *
2031
- * @param column - The name of the column containing the number of times each row should be repeated.
2032
- * @param options - An optional object with configuration options:
2033
- * @param options.index - The name of a new column to store the index of the repeated row (starting at 0).
2034
- * @category Updating Data
2035
- *
2036
- * @example
2037
- * ```ts
2038
- * // Before: [{ id: 1, count: 2, category: "A" }, { id: 2, count: 3, category: "B" }]
2039
- * await table.repeatRows("count");
2040
- * // After: [{ id: 1, count: 2, category: "A" }, { id: 1, count: 2, category: "A" },
2041
- * // { id: 2, count: 3, category: "B" }, { id: 2, count: 3, category: "B" }, { id: 2, count: 3, category: "B" }]
2042
- * ```
2043
- *
2044
- * @example
2045
- * ```ts
2046
- * // With an index column
2047
- * await table.repeatRows("count", { index: "copyId" });
2048
- * // After: [{ id: 1, count: 2, category: "A", copyId: 0 }, { id: 1, count: 2, category: "A", copyId: 1 },
2049
- * // { id: 2, count: 3, category: "B", copyId: 0 }, { id: 2, count: 3, category: "B", copyId: 1 }, { id: 2, count: 3, category: "B", copyId: 2 }]
2050
- * ```
2051
- */
2052
- repeatRows(column: string, options?: {
2053
- index?: string;
2054
- }): Promise<void>;
2055
- /**
2056
- * Nests (collapses) rows by aggregating a column's values into a single string per group, separated by a delimiter.
2057
- *
2058
- * This is the inverse operation of `unnest()`. Multiple rows are combined into fewer rows by grouping on specified category columns and concatenating the target column values with a separator.
2059
- *
2060
- * @param column - The name of the column whose values will be aggregated and concatenated.
2061
- * @param separator - The delimiter string used to join the column values.
2062
- * @param categories - The column name or an array of column names to group by.
2063
- * @returns A promise that resolves when the nesting is complete.
2064
- * @category Updating Data
2065
- *
2066
- * @example
2067
- * ```ts
2068
- * // Nest 'neighborhoods' column separated by " / " for each city
2069
- * // Before: [{ city: "Montreal", neighborhoods: "Old Montreal" },
2070
- * // { city: "Montreal", neighborhoods: "Chinatown" },
2071
- * // { city: "Montreal", neighborhoods: "Griffintown" }]
2072
- * // After: [{ city: "Montreal", neighborhoods: "Old Montreal / Chinatown / Griffintown" }]
2073
- * await table.nest("neighborhoods", " / ", "city");
2074
- * ```
2075
- *
2076
- * @example
2077
- * ```ts
2078
- * // Nest with multiple category columns
2079
- * // Before: [{ country: "Canada", city: "Montreal", tags: "red" },
2080
- * // { country: "Canada", city: "Montreal", tags: "blue" }]
2081
- * // After: [{ country: "Canada", city: "Montreal", tags: "red,blue" }]
2082
- * await table.nest("tags", ",", ["country", "city"]);
2083
- * ```
2084
- */
2085
- nest(column: string, separator: string, categories: string | string[]): Promise<void>;
2086
- /**
2087
- * Rounds numeric values in specified columns.
2088
- *
2089
- * @param columns - The column name or an array of column names containing numeric values to be rounded.
2090
- * @param options - An optional object with configuration options:
2091
- * @param options.decimals - The number of decimal places to round to. Defaults to `0` (rounds to the nearest integer).
2092
- * @param options.method - The rounding method to use: `"round"` (rounds to the nearest integer, with halves rounding up), `"ceiling"` (rounds up to the nearest integer), or `"floor"` (rounds down to the nearest integer). Defaults to `"round"`.
2093
- * @returns A promise that resolves when the numeric values have been rounded.
2094
- * @category Updating Data
2095
- *
2096
- * @example
2097
- * ```ts
2098
- * // Round 'column1' values to the nearest integer
2099
- * await table.round("column1");
2100
- * ```
2101
- *
2102
- * @example
2103
- * ```ts
2104
- * // Round 'column1' values to 2 decimal places
2105
- * await table.round("column1", { decimals: 2 });
2106
- * ```
2107
- *
2108
- * @example
2109
- * ```ts
2110
- * // Round 'column1' values down to the nearest integer (floor)
2111
- * await table.round("column1", { method: "floor" });
2112
- * ```
2113
- *
2114
- * @example
2115
- * ```ts
2116
- * // Round 'columnA' and 'columnB' values to 1 decimal place using ceiling method
2117
- * await table.round(["columnA", "columnB"], { decimals: 1, method: "ceiling" });
2118
- * ```
2119
- *
2120
- * @example
2121
- * ```ts
2122
- * // Round 'column1' values to 2 decimal places using the shorthand
2123
- * await table.round("column1", 2);
2124
- * ```
2125
- */
2126
- round(columns: string | string[], options?: number | {
2127
- decimals?: number;
2128
- method?: "round" | "ceiling" | "floor";
2129
- }): Promise<void>;
2130
- /**
2131
- * Updates values in a specified column using a SQL expression.
2132
- *
2133
- * @param column - The name of the column to be updated.
2134
- * @param definition - The SQL expression used to set the new values in the column (e.g., `"column1 * 2"`, `"UPPER(column_name)"`).
2135
- * @returns A promise that resolves when the column has been updated.
2136
- * @category Updating Data
2137
- *
2138
- * @example
2139
- * ```ts
2140
- * // Update 'column1' with the left 5 characters of 'column2'
2141
- * await table.updateColumn("column1", `LEFT(column2, 5)`);
2142
- * ```
2143
- *
2144
- * @example
2145
- * ```ts
2146
- * // Double the values in 'price' column
2147
- * await table.updateColumn("price", `price * 2`);
2148
- * ```
2149
- *
2150
- * @example
2151
- * ```ts
2152
- * // Set 'status' to 'active' where 'isActive' is true
2153
- * await table.updateColumn("status", `CASE WHEN isActive THEN 'active' ELSE 'inactive' END`);
2154
- * ```
2155
- */
2156
- updateColumn(column: string, definition: string): Promise<void>;
2157
- /**
2158
- * Assigns ranks to rows in a new column based on the values of a specified column.
2159
- *
2160
- * @param values - The column containing the values to be used for ranking.
2161
- * @param newColumn - The name of the new column where the ranks will be stored.
2162
- * @param options - An optional object with configuration options:
2163
- * @param options.order - The order of values for ranking: `"asc"` for ascending (default) or `"desc"` for descending.
2164
- * @param options.categories - The column name or an array of column names that define categories for ranking. Ranks will be assigned independently within each category.
2165
- * @param options.noGaps - A boolean indicating whether to assign ranks without gaps (dense ranking). If `true`, ranks will be consecutive integers (e.g., 1, 2, 2, 3). If `false` (default), ranks might have gaps (e.g., 1, 2, 2, 4).
2166
- * @returns A promise that resolves when the ranks have been assigned.
2167
- * @category Analyzing Data
2168
- *
2169
- * @example
2170
- * ```ts
2171
- * // Compute ranks in a new 'rank' column based on 'score' values (ascending)
2172
- * await table.ranks("score", "rank");
2173
- * ```
2174
- *
2175
- * @example
2176
- * ```ts
2177
- * // Compute ranks in a new 'descRank' column based on 'score' values (descending)
2178
- * await table.ranks("score", "descRank", { order: "desc" });
2179
- * ```
2180
- *
2181
- * @example
2182
- * ```ts
2183
- * // Compute ranks within 'department' categories, based on 'salary' values, without gaps
2184
- * await table.ranks("salary", "salaryRank", { categories: "department", noGaps: true });
2185
- * ```
2186
- *
2187
- * @example
2188
- * ```ts
2189
- * // Compute ranks within multiple categories ('department' and 'city')
2190
- * await table.ranks("sales", "salesRank", { categories: ["department", "city"] });
2191
- * ```
2192
- */
2193
- ranks(values: string, newColumn: string, options?: {
2194
- order?: "asc" | "desc";
2195
- categories?: string | string[];
2196
- noGaps?: boolean;
2197
- }): Promise<void>;
2198
- /**
2199
- * Assigns quantiles to rows in a new column based on specified column values.
2200
- *
2201
- * @param values - The column containing values from which quantiles will be assigned.
2202
- * @param nbQuantiles - The number of quantiles to divide the data into (e.g., `4` for quartiles, `10` for deciles).
2203
- * @param newColumn - The name of the new column where the assigned quantiles will be stored.
2204
- * @param options - An optional object with configuration options:
2205
- * @param options.categories - The column name or an array of column names that define categories for computing quantiles. Quantiles will be assigned independently within each category.
2206
- * @returns A promise that resolves when the quantiles have been assigned.
2207
- * @category Analyzing Data
2208
- *
2209
- * @example
2210
- * ```ts
2211
- * // Assigns a quantile from 1 to 10 for each row in a new 'quantiles' column, based on 'column1' values.
2212
- * await table.quantiles("column1", 10, "quantiles");
2213
- * ```
2214
- *
2215
- * @example
2216
- * ```ts
2217
- * // Assigns quantiles within 'column2' categories, based on 'column1' values.
2218
- * await table.quantiles("column1", 10, "quantiles", { categories: "column2" });
2219
- * ```
2220
- *
2221
- * @example
2222
- * ```ts
2223
- * // Assigns quartiles (4 quantiles) to 'sales' data, storing results in 'salesQuartile'
2224
- * await table.quantiles("sales", 4, "salesQuartile");
2225
- * ```
2226
- */
2227
- quantiles(values: string, nbQuantiles: number, newColumn: string, options?: {
2228
- categories?: string | string[];
2229
- }): Promise<void>;
2230
- /**
2231
- * Assigns bins for specified column values based on an interval size.
2232
- *
2233
- * @param values - The column containing values from which bins will be computed.
2234
- * @param interval - The interval size for binning the values.
2235
- * @param newColumn - The name of the new column where the bins will be stored.
2236
- * @param options - An optional object with configuration options:
2237
- * @param options.startValue - The starting value for binning. Defaults to the minimum value in the specified column.
2238
- * @returns A promise that resolves when the bins have been assigned.
2239
- * @category Analyzing Data
2240
- *
2241
- * @example
2242
- * ```ts
2243
- * // Assigns a bin for each row in a new 'bins' column based on 'column1' values, with an interval of 10.
2244
- * // If the minimum value in 'column1' is 5, the bins will follow this pattern: "[5-14]", "[15-24]", etc.
2245
- * await table.bins("column1", 10, "bins");
2246
- * ```
2247
- *
2248
- * @example
2249
- * ```ts
2250
- * // Assigns bins starting at a specific value (0) with an interval of 10.
2251
- * // The bins will follow this pattern: "[0-9]", "[10-19]", "[20-29]", etc.
2252
- * await table.bins("column1", 10, "bins", { startValue: 0 });
2253
- * ```
2254
- */
2255
- bins(values: string, interval: number, newColumn: string, options?: {
2256
- startValue?: number;
2257
- }): Promise<void>;
2258
- /**
2259
- * Computes proportions horizontally across specified columns for each row.
2260
- *
2261
- * For example, given a table showing counts of men, women, and non-binary individuals per year:
2262
- *
2263
- * | Year | Men | Women | NonBinary |
2264
- * | :--- | :-- | :---- | :-------- |
2265
- * | 2021 | 564 | 685 | 145 |
2266
- * | 2022 | 354 | 278 | 56 |
2267
- * | 2023 | 856 | 321 | 221 |
2268
- *
2269
- * This method computes the proportion of men, women, and non-binary individuals on each row, adding new columns for these proportions.
2270
- *
2271
- * @example
2272
- * ```ts
2273
- * // Compute horizontal proportions for 'Men', 'Women', and 'NonBinary' columns, rounded to 2 decimal places
2274
- * await table.proportionsHorizontal(["Men", "Women", "NonBinary"], { decimals: 2 });
2275
- * ```
2276
- *
2277
- * The table will then look like this:
2278
- *
2279
- * | Year | Men | Women | NonBinary | MenPerc | WomenPerc | NonBinaryPerc |
2280
- * | :--- | :-- | :---- | :-------- | :------ | :-------- | :------------ |
2281
- * | 2021 | 564 | 685 | 145 | 0.4 | 0.49 | 0.10 |
2282
- * | 2022 | 354 | 278 | 56 | 0.51 | 0.4 | 0.08 |
2283
- * | 2023 | 856 | 321 | 221 | 0.61 | 0.23 | 0.16 |
2284
- *
2285
- * By default, the new columns will be named with a suffix of `"Perc"`. You can customize this suffix using the `suffix` option.
2286
- *
2287
- * @example
2288
- * ```ts
2289
- * // Compute horizontal proportions with a custom suffix "Prop"
2290
- * await table.proportionsHorizontal(["Men", "Women", "NonBinary"], { suffix: "Prop", decimals: 2 });
2291
- * ```
2292
- *
2293
- * The table will then look like this:
2294
- *
2295
- * | Year | Men | Women | NonBinary | MenProp | WomenProp | NonBinaryProp |
2296
- * | :--- | :-- | :---- | :-------- | :------ | :-------- | :------------ |
2297
- * | 2021 | 564 | 685 | 145 | 0.4 | 0.49 | 0.10 |
2298
- * | 2022 | 354 | 278 | 56 | 0.51 | 0.4 | 0.08 |
2299
- * | 2023 | 856 | 321 | 221 | 0.61 | 0.23 | 0.16 |
2300
- *
2301
- * @param columns - An array of column names for which proportions will be computed on each row.
2302
- * @param options - An optional object with configuration options:
2303
- * @param options.suffix - A string suffix to append to the names of the new columns storing the computed proportions. Defaults to `"Perc"`.
2304
- * @param options.decimals - The number of decimal places to round the computed proportions. Defaults to `undefined` (no rounding).
2305
- * @returns A promise that resolves when the horizontal proportions have been computed.
2306
- * @category Analyzing Data
2307
- */
2308
- proportionsHorizontal(columns: string[], options?: {
2309
- suffix?: string;
2310
- decimals?: number;
2311
- }): Promise<void>;
2312
- /**
2313
- * Computes proportions vertically over a column's values, relative to the sum of all values in that column (or within specified categories).
2314
- *
2315
- * @param column - The column containing values for which proportions will be computed. The proportions are calculated based on the sum of values in the specified column.
2316
- * @param newColumn - The name of the new column where the proportions will be stored.
2317
- * @param options - An optional object with configuration options:
2318
- * @param options.categories - The column name or an array of column names that define categories for computing proportions. Proportions will be calculated independently within each category.
2319
- * @param options.decimals - The number of decimal places to round the computed proportions. Defaults to `undefined` (no rounding).
2320
- * @returns A promise that resolves when the vertical proportions have been computed.
2321
- * @category Analyzing Data
2322
- *
2323
- * @example
2324
- * ```ts
2325
- * // Add a new column 'perc' with each 'column1' value divided by the sum of all 'column1' values
2326
- * await table.proportionsVertical("column1", "perc");
2327
- * ```
2328
- *
2329
- * @example
2330
- * ```ts
2331
- * // Compute proportions for 'column1' within 'column2' categories, rounded to two decimal places
2332
- * await table.proportionsVertical("column1", "perc", { categories: "column2", decimals: 2 });
2333
- * ```
2334
- *
2335
- * @example
2336
- * ```ts
2337
- * // Compute proportions for 'sales' within 'region' and 'product_type' categories
2338
- * await table.proportionsVertical("sales", "sales_proportion", { categories: ["region", "product_type"] });
2339
- * ```
2340
- */
2341
- proportionsVertical(column: string, newColumn: string, options?: {
2342
- categories?: string | string[];
2343
- decimals?: number;
2344
- }): Promise<void>;
2345
- /**
2346
- * Creates a summary table based on specified values, categories, and summary operations.
2347
- * This method allows you to aggregate data, calculate statistics (e.g., count, mean, sum), and group results by categorical columns.
2348
- *
2349
- * @param options - An object with configuration options for summarization:
2350
- * @param options.values - The column name or an array of column names whose values will be summarized. If omitted, all columns will be summarized.
2351
- * @param options.categories - The column name or an array of column names that define categories for the summarization. Results will be grouped by these categories.
2352
- * @param options.summaries - The summary operations to be performed. Can be a single operation (e.g., `"mean"`), an array of operations (e.g., `["min", "max"]`), or an object mapping new column names to operations (e.g., `{ avgSalary: "mean" }`). Supported operations include: `"count"`, `"countUnique"`, `"countNull"`, `"min"`, `"max"`, `"mean"`, `"median"`, `"sum"`, `"skew"`, `"stdDev"`, `"var"`.
2353
- * @param options.decimals - The number of decimal places to round the summarized values. Defaults to `undefined` (no rounding).
2354
- * @param options.outputTable - If `true`, the results will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be overwritten. Defaults to `false`.
2355
- * @param options.toMs - If `true`, timestamps, dates, and times will be converted to milliseconds before summarizing. This is useful when summarizing mixed data types (numbers and dates) as values must be of the same type for aggregation.
2356
- * @param options.noColumnValue - If `true`, the default `value` column will be removed. This option only works when summarizing a single column without categories. Defaults to `false`.
2357
- * @returns A promise that resolves to a table instance containing the summarized data (either the modified current table or a new table).
2358
- * @category Analyzing Data
2359
- *
2360
- * @example
2361
- * ```ts
2362
- * // Summarize all columns with all available summary operations, overwriting the current table
2363
- * const columns = await table.getColumns();
2364
- * await table.summarize({ values: columns });
2365
- * ```
2366
- *
2367
- * @example
2368
- * ```ts
2369
- * // Summarize all columns and store the results in a new table with a generated name
2370
- * const columns = await table.getColumns();
2371
- * const summaryTable = await table.summarize({ values: columns, outputTable: true });
2372
- * ```
2373
- *
2374
- * @example
2375
- * ```ts
2376
- * // Summarize all columns and store the results in a new table named 'mySummary'
2377
- * const columns = await table.getColumns();
2378
- * const mySummaryTable = await table.summarize({ values: columns, outputTable: "mySummary" });
2379
- * ```
2380
- *
2381
- * @example
2382
- * ```ts
2383
- * // Summarize a single column ('sales') with all available summary operations
2384
- * await table.summarize({ values: "sales" });
2385
- * ```
2386
- *
2387
- * @example
2388
- * ```ts
2389
- * // Summarize multiple columns ('sales' and 'profit') with all available summary operations
2390
- * await table.summarize({ values: ["sales", "profit"] });
2391
- * ```
2392
- *
2393
- * @example
2394
- * ```ts
2395
- * // Summarize 'sales' by 'region' (single category)
2396
- * await table.summarize({ values: "sales", categories: "region" });
2397
- * ```
2398
- *
2399
- * @example
2400
- * ```ts
2401
- * // Summarize 'sales' by 'region' and 'product_type' (multiple categories)
2402
- * await table.summarize({ values: "sales", categories: ["region", "product_type"] });
2403
- * ```
2404
- *
2405
- * @example
2406
- * ```ts
2407
- * // Summarize 'sales' by 'region' with a specific summary operation (mean)
2408
- * await table.summarize({ values: "sales", categories: "region", summaries: "mean" });
2409
- * ```
2410
- *
2411
- * @example
2412
- * ```ts
2413
- * // Summarize 'sales' by 'region' with specific summary operations (mean and sum)
2414
- * await table.summarize({ values: "sales", categories: "region", summaries: ["mean", "sum"] });
2415
- * ```
2416
- *
2417
- * @example
2418
- * ```ts
2419
- * // Summarize 'sales' by 'region' with custom named summary operations
2420
- * await table.summarize({ values: "sales", categories: "region", summaries: { averageSales: "mean", totalSales: "sum" } });
2421
- * ```
2422
- *
2423
- * @example
2424
- * ```ts
2425
- * // Summarize 'price' and 'cost', rounding aggregated values to 2 decimal places
2426
- * await table.summarize({ values: ["price", "cost"], decimals: 2 });
2427
- * ```
2428
- *
2429
- * @example
2430
- * ```ts
2431
- * // Summarize 'timestamp_column' by converting to milliseconds first
2432
- * await table.summarize({ values: "timestamp_column", toMs: true, summaries: "mean" });
2433
- * ```
2434
- *
2435
- * @example
2436
- * ```ts
2437
- * // Summarize a single column 'value_column' without the default 'value' column in the output
2438
- * await table.summarize({ values: "value_column", noColumnValue: true });
2439
- * ```
2440
- */
2441
- summarize(options?: {
2442
- values?: string | string[];
2443
- categories?: string | string[];
2444
- summaries?: ("count" | "countUnique" | "countNull" | "min" | "max" | "mean" | "median" | "sum" | "skew" | "stdDev" | "var") | ("count" | "countUnique" | "countNull" | "min" | "max" | "mean" | "median" | "sum" | "skew" | "stdDev" | "var")[] | {
2445
- [key: string]: "count" | "countUnique" | "countNull" | "min" | "max" | "mean" | "median" | "sum" | "skew" | "stdDev" | "var";
2446
- };
2447
- decimals?: number;
2448
- outputTable?: string | boolean;
2449
- toMs?: boolean;
2450
- noColumnValue?: boolean;
2451
- }): Promise<this>;
2452
- /**
2453
- * Computes the cumulative sum of values in a column. For this method to work properly, ensure your data is sorted first.
2454
- *
2455
- * @param column - The name of the column storing the values to be accumulated.
2456
- * @param newColumn - The name of the new column in which the computed cumulative values will be stored.
2457
- * @param options - An optional object with configuration options:
2458
- * @param options.categories - The column name or an array of column names that define categories for the accumulation. Accumulation will be performed independently within each category.
2459
- * @returns A promise that resolves when the cumulative sum has been computed.
2460
- * @category Analyzing Data
2461
- *
2462
- * @example
2463
- * ```ts
2464
- * // Compute the cumulative sum of 'sales' in a new 'cumulativeSales' column
2465
- * // Ensure the table is sorted by a relevant column (e.g., date) before calling this method.
2466
- * await table.accumulate("sales", "cumulativeSales");
2467
- * ```
2468
- *
2469
- * @example
2470
- * ```ts
2471
- * // Compute the cumulative sum of 'orders' within 'customer_id' categories
2472
- * // Ensure the table is sorted by 'customer_id' and then by a relevant order column (e.g., order_date).
2473
- * await table.accumulate("orders", "cumulativeOrders", { categories: "customer_id" });
2474
- * ```
2475
- *
2476
- * @example
2477
- * ```ts
2478
- * // Compute the cumulative sum of 'revenue' within 'region' and 'product_category' categories
2479
- * await table.accumulate("revenue", "cumulativeRevenue", { categories: ["region", "product_category"] });
2480
- * ```
2481
- */
2482
- accumulate(column: string, newColumn: string, options?: {
2483
- categories?: string | string[];
2484
- }): Promise<void>;
2485
- /**
2486
- * Computes rolling aggregations (e.g., rolling average, min, max) over a specified column.
2487
- * For rows without enough preceding or following rows to form a complete window, `NULL` will be returned.
2488
- * For this method to work properly, ensure your data is sorted by the relevant column(s) first.
2489
- *
2490
- * @param column - The name of the column storing the values to be aggregated.
2491
- * @param newColumn - The name of the new column in which the computed rolling values will be stored.
2492
- * @param summary - The aggregation function to apply: `"min"`, `"max"`, `"mean"`, `"median"`, or `"sum"`.
2493
- * @param preceding - The number of preceding rows to include in the rolling window.
2494
- * @param following - The number of following rows to include in the rolling window.
2495
- * @param options - An optional object with configuration options:
2496
- * @param options.categories - The column name or an array of column names that define categories for the aggregation. Rolling aggregations will be computed independently within each category.
2497
- * @param options.decimals - The number of decimal places to round the aggregated values. Defaults to `undefined` (no rounding).
2498
- * @returns A promise that resolves when the rolling aggregation is complete.
2499
- * @category Analyzing Data
2500
- *
2501
- * @example
2502
- * ```ts
2503
- * // Compute a 7-day rolling average of 'sales' with 3 preceding and 3 following rows
2504
- * // (total window size of 7: 3 preceding + current + 3 following)
2505
- * await table.rolling("sales", "rollingAvgSales", "mean", 3, 3);
2506
- * ```
2507
- *
2508
- * @example
2509
- * ```ts
2510
- * // Compute a rolling sum of 'transactions' within 'customer_id' categories
2511
- * await table.rolling("transactions", "rollingSumTransactions", "sum", 5, 0, { categories: "customer_id" });
2512
- * ```
2513
- *
2514
- * @example
2515
- * ```ts
2516
- * // Compute a rolling maximum of 'temperature' rounded to 1 decimal place
2517
- * await table.rolling("temperature", "rollingMaxTemp", "max", 2, 2, { decimals: 1 });
2518
- * ```
2519
- */
2520
- rolling(column: string, newColumn: string, summary: "min" | "max" | "mean" | "median" | "sum", preceding: number, following: number, options?: {
2521
- categories?: string | string[];
2522
- decimals?: number;
2523
- }): Promise<void>;
2524
- /**
2525
- * Calculates correlations between columns. If no `x` and `y` columns are specified, the method computes the correlations for all numeric column combinations.
2526
- * Note that correlation is symmetrical: the correlation of `x` with `y` is the same as `y` with `x`.
2527
- *
2528
- * @param options - An optional object with configuration options:
2529
- * @param options.x - The name of the column for the x-values. If omitted, correlations will be computed for all numeric columns.
2530
- * @param options.y - The name of the column for the y-values. If omitted, correlations will be computed for all numeric columns.
2531
- * @param options.categories - The column name or an array of column names that define categories. Correlation calculations will be performed independently for each category.
2532
- * @param options.decimals - The number of decimal places to round the correlation values. Defaults to `undefined` (no rounding).
2533
- * @param options.outputTable - If `true`, the results will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be overwritten. Defaults to `false`.
2534
- * @returns A promise that resolves to a table instance containing the correlation results (either the modified current table or a new table).
2535
- * @category Analyzing Data
2536
- *
2537
- * @example
2538
- * ```ts
2539
- * // Compute correlations between all numeric columns, overwriting the current table
2540
- * await table.correlations();
2541
- * ```
2542
- *
2543
- * @example
2544
- * ```ts
2545
- * // Compute correlations between 'column1' and all other numeric columns
2546
- * await table.correlations({ x: "column1" });
2547
- * ```
2548
- *
2549
- * @example
2550
- * ```ts
2551
- * // Compute the correlation between 'column1' and 'column2'
2552
- * await table.correlations({ x: "column1", y: "column2" });
2553
- * ```
2554
- *
2555
- * @example
2556
- * ```ts
2557
- * // Compute correlations within 'categoryColumn' and store results in a new table
2558
- * const correlationTable = await table.correlations({ categories: "categoryColumn", outputTable: true });
2559
- * ```
2560
- *
2561
- * @example
2562
- * ```ts
2563
- * // Compute correlations, rounded to 2 decimal places
2564
- * await table.correlations({ decimals: 2 });
2565
- * ```
2566
- */
2567
- correlations(options?: {
2568
- x?: string;
2569
- y?: string;
2570
- categories?: string | string[];
2571
- decimals?: number;
2572
- outputTable?: string | boolean;
2573
- }): Promise<this>;
2574
- /**
2575
- * Performs linear regression analysis. The results include the slope, the y-intercept, and the R-squared value.
2576
- * If no `x` and `y` columns are specified, the method computes linear regression analysis for all numeric column permutations.
2577
- * Note that linear regression analysis is asymmetrical: the linear regression of `x` over `y` is not the same as `y` over `x`.
2578
- *
2579
- * @param options - An optional object with configuration options:
2580
- * @param options.x - The name of the column for the independent variable (x-values). If omitted, linear regressions will be computed for all numeric columns as x.
2581
- * @param options.y - The name of the column for the dependent variable (y-values). If omitted, linear regressions will be computed for all numeric columns as y.
2582
- * @param options.categories - The column name or an array of column names that define categories. Linear regression analysis will be performed independently for each category.
2583
- * @param options.decimals - The number of decimal places to round the regression values (slope, intercept, r-squared). Defaults to `undefined` (no rounding).
2584
- * @param options.outputTable - If `true`, the results will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be overwritten. Defaults to `false`.
2585
- * @returns A promise that resolves to a table instance containing the linear regression results (either the modified current table or a new table).
2586
- * @category Analyzing Data
2587
- *
2588
- * @example
2589
- * ```ts
2590
- * // Compute all linear regressions between all numeric columns, overwriting the current table
2591
- * await table.linearRegressions();
2592
- * ```
2593
- *
2594
- * @example
2595
- * ```ts
2596
- * // Compute linear regressions with 'column1' as the independent variable and all other numeric columns as dependent variables
2597
- * await table.linearRegressions({ x: "column1" });
2598
- * ```
2599
- *
2600
- * @example
2601
- * ```ts
2602
- * // Compute the linear regression of 'sales' (y) over 'advertising' (x)
2603
- * await table.linearRegressions({ x: "advertising", y: "sales" });
2604
- * ```
2605
- *
2606
- * @example
2607
- * ```ts
2608
- * // Compute linear regressions within 'region' categories and store results in a new table
2609
- * const regressionTable = await table.linearRegressions({ categories: "region", outputTable: true });
2610
- * ```
2611
- *
2612
- * @example
2613
- * ```ts
2614
- * // Compute linear regressions, rounded to 3 decimal places
2615
- * await table.linearRegressions({ decimals: 3 });
2616
- * ```
2617
- */
2618
- linearRegressions(options?: {
2619
- x?: string;
2620
- y?: string;
2621
- categories?: string | string[];
2622
- decimals?: number;
2623
- outputTable?: string | boolean;
2624
- }): Promise<this>;
2625
- /**
2626
- * Identifies outliers in a specified column using the Interquartile Range (IQR) method.
2627
- *
2628
- * @param column - The name of the column in which outliers will be identified.
2629
- * @param newColumn - The name of the new column where the boolean results (`TRUE` for outlier, `FALSE` otherwise) will be stored.
2630
- * @param options - An optional object with configuration options:
2631
- * @param options.categories - The column name or an array of column names that define categories. Outlier detection will be performed independently within each category.
2632
- * @returns A promise that resolves when the outliers have been identified.
2633
- * @category Analyzing Data
2634
- *
2635
- * @example
2636
- * ```ts
2637
- * // Look for outliers in the 'age' column and store results in a new 'isOutlier' column
2638
- * await table.outliersIQR("age", "isOutlier");
2639
- * ```
2640
- *
2641
- * @example
2642
- * ```ts
2643
- * // Look for outliers in 'salary' within 'gender' categories
2644
- * await table.outliersIQR("salary", "salaryOutlier", { categories: "gender" });
2645
- * ```
2646
- */
2647
- outliersIQR(column: string, newColumn: string, options?: {
2648
- categories?: string | string[];
2649
- }): Promise<void>;
2650
- /**
2651
- * Computes the Z-score for values in a specified column.
2652
- *
2653
- * @param column - The name of the column for which Z-scores will be calculated.
2654
- * @param newColumn - The name of the new column where the computed Z-scores will be stored.
2655
- * @param options - An optional object with configuration options:
2656
- * @param options.categories - The column name or an array of column names that define categories. Z-scores will be calculated independently within each category.
2657
- * @param options.decimals - The number of decimal places to round the Z-score values. Defaults to `undefined` (no rounding).
2658
- * @returns A promise that resolves when the Z-scores have been computed.
2659
- * @category Analyzing Data
2660
- *
2661
- * @example
2662
- * ```ts
2663
- * // Calculate the Z-score for 'age' values and store results in a new 'ageZScore' column
2664
- * await table.zScore("age", "ageZScore");
2665
- * ```
2666
- *
2667
- * @example
2668
- * ```ts
2669
- * // Calculate Z-scores for 'salary' within 'department' categories
2670
- * await table.zScore("salary", "salaryZScore", { categories: "department" });
2671
- * ```
2672
- *
2673
- * @example
2674
- * ```ts
2675
- * // Calculate Z-scores for 'score', rounded to 2 decimal places
2676
- * await table.zScore("score", "scoreZScore", { decimals: 2 });
2677
- * ```
2678
- */
2679
- zScore(column: string, newColumn: string, options?: {
2680
- categories?: string | string[];
2681
- decimals?: number;
2682
- }): Promise<void>;
2683
- /**
2684
- * Normalizes the values in a column using min-max normalization.
2685
- *
2686
- * @param column - The name of the column in which values will be normalized.
2687
- * @param newColumn - The name of the new column where normalized values will be stored.
2688
- * @param options - An optional object with configuration options:
2689
- * @param options.categories - The column name or an array of column names that define categories for the normalization. Normalization will be performed independently within each category.
2690
- * @param options.decimals - The number of decimal places to round the normalized values. Defaults to `undefined` (no rounding).
2691
- * @returns A promise that resolves when the values have been normalized.
2692
- * @category Analyzing Data
2693
- *
2694
- * @example
2695
- * ```ts
2696
- * // Normalize the values in 'column1' and store them in a new 'normalizedColumn1' column
2697
- * await table.normalize("column1", "normalizedColumn1");
2698
- * ```
2699
- *
2700
- * @example
2701
- * ```ts
2702
- * // Normalize 'value' within 'group' categories
2703
- * await table.normalize("value", "normalizedValue", { categories: "group" });
2704
- * ```
2705
- *
2706
- * @example
2707
- * ```ts
2708
- * // Normalize 'data' values, rounded to 2 decimal places
2709
- * await table.normalize("data", "normalizedData", { decimals: 2 });
2710
- * ```
2711
- */
2712
- normalize(column: string, newColumn: string, options?: {
2713
- categories?: string | string[];
2714
- decimals?: number;
2715
- }): Promise<void>;
2716
- /**
2717
- * Updates data in the table using a JavaScript function. The function receives the existing rows as an array of objects and must return the modified rows as an array of objects.
2718
- * This method offers high flexibility for data manipulation but can be slow for large tables as it involves transferring data between DuckDB and JavaScript.
2719
- * This method does not work with tables containing geometries.
2720
- *
2721
- * @param dataModifier - A synchronous or asynchronous function that takes the existing rows (as an array of objects) and returns the modified rows (as an array of objects).
2722
- * @returns A promise that resolves when the data has been updated.
2723
- * @category Updating Data
2724
- *
2725
- * @example
2726
- * ```ts
2727
- * // Add 1 to values in 'column1'. If values are not numbers, they are replaced by null.
2728
- * await table.updateWithJS((rows) => {
2729
- * const modifiedRows = rows.map(d => ({
2730
- * ...d,
2731
- * column1: typeof d.column1 === "number" ? d.column1 + 1 : null,
2732
- * }));
2733
- * return modifiedRows;
2734
- * });
2735
- * ```
2736
- *
2737
- * @example
2738
- * ```ts
2739
- * // Convert a date string to a Date object in 'dateColumn'
2740
- * await table.updateWithJS((rows) => {
2741
- * const modifiedRows = rows.map(d => ({
2742
- * ...d,
2743
- * dateColumn: typeof d.dateColumn === "string" ? new Date(d.dateColumn) : d.dateColumn,
2744
- * }));
2745
- * return modifiedRows;
2746
- * });
2747
- * ```
2748
- */
2749
- updateWithJS(dataModifier: ((rows: {
2750
- [key: string]: number | string | Date | boolean | null;
2751
- }[]) => Promise<{
2752
- [key: string]: number | string | Date | boolean | null;
2753
- }[]>) | ((rows: {
2754
- [key: string]: number | string | Date | boolean | null;
2755
- }[]) => {
2756
- [key: string]: number | string | Date | boolean | null;
2757
- }[])): Promise<void>;
2758
- /**
2759
- * Returns the schema of the table, including column names and their data types.
2760
- *
2761
- * @returns A promise that resolves to an array of objects, where each object represents a column with its name and data type.
2762
- * @category Getting Data
2763
- *
2764
- * @example
2765
- * ```ts
2766
- * // Get the schema of the table
2767
- * const schema = await table.getSchema();
2768
- * console.table(schema); // Log the schema in a readable table format
2769
- * ```
2770
- */
2771
- getSchema(): Promise<{
2772
- [key: string]: string | null;
2773
- }[]>;
2774
- /**
2775
- * Returns descriptive statistical information about the columns, including details like data types, number of null values, and distinct values.
2776
- *
2777
- * @returns A promise that resolves to an array of objects, each representing descriptive statistics for a column.
2778
- * @category Getting Data
2779
- *
2780
- * @example
2781
- * ```ts
2782
- * // Get and log descriptive information about the table's columns
2783
- * const description = await table.getDescription();
2784
- * console.table(description);
2785
- * ```
2786
- */
2787
- getDescription(): Promise<{
2788
- [key: string]: unknown;
2789
- }[]>;
2790
- /**
2791
- * Returns the name of the table.
2792
- *
2793
- * @returns The name of the table as a string.
2794
- * @category Getting Data
2795
- *
2796
- * @example
2797
- * ```ts
2798
- * // Get the table name
2799
- * const tableName = table.getTableName();
2800
- * console.log(tableName); // e.g., "employees"
2801
- * ```
2802
- */
2803
- getTableName(): string;
2804
- /**
2805
- * Returns a list of all column names in the table.
2806
- *
2807
- * @returns A promise that resolves to an array of strings, where each string is a column name.
2808
- * @category Getting Data
2809
- *
2810
- * @example
2811
- * ```ts
2812
- * // Get all column names from the table
2813
- * const columns = await table.getColumns();
2814
- * console.log(columns); // e.g., ["id", "name", "age"]
2815
- * ```
2816
- */
2817
- getColumns(): Promise<string[]>;
2818
- /**
2819
- * Normalizes string values in a column by:
2820
- * 1. Stripping accents
2821
- * 2. Optionally stripping punctuation (default: true)
2822
- * 3. Converting to lowercase
2823
- * 4. Normalizing whitespace (multiple spaces/tabs/newlines → single space)
2824
- * 5. Trimming leading/trailing whitespace
2825
- *
2826
- * Produces identical output to `journalism-format`'s `normalizeString()` function
2827
- * for all common cases including accented Latin characters.
2828
- *
2829
- * @param column The column containing the text to normalize
2830
- * @param newColumn The column to store the normalized results
2831
- * @param options Configuration options
2832
- * @param options.stripPunctuation Strip punctuation and underscores (default: true)
2833
- *
2834
- * @returns A promise that resolves when the operation is complete
2835
- *
2836
- * @example
2837
- * ```ts
2838
- * // Normalize text column and store in new column
2839
- * await table.normalizeString("recipeName", "recipeNameNormalized");
2840
- * // "Épicerie Parisienne!" → "epicerie parisienne"
2841
- * ```
2842
- *
2843
- * @example
2844
- * ```ts
2845
- * // Keep punctuation for emails and URLs
2846
- * await table.normalizeString("email", "emailNormalized", { stripPunctuation: false });
2847
- * // "User@Example.com" → "user@example.com"
2848
- * await table.normalizeString("url", "urlNormalized", { stripPunctuation: false });
2849
- * // "https://Example.com/path" → "https://example.com/path"
2850
- * ```
2851
- *
2852
- * @category Text Processing
2853
- */
2854
- normalizeString(column: string, newColumn: string, options?: {
2855
- stripPunctuation?: boolean;
2856
- }): Promise<void>;
2857
- /**
2858
- * Returns the number of columns in the table.
2859
- *
2860
- * @returns A promise that resolves to a number representing the total count of columns.
2861
- * @category Getting Data
2862
- *
2863
- * @example
2864
- * ```ts
2865
- * // Get the number of columns in the table
2866
- * const nbColumns = await table.getNbColumns();
2867
- * console.log(nbColumns); // e.g., 3
2868
- * ```
2869
- */
2870
- getNbColumns(): Promise<number>;
2871
- /**
2872
- * Returns the total number of characters in a column storing strings.
2873
- *
2874
- * @param column - The name of the string column to count characters from.
2875
- * @returns A promise that resolves to the total number of characters across all rows in the specified column.
2876
- * @category Getting Data
2877
- *
2878
- * @example
2879
- * ```ts
2880
- * // Get the total number of characters in the 'name' column
2881
- * const totalChars = await table.getNbCharacters("name");
2882
- * console.log(totalChars); // e.g., 523
2883
- * ```
2884
- */
2885
- getNbCharacters(column: string): Promise<number>;
2886
- /**
2887
- * Returns the number of rows in the table.
2888
- *
2889
- * @returns A promise that resolves to a number representing the total count of rows.
2890
- * @category Getting Data
2891
- *
2892
- * @example
2893
- * ```ts
2894
- * // Get the number of rows in the table
2895
- * const nbRows = await table.getNbRows();
2896
- * console.log(nbRows); // e.g., 100
2897
- * ```
2898
- */
2899
- getNbRows(): Promise<number>;
2900
- /**
2901
- * Returns the total number of values in the table (number of columns multiplied by the number of rows).
2902
- *
2903
- * @returns A promise that resolves to a number representing the total count of values.
2904
- * @category Getting Data
2905
- *
2906
- * @example
2907
- * ```ts
2908
- * // Get the total number of values in the table
2909
- * const nbValues = await table.getNbValues();
2910
- * console.log(nbValues); // e.g., 300 (if 3 columns and 100 rows)
2911
- * ```
2912
- */
2913
- getNbValues(): Promise<number>;
2914
- /**
2915
- * Returns the data types of all columns in the table.
2916
- *
2917
- * @returns A promise that resolves to an object where keys are column names and values are their corresponding data types (e.g., `{ "id": "BIGINT", "name": "VARCHAR" }`).
2918
- * @category Getting Data
2919
- *
2920
- * @example
2921
- * ```ts
2922
- * // Get the data types of all columns
2923
- * const dataTypes = await table.getTypes();
2924
- * console.log(dataTypes);
2925
- * ```
2926
- */
2927
- getTypes(): Promise<{
2928
- [key: string]: string;
2929
- }>;
2930
- /**
2931
- * Returns all values from a specific column.
2932
- *
2933
- * @param column - The name of the column from which to retrieve values.
2934
- * @returns A promise that resolves to an array containing all values from the specified column.
2935
- * @category Getting Data
2936
- *
2937
- * @example
2938
- * ```ts
2939
- * // Get all values from the 'productName' column
2940
- * const productNames = await table.getValues("productName");
2941
- * console.log(productNames); // e.g., ["Laptop", "Mouse", "Keyboard"]
2942
- * ```
2943
- */
2944
- getValues(column: string): Promise<(string | number | boolean | Date | null)[]>;
2945
- /**
2946
- * Returns the minimum value from a specific column.
2947
- *
2948
- * @param column - The name of the column from which to retrieve the minimum value.
2949
- * @returns A promise that resolves to the minimum value of the specified column.
2950
- * @category Getting Data
2951
- *
2952
- * @example
2953
- * ```ts
2954
- * // Get the minimum value from the 'price' column
2955
- * const minPrice = await table.getMin("price");
2956
- * console.log(minPrice); // e.g., 10.50
2957
- * ```
2958
- */
2959
- getMin(column: string): Promise<string | number | boolean | Date | null>;
2960
- /**
2961
- * Returns the maximum value from a specific column.
2962
- *
2963
- * @param column - The name of the column from which to retrieve the maximum value.
2964
- * @returns A promise that resolves to the maximum value of the specified column.
2965
- * @category Getting Data
2966
- *
2967
- * @example
2968
- * ```ts
2969
- * // Get the maximum value from the 'price' column
2970
- * const maxPrice = await table.getMax("price");
2971
- * console.log(maxPrice); // e.g., 99.99
2972
- * ```
2973
- */
2974
- getMax(column: string): Promise<string | number | boolean | Date | null>;
2975
- /**
2976
- * Returns the extent (minimum and maximum values) of a specific column as an array.
2977
- *
2978
- * @param column - The name of the column from which to retrieve the extent.
2979
- * @returns A promise that resolves to an array `[min, max]` containing the minimum and maximum values of the specified column.
2980
- * @category Getting Data
2981
- *
2982
- * @example
2983
- * ```ts
2984
- * // Get the extent of the 'temperature' column
2985
- * const tempExtent = await table.getExtent("temperature");
2986
- * console.log(tempExtent); // e.g., [15.2, 30.1]
2987
- * ```
2988
- */
2989
- getExtent(column: string): Promise<[
2990
- string | number | boolean | Date | null,
2991
- string | number | boolean | Date | null
2992
- ]>;
2993
- /**
2994
- * Returns the mean (average) value from a specific numeric column.
2995
- *
2996
- * @param column - The name of the numeric column from which to retrieve the mean value.
2997
- * @param options - An optional object with configuration options:
2998
- * @param options.decimals - The number of decimal places to round the result to. Defaults to `undefined` (no rounding).
2999
- * @returns A promise that resolves to the mean value of the specified column.
3000
- * @category Getting Data
3001
- *
3002
- * @example
3003
- * ```ts
3004
- * // Get the mean of the 'age' column
3005
- * const meanAge = await table.getMean("age");
3006
- * console.log(meanAge); // e.g., 35.75
3007
- * ```
3008
- *
3009
- * @example
3010
- * ```ts
3011
- * // Get the mean of the 'salary' column, rounded to 2 decimal places
3012
- * const meanSalary = await table.getMean("salary", { decimals: 2 });
3013
- * console.log(meanSalary); // e.g., 55000.23
3014
- * ```
3015
- */
3016
- getMean(column: string, options?: {
3017
- decimals?: number;
3018
- }): Promise<number>;
3019
- /**
3020
- * Returns the median value from a specific numeric column.
3021
- *
3022
- * @param column - The name of the numeric column from which to retrieve the median value.
3023
- * @param options - An optional object with configuration options:
3024
- * @param options.decimals - The number of decimal places to round the result to. Defaults to `undefined` (no rounding).
3025
- * @returns A promise that resolves to the median value of the specified column.
3026
- * @category Getting Data
3027
- *
3028
- * @example
3029
- * ```ts
3030
- * // Get the median of the 'age' column
3031
- * const medianAge = await table.getMedian("age");
3032
- * console.log(medianAge); // e.g., 30
3033
- * ```
3034
- *
3035
- * @example
3036
- * ```ts
3037
- * // Get the median of the 'salary' column, rounded to 2 decimal places
3038
- * const medianSalary = await table.getMedian("salary", { decimals: 2 });
3039
- * console.log(medianSalary); // e.g., 50000.00
3040
- * ```
3041
- */
3042
- getMedian(column: string, options?: {
3043
- decimals?: number;
3044
- }): Promise<number>;
3045
- /**
3046
- * Returns the sum of values from a specific numeric column.
3047
- *
3048
- * @param column - The name of the numeric column from which to retrieve the sum.
3049
- * @returns A promise that resolves to the sum of values in the specified column.
3050
- * @category Getting Data
3051
- *
3052
- * @example
3053
- * ```ts
3054
- * // Get the sum of the 'quantity' column
3055
- * const totalQuantity = await table.getSum("quantity");
3056
- * console.log(totalQuantity); // e.g., 1250
3057
- * ```
3058
- */
3059
- getSum(column: string): Promise<number>;
3060
- /**
3061
- * Returns the skewness of values from a specific numeric column.
3062
- *
3063
- * @param column - The name of the numeric column from which to retrieve the skewness.
3064
- * @param options - An optional object with configuration options:
3065
- * @param options.decimals - The number of decimal places to round the result to. Defaults to `undefined` (no rounding).
3066
- * @returns A promise that resolves to the skewness value of the specified column.
3067
- * @category Getting Data
3068
- *
3069
- * @example
3070
- * ```ts
3071
- * // Get the skewness of the 'data' column
3072
- * const dataSkew = await table.getSkew("data");
3073
- * console.log(dataSkew); // e.g., 0.5
3074
- * ```
3075
- *
3076
- * @example
3077
- * ```ts
3078
- * // Get the skewness of the 'values' column, rounded to 2 decimal places
3079
- * const valuesSkew = await table.getSkew("values", { decimals: 2 });
3080
- * console.log(valuesSkew); // e.g., -0.25
3081
- * ```
3082
- */
3083
- getSkew(column: string, options?: {
3084
- decimals?: number;
3085
- }): Promise<number>;
3086
- /**
3087
- * Returns the standard deviation of values from a specific numeric column.
3088
- *
3089
- * @param column - The name of the numeric column from which to retrieve the standard deviation.
3090
- * @param options - An optional object with configuration options:
3091
- * @param options.decimals - The number of decimal places to round the result to. Defaults to `undefined` (no rounding).
3092
- * @returns A promise that resolves to the standard deviation value of the specified column.
3093
- * @category Getting Data
3094
- *
3095
- * @example
3096
- * ```ts
3097
- * // Get the standard deviation of the 'height' column
3098
- * const heightStdDev = await table.getStdDev("height");
3099
- * console.log(heightStdDev); // e.g., 5.2
3100
- * ```
3101
- *
3102
- * @example
3103
- * ```ts
3104
- * // Get the standard deviation of the 'score' column, rounded to 3 decimal places
3105
- * const scoreStdDev = await table.getStdDev("score", { decimals: 3 });
3106
- * console.log(scoreStdDev); // e.g., 12.345
3107
- * ```
3108
- */
3109
- getStdDev(column: string, options?: {
3110
- decimals?: number;
3111
- }): Promise<number>;
3112
- /**
3113
- * Returns the variance of values from a specific numeric column.
3114
- *
3115
- * @param column - The name of the numeric column from which to retrieve the variance.
3116
- * @param options - An optional object with configuration options:
3117
- * @param options.decimals - The number of decimal places to round the result to. Defaults to `undefined` (no rounding).
3118
- * @returns A promise that resolves to the variance value of the specified column.
3119
- * @category Getting Data
3120
- *
3121
- * @example
3122
- * ```ts
3123
- * // Get the variance of the 'data' column
3124
- * const dataVariance = await table.getVar("data");
3125
- * console.log(dataVariance); // e.g., 25.5
3126
- * ```
3127
- *
3128
- * @example
3129
- * ```ts
3130
- * // Get the variance of the 'values' column, rounded to 2 decimal places
3131
- * const valuesVariance = await table.getVar("values", { decimals: 2 });
3132
- * console.log(valuesVariance); // e.g., 10.23
3133
- * ```
3134
- */
3135
- getVar(column: string, options?: {
3136
- decimals?: number;
3137
- }): Promise<number>;
3138
- /**
3139
- * Returns the value of a specific quantile from the values in a given numeric column.
3140
- *
3141
- * @param column - The name of the numeric column from which to calculate the quantile.
3142
- * @param quantile - The quantile to calculate, expressed as a number between 0 and 1 (e.g., `0.25` for the first quartile, `0.5` for the median, `0.75` for the third quartile).
3143
- * @param options - An optional object with configuration options:
3144
- * @param options.decimals - The number of decimal places to round the result to. Defaults to `undefined` (no rounding).
3145
- * @returns A promise that resolves to the quantile value of the specified column.
3146
- * @category Getting Data
3147
- *
3148
- * @example
3149
- * ```ts
3150
- * // Get the first quartile (25th percentile) of 'column1'
3151
- * const firstQuartile = await table.getQuantile("column1", 0.25);
3152
- * console.log(firstQuartile); // e.g., 15.7
3153
- * ```
3154
- *
3155
- * @example
3156
- * ```ts
3157
- * // Get the 90th percentile of 'score' values, rounded to 2 decimal places
3158
- * const ninetiethPercentile = await table.getQuantile("score", 0.9, { decimals: 2 });
3159
- * console.log(ninetiethPercentile); // e.g., 88.55
3160
- * ```
3161
- */
3162
- getQuantile(column: string, quantile: number, options?: {
3163
- decimals?: number;
3164
- }): Promise<number>;
3165
- /**
3166
- * Returns unique values from a specific column. The values are returned in ascending order.
3167
- *
3168
- * @param column - The name of the column from which to retrieve unique values.
3169
- * @returns A promise that resolves to an array containing the unique values from the specified column, sorted in ascending order.
3170
- * @category Getting Data
3171
- *
3172
- * @example
3173
- * ```ts
3174
- * // Get unique values from the 'category' column
3175
- * const uniqueCategories = await table.getUniques("category");
3176
- * console.log(uniqueCategories); // e.g., ["Books", "Clothing", "Electronics"]
3177
- * ```
3178
- */
3179
- getUniques(column: string): Promise<(string | number | boolean | Date | null)[]>;
3180
- /**
3181
- * Returns the first row of the table, optionally filtered by SQL conditions.
3182
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
3183
- *
3184
- * @param options - An optional object with configuration options:
3185
- * @param options.conditions - The filtering conditions specified as a SQL `WHERE` clause (e.g., `"category = 'Book'"`).
3186
- * @returns A promise that resolves to an object representing the first row, or `null` if no rows match the conditions.
3187
- * @category Getting Data
3188
- *
3189
- * @example
3190
- * ```ts
3191
- * // Get the very first row of the table
3192
- * const firstRow = await table.getFirstRow();
3193
- * console.log(firstRow);
3194
- * ```
3195
- *
3196
- * @example
3197
- * ```ts
3198
- * // Get the first row where the 'category' is 'Book'
3199
- * const firstRowBooks = await table.getFirstRow({ conditions: `category === 'Book'` }); // Using JS syntax
3200
- * console.log(firstRowBooks);
3201
- * ```
3202
- */
3203
- getFirstRow(options?: {
3204
- conditions?: string;
3205
- }): Promise<{
3206
- [key: string]: string | number | boolean | Date | null;
3207
- }>;
3208
- /**
3209
- * Returns the last row of the table, optionally filtered by SQL conditions.
3210
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
3211
- *
3212
- * @param options - An optional object with configuration options:
3213
- * @param options.conditions - The filtering conditions specified as a SQL `WHERE` clause (e.g., `"category = 'Book'"`).
3214
- * @returns A promise that resolves to an object representing the last row, or `null` if no rows match the conditions.
3215
- * @category Getting Data
3216
- *
3217
- * @example
3218
- * ```ts
3219
- * // Get the very last row of the table
3220
- * const lastRow = await table.getLastRow();
3221
- * console.log(lastRow);
3222
- * ```
3223
- *
3224
- * @example
3225
- * ```ts
3226
- * // Get the last row where the 'category' is 'Book'
3227
- * const lastRowBooks = await table.getLastRow({ conditions: `category === 'Book'` }); // Using JS syntax
3228
- * console.log(lastRowBooks);
3229
- * ```
3230
- */
3231
- getLastRow(options?: {
3232
- conditions?: string;
3233
- }): Promise<{
3234
- [key: string]: string | number | boolean | Date | null;
3235
- }>;
3236
- /**
3237
- * Returns the top `n` rows of the table, optionally filtered by SQL conditions.
3238
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
3239
- *
3240
- * @param count - The number of rows to return from the top of the table.
3241
- * @param options - An optional object with configuration options:
3242
- * @param options.conditions - The filtering conditions specified as a SQL `WHERE` clause (e.g., `"category = 'Books'"`).
3243
- * @returns A promise that resolves to an array of objects representing the top `n` rows.
3244
- * @category Getting Data
3245
- *
3246
- * @example
3247
- * ```ts
3248
- * // Get the first 10 rows of the table
3249
- * const top10 = await table.getTop(10);
3250
- * console.log(top10);
3251
- * ```
3252
- *
3253
- * @example
3254
- * ```ts
3255
- * // Get the first 5 rows where the 'category' is 'Books'
3256
- * const top5Books = await table.getTop(5, { conditions: `category === 'Books'` }); // Using JS syntax
3257
- * console.log(top5Books);
3258
- * ```
3259
- */
3260
- getTop(count: number, options?: {
3261
- conditions?: string;
3262
- }): Promise<{
3263
- [key: string]: string | number | boolean | Date | null;
3264
- }[]>;
3265
- /**
3266
- * Returns the bottom `n` rows of the table, optionally filtered by SQL conditions.
3267
- * By default, the last row will be returned first. To preserve the original order, use the `originalOrder` option.
3268
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
3269
- *
3270
- * @param count - The number of rows to return from the bottom of the table.
3271
- * @param options - An optional object with configuration options:
3272
- * @param options.originalOrder - A boolean indicating whether the rows should be returned in their original order (`true`) or in reverse order (last row first, `false`). Defaults to `false`.
3273
- * @param options.conditions - The filtering conditions specified as a SQL `WHERE` clause (e.g., `"category = 'Books'"`).
3274
- * @returns A promise that resolves to an array of objects representing the bottom `n` rows.
3275
- * @category Getting Data
3276
- *
3277
- * @example
3278
- * ```ts
3279
- * // Get the last 10 rows (last row first)
3280
- * const bottom10 = await table.getBottom(10);
3281
- * console.log(bottom10);
3282
- * ```
3283
- *
3284
- * @example
3285
- * ```ts
3286
- * // Get the last 10 rows in their original order
3287
- * const bottom10OriginalOrder = await table.getBottom(10, { originalOrder: true });
3288
- * console.log(bottom10OriginalOrder);
3289
- * ```
3290
- *
3291
- * @example
3292
- * ```ts
3293
- * // Get the last 5 rows where the 'category' is 'Books' (using JS syntax)
3294
- * const bottom5Books = await table.getBottom(5, { conditions: `category === 'Books'` });
3295
- * console.log(bottom5Books);
3296
- * ```
3297
- */
3298
- getBottom(count: number, options?: {
3299
- originalOrder?: boolean;
3300
- conditions?: string;
3301
- }): Promise<{
3302
- [key: string]: string | number | boolean | Date | null;
3303
- }[]>;
3304
- /**
3305
- * Returns a single row that matches the specified conditions. If no row matches or if more than one row matches, an error is thrown by default.
3306
- * You can also use JavaScript syntax for conditions (e.g., `AND`, `||`, `===`, `!==`).
3307
- *
3308
- * @param conditions - The conditions to match, specified as a SQL `WHERE` clause.
3309
- * @param options - Optional settings:
3310
- * @param options.noCheck - If `true`, no error will be thrown when no row or more than one row match the condition. Defaults to `false`.
3311
- * @returns A promise that resolves to an object representing the matched row.
3312
- * @throws {Error} If `noCheck` is `false` and no row or more than one row matches the conditions.
3313
- * @category Getting Data
3314
- *
3315
- * @example
3316
- * ```ts
3317
- * // Get a row where 'name' is 'John'
3318
- * const johnsRow = await table.getRow(`name = 'John'`);
3319
- * console.log(johnsRow);
3320
- * ```
3321
- *
3322
- * @example
3323
- * ```ts
3324
- * // Get a row where 'id' is 123 (using JS syntax)
3325
- * const rowById = await table.getRow(`id === 123`);
3326
- * console.log(rowById);
3327
- * ```
3328
- *
3329
- * @example
3330
- * ```ts
3331
- * // Get a row without throwing an error if multiple matches or no match
3332
- * const flexibleRow = await table.getRow(`status = 'pending'`, { noCheck: true });
3333
- * console.log(flexibleRow);
3334
- * ```
3335
- */
3336
- getRow(conditions: string, options?: {
3337
- noCheck?: boolean;
3338
- }): Promise<{
3339
- [key: string]: string | number | boolean | Date | null;
3340
- } | undefined>;
3341
- /**
3342
- * Returns the data from the table as an array of objects, optionally filtered by SQL conditions.
3343
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
3344
- *
3345
- * @param options - An optional object with configuration options:
3346
- * @param options.columns - An array of column names to include in the result. If omitted, all columns will be included.
3347
- * @param options.conditions - The filtering conditions specified as a SQL `WHERE` clause (e.g., `"category = 'Book'"`).
3348
- * @returns A promise that resolves to an array of objects, where each object represents a row in the table.
3349
- * @category Getting Data
3350
- *
3351
- * @example
3352
- * ```ts
3353
- * // Get all data from the table
3354
- * const allData = await table.getData();
3355
- * console.log(allData);
3356
- * ```
3357
- *
3358
- * @example
3359
- * ```ts
3360
- * // Get data filtered by a condition (using JS or SQL syntax)
3361
- * const booksData = await table.getData({ conditions: `category === 'Book'` });
3362
- * console.log(booksData);
3363
- * ```
3364
- *
3365
- * @example
3366
- * ```ts
3367
- * // Get data filtered by a condition and specific columns
3368
- * const booksData = await table.getData({ columns: ["title", "author"], conditions: `category === 'Book'` });
3369
- * console.log(booksData);
3370
- * ```
3371
- */
3372
- getData(options?: {
3373
- columns?: string | string[];
3374
- conditions?: string;
3375
- }): Promise<{
3376
- [key: string]: string | number | boolean | Date | null;
3377
- }[]>;
3378
- /**
3379
- * Returns the data from the table as a CSV string, optionally filtered by SQL conditions.
3380
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
3381
- *
3382
- * @param options - An optional object with configuration options:
3383
- * @param options.columns - An array of column names to include in the CSV. If omitted, all columns will be included.
3384
- * @param options.conditions - The filtering conditions specified as a SQL `WHERE` clause (e.g., `"category = 'Book'"`).
3385
- * @returns A promise that resolves to a CSV-formatted string representation of the table data.
3386
- * @category Getting Data
3387
- *
3388
- * @example
3389
- * ```ts
3390
- * // Get all data from the table as CSV
3391
- * const allDataCSV = await table.getDataAsCSV();
3392
- * console.log(allDataCSV);
3393
- * ```
3394
- *
3395
- * @example
3396
- * ```ts
3397
- * // Get data filtered by a condition (using JS syntax or SQL syntax) as CSV
3398
- * const booksDataCSV = await table.getDataAsCSV({ conditions: `category === 'Book'` });
3399
- * console.log(booksDataCSV);
3400
- * ```
3401
- *
3402
- * @example
3403
- * ```ts
3404
- * // Get data filtered by a condition and specific columns as CSV
3405
- * const booksDataCSV = await table.getDataAsCSV({ columns: ["title", "author"], conditions: `category === 'Book'` });
3406
- * console.log(booksDataCSV);
3407
- * ```
3408
- */
3409
- getDataAsCSV(options?: {
3410
- columns?: string | string[];
3411
- conditions?: string;
3412
- }): Promise<string>;
3413
- /**
3414
- * Creates point geometries from longitude and latitude columns. The geometries will have `[latitude, longitude]` axis order.
3415
- *
3416
- * @param columnLat - The name of the column storing the latitude values.
3417
- * @param columnLon - The name of the column storing the longitude values.
3418
- * @param newColumn - The name of the new column where the point geometries will be stored.
3419
- * @returns A promise that resolves when the point geometries have been created.
3420
- * @category Geospatial
3421
- *
3422
- * @example
3423
- * ```ts
3424
- * // Create point geometries in a new 'geom' column using 'lat' and 'lon' columns
3425
- * await table.points("lat", "lon", "geom");
3426
- * ```
3427
- */
3428
- points(columnLat: string, columnLon: string, newColumn: string): Promise<void>;
3429
- /**
3430
- * Adds a column with boolean values indicating the validity of geometries.
3431
- *
3432
- * @param newColumn - The name of the new column where the boolean results (`TRUE` for valid, `FALSE` for invalid) will be stored.
3433
- * @param options - An optional object with configuration options:
3434
- * @param options.column - The name of the column storing the geometries to be checked. If omitted, the method will automatically attempt to find a geometry column.
3435
- * @returns A promise that resolves when the validity check is complete.
3436
- * @category Geospatial
3437
- *
3438
- * @example
3439
- * ```ts
3440
- * // Check if geometries are valid and store results in a new 'isValid' column
3441
- * // The method will automatically detect the geometry column.
3442
- * await table.isValidGeo("isValid");
3443
- * ```
3444
- *
3445
- * @example
3446
- * ```ts
3447
- * // Check validity of geometries in a specific column named 'myGeom'
3448
- * await table.isValidGeo("isValidMyGeom", { column: "myGeom" });
3449
- * ```
3450
- */
3451
- isValidGeo(newColumn: string, options?: {
3452
- column?: string;
3453
- }): Promise<void>;
3454
- /**
3455
- * Adds a column with the number of vertices (points) in each geometry.
3456
- *
3457
- * @param newColumn - The name of the new column where the vertex counts will be stored.
3458
- * @param options - An optional object with configuration options:
3459
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3460
- * @returns A promise that resolves when the vertex counts have been added.
3461
- * @category Geospatial
3462
- *
3463
- * @example
3464
- * ```ts
3465
- * // Add a new column 'vertexCount' with the number of vertices for each geometry
3466
- * // The method will automatically detect the geometry column.
3467
- * await table.nbVertices("vertexCount");
3468
- * ```
3469
- *
3470
- * @example
3471
- * ```ts
3472
- * // Add vertex counts for geometries in a specific column named 'myGeom'
3473
- * await table.nbVertices("myGeomVertices", { column: "myGeom" });
3474
- * ```
3475
- */
3476
- nbVertices(newColumn: string, options?: {
3477
- column?: string;
3478
- }): Promise<void>;
3479
- /**
3480
- * Attempts to make invalid geometries valid without removing any vertices.
3481
- *
3482
- * @param column - The name of the column storing the geometries to be fixed. If omitted, the method will automatically attempt to find a geometry column.
3483
- * @returns A promise that resolves when the geometries have been processed.
3484
- * @category Geospatial
3485
- *
3486
- * @example
3487
- * ```ts
3488
- * // Fix invalid geometries in the default geometry column
3489
- * await table.fixGeo();
3490
- * ```
3491
- *
3492
- * @example
3493
- * ```ts
3494
- * // Fix invalid geometries in a specific column named 'myGeom'
3495
- * await table.fixGeo("myGeom");
3496
- * ```
3497
- */
3498
- fixGeo(column?: string): Promise<void>;
3499
- /**
3500
- * Adds a column with boolean values indicating whether geometries are closed (e.g., polygons) or open (e.g., linestrings).
3501
- *
3502
- * @param newColumn - The name of the new column where the boolean results (`TRUE` for closed, `FALSE` for open) will be stored.
3503
- * @param options - An optional object with configuration options:
3504
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3505
- * @returns A promise that resolves when the closed geometry check is complete.
3506
- * @category Geospatial
3507
- *
3508
- * @example
3509
- * ```ts
3510
- * // Check if geometries are closed and store results in a new 'isClosed' column
3511
- * await table.isClosedGeo("isClosed");
3512
- * ```
3513
- *
3514
- * @example
3515
- * ```ts
3516
- * // Check closed status of geometries in a specific column named 'boundaryGeom'
3517
- * await table.isClosedGeo("boundaryClosed", { column: "boundaryGeom" });
3518
- * ```
3519
- */
3520
- isClosedGeo(newColumn: string, options?: {
3521
- column?: string;
3522
- }): Promise<void>;
3523
- /**
3524
- * Adds a column with the geometry type (e.g., `"POINT"`, `"LINESTRING"`, `"POLYGON"`) for each geometry.
3525
- *
3526
- * @param newColumn - The name of the new column where the geometry types will be stored.
3527
- * @param options - An optional object with configuration options:
3528
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3529
- * @returns A promise that resolves when the geometry types have been added.
3530
- * @category Geospatial
3531
- *
3532
- * @example
3533
- * ```ts
3534
- * // Add a new column 'geometryType' with the type of each geometry
3535
- * await table.typeGeo("geometryType");
3536
- * ```
3537
- *
3538
- * @example
3539
- * ```ts
3540
- * // Get the geometry type for geometries in a specific column named 'featureGeom'
3541
- * await table.typeGeo("featureType", { column: "featureGeom" });
3542
- * ```
3543
- */
3544
- typeGeo(newColumn: string, options?: {
3545
- column?: string;
3546
- }): Promise<void>;
3547
- /**
3548
- * Flips the coordinate order of geometries in a specified column (e.g., from `[lon, lat]` to `[lat, lon]` or vice-versa).
3549
- * **Warning:** This method should be used with caution as it directly manipulates coordinate order and can affect the accuracy of geospatial operations if not used correctly. It also messes up with the projections stored in `table.projections`.
3550
- *
3551
- * @param column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3552
- * @returns A promise that resolves when the coordinates have been flipped.
3553
- * @category Geospatial
3554
- *
3555
- * @example
3556
- * ```ts
3557
- * // Flip coordinates in the default geometry column
3558
- * await table.flipCoordinates();
3559
- * ```
3560
- *
3561
- * @example
3562
- * ```ts
3563
- * // Flip coordinates in a specific column named 'myGeom'
3564
- * await table.flipCoordinates("myGeom");
3565
- * ```
3566
- */
3567
- flipCoordinates(column?: string): Promise<void>;
3568
- /**
3569
- * Reduces the precision of geometries in a specified column to a given number of decimal places.
3570
- *
3571
- * @param decimals - The number of decimal places to keep in the coordinates of the geometries.
3572
- * @param options - An optional object with configuration options:
3573
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3574
- * @returns A promise that resolves when the precision of the geometries has been reduced.
3575
- * @category Geospatial
3576
- *
3577
- * @example
3578
- * ```ts
3579
- * // Reduce the precision of geometries in the default column to 3 decimal places
3580
- * await table.reducePrecision(3);
3581
- * ```
3582
- *
3583
- * @example
3584
- * ```ts
3585
- * // Reduce the precision of geometries in a specific column named 'myGeom' to 2 decimal places
3586
- * await table.reducePrecision(2, { column: "myGeom" });
3587
- * ```
3588
- */
3589
- reducePrecision(decimals: number, options?: {
3590
- column?: string;
3591
- }): Promise<void>;
3592
- /**
3593
- * Reprojects the geometries in a specified column to another Spatial Reference System (SRS).
3594
- * If reprojecting to WGS84 (`"WGS84"` or `"EPSG:4326"`), the resulting geometries will have `[latitude, longitude]` axis order.
3595
- *
3596
- * @param to - The target SRS (e.g., `"EPSG:3347"`, `"WGS84"`).
3597
- * @param options - An optional object with configuration options:
3598
- * @param options.from - The original projection of the geometries. If omitted, the method attempts to automatically detect it. Provide this option if auto-detection fails.
3599
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3600
- * @returns A promise that resolves when the geometries have been reprojected.
3601
- * @category Geospatial
3602
- *
3603
- * @example
3604
- * ```ts
3605
- * // Reproject geometries in the default column to EPSG:3347 (NAD83/Statistics Canada Lambert)
3606
- * await table.reproject("EPSG:3347");
3607
- * ```
3608
- *
3609
- * @example
3610
- * ```ts
3611
- * // Reproject geometries from EPSG:4326 to EPSG:3347, specifying the original projection
3612
- * await table.reproject("EPSG:3347", { from: "EPSG:4326" });
3613
- * ```
3614
- *
3615
- * @example
3616
- * ```ts
3617
- * // Reproject geometries in a specific column named 'myGeom' to EPSG:3347
3618
- * await table.reproject("EPSG:3347", { column: "myGeom", from: "EPSG:4326" });
3619
- * ```
3620
- */
3621
- reproject(to: string, options?: {
3622
- from?: string;
3623
- column?: string;
3624
- }): Promise<void>;
3625
- /**
3626
- * Computes the area of geometries in square meters (`"m2"`) or optionally square kilometers (`"km2"`).
3627
- * The input geometry is assumed to be in the EPSG:4326 coordinate system (WGS84), with `[latitude, longitude]` axis order.
3628
- *
3629
- * @param newColumn - The name of the new column where the computed areas will be stored.
3630
- * @param options - An optional object with configuration options:
3631
- * @param options.unit - The unit for the computed area: `"m2"` (square meters) or `"km2"` (square kilometers). Defaults to `"m2"`.
3632
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3633
- * @returns A promise that resolves when the areas have been computed.
3634
- * @category Geospatial
3635
- *
3636
- * @example
3637
- * ```ts
3638
- * // Compute the area of geometries in square meters and store in 'area_m2'
3639
- * await table.area("area_m2");
3640
- * ```
3641
- *
3642
- * @example
3643
- * ```ts
3644
- * // Compute the area of geometries in square kilometers and store in 'area_km2'
3645
- * await table.area("area_km2", { unit: "km2" });
3646
- * ```
3647
- *
3648
- * @example
3649
- * ```ts
3650
- * // Compute the area of geometries in a specific column named 'myGeom'
3651
- * await table.area("myGeomArea", { column: "myGeom" });
3652
- * ```
3653
- */
3654
- area(newColumn: string, options?: {
3655
- unit?: "m2" | "km2";
3656
- column?: string;
3657
- }): Promise<void>;
3658
- /**
3659
- * Computes the length of line geometries in meters (`"m"`) or optionally kilometers (`"km"`).
3660
- * The input geometry is assumed to be in the EPSG:4326 coordinate system (WGS84), with `[latitude, longitude]` axis order.
3661
- *
3662
- * @param newColumn - The name of the new column where the computed lengths will be stored.
3663
- * @param options - An optional object with configuration options:
3664
- * @param options.unit - The unit for the computed length: `"m"` (meters) or `"km"` (kilometers). Defaults to `"m"`.
3665
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3666
- * @returns A promise that resolves when the lengths have been computed.
3667
- * @category Geospatial
3668
- *
3669
- * @example
3670
- * ```ts
3671
- * // Compute the length of line geometries in meters and store in 'length_m'
3672
- * await table.length("length_m");
3673
- * ```
3674
- *
3675
- * @example
3676
- * ```ts
3677
- * // Compute the length of line geometries in kilometers and store in 'length_km'
3678
- * await table.length("length_km", { unit: "km" });
3679
- * ```
3680
- *
3681
- * @example
3682
- * ```ts
3683
- * // Compute the length of geometries in a specific column named 'routeGeom'
3684
- * await table.length("routeLength", { column: "routeGeom" });
3685
- * ```
3686
- */
3687
- length(newColumn: string, options?: {
3688
- unit?: "m" | "km";
3689
- column?: string;
3690
- }): Promise<void>;
3691
- /**
3692
- * Computes the perimeter of polygon geometries in meters (`"m"`) or optionally kilometers (`"km"`).
3693
- * The input geometry is assumed to be in the EPSG:4326 coordinate system (WGS84), with `[latitude, longitude]` axis order.
3694
- *
3695
- * @param newColumn - The name of the new column where the computed perimeters will be stored.
3696
- * @param options - An optional object with configuration options:
3697
- * @param options.unit - The unit for the computed perimeter: `"m"` (meters) or `"km"` (kilometers). Defaults to `"m"`.
3698
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3699
- * @returns A promise that resolves when the perimeters have been computed.
3700
- * @category Geospatial
3701
- *
3702
- * @example
3703
- * ```ts
3704
- * // Compute the perimeter of polygon geometries in meters and store in 'perimeter_m'
3705
- * await table.perimeter("perimeter_m");
3706
- * ```
3707
- *
3708
- * @example
3709
- * ```ts
3710
- * // Compute the perimeter of polygon geometries in kilometers and store in 'perimeter_km'
3711
- * await table.perimeter("perimeter_km", { unit: "km" });
3712
- * ```
3713
- *
3714
- * @example
3715
- * ```ts
3716
- * // Compute the perimeter of geometries in a specific column named 'landParcelGeom'
3717
- * await table.perimeter("landParcelPerimeter", { column: "landParcelGeom" });
3718
- * ```
3719
- */
3720
- perimeter(newColumn: string, options?: {
3721
- unit?: "m" | "km";
3722
- column?: string;
3723
- }): Promise<void>;
3724
- /**
3725
- * Computes a buffer (a polygon representing a specified distance around a geometry) for geometries in a specified column.
3726
- * The distance is in the Spatial Reference System (SRS) unit of the input geometries.
3727
- *
3728
- * @param newColumn - The name of the new column where the buffered geometries will be stored.
3729
- * @param distance - The distance for the buffer. This value is in the units of the geometry's SRS.
3730
- * @param options - An optional object with configuration options:
3731
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3732
- * @returns A promise that resolves when the buffers have been computed.
3733
- * @category Geospatial
3734
- *
3735
- * @example
3736
- * ```ts
3737
- * // Create a buffer of 1 unit around geometries in the default column, storing results in 'bufferedGeom'
3738
- * await table.buffer("bufferedGeom", 1);
3739
- * ```
3740
- *
3741
- * @example
3742
- * ```ts
3743
- * // Create a buffer of 10 units around geometries in a specific column named 'pointsGeom'
3744
- * await table.buffer("pointsBuffer", 10, { column: "pointsGeom" });
3745
- * ```
3746
- */
3747
- buffer(newColumn: string, distance: number, options?: {
3748
- column?: string;
3749
- }): Promise<void>;
3750
- /**
3751
- * Merges the data of this table (considered the left table) with another table (the right table) based on a spatial relationship.
3752
- * Note that the order of rows in the returned data is not guaranteed to be the same as in the original tables.
3753
- * This operation might create temporary files in a `.tmp` folder; consider adding `.tmp` to your `.gitignore`.
3754
- *
3755
- * @param rightTable - The SimpleTable instance to be joined with this table.
3756
- * @param method - The spatial join method to use: `"intersect"` (geometries overlap), `"inside"` (geometries of the left table are entirely within geometries of the right table), or `"within"` (geometries of the left table are within a specified distance of geometries in the right table).
3757
- * @param options - An optional object with configuration options:
3758
- * @param options.leftTableColumn - The name of the column storing geometries in the left table (this table). If omitted, the method attempts to find one.
3759
- * @param options.rightTableColumn - The name of the column storing geometries in the right table. If omitted, the method attempts to find one.
3760
- * @param options.type - The type of join operation to perform: `"inner"`, `"left"` (default), `"right"`, or `"full"`. For some types (like `"inside"`), the table order is important.
3761
- * @param options.distance - Required if `method` is `"within"`. The target distance for the spatial join. The unit depends on `distanceMethod`.
3762
- * @param options.distanceMethod - The method for distance calculations: `"srs"` (default, uses the SRS unit), `"haversine"` (uses meters, requires EPSG:4326 input), or `"spheroid"` (uses meters, requires EPSG:4326 input, most accurate but slowest).
3763
- * @param options.outputTable - If `true`, the results will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be overwritten. Defaults to `false`.
3764
- * @returns A promise that resolves to a table instance containing the spatially joined data (either the modified current table or a new table).
3765
- * @category Geospatial
3766
- *
3767
- * @example
3768
- * ```ts
3769
- * // Merge data based on intersecting geometries, overwriting tableA
3770
- * await tableA.joinGeo(tableB, "intersect");
3771
- * ```
3772
- *
3773
- * @example
3774
- * ```ts
3775
- * // Merge data where geometries in tableA are inside geometries in tableB
3776
- * await tableA.joinGeo(tableB, "inside");
3777
- * ```
3778
- *
3779
- * @example
3780
- * ```ts
3781
- * // Merge data where geometries in tableA are within 10 units (SRS) of geometries in tableB
3782
- * await tableA.joinGeo(tableB, "within", { distance: 10 });
3783
- * ```
3784
- *
3785
- * @example
3786
- * ```ts
3787
- * // Merge data where geometries in tableA are within 10 kilometers (Haversine) of geometries in tableB
3788
- * // Input geometries must be in EPSG:4326.
3789
- * await tableA.joinGeo(tableB, "within", { distance: 10, distanceMethod: "haversine", unit: "km" });
3790
- * ```
3791
- *
3792
- * @example
3793
- * ```ts
3794
- * // Merge data with specific geometry columns and an inner join type, storing results in a new table
3795
- * const tableC = await tableA.joinGeo(tableB, "intersect", {
3796
- * leftTableColumn: "geometriesA",
3797
- * rightTableColumn: "geometriesB",
3798
- * type: "inner",
3799
- * outputTable: true,
3800
- * });
3801
- * ```
3802
- */
3803
- joinGeo(rightTable: SimpleTable, method: "intersect" | "inside" | "within", options?: {
3804
- leftTableColumn?: string;
3805
- rightTableColumn?: string;
3806
- type?: "inner" | "left" | "right" | "full";
3807
- distance?: number;
3808
- distanceMethod?: "srs" | "haversine" | "spheroid";
3809
- outputTable?: string | boolean;
3810
- }): Promise<this>;
3811
- /**
3812
- * Computes the intersection of two sets of geometries, creating new geometries where they overlap.
3813
- *
3814
- * @param column1 - The name of the first column storing geometries.
3815
- * @param column2 - The name of the second column storing geometries. Both columns must have the same projection.
3816
- * @param newColumn - The name of the new column where the computed intersection geometries will be stored.
3817
- * @returns A promise that resolves when the intersection geometries have been computed.
3818
- * @category Geospatial
3819
- *
3820
- * @example
3821
- * ```ts
3822
- * // Compute the intersection of geometries in 'geomA' and 'geomB' columns, storing results in 'intersectGeom'
3823
- * await table.intersection("geomA", "geomB", "intersectGeom");
3824
- * ```
3825
- */
3826
- intersection(column1: string, column2: string, newColumn: string): Promise<void>;
3827
- /**
3828
- * Removes the intersection of two geometries from the first geometry, effectively computing the geometric difference.
3829
- *
3830
- * @param column1 - The name of the column storing the reference geometries. These geometries will have the intersection removed.
3831
- * @param column2 - The name of the column storing the geometries used to compute the intersection. Both columns must have the same projection.
3832
- * @param newColumn - The name of the new column where the resulting geometries (without the intersection) will be stored.
3833
- * @returns A promise that resolves when the geometries have been processed.
3834
- * @category Geospatial
3835
- *
3836
- * @example
3837
- * ```ts
3838
- * // Remove the intersection of 'geomB' from 'geomA', storing the result in 'geomA_minus_geomB'
3839
- * await table.removeIntersection("geomA", "geomB", "geomA_minus_geomB");
3840
- * ```
3841
- */
3842
- removeIntersection(column1: string, column2: string, newColumn: string): Promise<void>;
3843
- /**
3844
- * Fills holes in polygon geometries.
3845
- *
3846
- * @param column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3847
- * @returns A promise that resolves when the holes have been filled.
3848
- * @category Geospatial
3849
- *
3850
- * @example
3851
- * ```ts
3852
- * // Fill holes in geometries in the default geometry column
3853
- * await table.fillHoles();
3854
- * ```
3855
- *
3856
- * @example
3857
- * ```ts
3858
- * // Fill holes in geometries in a specific column named 'polygonGeom'
3859
- * await table.fillHoles("polygonGeom");
3860
- * ```
3861
- */
3862
- fillHoles(column?: string): Promise<void>;
3863
- /**
3864
- * Returns `TRUE` if two geometries intersect (overlap in any way), and `FALSE` otherwise.
3865
- *
3866
- * @param column1 - The name of the first column storing geometries.
3867
- * @param column2 - The name of the second column storing geometries. Both columns must have the same projection.
3868
- * @param newColumn - The name of the new column where the boolean results (`TRUE` for intersection, `FALSE` otherwise) will be stored.
3869
- * @returns A promise that resolves when the intersection check is complete.
3870
- * @category Geospatial
3871
- *
3872
- * @example
3873
- * ```ts
3874
- * // Check if geometries in 'geomA' and 'geomB' intersect, storing results in 'doIntersect'
3875
- * await table.intersect("geomA", "geomB", "doIntersect");
3876
- * ```
3877
- */
3878
- intersect(column1: string, column2: string, newColumn: string): Promise<void>;
3879
- /**
3880
- * Returns `TRUE` if all points of a geometry in `column1` lie inside a geometry in `column2`, and `FALSE` otherwise.
3881
- *
3882
- * @param column1 - The name of the column storing the geometries to be tested for containment.
3883
- * @param column2 - The name of the column storing the geometries to be tested as containers. Both columns must have the same projection.
3884
- * @param newColumn - The name of the new column where the boolean results (`TRUE` for inside, `FALSE` otherwise) will be stored.
3885
- * @returns A promise that resolves when the containment check is complete.
3886
- * @category Geospatial
3887
- *
3888
- * @example
3889
- * ```ts
3890
- * // Check if geometries in 'pointGeom' are inside 'polygonGeom', storing results in 'isInsidePolygon'
3891
- * await table.inside("pointGeom", "polygonGeom", "isInsidePolygon");
3892
- * ```
3893
- */
3894
- inside(column1: string, column2: string, newColumn: string): Promise<void>;
3895
- /**
3896
- * Computes the union of two geometries, creating a new geometry that represents the merged area of both.
3897
- *
3898
- * @param column1 - The name of the first column storing geometries.
3899
- * @param column2 - The name of the second column storing geometries. Both columns must have the same projection.
3900
- * @param newColumn - The name of the new column where the computed union geometries will be stored.
3901
- * @returns A promise that resolves when the union geometries have been computed.
3902
- * @category Geospatial
3903
- *
3904
- * @example
3905
- * ```ts
3906
- * // Compute the union of geometries in 'geomA' and 'geomB', storing results in 'unionGeom'
3907
- * await table.union("geomA", "geomB", "unionGeom");
3908
- * ```
3909
- */
3910
- union(column1: string, column2: string, newColumn: string): Promise<void>;
3911
- /**
3912
- * Extracts the latitude and longitude coordinates from point geometries.
3913
- * The input geometry is assumed to be in the EPSG:4326 coordinate system (WGS84), with `[latitude, longitude]` axis order.
3914
- *
3915
- * @param column - The name of the column storing the point geometries.
3916
- * @param columnLat - The name of the new column where the extracted latitude values will be stored.
3917
- * @param columnLon - The name of the new column where the extracted longitude values will be stored.
3918
- * @returns A promise that resolves when the latitude and longitude have been extracted.
3919
- * @category Geospatial
3920
- *
3921
- * @example
3922
- * ```ts
3923
- * // Extract latitude and longitude from 'geom' column into new 'lat' and 'lon' columns
3924
- * await table.latLon("geom", "lat", "lon");
3925
- * ```
3926
- */
3927
- latLon(column: string, columnLat: string, columnLon: string): Promise<void>;
3928
- /**
3929
- * Simplifies geometries while preserving their overall coverage. A higher tolerance results in more significant simplification.
3930
- *
3931
- * @param tolerance - A numeric value representing the simplification tolerance. A higher value leads to greater simplification.
3932
- * @param options - An optional object with configuration options:
3933
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3934
- * @param options.simplifyBoundary - If `true` (default), the boundary of the geometries will also be simplified. If `false`, only the interior of the geometries will be simplified, preserving the original boundary.
3935
- * @returns A promise that resolves when the geometries have been simplified.
3936
- * @category Geospatial
3937
- *
3938
- * @example
3939
- * ```ts
3940
- * // Simplify geometries in the default column with a tolerance of 0.1
3941
- * await table.simplify(0.1);
3942
- * ```
3943
- *
3944
- * @example
3945
- * ```ts
3946
- * // Simplify geometries in 'myGeom' column, preserving the boundary
3947
- * await table.simplify(0.05, { column: "myGeom", simplifyBoundary: false });
3948
- * ```
3949
- */
3950
- simplify(tolerance: number, options?: {
3951
- column?: string;
3952
- simplifyBoundary?: boolean;
3953
- }): Promise<void>;
3954
- /**
3955
- * Computes the centroid of geometries.
3956
- * The values are returned in the SRS unit of the input geometries.
3957
- *
3958
- * @param newColumn - The name of the new column where the computed centroid geometries will be stored.
3959
- * @param options - An optional object with configuration options:
3960
- * @param options.column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
3961
- * @returns A promise that resolves when the centroids have been computed.
3962
- * @category Geospatial
3963
- *
3964
- * @example
3965
- * ```ts
3966
- * // Compute the centroid of geometries in the default column, storing results in 'centerPoint'
3967
- * await table.centroid("centerPoint");
3968
- * ```
3969
- *
3970
- * @example
3971
- * ```ts
3972
- * // Compute the centroid of geometries in a specific column named 'areaGeom'
3973
- * await table.centroid("areaCentroid", { column: "areaGeom" });
3974
- * ```
3975
- */
3976
- centroid(newColumn: string, options?: {
3977
- column?: string;
3978
- }): Promise<void>;
3979
- /**
3980
- * Generates a random point within the geometries of a specified column.
3981
- *
3982
- * @param newColumn - The name of the new column where the random points will be stored.
3983
- * @param nbPointsToTry - The number of points to generate within the bounding box of each geometry to find one that is within the geometry itself.
3984
- * @param options - An optional object with configuration options:
3985
- * @param options.column - The name of the column storing the geometries within which the random points will be generated. If omitted, the method will automatically attempt to find a geometry column.
3986
- *
3987
- * @example
3988
- * ```ts
3989
- * // Generate a random point for each geometry in the default column, trying 100 points
3990
- * await table.randomPoint("randomPoint", 100);
3991
- * ```
3992
- *
3993
- * @example
3994
- * ```ts
3995
- * // Generate a random point for each geometry in a specific column named 'areaGeom', trying 50 points
3996
- * await table.randomPoint("pointInArea", 50, { column: "areaGeom" });
3997
- * ```
3998
- */
3999
- randomPoint(newColumn: string, nbPointsToTry: number, options?: {
4000
- column?: string;
4001
- }): Promise<void>;
4002
- /**
4003
- * Computes the distance between geometries in two specified columns.
4004
- * By default, the distance is calculated in the Spatial Reference System (SRS) unit of the input geometries.
4005
- * You can optionally specify `"spheroid"` or `"haversine"` methods to get results in meters or kilometers.
4006
- * If using `"spheroid"` or `"haversine"`, the input geometries must be in the EPSG:4326 coordinate system (WGS84), with `[latitude, longitude]` axis order.
4007
- *
4008
- * @param column1 - The name of the first column storing geometries.
4009
- * @param column2 - The name of the second column storing geometries.
4010
- * @param newColumn - The name of the new column where the computed distances will be stored.
4011
- * @param options - An optional object with configuration options:
4012
- * @param options.method - The method to use for distance calculations: `"srs"` (default, uses SRS unit), `"haversine"` (meters, requires EPSG:4326), or `"spheroid"` (meters, requires EPSG:4326, most accurate but slowest).
4013
- * @param options.unit - If `method` is `"spheroid"` or `"haversine"`, you can choose between `"m"` (meters, default) or `"km"` (kilometers).
4014
- * @param options.decimals - The number of decimal places to round the distance values. Defaults to `undefined` (no rounding).
4015
- * @returns A promise that resolves when the distances have been computed.
4016
- * @category Geospatial
4017
- *
4018
- * @example
4019
- * ```ts
4020
- * // Compute distance between 'geomA' and 'geomB' in SRS units, store in 'distance_srs'
4021
- * await table.distance("geomA", "geomB", "distance_srs");
4022
- * ```
4023
- *
4024
- * @example
4025
- * ```ts
4026
- * // Compute Haversine distance in meters between 'point1' and 'point2', store in 'distance_m'
4027
- * // Input geometries must be in EPSG:4326.
4028
- * await table.distance("point1", "point2", "distance_m", { method: "haversine" });
4029
- * ```
4030
- *
4031
- * @example
4032
- * ```ts
4033
- * // Compute Haversine distance in kilometers, rounded to 2 decimal places
4034
- * // Input geometries must be in EPSG:4326.
4035
- * await table.distance("point1", "point2", "distance_km", { method: "haversine", unit: "km", decimals: 2 });
4036
- * ```
4037
- *
4038
- * @example
4039
- * ```ts
4040
- * // Compute Spheroid distance in kilometers
4041
- * // Input geometries must be in EPSG:4326.
4042
- * await table.distance("area1", "area2", "distance_spheroid_km", { method: "spheroid", unit: "km" });
4043
- * ```
4044
- */
4045
- distance(column1: string, column2: string, newColumn: string, options?: {
4046
- unit?: "m" | "km";
4047
- method?: "srs" | "haversine" | "spheroid";
4048
- decimals?: number;
4049
- }): Promise<void>;
4050
- /**
4051
- * Unnests geometries recursively, transforming multi-part geometries (e.g., MultiPolygon) into individual single-part geometries (e.g., Polygon).
4052
- *
4053
- * @param column - The name of the column storing the geometries to be unnested. If omitted, the method will automatically attempt to find a geometry column.
4054
- * @returns A promise that resolves when the geometries have been unnested.
4055
- * @category Geospatial
4056
- *
4057
- * @example
4058
- * ```ts
4059
- * // Unnest geometries in the default column
4060
- * await table.unnestGeo();
4061
- * ```
4062
- *
4063
- * @example
4064
- * ```ts
4065
- * // Unnest geometries in a specific column named 'multiGeom'
4066
- * await table.unnestGeo("multiGeom");
4067
- * ```
4068
- */
4069
- unnestGeo(column?: string): Promise<void>;
4070
- /**
4071
- * Aggregates geometries in a specified column based on a chosen aggregation method.
4072
- *
4073
- * @param method - The aggregation method to apply: `"union"` (combines all geometries into a single multi-geometry) or `"intersection"` (computes the intersection of all geometries).
4074
- * @param options - An optional object with configuration options:
4075
- * @param options.column - The name of the column storing the geometries to be aggregated. If omitted, the method will automatically attempt to find a geometry column.
4076
- * @param options.categories - The column name or an array of column names that define categories for the aggregation. Aggregation will be performed independently within each category.
4077
- * @param options.outputTable - If `true`, the results will be stored in a new table with a generated name. If a string, it will be used as the name for the new table. If `false` or omitted, the current table will be overwritten. Defaults to `false`.
4078
- * @returns A promise that resolves to a table instance containing the aggregated geometries (either the modified current table or a new table).
4079
- * @category Geospatial
4080
- *
4081
- * @example
4082
- * ```ts
4083
- * // Aggregate all geometries in the default column into a single union geometry
4084
- * await table.aggregateGeo("union");
4085
- * ```
4086
- *
4087
- * @example
4088
- * ```ts
4089
- * // Aggregate geometries by 'country' and compute their union
4090
- * await table.aggregateGeo("union", { categories: "country" });
4091
- * ```
4092
- *
4093
- * @example
4094
- * ```ts
4095
- * // Aggregate geometries in 'regions' column into their intersection, storing results in a new table
4096
- * const intersectionTable = await table.aggregateGeo("intersection", { column: "regions", outputTable: true });
4097
- * ```
4098
- */
4099
- aggregateGeo(method: "union" | "intersection", options?: {
4100
- column?: string;
4101
- categories?: string | string[];
4102
- outputTable?: string | boolean;
4103
- }): Promise<this>;
4104
- /**
4105
- * Transforms closed linestring geometries into polygon geometries.
4106
- *
4107
- * @param column - The name of the column storing the linestring geometries. If omitted, the method will automatically attempt to find a geometry column.
4108
- * @returns A promise that resolves when the transformation is complete.
4109
- * @category Geospatial
4110
- *
4111
- * @example
4112
- * ```ts
4113
- * // Transform closed linestrings in the default geometry column into polygons
4114
- * await table.linesToPolygons();
4115
- * ```
4116
- *
4117
- * @example
4118
- * ```ts
4119
- * // Transform closed linestrings in a specific column named 'routeLines' into polygons
4120
- * await table.linesToPolygons("routeLines");
4121
- * ```
4122
- */
4123
- linesToPolygons(column?: string): Promise<void>;
4124
- /**
4125
- * Returns the bounding box of geometries in `[minLat, minLon, maxLat, maxLon]` order.
4126
- * By default, the method will try to find the column with the geometries. The input geometry is assumed to be in the EPSG:4326 coordinate system (WGS84), with `[latitude, longitude]` axis order.
4127
- *
4128
- * @param column - The name of the column storing geometries. If omitted, the method will automatically attempt to find a geometry column.
4129
- * @returns A promise that resolves to an array `[minLat, minLon, maxLat, maxLon]` representing the bounding box.
4130
- * @category Geospatial
4131
- *
4132
- * @example
4133
- * ```ts
4134
- * // Get the bounding box of geometries in the default column
4135
- * const bbox = await table.getBoundingBox();
4136
- * console.log(bbox); // e.g., [45.0, -75.0, 46.0, -73.0]
4137
- * ```
4138
- *
4139
- * @example
4140
- * ```ts
4141
- * // Get the bounding box of geometries in a specific column named 'areaGeom'
4142
- * const areaBbox = await table.getBoundingBox("areaGeom");
4143
- * console.log(areaBbox);
4144
- * ```
4145
- */
4146
- getBoundingBox(column?: string): Promise<[number, number, number, number]>;
4147
- /**
4148
- * Returns the table's geospatial data as a GeoJSON object.
4149
- * If the table has multiple geometry columns, you must specify which one to use.
4150
- * If the geometry column's projection is WGS84 or EPSG:4326 (`[latitude, longitude]` axis order), the coordinates will be flipped to follow the RFC7946 standard (`[longitude, latitude]` axis order) in the output GeoJSON.
4151
- *
4152
- * @param column - The name of the column storing the geometries. If omitted, the method will automatically attempt to find a geometry column.
4153
- * @param options - An optional object with configuration options:
4154
- * @param options.rewind - If `true`, rewinds the coordinates of polygons to follow the spherical winding order (important for D3.js). Defaults to `false`.
4155
- * @returns A promise that resolves to a GeoJSON object representing the table's geospatial data.
4156
- * @category Getting Data
4157
- *
4158
- * @example
4159
- * ```ts
4160
- * // Get GeoJSON data from the default geometry column
4161
- * const geojson = await table.getGeoData();
4162
- * console.log(geojson);
4163
- * ```
4164
- *
4165
- * @example
4166
- * ```ts
4167
- * // Get GeoJSON data from a specific geometry column named 'myGeometries'
4168
- * const myGeomJson = await table.getGeoData("myGeometries");
4169
- * console.log(myGeomJson);
4170
- * ```
4171
- *
4172
- * @example
4173
- * ```ts
4174
- * // Get GeoJSON data and rewind polygon coordinates for D3.js compatibility
4175
- * const rewoundGeojson = await table.getGeoData(undefined, { rewind: true });
4176
- * console.log(rewoundGeojson);
4177
- * ```
4178
- */
4179
- getGeoData(column?: string, options?: {
4180
- rewind?: boolean;
4181
- }): Promise<{
4182
- type: string;
4183
- features: unknown[];
4184
- }>;
4185
- /**
4186
- * Writes the table's data to a file in various formats (CSV, JSON, Parquet, DuckDB, SQLite).
4187
- * If the specified path does not exist, it will be created.
4188
- *
4189
- * @param file - The absolute path to the output file (e.g., `"./output.csv"`, `"./output.json"`).
4190
- * @param options - An optional object with configuration options:
4191
- * @param options.compression - A boolean indicating whether to compress the output file. If `true`, CSV and JSON files will be compressed with GZIP, while Parquet files will use ZSTD. Defaults to `false`.
4192
- * @param options.dataAsArrays - For JSON files only. If `true`, JSON files are written as a single object with arrays for each column (e.g., `{ "col1": [v1, v2], "col2": [v3, v4] }`) instead of an array of objects. This can reduce file size for web projects. You can use the `arraysToData` function from the [journalism library](https://jsr.io/@nshiab/journalism/doc/~/arraysToData) to convert it back.
4193
- * @param options.formatDates - For CSV and JSON files only. If `true`, date and timestamp columns will be formatted as ISO 8601 strings (e.g., `"2025-01-01T01:00:00.000Z"`). Defaults to `false`.
4194
- * @returns A promise that resolves when the data has been written to the file.
4195
- * @category File Operations
4196
- *
4197
- * @example
4198
- * ```ts
4199
- * // Write data to a CSV file
4200
- * await table.writeData("./output.csv");
4201
- * ```
4202
- *
4203
- * @example
4204
- * ```ts
4205
- * // Write data to a JSON file with GZIP compression.
4206
- * // The output file will be named output.json.gz.
4207
- * await table.writeData("./output.json", { compression: true });
4208
- * ```
4209
- *
4210
- * @example
4211
- * ```ts
4212
- * // Write data to a Parquet file
4213
- * await table.writeData("./output.parquet");
4214
- * ```
4215
- *
4216
- * @example
4217
- * ```ts
4218
- * // Write data to a DuckDB database file
4219
- * await table.writeData("./my_database.db");
4220
- * ```
4221
- *
4222
- * @example
4223
- * ```ts
4224
- * // Write data to a SQLite database file
4225
- * await table.writeData("./my_database.sqlite");
4226
- * ```
4227
- *
4228
- * @example
4229
- * ```ts
4230
- * // Write JSON data with dates formatted as ISO strings
4231
- * await table.writeData("./output_dates.json", { formatDates: true });
4232
- * ```
4233
- */
4234
- writeData(file: string, options?: {
4235
- compression?: boolean;
4236
- dataAsArrays?: boolean;
4237
- formatDates?: boolean;
4238
- }): Promise<void>;
4239
- /**
4240
- * Writes the table's geospatial data to a file in GeoJSON, GeoParquet, or Shapefile format.
4241
- * If the specified path does not exist, it will be created.
4242
- *
4243
- * For GeoJSON files (`.geojson` or `.json`), if the projection is WGS84 or EPSG:4326 (`[latitude, longitude]` axis order), the coordinates will be flipped to follow the RFC7946 standard (`[longitude, latitude]` axis order) in the output.
4244
- *
4245
- * @param file - The absolute path to the output file (e.g., `"./output.geojson"`, `"./output.geoparquet"`, `"./shapefile-folder/output.shp"`).
4246
- * @param options - An optional object with configuration options:
4247
- * @param options.precision - For GeoJSON, the maximum number of figures after the decimal separator to write in coordinates. Defaults to `undefined` (full precision).
4248
- * @param options.compression - For GeoParquet, if `true`, the output will be ZSTD compressed. Defaults to `false`.
4249
- * @param options.rewind - For GeoJSON, if `true`, rewinds the coordinates of polygons to follow the right-hand rule (RFC 7946). Defaults to `false`.
4250
- * @param options.metadata - For GeoJSON, an object to be added as top-level metadata to the GeoJSON output.
4251
- * @param options.formatDates - For GeoJSON, if `true`, formats date and timestamp columns to ISO 8601 strings. Defaults to `false`.
4252
- * @returns A promise that resolves when the geospatial data has been written to the file.
4253
- * @category File Operations
4254
- *
4255
- * @example
4256
- * ```ts
4257
- * // Write geospatial data to a GeoJSON file
4258
- * await table.writeGeoData("./output.geojson");
4259
- * ```
4260
- *
4261
- * @example
4262
- * ```ts
4263
- * // Write geospatial data to a compressed GeoParquet file
4264
- * await table.writeGeoData("./output.geoparquet", { compression: true });
4265
- * ```
4266
- *
4267
- * @example
4268
- * ```ts
4269
- * // Write geospatial data to a Shapefile with all relevant files in the same folder
4270
- * await table.writeGeoData("./shapefile-folder/output.shp");
4271
- * ```
4272
- *
4273
- * @example
4274
- * ```ts
4275
- * // Write GeoJSON with specific precision and metadata
4276
- * await table.writeGeoData("./output_high_precision.geojson", {
4277
- * precision: 6,
4278
- * metadata: { source: "SimpleDataAnalysis" },
4279
- * });
4280
- * ```
4281
- */
4282
- writeGeoData(file: string, options?: {
4283
- precision?: number;
4284
- compression?: boolean;
4285
- rewind?: boolean;
4286
- metadata?: unknown;
4287
- formatDates?: boolean;
4288
- }): Promise<void>;
4289
- /**
4290
- * Caches the results of computations in `./.sda-cache`.
4291
- * You should add `./.sda-cache` to your `.gitignore` file.
4292
- *
4293
- * @param run - A function wrapping the computations to be cached. This function will be executed on the first run or if the cached data is invalid/expired.
4294
- * @param options - An optional object with configuration options:
4295
- * @param options.ttl - Time to live (in seconds). If the data in the cache is older than this duration, the `run` function will be executed again to refresh the cache. By default, there is no TTL, meaning the cache is only invalidated if the `run` function's content changes.
4296
- * @returns A promise that resolves when the computations are complete or the data is loaded from cache.
4297
- * @category Caching
4298
- *
4299
- * @example
4300
- * ```ts
4301
- * // Basic usage: computations are cached and re-run only if the function content changes
4302
- * const sdb = new SimpleDB();
4303
- * const table = sdb.newTable();
4304
- *
4305
- * await table.cache(async () => {
4306
- * await table.loadData("items.csv");
4307
- * await table.summarize({
4308
- * values: "price",
4309
- * categories: "department",
4310
- * summaries: ["min", "max", "mean"],
4311
- * });
4312
- * });
4313
- *
4314
- * // It's important to call done() on the SimpleDB instance to clean up the cache.
4315
- * // This prevents the cache from growing indefinitely.
4316
- * await sdb.done();
4317
- * ```
4318
- *
4319
- * @example
4320
- * ```ts
4321
- * // Cache with a Time-To-Live (TTL) of 60 seconds
4322
- * // The computations will be re-run if the cached data is older than 1 minute or if the function content changes.
4323
- * const sdb = new SimpleDB();
4324
- * const table = sdb.newTable();
4325
- *
4326
- * await table.cache(async () => {
4327
- * await table.loadData("items.csv");
4328
- * await table.summarize({
4329
- * values: "price",
4330
- * categories: "department",
4331
- * summaries: ["min", "max", "mean"],
4332
- * });
4333
- * }, { ttl: 60 });
4334
- *
4335
- * await sdb.done();
4336
- * ```
4337
- *
4338
- * @example
4339
- * ```ts
4340
- * // Enable verbose logging for cache operations via SimpleDB instance
4341
- * const sdb = new SimpleDB({ cacheVerbose: true });
4342
- * const table = sdb.newTable();
4343
- *
4344
- * await table.cache(async () => {
4345
- * await table.loadData("items.csv");
4346
- * await table.summarize({
4347
- * values: "price",
4348
- * categories: "department",
4349
- * summaries: ["min", "max", "mean"],
4350
- * });
4351
- * });
4352
- *
4353
- * await sdb.done();
4354
- * ```
4355
- */
4356
- cache(run: () => Promise<void>, options?: {
4357
- ttl?: number;
4358
- }): Promise<void>;
4359
- /**
4360
- * Logs a specified number of rows from the table to the console. By default, the first 10 rows are logged.
4361
- * You can optionally log the column types and filter the data based on conditions.
4362
- * You can also use JavaScript syntax for conditions (e.g., `&&`, `||`, `===`, `!==`).
4363
- *
4364
- * @param options - Either the number of rows to log (a specific number or `"all"`) or an object with configuration options:
4365
- * @param options.nbRowsToLog - The number of rows to log. Defaults to 10 or the value set in the SimpleDB instance. Use `"all"` to log all rows.
4366
- * @param options.types - If `true`, logs the column types along with the data. Defaults to `false`.
4367
- * @param options.conditions - A SQL `WHERE` clause condition to filter the data before logging. Defaults to no condition.
4368
- * @returns A promise that resolves when the table data has been logged.
4369
- * @category Logging
4370
- *
4371
- * @example
4372
- * ```ts
4373
- * // Log the first 10 rows (default behavior)
4374
- * await table.logTable();
4375
- * ```
4376
- *
4377
- * @example
4378
- * ```ts
4379
- * // Log the first 50 rows
4380
- * await table.logTable(50);
4381
- * ```
4382
- *
4383
- * @example
4384
- * ```ts
4385
- * // Log all rows
4386
- * await table.logTable("all");
4387
- * ```
4388
- *
4389
- * @example
4390
- * ```ts
4391
- * // Log the first 20 rows and include column types
4392
- * await table.logTable({ nbRowsToLog: 20, types: true });
4393
- * ```
4394
- *
4395
- * @example
4396
- * ```ts
4397
- * // Log rows where 'status' is 'active' (using JS syntax for conditions)
4398
- * await table.logTable({ conditions: `status === 'active'` });
4399
- * ```
4400
- */
4401
- logTable(options?: "all" | number | {
4402
- nbRowsToLog?: number | "all";
4403
- types?: boolean;
4404
- conditions?: string;
4405
- }): Promise<void>;
4406
- /**
4407
- * Generates and logs a histogram of a numeric column to the console.
4408
- *
4409
- * @param values - The name of the numeric column for which to generate the histogram.
4410
- * @param options - An optional object with configuration options:
4411
- * @param options.bins - The number of bins (intervals) to use for the histogram. Defaults to 10.
4412
- * @param options.formatLabels - A function to format the labels for the histogram bins. It receives the lower and upper bounds of each bin as arguments.
4413
- * @param options.compact - If `true`, the histogram will be displayed in a more compact format. Defaults to `false`.
4414
- * @param options.width - The maximum width of the histogram bars in characters.
4415
- * @returns A promise that resolves when the histogram has been logged to the console.
4416
- * @category Dataviz
4417
- *
4418
- * @example
4419
- * // Basic histogram of the 'temperature' column
4420
- * ```typescript
4421
- * await table.logHistogram("temperature")
4422
- * ```
4423
- *
4424
- * @example
4425
- * // Histogram with 20 bins and custom label formatting
4426
- * ```typescript
4427
- * await table.logHistogram("age", {
4428
- * bins: 20,
4429
- * formatLabels: (min, max) => `${min}-${max} years`,
4430
- * });
4431
- * ```
4432
- */
4433
- /**
4434
- * Logs descriptive information about the columns in the table to the console. This includes details such as data types, number of null values, and number of distinct values for each column.
4435
- * It internally calls the `getDescription` method to retrieve the descriptive statistics.
4436
- *
4437
- * @returns A promise that resolves when the column description has been logged to the console.
4438
- * @category Logging
4439
- *
4440
- * @example
4441
- * ```ts
4442
- * // Log descriptive information for all columns in the table
4443
- * await table.logDescription();
4444
- * ```
4445
- */
4446
- logDescription(): Promise<void>;
4447
- /**
4448
- * Logs the projections of the geospatial data (if any) to the console.
4449
- *
4450
- * @returns A promise that resolves to the SimpleTable instance after logging the projections.
4451
- * @category Logging
4452
- *
4453
- * @example
4454
- * ```ts
4455
- * // Log the geospatial projections of the table
4456
- * await table.logProjections();
4457
- * ```
4458
- */
4459
- logProjections(): Promise<this>;
4460
- /**
4461
- * Logs the types of all columns in the table to the console.
4462
- *
4463
- * @returns A promise that resolves to the SimpleTable instance after logging the column types.
4464
- * @category Logging
4465
- *
4466
- * @example
4467
- * ```ts
4468
- * // Log the data types of all columns in the table
4469
- * await table.logTypes();
4470
- * ```
4471
- */
4472
- logTypes(): Promise<this>;
4473
- /**
4474
- * Logs unique values for a specified column to the console. By default, a maximum of 100 values are logged (depending on your runtime).
4475
- * You can optionally stringify the values to see them all.
4476
- *
4477
- * @param column - The name of the column from which to retrieve and log unique values.
4478
- * @param options - An optional object with configuration options:
4479
- * @param options.stringify - If `true`, converts the unique values to a JSON string before logging. Defaults to `false`.
4480
- * @returns A promise that resolves to the SimpleTable instance after logging the unique values.
4481
- * @category Logging
4482
- *
4483
- * @example
4484
- * ```ts
4485
- * // Logs unique values for the column "name"
4486
- * await table.logUniques("name");
4487
- * ```
4488
- *
4489
- * @example
4490
- * ```ts
4491
- * // Logs unique values for the column "name" and stringifies them
4492
- * await table.logUniques("name", { stringify: true });
4493
- * ```
4494
- */
4495
- logUniques(column: string, options?: {
4496
- stringify?: boolean;
4497
- }): Promise<this>;
4498
- /**
4499
- * Logs the columns in the table to the console. You can optionally include their data types.
4500
- *
4501
- * @param options - An optional object with configuration options:
4502
- * @param options.types - If `true`, logs the column names along with their data types. Defaults to `false`.
4503
- * @returns A promise that resolves to the SimpleTable instance after logging the columns.
4504
- * @category Logging
4505
- *
4506
- * @example
4507
- * ```ts
4508
- * // Log only the column names
4509
- * await table.logColumns();
4510
- * ```
4511
- *
4512
- * @example
4513
- * ```ts
4514
- * // Log column names along with their types
4515
- * await table.logColumns({ types: true });
4516
- * ```
4517
- */
4518
- logColumns(options?: {
4519
- types?: boolean;
4520
- }): Promise<this>;
4521
- /**
4522
- * Logs the total number of rows in the table to the console.
4523
- *
4524
- * @returns A promise that resolves to the SimpleTable instance after logging the row count.
4525
- * @category Logging
4526
- *
4527
- * @example
4528
- * ```ts
4529
- * // Log the total number of rows in the table
4530
- * await table.logNbRows();
4531
- * ```
4532
- */
4533
- logNbRows(): Promise<this>;
4534
- /**
4535
- * Logs the bottom `n` rows of the table to the console. By default, the last row will be returned first. To preserve the original order, use the `originalOrder` option.
4536
- *
4537
- * @param count - The number of rows to log from the bottom of the table. Defaults to the table's `nbRowsToLog` option if not specified.
4538
- * @param options - An optional object with logging preferences.
4539
- * @param options.originalOrder - If true, the rows are displayed in their original order (top to bottom). Defaults to false.
4540
- * @returns A promise that resolves when the rows have been logged to the console.
4541
- * @category Logging
4542
- *
4543
- * @example
4544
- * ```ts
4545
- * // Log bottom rows with default count (uses table's nbRowsToLog option)
4546
- * await table.logBottom();
4547
- * ```
4548
- *
4549
- * @example
4550
- * ```ts
4551
- * // Log the last 10 rows (displayed with last row first)
4552
- * await table.logBottom(10);
4553
- * ```
4554
- *
4555
- * @example
4556
- * ```ts
4557
- * // Log the last 5 rows in original order (top to bottom)
4558
- * await table.logBottom(5, { originalOrder: true });
4559
- * ```
4560
- */
4561
- logBottom(count?: number, options?: {
4562
- originalOrder?: boolean;
4563
- }): Promise<void>;
4564
- /**
4565
- * Logs the extent (minimum and maximum values) of a numeric column to the console.
4566
- *
4567
- * @param column - The name of the numeric column for which to log the extent.
4568
- * @returns A promise that resolves when the column extent has been logged to the console.
4569
- * @category Logging
4570
- *
4571
- * @example
4572
- * ```ts
4573
- * // Log the extent of the 'price' column
4574
- * await table.logExtent("price");
4575
- * ```
4576
- */
4577
- logExtent(column: string): Promise<void>;
4578
- }
4579
- //# sourceMappingURL=SimpleTable.d.ts.map