semola 0.5.3 → 0.6.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 (367) hide show
  1. package/README.md +18 -45
  2. package/dist/chunk-CKQMccvm.cjs +28 -0
  3. package/dist/lib/api/index.cjs +536 -4
  4. package/dist/lib/api/index.d.cts +270 -4
  5. package/dist/lib/api/index.d.mts +270 -4
  6. package/dist/lib/api/index.mjs +534 -2
  7. package/dist/lib/cache/index.cjs +47 -22
  8. package/dist/lib/cache/index.d.cts +14 -23
  9. package/dist/lib/cache/index.d.mts +14 -23
  10. package/dist/lib/cache/index.mjs +48 -25
  11. package/dist/lib/cron/index.cjs +734 -12
  12. package/dist/lib/cron/index.d.cts +145 -3
  13. package/dist/lib/cron/index.d.mts +145 -3
  14. package/dist/lib/cron/index.mjs +725 -3
  15. package/dist/lib/errors/index.d.cts +4 -4
  16. package/dist/lib/errors/index.d.mts +4 -4
  17. package/dist/lib/errors/index.mjs +0 -2
  18. package/dist/lib/i18n/index.d.cts +12 -4
  19. package/dist/lib/i18n/index.d.mts +12 -4
  20. package/dist/lib/i18n/index.mjs +0 -2
  21. package/dist/lib/logging/index.cjs +387 -17
  22. package/dist/lib/logging/index.d.cts +107 -6
  23. package/dist/lib/logging/index.d.mts +107 -6
  24. package/dist/lib/logging/index.mjs +373 -4
  25. package/dist/lib/orm/index.cjs +1641 -19
  26. package/dist/lib/orm/index.d.cts +402 -7
  27. package/dist/lib/orm/index.d.mts +402 -7
  28. package/dist/lib/orm/index.mjs +1630 -6
  29. package/dist/lib/policy/index.cjs +206 -20
  30. package/dist/lib/policy/index.d.cts +61 -5
  31. package/dist/lib/policy/index.d.mts +61 -5
  32. package/dist/lib/policy/index.mjs +187 -3
  33. package/dist/lib/prompts/index.cjs +374 -14
  34. package/dist/lib/prompts/index.d.cts +73 -29
  35. package/dist/lib/prompts/index.d.mts +73 -29
  36. package/dist/lib/prompts/index.mjs +361 -4
  37. package/dist/lib/pubsub/index.cjs +43 -19
  38. package/dist/lib/pubsub/index.d.cts +12 -22
  39. package/dist/lib/pubsub/index.d.mts +12 -22
  40. package/dist/lib/pubsub/index.mjs +44 -22
  41. package/dist/lib/queue/index.cjs +40 -10
  42. package/dist/lib/queue/index.d.cts +57 -8
  43. package/dist/lib/queue/index.d.mts +57 -8
  44. package/dist/lib/queue/index.mjs +39 -13
  45. package/dist/lib/workflow/index.cjs +285 -282
  46. package/dist/lib/workflow/index.d.cts +147 -4
  47. package/dist/lib/workflow/index.d.mts +147 -4
  48. package/dist/lib/workflow/index.mjs +278 -286
  49. package/package.json +11 -1
  50. package/dist/api/core/index.cjs +0 -206
  51. package/dist/api/core/index.d.cts +0 -21
  52. package/dist/api/core/index.d.cts.map +0 -1
  53. package/dist/api/core/index.d.mts +0 -21
  54. package/dist/api/core/index.d.mts.map +0 -1
  55. package/dist/api/core/index.mjs +0 -208
  56. package/dist/api/core/index.mjs.map +0 -1
  57. package/dist/api/core/types.d.cts +0 -107
  58. package/dist/api/core/types.d.cts.map +0 -1
  59. package/dist/api/core/types.d.mts +0 -107
  60. package/dist/api/core/types.d.mts.map +0 -1
  61. package/dist/api/middleware/index.cjs +0 -8
  62. package/dist/api/middleware/index.d.cts +0 -11
  63. package/dist/api/middleware/index.d.cts.map +0 -1
  64. package/dist/api/middleware/index.d.mts +0 -11
  65. package/dist/api/middleware/index.d.mts.map +0 -1
  66. package/dist/api/middleware/index.mjs +0 -10
  67. package/dist/api/middleware/index.mjs.map +0 -1
  68. package/dist/api/middleware/types.d.cts +0 -16
  69. package/dist/api/middleware/types.d.cts.map +0 -1
  70. package/dist/api/middleware/types.d.mts +0 -16
  71. package/dist/api/middleware/types.d.mts.map +0 -1
  72. package/dist/api/openapi/index.cjs +0 -254
  73. package/dist/api/openapi/index.mjs +0 -256
  74. package/dist/api/openapi/index.mjs.map +0 -1
  75. package/dist/api/openapi/types.d.cts +0 -60
  76. package/dist/api/openapi/types.d.cts.map +0 -1
  77. package/dist/api/openapi/types.d.mts +0 -60
  78. package/dist/api/openapi/types.d.mts.map +0 -1
  79. package/dist/api/validation/index.cjs +0 -64
  80. package/dist/api/validation/index.mjs +0 -61
  81. package/dist/api/validation/index.mjs.map +0 -1
  82. package/dist/cache/types.d.cts +0 -17
  83. package/dist/cache/types.d.cts.map +0 -1
  84. package/dist/cache/types.d.mts +0 -17
  85. package/dist/cache/types.d.mts.map +0 -1
  86. package/dist/cron/builder/index.cjs +0 -166
  87. package/dist/cron/builder/index.d.cts +0 -28
  88. package/dist/cron/builder/index.d.cts.map +0 -1
  89. package/dist/cron/builder/index.d.mts +0 -28
  90. package/dist/cron/builder/index.d.mts.map +0 -1
  91. package/dist/cron/builder/index.mjs +0 -163
  92. package/dist/cron/builder/index.mjs.map +0 -1
  93. package/dist/cron/builder/types.cjs +0 -27
  94. package/dist/cron/builder/types.d.cts +0 -79
  95. package/dist/cron/builder/types.d.cts.map +0 -1
  96. package/dist/cron/builder/types.d.mts +0 -79
  97. package/dist/cron/builder/types.d.mts.map +0 -1
  98. package/dist/cron/builder/types.mjs +0 -28
  99. package/dist/cron/builder/types.mjs.map +0 -1
  100. package/dist/cron/core/index.cjs +0 -308
  101. package/dist/cron/core/index.d.cts +0 -39
  102. package/dist/cron/core/index.d.cts.map +0 -1
  103. package/dist/cron/core/index.d.mts +0 -39
  104. package/dist/cron/core/index.d.mts.map +0 -1
  105. package/dist/cron/core/index.mjs +0 -310
  106. package/dist/cron/core/index.mjs.map +0 -1
  107. package/dist/cron/core/scanner.cjs +0 -237
  108. package/dist/cron/core/scanner.mjs +0 -238
  109. package/dist/cron/core/scanner.mjs.map +0 -1
  110. package/dist/cron/core/types.d.cts +0 -11
  111. package/dist/cron/core/types.d.cts.map +0 -1
  112. package/dist/cron/core/types.d.mts +0 -11
  113. package/dist/cron/core/types.d.mts.map +0 -1
  114. package/dist/errors/types.d.cts +0 -5
  115. package/dist/errors/types.d.cts.map +0 -1
  116. package/dist/errors/types.d.mts +0 -5
  117. package/dist/errors/types.d.mts.map +0 -1
  118. package/dist/i18n/types.d.cts +0 -13
  119. package/dist/i18n/types.d.cts.map +0 -1
  120. package/dist/i18n/types.d.mts +0 -13
  121. package/dist/i18n/types.d.mts.map +0 -1
  122. package/dist/lib/cache/index.d.cts.map +0 -1
  123. package/dist/lib/cache/index.d.mts.map +0 -1
  124. package/dist/lib/cache/index.mjs.map +0 -1
  125. package/dist/lib/errors/index.d.cts.map +0 -1
  126. package/dist/lib/errors/index.d.mts.map +0 -1
  127. package/dist/lib/errors/index.mjs.map +0 -1
  128. package/dist/lib/i18n/index.d.cts.map +0 -1
  129. package/dist/lib/i18n/index.d.mts.map +0 -1
  130. package/dist/lib/i18n/index.mjs.map +0 -1
  131. package/dist/lib/policy/index.d.cts.map +0 -1
  132. package/dist/lib/policy/index.d.mts.map +0 -1
  133. package/dist/lib/policy/index.mjs.map +0 -1
  134. package/dist/lib/prompts/index.d.cts.map +0 -1
  135. package/dist/lib/prompts/index.d.mts.map +0 -1
  136. package/dist/lib/prompts/index.mjs.map +0 -1
  137. package/dist/lib/pubsub/index.d.cts.map +0 -1
  138. package/dist/lib/pubsub/index.d.mts.map +0 -1
  139. package/dist/lib/pubsub/index.mjs.map +0 -1
  140. package/dist/lib/queue/index.d.cts.map +0 -1
  141. package/dist/lib/queue/index.d.mts.map +0 -1
  142. package/dist/lib/queue/index.mjs.map +0 -1
  143. package/dist/lib/workflow/index.d.cts.map +0 -1
  144. package/dist/lib/workflow/index.d.mts.map +0 -1
  145. package/dist/lib/workflow/index.mjs.map +0 -1
  146. package/dist/logging/core/index.cjs +0 -99
  147. package/dist/logging/core/index.d.cts +0 -26
  148. package/dist/logging/core/index.d.cts.map +0 -1
  149. package/dist/logging/core/index.d.mts +0 -26
  150. package/dist/logging/core/index.d.mts.map +0 -1
  151. package/dist/logging/core/index.mjs +0 -99
  152. package/dist/logging/core/index.mjs.map +0 -1
  153. package/dist/logging/core/types.cjs +0 -10
  154. package/dist/logging/core/types.d.cts +0 -22
  155. package/dist/logging/core/types.d.cts.map +0 -1
  156. package/dist/logging/core/types.d.mts +0 -22
  157. package/dist/logging/core/types.d.mts.map +0 -1
  158. package/dist/logging/core/types.mjs +0 -12
  159. package/dist/logging/core/types.mjs.map +0 -1
  160. package/dist/logging/formatter/index.cjs +0 -119
  161. package/dist/logging/formatter/index.d.cts +0 -27
  162. package/dist/logging/formatter/index.d.cts.map +0 -1
  163. package/dist/logging/formatter/index.d.mts +0 -27
  164. package/dist/logging/formatter/index.d.mts.map +0 -1
  165. package/dist/logging/formatter/index.mjs +0 -115
  166. package/dist/logging/formatter/index.mjs.map +0 -1
  167. package/dist/logging/formatter/types.d.cts +0 -5
  168. package/dist/logging/formatter/types.d.cts.map +0 -1
  169. package/dist/logging/formatter/types.d.mts +0 -5
  170. package/dist/logging/formatter/types.d.mts.map +0 -1
  171. package/dist/logging/provider/index.cjs +0 -165
  172. package/dist/logging/provider/index.d.cts +0 -28
  173. package/dist/logging/provider/index.d.cts.map +0 -1
  174. package/dist/logging/provider/index.d.mts +0 -28
  175. package/dist/logging/provider/index.d.mts.map +0 -1
  176. package/dist/logging/provider/index.mjs +0 -165
  177. package/dist/logging/provider/index.mjs.map +0 -1
  178. package/dist/logging/provider/types.d.cts +0 -23
  179. package/dist/logging/provider/types.d.cts.map +0 -1
  180. package/dist/logging/provider/types.d.mts +0 -23
  181. package/dist/logging/provider/types.d.mts.map +0 -1
  182. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts +0 -80
  183. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts.map +0 -1
  184. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts +0 -80
  185. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts.map +0 -1
  186. package/dist/orm/column.cjs +0 -137
  187. package/dist/orm/column.d.cts +0 -121
  188. package/dist/orm/column.d.cts.map +0 -1
  189. package/dist/orm/column.d.mts +0 -121
  190. package/dist/orm/column.d.mts.map +0 -1
  191. package/dist/orm/column.mjs +0 -132
  192. package/dist/orm/column.mjs.map +0 -1
  193. package/dist/orm/dialect/index.cjs +0 -14
  194. package/dist/orm/dialect/index.mjs +0 -16
  195. package/dist/orm/dialect/index.mjs.map +0 -1
  196. package/dist/orm/dialect/mysql.cjs +0 -31
  197. package/dist/orm/dialect/mysql.mjs +0 -33
  198. package/dist/orm/dialect/mysql.mjs.map +0 -1
  199. package/dist/orm/dialect/postgres.cjs +0 -23
  200. package/dist/orm/dialect/postgres.mjs +0 -25
  201. package/dist/orm/dialect/postgres.mjs.map +0 -1
  202. package/dist/orm/dialect/sqlite.cjs +0 -31
  203. package/dist/orm/dialect/sqlite.mjs +0 -33
  204. package/dist/orm/dialect/sqlite.mjs.map +0 -1
  205. package/dist/orm/dialect/utils.cjs +0 -8
  206. package/dist/orm/dialect/utils.mjs +0 -10
  207. package/dist/orm/dialect/utils.mjs.map +0 -1
  208. package/dist/orm/internal/table-columns.cjs +0 -31
  209. package/dist/orm/internal/table-columns.mjs +0 -32
  210. package/dist/orm/internal/table-columns.mjs.map +0 -1
  211. package/dist/orm/internal/table-lookup.cjs +0 -35
  212. package/dist/orm/internal/table-lookup.mjs +0 -35
  213. package/dist/orm/internal/table-lookup.mjs.map +0 -1
  214. package/dist/orm/internal/table-relations.cjs +0 -28
  215. package/dist/orm/internal/table-relations.mjs +0 -29
  216. package/dist/orm/internal/table-relations.mjs.map +0 -1
  217. package/dist/orm/migration/config.cjs +0 -7
  218. package/dist/orm/migration/config.d.cts +0 -7
  219. package/dist/orm/migration/config.d.cts.map +0 -1
  220. package/dist/orm/migration/config.d.mts +0 -7
  221. package/dist/orm/migration/config.d.mts.map +0 -1
  222. package/dist/orm/migration/config.mjs +0 -8
  223. package/dist/orm/migration/config.mjs.map +0 -1
  224. package/dist/orm/migration/types.d.cts +0 -20
  225. package/dist/orm/migration/types.d.cts.map +0 -1
  226. package/dist/orm/migration/types.d.mts +0 -20
  227. package/dist/orm/migration/types.d.mts.map +0 -1
  228. package/dist/orm/orm.cjs +0 -41
  229. package/dist/orm/orm.d.cts +0 -18
  230. package/dist/orm/orm.d.cts.map +0 -1
  231. package/dist/orm/orm.d.mts +0 -18
  232. package/dist/orm/orm.d.mts.map +0 -1
  233. package/dist/orm/orm.mjs +0 -43
  234. package/dist/orm/orm.mjs.map +0 -1
  235. package/dist/orm/relation.cjs +0 -18
  236. package/dist/orm/relation.d.cts +0 -8
  237. package/dist/orm/relation.d.cts.map +0 -1
  238. package/dist/orm/relation.d.mts +0 -8
  239. package/dist/orm/relation.d.mts.map +0 -1
  240. package/dist/orm/relation.mjs +0 -19
  241. package/dist/orm/relation.mjs.map +0 -1
  242. package/dist/orm/runtime/builders/mutations.cjs +0 -29
  243. package/dist/orm/runtime/builders/mutations.mjs +0 -28
  244. package/dist/orm/runtime/builders/mutations.mjs.map +0 -1
  245. package/dist/orm/runtime/builders/select.cjs +0 -18
  246. package/dist/orm/runtime/builders/select.mjs +0 -19
  247. package/dist/orm/runtime/builders/select.mjs.map +0 -1
  248. package/dist/orm/runtime/client.cjs +0 -90
  249. package/dist/orm/runtime/client.mjs +0 -92
  250. package/dist/orm/runtime/client.mjs.map +0 -1
  251. package/dist/orm/runtime/context.cjs +0 -49
  252. package/dist/orm/runtime/context.mjs +0 -51
  253. package/dist/orm/runtime/context.mjs.map +0 -1
  254. package/dist/orm/runtime/dialect/index.cjs +0 -11
  255. package/dist/orm/runtime/dialect/index.mjs +0 -13
  256. package/dist/orm/runtime/dialect/index.mjs.map +0 -1
  257. package/dist/orm/runtime/dialect/mysql.cjs +0 -95
  258. package/dist/orm/runtime/dialect/mysql.mjs +0 -97
  259. package/dist/orm/runtime/dialect/mysql.mjs.map +0 -1
  260. package/dist/orm/runtime/dialect/postgres.cjs +0 -51
  261. package/dist/orm/runtime/dialect/postgres.mjs +0 -53
  262. package/dist/orm/runtime/dialect/postgres.mjs.map +0 -1
  263. package/dist/orm/runtime/dialect/sqlite.cjs +0 -4
  264. package/dist/orm/runtime/dialect/sqlite.mjs +0 -7
  265. package/dist/orm/runtime/dialect/sqlite.mjs.map +0 -1
  266. package/dist/orm/runtime/errors.cjs +0 -19
  267. package/dist/orm/runtime/errors.mjs +0 -21
  268. package/dist/orm/runtime/errors.mjs.map +0 -1
  269. package/dist/orm/runtime/hydrate/many.cjs +0 -46
  270. package/dist/orm/runtime/hydrate/many.mjs +0 -48
  271. package/dist/orm/runtime/hydrate/many.mjs.map +0 -1
  272. package/dist/orm/runtime/hydrate/one.cjs +0 -38
  273. package/dist/orm/runtime/hydrate/one.mjs +0 -40
  274. package/dist/orm/runtime/hydrate/one.mjs.map +0 -1
  275. package/dist/orm/runtime/hydrate.cjs +0 -49
  276. package/dist/orm/runtime/hydrate.mjs +0 -51
  277. package/dist/orm/runtime/hydrate.mjs.map +0 -1
  278. package/dist/orm/runtime/rows.cjs +0 -30
  279. package/dist/orm/runtime/rows.mjs +0 -31
  280. package/dist/orm/runtime/rows.mjs.map +0 -1
  281. package/dist/orm/runtime/utils.cjs +0 -27
  282. package/dist/orm/runtime/utils.mjs +0 -27
  283. package/dist/orm/runtime/utils.mjs.map +0 -1
  284. package/dist/orm/sql/parse-array.cjs +0 -64
  285. package/dist/orm/sql/parse-array.mjs +0 -66
  286. package/dist/orm/sql/parse-array.mjs.map +0 -1
  287. package/dist/orm/sql/plan/select.cjs +0 -36
  288. package/dist/orm/sql/plan/select.mjs +0 -38
  289. package/dist/orm/sql/plan/select.mjs.map +0 -1
  290. package/dist/orm/sql/plan/where/operators.cjs +0 -95
  291. package/dist/orm/sql/plan/where/operators.mjs +0 -97
  292. package/dist/orm/sql/plan/where/operators.mjs.map +0 -1
  293. package/dist/orm/sql/plan/where.cjs +0 -59
  294. package/dist/orm/sql/plan/where.mjs +0 -61
  295. package/dist/orm/sql/plan/where.mjs.map +0 -1
  296. package/dist/orm/sql/serialize/clauses.cjs +0 -36
  297. package/dist/orm/sql/serialize/clauses.mjs +0 -37
  298. package/dist/orm/sql/serialize/clauses.mjs.map +0 -1
  299. package/dist/orm/sql/serialize/joins.cjs +0 -31
  300. package/dist/orm/sql/serialize/joins.mjs +0 -33
  301. package/dist/orm/sql/serialize/joins.mjs.map +0 -1
  302. package/dist/orm/sql/serialize/values.cjs +0 -30
  303. package/dist/orm/sql/serialize/values.mjs +0 -32
  304. package/dist/orm/sql/serialize/values.mjs.map +0 -1
  305. package/dist/orm/sql/serialize/where/predicate.cjs +0 -73
  306. package/dist/orm/sql/serialize/where/predicate.mjs +0 -75
  307. package/dist/orm/sql/serialize/where/predicate.mjs.map +0 -1
  308. package/dist/orm/sql/serialize/where/tree.cjs +0 -26
  309. package/dist/orm/sql/serialize/where/tree.mjs +0 -28
  310. package/dist/orm/sql/serialize/where/tree.mjs.map +0 -1
  311. package/dist/orm/sql/serialize/where.cjs +0 -10
  312. package/dist/orm/sql/serialize/where.mjs +0 -12
  313. package/dist/orm/sql/serialize/where.mjs.map +0 -1
  314. package/dist/orm/sql/serialize.cjs +0 -24
  315. package/dist/orm/sql/serialize.mjs +0 -25
  316. package/dist/orm/sql/serialize.mjs.map +0 -1
  317. package/dist/orm/table.cjs +0 -12
  318. package/dist/orm/table.d.cts +0 -12
  319. package/dist/orm/table.d.cts.map +0 -1
  320. package/dist/orm/table.d.mts +0 -12
  321. package/dist/orm/table.d.mts.map +0 -1
  322. package/dist/orm/table.mjs +0 -14
  323. package/dist/orm/table.mjs.map +0 -1
  324. package/dist/orm/types.d.cts +0 -183
  325. package/dist/orm/types.d.cts.map +0 -1
  326. package/dist/orm/types.d.mts +0 -183
  327. package/dist/orm/types.d.mts.map +0 -1
  328. package/dist/policy/helpers.cjs +0 -206
  329. package/dist/policy/helpers.d.cts +0 -50
  330. package/dist/policy/helpers.d.cts.map +0 -1
  331. package/dist/policy/helpers.d.mts +0 -50
  332. package/dist/policy/helpers.d.mts.map +0 -1
  333. package/dist/policy/helpers.mjs +0 -190
  334. package/dist/policy/helpers.mjs.map +0 -1
  335. package/dist/policy/types.d.cts +0 -16
  336. package/dist/policy/types.d.cts.map +0 -1
  337. package/dist/policy/types.d.mts +0 -16
  338. package/dist/policy/types.d.mts.map +0 -1
  339. package/dist/prompts/core/keys.cjs +0 -165
  340. package/dist/prompts/core/keys.mjs +0 -167
  341. package/dist/prompts/core/keys.mjs.map +0 -1
  342. package/dist/prompts/core/runtime.cjs +0 -104
  343. package/dist/prompts/core/runtime.mjs +0 -106
  344. package/dist/prompts/core/runtime.mjs.map +0 -1
  345. package/dist/prompts/core/session.cjs +0 -98
  346. package/dist/prompts/core/session.mjs +0 -100
  347. package/dist/prompts/core/session.mjs.map +0 -1
  348. package/dist/prompts/core/types.d.cts +0 -21
  349. package/dist/prompts/core/types.d.cts.map +0 -1
  350. package/dist/prompts/core/types.d.mts +0 -21
  351. package/dist/prompts/core/types.d.mts.map +0 -1
  352. package/dist/prompts/types.d.cts +0 -52
  353. package/dist/prompts/types.d.cts.map +0 -1
  354. package/dist/prompts/types.d.mts +0 -52
  355. package/dist/prompts/types.d.mts.map +0 -1
  356. package/dist/pubsub/types.d.cts +0 -10
  357. package/dist/pubsub/types.d.cts.map +0 -1
  358. package/dist/pubsub/types.d.mts +0 -10
  359. package/dist/pubsub/types.d.mts.map +0 -1
  360. package/dist/queue/types.d.cts +0 -47
  361. package/dist/queue/types.d.cts.map +0 -1
  362. package/dist/queue/types.d.mts +0 -47
  363. package/dist/queue/types.d.mts.map +0 -1
  364. package/dist/workflow/types.d.cts +0 -83
  365. package/dist/workflow/types.d.cts.map +0 -1
  366. package/dist/workflow/types.d.mts +0 -83
  367. package/dist/workflow/types.d.mts.map +0 -1
