@uwdata/mosaic-sql 0.17.0 → 0.18.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 (409) hide show
  1. package/LICENSE +47 -0
  2. package/README.md +0 -2
  3. package/dist/src/ast/aggregate.d.ts +82 -0
  4. package/dist/src/ast/aggregate.d.ts.map +1 -0
  5. package/dist/src/ast/aggregate.js +180 -0
  6. package/dist/src/ast/aggregate.js.map +1 -0
  7. package/dist/src/ast/between-op.d.ts +46 -0
  8. package/dist/src/ast/between-op.d.ts.map +1 -0
  9. package/dist/src/ast/between-op.js +60 -0
  10. package/dist/src/ast/between-op.js.map +1 -0
  11. package/dist/src/ast/binary-op.d.ts +21 -0
  12. package/dist/src/ast/binary-op.d.ts.map +1 -0
  13. package/dist/src/ast/binary-op.js +29 -0
  14. package/dist/src/ast/binary-op.js.map +1 -0
  15. package/dist/src/ast/case.d.ts +53 -0
  16. package/dist/src/ast/case.d.ts.map +1 -0
  17. package/dist/src/ast/case.js +75 -0
  18. package/dist/src/ast/case.js.map +1 -0
  19. package/dist/src/ast/cast.d.ts +18 -0
  20. package/dist/src/ast/cast.d.ts.map +1 -0
  21. package/dist/src/ast/cast.js +26 -0
  22. package/dist/src/ast/cast.js.map +1 -0
  23. package/dist/src/ast/collate.d.ts +18 -0
  24. package/dist/src/ast/collate.d.ts.map +1 -0
  25. package/dist/src/ast/collate.js +25 -0
  26. package/dist/src/ast/collate.js.map +1 -0
  27. package/dist/src/ast/column-param.d.ts +23 -0
  28. package/dist/src/ast/column-param.d.ts.map +1 -0
  29. package/dist/src/ast/column-param.js +29 -0
  30. package/dist/src/ast/column-param.js.map +1 -0
  31. package/dist/src/ast/column-ref.d.ts +40 -0
  32. package/dist/src/ast/column-ref.d.ts.map +1 -0
  33. package/dist/src/ast/column-ref.js +58 -0
  34. package/dist/src/ast/column-ref.js.map +1 -0
  35. package/dist/src/ast/fragment.d.ts +20 -0
  36. package/dist/src/ast/fragment.d.ts.map +1 -0
  37. package/dist/src/ast/fragment.js +26 -0
  38. package/dist/src/ast/fragment.js.map +1 -0
  39. package/dist/src/ast/from.d.ts +22 -0
  40. package/dist/src/ast/from.d.ts.map +1 -0
  41. package/dist/src/ast/from.js +37 -0
  42. package/dist/src/ast/from.js.map +1 -0
  43. package/dist/src/ast/function.d.ts +18 -0
  44. package/dist/src/ast/function.d.ts.map +1 -0
  45. package/dist/src/ast/function.js +26 -0
  46. package/dist/src/ast/function.js.map +1 -0
  47. package/dist/src/ast/in-op.d.ts +18 -0
  48. package/dist/src/ast/in-op.d.ts.map +1 -0
  49. package/dist/src/ast/in-op.js +25 -0
  50. package/dist/src/ast/in-op.js.map +1 -0
  51. package/dist/src/ast/interval.d.ts +18 -0
  52. package/dist/src/ast/interval.d.ts.map +1 -0
  53. package/dist/src/ast/interval.js +25 -0
  54. package/dist/src/ast/interval.js.map +1 -0
  55. package/dist/src/ast/literal.d.ts +16 -0
  56. package/dist/src/ast/literal.d.ts.map +1 -0
  57. package/dist/src/ast/literal.js +53 -0
  58. package/dist/src/ast/literal.js.map +1 -0
  59. package/dist/src/ast/logical-op.d.ts +32 -0
  60. package/dist/src/ast/logical-op.d.ts.map +1 -0
  61. package/dist/src/ast/logical-op.js +46 -0
  62. package/dist/src/ast/logical-op.js.map +1 -0
  63. package/dist/src/ast/node.d.ts +25 -0
  64. package/dist/src/ast/node.d.ts.map +1 -0
  65. package/dist/src/ast/node.js +36 -0
  66. package/dist/src/ast/node.js.map +1 -0
  67. package/dist/src/ast/order-by.d.ts +21 -0
  68. package/dist/src/ast/order-by.d.ts.map +1 -0
  69. package/dist/src/ast/order-by.js +36 -0
  70. package/dist/src/ast/order-by.js.map +1 -0
  71. package/dist/src/ast/param.d.ts +20 -0
  72. package/dist/src/ast/param.d.ts.map +1 -0
  73. package/dist/src/ast/param.js +28 -0
  74. package/dist/src/ast/param.js.map +1 -0
  75. package/dist/src/ast/query.d.ts +294 -0
  76. package/dist/src/ast/query.d.ts.map +1 -0
  77. package/dist/src/ast/query.js +584 -0
  78. package/dist/src/ast/query.js.map +1 -0
  79. package/dist/src/ast/sample.d.ts +27 -0
  80. package/dist/src/ast/sample.d.ts.map +1 -0
  81. package/dist/src/ast/sample.js +38 -0
  82. package/dist/src/ast/sample.js.map +1 -0
  83. package/dist/src/ast/select.d.ts +19 -0
  84. package/dist/src/ast/select.d.ts.map +1 -0
  85. package/dist/src/ast/select.js +35 -0
  86. package/dist/src/ast/select.js.map +1 -0
  87. package/dist/src/ast/subquery.d.ts +16 -0
  88. package/dist/src/ast/subquery.d.ts.map +1 -0
  89. package/dist/src/ast/subquery.js +21 -0
  90. package/dist/src/ast/subquery.js.map +1 -0
  91. package/dist/src/ast/table-ref.d.ts +24 -0
  92. package/dist/src/ast/table-ref.d.ts.map +1 -0
  93. package/dist/src/ast/table-ref.js +35 -0
  94. package/dist/src/ast/table-ref.js.map +1 -0
  95. package/dist/src/ast/unary-op.d.ts +40 -0
  96. package/dist/src/ast/unary-op.d.ts.map +1 -0
  97. package/dist/src/ast/unary-op.js +52 -0
  98. package/dist/src/ast/unary-op.js.map +1 -0
  99. package/dist/src/ast/verbatim.d.ts +18 -0
  100. package/dist/src/ast/verbatim.d.ts.map +1 -0
  101. package/dist/src/ast/verbatim.js +25 -0
  102. package/dist/src/ast/verbatim.js.map +1 -0
  103. package/dist/src/ast/window-frame.d.ts +54 -0
  104. package/dist/src/ast/window-frame.d.ts.map +1 -0
  105. package/dist/src/ast/window-frame.js +79 -0
  106. package/dist/src/ast/window-frame.js.map +1 -0
  107. package/dist/src/ast/window.d.ts +128 -0
  108. package/dist/src/ast/window.d.ts.map +1 -0
  109. package/dist/src/ast/window.js +194 -0
  110. package/dist/src/ast/window.js.map +1 -0
  111. package/dist/src/ast/with.d.ts +25 -0
  112. package/dist/src/ast/with.d.ts.map +1 -0
  113. package/dist/src/ast/with.js +36 -0
  114. package/dist/src/ast/with.js.map +1 -0
  115. package/dist/src/constants.d.ts +38 -0
  116. package/dist/src/constants.d.ts.map +1 -0
  117. package/dist/src/constants.js +38 -0
  118. package/dist/src/constants.js.map +1 -0
  119. package/dist/src/functions/aggregate.d.ts +236 -0
  120. package/dist/src/functions/aggregate.d.ts.map +1 -0
  121. package/dist/src/functions/aggregate.js +308 -0
  122. package/dist/src/functions/aggregate.js.map +1 -0
  123. package/dist/src/functions/case.d.ts +13 -0
  124. package/dist/src/functions/case.d.ts.map +1 -0
  125. package/dist/src/functions/case.js +17 -0
  126. package/dist/src/functions/case.js.map +1 -0
  127. package/dist/src/functions/cast.d.ts +23 -0
  128. package/dist/src/functions/cast.d.ts.map +1 -0
  129. package/dist/src/functions/cast.js +32 -0
  130. package/dist/src/functions/cast.js.map +1 -0
  131. package/dist/src/functions/collate.d.ts +10 -0
  132. package/dist/src/functions/collate.d.ts.map +1 -0
  133. package/dist/src/functions/collate.js +12 -0
  134. package/dist/src/functions/collate.js.map +1 -0
  135. package/dist/src/functions/column.d.ts +10 -0
  136. package/dist/src/functions/column.d.ts.map +1 -0
  137. package/dist/src/functions/column.js +17 -0
  138. package/dist/src/functions/column.js.map +1 -0
  139. package/dist/src/functions/cte.d.ts +13 -0
  140. package/dist/src/functions/cte.d.ts.map +1 -0
  141. package/dist/src/functions/cte.js +14 -0
  142. package/dist/src/functions/cte.js.map +1 -0
  143. package/dist/src/functions/datetime.d.ts +32 -0
  144. package/dist/src/functions/datetime.d.ts.map +1 -0
  145. package/dist/src/functions/datetime.js +45 -0
  146. package/dist/src/functions/datetime.js.map +1 -0
  147. package/dist/src/functions/interval.d.ts +48 -0
  148. package/dist/src/functions/interval.d.ts.map +1 -0
  149. package/dist/src/functions/interval.js +66 -0
  150. package/dist/src/functions/interval.js.map +1 -0
  151. package/dist/src/functions/literal.d.ts +16 -0
  152. package/dist/src/functions/literal.d.ts.map +1 -0
  153. package/dist/src/functions/literal.js +20 -0
  154. package/dist/src/functions/literal.js.map +1 -0
  155. package/dist/src/functions/numeric.d.ts +80 -0
  156. package/dist/src/functions/numeric.d.ts.map +1 -0
  157. package/dist/src/functions/numeric.js +110 -0
  158. package/dist/src/functions/numeric.js.map +1 -0
  159. package/dist/src/functions/operators.d.ts +169 -0
  160. package/dist/src/functions/operators.d.ts.map +1 -0
  161. package/dist/src/functions/operators.js +235 -0
  162. package/dist/src/functions/operators.js.map +1 -0
  163. package/dist/src/functions/order-by.d.ts +15 -0
  164. package/dist/src/functions/order-by.d.ts.map +1 -0
  165. package/dist/src/functions/order-by.js +19 -0
  166. package/dist/src/functions/order-by.js.map +1 -0
  167. package/dist/src/functions/spatial.d.ts +32 -0
  168. package/dist/src/functions/spatial.d.ts.map +1 -0
  169. package/dist/src/functions/spatial.js +44 -0
  170. package/dist/src/functions/spatial.js.map +1 -0
  171. package/dist/src/functions/sql-template-tag.d.ts +13 -0
  172. package/dist/src/functions/sql-template-tag.d.ts.map +1 -0
  173. package/dist/src/functions/sql-template-tag.js +44 -0
  174. package/dist/src/functions/sql-template-tag.js.map +1 -0
  175. package/dist/src/functions/string.d.ts +49 -0
  176. package/dist/src/functions/string.d.ts.map +1 -0
  177. package/dist/src/functions/string.js +67 -0
  178. package/dist/src/functions/string.js.map +1 -0
  179. package/dist/src/functions/table-ref.d.ts +10 -0
  180. package/dist/src/functions/table-ref.d.ts.map +1 -0
  181. package/dist/src/functions/table-ref.js +13 -0
  182. package/dist/src/functions/table-ref.js.map +1 -0
  183. package/dist/src/functions/util.d.ts +7 -0
  184. package/dist/src/functions/util.d.ts.map +1 -0
  185. package/dist/src/functions/util.js +9 -0
  186. package/dist/src/functions/util.js.map +1 -0
  187. package/dist/src/functions/window-frame.d.ts +41 -0
  188. package/dist/src/functions/window-frame.d.ts.map +1 -0
  189. package/dist/src/functions/window-frame.js +52 -0
  190. package/dist/src/functions/window-frame.js.map +1 -0
  191. package/dist/src/functions/window.d.ts +74 -0
  192. package/dist/src/functions/window.d.ts.map +1 -0
  193. package/dist/src/functions/window.js +96 -0
  194. package/dist/src/functions/window.js.map +1 -0
  195. package/dist/src/index.d.ts +69 -0
  196. package/dist/src/index.d.ts.map +1 -0
  197. package/{src → dist/src}/index.js +4 -8
  198. package/dist/src/index.js.map +1 -0
  199. package/dist/src/load/create.d.ts +10 -0
  200. package/dist/src/load/create.d.ts.map +1 -0
  201. package/dist/src/load/create.js +14 -0
  202. package/dist/src/load/create.js.map +1 -0
  203. package/dist/src/load/extension.d.ts +2 -0
  204. package/dist/src/load/extension.d.ts.map +1 -0
  205. package/dist/src/load/extension.js +4 -0
  206. package/dist/src/load/extension.js.map +1 -0
  207. package/dist/src/load/load.d.ts +18 -0
  208. package/dist/src/load/load.d.ts.map +1 -0
  209. package/dist/src/load/load.js +80 -0
  210. package/dist/src/load/load.js.map +1 -0
  211. package/dist/src/load/sql-from.d.ts +14 -0
  212. package/dist/src/load/sql-from.d.ts.map +1 -0
  213. package/dist/src/load/sql-from.js +29 -0
  214. package/dist/src/load/sql-from.js.map +1 -0
  215. package/dist/src/transforms/bin-1d.d.ts +16 -0
  216. package/dist/src/transforms/bin-1d.d.ts.map +1 -0
  217. package/dist/src/transforms/bin-1d.js +21 -0
  218. package/dist/src/transforms/bin-1d.js.map +1 -0
  219. package/dist/src/transforms/bin-2d.d.ts +19 -0
  220. package/dist/src/transforms/bin-2d.d.ts.map +1 -0
  221. package/dist/src/transforms/bin-2d.js +27 -0
  222. package/dist/src/transforms/bin-2d.js.map +1 -0
  223. package/dist/src/transforms/bin-date.d.ts +31 -0
  224. package/dist/src/transforms/bin-date.d.ts.map +1 -0
  225. package/dist/src/transforms/bin-date.js +20 -0
  226. package/dist/src/transforms/bin-date.js.map +1 -0
  227. package/dist/src/transforms/bin-histogram.d.ts +37 -0
  228. package/dist/src/transforms/bin-histogram.d.ts.map +1 -0
  229. package/dist/src/transforms/bin-histogram.js +32 -0
  230. package/dist/src/transforms/bin-histogram.js.map +1 -0
  231. package/dist/src/transforms/bin-linear-1d.d.ts +11 -0
  232. package/dist/src/transforms/bin-linear-1d.d.ts.map +1 -0
  233. package/dist/src/transforms/bin-linear-1d.js +25 -0
  234. package/dist/src/transforms/bin-linear-1d.js.map +1 -0
  235. package/dist/src/transforms/bin-linear-2d.d.ts +20 -0
  236. package/dist/src/transforms/bin-linear-2d.d.ts.map +1 -0
  237. package/dist/src/transforms/bin-linear-2d.js +49 -0
  238. package/dist/src/transforms/bin-linear-2d.js.map +1 -0
  239. package/dist/src/transforms/filter-query.d.ts +12 -0
  240. package/dist/src/transforms/filter-query.d.ts.map +1 -0
  241. package/dist/src/transforms/filter-query.js +39 -0
  242. package/dist/src/transforms/filter-query.js.map +1 -0
  243. package/dist/src/transforms/line-density.d.ts +24 -0
  244. package/dist/src/transforms/line-density.d.ts.map +1 -0
  245. package/dist/src/transforms/line-density.js +98 -0
  246. package/dist/src/transforms/line-density.js.map +1 -0
  247. package/dist/src/transforms/m4.d.ts +19 -0
  248. package/dist/src/transforms/m4.d.ts.map +1 -0
  249. package/dist/src/transforms/m4.js +38 -0
  250. package/dist/src/transforms/m4.js.map +1 -0
  251. package/dist/src/transforms/scales.d.ts +30 -0
  252. package/dist/src/transforms/scales.d.ts.map +1 -0
  253. package/dist/src/transforms/scales.js +103 -0
  254. package/dist/src/transforms/scales.js.map +1 -0
  255. package/dist/src/transforms/util/bin-step.d.ts +50 -0
  256. package/dist/src/transforms/util/bin-step.d.ts.map +1 -0
  257. package/dist/src/transforms/util/bin-step.js +53 -0
  258. package/dist/src/transforms/util/bin-step.js.map +1 -0
  259. package/dist/src/transforms/util/time-interval.d.ts +14 -0
  260. package/dist/src/transforms/util/time-interval.d.ts.map +1 -0
  261. package/dist/src/transforms/util/time-interval.js +88 -0
  262. package/dist/src/transforms/util/time-interval.js.map +1 -0
  263. package/dist/src/types.d.ts +49 -0
  264. package/dist/src/types.d.ts.map +1 -0
  265. package/dist/src/types.js +2 -0
  266. package/dist/src/types.js.map +1 -0
  267. package/dist/src/util/ast.d.ts +62 -0
  268. package/dist/src/util/ast.d.ts.map +1 -0
  269. package/{src → dist/src}/util/ast.js +36 -41
  270. package/dist/src/util/ast.js.map +1 -0
  271. package/dist/src/util/function.d.ts +56 -0
  272. package/dist/src/util/function.d.ts.map +1 -0
  273. package/dist/src/util/function.js +73 -0
  274. package/dist/src/util/function.js.map +1 -0
  275. package/dist/src/util/identity.d.ts +6 -0
  276. package/dist/src/util/identity.d.ts.map +1 -0
  277. package/dist/src/util/identity.js +8 -0
  278. package/dist/src/util/identity.js.map +1 -0
  279. package/dist/src/util/string.d.ts +4 -0
  280. package/dist/src/util/string.d.ts.map +1 -0
  281. package/dist/src/util/string.js +14 -0
  282. package/dist/src/util/string.js.map +1 -0
  283. package/dist/src/util/type-check.d.ts +17 -0
  284. package/dist/src/util/type-check.d.ts.map +1 -0
  285. package/dist/src/util/type-check.js +28 -0
  286. package/dist/src/util/type-check.js.map +1 -0
  287. package/dist/src/visit/clone.d.ts +7 -0
  288. package/dist/src/visit/clone.d.ts.map +1 -0
  289. package/dist/src/visit/clone.js +52 -0
  290. package/dist/src/visit/clone.js.map +1 -0
  291. package/dist/src/visit/recurse.d.ts +2 -0
  292. package/dist/src/visit/recurse.d.ts.map +1 -0
  293. package/dist/src/visit/recurse.js +36 -0
  294. package/dist/src/visit/recurse.js.map +1 -0
  295. package/dist/src/visit/rewrite.d.ts +9 -0
  296. package/dist/src/visit/rewrite.d.ts.map +1 -0
  297. package/dist/src/visit/rewrite.js +39 -0
  298. package/dist/src/visit/rewrite.js.map +1 -0
  299. package/dist/src/visit/visitors.d.ts +32 -0
  300. package/dist/src/visit/visitors.d.ts.map +1 -0
  301. package/dist/src/visit/visitors.js +95 -0
  302. package/dist/src/visit/visitors.js.map +1 -0
  303. package/dist/src/visit/walk.d.ts +21 -0
  304. package/dist/src/visit/walk.d.ts.map +1 -0
  305. package/dist/src/visit/walk.js +32 -0
  306. package/dist/src/visit/walk.js.map +1 -0
  307. package/package.json +13 -7
  308. package/src/ast/{aggregate.js → aggregate.ts} +49 -60
  309. package/src/ast/{between-op.js → between-op.ts} +19 -26
  310. package/src/ast/binary-op.ts +31 -0
  311. package/src/ast/{case.js → case.ts} +29 -44
  312. package/src/ast/{cast.js → cast.ts} +8 -14
  313. package/src/ast/{collate.js → collate.ts} +8 -14
  314. package/src/ast/column-param.ts +34 -0
  315. package/src/ast/{column-ref.js → column-ref.ts} +16 -25
  316. package/src/ast/fragment.ts +28 -0
  317. package/src/ast/{from.js → from.ts} +12 -21
  318. package/src/ast/{function.js → function.ts} +8 -14
  319. package/src/ast/{in-op.js → in-op.ts} +8 -14
  320. package/src/ast/{interval.js → interval.ts} +8 -14
  321. package/src/ast/{literal.js → literal.ts} +6 -9
  322. package/src/ast/logical-op.ts +50 -0
  323. package/src/ast/{node.js → node.ts} +10 -13
  324. package/src/ast/order-by.ts +38 -0
  325. package/src/ast/{param.js → param.ts} +6 -12
  326. package/src/ast/{query.js → query.ts} +159 -203
  327. package/src/ast/sample.ts +47 -0
  328. package/src/ast/{select.js → select.ts} +10 -16
  329. package/src/ast/{subquery.js → subquery.ts} +9 -8
  330. package/src/ast/{table-ref.js → table-ref.ts} +7 -12
  331. package/src/ast/{unary-op.js → unary-op.ts} +16 -23
  332. package/src/ast/verbatim.ts +27 -0
  333. package/src/ast/{window-frame.js → window-frame.ts} +37 -47
  334. package/src/ast/window.ts +246 -0
  335. package/src/ast/{with.js → with.ts} +19 -20
  336. package/src/functions/aggregate.ts +344 -0
  337. package/src/functions/{case.js → case.ts} +5 -8
  338. package/src/functions/{cast.js → cast.ts} +9 -13
  339. package/src/functions/{collate.js → collate.ts} +4 -7
  340. package/src/functions/{column.js → column.ts} +9 -10
  341. package/src/functions/{cte.js → cte.ts} +9 -6
  342. package/src/functions/{datetime.js → datetime.ts} +12 -20
  343. package/src/functions/interval.ts +74 -0
  344. package/src/functions/{literal.js → literal.ts} +5 -7
  345. package/src/functions/numeric.ts +125 -0
  346. package/src/functions/operators.ts +272 -0
  347. package/src/functions/order-by.ts +21 -0
  348. package/src/functions/spatial.ts +50 -0
  349. package/src/functions/{sql-template-tag.js → sql-template-tag.ts} +16 -13
  350. package/src/functions/string.ts +79 -0
  351. package/src/functions/{table-ref.js → table-ref.ts} +4 -4
  352. package/src/functions/util.ts +10 -0
  353. package/src/functions/window-frame.ts +58 -0
  354. package/src/functions/{window.js → window.ts} +18 -35
  355. package/src/index.ts +75 -0
  356. package/src/load/{create.js → create.ts} +9 -3
  357. package/src/load/extension.ts +3 -0
  358. package/src/load/{load.js → load.ts} +25 -10
  359. package/src/load/{sql-from.js → sql-from.ts} +14 -7
  360. package/src/transforms/{bin-1d.js → bin-1d.ts} +13 -9
  361. package/src/transforms/{bin-2d.js → bin-2d.ts} +17 -13
  362. package/src/transforms/bin-date.ts +48 -0
  363. package/src/transforms/bin-histogram.ts +61 -0
  364. package/src/transforms/{bin-linear-1d.js → bin-linear-1d.ts} +16 -11
  365. package/src/transforms/{bin-linear-2d.js → bin-linear-2d.ts} +23 -35
  366. package/src/transforms/{filter-query.js → filter-query.ts} +10 -14
  367. package/src/transforms/{line-density.js → line-density.ts} +19 -17
  368. package/src/transforms/{m4.js → m4.ts} +17 -14
  369. package/src/transforms/{scales.js → scales.ts} +57 -14
  370. package/src/transforms/util/bin-step.ts +100 -0
  371. package/src/transforms/util/{time-interval.js → time-interval.ts} +32 -21
  372. package/src/types.ts +5 -39
  373. package/src/util/ast.ts +104 -0
  374. package/src/util/{function.js → function.ts} +40 -31
  375. package/src/util/identity.ts +7 -0
  376. package/src/util/{string.js → string.ts} +4 -4
  377. package/src/util/type-check.ts +31 -0
  378. package/src/visit/{clone.js → clone.ts} +10 -10
  379. package/src/visit/{recurse.js → recurse.ts} +1 -1
  380. package/src/visit/{rewrite.js → rewrite.ts} +7 -7
  381. package/src/visit/{visitors.js → visitors.ts} +22 -30
  382. package/src/visit/walk.ts +46 -0
  383. package/src/ast/binary-op.js +0 -40
  384. package/src/ast/column-param.js +0 -40
  385. package/src/ast/fragment.js +0 -26
  386. package/src/ast/logical-op.js +0 -67
  387. package/src/ast/order-by.js +0 -48
  388. package/src/ast/sample.js +0 -53
  389. package/src/ast/verbatim.js +0 -33
  390. package/src/ast/window.js +0 -260
  391. package/src/functions/aggregate.js +0 -347
  392. package/src/functions/interval.js +0 -83
  393. package/src/functions/numeric.js +0 -143
  394. package/src/functions/operators.js +0 -301
  395. package/src/functions/order-by.js +0 -27
  396. package/src/functions/spatial.js +0 -59
  397. package/src/functions/string.js +0 -85
  398. package/src/functions/util.js +0 -14
  399. package/src/functions/window-frame.js +0 -61
  400. package/src/index-types.ts +0 -2
  401. package/src/load/extension.js +0 -3
  402. package/src/transforms/bin-date.js +0 -38
  403. package/src/transforms/bin-histogram.js +0 -52
  404. package/src/transforms/util/bin-step.js +0 -79
  405. package/src/util/type-check.js +0 -33
  406. package/src/visit/walk.js +0 -34
  407. package/tsconfig.json +0 -8
  408. package/vitest.config.ts +0 -3
  409. /package/src/{constants.js → constants.ts} +0 -0
