@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
@@ -0,0 +1,308 @@
1
+ import { aggFn } from '../util/function.js';
2
+ /**
3
+ * Compute an arg_max aggregate.
4
+ * @param y The argument to return.
5
+ * @param x The expression to maximize.
6
+ * @returns A SQL aggregate function call.
7
+ */
8
+ export function argmax(y, x) {
9
+ return aggFn('arg_max', y, x);
10
+ }
11
+ /**
12
+ * Compute an arg_min aggregate.
13
+ * @param y The argument to return.
14
+ * @param x The expression to minimize.
15
+ * @returns A SQL aggregate function call.
16
+ */
17
+ export function argmin(y, x) {
18
+ return aggFn('arg_min', y, x);
19
+ }
20
+ /**
21
+ * Compute an array aggregation.
22
+ * @param expr The expression to aggregate.
23
+ * @returns A SQL aggregate function call.
24
+ */
25
+ export function arrayAgg(expr) {
26
+ return aggFn('array_agg', expr);
27
+ }
28
+ /**
29
+ * Compute an average aggregate.
30
+ * @param expr The expression to aggregate.
31
+ * @returns A SQL aggregate function call.
32
+ */
33
+ export function avg(expr) {
34
+ return aggFn('avg', expr);
35
+ }
36
+ /**
37
+ * Compute a correlation aggregate.
38
+ * @param x The x expression to aggregate.
39
+ * @param y The y expression to aggregate.
40
+ * @returns A SQL aggregate function call.
41
+ */
42
+ export function corr(x, y) {
43
+ return aggFn('corr', x, y);
44
+ }
45
+ /**
46
+ * Compute a count aggregate.
47
+ * @param [expr] An optional expression
48
+ * to count. If specified, only non-null expression values are counted.
49
+ * If omitted, all rows within a group are counted.
50
+ * @returns A SQL aggregate function call.
51
+ */
52
+ export function count(expr) {
53
+ return aggFn('count', expr);
54
+ }
55
+ /**
56
+ * Compute a sample covariance aggregate.
57
+ * @param x The x expression to aggregate.
58
+ * @param y The y expression to aggregate.
59
+ * @returns A SQL aggregate function call.
60
+ */
61
+ export function covariance(x, y) {
62
+ return aggFn('covar_samp', x, y);
63
+ }
64
+ /**
65
+ * Compute a population covariance aggregate.
66
+ * @param x The x expression to aggregate.
67
+ * @param y The y expression to aggregate.
68
+ * @returns A SQL aggregate function call.
69
+ */
70
+ export function covarPop(x, y) {
71
+ return aggFn('covar_pop', x, y);
72
+ }
73
+ /**
74
+ * Compute an entropy aggregate.
75
+ * @param expr The expression to aggregate.
76
+ * @returns A SQL aggregate function call.
77
+ */
78
+ export function entropy(expr) {
79
+ return aggFn('entropy', expr);
80
+ }
81
+ /**
82
+ * Compute a first aggregate.
83
+ * @param expr The expression to aggregate.
84
+ * @returns A SQL aggregate function call.
85
+ */
86
+ export function first(expr) {
87
+ return aggFn('first', expr);
88
+ }
89
+ /**
90
+ * Compute a geomean aggregate.
91
+ * @param expr The expression to aggregate.
92
+ * @returns A SQL aggregate function call.
93
+ */
94
+ export function geomean(expr) {
95
+ return aggFn('geomean', expr);
96
+ }
97
+ /**
98
+ * Compute a sample kurtosis aggregate.
99
+ * @param expr The expression to aggregate.
100
+ * @returns A SQL aggregate function call.
101
+ */
102
+ export function kurtosis(expr) {
103
+ return aggFn('kurtosis', expr);
104
+ }
105
+ /**
106
+ * Compute a median absolute deviation (MAD) aggregate.
107
+ * @param expr The expression to aggregate.
108
+ * @returns A SQL aggregate function call.
109
+ */
110
+ export function mad(expr) {
111
+ return aggFn('mad', expr);
112
+ }
113
+ /**
114
+ * Compute a maximum aggregate.
115
+ * @param expr The expression to aggregate.
116
+ * @returns A SQL aggregate function call.
117
+ */
118
+ export function max(expr) {
119
+ return aggFn('max', expr);
120
+ }
121
+ /**
122
+ * Compute a median aggregate.
123
+ * @param expr The expression to aggregate.
124
+ * @returns A SQL aggregate function call.
125
+ */
126
+ export function median(expr) {
127
+ return aggFn('median', expr);
128
+ }
129
+ /**
130
+ * Compute a minimum aggregate.
131
+ * @param expr The expression to aggregate.
132
+ * @returns A SQL aggregate function call.
133
+ */
134
+ export function min(expr) {
135
+ return aggFn('min', expr);
136
+ }
137
+ /**
138
+ * Compute a mode aggregate.
139
+ * @param expr The expression to aggregate.
140
+ * @returns A SQL aggregate function call.
141
+ */
142
+ export function mode(expr) {
143
+ return aggFn('mode', expr);
144
+ }
145
+ /**
146
+ * Compute a last aggregate.
147
+ * @param expr The expression to aggregate.
148
+ * @returns A SQL aggregate function call.
149
+ */
150
+ export function last(expr) {
151
+ return aggFn('last', expr);
152
+ }
153
+ /**
154
+ * Compute a product aggregate.
155
+ * @param expr The expression to aggregate.
156
+ * @returns A SQL aggregate function call.
157
+ */
158
+ export function product(expr) {
159
+ return aggFn('product', expr);
160
+ }
161
+ /**
162
+ * Compute a quantile aggregate.
163
+ * @param expr The expression to aggregate.
164
+ * @param p The quantile value.
165
+ * @returns A SQL aggregate function call.
166
+ */
167
+ export function quantile(expr, p) {
168
+ return aggFn('quantile', expr, p);
169
+ }
170
+ /**
171
+ * Compute a linear regression reg_avgX aggregate.
172
+ * @param x The x expression to aggregate.
173
+ * @param y The y expression to aggregate.
174
+ * @returns A SQL aggregate function call.
175
+ */
176
+ export function regrAvgX(x, y) {
177
+ return aggFn('regr_avgx', x, y);
178
+ }
179
+ /**
180
+ * Compute a linear regression reg_avgY aggregate.
181
+ * @param x The x expression to aggregate.
182
+ * @param y The y expression to aggregate.
183
+ * @returns A SQL aggregate function call.
184
+ */
185
+ export function regrAvgY(x, y) {
186
+ return aggFn('regr_avgy', x, y);
187
+ }
188
+ /**
189
+ * Compute a linear regression count aggregate.
190
+ * This returns the count of rows where both x and y are non-null.
191
+ * @param x The x expression to aggregate.
192
+ * @param y The y expression to aggregate.
193
+ * @returns A SQL aggregate function call.
194
+ */
195
+ export function regrCount(x, y) {
196
+ return aggFn('regr_count', x, y);
197
+ }
198
+ /**
199
+ * Compute a linear regression intercept aggregate.
200
+ * @param x The x expression to aggregate.
201
+ * @param y The y expression to aggregate.
202
+ * @returns A SQL aggregate function call.
203
+ */
204
+ export function regrIntercept(x, y) {
205
+ return aggFn('regr_intercept', x, y);
206
+ }
207
+ /**
208
+ * Compute a linear regression R^2 aggregate.
209
+ * @param x The x expression to aggregate.
210
+ * @param y The y expression to aggregate.
211
+ * @returns A SQL aggregate function call.
212
+ */
213
+ export function regrR2(x, y) {
214
+ return aggFn('regr_r2', x, y);
215
+ }
216
+ /**
217
+ * Compute a linear regression regr_sxx aggregate.
218
+ * @param x The x expression to aggregate.
219
+ * @param y The y expression to aggregate.
220
+ * @returns A SQL aggregate function call.
221
+ */
222
+ export function regrSXX(x, y) {
223
+ return aggFn('regr_sxx', x, y);
224
+ }
225
+ /**
226
+ * Compute a linear regression regr_sxy aggregate.
227
+ * @param x The x expression to aggregate.
228
+ * @param y The y expression to aggregate.
229
+ * @returns A SQL aggregate function call.
230
+ */
231
+ export function regrSXY(x, y) {
232
+ return aggFn('regr_sxy', x, y);
233
+ }
234
+ /**
235
+ * Compute a linear regression regr_syy aggregate.
236
+ * @param x The x expression to aggregate.
237
+ * @param y The y expression to aggregate.
238
+ * @returns A SQL aggregate function call.
239
+ */
240
+ export function regrSYY(x, y) {
241
+ return aggFn('regr_syy', x, y);
242
+ }
243
+ /**
244
+ * Compute a linear regression slope aggregate.
245
+ * @param x The x expression to aggregate.
246
+ * @param y The y expression to aggregate.
247
+ * @returns A SQL aggregate function call.
248
+ */
249
+ export function regrSlope(x, y) {
250
+ return aggFn('regr_slope', x, y);
251
+ }
252
+ /**
253
+ * Compute a skewness aggregate.
254
+ * @param expr The expression to aggregate.
255
+ * @returns A SQL aggregate function call.
256
+ */
257
+ export function skewness(expr) {
258
+ return aggFn('skewness', expr);
259
+ }
260
+ /**
261
+ * Compute a sample standard deviation aggregate.
262
+ * @param expr The expression to aggregate.
263
+ * @returns A SQL aggregate function call.
264
+ */
265
+ export function stddev(expr) {
266
+ return aggFn('stddev', expr);
267
+ }
268
+ /**
269
+ * Compute a population standard deviation aggregate.
270
+ * @param expr The expression to aggregate.
271
+ * @returns A SQL aggregate function call.
272
+ */
273
+ export function stddevPop(expr) {
274
+ return aggFn('stddev_pop', expr);
275
+ }
276
+ /**
277
+ * Compute a string aggregation.
278
+ * @param expr The expression to aggregate.
279
+ * @returns A SQL aggregate function call.
280
+ */
281
+ export function stringAgg(expr) {
282
+ return aggFn('string_agg', expr);
283
+ }
284
+ /**
285
+ * Compute a sum aggregate.
286
+ * @param expr The expression to aggregate.
287
+ * @returns A SQL aggregate function call.
288
+ */
289
+ export function sum(expr) {
290
+ return aggFn('sum', expr);
291
+ }
292
+ /**
293
+ * Compute a sample variance aggregate.
294
+ * @param expr The expression to aggregate.
295
+ * @returns A SQL aggregate function call.
296
+ */
297
+ export function variance(expr) {
298
+ return aggFn('var_samp', expr);
299
+ }
300
+ /**
301
+ * Compute a population variance aggregate.
302
+ * @param expr The expression to aggregate.
303
+ * @returns A SQL aggregate function call.
304
+ */
305
+ export function varPop(expr) {
306
+ return aggFn('var_pop', expr);
307
+ }
308
+ //# sourceMappingURL=aggregate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../src/functions/aggregate.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
+ import type { ExprValue } from '../types.js';
2
+ import { CaseNode } from '../ast/case.js';
1
3
  /**
2
4
  * Create a new conditional CASE statement. If three arguments are provided,
3
5
  * acts like a ternary conditional (if, then, else). If no arguments are
4
6
  * provided, the chained `when` and `else` methods can be used to to complete
5
7
  * a conditional statement with WHEN/THEN and ELSE expressions.
6
- * @param {ExprValue} [when] A conditional WHEN expression.
7
- * @param {ExprValue} [then] A THEN value expression.
8
- * @param {ExprValue} [other] An ELSE expression.
9
- * @returns {CaseNode}
8
+ * @param when A conditional WHEN expression.
9
+ * @param then A THEN value expression.
10
+ * @param other An ELSE expression.
10
11
  */
