@uwdata/mosaic-sql 0.16.2 → 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 (469) hide show
  1. package/LICENSE +1 -1
  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/{types → src}/ast/param.d.ts +11 -11
  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/{types → src}/ast/with.d.ts +15 -22
  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/{types → src}/functions/case.d.ts +7 -7
  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/{types → src}/functions/cte.d.ts +7 -7
  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/{types → src}/functions/literal.d.ts +8 -8
  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/{types → src}/functions/sql-template-tag.d.ts +8 -10
  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/{types → src}/functions/window.d.ts +24 -39
  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 +16 -12
  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/{types → src}/types.d.ts +6 -19
  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/{types → src}/util/ast.d.ts +26 -25
  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/{types → src}/visit/visitors.d.ts +14 -16
  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 +12 -10
  308. package/src/ast/aggregate.ts +198 -0
  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.ts +27 -0
  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.ts +40 -0
  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.ts +39 -0
  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} +193 -205
  327. package/src/ast/sample.ts +47 -0
  328. package/src/ast/{select.js → select.ts} +10 -16
  329. package/src/ast/subquery.ts +24 -0
  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.js → verbatim.ts} +9 -8
  333. package/src/ast/window-frame.ts +97 -0
  334. package/src/ast/window.ts +246 -0
  335. package/src/ast/{with.js → with.ts} +19 -20
  336. package/src/{constants.js → constants.ts} +5 -6
  337. package/src/functions/aggregate.ts +344 -0
  338. package/src/functions/{case.js → case.ts} +5 -8
  339. package/src/functions/{cast.js → cast.ts} +9 -13
  340. package/src/functions/collate.ts +13 -0
  341. package/src/functions/{column.js → column.ts} +9 -10
  342. package/src/functions/{cte.js → cte.ts} +9 -6
  343. package/src/functions/datetime.ts +50 -0
  344. package/src/functions/interval.ts +74 -0
  345. package/src/functions/{literal.js → literal.ts} +6 -7
  346. package/src/functions/numeric.ts +125 -0
  347. package/src/functions/operators.ts +272 -0
  348. package/src/functions/order-by.ts +21 -0
  349. package/src/functions/spatial.ts +50 -0
  350. package/src/functions/{sql-template-tag.js → sql-template-tag.ts} +16 -13
  351. package/src/functions/string.ts +79 -0
  352. package/src/functions/{table-ref.js → table-ref.ts} +4 -4
  353. package/src/functions/util.ts +10 -0
  354. package/src/functions/window-frame.ts +58 -0
  355. package/src/functions/{window.js → window.ts} +18 -35
  356. package/src/index.ts +75 -0
  357. package/src/load/{create.js → create.ts} +9 -3
  358. package/src/load/extension.ts +3 -0
  359. package/src/load/{load.js → load.ts} +26 -11
  360. package/src/load/{sql-from.js → sql-from.ts} +14 -7
  361. package/src/transforms/{bin-1d.js → bin-1d.ts} +13 -9
  362. package/src/transforms/{bin-2d.js → bin-2d.ts} +17 -13
  363. package/src/transforms/bin-date.ts +48 -0
  364. package/src/transforms/bin-histogram.ts +61 -0
  365. package/src/transforms/{bin-linear-1d.js → bin-linear-1d.ts} +16 -11
  366. package/src/transforms/{bin-linear-2d.js → bin-linear-2d.ts} +23 -35
  367. package/src/transforms/filter-query.ts +40 -0
  368. package/src/transforms/{line-density.js → line-density.ts} +19 -17
  369. package/src/transforms/{m4.js → m4.ts} +17 -14
  370. package/src/transforms/{scales.js → scales.ts} +57 -14
  371. package/src/transforms/util/bin-step.ts +100 -0
  372. package/src/transforms/util/{time-interval.js → time-interval.ts} +32 -21
  373. package/src/types.ts +5 -30
  374. package/src/util/ast.ts +104 -0
  375. package/src/util/{function.js → function.ts} +40 -31
  376. package/src/util/identity.ts +7 -0
  377. package/src/util/{string.js → string.ts} +4 -4
  378. package/src/util/type-check.ts +31 -0
  379. package/src/visit/clone.ts +53 -0
  380. package/src/visit/{recurse.js → recurse.ts} +18 -6
  381. package/src/visit/{rewrite.js → rewrite.ts} +10 -18
  382. package/src/visit/{visitors.js → visitors.ts} +22 -30
  383. package/src/visit/walk.ts +46 -0
  384. package/dist/types/ast/aggregate.d.ts +0 -71
  385. package/dist/types/ast/between-op.d.ts +0 -46
  386. package/dist/types/ast/binary-op.d.ts +0 -28
  387. package/dist/types/ast/case.d.ts +0 -67
  388. package/dist/types/ast/cast.d.ts +0 -21
  389. package/dist/types/ast/column-param.d.ts +0 -23
  390. package/dist/types/ast/column-ref.d.ts +0 -40
  391. package/dist/types/ast/fragment.d.ts +0 -14
  392. package/dist/types/ast/from.d.ts +0 -21
  393. package/dist/types/ast/function.d.ts +0 -21
  394. package/dist/types/ast/in-op.d.ts +0 -21
  395. package/dist/types/ast/interval.d.ts +0 -21
  396. package/dist/types/ast/literal.d.ts +0 -15
  397. package/dist/types/ast/logical-op.d.ts +0 -46
  398. package/dist/types/ast/node.d.ts +0 -24
  399. package/dist/types/ast/order-by.d.ts +0 -29
  400. package/dist/types/ast/query.d.ts +0 -320
  401. package/dist/types/ast/sample.d.ts +0 -42
  402. package/dist/types/ast/select.d.ts +0 -22
  403. package/dist/types/ast/table-ref.d.ts +0 -25
  404. package/dist/types/ast/unary-op.d.ts +0 -39
  405. package/dist/types/ast/verbatim.d.ts +0 -9
  406. package/dist/types/ast/window.d.ts +0 -180
  407. package/dist/types/constants.d.ts +0 -38
  408. package/dist/types/functions/aggregate.d.ts +0 -236
  409. package/dist/types/functions/cast.d.ts +0 -26
  410. package/dist/types/functions/column.d.ts +0 -11
  411. package/dist/types/functions/datetime.d.ts +0 -45
  412. package/dist/types/functions/numeric.d.ts +0 -95
  413. package/dist/types/functions/operators.d.ts +0 -200
  414. package/dist/types/functions/order-by.d.ts +0 -18
  415. package/dist/types/functions/spatial.d.ts +0 -38
  416. package/dist/types/functions/string.d.ts +0 -57
  417. package/dist/types/functions/table-ref.d.ts +0 -9
  418. package/dist/types/functions/util.d.ts +0 -8
  419. package/dist/types/index-types.d.ts +0 -2
  420. package/dist/types/index.d.ts +0 -59
  421. package/dist/types/load/create.d.ts +0 -8
  422. package/dist/types/load/extension.d.ts +0 -1
  423. package/dist/types/load/load.d.ts +0 -12
  424. package/dist/types/load/sql-from.d.ts +0 -11
  425. package/dist/types/transforms/bin-1d.d.ts +0 -15
  426. package/dist/types/transforms/bin-2d.d.ts +0 -19
  427. package/dist/types/transforms/bin-date.d.ts +0 -44
  428. package/dist/types/transforms/bin-histogram.d.ts +0 -51
  429. package/dist/types/transforms/bin-linear-1d.d.ts +0 -12
  430. package/dist/types/transforms/bin-linear-2d.d.ts +0 -19
  431. package/dist/types/transforms/line-density.d.ts +0 -24
  432. package/dist/types/transforms/m4.d.ts +0 -21
  433. package/dist/types/transforms/scales.d.ts +0 -1
  434. package/dist/types/transforms/util/bin-step.d.ts +0 -61
  435. package/dist/types/transforms/util/time-interval.d.ts +0 -13
  436. package/dist/types/util/function.d.ts +0 -56
  437. package/dist/types/util/string.d.ts +0 -3
  438. package/dist/types/util/type-check.d.ts +0 -22
  439. package/dist/types/visit/recurse.d.ts +0 -28
  440. package/dist/types/visit/rewrite.d.ts +0 -10
  441. package/dist/types/visit/walk.d.ts +0 -10
  442. package/jsconfig.json +0 -11
  443. package/src/ast/aggregate.js +0 -167
  444. package/src/ast/binary-op.js +0 -40
  445. package/src/ast/column-param.js +0 -40
  446. package/src/ast/fragment.js +0 -26
  447. package/src/ast/from.js +0 -40
  448. package/src/ast/logical-op.js +0 -67
  449. package/src/ast/node.js +0 -29
  450. package/src/ast/order-by.js +0 -48
  451. package/src/ast/sample.js +0 -53
  452. package/src/ast/window.js +0 -294
  453. package/src/functions/aggregate.js +0 -347
  454. package/src/functions/datetime.js +0 -68
  455. package/src/functions/numeric.js +0 -143
  456. package/src/functions/operators.js +0 -301
  457. package/src/functions/order-by.js +0 -27
  458. package/src/functions/spatial.js +0 -59
  459. package/src/functions/string.js +0 -85
  460. package/src/functions/util.js +0 -14
  461. package/src/index-types.ts +0 -2
  462. package/src/load/extension.js +0 -3
  463. package/src/transforms/bin-date.js +0 -37
  464. package/src/transforms/bin-histogram.js +0 -52
  465. package/src/transforms/util/bin-step.js +0 -79
  466. package/src/util/type-check.js +0 -33
  467. package/src/visit/walk.js +0 -35
  468. package/tsconfig.json +0 -12
  469. package/vitest.config.ts +0 -3