@@ -0,0 +1,41 @@
1
+ import type { FrameExclude, FrameExtent, FrameValue } from '../ast/window-frame.js';
2
+ import { WindowFrameExprNode, WindowFrameNode } from '../ast/window-frame.js';
3
+ /**
4
+ * Return an updated window definition with the given rows frame.
5
+ * @param extent The row-based window frame extent.
6
+ * @param exclude The window frame exclusion criteria.
7
+ * @returns A window frame node.
8
+ */
9
+ export declare function frameRows(extent: FrameExtent, exclude?: FrameExclude): WindowFrameNode;
10
+ /**
11
+ * Return an updated window definition with the given range frame.
12
+ * @param extent The range-based window frame extent.
13
+ * @param exclude The window frame exclusion criteria.
14
+ * @returns A window frame node.
15
+ */
16
+ export declare function frameRange(extent: FrameExtent, exclude?: FrameExclude): WindowFrameNode;
17
+ /**
18
+ * Return an updated window definition with the given groups frame.
19
+ * @param extent The group-based window frame extent.
20
+ * @param exclude The window frame exclusion criteria.
21
+ * @returns A window frame node.
22
+ */
23
+ export declare function frameGroups(extent: FrameExtent, exclude?: FrameExclude): WindowFrameNode;
24
+ /**
25
+ * A `PRECEDING` frame value expression.
26
+ * @param value The frame value.
27
+ * @returns A preceding value.
28
+ */
29
+ export declare function preceding(value: FrameValue): WindowFrameExprNode;
30
+ /**
31
+ * A `FOLLOWING` frame value expression.
32
+ * @param value The frame value.
33
+ * @returns A following value.
34
+ */
35
+ export declare function following(value: FrameValue): WindowFrameExprNode;
36
+ /**
37
+ * A `CURRENT ROW` frame value expression.
38
+ * @returns A current row value.
39
+ */
40
+ export declare function currentRow(): WindowFrameExprNode;
41
+ //# sourceMappingURL=window-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window-frame.d.ts","sourceRoot":"","sources":["../../../src/functions/window-frame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAA0D,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEtI;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,mBAEpE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,mBAErE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,mBAEtE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,uBAE1C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,uBAE1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,wBAEzB"}
@@ -0,0 +1,52 @@
1
+ import { CURRENT_ROW, FOLLOWING, GROUPS, PRECEDING, RANGE, ROWS, WindowFrameExprNode, WindowFrameNode } from '../ast/window-frame.js';
2
+ /**
3
+ * Return an updated window definition with the given rows frame.
4
+ * @param extent The row-based window frame extent.
5
+ * @param exclude The window frame exclusion criteria.
6
+ * @returns A window frame node.
7
+ */
8
+ export function frameRows(extent, exclude) {
9
+ return new WindowFrameNode(ROWS, extent, exclude);
10
+ }
11
+ /**
12
+ * Return an updated window definition with the given range frame.
13
+ * @param extent The range-based window frame extent.
14
+ * @param exclude The window frame exclusion criteria.
15
+ * @returns A window frame node.
16
+ */
17
+ export function frameRange(extent, exclude) {
18
+ return new WindowFrameNode(RANGE, extent, exclude);
19
+ }
20
+ /**
21
+ * Return an updated window definition with the given groups frame.
22
+ * @param extent The group-based window frame extent.
23
+ * @param exclude The window frame exclusion criteria.
24
+ * @returns A window frame node.
25
+ */
26
+ export function frameGroups(extent, exclude) {
27
+ return new WindowFrameNode(GROUPS, extent, exclude);
28
+ }
29
+ /**
30
+ * A `PRECEDING` frame value expression.
31
+ * @param value The frame value.
32
+ * @returns A preceding value.
33
+ */
34
+ export function preceding(value) {
35
+ return new WindowFrameExprNode(PRECEDING, value);
36
+ }
37
+ /**
38
+ * A `FOLLOWING` frame value expression.
39
+ * @param value The frame value.
40
+ * @returns A following value.
41
+ */
42
+ export function following(value) {
43
+ return new WindowFrameExprNode(FOLLOWING, value);
44
+ }
45
+ /**
46
+ * A `CURRENT ROW` frame value expression.
47
+ * @returns A current row value.
48
+ */
49
+ export function currentRow() {
50
+ return new WindowFrameExprNode(CURRENT_ROW);
51
+ }
52
+ //# sourceMappingURL=window-frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window-frame.js","sourceRoot":"","sources":["../../../src/functions/window-frame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEtI;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAmB,EAAE,OAAsB;IACnE,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAmB,EAAE,OAAsB;IACpE,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB,EAAE,OAAsB;IACrE,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,74 @@
1
+ import type { ExprValue, NumberValue } from '../types.js';
2
+ /**
3
+ * Create a window function that returns the number of the current row
4
+ * within the partition, counting from 1.
5
+ */
6
+ export declare function row_number(): import("../index.js").WindowNode;
7
+ /**
8
+ * Create a window function that returns the rank of the current row with gaps.
9
+ * This is the same as the row_number of its first peer.
10
+ */
11
+ export declare function rank(): import("../index.js").WindowNode;
12
+ /**
13
+ * Create a window function that returns the rank of the current row without
14
+ * gaps. The function counts peer groups.
15
+ */
16
+ export declare function dense_rank(): import("../index.js").WindowNode;
17
+ /**
18
+ * Create a window function that returns the relative rank of the current row.
19
+ * Computed as (rank() - 1) / (total partition rows - 1).
20
+ */
21
+ export declare function percent_rank(): import("../index.js").WindowNode;
22
+ /**
23
+ * Create a window function that returns the cumulative distribution. Computed
24
+ * as (number of preceding or peer partition rows) / total partition rows.
25
+ */
26
+ export declare function cume_dist(): import("../index.js").WindowNode;
27
+ /**
28
+ * Create a window function that returns an integer ranging from 1 to the
29
+ * argument value, dividing the partition as equally as possible.
30
+ * @param num_buckets The number of quantile buckets.
31
+ */
32
+ export declare function ntile(num_buckets: NumberValue): import("../index.js").WindowNode;
33
+ /**
34
+ * Create a window function that returns the expression evaluated at the row
35
+ * that is offset rows before the current row within the partition.
36
+ * If there is no such row, instead return default (which must be of the same
37
+ * type as the expression). Both offset and default are evaluated with respect
38
+ * to the current row. If omitted, offset defaults to 1 and default to null.
39
+ * @param expr The expression to evaluate.
40
+ * @param offset The row offset (default `1`).
41
+ * @param defaultValue The default value (default `null`).
42
+ */
43
+ export declare function lag(expr: ExprValue, offset?: NumberValue, defaultValue?: unknown): import("../index.js").WindowNode;
44
+ /**
45
+ * Create a window function that returns the expression evaluated at the row
46
+ * that is offset rows after the current row within the partition.
47
+ * If there is no such row, instead return default (which must be of the same
48
+ * type as the expression). Both offset and default are evaluated with respect
49
+ * to the current row. If omitted, offset defaults to 1 and default to null.
50
+ * @param expr The expression to evaluate.
51
+ * @param offset The row offset (default `1`).
52
+ * @param defaultValue The default value (default `null`).
53
+ */
54
+ export declare function lead(expr: ExprValue, offset?: NumberValue, defaultValue?: unknown): import("../index.js").WindowNode;
55
+ /**
56
+ * Create a window function that returns the expression evaluated at the row
57
+ * that is the first row of the window frame.
58
+ * @param expr The expression to evaluate.
59
+ */
60
+ export declare function first_value(expr: ExprValue): import("../index.js").WindowNode;
61
+ /**
62
+ * Create a window function that returns the expression evaluated at the row
63
+ * that is the last row of the window frame.
64
+ * @param expr The expression to evaluate.
65
+ */
66
+ export declare function last_value(expr: ExprValue): import("../index.js").WindowNode;
67
+ /**
68
+ * Create a window function that returns the expression evaluated at the
69
+ * nth row of the window frame (counting from 1), or null if no such row.
70
+ * @param expr The expression to evaluate.
71
+ * @param nth The 1-based window frame index.
72
+ */
73
+ export declare function nth_value(expr: ExprValue, nth: NumberValue): import("../index.js").WindowNode;
74
+ //# sourceMappingURL=window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/functions/window.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1D;;;GAGG;AACH,wBAAgB,UAAU,qCAEzB;AAED;;;GAGG;AACH,wBAAgB,IAAI,qCAEnB;AAED;;;GAGG;AACH,wBAAgB,UAAU,qCAEzB;AAED;;;GAGG;AACH,wBAAgB,YAAY,qCAE3B;AAED;;;GAGG;AACH,wBAAgB,SAAS,qCAExB;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,WAAW,EAAE,WAAW,oCAE7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,oCAEhF;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,oCAEjF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,oCAE1C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,oCAEzC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,oCAE1D"}
@@ -0,0 +1,96 @@
1
+ import { winFn } from '../util/function.js';
2
+ /**
3
+ * Create a window function that returns the number of the current row
4
+ * within the partition, counting from 1.
5
+ */
6
+ export function row_number() {
7
+ return winFn('row_number');
8
+ }
9
+ /**
10
+ * Create a window function that returns the rank of the current row with gaps.
11
+ * This is the same as the row_number of its first peer.
12
+ */
13
+ export function rank() {
14
+ return winFn('rank');
15
+ }
16
+ /**
17
+ * Create a window function that returns the rank of the current row without
18
+ * gaps. The function counts peer groups.
19
+ */
20
+ export function dense_rank() {
21
+ return winFn('dense_rank');
22
+ }
23
+ /**
24
+ * Create a window function that returns the relative rank of the current row.
25
+ * Computed as (rank() - 1) / (total partition rows - 1).
26
+ */
27
+ export function percent_rank() {
28
+ return winFn('percent_rank');
29
+ }
30
+ /**
31
+ * Create a window function that returns the cumulative distribution. Computed
32
+ * as (number of preceding or peer partition rows) / total partition rows.
33
+ */
34
+ export function cume_dist() {
35
+ return winFn('cume_dist');
36
+ }
37
+ /**
38
+ * Create a window function that returns an integer ranging from 1 to the
39
+ * argument value, dividing the partition as equally as possible.
40
+ * @param num_buckets The number of quantile buckets.
41
+ */
42
+ export function ntile(num_buckets) {
43
+ return winFn('ntile', num_buckets);
44
+ }
45
+ /**
46
+ * Create a window function that returns the expression evaluated at the row
47
+ * that is offset rows before the current row within the partition.
48
+ * If there is no such row, instead return default (which must be of the same
49
+ * type as the expression). Both offset and default are evaluated with respect
50
+ * to the current row. If omitted, offset defaults to 1 and default to null.
51
+ * @param expr The expression to evaluate.
52
+ * @param offset The row offset (default `1`).
53
+ * @param defaultValue The default value (default `null`).
54
+ */
55
+ export function lag(expr, offset, defaultValue) {
56
+ return winFn('lag', expr, offset, defaultValue);
57
+ }
58
+ /**
59
+ * Create a window function that returns the expression evaluated at the row
60
+ * that is offset rows after the current row within the partition.
61
+ * If there is no such row, instead return default (which must be of the same
62
+ * type as the expression). Both offset and default are evaluated with respect
63
+ * to the current row. If omitted, offset defaults to 1 and default to null.
64
+ * @param expr The expression to evaluate.
65
+ * @param offset The row offset (default `1`).
66
+ * @param defaultValue The default value (default `null`).
67
+ */
68
+ export function lead(expr, offset, defaultValue) {
69
+ return winFn('lead', expr, offset, defaultValue);
70
+ }
71
+ /**
72
+ * Create a window function that returns the expression evaluated at the row
73
+ * that is the first row of the window frame.
74
+ * @param expr The expression to evaluate.
75
+ */
76
+ export function first_value(expr) {
77
+ return winFn('first_value', expr);
78
+ }
79
+ /**
80
+ * Create a window function that returns the expression evaluated at the row
81
+ * that is the last row of the window frame.
82
+ * @param expr The expression to evaluate.
83
+ */
84
+ export function last_value(expr) {
85
+ return winFn('last_value', expr);
86
+ }
87
+ /**
88
+ * Create a window function that returns the expression evaluated at the
89
+ * nth row of the window frame (counting from 1), or null if no such row.
90
+ * @param expr The expression to evaluate.
91
+ * @param nth The 1-based window frame index.
92
+ */
93
+ export function nth_value(expr, nth) {
94
+ return winFn('nth_value', expr, nth);
95
+ }
96
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../../../src/functions/window.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,WAAwB;IAC5C,OAAO,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,MAAoB,EAAE,YAAsB;IAC/E,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,IAAI,CAAC,IAAe,EAAE,MAAoB,EAAE,YAAsB;IAChF,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,OAAO,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,OAAO,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAe,EAAE,GAAgB;IACzD,OAAO,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,69 @@
1
+ export { AggregateNode, aggregateNames, isAggregateFunction } from './ast/aggregate.js';
2
+ export { BetweenOpNode, NotBetweenOpNode } from './ast/between-op.js';
3
+ export { BinaryOpNode } from './ast/binary-op.js';
4
+ export { CaseNode, WhenNode } from './ast/case.js';
5
+ export { CastNode } from './ast/cast.js';
6
+ export { CollateNode } from './ast/collate.js';
7
+ export { ColumnParamNode, isColumnParam } from './ast/column-param.js';
8
+ export { ColumnRefNode, ColumnNameRefNode, isColumnRef } from './ast/column-ref.js';
9
+ export { FragmentNode } from './ast/fragment.js';
10
+ export { FromClauseNode } from './ast/from.js';
11
+ export { FunctionNode } from './ast/function.js';
12
+ export { InOpNode } from './ast/in-op.js';
13
+ export { IntervalNode } from './ast/interval.js';
14
+ export { LiteralNode } from './ast/literal.js';
15
+ export { AndNode, OrNode } from './ast/logical-op.js';
16
+ export { SQLNode, ExprNode, isNode } from './ast/node.js';
17
+ export { OrderByNode } from './ast/order-by.js';
18
+ export { ParamNode } from './ast/param.js';
19
+ export { DescribeQuery, Query, SelectQuery, SetOperation, isDescribeQuery, isQuery, isSelectQuery } from './ast/query.js';
20
+ export { SampleClauseNode } from './ast/sample.js';
21
+ export { ScalarSubqueryNode } from './ast/subquery.js';
22
+ export { SelectClauseNode } from './ast/select.js';
23
+ export { TableRefNode, isTableRef } from './ast/table-ref.js';
24
+ export { UnaryOpNode, UnaryPostfixOpNode } from './ast/unary-op.js';
25
+ export { VerbatimNode } from './ast/verbatim.js';
26
+ export { WindowClauseNode, WindowDefNode, WindowFunctionNode, WindowNode } from './ast/window.js';
27
+ export { WindowFrameNode, WindowFrameExprNode, type FrameExclude, type FrameExtent, type FrameScope, type FrameType, type FrameValue } from './ast/window-frame.js';
28
+ export { WithClauseNode } from './ast/with.js';
29
+ export { argmax, argmin, arrayAgg, avg, corr, count, covariance, covarPop, entropy, first, geomean, kurtosis, mad, max, median, min, mode, last, product, quantile, regrAvgX, regrAvgY, regrCount, regrIntercept, regrR2, regrSXX, regrSXY, regrSYY, regrSlope, skewness, stddev, stddevPop, stringAgg, sum, variance, varPop } from './functions/aggregate.js';
30
+ export { cond } from './functions/case.js';
31
+ export { cast, float32, float64, int32 } from './functions/cast.js';
32
+ export { collate } from './functions/collate.js';
33
+ export { column } from './functions/column.js';
34
+ export { cte } from './functions/cte.js';
35
+ export { dateBin, dateMonth, dateMonthDay, dateDay, epoch_ms } from './functions/datetime.js';
36
+ export { days, hours, interval, microseconds, minutes, milliseconds, months, seconds, years } from './functions/interval.js';
37
+ export { literal, verbatim } from './functions/literal.js';
38
+ export { abs, ceil, exp, floor, greatest, isFinite, isInfinite, isNaN, least, ln, log, round, sign, sqrt, trunc } from './functions/numeric.js';
39
+ export { and, or, not, isNull, isNotNull, bitNot, bitAnd, bitOr, bitLeft, bitRight, add, sub, mul, div, idiv, mod, pow, eq, neq, lt, gt, lte, gte, isDistinct, isNotDistinct, isBetween, isNotBetween, isIn } from './functions/operators.js';
40
+ export { asc, desc } from './functions/order-by.js';
41
+ export { geojson, x, y, centroid, centroidX, centroidY } from './functions/spatial.js';
42
+ export { sql } from './functions/sql-template-tag.js';
43
+ export { regexp_matches, contains, prefix, suffix, lower, upper, length } from './functions/string.js';
44
+ export { coalesce } from './functions/util.js';
45
+ export { cume_dist, dense_rank, first_value, lag, last_value, lead, nth_value, ntile, percent_rank, rank, row_number } from './functions/window.js';
46
+ export { currentRow, following, frameGroups, frameRange, frameRows, preceding } from './functions/window-frame.js';
47
+ export { deepClone } from './visit/clone.js';
48
+ export { rewrite } from './visit/rewrite.js';
49
+ export { collectAggregates, collectColumns, collectParams, isAggregateExpression } from './visit/visitors.js';
50
+ export { walk, type VisitorCallback, type VisitorResult } from './visit/walk.js';
51
+ export { createTable, createSchema } from './load/create.js';
52
+ export { loadExtension } from './load/extension.js';
53
+ export { loadCSV, loadJSON, loadObjects, loadParquet, loadSpatial } from './load/load.js';
54
+ export { bin1d } from './transforms/bin-1d.js';
55
+ export { bin2d } from './transforms/bin-2d.js';
56
+ export { binDate } from './transforms/bin-date.js';
57
+ export { binHistogram } from './transforms/bin-histogram.js';
58
+ export { binLinear1d } from './transforms/bin-linear-1d.js';
59
+ export { binLinear2d } from './transforms/bin-linear-2d.js';
60
+ export { filterQuery } from './transforms/filter-query.js';
61
+ export { lineDensity } from './transforms/line-density.js';
62
+ export { m4 } from './transforms/m4.js';
63
+ export { scaleTransform, type Scale, type ScaleDomain, type ScaleOptions, type ScaleTransform, type ScaleType } from './transforms/scales.js';
64
+ export { asLiteral, asNode, asTableRef, asVerbatim, over } from './util/ast.js';
65
+ export { isParamLike } from './util/type-check.js';
66
+ export { binSpec, binStep, type BinOptions } from './transforms/util/bin-step.js';
67
+ export { timeInterval, type TimeUnit } from './transforms/util/time-interval.js';
68
+ export * from './types.js';
69
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { AggregateNode, aggregateNames, isAggregateFunction } from './ast/aggregate.js';
2
- export { BetweenOpNode, NotBetweenOpNode } from './ast/between-op.js'
2
+ export { BetweenOpNode, NotBetweenOpNode } from './ast/between-op.js';
3
3
  export { BinaryOpNode } from './ast/binary-op.js';
