rowpipe 2.2.0 → 2.10.1

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 (345) hide show
  1. package/README.md +35 -4
  2. package/dist/analytics/abtest.d.ts +39 -0
  3. package/dist/analytics/abtest.d.ts.map +1 -0
  4. package/dist/analytics/abtest.js +266 -0
  5. package/dist/analytics/abtest.js.map +1 -0
  6. package/dist/analytics/cluster.d.ts +25 -0
  7. package/dist/analytics/cluster.d.ts.map +1 -0
  8. package/dist/analytics/cluster.js +212 -0
  9. package/dist/analytics/cluster.js.map +1 -0
  10. package/dist/analytics/cohort.d.ts +22 -0
  11. package/dist/analytics/cohort.d.ts.map +1 -0
  12. package/dist/analytics/cohort.js +170 -0
  13. package/dist/analytics/cohort.js.map +1 -0
  14. package/dist/analytics/correlation.d.ts +15 -0
  15. package/dist/analytics/correlation.d.ts.map +1 -0
  16. package/dist/analytics/correlation.js +116 -0
  17. package/dist/analytics/correlation.js.map +1 -0
  18. package/dist/analytics/crosstab.d.ts +27 -0
  19. package/dist/analytics/crosstab.d.ts.map +1 -0
  20. package/dist/analytics/crosstab.js +90 -0
  21. package/dist/analytics/crosstab.js.map +1 -0
  22. package/dist/analytics/entropy.d.ts +23 -0
  23. package/dist/analytics/entropy.d.ts.map +1 -0
  24. package/dist/analytics/entropy.js +180 -0
  25. package/dist/analytics/entropy.js.map +1 -0
  26. package/dist/analytics/funnel.d.ts +29 -0
  27. package/dist/analytics/funnel.d.ts.map +1 -0
  28. package/dist/analytics/funnel.js +170 -0
  29. package/dist/analytics/funnel.js.map +1 -0
  30. package/dist/analytics/ngrams.d.ts +25 -0
  31. package/dist/analytics/ngrams.d.ts.map +1 -0
  32. package/dist/analytics/ngrams.js +110 -0
  33. package/dist/analytics/ngrams.js.map +1 -0
  34. package/dist/analytics/outliers.d.ts +25 -0
  35. package/dist/analytics/outliers.d.ts.map +1 -0
  36. package/dist/analytics/outliers.js +114 -0
  37. package/dist/analytics/outliers.js.map +1 -0
  38. package/dist/analytics/pareto.d.ts +36 -0
  39. package/dist/analytics/pareto.d.ts.map +1 -0
  40. package/dist/analytics/pareto.js +140 -0
  41. package/dist/analytics/pareto.js.map +1 -0
  42. package/dist/analytics/quantiles.d.ts +18 -0
  43. package/dist/analytics/quantiles.d.ts.map +1 -0
  44. package/dist/analytics/quantiles.js +62 -0
  45. package/dist/analytics/quantiles.js.map +1 -0
  46. package/dist/analytics/regression.d.ts +18 -0
  47. package/dist/analytics/regression.d.ts.map +1 -0
  48. package/dist/analytics/regression.js +79 -0
  49. package/dist/analytics/regression.js.map +1 -0
  50. package/dist/analytics/rfm.d.ts +41 -0
  51. package/dist/analytics/rfm.d.ts.map +1 -0
  52. package/dist/analytics/rfm.js +221 -0
  53. package/dist/analytics/rfm.js.map +1 -0
  54. package/dist/analytics/stats.d.ts.map +1 -1
  55. package/dist/analytics/stats.js +65 -15
  56. package/dist/analytics/stats.js.map +1 -1
  57. package/dist/analytics/technical.d.ts +19 -0
  58. package/dist/analytics/technical.d.ts.map +1 -0
  59. package/dist/analytics/technical.js +365 -0
  60. package/dist/analytics/technical.js.map +1 -0
  61. package/dist/cli/commands/abtest.d.ts +10 -0
  62. package/dist/cli/commands/abtest.d.ts.map +1 -0
  63. package/dist/cli/commands/abtest.js +68 -0
  64. package/dist/cli/commands/abtest.js.map +1 -0
  65. package/dist/cli/commands/cluster.d.ts +9 -0
  66. package/dist/cli/commands/cluster.d.ts.map +1 -0
  67. package/dist/cli/commands/cluster.js +77 -0
  68. package/dist/cli/commands/cluster.js.map +1 -0
  69. package/dist/cli/commands/cohort.d.ts +10 -0
  70. package/dist/cli/commands/cohort.d.ts.map +1 -0
  71. package/dist/cli/commands/cohort.js +66 -0
  72. package/dist/cli/commands/cohort.js.map +1 -0
  73. package/dist/cli/commands/completion.d.ts +5 -0
  74. package/dist/cli/commands/completion.d.ts.map +1 -0
  75. package/dist/cli/commands/completion.js +7 -0
  76. package/dist/cli/commands/completion.js.map +1 -0
  77. package/dist/cli/commands/concat.d.ts +9 -0
  78. package/dist/cli/commands/concat.d.ts.map +1 -0
  79. package/dist/cli/commands/concat.js +62 -0
  80. package/dist/cli/commands/concat.js.map +1 -0
  81. package/dist/cli/commands/convert.d.ts +2 -0
  82. package/dist/cli/commands/convert.d.ts.map +1 -1
  83. package/dist/cli/commands/convert.js.map +1 -1
  84. package/dist/cli/commands/corr.d.ts +7 -0
  85. package/dist/cli/commands/corr.d.ts.map +1 -0
  86. package/dist/cli/commands/corr.js +70 -0
  87. package/dist/cli/commands/corr.js.map +1 -0
  88. package/dist/cli/commands/crosstab.d.ts +11 -0
  89. package/dist/cli/commands/crosstab.d.ts.map +1 -0
  90. package/dist/cli/commands/crosstab.js +71 -0
  91. package/dist/cli/commands/crosstab.js.map +1 -0
  92. package/dist/cli/commands/entropy.d.ts +9 -0
  93. package/dist/cli/commands/entropy.d.ts.map +1 -0
  94. package/dist/cli/commands/entropy.js +71 -0
  95. package/dist/cli/commands/entropy.js.map +1 -0
  96. package/dist/cli/commands/explode.d.ts +8 -0
  97. package/dist/cli/commands/explode.d.ts.map +1 -0
  98. package/dist/cli/commands/explode.js +61 -0
  99. package/dist/cli/commands/explode.js.map +1 -0
  100. package/dist/cli/commands/fetch.d.ts +8 -0
  101. package/dist/cli/commands/fetch.d.ts.map +1 -0
  102. package/dist/cli/commands/fetch.js +41 -0
  103. package/dist/cli/commands/fetch.js.map +1 -0
  104. package/dist/cli/commands/files.d.ts +1 -1
  105. package/dist/cli/commands/files.d.ts.map +1 -1
  106. package/dist/cli/commands/flatten.d.ts +8 -0
  107. package/dist/cli/commands/flatten.d.ts.map +1 -0
  108. package/dist/cli/commands/flatten.js +57 -0
  109. package/dist/cli/commands/flatten.js.map +1 -0
  110. package/dist/cli/commands/freq.d.ts +10 -0
  111. package/dist/cli/commands/freq.d.ts.map +1 -0
  112. package/dist/cli/commands/freq.js +122 -0
  113. package/dist/cli/commands/freq.js.map +1 -0
  114. package/dist/cli/commands/funnel.d.ts +11 -0
  115. package/dist/cli/commands/funnel.d.ts.map +1 -0
  116. package/dist/cli/commands/funnel.js +69 -0
  117. package/dist/cli/commands/funnel.js.map +1 -0
  118. package/dist/cli/commands/fuzzy-join.d.ts +25 -0
  119. package/dist/cli/commands/fuzzy-join.d.ts.map +1 -0
  120. package/dist/cli/commands/fuzzy-join.js +85 -0
  121. package/dist/cli/commands/fuzzy-join.js.map +1 -0
  122. package/dist/cli/commands/generate.d.ts +8 -0
  123. package/dist/cli/commands/generate.d.ts.map +1 -0
  124. package/dist/cli/commands/generate.js +34 -0
  125. package/dist/cli/commands/generate.js.map +1 -0
  126. package/dist/cli/commands/mask.d.ts +6 -0
  127. package/dist/cli/commands/mask.d.ts.map +1 -0
  128. package/dist/cli/commands/mask.js +58 -0
  129. package/dist/cli/commands/mask.js.map +1 -0
  130. package/dist/cli/commands/ngrams.d.ts +11 -0
  131. package/dist/cli/commands/ngrams.d.ts.map +1 -0
  132. package/dist/cli/commands/ngrams.js +70 -0
  133. package/dist/cli/commands/ngrams.js.map +1 -0
  134. package/dist/cli/commands/outliers.d.ts +13 -0
  135. package/dist/cli/commands/outliers.d.ts.map +1 -0
  136. package/dist/cli/commands/outliers.js +58 -0
  137. package/dist/cli/commands/outliers.js.map +1 -0
  138. package/dist/cli/commands/pareto.d.ts +8 -0
  139. package/dist/cli/commands/pareto.d.ts.map +1 -0
  140. package/dist/cli/commands/pareto.js +80 -0
  141. package/dist/cli/commands/pareto.js.map +1 -0
  142. package/dist/cli/commands/partition.d.ts +8 -0
  143. package/dist/cli/commands/partition.d.ts.map +1 -0
  144. package/dist/cli/commands/partition.js +44 -0
  145. package/dist/cli/commands/partition.js.map +1 -0
  146. package/dist/cli/commands/pipeline.d.ts +6 -0
  147. package/dist/cli/commands/pipeline.d.ts.map +1 -1
  148. package/dist/cli/commands/pipeline.js +22 -0
  149. package/dist/cli/commands/pipeline.js.map +1 -1
  150. package/dist/cli/commands/pivot.d.ts +11 -0
  151. package/dist/cli/commands/pivot.d.ts.map +1 -0
  152. package/dist/cli/commands/pivot.js +58 -0
  153. package/dist/cli/commands/pivot.js.map +1 -0
  154. package/dist/cli/commands/plot.d.ts +12 -0
  155. package/dist/cli/commands/plot.d.ts.map +1 -0
  156. package/dist/cli/commands/plot.js +123 -0
  157. package/dist/cli/commands/plot.js.map +1 -0
  158. package/dist/cli/commands/quantiles.d.ts +7 -0
  159. package/dist/cli/commands/quantiles.d.ts.map +1 -0
  160. package/dist/cli/commands/quantiles.js +94 -0
  161. package/dist/cli/commands/quantiles.js.map +1 -0
  162. package/dist/cli/commands/regression.d.ts +7 -0
  163. package/dist/cli/commands/regression.d.ts.map +1 -0
  164. package/dist/cli/commands/regression.js +86 -0
  165. package/dist/cli/commands/regression.js.map +1 -0
  166. package/dist/cli/commands/report.d.ts +8 -0
  167. package/dist/cli/commands/report.d.ts.map +1 -0
  168. package/dist/cli/commands/report.js +36 -0
  169. package/dist/cli/commands/report.js.map +1 -0
  170. package/dist/cli/commands/rfm.d.ts +11 -0
  171. package/dist/cli/commands/rfm.d.ts.map +1 -0
  172. package/dist/cli/commands/rfm.js +78 -0
  173. package/dist/cli/commands/rfm.js.map +1 -0
  174. package/dist/cli/commands/serve.d.ts +7 -0
  175. package/dist/cli/commands/serve.d.ts.map +1 -0
  176. package/dist/cli/commands/serve.js +43 -0
  177. package/dist/cli/commands/serve.js.map +1 -0
  178. package/dist/cli/commands/split.d.ts +8 -0
  179. package/dist/cli/commands/split.d.ts.map +1 -0
  180. package/dist/cli/commands/split.js +43 -0
  181. package/dist/cli/commands/split.js.map +1 -0
  182. package/dist/cli/commands/table.d.ts +9 -0
  183. package/dist/cli/commands/table.d.ts.map +1 -0
  184. package/dist/cli/commands/table.js +9 -0
  185. package/dist/cli/commands/table.js.map +1 -0
  186. package/dist/cli/commands/technical.d.ts +8 -0
  187. package/dist/cli/commands/technical.d.ts.map +1 -0
  188. package/dist/cli/commands/technical.js +54 -0
  189. package/dist/cli/commands/technical.js.map +1 -0
  190. package/dist/cli/commands/test.d.ts +7 -0
  191. package/dist/cli/commands/test.d.ts.map +1 -0
  192. package/dist/cli/commands/test.js +53 -0
  193. package/dist/cli/commands/test.js.map +1 -0
  194. package/dist/cli/commands/timeseries.d.ts +11 -0
  195. package/dist/cli/commands/timeseries.d.ts.map +1 -0
  196. package/dist/cli/commands/timeseries.js +82 -0
  197. package/dist/cli/commands/timeseries.js.map +1 -0
  198. package/dist/cli/commands/unpivot.d.ts +12 -0
  199. package/dist/cli/commands/unpivot.d.ts.map +1 -0
  200. package/dist/cli/commands/unpivot.js +59 -0
  201. package/dist/cli/commands/unpivot.js.map +1 -0
  202. package/dist/cli/completion.d.ts +5 -0
  203. package/dist/cli/completion.d.ts.map +1 -0
  204. package/dist/cli/completion.js +194 -0
  205. package/dist/cli/completion.js.map +1 -0
  206. package/dist/cli/index.js +816 -15
  207. package/dist/cli/index.js.map +1 -1
  208. package/dist/core/error-handler.d.ts +38 -0
  209. package/dist/core/error-handler.d.ts.map +1 -0
  210. package/dist/core/error-handler.js +81 -0
  211. package/dist/core/error-handler.js.map +1 -0
  212. package/dist/core/pipeline.d.ts +10 -0
  213. package/dist/core/pipeline.d.ts.map +1 -1
  214. package/dist/core/pipeline.js +14 -0
  215. package/dist/core/pipeline.js.map +1 -1
  216. package/dist/core/types.d.ts +4 -0
  217. package/dist/core/types.d.ts.map +1 -1
  218. package/dist/dataops/fetch.d.ts +27 -0
  219. package/dist/dataops/fetch.d.ts.map +1 -0
  220. package/dist/dataops/fetch.js +150 -0
  221. package/dist/dataops/fetch.js.map +1 -0
  222. package/dist/dataops/generate.d.ts +16 -0
  223. package/dist/dataops/generate.d.ts.map +1 -0
  224. package/dist/dataops/generate.js +201 -0
  225. package/dist/dataops/generate.js.map +1 -0
  226. package/dist/dataops/mask.d.ts +25 -0
  227. package/dist/dataops/mask.d.ts.map +1 -0
  228. package/dist/dataops/mask.js +133 -0
  229. package/dist/dataops/mask.js.map +1 -0
  230. package/dist/dataops/report.d.ts +7 -0
  231. package/dist/dataops/report.d.ts.map +1 -0
  232. package/dist/dataops/report.js +139 -0
  233. package/dist/dataops/report.js.map +1 -0
  234. package/dist/dataops/server.d.ts +10 -0
  235. package/dist/dataops/server.d.ts.map +1 -0
  236. package/dist/dataops/server.js +137 -0
  237. package/dist/dataops/server.js.map +1 -0
  238. package/dist/dataops/test-runner.d.ts +34 -0
  239. package/dist/dataops/test-runner.d.ts.map +1 -0
  240. package/dist/dataops/test-runner.js +128 -0
  241. package/dist/dataops/test-runner.js.map +1 -0
  242. package/dist/db/adapters/sqlite.d.ts +2 -1
  243. package/dist/db/adapters/sqlite.d.ts.map +1 -1
  244. package/dist/db/adapters/sqlite.js +54 -20
  245. package/dist/db/adapters/sqlite.js.map +1 -1
  246. package/dist/diff/engine.d.ts.map +1 -1
  247. package/dist/diff/engine.js +73 -16
  248. package/dist/diff/engine.js.map +1 -1
  249. package/dist/diff/storage/disk-index.d.ts +10 -1
  250. package/dist/diff/storage/disk-index.d.ts.map +1 -1
  251. package/dist/diff/storage/disk-index.js +95 -13
  252. package/dist/diff/storage/disk-index.js.map +1 -1
  253. package/dist/files/hash.d.ts +9 -2
  254. package/dist/files/hash.d.ts.map +1 -1
  255. package/dist/files/hash.js +9 -10
  256. package/dist/files/hash.js.map +1 -1
  257. package/dist/files/reader.d.ts.map +1 -1
  258. package/dist/files/reader.js +17 -10
  259. package/dist/files/reader.js.map +1 -1
  260. package/dist/files/types.d.ts +2 -1
  261. package/dist/files/types.d.ts.map +1 -1
  262. package/dist/index.d.ts +65 -1
  263. package/dist/index.d.ts.map +1 -1
  264. package/dist/index.js +66 -1
  265. package/dist/index.js.map +1 -1
  266. package/dist/planner/executor.d.ts.map +1 -1
  267. package/dist/planner/executor.js +17 -0
  268. package/dist/planner/executor.js.map +1 -1
  269. package/dist/planner/types.d.ts +11 -0
  270. package/dist/planner/types.d.ts.map +1 -1
  271. package/dist/readers/csv.d.ts.map +1 -1
  272. package/dist/readers/csv.js +206 -164
  273. package/dist/readers/csv.js.map +1 -1
  274. package/dist/readers/json.d.ts.map +1 -1
  275. package/dist/readers/json.js +145 -121
  276. package/dist/readers/json.js.map +1 -1
  277. package/dist/readers/jsonl.d.ts.map +1 -1
  278. package/dist/readers/jsonl.js +51 -31
  279. package/dist/readers/jsonl.js.map +1 -1
  280. package/dist/rowpipe +4 -0
  281. package/dist/transforms/concat.d.ts +26 -0
  282. package/dist/transforms/concat.d.ts.map +1 -0
  283. package/dist/transforms/concat.js +57 -0
  284. package/dist/transforms/concat.js.map +1 -0
  285. package/dist/transforms/explode.d.ts +14 -0
  286. package/dist/transforms/explode.d.ts.map +1 -0
  287. package/dist/transforms/explode.js +81 -0
  288. package/dist/transforms/explode.js.map +1 -0
  289. package/dist/transforms/flatten.d.ts +12 -0
  290. package/dist/transforms/flatten.d.ts.map +1 -0
  291. package/dist/transforms/flatten.js +65 -0
  292. package/dist/transforms/flatten.js.map +1 -0
  293. package/dist/transforms/fuzzy-join.d.ts +53 -0
  294. package/dist/transforms/fuzzy-join.d.ts.map +1 -0
  295. package/dist/transforms/fuzzy-join.js +347 -0
  296. package/dist/transforms/fuzzy-join.js.map +1 -0
  297. package/dist/transforms/jit-compiler.d.ts.map +1 -1
  298. package/dist/transforms/jit-compiler.js +103 -14
  299. package/dist/transforms/jit-compiler.js.map +1 -1
  300. package/dist/transforms/join/index-storage.d.ts +8 -5
  301. package/dist/transforms/join/index-storage.d.ts.map +1 -1
  302. package/dist/transforms/join/index-storage.js +91 -54
  303. package/dist/transforms/join/index-storage.js.map +1 -1
  304. package/dist/transforms/map.d.ts +6 -2
  305. package/dist/transforms/map.d.ts.map +1 -1
  306. package/dist/transforms/map.js +64 -26
  307. package/dist/transforms/map.js.map +1 -1
  308. package/dist/transforms/partition.d.ts +35 -0
  309. package/dist/transforms/partition.d.ts.map +1 -0
  310. package/dist/transforms/partition.js +150 -0
  311. package/dist/transforms/partition.js.map +1 -0
  312. package/dist/transforms/pivot.d.ts +16 -0
  313. package/dist/transforms/pivot.d.ts.map +1 -0
  314. package/dist/transforms/pivot.js +194 -0
  315. package/dist/transforms/pivot.js.map +1 -0
  316. package/dist/transforms/sort/comparator.d.ts.map +1 -1
  317. package/dist/transforms/sort/comparator.js +153 -24
  318. package/dist/transforms/sort/comparator.js.map +1 -1
  319. package/dist/transforms/sort/external-sort.js +1 -1
  320. package/dist/transforms/sort/external-sort.js.map +1 -1
  321. package/dist/transforms/split.d.ts +17 -0
  322. package/dist/transforms/split.d.ts.map +1 -0
  323. package/dist/transforms/split.js +88 -0
  324. package/dist/transforms/split.js.map +1 -0
  325. package/dist/transforms/timeseries.d.ts +42 -0
  326. package/dist/transforms/timeseries.d.ts.map +1 -0
  327. package/dist/transforms/timeseries.js +276 -0
  328. package/dist/transforms/timeseries.js.map +1 -0
  329. package/dist/transforms/unpivot.d.ts +14 -0
  330. package/dist/transforms/unpivot.d.ts.map +1 -0
  331. package/dist/transforms/unpivot.js +56 -0
  332. package/dist/transforms/unpivot.js.map +1 -0
  333. package/dist/ui/chart.d.ts +30 -0
  334. package/dist/ui/chart.d.ts.map +1 -0
  335. package/dist/ui/chart.js +91 -0
  336. package/dist/ui/chart.js.map +1 -0
  337. package/dist/writers/index.d.ts +1 -0
  338. package/dist/writers/index.d.ts.map +1 -1
  339. package/dist/writers/index.js +10 -0
  340. package/dist/writers/index.js.map +1 -1
  341. package/dist/writers/table.d.ts +23 -0
  342. package/dist/writers/table.d.ts.map +1 -0
  343. package/dist/writers/table.js +156 -0
  344. package/dist/writers/table.js.map +1 -0
  345. package/package.json +6 -3
