@tinqerjs/tinqer 0.0.21

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 (405) hide show
  1. package/dist/expressions/expression.d.ts +313 -0
  2. package/dist/expressions/expression.d.ts.map +1 -0
  3. package/dist/expressions/expression.js +56 -0
  4. package/dist/expressions/expression.js.map +1 -0
  5. package/dist/index.d.ts +34 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +34 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/linq/database-context.d.ts +18 -0
  10. package/dist/linq/database-context.d.ts.map +1 -0
  11. package/dist/linq/database-context.js +23 -0
  12. package/dist/linq/database-context.js.map +1 -0
  13. package/dist/linq/database-schema.d.ts +18 -0
  14. package/dist/linq/database-schema.d.ts.map +1 -0
  15. package/dist/linq/database-schema.js +23 -0
  16. package/dist/linq/database-schema.js.map +1 -0
  17. package/dist/linq/deletable.d.ts +30 -0
  18. package/dist/linq/deletable.d.ts.map +1 -0
  19. package/dist/linq/deletable.js +46 -0
  20. package/dist/linq/deletable.js.map +1 -0
  21. package/dist/linq/delete-from.d.ts +19 -0
  22. package/dist/linq/delete-from.d.ts.map +1 -0
  23. package/dist/linq/delete-from.js +11 -0
  24. package/dist/linq/delete-from.js.map +1 -0
  25. package/dist/linq/from.d.ts +19 -0
  26. package/dist/linq/from.d.ts.map +1 -0
  27. package/dist/linq/from.js +11 -0
  28. package/dist/linq/from.js.map +1 -0
  29. package/dist/linq/functions.d.ts +96 -0
  30. package/dist/linq/functions.d.ts.map +1 -0
  31. package/dist/linq/functions.js +136 -0
  32. package/dist/linq/functions.js.map +1 -0
  33. package/dist/linq/grouping.d.ts +26 -0
  34. package/dist/linq/grouping.d.ts.map +1 -0
  35. package/dist/linq/grouping.js +47 -0
  36. package/dist/linq/grouping.js.map +1 -0
  37. package/dist/linq/insert-into.d.ts +19 -0
  38. package/dist/linq/insert-into.d.ts.map +1 -0
  39. package/dist/linq/insert-into.js +11 -0
  40. package/dist/linq/insert-into.js.map +1 -0
  41. package/dist/linq/insertable.d.ts +30 -0
  42. package/dist/linq/insertable.d.ts.map +1 -0
  43. package/dist/linq/insertable.js +37 -0
  44. package/dist/linq/insertable.js.map +1 -0
  45. package/dist/linq/query-builder.d.ts +24 -0
  46. package/dist/linq/query-builder.d.ts.map +1 -0
  47. package/dist/linq/query-builder.js +21 -0
  48. package/dist/linq/query-builder.js.map +1 -0
  49. package/dist/linq/queryable.d.ts +61 -0
  50. package/dist/linq/queryable.d.ts.map +1 -0
  51. package/dist/linq/queryable.js +148 -0
  52. package/dist/linq/queryable.js.map +1 -0
  53. package/dist/linq/terminal-query.d.ts +10 -0
  54. package/dist/linq/terminal-query.d.ts.map +1 -0
  55. package/dist/linq/terminal-query.js +12 -0
  56. package/dist/linq/terminal-query.js.map +1 -0
  57. package/dist/linq/updatable.d.ts +57 -0
  58. package/dist/linq/updatable.d.ts.map +1 -0
  59. package/dist/linq/updatable.js +84 -0
  60. package/dist/linq/updatable.js.map +1 -0
  61. package/dist/linq/update.d.ts +19 -0
  62. package/dist/linq/update.d.ts.map +1 -0
  63. package/dist/linq/update.js +11 -0
  64. package/dist/linq/update.js.map +1 -0
  65. package/dist/parser/ast-types.d.ts +114 -0
  66. package/dist/parser/ast-types.d.ts.map +1 -0
  67. package/dist/parser/ast-types.js +6 -0
  68. package/dist/parser/ast-types.js.map +1 -0
  69. package/dist/parser/ast-visitor.d.ts +32 -0
  70. package/dist/parser/ast-visitor.d.ts.map +1 -0
  71. package/dist/parser/ast-visitor.js +666 -0
  72. package/dist/parser/ast-visitor.js.map +1 -0
  73. package/dist/parser/normalize-joins.d.ts +3 -0
  74. package/dist/parser/normalize-joins.d.ts.map +1 -0
  75. package/dist/parser/normalize-joins.js +109 -0
  76. package/dist/parser/normalize-joins.js.map +1 -0
  77. package/dist/parser/normalize-window-filters.d.ts +13 -0
  78. package/dist/parser/normalize-window-filters.d.ts.map +1 -0
  79. package/dist/parser/normalize-window-filters.js +212 -0
  80. package/dist/parser/normalize-window-filters.js.map +1 -0
  81. package/dist/parser/oxc-parser.d.ts +11 -0
  82. package/dist/parser/oxc-parser.d.ts.map +1 -0
  83. package/dist/parser/oxc-parser.js +27 -0
  84. package/dist/parser/oxc-parser.js.map +1 -0
  85. package/dist/parser/parse-cache-config.d.ts +31 -0
  86. package/dist/parser/parse-cache-config.d.ts.map +1 -0
  87. package/dist/parser/parse-cache-config.js +33 -0
  88. package/dist/parser/parse-cache-config.js.map +1 -0
  89. package/dist/parser/parse-cache.d.ts +65 -0
  90. package/dist/parser/parse-cache.d.ts.map +1 -0
  91. package/dist/parser/parse-cache.js +146 -0
  92. package/dist/parser/parse-cache.js.map +1 -0
  93. package/dist/parser/parse-query.d.ts +24 -0
  94. package/dist/parser/parse-query.d.ts.map +1 -0
  95. package/dist/parser/parse-query.js +118 -0
  96. package/dist/parser/parse-query.js.map +1 -0
  97. package/dist/parser/types.d.ts +11 -0
  98. package/dist/parser/types.d.ts.map +1 -0
  99. package/dist/parser/types.js +2 -0
  100. package/dist/parser/types.js.map +1 -0
  101. package/dist/plans/delete-plan.d.ts +44 -0
  102. package/dist/plans/delete-plan.d.ts.map +1 -0
  103. package/dist/plans/delete-plan.js +209 -0
  104. package/dist/plans/delete-plan.js.map +1 -0
  105. package/dist/plans/insert-plan.d.ts +50 -0
  106. package/dist/plans/insert-plan.d.ts.map +1 -0
  107. package/dist/plans/insert-plan.js +240 -0
  108. package/dist/plans/insert-plan.js.map +1 -0
  109. package/dist/plans/plan-execution.d.ts +39 -0
  110. package/dist/plans/plan-execution.d.ts.map +1 -0
  111. package/dist/plans/plan-execution.js +32 -0
  112. package/dist/plans/plan-execution.js.map +1 -0
  113. package/dist/plans/select-plan.d.ts +74 -0
  114. package/dist/plans/select-plan.d.ts.map +1 -0
  115. package/dist/plans/select-plan.js +551 -0
  116. package/dist/plans/select-plan.js.map +1 -0
  117. package/dist/plans/update-plan.d.ts +61 -0
  118. package/dist/plans/update-plan.d.ts.map +1 -0
  119. package/dist/plans/update-plan.js +297 -0
  120. package/dist/plans/update-plan.js.map +1 -0
  121. package/dist/query-tree/operations.d.ts +430 -0
  122. package/dist/query-tree/operations.d.ts.map +1 -0
  123. package/dist/query-tree/operations.js +8 -0
  124. package/dist/query-tree/operations.js.map +1 -0
  125. package/dist/visitors/aggregates/average.d.ts +11 -0
  126. package/dist/visitors/aggregates/average.d.ts.map +1 -0
  127. package/dist/visitors/aggregates/average.js +56 -0
  128. package/dist/visitors/aggregates/average.js.map +1 -0
  129. package/dist/visitors/aggregates/max.d.ts +11 -0
  130. package/dist/visitors/aggregates/max.d.ts.map +1 -0
  131. package/dist/visitors/aggregates/max.js +56 -0
  132. package/dist/visitors/aggregates/max.js.map +1 -0
  133. package/dist/visitors/aggregates/min.d.ts +11 -0
  134. package/dist/visitors/aggregates/min.d.ts.map +1 -0
  135. package/dist/visitors/aggregates/min.js +56 -0
  136. package/dist/visitors/aggregates/min.js.map +1 -0
  137. package/dist/visitors/aggregates/sum.d.ts +11 -0
  138. package/dist/visitors/aggregates/sum.d.ts.map +1 -0
  139. package/dist/visitors/aggregates/sum.js +56 -0
  140. package/dist/visitors/aggregates/sum.js.map +1 -0
  141. package/dist/visitors/ast-visitor.d.ts +15 -0
  142. package/dist/visitors/ast-visitor.d.ts.map +1 -0
  143. package/dist/visitors/ast-visitor.js +20 -0
  144. package/dist/visitors/ast-visitor.js.map +1 -0
  145. package/dist/visitors/boolean/comparison.d.ts +12 -0
  146. package/dist/visitors/boolean/comparison.d.ts.map +1 -0
  147. package/dist/visitors/boolean/comparison.js +128 -0
  148. package/dist/visitors/boolean/comparison.js.map +1 -0
  149. package/dist/visitors/boolean/logical.d.ts +12 -0
  150. package/dist/visitors/boolean/logical.d.ts.map +1 -0
  151. package/dist/visitors/boolean/logical.js +68 -0
  152. package/dist/visitors/boolean/logical.js.map +1 -0
  153. package/dist/visitors/boolean-predicates/all.d.ts +11 -0
  154. package/dist/visitors/boolean-predicates/all.d.ts.map +1 -0
  155. package/dist/visitors/boolean-predicates/all.js +49 -0
  156. package/dist/visitors/boolean-predicates/all.js.map +1 -0
  157. package/dist/visitors/boolean-predicates/any.d.ts +11 -0
  158. package/dist/visitors/boolean-predicates/any.d.ts.map +1 -0
  159. package/dist/visitors/boolean-predicates/any.js +48 -0
  160. package/dist/visitors/boolean-predicates/any.js.map +1 -0
  161. package/dist/visitors/common/identifier.d.ts +13 -0
  162. package/dist/visitors/common/identifier.d.ts.map +1 -0
  163. package/dist/visitors/common/identifier.js +46 -0
  164. package/dist/visitors/common/identifier.js.map +1 -0
  165. package/dist/visitors/common/literal.d.ts +13 -0
  166. package/dist/visitors/common/literal.d.ts.map +1 -0
  167. package/dist/visitors/common/literal.js +45 -0
  168. package/dist/visitors/common/literal.js.map +1 -0
  169. package/dist/visitors/common/member-access.d.ts +15 -0
  170. package/dist/visitors/common/member-access.d.ts.map +1 -0
  171. package/dist/visitors/common/member-access.js +192 -0
  172. package/dist/visitors/common/member-access.js.map +1 -0
  173. package/dist/visitors/contains/index.d.ts +11 -0
  174. package/dist/visitors/contains/index.d.ts.map +1 -0
  175. package/dist/visitors/contains/index.js +26 -0
  176. package/dist/visitors/contains/index.js.map +1 -0
  177. package/dist/visitors/count/index.d.ts +11 -0
  178. package/dist/visitors/count/index.d.ts.map +1 -0
  179. package/dist/visitors/count/index.js +47 -0
  180. package/dist/visitors/count/index.js.map +1 -0
  181. package/dist/visitors/delete/allow-full-delete.d.ts +14 -0
  182. package/dist/visitors/delete/allow-full-delete.d.ts.map +1 -0
  183. package/dist/visitors/delete/allow-full-delete.js +26 -0
  184. package/dist/visitors/delete/allow-full-delete.js.map +1 -0
  185. package/dist/visitors/delete/index.d.ts +10 -0
  186. package/dist/visitors/delete/index.d.ts.map +1 -0
  187. package/dist/visitors/delete/index.js +53 -0
  188. package/dist/visitors/delete/index.js.map +1 -0
  189. package/dist/visitors/delete/where-delete.d.ts +15 -0
  190. package/dist/visitors/delete/where-delete.d.ts.map +1 -0
  191. package/dist/visitors/delete/where-delete.js +59 -0
  192. package/dist/visitors/delete/where-delete.js.map +1 -0
  193. package/dist/visitors/distinct/index.d.ts +16 -0
  194. package/dist/visitors/distinct/index.d.ts.map +1 -0
  195. package/dist/visitors/distinct/index.js +20 -0
  196. package/dist/visitors/distinct/index.js.map +1 -0
  197. package/dist/visitors/from/index.d.ts +12 -0
  198. package/dist/visitors/from/index.d.ts.map +1 -0
  199. package/dist/visitors/from/index.js +58 -0
  200. package/dist/visitors/from/index.js.map +1 -0
  201. package/dist/visitors/groupby/index.d.ts +11 -0
  202. package/dist/visitors/groupby/index.d.ts.map +1 -0
  203. package/dist/visitors/groupby/index.js +51 -0
  204. package/dist/visitors/groupby/index.js.map +1 -0
  205. package/dist/visitors/groupjoin/index.d.ts +8 -0
  206. package/dist/visitors/groupjoin/index.d.ts.map +1 -0
  207. package/dist/visitors/groupjoin/index.js +184 -0
  208. package/dist/visitors/groupjoin/index.js.map +1 -0
  209. package/dist/visitors/index.d.ts +13 -0
  210. package/dist/visitors/index.d.ts.map +1 -0
  211. package/dist/visitors/index.js +266 -0
  212. package/dist/visitors/index.js.map +1 -0
  213. package/dist/visitors/insert/index.d.ts +10 -0
  214. package/dist/visitors/insert/index.d.ts.map +1 -0
  215. package/dist/visitors/insert/index.js +54 -0
  216. package/dist/visitors/insert/index.js.map +1 -0
  217. package/dist/visitors/insert/returning.d.ts +15 -0
  218. package/dist/visitors/insert/returning.d.ts.map +1 -0
  219. package/dist/visitors/insert/returning.js +60 -0
  220. package/dist/visitors/insert/returning.js.map +1 -0
  221. package/dist/visitors/insert/values.d.ts +15 -0
  222. package/dist/visitors/insert/values.d.ts.map +1 -0
  223. package/dist/visitors/insert/values.js +37 -0
  224. package/dist/visitors/insert/values.js.map +1 -0
  225. package/dist/visitors/join/context.d.ts +16 -0
  226. package/dist/visitors/join/context.d.ts.map +1 -0
  227. package/dist/visitors/join/context.js +6 -0
  228. package/dist/visitors/join/context.js.map +1 -0
  229. package/dist/visitors/join/expression.d.ts +16 -0
  230. package/dist/visitors/join/expression.d.ts.map +1 -0
  231. package/dist/visitors/join/expression.js +162 -0
  232. package/dist/visitors/join/expression.js.map +1 -0
  233. package/dist/visitors/join/index.d.ts +10 -0
  234. package/dist/visitors/join/index.d.ts.map +1 -0
  235. package/dist/visitors/join/index.js +9 -0
  236. package/dist/visitors/join/index.js.map +1 -0
  237. package/dist/visitors/join/join.d.ts +12 -0
  238. package/dist/visitors/join/join.d.ts.map +1 -0
  239. package/dist/visitors/join/join.js +348 -0
  240. package/dist/visitors/join/join.js.map +1 -0
  241. package/dist/visitors/join/result-selector.d.ts +16 -0
  242. package/dist/visitors/join/result-selector.d.ts.map +1 -0
  243. package/dist/visitors/join/result-selector.js +121 -0
  244. package/dist/visitors/join/result-selector.js.map +1 -0
  245. package/dist/visitors/join/shape.d.ts +16 -0
  246. package/dist/visitors/join/shape.d.ts.map +1 -0
  247. package/dist/visitors/join/shape.js +157 -0
  248. package/dist/visitors/join/shape.js.map +1 -0
  249. package/dist/visitors/orderby/context.d.ts +20 -0
  250. package/dist/visitors/orderby/context.d.ts.map +1 -0
  251. package/dist/visitors/orderby/context.js +25 -0
  252. package/dist/visitors/orderby/context.js.map +1 -0
  253. package/dist/visitors/orderby/index.d.ts +7 -0
  254. package/dist/visitors/orderby/index.d.ts.map +1 -0
  255. package/dist/visitors/orderby/index.js +7 -0
  256. package/dist/visitors/orderby/index.js.map +1 -0
  257. package/dist/visitors/orderby/key-selector.d.ts +13 -0
  258. package/dist/visitors/orderby/key-selector.d.ts.map +1 -0
  259. package/dist/visitors/orderby/key-selector.js +236 -0
  260. package/dist/visitors/orderby/key-selector.js.map +1 -0
  261. package/dist/visitors/orderby/orderby.d.ts +20 -0
  262. package/dist/visitors/orderby/orderby.d.ts.map +1 -0
  263. package/dist/visitors/orderby/orderby.js +83 -0
  264. package/dist/visitors/orderby/orderby.js.map +1 -0
  265. package/dist/visitors/orderby/thenby.d.ts +20 -0
  266. package/dist/visitors/orderby/thenby.d.ts.map +1 -0
  267. package/dist/visitors/orderby/thenby.js +76 -0
  268. package/dist/visitors/orderby/thenby.js.map +1 -0
  269. package/dist/visitors/predicates/first.d.ts +11 -0
  270. package/dist/visitors/predicates/first.d.ts.map +1 -0
  271. package/dist/visitors/predicates/first.js +47 -0
  272. package/dist/visitors/predicates/first.js.map +1 -0
  273. package/dist/visitors/predicates/last.d.ts +11 -0
  274. package/dist/visitors/predicates/last.d.ts.map +1 -0
  275. package/dist/visitors/predicates/last.js +48 -0
  276. package/dist/visitors/predicates/last.js.map +1 -0
  277. package/dist/visitors/predicates/single.d.ts +11 -0
  278. package/dist/visitors/predicates/single.d.ts.map +1 -0
  279. package/dist/visitors/predicates/single.js +48 -0
  280. package/dist/visitors/predicates/single.js.map +1 -0
  281. package/dist/visitors/reverse/index.d.ts +11 -0
  282. package/dist/visitors/reverse/index.d.ts.map +1 -0
  283. package/dist/visitors/reverse/index.js +14 -0
  284. package/dist/visitors/reverse/index.js.map +1 -0
  285. package/dist/visitors/select/context.d.ts +30 -0
  286. package/dist/visitors/select/context.d.ts.map +1 -0
  287. package/dist/visitors/select/context.js +30 -0
  288. package/dist/visitors/select/context.js.map +1 -0
  289. package/dist/visitors/select/index.d.ts +16 -0
  290. package/dist/visitors/select/index.d.ts.map +1 -0
  291. package/dist/visitors/select/index.js +180 -0
  292. package/dist/visitors/select/index.js.map +1 -0
  293. package/dist/visitors/select/projection.d.ts +13 -0
  294. package/dist/visitors/select/projection.d.ts.map +1 -0
  295. package/dist/visitors/select/projection.js +642 -0
  296. package/dist/visitors/select/projection.js.map +1 -0
  297. package/dist/visitors/select-many/index.d.ts +8 -0
  298. package/dist/visitors/select-many/index.d.ts.map +1 -0
  299. package/dist/visitors/select-many/index.js +244 -0
  300. package/dist/visitors/select-many/index.js.map +1 -0
  301. package/dist/visitors/shared/generic-visitor.d.ts +21 -0
  302. package/dist/visitors/shared/generic-visitor.d.ts.map +1 -0
  303. package/dist/visitors/shared/generic-visitor.js +32 -0
  304. package/dist/visitors/shared/generic-visitor.js.map +1 -0
  305. package/dist/visitors/shared/predicate-visitor.d.ts +21 -0
  306. package/dist/visitors/shared/predicate-visitor.d.ts.map +1 -0
  307. package/dist/visitors/shared/predicate-visitor.js +49 -0
  308. package/dist/visitors/shared/predicate-visitor.js.map +1 -0
  309. package/dist/visitors/shared/value-visitor.d.ts +21 -0
  310. package/dist/visitors/shared/value-visitor.d.ts.map +1 -0
  311. package/dist/visitors/shared/value-visitor.js +38 -0
  312. package/dist/visitors/shared/value-visitor.js.map +1 -0
  313. package/dist/visitors/take-skip/skip.d.ts +15 -0
  314. package/dist/visitors/take-skip/skip.d.ts.map +1 -0
  315. package/dist/visitors/take-skip/skip.js +209 -0
  316. package/dist/visitors/take-skip/skip.js.map +1 -0
  317. package/dist/visitors/take-skip/take.d.ts +15 -0
  318. package/dist/visitors/take-skip/take.d.ts.map +1 -0
  319. package/dist/visitors/take-skip/take.js +76 -0
  320. package/dist/visitors/take-skip/take.js.map +1 -0
  321. package/dist/visitors/types.d.ts +170 -0
  322. package/dist/visitors/types.d.ts.map +1 -0
  323. package/dist/visitors/types.js +184 -0
  324. package/dist/visitors/types.js.map +1 -0
  325. package/dist/visitors/update/allow-full-update.d.ts +14 -0
  326. package/dist/visitors/update/allow-full-update.d.ts.map +1 -0
  327. package/dist/visitors/update/allow-full-update.js +26 -0
  328. package/dist/visitors/update/allow-full-update.js.map +1 -0
  329. package/dist/visitors/update/index.d.ts +10 -0
  330. package/dist/visitors/update/index.d.ts.map +1 -0
  331. package/dist/visitors/update/index.js +54 -0
  332. package/dist/visitors/update/index.js.map +1 -0
  333. package/dist/visitors/update/returning-update.d.ts +15 -0
  334. package/dist/visitors/update/returning-update.d.ts.map +1 -0
  335. package/dist/visitors/update/returning-update.js +60 -0
  336. package/dist/visitors/update/returning-update.js.map +1 -0
  337. package/dist/visitors/update/set.d.ts +15 -0
  338. package/dist/visitors/update/set.d.ts.map +1 -0
  339. package/dist/visitors/update/set.js +46 -0
  340. package/dist/visitors/update/set.js.map +1 -0
  341. package/dist/visitors/update/where-update.d.ts +15 -0
  342. package/dist/visitors/update/where-update.d.ts.map +1 -0
  343. package/dist/visitors/update/where-update.js +59 -0
  344. package/dist/visitors/update/where-update.js.map +1 -0
  345. package/dist/visitors/utils.d.ts +36 -0
  346. package/dist/visitors/utils.d.ts.map +1 -0
  347. package/dist/visitors/utils.js +104 -0
  348. package/dist/visitors/utils.js.map +1 -0
  349. package/dist/visitors/value/array-literal.d.ts +12 -0
  350. package/dist/visitors/value/array-literal.d.ts.map +1 -0
  351. package/dist/visitors/value/array-literal.js +23 -0
  352. package/dist/visitors/value/array-literal.js.map +1 -0
  353. package/dist/visitors/value/call-expression.d.ts +12 -0
  354. package/dist/visitors/value/call-expression.d.ts.map +1 -0
  355. package/dist/visitors/value/call-expression.js +165 -0
  356. package/dist/visitors/value/call-expression.js.map +1 -0
  357. package/dist/visitors/value/object-literal.d.ts +12 -0
  358. package/dist/visitors/value/object-literal.d.ts.map +1 -0
  359. package/dist/visitors/value/object-literal.js +98 -0
  360. package/dist/visitors/value/object-literal.js.map +1 -0
  361. package/dist/visitors/visitor-utils.d.ts +22 -0
  362. package/dist/visitors/visitor-utils.d.ts.map +1 -0
  363. package/dist/visitors/visitor-utils.js +64 -0
  364. package/dist/visitors/visitor-utils.js.map +1 -0
  365. package/dist/visitors/where/boolean-method.d.ts +12 -0
  366. package/dist/visitors/where/boolean-method.d.ts.map +1 -0
  367. package/dist/visitors/where/boolean-method.js +150 -0
  368. package/dist/visitors/where/boolean-method.js.map +1 -0
  369. package/dist/visitors/where/case-insensitive-functions.d.ts +13 -0
  370. package/dist/visitors/where/case-insensitive-functions.d.ts.map +1 -0
  371. package/dist/visitors/where/case-insensitive-functions.js +72 -0
  372. package/dist/visitors/where/case-insensitive-functions.js.map +1 -0
  373. package/dist/visitors/where/column.d.ts +14 -0
  374. package/dist/visitors/where/column.d.ts.map +1 -0
  375. package/dist/visitors/where/column.js +57 -0
  376. package/dist/visitors/where/column.js.map +1 -0
  377. package/dist/visitors/where/comparison.d.ts +12 -0
  378. package/dist/visitors/where/comparison.d.ts.map +1 -0
  379. package/dist/visitors/where/comparison.js +141 -0
  380. package/dist/visitors/where/comparison.js.map +1 -0
  381. package/dist/visitors/where/context.d.ts +32 -0
  382. package/dist/visitors/where/context.d.ts.map +1 -0
  383. package/dist/visitors/where/context.js +18 -0
  384. package/dist/visitors/where/context.js.map +1 -0
  385. package/dist/visitors/where/index.d.ts +16 -0
  386. package/dist/visitors/where/index.d.ts.map +1 -0
  387. package/dist/visitors/where/index.js +82 -0
  388. package/dist/visitors/where/index.js.map +1 -0
  389. package/dist/visitors/where/logical.d.ts +12 -0
  390. package/dist/visitors/where/logical.d.ts.map +1 -0
  391. package/dist/visitors/where/logical.js +43 -0
  392. package/dist/visitors/where/logical.js.map +1 -0
  393. package/dist/visitors/where/predicate.d.ts +13 -0
  394. package/dist/visitors/where/predicate.d.ts.map +1 -0
  395. package/dist/visitors/where/predicate.js +131 -0
  396. package/dist/visitors/where/predicate.js.map +1 -0
  397. package/dist/visitors/where/value.d.ts +13 -0
  398. package/dist/visitors/where/value.d.ts.map +1 -0
  399. package/dist/visitors/where/value.js +356 -0
  400. package/dist/visitors/where/value.js.map +1 -0
  401. package/dist/visitors/window/index.d.ts +18 -0
  402. package/dist/visitors/window/index.d.ts.map +1 -0
  403. package/dist/visitors/window/index.js +156 -0
  404. package/dist/visitors/window/index.js.map +1 -0
  405. package/package.json +50 -0
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Core visitor types and context definitions
3
+ *
4
+ * Visitors are pure functions that transform AST nodes into expressions
5
+ * Context provides environment information needed during traversal
6
+ */
7
+ // ==================== Helper Functions ====================
8
+ /**
9
+ * Create a base context with common properties
10
+ */
11
+ export function createBaseContext() {
12
+ return {
13
+ tableParams: new Set(),
14
+ queryParams: new Set(),
15
+ autoParams: new Map(),
16
+ autoParamCounter: 0,
17
+ };
18
+ }
19
+ /**
20
+ * Create a boolean context from a base context
21
+ */
22
+ export function toBooleanContext(context) {
23
+ return {
24
+ ...context,
25
+ expectedType: "boolean",
26
+ };
27
+ }
28
+ /**
29
+ * Create a value context from a base context
30
+ */
31
+ export function toValueContext(context) {
32
+ return {
33
+ ...context,
34
+ expectedType: "value",
35
+ };
36
+ }
37
+ /**
38
+ * Create an object context from a base context
39
+ */
40
+ export function toObjectContext(context) {
41
+ return {
42
+ ...context,
43
+ expectedType: "object",
44
+ };
45
+ }
46
+ /**
47
+ * Create an array context from a base context
48
+ */
49
+ export function toArrayContext(context) {
50
+ return {
51
+ ...context,
52
+ expectedType: "array",
53
+ };
54
+ }
55
+ /**
56
+ * Create an auto-parameterized parameter
57
+ */
58
+ export function createAutoParam(context, value, options = {}) {
59
+ // Generate simple sequential parameter names to match existing tests
60
+ // Format: __p1, __p2, __p3, etc.
61
+ context.autoParamCounter++;
62
+ const paramName = `__p${context.autoParamCounter}`;
63
+ context.autoParams.set(paramName, value);
64
+ // Store enhanced field context if available
65
+ if (context.autoParamInfos) {
66
+ context.autoParamInfos.set(paramName, {
67
+ value: value,
68
+ fieldName: options.fieldName,
69
+ tableName: options.tableName,
70
+ sourceTable: options.sourceTable,
71
+ });
72
+ }
73
+ return paramName;
74
+ }
75
+ function serializeShapeNode(node) {
76
+ switch (node.type) {
77
+ case "column":
78
+ return {
79
+ type: "column",
80
+ sourceTable: node.sourceTable,
81
+ columnName: node.columnName,
82
+ };
83
+ case "object": {
84
+ const entries = Array.from(node.properties.entries());
85
+ return {
86
+ type: "object",
87
+ properties: entries.map(([key, value]) => ({
88
+ key,
89
+ value: serializeShapeNode(value),
90
+ })),
91
+ };
92
+ }
93
+ case "reference":
94
+ return {
95
+ type: "reference",
96
+ sourceTable: node.sourceTable,
97
+ };
98
+ case "array":
99
+ return {
100
+ type: "array",
101
+ element: serializeShapeNode(node.elementShape),
102
+ };
103
+ default:
104
+ throw new Error("Unsupported shape node type");
105
+ }
106
+ }
107
+ function deserializeShapeNode(serialized) {
108
+ switch (serialized.type) {
109
+ case "column":
110
+ return {
111
+ type: "column",
112
+ sourceTable: serialized.sourceTable,
113
+ columnName: serialized.columnName,
114
+ };
115
+ case "object": {
116
+ const properties = new Map();
117
+ for (const entry of serialized.properties) {
118
+ properties.set(entry.key, deserializeShapeNode(entry.value));
119
+ }
120
+ return {
121
+ type: "object",
122
+ properties,
123
+ };
124
+ }
125
+ case "reference":
126
+ return {
127
+ type: "reference",
128
+ sourceTable: serialized.sourceTable,
129
+ };
130
+ case "array":
131
+ return {
132
+ type: "array",
133
+ elementShape: deserializeShapeNode(serialized.element),
134
+ };
135
+ default:
136
+ throw new Error("Unsupported serialized shape node type");
137
+ }
138
+ }
139
+ export function snapshotVisitorContext(context) {
140
+ return {
141
+ queryBuilderParam: context.queryBuilderParam,
142
+ tableParams: Array.from(context.tableParams),
143
+ queryParams: Array.from(context.queryParams),
144
+ helpersParam: context.helpersParam,
145
+ groupingParams: context.groupingParams ? Array.from(context.groupingParams) : undefined,
146
+ autoParams: Array.from(context.autoParams.entries()),
147
+ autoParamCounter: context.autoParamCounter,
148
+ autoParamInfos: context.autoParamInfos
149
+ ? Array.from(context.autoParamInfos.entries())
150
+ : undefined,
151
+ joinParams: context.joinParams ? Array.from(context.joinParams.entries()) : undefined,
152
+ joinResultParam: context.joinResultParam,
153
+ currentResultShape: context.currentResultShape
154
+ ? serializeShapeNode(context.currentResultShape)
155
+ : undefined,
156
+ currentTable: context.currentTable,
157
+ inSelectProjection: context.inSelectProjection,
158
+ hasTableParam: context.hasTableParam,
159
+ expectedType: context.expectedType,
160
+ };
161
+ }
162
+ export function restoreVisitorContext(snapshot) {
163
+ const context = {
164
+ queryBuilderParam: snapshot.queryBuilderParam,
165
+ tableParams: new Set(snapshot.tableParams),
166
+ queryParams: new Set(snapshot.queryParams),
167
+ helpersParam: snapshot.helpersParam,
168
+ groupingParams: snapshot.groupingParams ? new Set(snapshot.groupingParams) : undefined,
169
+ autoParams: new Map(snapshot.autoParams),
170
+ autoParamCounter: snapshot.autoParamCounter,
171
+ autoParamInfos: snapshot.autoParamInfos ? new Map(snapshot.autoParamInfos) : undefined,
172
+ joinParams: snapshot.joinParams ? new Map(snapshot.joinParams) : undefined,
173
+ joinResultParam: snapshot.joinResultParam,
174
+ currentResultShape: snapshot.currentResultShape
175
+ ? deserializeShapeNode(snapshot.currentResultShape)
176
+ : undefined,
177
+ currentTable: snapshot.currentTable,
178
+ inSelectProjection: snapshot.inSelectProjection,
179
+ hasTableParam: snapshot.hasTableParam,
180
+ expectedType: snapshot.expectedType,
181
+ };
182
+ return context;
183
+ }
184
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/visitors/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Visitor for UPDATE .allowFullTableUpdate() operation
3
+ */
4
+ import type { UpdateOperation } from "../../query-tree/operations.js";
5
+ import type { CallExpression as ASTCallExpression } from "../../parser/ast-types.js";
6
+ export interface AllowFullUpdateVisitorResult {
7
+ operation: UpdateOperation;
8
+ autoParams: Record<string, unknown>;
9
+ }
10
+ /**
11
+ * Visit a .allowFullTableUpdate() operation on an UPDATE
12
+ */
13
+ export declare function visitAllowFullUpdateOperation(_ast: ASTCallExpression, source: UpdateOperation): AllowFullUpdateVisitorResult | null;
14
+ //# sourceMappingURL=allow-full-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow-full-update.d.ts","sourceRoot":"","sources":["../../../src/visitors/update/allow-full-update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAErF,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,eAAe,GACtB,4BAA4B,GAAG,IAAI,CAqBrC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Visitor for UPDATE .allowFullTableUpdate() operation
3
+ */
4
+ /**
5
+ * Visit a .allowFullTableUpdate() operation on an UPDATE
6
+ */
7
+ export function visitAllowFullUpdateOperation(_ast, source) {
8
+ // Check if already has a WHERE clause
9
+ if (source.predicate) {
10
+ throw new Error("Cannot call allowFullTableUpdate() after where()");
11
+ }
12
+ // Check if allowFullTableUpdate already set
13
+ if (source.allowFullTableUpdate) {
14
+ throw new Error("allowFullTableUpdate() can only be called once");
15
+ }
16
+ // Create updated UPDATE operation with allowFullTableUpdate flag
17
+ const updatedOperation = {
18
+ ...source,
19
+ allowFullTableUpdate: true,
20
+ };
21
+ return {
22
+ operation: updatedOperation,
23
+ autoParams: {},
24
+ };
25
+ }
26
+ //# sourceMappingURL=allow-full-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow-full-update.js","sourceRoot":"","sources":["../../../src/visitors/update/allow-full-update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAuB,EACvB,MAAuB;IAEvB,sCAAsC;IACtC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,iEAAiE;IACjE,MAAM,gBAAgB,GAAoB;QACxC,GAAG,MAAM;QACT,oBAAoB,EAAE,IAAI;KAC3B,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Visitor for UPDATE operations
3
+ */
4
+ import type { UpdateOperation } from "../../query-tree/operations.js";
5
+ import type { CallExpression as ASTCallExpression } from "../../parser/ast-types.js";
6
+ /**
7
+ * Visit an update() operation
8
+ */
9
+ export declare function visitUpdateOperation(ast: ASTCallExpression): UpdateOperation | null;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/visitors/update/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAErF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAwDnF"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Visitor for UPDATE operations
3
+ */
4
+ /**
5
+ * Visit an update() operation
6
+ */
7
+ export function visitUpdateOperation(ast) {
8
+ // update can have two forms:
9
+ // 1. update("tableName") or update("schema.table") - single argument
10
+ // 2. update(db, "tableName") - two arguments
11
+ if (!ast.arguments || ast.arguments.length === 0) {
12
+ return null;
13
+ }
14
+ let table;
15
+ let schema;
16
+ if (ast.arguments.length === 1) {
17
+ // Single argument form: update("tableName") or update("schema.table")
18
+ const tableArg = ast.arguments[0];
19
+ if (!tableArg) {
20
+ return null;
21
+ }
22
+ // Handle both Literal and StringLiteral node types
23
+ if (tableArg.type !== "Literal" && tableArg.type !== "StringLiteral") {
24
+ return null;
25
+ }
26
+ const tableName = tableArg.value;
27
+ // Check if table name includes schema
28
+ const parts = tableName.split(".");
29
+ schema = parts.length > 1 ? parts[0] : undefined;
30
+ table = parts.length > 1 ? parts[1] : tableName;
31
+ }
32
+ else {
33
+ // Multiple argument form: update(db, "tableName")
34
+ // First argument is the database object (we don't need to parse it)
35
+ // Second argument is the table name
36
+ const tableArg = ast.arguments[1];
37
+ if (!tableArg) {
38
+ return null;
39
+ }
40
+ // Handle both Literal and StringLiteral node types
41
+ if (tableArg.type !== "Literal" && tableArg.type !== "StringLiteral") {
42
+ return null;
43
+ }
44
+ table = tableArg.value;
45
+ }
46
+ return {
47
+ type: "queryOperation",
48
+ operationType: "update",
49
+ table,
50
+ ...(schema && { schema }),
51
+ assignments: { type: "object", properties: {} }, // Will be filled by .set()
52
+ };
53
+ }
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitors/update/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAsB;IACzD,6BAA6B;IAC7B,qEAAqE;IACrE,6CAA6C;IAE7C,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAa,CAAC;IAClB,IAAI,MAA0B,CAAC;IAE/B,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,sEAAsE;QACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mDAAmD;QACnD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAI,QAA8B,CAAC,KAAK,CAAC;QAExD,sCAAsC;QACtC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,kDAAkD;QAClD,oEAAoE;QACpE,oCAAoC;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mDAAmD;QACnD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,GAAI,QAA8B,CAAC,KAAK,CAAC;IAChD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,aAAa,EAAE,QAAQ;QACvB,KAAK;QACL,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,2BAA2B;KAC1D,CAAC;AACvB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Visitor for UPDATE .returning() operation
3
+ */
4
+ import type { UpdateOperation } from "../../query-tree/operations.js";
5
+ import type { CallExpression as ASTCallExpression } from "../../parser/ast-types.js";
6
+ import type { VisitorContext } from "../types.js";
7
+ export interface ReturningUpdateVisitorResult {
8
+ operation: UpdateOperation;
9
+ autoParams: Record<string, unknown>;
10
+ }
11
+ /**
12
+ * Visit a .returning() operation on an UPDATE
13
+ */
14
+ export declare function visitReturningUpdateOperation(ast: ASTCallExpression, source: UpdateOperation, visitorContext: VisitorContext): ReturningUpdateVisitorResult | null;
15
+ //# sourceMappingURL=returning-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"returning-update.d.ts","sourceRoot":"","sources":["../../../src/visitors/update/returning-update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAMtE,OAAO,KAAK,EACV,cAAc,IAAI,iBAAiB,EAEpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,cAAc,GAC7B,4BAA4B,GAAG,IAAI,CA6DrC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Visitor for UPDATE .returning() operation
3
+ */
4
+ import { visitExpression } from "../index.js";
5
+ /**
6
+ * Visit a .returning() operation on an UPDATE
7
+ */
8
+ export function visitReturningUpdateOperation(ast, source, visitorContext) {
9
+ // .returning((row) => row.id) or .returning((row) => ({ id: row.id, name: row.name }))
10
+ const args = ast.arguments;
11
+ if (!args || args.length === 0) {
12
+ return null;
13
+ }
14
+ const lambda = args[0];
15
+ if (!lambda || lambda.type !== "ArrowFunctionExpression") {
16
+ throw new Error("returning() requires a lambda expression");
17
+ }
18
+ const arrowFn = lambda;
19
+ // Extract parameter name (e.g., "row")
20
+ const params = arrowFn.params;
21
+ if (!params || params.length === 0 || params[0]?.type !== "Identifier") {
22
+ throw new Error("returning() lambda must have a parameter");
23
+ }
24
+ const paramName = params[0].name;
25
+ // Add to table params temporarily for expression resolution
26
+ const originalTableParams = new Set(visitorContext.tableParams);
27
+ visitorContext.tableParams.add(paramName);
28
+ let bodyExpr = arrowFn.body;
29
+ // Handle block statement with return
30
+ if (bodyExpr.type === "BlockStatement") {
31
+ const returnStmt = bodyExpr.body?.find((stmt) => stmt.type === "ReturnStatement");
32
+ if (!returnStmt || !returnStmt.argument) {
33
+ throw new Error("returning() lambda must return a value");
34
+ }
35
+ bodyExpr = returnStmt.argument;
36
+ }
37
+ // Check for identity returning (returning((u) => u))
38
+ let returningExpr;
39
+ if (bodyExpr.type === "Identifier" && bodyExpr.name === paramName) {
40
+ // Return AllColumnsExpression to indicate "RETURNING *"
41
+ const allColumns = { type: "allColumns" };
42
+ returningExpr = allColumns;
43
+ }
44
+ else {
45
+ // Convert the returning expression normally
46
+ returningExpr = visitExpression(bodyExpr, visitorContext);
47
+ }
48
+ // Restore table params
49
+ visitorContext.tableParams = originalTableParams;
50
+ // Create updated UPDATE operation with returning clause
51
+ const updatedOperation = {
52
+ ...source,
53
+ returning: returningExpr,
54
+ };
55
+ return {
56
+ operation: updatedOperation,
57
+ autoParams: {},
58
+ };
59
+ }
60
+ //# sourceMappingURL=returning-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"returning-update.js","sourceRoot":"","sources":["../../../src/visitors/update/returning-update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,GAAsB,EACtB,MAAuB,EACvB,cAA8B;IAE9B,uFAAuF;IACvF,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,MAAiC,CAAC;IAElD,uCAAuC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjC,4DAA4D;IAC5D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAChE,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE1C,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5B,qCAAqC;IACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,qDAAqD;IACrD,IAAI,aAAiD,CAAC;IACtD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAK,QAA6B,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxF,wDAAwD;QACxD,MAAM,UAAU,GAAyB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAChE,aAAa,GAAG,UAA6B,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,4CAA4C;QAC5C,aAAa,GAAG,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAuC,CAAC;IAClG,CAAC;IAED,uBAAuB;IACvB,cAAc,CAAC,WAAW,GAAG,mBAAmB,CAAC;IAEjD,wDAAwD;IACxD,MAAM,gBAAgB,GAAoB;QACxC,GAAG,MAAM;QACT,SAAS,EAAE,aAAa;KACzB,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Visitor for UPDATE .set() operation
3
+ */
4
+ import type { UpdateOperation } from "../../query-tree/operations.js";
5
+ import type { CallExpression as ASTCallExpression } from "../../parser/ast-types.js";
6
+ import type { VisitorContext } from "../types.js";
7
+ export interface SetVisitorResult {
8
+ operation: UpdateOperation;
9
+ autoParams: Record<string, unknown>;
10
+ }
11
+ /**
12
+ * Visit a .set() operation on an UPDATE
13
+ */
14
+ export declare function visitSetOperation(ast: ASTCallExpression, source: UpdateOperation, visitorContext: VisitorContext): SetVisitorResult | null;
15
+ //# sourceMappingURL=set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/visitors/update/set.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EACV,cAAc,IAAI,iBAAiB,EAEpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,cAAc,GAC7B,gBAAgB,GAAG,IAAI,CA8CzB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Visitor for UPDATE .set() operation
3
+ */
4
+ import { visitExpression } from "../index.js";
5
+ /**
6
+ * Visit a .set() operation on an UPDATE
7
+ */
8
+ export function visitSetOperation(ast, source, visitorContext) {
9
+ // Check if .set() has already been called (assignments should be empty object initially)
10
+ if (source.assignments.type === "object" &&
11
+ Object.keys(source.assignments.properties).length > 0) {
12
+ throw new Error("set() can only be called once per UPDATE query");
13
+ }
14
+ // .set({ column1: value1, column2: value2 })
15
+ const args = ast.arguments;
16
+ if (!args || args.length === 0) {
17
+ return null;
18
+ }
19
+ const firstArg = args[0];
20
+ if (!firstArg) {
21
+ return null;
22
+ }
23
+ // Must be an object expression
24
+ if (firstArg.type !== "ObjectExpression") {
25
+ throw new Error("set() must be an object literal");
26
+ }
27
+ // Visit the object expression to get column-value assignments
28
+ const assignmentsExpr = visitExpression(firstArg, visitorContext);
29
+ if (!assignmentsExpr || assignmentsExpr.type !== "object") {
30
+ return null;
31
+ }
32
+ // Validate that assignments object is not empty
33
+ if (Object.keys(assignmentsExpr.properties).length === 0) {
34
+ throw new Error("set() must specify at least one column assignment");
35
+ }
36
+ // Create updated UPDATE operation with assignments
37
+ const updatedOperation = {
38
+ ...source,
39
+ assignments: assignmentsExpr,
40
+ };
41
+ return {
42
+ operation: updatedOperation,
43
+ autoParams: {},
44
+ };
45
+ }
46
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/visitors/update/set.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAsB,EACtB,MAAuB,EACvB,cAA8B;IAE9B,yFAAyF;IACzF,IACE,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ;QACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EACrD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,6CAA6C;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAA+B;IAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,8DAA8D;IAC9D,MAAM,eAAe,GAAG,eAAe,CAAC,QAA+B,EAAE,cAAc,CAAC,CAAC;IACzF,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,mDAAmD;IACnD,MAAM,gBAAgB,GAAoB;QACxC,GAAG,MAAM;QACT,WAAW,EAAE,eAAmC;KACjD,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Visitor for UPDATE .where() operation
3
+ */
4
+ import type { UpdateOperation } from "../../query-tree/operations.js";
5
+ import type { CallExpression as ASTCallExpression } from "../../parser/ast-types.js";
6
+ import type { VisitorContext } from "../types.js";
7
+ export interface WhereUpdateVisitorResult {
8
+ operation: UpdateOperation;
9
+ autoParams: Record<string, unknown>;
10
+ }
11
+ /**
12
+ * Visit a .where() operation on an UPDATE
13
+ */
14
+ export declare function visitWhereUpdateOperation(ast: ASTCallExpression, source: UpdateOperation, visitorContext: VisitorContext): WhereUpdateVisitorResult | null;
15
+ //# sourceMappingURL=where-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where-update.d.ts","sourceRoot":"","sources":["../../../src/visitors/update/where-update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EACV,cAAc,IAAI,iBAAiB,EAEpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,cAAc,GAC7B,wBAAwB,GAAG,IAAI,CA+DjC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Visitor for UPDATE .where() operation
3
+ */
4
+ import { visitExpression } from "../index.js";
5
+ /**
6
+ * Visit a .where() operation on an UPDATE
7
+ */
8
+ export function visitWhereUpdateOperation(ast, source, visitorContext) {
9
+ // .where((row) => row.id === params.id)
10
+ const args = ast.arguments;
11
+ if (!args || args.length === 0) {
12
+ return null;
13
+ }
14
+ const lambda = args[0];
15
+ if (!lambda || lambda.type !== "ArrowFunctionExpression") {
16
+ throw new Error("where() requires a lambda expression");
17
+ }
18
+ const arrowFn = lambda;
19
+ // Extract parameter name (e.g., "row")
20
+ const params = arrowFn.params;
21
+ if (!params || params.length === 0 || params[0]?.type !== "Identifier") {
22
+ throw new Error("where() lambda must have a parameter");
23
+ }
24
+ const paramName = params[0].name;
25
+ // Add to table params temporarily for expression resolution
26
+ const originalTableParams = new Set(visitorContext.tableParams);
27
+ visitorContext.tableParams.add(paramName);
28
+ // Check for second parameter (external params)
29
+ if (params.length > 1 && params[1]?.type === "Identifier") {
30
+ const externalParamName = params[1].name;
31
+ visitorContext.queryParams.add(externalParamName);
32
+ }
33
+ let bodyExpr = arrowFn.body;
34
+ // Handle block statement with return
35
+ if (bodyExpr.type === "BlockStatement") {
36
+ const returnStmt = bodyExpr.body?.find((stmt) => stmt.type === "ReturnStatement");
37
+ if (!returnStmt || !returnStmt.argument) {
38
+ throw new Error("where() lambda must return a boolean expression");
39
+ }
40
+ bodyExpr = returnStmt.argument;
41
+ }
42
+ // Convert the where expression
43
+ const whereExpr = visitExpression(bodyExpr, visitorContext);
44
+ // Restore table params
45
+ visitorContext.tableParams = originalTableParams;
46
+ if (!whereExpr) {
47
+ return null;
48
+ }
49
+ // Create updated UPDATE operation with where clause
50
+ const updatedOperation = {
51
+ ...source,
52
+ predicate: whereExpr,
53
+ };
54
+ return {
55
+ operation: updatedOperation,
56
+ autoParams: {},
57
+ };
58
+ }
59
+ //# sourceMappingURL=where-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where-update.js","sourceRoot":"","sources":["../../../src/visitors/update/where-update.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,GAAsB,EACtB,MAAuB,EACvB,cAA8B;IAE9B,wCAAwC;IACxC,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,OAAO,GAAG,MAAiC,CAAC;IAElD,uCAAuC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjC,4DAA4D;IAC5D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAChE,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE1C,+CAA+C;IAC/C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1D,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5B,qCAAqC;IACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,+BAA+B;IAC/B,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE5D,uBAAuB;IACvB,cAAc,CAAC,WAAW,GAAG,mBAAmB,CAAC;IAEjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oDAAoD;IACpD,MAAM,gBAAgB,GAAoB;QACxC,GAAG,MAAM;QACT,SAAS,EAAE,SAA8B;KAC1C,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Utility functions for visitor implementations
3
+ * Type guards and helper functions
4
+ */
5
+ import type { Expression } from "../expressions/expression.js";
6
+ /**
7
+ * Type guard for boolean expressions
8
+ */
9
+ export declare function isBooleanExpression(expr: Expression | unknown): boolean;
10
+ /**
11
+ * Type guard for value expressions
12
+ */
13
+ export declare function isValueExpression(expr: Expression | unknown): boolean;
14
+ /**
15
+ * Check if a column name likely represents a string
16
+ * Used for heuristic string concatenation detection
17
+ */
18
+ export declare function isLikelyStringColumn(name: string): boolean;
19
+ /**
20
+ * Check if a parameter property likely represents a string
21
+ * Used for heuristic string concatenation detection
22
+ */
23
+ export declare function isLikelyStringParam(property?: string): boolean;
24
+ /**
25
+ * Extract parameter name from arrow function
26
+ */
27
+ export declare function getParameterName(arrowFunc: {
28
+ params?: Array<{
29
+ name?: string;
30
+ }>;
31
+ }): string | null;
32
+ /**
33
+ * Get return expression from function body
34
+ */
35
+ export declare function getReturnExpression(body: unknown[]): unknown | null;
36
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/visitors/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAavE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAiBrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAyB1D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE;IAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAGhG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAanE"}