4
4
  export { CaseNode, WhenNode } from './ast/case.js';
5
5
  export { CastNode } from './ast/cast.js';
@@ -21,12 +21,11 @@ export { SampleClauseNode } from './ast/sample.js';
21
21
  export { ScalarSubqueryNode } from './ast/subquery.js';
22
22
  export { SelectClauseNode } from './ast/select.js';
23
23
  export { TableRefNode, isTableRef } from './ast/table-ref.js';
24
- export { UnaryOpNode, UnaryPosftixOpNode } from './ast/unary-op.js';
24
+ export { UnaryOpNode, UnaryPostfixOpNode } from './ast/unary-op.js';
25
25
  export { VerbatimNode } from './ast/verbatim.js';
26
26
  export { WindowClauseNode, WindowDefNode, WindowFunctionNode, WindowNode } from './ast/window.js';
27
27
  export { WindowFrameNode, WindowFrameExprNode } from './ast/window-frame.js';
28
28
  export { WithClauseNode } from './ast/with.js';
29
-
30
29
  export { argmax, argmin, arrayAgg, avg, corr, count, covariance, covarPop, entropy, first, geomean, kurtosis, mad, max, median, min, mode, last, product, quantile, regrAvgX, regrAvgY, regrCount, regrIntercept, regrR2, regrSXX, regrSXY, regrSYY, regrSlope, skewness, stddev, stddevPop, stringAgg, sum, variance, varPop } from './functions/aggregate.js';