@@ -43,39 +43,117 @@ export function parseSortSpecs(input, defaults = {}) {
43
43
  };
44
44
  });
45
45
  }
46
+ /**
47
+ * Fast zero-allocation numeric check for strings without RegExp or .trim() allocations.
48
+ */
49
+ function parseIfNumeric(val) {
50
+ const len = val.length;
51
+ if (len === 0)
52
+ return null;
53
+ let i = 0;
54
+ while (i < len && val.charCodeAt(i) <= 32)
55
+ i++;
56
+ if (i === len)
57
+ return null;
58
+ const first = val.charCodeAt(i);
59
+ if ((first < 48 || first > 57) && first !== 45 && first !== 43 && first !== 46) {
60
+ return null;
61
+ }
62
+ let hasDot = first === 46;
63
+ let j = (first === 45 || first === 43 || first === 46) ? i + 1 : i;
64
+ if (j === len)
65
+ return null;
66
+ for (; j < len; j++) {
67
+ const c = val.charCodeAt(j);
68
+ if (c >= 48 && c <= 57)
69
+ continue;
70
+ if (c === 46 && !hasDot) {
71
+ hasDot = true;
72
+ continue;
73
+ }
74
+ if (c <= 32) {
75
+ for (let k = j + 1; k < len; k++) {
76
+ if (val.charCodeAt(k) > 32) {
77
+ return null;
78
+ }
79
+ }
80
+ break;
81
+ }
82
+ return null;
83
+ }
84
+ const num = Number(val);
85
+ return Number.isNaN(num) ? null : num;
86
+ }
46
87
  /**
47
88
  * Compares two primitive values with typed semantics (numbers, dates, booleans, strings).
48
89
  */