11
- export function cond(when?: ExprValue, then?: ExprValue, other?: ExprValue): CaseNode;
12
- import type { ExprValue } from '../types.js';
13
- import { CaseNode } from '../ast/case.js';
12
+ export declare function cond(when?: ExprValue, then?: ExprValue, other?: ExprValue): CaseNode;
13
+ //# sourceMappingURL=case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/functions/case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAY,MAAM,gBAAgB,CAAC;AAGpD;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,YAIzE"}
@@ -0,0 +1,17 @@
1
+ import { CaseNode, WhenNode } from '../ast/case.js';
2
+ import { asNode } from '../util/ast.js';
3
+ /**
4
+ * Create a new conditional CASE statement. If three arguments are provided,
5
+ * acts like a ternary conditional (if, then, else). If no arguments are
6
+ * provided, the chained `when` and `else` methods can be used to to complete
7
+ * a conditional statement with WHEN/THEN and ELSE expressions.
8
+ * @param when A conditional WHEN expression.
9
+ * @param then A THEN value expression.
10
+ * @param other An ELSE expression.
11
+ */
12
+ export function cond(when, then, other) {
13
+ return when
14
+ ? new CaseNode(undefined, [new WhenNode(asNode(when), asNode(then))], asNode(other))
15
+ : new CaseNode();
16
+ }
17
+ //# sourceMappingURL=case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case.js","sourceRoot":"","sources":["../../../src/functions/case.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,IAAgB,EAAE,IAAgB,EAAE,KAAiB;IACxE,OAAO,IAAI;QACT,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACpF,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;AACrB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { CastNode } from '../ast/cast.js';
2
+ /**
3
+ * Perform a type cast.
4
+ * @param expr The expression to type cast.
5
+ * @param type The type to cast to.
6
+ */
7
+ export declare function cast(expr: unknown, type: string): CastNode;
8
+ /**
9
+ * Cast an expression to a 32-bit integer type.
10
+ * @param expr The expression to type cast.
11
+ */
12
+ export declare function int32(expr: unknown): CastNode;
13
+ /**
14
+ * Cast an expression to a 32-bit floating point number type.
15
+ * @param expr The expression to type cast.
16
+ */
17
+ export declare function float32(expr: unknown): CastNode;
18
+ /**
19
+ * Cast an expression to a 64-bit floating point number type.
20
+ * @param expr The expression to type cast.
21
+ */
22
+ export declare function float64(expr: unknown): CastNode;
23
+ //# sourceMappingURL=cast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../../src/functions/cast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAE/C;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,OAAO,YAElC;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,YAEpC;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,YAEpC"}
@@ -0,0 +1,32 @@
1
+ import { CastNode } from '../ast/cast.js';
2
+ import { asNode } from '../util/ast.js';
3
+ /**
4
+ * Perform a type cast.
5
+ * @param expr The expression to type cast.
6
+ * @param type The type to cast to.
7
+ */
8
+ export function cast(expr, type) {
9
+ return new CastNode(asNode(expr), type);
10
+ }
11
+ /**
12
+ * Cast an expression to a 32-bit integer type.
13
+ * @param expr The expression to type cast.
14
+ */
15
+ export function int32(expr) {
16
+ return cast(expr, 'INTEGER');
17
+ }
18
+ /**
19
+ * Cast an expression to a 32-bit floating point number type.
20
+ * @param expr The expression to type cast.
21
+ */
22
+ export function float32(expr) {
23
+ return cast(expr, 'FLOAT');
24
+ }
25
+ /**
26
+ * Cast an expression to a 64-bit floating point number type.
27
+ * @param expr The expression to type cast.
28
+ */
29
+ export function float64(expr) {
30
+ return cast(expr, 'DOUBLE');
31
+ }
32
+ //# sourceMappingURL=cast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cast.js","sourceRoot":"","sources":["../../../src/functions/cast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,IAAa,EAAE,IAAY;IAC9C,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,IAAa;IACjC,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ExprValue } from '../types.js';
2
+ import { CollateNode } from '../ast/collate.js';
3
+ /**
4
+ * Indicate ascending sort order for an expression.
5
+ * @param expr The expression to collate.
6
+ * @param collation The collation type, such as
7
+ * 'NOCASE', 'NOACCENT', 'NFC', or locale-specific collations.
8
+ */
9
+ export declare function collate(expr: ExprValue, collation: string): CollateNode;
10
+ //# sourceMappingURL=collate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collate.d.ts","sourceRoot":"","sources":["../../../src/functions/collate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAEzD"}
@@ -0,0 +1,12 @@
1
+ import { CollateNode } from '../ast/collate.js';
2
+ import { asNode } from '../util/ast.js';
3
+ /**
4
+ * Indicate ascending sort order for an expression.
5
+ * @param expr The expression to collate.
6
+ * @param collation The collation type, such as
7
+ * 'NOCASE', 'NOACCENT', 'NFC', or locale-specific collations.
8
+ */
9
+ export function collate(expr, collation) {
10
+ return new CollateNode(asNode(expr), collation);
11
+ }
12
+ //# sourceMappingURL=collate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collate.js","sourceRoot":"","sources":["../../../src/functions/collate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,IAAe,EAAE,SAAiB;IACxD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ColumnRefNode } from '../ast/column-ref.js';
2
+ import type { TableRefNode } from '../ast/table-ref.js';
3
+ import type { ParamLike } from '../types.js';
4
+ /**
5
+ * Create a column reference.
6
+ * @param name The column name, as a string or as a dynamic parameter.
7
+ * @param table The table reference.
8
+ */
9
+ export declare function column(name: string | ParamLike, table?: string | string[] | TableRefNode): ColumnRefNode;
10
+ //# sourceMappingURL=column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../src/functions/column.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO7C;;;;GAIG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY,GACvC,aAAa,CAKf"}
@@ -0,0 +1,17 @@
1
+ import { ColumnParamNode } from '../ast/column-param.js';
2
+ import { ColumnNameRefNode } from '../ast/column-ref.js';
3
+ import { ParamNode } from '../ast/param.js';
4
+ import { asTableRef } from '../util/ast.js';
5
+ import { isParamLike } from '../util/type-check.js';
6
+ /**
7
+ * Create a column reference.
8
+ * @param name The column name, as a string or as a dynamic parameter.
9
+ * @param table The table reference.
10
+ */
11
+ export function column(name, table) {
12
+ const tref = asTableRef(table);
13
+ return isParamLike(name)
14
+ ? new ColumnParamNode(new ParamNode(name), tref)
15
+ : new ColumnNameRefNode(name, tref);
16
+ }
17
+ //# sourceMappingURL=column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.js","sourceRoot":"","sources":["../../../src/functions/column.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,MAAM,CACpB,IAAwB,EACxB,KAAwC;IAExC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,WAAW,CAAC,IAAI,CAAC;QACtB,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QAChD,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC"}
@@ -1,13 +1,13 @@
1
+ import type { Query } from '../ast/query.js';
2
+ import { WithClauseNode } from '../ast/with.js';
1
3
  /**
2
4
  * Create a common table expression (CTE) to include within a WITH clause.
3
- * @param {string} name The common table expression (CTE) name.
4
- * @param {Query} query The common table expression (CTE) query.
5
- * @param {boolean | null} [materialized] The common table expression (CTE)
5
+ * @param name The common table expression (CTE) name.
6
+ * @param query The common table expression (CTE) query.
7
+ * @param materialized The common table expression (CTE)
6
8
  * materialization flag. If `true`, forces materialization of the CTE.
7
9
  * If `false`, materialization is not performed. Otherwise (for example, if
8
10
  * `undefined` or `null`), materialization is decided by the database.
9
- * @returns {WithClauseNode}
10
11
  */