@@ -1,320 +0,0 @@
1
- /**
2
- * Check if a value is a selection query or set operation.
3
- * @param {*} value The value to check.
4
- * @returns {value is Query}
5
- */
6
- export function isQuery(value: any): value is Query;
7
- /**
8
- * Check if a value is a selection query.
9
- * @param {*} value The value to check.
10
- * @returns {value is SelectQuery}
11
- */
12
- export function isSelectQuery(value: any): value is SelectQuery;
13
- /**
14
- * Check if a value is a describe query.
15
- * @param {*} value The value to check.
16
- * @returns {value is DescribeQuery}
17
- */
18
- export function isDescribeQuery(value: any): value is DescribeQuery;
19
- export class Query extends ExprNode {
20
- /**
21
- * Create a new WITH clause with the given CTE queries.
22
- * @param {...WithExpr} expr The WITH CTE queries.
23
- * @returns {WithClause}
24
- */
25
- static with(...expr: WithExpr[]): WithClause;
26
- /**
27
- * Create a new select query with the given SELECT expressions.
28
- * @param {...SelectExpr} expr The SELECT expressions.
29
- * @returns {SelectQuery}
30
- */
31
- static select(...expr: SelectExpr[]): SelectQuery;
32
- /**
33
- * Create a new select query with the given FROM expressions.
34
- * @param {...FromExpr} expr The FROM expressions.
35
- * @returns {SelectQuery}
36
- */
37
- static from(...expr: FromExpr[]): SelectQuery;
38
- /**
39
- * Create a new UNION set operation over the given queries.
40
- * @param {...Query} queries The queries.
41
- * @returns {SetOperation}
42
- */
43
- static union(...queries: Query[]): SetOperation;
44
- /**
45
- * Create a new UNION ALL set operation over the given queries.
46
- * @param {...Query} queries The queries.
47
- * @returns {SetOperation}
48
- */
49
- static unionAll(...queries: Query[]): SetOperation;
50
- /**
51
- * Create a new INTERSECT set operation over the given queries.
52
- * @param {...Query} queries The queries.
53
- * @returns {SetOperation}
54
- */
55
- static intersect(...queries: Query[]): SetOperation;
56
- /**
57
- * Create a new EXCEPT set operation over the given queries.
58
- * @param {...Query} queries The queries.
59
- * @returns {SetOperation}
60
- */
61
- static except(...queries: Query[]): SetOperation;
62
- /**
63
- * Create a new describe query for the given input query.
64
- * @param {Query} query The query to describe.
65
- * @returns {DescribeQuery}
66
- */
67
- static describe(query: Query): DescribeQuery;
68
- /**
69
- * Instantiate a new query.
70
- */
71
- constructor(type: any);
72
- /** @type {WithClauseNode[]} */
73
- _with: WithClauseNode[];
74
- /** @type {ExprNode[]} */
75
- _orderby: ExprNode[];
76
- /** @type {number} */
77
- _limit: number;
78
- /** @type {number} */
79
- _offset: number;
80
- /** @type {Query | null} */
81
- cteFor: Query | null;
82
- /**
83
- * Return a list of subqueries.
84
- * @returns {Query[]}
85
- */
86
- get subqueries(): Query[];
87
- /**
88
- * Clone this query.
89
- * @returns {Query}
90
- */
91
- clone(): Query;
92
- /**
93
- * Add WITH common table expressions (CTEs).
94
- * @param {...WithExpr} expr Expressions to add.
95
- * @returns {this}
96
- */
97
- with(...expr: WithExpr[]): this;
98
- /**
99
- * Add ORDER BY expressions.
100
- * @param {...OrderByExpr} expr Expressions to add.
101
- * @returns
102
- */
103
- orderby(...expr: OrderByExpr[]): this;
104
- /**
105
- * Set the query result LIMIT.
106
- * @param {number} value The limit value.
107
- * @returns {this}
108
- */
109
- limit(value: number): this;
110
- /**
111
- * Set the query result OFFSET.
112
- * @param {number} value The offset value.
113
- * @returns {this}
114
- */
115
- offset(value: number): this;
116
- }
117
- export class SelectQuery extends Query {
118
- /**
119
- * Instantiate a new select query.
120
- */
121
- constructor();
122
- /** @type {SelectClauseNode[]} */
123
- _select: SelectClauseNode[];
124
- /** @type {FromClauseNode[]} */
125
- _from: FromClauseNode[];
126
- /** @type {ExprNode[]} */
127
- _where: ExprNode[];
128
- /** @type {SampleClauseNode} */
129
- _sample: SampleClauseNode;
130
- /** @type {ExprNode[]} */
131
- _groupby: ExprNode[];
132
- /** @type {ExprNode[]} */
133
- _having: ExprNode[];
134
- /** @type {WindowClauseNode[]} */
135
- _window: WindowClauseNode[];
136
- /** @type {ExprNode[]} */
137
- _qualify: ExprNode[];
138
- /**
139
- * Clone this query.
140
- * @returns {SelectQuery}
141
- */
142
- clone(): SelectQuery;
143
- /**
144
- * Add SELECT expressions.
145
- * @param {...SelectExpr} expr Expressions to add.
146
- * @returns {this}
147
- */
148
- select(...expr: SelectExpr[]): this;
149
- /**
150
- * Set SELECT expressions, replacing any prior expressions.
151
- * @param {...SelectExpr} expr Expressions to add.
152
- * @returns {this}
153
- */
154
- setSelect(...expr: SelectExpr[]): this;
155
- /**
156
- * Indicate if this query should retrieve distinct values only.
157
- * @param {boolean} value The distinct flag
158
- * @returns {this}
159
- */
160
- distinct(value?: boolean): this;
161
- _distinct: boolean;
162
- /**
163
- * Add table FROM expressions.
164
- * @param {...FromExpr} expr Expressions to add.
165
- * @returns {this}
166
- */
167
- from(...expr: FromExpr[]): this;
168
- /**
169
- * Set FROM expressions, replacing any prior expressions.
170
- * @param {...FromExpr} expr Expressions to add.
171
- * @returns {this}
172
- */
173
- setFrom(...expr: FromExpr[]): this;
174
- /**
175
- * Set SAMPLE settings.
176
- * @param {number | SampleClauseNode} value Either a sample clause node
177
- * or the sample size as either a row count or percentage.
178
- * @param {SampleMethod} [method] The sampling method
179
- * to use.
180
- * @param {number} [seed] The random seed.
181
- * @returns {this}
182
- */
183
- sample(value: number | SampleClauseNode, method?: SampleMethod, seed?: number): this;
184
- /**
185
- * Add WHERE expressions.
186
- * @param {...FilterExpr} expr Expressions to add.
187
- * @returns {this}
188
- */
189
- where(...expr: FilterExpr[]): this;
190
- /**
191
- * Set WHERE expressions, replacing any prior expressions.
192
- * @param {...FilterExpr} expr Expressions to add.
193
- * @returns {this}
194
- */
195
- setWhere(...expr: FilterExpr[]): this;
196
- /**
197
- * Add GROUP BY expressions.
198
- * @param {...GroupByExpr} expr Expressions to add.
199
- * @returns {this}
200
- */
201
- groupby(...expr: GroupByExpr[]): this;
202
- /**
203
- * Set GROUP BY expressions, replacing any prior expressions.
204
- * @param {...GroupByExpr} expr Expressions to add.
205
- * @returns {this}
206
- */
207
- setGroupby(...expr: GroupByExpr[]): this;
208
- /**
209
- * Add HAVING expressions.
210
- * @param {...FilterExpr} expr Expressions to add.
211
- * @returns {this}
212
- */
213
- having(...expr: FilterExpr[]): this;
214
- /**
215
- * Add WINDOW definitions.
216
- * @param {...any} expr Expressions to add.
217
- * @returns {this}
218
- */
219
- window(...expr: any[]): this;
220
- /**
221
- * Add QUALIFY expressions.
222
- * @param {...FilterExpr} expr Expressions to add.
223
- * @returns {this}
224
- */
225
- qualify(...expr: FilterExpr[]): this;
226
- }
227
- export class DescribeQuery extends SQLNode {
228
- /**
229
- * Instantiate a describe query.
230
- */
231
- constructor(query: any);
232
- query: any;
233
- /**
234
- * Clone this describe query.
235
- * @returns {DescribeQuery}
236
- */
237
- clone(): DescribeQuery;
238
- }
239
- export class SetOperation extends Query {
240
- /**
241
- * Instantiate a new set operation instance.
242
- * @param {string} op The set operation.
243
- * @param {Query[]} queries The subqueries.
244
- */
245
- constructor(op: string, queries: Query[]);
246
- /**
247
- * @type {string}
248
- * @readonly
249
- */
250
- readonly op: string;
251
- /**
252
- * @type {Query[]}
253
- * @readonly
254
- */
255
- readonly queries: Query[];
256
- /**
257
- * Clone this set operation.
258
- * @returns {SetOperation}
259
- */
260
- clone(): SetOperation;
261
- }
262
- import { ExprNode } from './node.js';
263
- import { WithClauseNode } from './with.js';
264
- import type { WithExpr } from '../types.js';
265
- import type { OrderByExpr } from '../types.js';
266
- declare class WithClause {
267
- /**
268
- * Instantiate a new WITH clause instance.
269
- * @param {...WithExpr} expr The WITH CTE queries.
270
- */
271
- constructor(...expr: WithExpr[]);
272
- _with: WithExpr[];
273
- /**
274
- * Create a new select query with the given SELECT expressions.
275
- * @param {...SelectExpr} expr The SELECT expressions.
276
- * @returns {SelectQuery}
277
- */
278
- select(...expr: SelectExpr[]): SelectQuery;
279
- /**
280
- * Create a new select query with the given FROM expressions.
281
- * @param {...FromExpr} expr The FROM expressions.
282
- * @returns {SelectQuery}
283
- */
284
- from(...expr: FromExpr[]): SelectQuery;
285
- /**
286
- * Create a new UNION set operation over the given queries.
287
- * @param {...Query} queries The queries.
288
- * @returns {SetOperation}
289
- */
290
- union(...queries: Query[]): SetOperation;
291
- /**
292
- * Create a new UNION ALL set operation over the given queries.
293
- * @param {...Query} queries The queries.
294
- * @returns {SetOperation}
295
- */
296
- unionAll(...queries: Query[]): SetOperation;
297
- /**
298
- * Create a new INTERSECT set operation over the given queries.
299
- * @param {...Query} queries The queries.
300
- * @returns {SetOperation}
301
- */
302
- intersect(...queries: Query[]): SetOperation;
303
- /**
304
- * Create a new EXCEPT set operation over the given queries.
305
- * @param {...Query} queries The queries.
306
- * @returns {SetOperation}
307
- */
308
- except(...queries: Query[]): SetOperation;
309
- }
310
- import type { SelectExpr } from '../types.js';
311
- import type { FromExpr } from '../types.js';
312
- import { SelectClauseNode } from './select.js';
313
- import { FromClauseNode } from './from.js';
314
- import { SampleClauseNode } from './sample.js';
315
- import { WindowClauseNode } from './window.js';
316
- import type { SampleMethod } from './sample.js';
317
- import type { FilterExpr } from '../types.js';
318
- import type { GroupByExpr } from '../types.js';
319
- import { SQLNode } from './node.js';
320
- export {};
@@ -1,42 +0,0 @@
1
- /**
2
- * @typedef {'reservoir' | 'bernoulli' | 'system'} SampleMethod
3
- */
4
- export class SampleClauseNode extends SQLNode {
5
- /**
6
- * Instantiate a sample clause node.
7
- * @param {number} size The sample size as either a row count or percentage.
8
- * @param {boolean} [perc=false] Flag indicating if the sampling unit is
9
- * rows (`false`) or a percentage (`true`).
10
- * @param {SampleMethod} [method] The sampling method. If unspecified,
11
- * a default method is applied based on the sampling unit.
12
- * @param {number} [seed] The random seed.
13
- */
14
- constructor(size: number, perc?: boolean, method?: SampleMethod, seed?: number);
15
- /**
16
- * The sample size as either a row count or percentage.
17
- * @type {number}
18
- * @readonly
19
- */
20
- readonly size: number;
21
- /**
22
- * Flag indicating if the sampling unit is rows (`false`) or a
23
- * percentage (`true`).
24
- * @type {boolean}
25
- * @readonly
26
- */
27
- readonly perc: boolean;
28
- /**
29
- * The sampling method.
30
- * @type {SampleMethod}
31
- * @readonly
32
- */
33
- readonly method: SampleMethod;
34
- /**
35
- * The random seed.
36
- * @type {number}
37
- * @readonly
38
- */
39
- readonly seed: number;
40
- }
41
- export type SampleMethod = "reservoir" | "bernoulli" | "system";
42
- import { SQLNode } from './node.js';
@@ -1,22 +0,0 @@
1
- export class SelectClauseNode extends SQLNode {
2
- /**
3
- * Instantiate a select node.
4
- * @param {ExprNode} expr The select expression.
5
- * @param {string} alias The output name.
6
- */
7
- constructor(expr: ExprNode, alias: string);
8
- /**
9
- * The select expression.
10
- * @type {ExprNode}
11
- * @readonly
12
- */
13
- readonly expr: ExprNode;
14
- /**
15
- * The output name.
16
- * @type {string}
17
- * @readonly
18
- */
19
- readonly alias: string;
20
- }
21
- import { SQLNode } from './node.js';
22
- import type { ExprNode } from './node.js';
@@ -1,25 +0,0 @@
1
- /**
2
- * Check if a value is a table reference node.
3
- * @param {*} value The value to check.
4
- * @returns {value is TableRefNode}
5
- */
6
- export function isTableRef(value: any): value is TableRefNode;
7
- export class TableRefNode extends ExprNode {
8
- /**
9
- * Instantiate a table reference node.
10
- * @param {string | string[]} table The table name.
11
- */
12
- constructor(table: string | string[]);
13
- /**
14
- * The table name, including namespaces.
15
- * @type {string[]}
16
- * @readonly
17
- */
18
- readonly table: string[];
19
- /**
20
- * The table name without database or schema namespaces.
21
- * @returns {string}
22
- */
23
- get name(): string;
24
- }
25
- import { ExprNode } from './node.js';
@@ -1,39 +0,0 @@
1
- export class UnaryOpNode extends AbstractUnaryOpNode {
2
- /**
3
- * Instantiate a unary operator node.
4
- * @param {string} op The operator type.
5
- * @param {ExprNode} expr The input expression.
6
- */
7
- constructor(op: string, expr: ExprNode);
8
- }
9
- export class UnaryPosftixOpNode extends AbstractUnaryOpNode {
10
- /**
11
- * Instantiate a unary operator node.
12
- * @param {string} op The operator type.
13
- * @param {ExprNode} expr The input expression.
14
- */
15
- constructor(op: string, expr: ExprNode);
16
- }
17
- declare class AbstractUnaryOpNode extends ExprNode {
18
- /**
19
- * Instantiate an abstract unary operator node.
20
- * @param {string} type The node type.
21
- * @param {string} op The operator type.
22
- * @param {ExprNode} expr The input expression.
23
- */
24
- constructor(type: string, op: string, expr: ExprNode);
25
- /**
26
- * The operator type.
27
- * @type {string}
28
- * @readonly
29
- */
30
- readonly op: string;
31
- /**
32
- * The input expression.
33
- * @type {ExprNode}
34
- * @readonly
35
- */
36
- readonly expr: ExprNode;
37
- }
38
- import { ExprNode } from './node.js';
39
- export {};
@@ -1,9 +0,0 @@
1
- export class VerbatimNode extends ExprNode {
2
- /**
3
- * The verbatim content to include.
4
- * @type {string}
5
- * @readonly
6
- */
7
- readonly value: string;
8
- }
9
- import { ExprNode } from './node.js';
@@ -1,180 +0,0 @@
1
- /**
2
- * @typedef {[any, any] | ParamLike} FrameExtent
3
- */
4
- export class WindowClauseNode extends SQLNode {
5
- /**
6
- * Instantiate a window clause node.
7
- * @param {string} name The window name.
8
- * @param {WindowDefNode} def The window definition.
9
- */
10
- constructor(name: string, def: WindowDefNode);
11
- /**
12
- * The window name.
13
- * @type {string}
14
- * @readonly
15
- */
16
- readonly name: string;
17
- /**
18
- * The window definition.
19
- * @type {WindowDefNode}
20
- * @readonly
21
- */
22
- readonly def: WindowDefNode;
23
- }
24
- export class WindowNode extends ExprNode {
25
- /**
26
- * Instantiate a window node.
27
- * @param {WindowFunctionNode | AggregateNode} func The window function call.
28
- * @param {WindowDefNode} [over] The window definition or name.
29
- */
30
- constructor(func: WindowFunctionNode | AggregateNode, over?: WindowDefNode);
31
- /**
32
- * @type {WindowFunctionNode | AggregateNode}
33
- * @readonly
34
- */
35
- readonly func: WindowFunctionNode | AggregateNode;
36
- /**
37
- * @type {WindowDefNode}
38
- * @readonly
39
- */
40
- readonly def: WindowDefNode;
41
- /**
42
- * Return an updated window over a named window definition.
43
- * @param {string} name The window definition name.
44
- * @returns {WindowNode} A new window node.
45
- */
46
- over(name: string): WindowNode;
47
- /**
48
- * Return an updated window with the given partitions.
49
- * @param {...ExprVarArgs} expr The partition by criteria.
50
- * @returns {WindowNode} A new window node.
51
- */
52
- partitionby(...expr: ExprVarArgs[]): WindowNode;
53
- /**
54
- * Return an updated window with the given ordering.
55
- * @param {...ExprVarArgs} expr The order by criteria.
56
- * @returns {WindowNode} A new window node.
57
- */
58
- orderby(...expr: ExprVarArgs[]): WindowNode;
59
- /**
60
- * Return an updated window with the given rows frame.
61
- * @param {FrameExtent} extent The row-based window frame extent.
62
- * @returns {WindowNode} A new window node.
63
- */
64
- rows(extent: FrameExtent): WindowNode;
65
- /**
66
- * Return an updated window with the given range frame.
67
- * @param {FrameExtent} extent The range-based window frame extent.
68
- * @returns {WindowNode} A new window node.
69
- */
70
- range(extent: FrameExtent): WindowNode;
71
- }
72
- export class WindowFunctionNode extends FunctionNode {
73
- /**
74
- * Instantiate a window function call node.
75
- * @param {WindowFunctionName} name The function name.
76
- * @param {ExprNode[]} [args=[]] The function arguments.
77
- */
78
- constructor(name: WindowFunctionName, args?: ExprNode[]);
79
- }
80
- export class WindowDefNode extends SQLNode {
81
- /**
82
- * Instantiate a window definition node.
83
- * @param {string} [name] The base window definition name.
84
- * @param {ExprNode[]} [partition] The partition by criteria.
85
- * @param {ExprNode[]} [order] The order by criteria.
86
- * @param {WindowFrameNode} [frame] The window frame definition.
87
- */
88
- constructor(name?: string, partition?: ExprNode[], order?: ExprNode[], frame?: WindowFrameNode);
89
- /**
90
- * The base window definition name.
91
- * @type {string}
92
- * @readonly
93
- */
94
- readonly name: string;
95
- /**
96
- * The partition by criteria.
97
- * @type {ExprNode[]}
98
- * @readonly
99
- */
100
- readonly partition: ExprNode[];
101
- /**
102
- * The order by criteria.
103
- * @type {ExprNode[]}
104
- * @readonly
105
- */
106
- readonly order: ExprNode[];
107
- /**
108
- * The window frame definition.
109
- * @type {WindowFrameNode}
110
- * @readonly
111
- */
112
- readonly frame: WindowFrameNode;
113
- /**
114
- * Return an updated window definition with the given base name.
115
- * @param {string} name The base window definition name.
116
- * @returns {WindowDefNode} A new window definition node.
117
- */
118
- over(name: string): WindowDefNode;
119
- /**
120
- * Return an updated window definition with the given partitions.
121
- * @param {...ExprVarArgs} expr The partition by criteria.
122
- * @returns {WindowDefNode} A new window definition node.
123
- */
124
- partitionby(...expr: ExprVarArgs[]): WindowDefNode;
125
- /**
126
- * Return an updated window definition with the given ordering.
127
- * @param {...ExprVarArgs} expr The order by criteria.
128
- * @returns {WindowDefNode} A new window definition node.
129
- */
130
- orderby(...expr: ExprVarArgs[]): WindowDefNode;
131
- /**
132
- * Return an updated window definition with the given rows frame.
133
- * @param {FrameExtent} extent The row-based window frame extent.
134
- * @returns {WindowDefNode} A new window definition node.
135
- */
136
- rows(extent: FrameExtent): WindowDefNode;
137
- /**
138
- * Return an updated window definition with the given range frame.
139
- * @param {FrameExtent} extent The range-based window frame extent.
140
- * @returns {WindowDefNode} A new window definition node.
141
- */
142
- range(extent: FrameExtent): WindowDefNode;
143
- }
144
- export class WindowFrameNode extends SQLNode {
145
- /**
146
- * Instantiate a window frame definition node.
147
- * @param {FrameExtent} extent The frame extent as [preceding, following]
148
- * row or interval offsets.
149
- * @param {boolean} [range] The frame type: `true` for range, otherwise rows.
150
- * @param {ExprNode} [exclude] The window exclusion criteria.
151
- */
152
- constructor(extent: FrameExtent, range?: boolean, exclude?: ExprNode);
153
- /**
154
- * The frame extent as [preceding, following] row or interval offsets.
155
- * @type {ParamNode | [any, any]}
156
- * @readonly
157
- */
158
- readonly extent: ParamNode | [any, any];
159
- /**
160
- * The frame type: `true` for range, otherwise rows.
161
- * @type {boolean}
162
- * @readonly
163
- */
164
- readonly range: boolean;
165
- /**
166
- * The window exclusion criteria.
167
- * @type {ExprNode}
168
- * @readonly
169
- */
170
- readonly exclude: ExprNode;
171
- }
172
- export type FrameExtent = [any, any] | ParamLike;
173
- import { SQLNode } from './node.js';
174
- import { ExprNode } from './node.js';
175
- import type { AggregateNode } from './aggregate.js';
176
- import type { ExprVarArgs } from '../types.js';
177
- import { FunctionNode } from './function.js';
178
- import type { WindowFunctionName } from '../types.js';
179
- import { ParamNode } from './param.js';
180
- import type { ParamLike } from '../types.js';
@@ -1,38 +0,0 @@
1
- export const COLUMN_REF: "COLUMN_REF";
2
- export const COLUMN_PARAM: "COLUMN_PARAM";
3
- export const TABLE_REF: "TABLE_REF";
4
- export const LITERAL: "LITERAL";
5
- export const INTERVAL: "INTERVAL";
6
- export const ORDER_BY: "ORDER_BY";
7
- export const CAST: "CAST";
8
- export const CASE: "CASE";
9
- export const WHEN: "WHEN";
10
- export const UNARY_OPERATOR: "UNARY";
11
- export const UNARY_POSTFIX_OPERATOR: "UNARY_POSTFIX";
12
- export const BINARY_OPERATOR: "BINARY";
13
- export const BETWEEN_OPERATOR: "BETWEEN";
14
- export const NOT_BETWEEN_OPERATOR: "NOT_BETWEEN";
15
- export const LOGICAL_OPERATOR: "LOGICAL_OPERATOR";
16
- export const IN_OPERATOR: "IN";
17
- export const FUNCTION: "FUNCTION";
18
- export const AGGREGATE: "AGGREGATE";
19
- export const WINDOW: "WINDOW";
20
- export const WINDOW_DEF: "WINDOW_DEF";
21
- export const WINDOW_FRAME: "WINDOW_FRAME";
22
- export const EXPRESSION: "EXPRESSION";
23
- export const FRAGMENT: "FRAGMENT";
24
- export const VERBATIM: "VERBATIM";
25
- export const PARAM: "PARAM";
26
- export const WITH_CLAUSE: "WITH_CLAUSE";
27
- export const SELECT_CLAUSE: "SELECT_CLAUSE";
28
- export const FROM_CLAUSE: "FROM_CLAUSE";
29
- export const WHERE_CLAUSE: "WHERE_CLAUSE";
30
- export const SAMPLE_CLAUSE: "SAMPLE_CLAUSE";
31
- export const GROUPBY_CLAUSE: "GROUPBY_CLAUSE";
32
- export const HAVING_CLAUSE: "HAVING_CLAUSE";
33
- export const WINDOW_CLAUSE: "WINDOW_CLAUSE";
34
- export const QUALIFY_CLAUSE: "QUALIFY_CLAUSE";
35
- export const ORDERBY_CLAUSE: "ORDERBY_CLAUSE";
36
- export const SELECT_QUERY: "SELECT_QUERY";
37
- export const DESCRIBE_QUERY: "DESCRIBE_QUERY";
38
- export const SET_OPERATION: "SET_OPERATION";