31
30
  export { cond } from './functions/case.js';
32
31
  export { cast, float32, float64, int32 } from './functions/cast.js';
@@ -45,16 +44,13 @@ export { regexp_matches, contains, prefix, suffix, lower, upper, length } from '
45
44
  export { coalesce } from './functions/util.js';
46
45
  export { cume_dist, dense_rank, first_value, lag, last_value, lead, nth_value, ntile, percent_rank, rank, row_number } from './functions/window.js';
47
46
  export { currentRow, following, frameGroups, frameRange, frameRows, preceding } from './functions/window-frame.js';
48
-
49
47
  export { deepClone } from './visit/clone.js';
50
48
  export { rewrite } from './visit/rewrite.js';
51
49
  export { collectAggregates, collectColumns, collectParams, isAggregateExpression } from './visit/visitors.js';
52
50
  export { walk } from './visit/walk.js';
53
-
54
51
  export { createTable, createSchema } from './load/create.js';
55
52
  export { loadExtension } from './load/extension.js';
56
53
  export { loadCSV, loadJSON, loadObjects, loadParquet, loadSpatial } from './load/load.js';
57
-
58
54
  export { bin1d } from './transforms/bin-1d.js';
59
55
  export { bin2d } from './transforms/bin-2d.js';
60
56
  export { binDate } from './transforms/bin-date.js';