@@ -1,28 +0,0 @@
1
- import { serializeWherePredicate } from "./predicate.mjs";
2
- //#region src/lib/orm/sql/serialize/where/tree.ts
3
- function serializeWhereNode(sql, table, node, dialectAdapter) {
4
- if (node.kind === "predicate") return serializeWherePredicate(sql, table, node, dialectAdapter);
5
- const fragments = [];
6
- for (const child of node.nodes) {
7
- const fragment = serializeWhereNode(sql, table, child, dialectAdapter);
8
- if (!fragment) continue;
9
- fragments.push(fragment);
10
- }
11
- const firstNode = fragments[0];
12
- if (!firstNode) return null;
13
- let joined = firstNode;
14
- for (let index = 1; index < fragments.length; index++) {
15
- const fragment = fragments[index];
16
- if (!fragment) continue;
17
- if (node.kind === "or") {
18
- joined = sql`${joined} OR ${fragment}`;
19
- continue;
20
- }
21
- joined = sql`${joined} AND ${fragment}`;
22
- }
23
- return sql`(${joined})`;
24
- }
25
- //#endregion
26
- export { serializeWhereNode };
27
-
28
- //# sourceMappingURL=tree.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.mjs","names":[],"sources":["../../../../../src/lib/orm/sql/serialize/where/tree.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport type { Table } from \"../../../table.js\";\nimport type { ColDefs, DialectAdapter, WhereNode } from \"../../../types.js\";\nimport { serializeWherePredicate } from \"./predicate.js\";\n\nexport function serializeWhereNode<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n node: WhereNode<T>,\n dialectAdapter: DialectAdapter,\n): SQL.Query<unknown> | null {\n if (node.kind === \"predicate\") {\n return serializeWherePredicate(sql, table, node, dialectAdapter);\n }\n\n const fragments: SQL.Query<unknown>[] = [];\n\n for (const child of node.nodes) {\n const fragment = serializeWhereNode(sql, table, child, dialectAdapter);\n\n if (!fragment) {\n continue;\n }\n\n fragments.push(fragment);\n }\n\n const firstNode = fragments[0];\n\n if (!firstNode) {\n return null;\n }\n\n let joined = firstNode;\n\n for (let index = 1; index < fragments.length; index++) {\n const fragment = fragments[index];\n\n if (!fragment) {\n continue;\n }\n\n if (node.kind === \"or\") {\n joined = sql`${joined} OR ${fragment}`;\n continue;\n }\n\n joined = sql`${joined} AND ${fragment}`;\n }\n\n return sql`(${joined})`;\n}\n"],"mappings":";;AAKA,SAAgB,mBACd,KACA,OACA,MACA,gBAC2B;AAC3B,KAAI,KAAK,SAAS,YAChB,QAAO,wBAAwB,KAAK,OAAO,MAAM,eAAe;CAGlE,MAAM,YAAkC,EAAE;AAE1C,MAAK,MAAM,SAAS,KAAK,OAAO;EAC9B,MAAM,WAAW,mBAAmB,KAAK,OAAO,OAAO,eAAe;AAEtE,MAAI,CAAC,SACH;AAGF,YAAU,KAAK,SAAS;;CAG1B,MAAM,YAAY,UAAU;AAE5B,KAAI,CAAC,UACH,QAAO;CAGT,IAAI,SAAS;AAEb,MAAK,IAAI,QAAQ,GAAG,QAAQ,UAAU,QAAQ,SAAS;EACrD,MAAM,WAAW,UAAU;AAE3B,MAAI,CAAC,SACH;AAGF,MAAI,KAAK,SAAS,MAAM;AACtB,YAAS,GAAG,GAAG,OAAO,MAAM;AAC5B;;AAGF,WAAS,GAAG,GAAG,OAAO,OAAO;;AAG/B,QAAO,GAAG,IAAI,OAAO"}
@@ -1,10 +0,0 @@
1
- const require_tree = require("./where/tree.cjs");
2
- //#region src/lib/orm/sql/serialize/where.ts
3
- function buildWhereFragment(sql, table, node, dialectAdapter) {
4
- if (!node) return sql``;
5
- const fragment = require_tree.serializeWhereNode(sql, table, node, dialectAdapter);
6
- if (!fragment) return sql``;
7
- return sql`WHERE ${fragment}`;
8
- }
9
- //#endregion
10
- exports.buildWhereFragment = buildWhereFragment;
@@ -1,12 +0,0 @@
1
- import { serializeWhereNode } from "./where/tree.mjs";
2
- //#region src/lib/orm/sql/serialize/where.ts
3
- function buildWhereFragment(sql, table, node, dialectAdapter) {
4
- if (!node) return sql``;
5
- const fragment = serializeWhereNode(sql, table, node, dialectAdapter);
6
- if (!fragment) return sql``;
7
- return sql`WHERE ${fragment}`;
8
- }
9
- //#endregion
10
- export { buildWhereFragment };
11
-
12
- //# sourceMappingURL=where.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"where.mjs","names":[],"sources":["../../../../src/lib/orm/sql/serialize/where.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport type { Table } from \"../../table.js\";\nimport type { ColDefs, DialectAdapter, WhereNode } from \"../../types.js\";\nimport { serializeWhereNode } from \"./where/tree.js\";\n\nexport function buildWhereFragment<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n node: WhereNode<T> | undefined,\n dialectAdapter: DialectAdapter,\n) {\n if (!node) {\n return sql``;\n }\n\n const fragment = serializeWhereNode(sql, table, node, dialectAdapter);\n\n if (!fragment) {\n return sql``;\n }\n\n return sql`WHERE ${fragment}`;\n}\n"],"mappings":";;AAKA,SAAgB,mBACd,KACA,OACA,MACA,gBACA;AACA,KAAI,CAAC,KACH,QAAO,GAAG;CAGZ,MAAM,WAAW,mBAAmB,KAAK,OAAO,MAAM,eAAe;AAErE,KAAI,CAAC,SACH,QAAO,GAAG;AAGZ,QAAO,GAAG,SAAS"}
@@ -1,24 +0,0 @@
1
- const require_table_columns = require("../internal/table-columns.cjs");
2
- const require_where = require("./plan/where.cjs");
3
- const require_select = require("./plan/select.cjs");
4
- const require_clauses = require("./serialize/clauses.cjs");
5
- const require_joins = require("./serialize/joins.cjs");
6
- const require_where$1 = require("./serialize/where.cjs");
7
- require("./serialize/values.cjs");
8
- //#region src/lib/orm/sql/serialize.ts
9
- function serializeSelectPlan(sql, table, relations, plan, dialectAdapter) {
10
- const joins = require_joins.buildJoinClauses(sql, table, relations, plan);
11
- const where = require_where$1.buildWhereFragment(sql, table, plan.where, dialectAdapter);
12
- const orderBy = require_clauses.buildOrderByClause(sql, table, plan);
13
- const limitOffset = require_clauses.buildLimitClause(sql, plan.page.limit, plan.page.offset, dialectAdapter.dialect);
14
- return sql`SELECT ${require_table_columns.buildSelectColumns(sql, table)} FROM ${sql(table.tableName)} ${joins} ${where} ${orderBy} ${limitOffset}`;
15
- }
16
- function serializeWhereInput(sql, table, where, dialectAdapter) {
17
- return require_where$1.buildWhereFragment(sql, table, require_where.buildWhereNode(where), dialectAdapter);
18
- }
19
- function serializeSelectInput(sql, table, relations, input, dialectAdapter) {
20
- return serializeSelectPlan(sql, table, relations, require_select.buildSelectPlan(input), dialectAdapter);
21
- }
22
- //#endregion
23
- exports.serializeSelectInput = serializeSelectInput;
24
- exports.serializeWhereInput = serializeWhereInput;
@@ -1,25 +0,0 @@
1
- import { buildSelectColumns } from "../internal/table-columns.mjs";
2
- import { buildWhereNode } from "./plan/where.mjs";
3
- import { buildSelectPlan } from "./plan/select.mjs";
4
- import { buildLimitClause, buildOrderByClause } from "./serialize/clauses.mjs";
5
- import { buildJoinClauses } from "./serialize/joins.mjs";
6
- import { buildWhereFragment } from "./serialize/where.mjs";
7
- import "./serialize/values.mjs";
8
- //#region src/lib/orm/sql/serialize.ts
9
- function serializeSelectPlan(sql, table, relations, plan, dialectAdapter) {
10
- const joins = buildJoinClauses(sql, table, relations, plan);
11
- const where = buildWhereFragment(sql, table, plan.where, dialectAdapter);
12
- const orderBy = buildOrderByClause(sql, table, plan);
13
- const limitOffset = buildLimitClause(sql, plan.page.limit, plan.page.offset, dialectAdapter.dialect);
14
- return sql`SELECT ${buildSelectColumns(sql, table)} FROM ${sql(table.tableName)} ${joins} ${where} ${orderBy} ${limitOffset}`;
15
- }
16
- function serializeWhereInput(sql, table, where, dialectAdapter) {
17
- return buildWhereFragment(sql, table, buildWhereNode(where), dialectAdapter);
18
- }
19
- function serializeSelectInput(sql, table, relations, input, dialectAdapter) {
20
- return serializeSelectPlan(sql, table, relations, buildSelectPlan(input), dialectAdapter);
21
- }
22
- //#endregion
23
- export { serializeSelectInput, serializeWhereInput };
24
-
25
- //# sourceMappingURL=serialize.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialize.mjs","names":[],"sources":["../../../src/lib/orm/sql/serialize.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport { buildSelectColumns } from \"../internal/table.js\";\nimport type { Table } from \"../table.js\";\nimport type {\n ColDefs,\n DialectAdapter,\n RelationDefs,\n SelectInput,\n SelectPlan,\n WhereInput,\n} from \"../types.js\";\nimport { buildSelectPlan, buildWhereNode } from \"./plan.js\";\nimport { buildLimitClause, buildOrderByClause } from \"./serialize/clauses.js\";\nimport { buildJoinClauses } from \"./serialize/joins.js\";\nimport { buildWhereFragment } from \"./serialize/where.js\";\n\nexport { mapDataToSqlRow } from \"./serialize/values.js\";\n\nexport function serializeWherePlan<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n plan: SelectPlan<T>,\n dialectAdapter: DialectAdapter,\n) {\n return buildWhereFragment(sql, table, plan.where, dialectAdapter);\n}\n\nexport function serializeSelectPlan<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n relations: RelationDefs,\n plan: SelectPlan<T>,\n dialectAdapter: DialectAdapter,\n) {\n const joins = buildJoinClauses(sql, table, relations, plan);\n const where = buildWhereFragment(sql, table, plan.where, dialectAdapter);\n const orderBy = buildOrderByClause(sql, table, plan);\n const limitOffset = buildLimitClause(\n sql,\n plan.page.limit,\n plan.page.offset,\n dialectAdapter.dialect,\n );\n const columns = buildSelectColumns(sql, table);\n\n return sql`SELECT ${columns} FROM ${sql(table.tableName)} ${joins} ${where} ${orderBy} ${limitOffset}`;\n}\n\nexport function serializeWhereInput<T extends ColDefs>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n where: WhereInput<T> | undefined,\n dialectAdapter: DialectAdapter,\n) {\n return buildWhereFragment(sql, table, buildWhereNode(where), dialectAdapter);\n}\n\nexport function serializeSelectInput<T extends ColDefs, TRels>(\n sql: SQL | TransactionSQL,\n table: Table<T>,\n relations: RelationDefs,\n input: SelectInput<T, TRels>,\n dialectAdapter: DialectAdapter,\n) {\n return serializeSelectPlan(\n sql,\n table,\n relations,\n buildSelectPlan(input),\n dialectAdapter,\n );\n}\n"],"mappings":";;;;;;;;AA2BA,SAAgB,oBACd,KACA,OACA,WACA,MACA,gBACA;CACA,MAAM,QAAQ,iBAAiB,KAAK,OAAO,WAAW,KAAK;CAC3D,MAAM,QAAQ,mBAAmB,KAAK,OAAO,KAAK,OAAO,eAAe;CACxE,MAAM,UAAU,mBAAmB,KAAK,OAAO,KAAK;CACpD,MAAM,cAAc,iBAClB,KACA,KAAK,KAAK,OACV,KAAK,KAAK,QACV,eAAe,QAChB;AAGD,QAAO,GAAG,UAFM,mBAAmB,KAAK,MAAM,CAElB,QAAQ,IAAI,MAAM,UAAU,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG;;AAG3F,SAAgB,oBACd,KACA,OACA,OACA,gBACA;AACA,QAAO,mBAAmB,KAAK,OAAO,eAAe,MAAM,EAAE,eAAe;;AAG9E,SAAgB,qBACd,KACA,OACA,WACA,OACA,gBACA;AACA,QAAO,oBACL,KACA,OACA,WACA,gBAAgB,MAAM,EACtB,eACD"}
@@ -1,12 +0,0 @@
1
- //#region src/lib/orm/table.ts
2
- var Table = class {
3
- constructor(tableName, columns) {
4
- this.tableName = tableName;
5
- this.columns = columns;
6
- }
7
- };
8
- function createTable(tableName, columns) {
9
- return new Table(tableName, columns);
10
- }
11
- //#endregion
12
- exports.createTable = createTable;
@@ -1,12 +0,0 @@
1
- import { ColDefs } from "./types.cjs";
2
-
3
- //#region src/lib/orm/table.d.ts
4
- declare class Table<T extends ColDefs> {
5
- readonly tableName: string;
6
- readonly columns: T;
7
- constructor(tableName: string, columns: T);
8
- }
9
- declare function createTable<T extends ColDefs>(tableName: string, columns: T): Table<T>;
10
- //#endregion
11
- export { Table, createTable };
12
- //# sourceMappingURL=table.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.d.cts","names":[],"sources":["../../src/lib/orm/table.ts"],"mappings":";;;cAEa,KAAA,WAAgB,OAAA;EAAA,SAET,SAAA;EAAA,SACA,OAAA,EAAS,CAAA;cADT,SAAA,UACA,OAAA,EAAS,CAAA;AAAA;AAAA,iBAIb,WAAA,WAAsB,OAAA,CAAA,CAAS,SAAA,UAAmB,OAAA,EAAS,CAAA,GAAC,KAAA,CAAA,CAAA"}
@@ -1,12 +0,0 @@
1
- import { ColDefs } from "./types.mjs";
2
-
3
- //#region src/lib/orm/table.d.ts
4
- declare class Table<T extends ColDefs> {
5
- readonly tableName: string;
6
- readonly columns: T;
7
- constructor(tableName: string, columns: T);
8
- }
9
- declare function createTable<T extends ColDefs>(tableName: string, columns: T): Table<T>;
10
- //#endregion
11
- export { Table, createTable };
12
- //# sourceMappingURL=table.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.d.mts","names":[],"sources":["../../src/lib/orm/table.ts"],"mappings":";;;cAEa,KAAA,WAAgB,OAAA;EAAA,SAET,SAAA;EAAA,SACA,OAAA,EAAS,CAAA;cADT,SAAA,UACA,OAAA,EAAS,CAAA;AAAA;AAAA,iBAIb,WAAA,WAAsB,OAAA,CAAA,CAAS,SAAA,UAAmB,OAAA,EAAS,CAAA,GAAC,KAAA,CAAA,CAAA"}
@@ -1,14 +0,0 @@
1
- //#region src/lib/orm/table.ts
2
- var Table = class {
3
- constructor(tableName, columns) {
4
- this.tableName = tableName;
5
- this.columns = columns;
6
- }
7
- };
8
- function createTable(tableName, columns) {
9
- return new Table(tableName, columns);
10
- }
11
- //#endregion
12
- export { createTable };
13
-
14
- //# sourceMappingURL=table.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.mjs","names":[],"sources":["../../src/lib/orm/table.ts"],"sourcesContent":["import type { ColDefs } from \"./types.js\";\n\nexport class Table<T extends ColDefs> {\n public constructor(\n public readonly tableName: string,\n public readonly columns: T,\n ) {}\n}\n\nexport function createTable<T extends ColDefs>(tableName: string, columns: T) {\n return new Table(tableName, columns);\n}\n"],"mappings":";AAEA,IAAa,QAAb,MAAsC;CACpC,YACE,WACA,SACA;AAFgB,OAAA,YAAA;AACA,OAAA,UAAA;;;AAIpB,SAAgB,YAA+B,WAAmB,SAAY;AAC5E,QAAO,IAAI,MAAM,WAAW,QAAQ"}
@@ -1,183 +0,0 @@
1
- import { Table } from "./table.cjs";
2
- import { ColumnDef } from "./column.cjs";
3
-
4
- //#region src/lib/orm/types.d.ts
5
- type ColumnKind = "uuid" | "string" | "number" | "boolean" | "date" | "json" | "jsonb" | "enum";
6
- type Dialect = "postgres" | "mysql" | "sqlite";
7
- type KindToType<K extends ColumnKind> = K extends "uuid" | "string" ? string : K extends "number" ? number : K extends "boolean" ? boolean : K extends "date" ? Date : unknown;
8
- type ColDefs = Record<string, ColumnDef<ColumnKind, ColumnMetaBase, unknown>>;
9
- type ColumnMetaBase = {
10
- sqlName: string;
11
- isSqlArray: boolean;
12
- isPrimaryKey: boolean;
13
- isNotNull: boolean;
14
- isUnique: boolean;
15
- isEnum: boolean;
16
- enumValues: string[] | null;
17
- enumName: string | null;
18
- hasDefault: boolean;
19
- defaultKind: "value" | "fn" | null;
20
- defaultValue: unknown;
21
- defaultFn: (() => unknown) | null;
22
- references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
23
- onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
24
- };
25
- type Prettify<T> = { [K in keyof T]: T[K] };
26
- type TableRow<T extends ColDefs> = Prettify<{ [K in keyof T]: T[K] extends ColumnDef<ColumnKind, ColumnMetaBase, infer V> ? T[K]["meta"]["isNotNull"] extends true ? V : V | null : never }>;
27
- type InsertData<T extends ColDefs> = Prettify<{ [K in keyof T as IsUserProvided<T[K]> extends true ? IsRequired<T[K]> extends true ? K : never : never]: InsertValue<T[K]> } & { [K in keyof T as IsUserProvided<T[K]> extends true ? IsRequired<T[K]> extends true ? never : K : never]?: InsertValue<T[K]> }>;
28
- type InsertValue<C> = C extends ColumnDef<ColumnKind, infer Meta, infer V> ? Meta["isNotNull"] extends true ? V : V | null : never;
29
- type IsUserProvided<C> = C extends ColumnDef<"uuid", infer M> ? M["isPrimaryKey"] extends true ? M["hasDefault"] extends true ? true : false : true : true;
30
- type IsRequired<C> = C extends ColumnDef<ColumnKind, infer M, unknown> ? M["isNotNull"] extends true ? M["hasDefault"] extends true ? false : true : false : false;
31
- type WhereInput<T extends ColDefs> = {
32
- and?: WhereInput<T>[];
33
- or?: WhereInput<T>[];
34
- } & { [K in keyof T]?: (T[K] extends ColumnDef<ColumnKind, ColumnMetaBase, infer V> ? V : never) | WhereFilter<T[K] extends ColumnDef<ColumnKind, ColumnMetaBase, infer V> ? V : never> };
35
- type UniqueWhereInput<T extends ColDefs> = { [K in keyof T as T[K]["meta"]["isPrimaryKey"] extends true ? K : T[K]["meta"]["isUnique"] extends true ? K : never]?: T[K] extends ColumnDef<ColumnKind, ColumnMetaBase, infer V> ? V : never };
36
- type WhereFilter<V> = {
37
- equals?: V;
38
- not?: V;
39
- in?: V[];
40
- notIn?: V[];
41
- isNull?: boolean;
42
- endsWith?: string;
43
- startsWith?: string;
44
- contains?: string;
45
- gt?: V;
46
- lt?: V;
47
- gte?: V;
48
- lte?: V;
49
- };
50
- type ManyRelation<TTable> = {
51
- kind: "many";
52
- table: () => TTable;
53
- foreignKey?: string;
54
- };
55
- type OneRelation<TTable> = {
56
- kind: "one";
57
- foreignKey: string;
58
- table: () => TTable;
59
- };
60
- type RelationDef<TTable> = ManyRelation<TTable> | OneRelation<TTable>;
61
- type RelationDefs = Record<string, RelationDef<Table<ColDefs>>>;
62
- type FindManyInput<T extends ColDefs, TRels> = {
63
- where?: WhereInput<T>;
64
- include?: { [K in keyof TRels]?: true };
65
- orderBy?: Partial<Record<keyof T, OrderDirection>>;
66
- take?: number;
67
- skip?: number;
68
- };
69
- type FindFirstInput<T extends ColDefs, TRels> = FindManyInput<T, TRels>;
70
- type FindUniqueInput<T extends ColDefs> = {
71
- where: UniqueWhereInput<T>;
72
- };
73
- type CreateInput<T extends ColDefs> = {
74
- data: InsertData<T>;
75
- };
76
- type CreateManyInput<T extends ColDefs> = {
77
- data: InsertData<T>[];
78
- };
79
- type UpdateInput<T extends ColDefs> = {
80
- where: WhereInput<T>;
81
- data: Partial<InsertData<T>>;
82
- };
83
- type UpdateManyInput<T extends ColDefs> = {
84
- where: WhereInput<T>;
85
- data: Partial<InsertData<T>>;
86
- };
87
- type DeleteInput<T extends ColDefs> = {
88
- where: WhereInput<T>;
89
- };
90
- type DeleteManyInput<T extends ColDefs> = {
91
- where: WhereInput<T>;
92
- };
93
- type OrderDirection = "asc" | "desc";
94
- type SelectInput<T extends ColDefs, TRels> = {
95
- where?: WhereInput<T>;
96
- include?: { [K in keyof TRels]?: true };
97
- orderBy?: Partial<Record<keyof T, OrderDirection>>;
98
- limit?: number;
99
- offset?: number;
100
- };
101
- type InsertInput<T extends ColDefs> = {
102
- data: InsertData<T>;
103
- returning?: boolean;
104
- };
105
- type UpdateBuilderInput<T extends ColDefs> = {
106
- where: WhereInput<T>;
107
- data: Partial<InsertData<T>>;
108
- returning?: boolean;
109
- };
110
- type DeleteBuilderInput<T extends ColDefs> = {
111
- where: WhereInput<T>;
112
- returning?: boolean;
113
- };
114
- type ClauseOperator = "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "in" | "not_in" | "is_null" | "is_not_null";
115
- type WherePredicate<T extends ColDefs> = {
116
- kind: "predicate";
117
- key: keyof T & string;
118
- op: ClauseOperator;
119
- value?: unknown;
120
- };
121
- type WhereNode<T extends ColDefs> = WherePredicate<T> | {
122
- kind: "and";
123
- nodes: WhereNode<T>[];
124
- } | {
125
- kind: "or";
126
- nodes: WhereNode<T>[];
127
- };
128
- type JoinKind = "inner" | "left";
129
- type JoinNode = {
130
- relationKey: string;
131
- kind: JoinKind;
132
- };
133
- type LimitOffsetNode = {
134
- limit?: number;
135
- offset?: number;
136
- };
137
- type SelectPlan<T extends ColDefs> = {
138
- where?: WhereNode<T>;
139
- joins: JoinNode[];
140
- orderBy: Array<{
141
- key: keyof T & string;
142
- direction: OrderDirection;
143
- }>;
144
- page: LimitOffsetNode;
145
- };
146
- type DialectAdapter = {
147
- dialect: Dialect;
148
- likeKeyword: "LIKE" | "ILIKE";
149
- quoteIdentifier: (identifier: string) => string;
150
- serializeValue: (kind: ColumnKind, value: unknown) => string | number | boolean | null | unknown;
151
- renderLikePattern: (mode: "startsWith" | "endsWith" | "contains", value: string) => string;
152
- };
153
- type TinyTableClient<T extends ColDefs, TRels> = {
154
- select: (input?: SelectInput<T, TRels>) => SQL.Query<TableRow<T>[]>;
155
- findMany: (input?: FindManyInput<T, TRels>) => Promise<TableRow<T>[]>;
156
- findFirst: (input?: FindFirstInput<T, TRels>) => Promise<TableRow<T> | null>;
157
- findUnique: (input: FindUniqueInput<T>) => Promise<TableRow<T> | null>;
158
- insert: <TReturning extends boolean>(input: InsertInput<T> & {
159
- returning?: TReturning;
160
- }) => SQL.Query<TReturning extends true ? TableRow<T>[] : unknown>;
161
- create: (input: CreateInput<T>) => Promise<TableRow<T>>;
162
- createMany: (input: CreateManyInput<T>) => Promise<{
163
- count: number;
164
- rows: TableRow<T>[];
165
- }>;
166
- update: <TReturning extends boolean>(input: UpdateBuilderInput<T> & {
167
- returning?: TReturning;
168
- }) => SQL.Query<TReturning extends true ? TableRow<T>[] : unknown>;
169
- updateMany: (input: UpdateManyInput<T>) => Promise<{
170
- count: number;
171
- rows: TableRow<T>[];
172
- }>;
173
- delete: <TReturning extends boolean>(input: DeleteBuilderInput<T> & {
174
- returning?: TReturning;
175
- }) => SQL.Query<TReturning extends true ? TableRow<T>[] : unknown>;
176
- deleteMany: (input: DeleteManyInput<T>) => Promise<{
177
- count: number;
178
- rows: TableRow<T>[];
179
- }>;
180
- };
181
- //#endregion
182
- export { ColDefs, ColumnKind, ColumnMetaBase, CreateInput, CreateManyInput, DeleteBuilderInput, DeleteInput, DeleteManyInput, Dialect, DialectAdapter, FindFirstInput, FindManyInput, FindUniqueInput, InsertInput, JoinNode, KindToType, ManyRelation, OneRelation, OrderDirection, RelationDefs, SelectInput, SelectPlan, TableRow, TinyTableClient, UpdateBuilderInput, UpdateInput, UpdateManyInput, WhereNode };
183
- //# sourceMappingURL=types.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../../src/lib/orm/types.ts"],"mappings":"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"}
@@ -1,183 +0,0 @@
1
- import { Table } from "./table.mjs";
2
- import { ColumnDef } from "./column.mjs";
3
-
4
- //#region src/lib/orm/types.d.ts
5
- type ColumnKind = "uuid" | "string" | "number" | "boolean" | "date" | "json" | "jsonb" | "enum";
6
- type Dialect = "postgres" | "mysql" | "sqlite";
7
- type KindToType<K extends ColumnKind> = K extends "uuid" | "string" ? string : K extends "number" ? number : K extends "boolean" ? boolean : K extends "date" ? Date : unknown;
8
- type ColDefs = Record<string, ColumnDef<ColumnKind, ColumnMetaBase, unknown>>;
9
- type ColumnMetaBase = {
10
- sqlName: string;
11
- isSqlArray: boolean;
12
- isPrimaryKey: boolean;
13
- isNotNull: boolean;
14
- isUnique: boolean;
15
- isEnum: boolean;
16
- enumValues: string[] | null;
17
- enumName: string | null;
18
- hasDefault: boolean;
19
- defaultKind: "value" | "fn" | null;
20
- defaultValue: unknown;
21
- defaultFn: (() => unknown) | null;
22
- references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
23
- onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
24
- };
25
- type Prettify<T> = { [K in keyof T]: T[K] };
26
- type TableRow<T extends ColDefs> = Prettify<{ [K in keyof T]: T[K] extends ColumnDef<ColumnKind, ColumnMetaBase, infer V> ? T[K]["meta"]["isNotNull"] extends true ? V : V | null : never }>;
27
- type InsertData<T extends ColDefs> = Prettify<{ [K in keyof T as IsUserProvided<T[K]> extends true ? IsRequired<T[K]> extends true ? K : never : never]: InsertValue<T[K]> } & { [K in keyof T as IsUserProvided<T[K]> extends true ? IsRequired<T[K]> extends true ? never : K : never]?: InsertValue<T[K]> }>;
28
- type InsertValue<C> = C extends ColumnDef<ColumnKind, infer Meta, infer V> ? Meta["isNotNull"] extends true ? V : V | null : never;
29
- type IsUserProvided<C> = C extends ColumnDef<"uuid", infer M> ? M["isPrimaryKey"] extends true ? M["hasDefault"] extends true ? true : false : true : true;
30
- type IsRequired<C> = C extends ColumnDef<ColumnKind, infer M, unknown> ? M["isNotNull"] extends true ? M["hasDefault"] extends true ? false : true : false : false;
31
- type WhereInput<T extends ColDefs> = {
32
- and?: WhereInput<T>[];
33
- or?: WhereInput<T>[];
34
- } & { [K in keyof T]?: (T[K] extends ColumnDef<ColumnKind, ColumnMetaBase, infer V> ? V : never) | WhereFilter<T[K] extends ColumnDef<ColumnKind, ColumnMetaBase, infer V> ? V : never> };
35
- type UniqueWhereInput<T extends ColDefs> = { [K in keyof T as T[K]["meta"]["isPrimaryKey"] extends true ? K : T[K]["meta"]["isUnique"] extends true ? K : never]?: T[K] extends ColumnDef<ColumnKind, ColumnMetaBase, infer V> ? V : never };
36
- type WhereFilter<V> = {
37
- equals?: V;
38
- not?: V;
39
- in?: V[];
40
- notIn?: V[];
41
- isNull?: boolean;
42
- endsWith?: string;
43
- startsWith?: string;
44
- contains?: string;
45
- gt?: V;
46
- lt?: V;
47
- gte?: V;
48
- lte?: V;
49
- };
50
- type ManyRelation<TTable> = {
51
- kind: "many";
52
- table: () => TTable;
53
- foreignKey?: string;
54
- };
55
- type OneRelation<TTable> = {
56
- kind: "one";
57
- foreignKey: string;
58
- table: () => TTable;
59
- };
60
- type RelationDef<TTable> = ManyRelation<TTable> | OneRelation<TTable>;
61
- type RelationDefs = Record<string, RelationDef<Table<ColDefs>>>;
62
- type FindManyInput<T extends ColDefs, TRels> = {
63
- where?: WhereInput<T>;
64
- include?: { [K in keyof TRels]?: true };
65
- orderBy?: Partial<Record<keyof T, OrderDirection>>;
66
- take?: number;
67
- skip?: number;
68
- };
69
- type FindFirstInput<T extends ColDefs, TRels> = FindManyInput<T, TRels>;
70
- type FindUniqueInput<T extends ColDefs> = {
71
- where: UniqueWhereInput<T>;
72
- };
73
- type CreateInput<T extends ColDefs> = {
74
- data: InsertData<T>;
75
- };
76
- type CreateManyInput<T extends ColDefs> = {
77
- data: InsertData<T>[];
78
- };
79
- type UpdateInput<T extends ColDefs> = {
80
- where: WhereInput<T>;
81
- data: Partial<InsertData<T>>;
82
- };
83
- type UpdateManyInput<T extends ColDefs> = {
84
- where: WhereInput<T>;
85
- data: Partial<InsertData<T>>;
86
- };
87
- type DeleteInput<T extends ColDefs> = {
88
- where: WhereInput<T>;
89
- };
90
- type DeleteManyInput<T extends ColDefs> = {
91
- where: WhereInput<T>;
92
- };
93
- type OrderDirection = "asc" | "desc";
94
- type SelectInput<T extends ColDefs, TRels> = {
95
- where?: WhereInput<T>;
96
- include?: { [K in keyof TRels]?: true };
97
- orderBy?: Partial<Record<keyof T, OrderDirection>>;
98
- limit?: number;
99
- offset?: number;
100
- };
101
- type InsertInput<T extends ColDefs> = {
102
- data: InsertData<T>;
103
- returning?: boolean;
104
- };
105
- type UpdateBuilderInput<T extends ColDefs> = {
106
- where: WhereInput<T>;
107
- data: Partial<InsertData<T>>;
108
- returning?: boolean;
109
- };
110
- type DeleteBuilderInput<T extends ColDefs> = {
111
- where: WhereInput<T>;
112
- returning?: boolean;
113
- };
114
- type ClauseOperator = "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "in" | "not_in" | "is_null" | "is_not_null";
115
- type WherePredicate<T extends ColDefs> = {
116
- kind: "predicate";
117
- key: keyof T & string;
118
- op: ClauseOperator;
119
- value?: unknown;
120
- };
121
- type WhereNode<T extends ColDefs> = WherePredicate<T> | {
122
- kind: "and";
123
- nodes: WhereNode<T>[];
124
- } | {
125
- kind: "or";
126
- nodes: WhereNode<T>[];
127
- };
128
- type JoinKind = "inner" | "left";
129
- type JoinNode = {
130
- relationKey: string;
131
- kind: JoinKind;
132
- };
133
- type LimitOffsetNode = {
134
- limit?: number;
135
- offset?: number;
136
- };
137
- type SelectPlan<T extends ColDefs> = {
138
- where?: WhereNode<T>;
139
- joins: JoinNode[];
140
- orderBy: Array<{
141
- key: keyof T & string;
142
- direction: OrderDirection;
143
- }>;
144
- page: LimitOffsetNode;
145
- };
146
- type DialectAdapter = {
147
- dialect: Dialect;
148
- likeKeyword: "LIKE" | "ILIKE";
149
- quoteIdentifier: (identifier: string) => string;
150
- serializeValue: (kind: ColumnKind, value: unknown) => string | number | boolean | null | unknown;
151
- renderLikePattern: (mode: "startsWith" | "endsWith" | "contains", value: string) => string;
152
- };
153
- type TinyTableClient<T extends ColDefs, TRels> = {
154
- select: (input?: SelectInput<T, TRels>) => SQL.Query<TableRow<T>[]>;
155
- findMany: (input?: FindManyInput<T, TRels>) => Promise<TableRow<T>[]>;
156
- findFirst: (input?: FindFirstInput<T, TRels>) => Promise<TableRow<T> | null>;
157
- findUnique: (input: FindUniqueInput<T>) => Promise<TableRow<T> | null>;
158
- insert: <TReturning extends boolean>(input: InsertInput<T> & {
159
- returning?: TReturning;
160
- }) => SQL.Query<TReturning extends true ? TableRow<T>[] : unknown>;
161
- create: (input: CreateInput<T>) => Promise<TableRow<T>>;
162
- createMany: (input: CreateManyInput<T>) => Promise<{
163
- count: number;
164
- rows: TableRow<T>[];
165
- }>;
166
- update: <TReturning extends boolean>(input: UpdateBuilderInput<T> & {
167
- returning?: TReturning;
168
- }) => SQL.Query<TReturning extends true ? TableRow<T>[] : unknown>;
169
- updateMany: (input: UpdateManyInput<T>) => Promise<{
170
- count: number;
171
- rows: TableRow<T>[];
172
- }>;
173
- delete: <TReturning extends boolean>(input: DeleteBuilderInput<T> & {
174
- returning?: TReturning;
175
- }) => SQL.Query<TReturning extends true ? TableRow<T>[] : unknown>;
176
- deleteMany: (input: DeleteManyInput<T>) => Promise<{
177
- count: number;
178
- rows: TableRow<T>[];
179
- }>;
180
- };
181
- //#endregion
182
- export { ColDefs, ColumnKind, ColumnMetaBase, CreateInput, CreateManyInput, DeleteBuilderInput, DeleteInput, DeleteManyInput, Dialect, DialectAdapter, FindFirstInput, FindManyInput, FindUniqueInput, InsertInput, JoinNode, KindToType, ManyRelation, OneRelation, OrderDirection, RelationDefs, SelectInput, SelectPlan, TableRow, TinyTableClient, UpdateBuilderInput, UpdateInput, UpdateManyInput, WhereNode };
183
- //# sourceMappingURL=types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/lib/orm/types.ts"],"mappings":"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"}