49
90
  export function compareValues(a, b, spec) {
91
+ if (a === b)
92
+ return 0;
50
93
  const isANull = a === null || a === undefined || a === "";
51
94
  const isBNull = b === null || b === undefined || b === "";
52
- if (isANull && isBNull)
53
- return 0;
54
- if (isANull)
55
- return spec.nulls === "first" ? -1 : 1;
56
- if (isBNull)
95
+ if (isANull || isBNull) {
96
+ if (isANull && isBNull)
97
+ return 0;
98
+ if (isANull)
99
+ return spec.nulls === "first" ? -1 : 1;
57
100
  return spec.nulls === "first" ? 1 : -1;
58
- // Number comparison (including numeric strings)
59
- const isANum = typeof a === "number" || (typeof a === "string" && /^-?\d+(\.\d+)?$/.test(a.trim()));
60
- const isBNum = typeof b === "number" || (typeof b === "string" && /^-?\d+(\.\d+)?$/.test(b.trim()));
61
- if (isANum && isBNum) {
62
- const numA = typeof a === "number" ? a : Number.parseFloat(a);
63
- const numB = typeof b === "number" ? b : Number.parseFloat(b);
64
- if (!Number.isNaN(numA) && !Number.isNaN(numB)) {
65
- return numA < numB ? -1 : numA > numB ? 1 : 0;
101
+ }
102
+ const typeA = typeof a;
103
+ const typeB = typeof b;
104
+ // 1. Both are Numbers (Fastest path)
105
+ if (typeA === "number" && typeB === "number") {
106
+ const numA = a;
107
+ const numB = b;
108
+ return numA < numB ? -1 : numA > numB ? 1 : 0;
109
+ }
110
+ // 2. Both are Strings (Extremely common in CSV / tabular datasets)
111
+ if (typeA === "string" && typeB === "string") {
112
+ const strA = a;
113
+ const strB = b;
114
+ const codeA = strA.charCodeAt(0);
115
+ const codeB = strB.charCodeAt(0);
116
+ // Fast check: if either starts with a normal non-numeric character (e.g. 'A'-'Z', 'a'-'z'),
117
+ // skip numeric parsing completely!
118
+ const isPotentiallyNumA = (codeA >= 48 && codeA <= 57) || codeA === 45 || codeA === 43 || codeA === 46;
119
+ const isPotentiallyNumB = (codeB >= 48 && codeB <= 57) || codeB === 45 || codeB === 43 || codeB === 46;
120
+ if (isPotentiallyNumA && isPotentiallyNumB) {
121
+ const numA = parseIfNumeric(strA);
122
+ const numB = parseIfNumeric(strB);
123
+ if (numA !== null && numB !== null) {
124
+ return numA < numB ? -1 : numA > numB ? 1 : 0;
125
+ }
126
+ }
127
+ if (spec.natural) {
128
+ return strA.localeCompare(strB, undefined, {
129
+ numeric: true,
130
+ sensitivity: spec.ignoreCase ? "base" : "variant",
131
+ });
132
+ }
133
+ if (spec.ignoreCase) {
134
+ const lowerA = strA.toLowerCase();
135
+ const lowerB = strB.toLowerCase();
136
+ return lowerA < lowerB ? -1 : lowerA > lowerB ? 1 : 0;
66
137
  }
138
+ return strA < strB ? -1 : strA > strB ? 1 : 0;
67
139
  }
68
- // Boolean comparison
69
- if (typeof a === "boolean" || typeof b === "boolean") {
140
+ // 3. Mixed Types (one number, one string, etc.)
141
+ const numA = typeA === "number" ? a : (typeA === "string" ? parseIfNumeric(a) : null);
142
+ const numB = typeB === "number" ? b : (typeB === "string" ? parseIfNumeric(b) : null);
143
+ if (numA !== null && numB !== null) {
144
+ return numA < numB ? -1 : numA > numB ? 1 : 0;
145
+ }
146
+ // 4. Boolean comparison
147
+ if (typeA === "boolean" || typeB === "boolean") {
70
148
  const boolA = Boolean(a);
71
149
  const boolB = Boolean(b);
72
150
  return boolA === boolB ? 0 : boolA ? 1 : -1;
73
151
  }
74
- // Date comparison
152
+ // 5. Date comparison
75
153
  if (a instanceof Date && b instanceof Date) {
76
154
  return a.getTime() - b.getTime();
77
155
  }
78
- // String comparison
156
+ // 6. General fallback
79
157
  const strA = String(a);
80
158
  const strB = String(b);
81
159
  if (spec.natural) {
@@ -95,19 +173,46 @@ export function compareValues(a, b, spec) {
95
173
  * Creates a deterministic, multi-column, stable row comparator.
96
174
  */
97
175
  export function createRowComparator(specs) {
176
+ if (specs.length === 1) {
177
+ const spec = specs[0];
178
+ const col = spec.column;
179
+ const isDesc = spec.direction === "desc";
180
+ return (aObj, bObj) => {
181
+ const cmp = compareValues(aObj.row[col], bObj.row[col], spec);
182
+ if (cmp !== 0)
183
+ return isDesc ? -cmp : cmp;
184
+ return aObj.seq - bObj.seq;
185
+ };
186
+ }
187
+ if (specs.length === 2) {
188
+ const spec0 = specs[0];
189
+ const col0 = spec0.column;
190
+ const isDesc0 = spec0.direction === "desc";
191
+ const spec1 = specs[1];
192
+ const col1 = spec1.column;
193
+ const isDesc1 = spec1.direction === "desc";
194
+ return (aObj, bObj) => {
195
+ const a = aObj.row;
196
+ const b = bObj.row;
197
+ let cmp = compareValues(a[col0], b[col0], spec0);
198
+ if (cmp !== 0)
199
+ return isDesc0 ? -cmp : cmp;
200
+ cmp = compareValues(a[col1], b[col1], spec1);
201
+ if (cmp !== 0)
202
+ return isDesc1 ? -cmp : cmp;
203
+ return aObj.seq - bObj.seq;
204
+ };
205
+ }
98
206
  return (aObj, bObj) => {
99
207
  const a = aObj.row;
100
208
  const b = bObj.row;
101
209
  for (let i = 0; i < specs.length; i++) {
102
210
  const spec = specs[i];
103
- const valA = a[spec.column];
104
- const valB = b[spec.column];
105
- const cmp = compareValues(valA, valB, spec);
211
+ const cmp = compareValues(a[spec.column], b[spec.column], spec);
106
212
  if (cmp !== 0) {
107
213
  return spec.direction === "desc" ? -cmp : cmp;
108
214
  }
109
215
  }
110
- // Preserve original insertion sequence for stability
111
216
  return aObj.seq - bObj.seq;
112
217
  };
113
218
  }
@@ -115,12 +220,36 @@ export function createRowComparator(specs) {
115
220
  * Creates a raw Row comparator (without seq).
116
221
  */
117
222
  export function createRawRowComparator(specs) {
223
+ if (specs.length === 1) {
224
+ const spec = specs[0];
225
+ const col = spec.column;
226
+ const isDesc = spec.direction === "desc";
227
+ return (a, b) => {
228
+ const cmp = compareValues(a[col], b[col], spec);
229
+ return isDesc ? -cmp : cmp;
230
+ };
231
+ }
232
+ if (specs.length === 2) {
233
+ const spec0 = specs[0];
234
+ const col0 = spec0.column;
235
+ const isDesc0 = spec0.direction === "desc";
236
+ const spec1 = specs[1];
237
+ const col1 = spec1.column;
238
+ const isDesc1 = spec1.direction === "desc";
239
+ return (a, b) => {
240
+ let cmp = compareValues(a[col0], b[col0], spec0);
241
+ if (cmp !== 0)
242
+ return isDesc0 ? -cmp : cmp;
243
+ cmp = compareValues(a[col1], b[col1], spec1);
244
+ if (cmp !== 0)
245
+ return isDesc1 ? -cmp : cmp;
246
+ return 0;
247
+ };
248
+ }
118
249
  return (a, b) => {
119
250
  for (let i = 0; i < specs.length; i++) {
120
251
  const spec = specs[i];
121
- const valA = a[spec.column];
122
- const valB = b[spec.column];
123
- const cmp = compareValues(valA, valB, spec);
252
+ const cmp = compareValues(a[spec.column], b[spec.column], spec);
124
253
  if (cmp !== 0) {
125
254
  return spec.direction === "desc" ? -cmp : cmp;
126
255
  }
@@ -1 +1 @@
1
- {"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/transforms/sort/comparator.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAwC,EACxC,WAKI,EAAE;IAEN,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,IAAI,KAAK,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7E,OAAQ,KAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,IAAI;YACP,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,WAAW;YACxC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,MAAM;YAC7C,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,IAAI,KAAK;YAC3D,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,KAAK;SACnD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,SAAyB,CAAC;QAC9B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,WAAW,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,MAAM;YACN,SAAS;YACT,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,MAAM;YAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,KAAK;YACxC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,KAAK;SACnC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,CAAU,EACV,CAAU,EACV,IAAiB;IAEjB,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;IAE1D,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO,CAAC,CAAC;IACjC,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,gDAAgD;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpG,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAW,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAW,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,oBAAoB;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE;YACzC,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,OAAO,CAAC,IAAkB,EAAE,IAAkB,EAAU,EAAE;QACxD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE5B,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAChD,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAoB;IACzD,OAAO,CAAC,CAAM,EAAE,CAAM,EAAU,EAAE;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE5B,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/transforms/sort/comparator.ts"],"names":[],"mappings":"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"}
@@ -112,7 +112,7 @@ export function externalSort(options) {
112
112
  iterators[i] = rl[Symbol.asyncIterator]();
113
113
  }
114
114
  const heapComparator = (a, b) => {
115
- return rowComparator({ row: a.row, seq: a.seq }, { row: b.row, seq: b.seq });
115
+ return rowComparator(a, b);
116
116
  };
117
117
  const heap = new Heap(heapComparator);
118
118
  // Prime the heap with 1 item from each run
@@ -1 +1 @@
1
- {"version":3,"file":"external-sort.js","sourceRoot":"","sources":["../../../src/transforms/sort/external-sort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-sort.js","sourceRoot":"","sources":["../../../src/transforms/sort/external-sort.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { DataStream } from "../core/types.js";
2
+ export interface SplitOptions {
3
+ chunkSize?: number;
4
+ outPattern: string;
5
+ format?: string;
6
+ delimiter?: string;
7
+ sheet?: string;
8
+ }
9
+ /**
10
+ * Splits an input stream into sequential chunk files based on row count.
11
+ */
12
+ export declare function splitStream(stream: DataStream, options: SplitOptions): Promise<{
13
+ fileCount: number;
14
+ rowCount: number;
15
+ files: string[];
16
+ }>;
17
+ //# sourceMappingURL=split.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/transforms/split.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAGvE,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwBD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuEnE"}
@@ -0,0 +1,88 @@
1
+ import { mkdirSync, existsSync } from "node:fs";
2
+ import { dirname } from "node:path";
3
+ import { createWriter } from "../writers/index.js";
4
+ function formatChunkPath(pattern, partIndex) {
5
+ let result = pattern;
6
+ // Handle zero-padded formatting like {n:03d}, {n:04d}
7
+ result = result.replace(/\{n(?::0?(\d+)d)?\}/g, (_match, padStr) => {
8
+ const padLen = padStr ? parseInt(padStr, 10) : 0;
9
+ return padLen > 0 ? String(partIndex).padStart(padLen, "0") : String(partIndex);
10
+ });
11
+ // If no placeholder was present, append _partN before extension
12
+ if (!pattern.includes("{n")) {
13
+ const lastDot = pattern.lastIndexOf(".");
14
+ if (lastDot > 0) {
15
+ result = `${pattern.slice(0, lastDot)}_part${partIndex}${pattern.slice(lastDot)}`;
16
+ }
17
+ else {
18
+ result = `${pattern}_part${partIndex}`;
19
+ }
20
+ }
21
+ return result;
22
+ }
23
+ /**
24
+ * Splits an input stream into sequential chunk files based on row count.
25
+ */
26
+ export async function splitStream(stream, options) {
27
+ const chunkSize = Math.max(1, options.chunkSize || 100000);
28
+ const createdFiles = [];
29
+ let partIndex = 1;
30
+ let currentChunkRows = [];
31
+ let currentWriter = null;
32
+ let totalRows = 0;
33
+ async function openWriterForPart(index) {
34
+ const filePath = formatChunkPath(options.outPattern, index);
35
+ const dir = dirname(filePath);
36
+ if (dir && dir !== "." && !existsSync(dir)) {
37
+ mkdirSync(dir, { recursive: true });
38
+ }
39
+ createdFiles.push(filePath);
40
+ return createWriter(filePath, {
41
+ format: options.format,
42
+ delimiter: options.delimiter,
43
+ });
44
+ }
45
+ for await (const batch of stream) {
46
+ for (const row of batch.rows) {
47
+ if (!currentWriter) {
48
+ currentWriter = await openWriterForPart(partIndex);
49
+ }
50
+ currentChunkRows.push(row);
51
+ totalRows++;
52
+ if (currentChunkRows.length >= chunkSize) {
53
+ const rowsToWrite = currentChunkRows;
54
+ currentChunkRows = [];
55
+ async function* chunkBatch() {
56
+ yield { rows: rowsToWrite, offset: 0 };
57
+ }
58
+ await currentWriter.write(chunkBatch());
59
+ if (currentWriter.close) {
60
+ await currentWriter.close();
61
+ }
62
+ currentWriter = null;
63
+ partIndex++;
64
+ }
65
+ }
66
+ }
67
+ // Flush any remaining rows in the last chunk
68
+ if (currentChunkRows.length > 0) {
69
+ if (!currentWriter) {
70
+ currentWriter = await openWriterForPart(partIndex);
71
+ }
72
+ const rowsToWrite = currentChunkRows;
73
+ currentChunkRows = [];
74
+ async function* chunkBatch() {
75
+ yield { rows: rowsToWrite, offset: 0 };
76
+ }
77
+ await currentWriter.write(chunkBatch());
78
+ }
79
+ if (currentWriter && currentWriter.close) {
80
+ await currentWriter.close();
81
+ }
82
+ return {
83
+ fileCount: createdFiles.length,
84
+ rowCount: totalRows,
85
+ files: createdFiles,
86
+ };
87
+ }
88
+ //# sourceMappingURL=split.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split.js","sourceRoot":"","sources":["../../src/transforms/split.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { TransformFunction } from "../core/types.js";
2
+ export type GapFillMethod = "ffill" | "bfill" | "zero" | "null" | "linear";
3
+ export interface TimeseriesAggSpec {
4
+ fn: "avg" | "sum" | "min" | "max" | "first" | "last" | "count";
5
+ column: string;
6
+ alias?: string;
7
+ }
8
+ export interface TimeseriesOptions {
9
+ timeCol: string;
10
+ interval?: string;
11
+ aggregations?: TimeseriesAggSpec[];
12
+ fillGaps?: GapFillMethod;
13
+ timeFormat?: "iso" | "epoch_ms" | "epoch_s" | "date_only";
14
+ }
15
+ /**
16
+ * Parses time interval strings like '5s', '1m', '15m', '1h', '1d', '1w', '1mo', '1y' into milliseconds or interval units.
17
+ */
18
+ export declare function parseTimeInterval(intervalStr?: string): {
19
+ ms: number;
20
+ unit?: "mo" | "y";
21
+ };
22
+ /**
23
+ * Robust timestamp parser supporting ISO-8601 strings, UNIX epoch seconds/ms, and Date representations.
24
+ */
25
+ export declare function parseTimestamp(val: any): number | null;
26
+ /**
27
+ * Floors a timestamp to the closest time bucket boundary.
28
+ */
29
+ export declare function floorToBucket(ts: number, parsedInterval: {
30
+ ms: number;
31
+ unit?: "mo" | "y";
32
+ }): number;
33
+ /**
34
+ * Formats a millisecond timestamp for output.
35
+ */
36
+ export declare function formatTimestamp(ts: number, format?: "iso" | "epoch_ms" | "epoch_s" | "date_only"): string | number;
37
+ export declare function parseTimeseriesAggSpecs(specs: string[]): TimeseriesAggSpec[];
38
+ /**
39
+ * Streaming timeseries resampler and gap filler transform.
40
+ */
41
+ export declare function resampleTimeseries(options: TimeseriesOptions): TransformFunction;
42
+ //# sourceMappingURL=timeseries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeseries.d.ts","sourceRoot":"","sources":["../../src/transforms/timeseries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;CAC3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,SAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,CAAA;CAAE,CAsBvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAyBtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,CAAA;CAAE,GAAG,MAAM,CAUnG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,WAAmB,GAAG,MAAM,GAAG,MAAM,CAMzH;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAe5E;AAaD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CAiLhF"}