@@ -65,9 +61,9 @@ export { filterQuery } from './transforms/filter-query.js';
65
61
  export { lineDensity } from './transforms/line-density.js';
66
62
  export { m4 } from './transforms/m4.js';
67
63
  export { scaleTransform } from './transforms/scales.js';
68
-
69
64
  export { asLiteral, asNode, asTableRef, asVerbatim, over } from './util/ast.js';
70
65
  export { isParamLike } from './util/type-check.js';
71
-
72
66
  export { binSpec, binStep } from './transforms/util/bin-step.js';
73
67
  export { timeInterval } from './transforms/util/time-interval.js';
68
+ export * from './types.js';
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface CreateTableOptions {
2
+ replace?: boolean;
3
+ temp?: boolean;
4
+ view?: boolean;
5
+ }
6
+ export declare function createTable(name: string, query: string, { replace, temp, view }?: CreateTableOptions): string;
7
+ export declare function createSchema(name: string, { strict }?: {
8
+ strict?: boolean | undefined;
9
+ }): string;
10
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/load/create.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EACvD,OAAe,EACf,IAAY,EACZ,IAAY,EACb,GAAE,kBAAuB,UAOzB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EACzC,MAAc,EACf;;CAAK,UAIL"}
@@ -0,0 +1,14 @@
1
+ export function createTable(name, query, { replace = false, temp = false, view = false } = {}) {
2
+ return 'CREATE'
3
+ + (replace ? ' OR REPLACE ' : ' ')
4
+ + (temp ? 'TEMP ' : '')
5
+ + (view ? 'VIEW' : 'TABLE')
6
+ + (replace ? ' ' : ' IF NOT EXISTS ')
7
+ + name + ' AS ' + query;
8
+ }
9
+ export function createSchema(name, { strict = false } = {}) {
10
+ return 'CREATE SCHEMA '
11
+ + (strict ? '' : 'IF NOT EXISTS ')
12
+ + name;
13
+ }
14
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/load/create.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa,EAAE,EACvD,OAAO,GAAG,KAAK,EACf,IAAI,GAAG,KAAK,EACZ,IAAI,GAAG,KAAK,KACU,EAAE;IACxB,OAAO,QAAQ;UACX,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;UAChC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;UACrB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;UACzB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC;UACnC,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,EACzC,MAAM,GAAG,KAAK,EACf,GAAG,EAAE;IACJ,OAAO,gBAAgB;UACnB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;UAChC,IAAI,CAAC;AACX,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function loadExtension(name: string): string;
2
+ //# sourceMappingURL=extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/load/extension.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,UAEzC"}
@@ -0,0 +1,4 @@
1
+ export function loadExtension(name) {
2
+ return `INSTALL ${name}; LOAD ${name}`;
3
+ }
4
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/load/extension.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,WAAW,IAAI,UAAU,IAAI,EAAE,CAAC;AACzC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { CreateTableOptions } from './create.js';
2
+ type Options = {
3
+ select?: string[];
4
+ } & CreateTableOptions & Record<string, unknown>;
5
+ export declare function load(method: string, tableName: string, fileName: string, options?: Options, defaults?: Record<string, unknown>): string;
6
+ export declare function loadCSV(tableName: string, fileName: string, options?: Options): string;
7
+ export declare function loadJSON(tableName: string, fileName: string, options?: Options): string;
8
+ export declare function loadParquet(tableName: string, fileName: string, options?: Options): string;
9
+ /**
10
+ * Load geometry data within a spatial file format.
11
+ * This method requires that the DuckDB spatial extension is loaded.
12
+ * Supports GeoJSON, TopoJSON, and other common spatial formats.
13
+ * For TopoJSON, wet the layer option to indicate the feature to extract.
14
+ */
15
+ export declare function loadSpatial(tableName: string, fileName: string, options?: Options): string;
16
+ export declare function loadObjects(tableName: string, data: (Record<string, unknown>)[], options?: Options): string;
17
+ export {};
18
+ //# sourceMappingURL=load.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../src/load/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG9D,KAAK,OAAO,GACR;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAAE,GACtB,kBAAkB,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,OAAY,EACrB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,UAQvC;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,UAE7E;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,UAE9E;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,UAEjF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAY,UAerF;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC,EAAE,EAChC,OAAO,GAAE,OAAY,UAQtB"}
@@ -0,0 +1,80 @@
1
+ import { createTable } from './create.js';
2
+ import { sqlFrom } from './sql-from.js';
3
+ export function load(method, tableName, fileName, options = {}, defaults = {}) {
4
+ const { select = ['*'], where, view, temp, replace, ...file } = options;
5
+ const params = parameters({ ...defaults, ...file });
6
+ const read = `${method}('${fileName}'${params ? ', ' + params : ''})`;
7
+ const filter = where ? ` WHERE ${where}` : '';
8
+ const query = `SELECT ${select.join(', ')} FROM ${read}${filter}`;
9
+ return createTable(tableName, query, { view, temp, replace });
10
+ }
11
+ export function loadCSV(tableName, fileName, options) {
12
+ return load('read_csv', tableName, fileName, options, { auto_detect: true, sample_size: -1 });
13
+ }
14
+ export function loadJSON(tableName, fileName, options) {
15
+ return load('read_json', tableName, fileName, options, { auto_detect: true, format: 'auto' });
16
+ }
17
+ export function loadParquet(tableName, fileName, options) {
18
+ return load('read_parquet', tableName, fileName, options);
19
+ }
20
+ /**
21
+ * Load geometry data within a spatial file format.
22
+ * This method requires that the DuckDB spatial extension is loaded.
23
+ * Supports GeoJSON, TopoJSON, and other common spatial formats.
24
+ * For TopoJSON, wet the layer option to indicate the feature to extract.
25
+ */
26
+ export function loadSpatial(tableName, fileName, options = {}) {
27
+ // nested options map to the open_options argument of st_read
28
+ const { options: opt, ...rest } = options;
29
+ if (opt) {
30
+ // TODO: check correct syntax for open_options
31
+ const open = Array.isArray(opt) ? opt.join(', ')
32
+ : typeof opt === 'string' ? opt
33
+ : Object.entries(opt)
34
+ .map(([key, value]) => `${key}=${value}`)
35
+ .join(', ');
36
+ Object.assign(rest, { open_options: open.toUpperCase() });
37
+ }
38
+ // TODO: handle box_2d for spatial_filter_box option
39
+ // TODO: handle wkb_blob for spatial_filter option
40
+ return load('st_read', tableName, fileName, rest);
41
+ }
42
+ export function loadObjects(tableName, data, options = {}) {
43
+ const { select = ['*'], ...opt } = options;
44
+ const values = sqlFrom(data);
45
+ const query = select.length === 1 && select[0] === '*'
46
+ ? values
47
+ : `SELECT ${select} FROM ${values}`;
48
+ return createTable(tableName, query, opt);
49
+ }
50
+ function parameters(options) {
51
+ return Object.entries(options)
52
+ .map(([key, value]) => `${key}=${toDuckDBValue(value)}`)
53
+ .join(', ');
54
+ }
55
+ function toDuckDBValue(value) {
56
+ switch (typeof value) {
57
+ case 'boolean':
58
+ return String(value);
59
+ case 'string':
60
+ return `'${value}'`;
61
+ case 'undefined':
62
+ case 'object':
63
+ if (value == null) {
64
+ return 'NULL';
65
+ }
66
+ else if (Array.isArray(value)) {
67
+ return '[' + value.map(v => toDuckDBValue(v)).join(', ') + ']';
68
+ }
69
+ else {
70
+ return '{'
71
+ + Object.entries(value)
72
+ .map(([k, v]) => `'${k}': ${toDuckDBValue(v)}`)
73
+ .join(', ')
74
+ + '}';
75
+ }
76
+ default:
77
+ return `${value}`;
78
+ }
79
+ }
80
+ //# sourceMappingURL=load.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/load/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC,MAAM,UAAU,IAAI,CAClB,MAAc,EACd,SAAiB,EACjB,QAAgB,EAChB,UAAmB,EAAE,EACrB,WAAoC,EAAE;IAEtC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACxE,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACtE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,CAAC;IAClE,OAAO,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,SAAiB,EAAE,QAAgB,EAAE,OAAiB;IAC5E,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,SAAiB,EAAE,QAAgB,EAAE,OAAiB;IAC7E,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,QAAgB,EAAE,OAAiB;IAChF,OAAO,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,QAAgB,EAAE,UAAmB,EAAE;IACpF,6DAA6D;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC1C,IAAI,GAAG,EAAE,CAAC;QACR,8CAA8C;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG;gBAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;qBAChB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;qBACxC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,oDAAoD;IACpD,kDAAkD;IAClD,OAAO,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,SAAiB,EACjB,IAAgC,EAChC,UAAmB,EAAE;IAErB,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;QACpD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,UAAU,MAAM,SAAS,MAAM,EAAE,CAAC;IACtC,OAAO,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,OAAgC;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,IAAI,KAAK,GAAG,CAAC;QACtB,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACX,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG;sBACN,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;yBAClB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC9C,IAAI,CAAC,IAAI,CAAC;sBACb,GAAG,CAAC;YACV,CAAC;QACH;YACE,OAAO,GAAG,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ type SQLFromOptions = {
2
+ columns?: string[] | Record<string, string>;
3
+ } & Record<string, string>;
4
+ /**
5
+ * Create a SQL query that embeds the given data for loading.
6
+ * @param data The dataset as an array of objects.
7
+ * @param options Loading options.
8
+ * @param {string[]|object} [options.columns] The columns to include.
9
+ * If not specified, the keys of the first data object are used.
10
+ * @returns {string} SQL query string to load data.
11
+ */
12
+ export declare function sqlFrom(data: (Record<string, unknown>)[], { columns }?: SQLFromOptions): string;
13
+ export {};
14
+ //# sourceMappingURL=sql-from.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-from.d.ts","sourceRoot":"","sources":["../../../src/load/sql-from.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,GAAG,MAAM,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;AAE1B;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EACjC,EACE,OAAsC,EACvC,GAAE,cAAmB,UAkBvB"}