11
- export function cte(name: string, query: Query, materialized?: boolean | null): WithClauseNode;
12
- import type { Query } from '../ast/query.js';
13
- import { WithClauseNode } from '../ast/with.js';
12
+ export declare function cte(name: string, query: Query, materialized?: boolean | null): WithClauseNode;
13
+ //# sourceMappingURL=cte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cte.d.ts","sourceRoot":"","sources":["../../../src/functions/cte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,YAAY,GAAE,OAAO,GAAG,IAAW,kBAGpC"}
@@ -0,0 +1,14 @@
1
+ import { WithClauseNode } from '../ast/with.js';
2
+ /**
3
+ * Create a common table expression (CTE) to include within a WITH clause.
4
+ * @param name The common table expression (CTE) name.
5
+ * @param query The common table expression (CTE) query.
6
+ * @param materialized The common table expression (CTE)
7
+ * materialization flag. If `true`, forces materialization of the CTE.
8
+ * If `false`, materialization is not performed. Otherwise (for example, if
9
+ * `undefined` or `null`), materialization is decided by the database.
10
+ */
11
+ export function cte(name, query, materialized = null) {
12
+ return new WithClauseNode(name, query, materialized);
13
+ }
14
+ //# sourceMappingURL=cte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cte.js","sourceRoot":"","sources":["../../../src/functions/cte.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,UAAU,GAAG,CACjB,IAAY,EACZ,KAAY,EACZ,eAA+B,IAAI;IAEnC,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { ExprValue } from '../types.js';
2
+ /**
3
+ * Given a date/time value, return the milliseconds since the UNIX epoch.
4
+ * @param {ExprValue} expr The date/time expression.
5
+ */
6
+ export declare function epoch_ms(expr: ExprValue): import("../index.js").FunctionNode;
7
+ /**
8
+ * Perform data binning according to the provided interval unit and steps.
9
+ * @param expr The date/time expression to bin.
10
+ * @param unit The datetime interval unit to bin by.
11
+ * @param steps The number of interval steps.
12
+ */
13
+ export declare function dateBin(expr: ExprValue, unit: string, steps?: number): import("../index.js").FunctionNode;
14
+ /**
15
+ * Map date/times to a month value, all within the same year for comparison.
16
+ * The resulting value is still date-typed.
17
+ * @param expr The date/time expression.
18
+ */
19
+ export declare function dateMonth(expr: ExprValue): import("../index.js").FunctionNode;
20
+ /**
21
+ * Map date/times to a month and day value, all within the same year for
22
+ * comparison. The resulting value is still date-typed.
23
+ * @param expr The date/time expression.
24
+ */
25
+ export declare function dateMonthDay(expr: ExprValue): import("../index.js").FunctionNode;
26
+ /**
27
+ * Map date/times to a day of the month value, all within the same year and month
28
+ * for comparison. The resulting value is still date-typed.
29
+ * @param expr The date/time expression.
30
+ */
31
+ export declare function dateDay(expr: ExprValue): import("../index.js").FunctionNode;
32
+ //# sourceMappingURL=datetime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/functions/datetime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,sCAEvC;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,sCAEvE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,sCAExC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,sCAG3C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,sCAEtC"}
@@ -0,0 +1,45 @@
1
+ import { asNode } from '../util/ast.js';
2
+ import { fn } from '../util/function.js';
3
+ import { interval } from './interval.js';
4
+ /**
5
+ * Given a date/time value, return the milliseconds since the UNIX epoch.
6
+ * @param {ExprValue} expr The date/time expression.
7
+ */
8
+ export function epoch_ms(expr) {
9
+ return fn('epoch_ms', expr);
10
+ }
11
+ /**
12
+ * Perform data binning according to the provided interval unit and steps.
13
+ * @param expr The date/time expression to bin.
14
+ * @param unit The datetime interval unit to bin by.
15
+ * @param steps The number of interval steps.
16
+ */
17
+ export function dateBin(expr, unit, steps = 1) {
18
+ return fn('time_bucket', interval(unit, steps), expr);
19
+ }
20
+ /**
21
+ * Map date/times to a month value, all within the same year for comparison.
22
+ * The resulting value is still date-typed.
23
+ * @param expr The date/time expression.
24
+ */
25
+ export function dateMonth(expr) {
26
+ return fn('make_date', 2012, fn('month', expr), 1);
27
+ }
28
+ /**
29
+ * Map date/times to a month and day value, all within the same year for
30
+ * comparison. The resulting value is still date-typed.
31
+ * @param expr The date/time expression.
32
+ */
33
+ export function dateMonthDay(expr) {
34
+ const d = asNode(expr);
35
+ return fn('make_date', 2012, fn('month', d), fn('day', d));
36
+ }
37
+ /**
38
+ * Map date/times to a day of the month value, all within the same year and month
39
+ * for comparison. The resulting value is still date-typed.
40
+ * @param expr The date/time expression.
41
+ */
42
+ export function dateDay(expr) {
43
+ return fn('make_date', 2012, 1, fn('day', expr));
44
+ }
45
+ //# sourceMappingURL=datetime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/functions/datetime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAe;IACtC,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,IAAe,EAAE,IAAY,EAAE,QAAgB,CAAC;IACtE,OAAO,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAe;IACvC,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAe;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAe;IACrC,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC"}