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,132 +0,0 @@
1
- //#region src/lib/orm/column.ts
2
- var ColumnDef = class ColumnDef {
3
- constructor(kind, meta) {
4
- this.kind = kind;
5
- this.meta = meta;
6
- }
7
- primaryKey() {
8
- return new ColumnDef(this.kind, {
9
- ...this.meta,
10
- isPrimaryKey: true,
11
- isNotNull: true
12
- });
13
- }
14
- asArray() {
15
- return new ColumnDef(this.kind, {
16
- ...this.meta,
17
- isSqlArray: true
18
- });
19
- }
20
- notNull() {
21
- return new ColumnDef(this.kind, {
22
- ...this.meta,
23
- isNotNull: true
24
- });
25
- }
26
- unique() {
27
- return new ColumnDef(this.kind, {
28
- ...this.meta,
29
- isUnique: true
30
- });
31
- }
32
- references(fn) {
33
- return new ColumnDef(this.kind, {
34
- ...this.meta,
35
- references: fn
36
- });
37
- }
38
- onDelete(action) {
39
- return new ColumnDef(this.kind, {
40
- ...this.meta,
41
- onDeleteAction: action
42
- });
43
- }
44
- default(value) {
45
- return new ColumnDef(this.kind, {
46
- ...this.meta,
47
- hasDefault: true,
48
- defaultKind: "value",
49
- defaultValue: value,
50
- defaultFn: null
51
- });
52
- }
53
- defaultFn(fn) {
54
- return new ColumnDef(this.kind, {
55
- ...this.meta,
56
- hasDefault: true,
57
- defaultKind: "fn",
58
- defaultValue: void 0,
59
- defaultFn: fn
60
- });
61
- }
62
- };
63
- const defaultMeta = {
64
- isSqlArray: false,
65
- isPrimaryKey: false,
66
- isNotNull: false,
67
- isUnique: false,
68
- isEnum: false,
69
- enumValues: null,
70
- enumName: null,
71
- hasDefault: false,
72
- defaultKind: null,
73
- defaultValue: void 0,
74
- defaultFn: null,
75
- references: null,
76
- onDeleteAction: null
77
- };
78
- function uuid(sqlName) {
79
- return new ColumnDef("uuid", {
80
- ...defaultMeta,
81
- sqlName
82
- });
83
- }
84
- function string(sqlName) {
85
- return new ColumnDef("string", {
86
- ...defaultMeta,
87
- sqlName
88
- });
89
- }
90
- function enumeration(sqlName, enumName, values) {
91
- return new ColumnDef("enum", {
92
- ...defaultMeta,
93
- isEnum: true,
94
- enumValues: values,
95
- enumName,
96
- sqlName
97
- });
98
- }
99
- function number(sqlName) {
100
- return new ColumnDef("number", {
101
- ...defaultMeta,
102
- sqlName
103
- });
104
- }
105
- function boolean(sqlName) {
106
- return new ColumnDef("boolean", {
107
- ...defaultMeta,
108
- sqlName
109
- });
110
- }
111
- function date(sqlName) {
112
- return new ColumnDef("date", {
113
- ...defaultMeta,
114
- sqlName
115
- });
116
- }
117
- function json(sqlName) {
118
- return new ColumnDef("json", {
119
- ...defaultMeta,
120
- sqlName
121
- });
122
- }
123
- function jsonb(sqlName) {
124
- return new ColumnDef("jsonb", {
125
- ...defaultMeta,
126
- sqlName
127
- });
128
- }
129
- //#endregion
130
- export { boolean, date, enumeration, json, jsonb, number, string, uuid };
131
-
132
- //# sourceMappingURL=column.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"column.mjs","names":[],"sources":["../../src/lib/orm/column.ts"],"sourcesContent":["import type { ColumnKind, ColumnMetaBase, KindToType } from \"./types.js\";\n\nexport class ColumnDef<\n K extends ColumnKind,\n TMeta extends ColumnMetaBase,\n TValue = KindToType<K>,\n> {\n public constructor(\n public readonly kind: K,\n public readonly meta: TMeta,\n ) {}\n\n public primaryKey() {\n return new ColumnDef<\n K,\n TMeta & { isPrimaryKey: true; isNotNull: true },\n TValue\n >(this.kind, {\n ...this.meta,\n isPrimaryKey: true as const,\n isNotNull: true as const,\n });\n }\n\n public asArray() {\n return new ColumnDef<\n K,\n TMeta & { isSqlArray: true },\n [TValue] extends [unknown[]] ? TValue : TValue[]\n >(this.kind, {\n ...this.meta,\n isSqlArray: true as const,\n });\n }\n\n public notNull() {\n return new ColumnDef<K, TMeta & { isNotNull: true }, TValue>(this.kind, {\n ...this.meta,\n isNotNull: true as const,\n });\n }\n\n public unique() {\n return new ColumnDef<K, TMeta & { isUnique: true }, TValue>(this.kind, {\n ...this.meta,\n isUnique: true as const,\n });\n }\n\n public references(fn: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) {\n return new ColumnDef<\n K,\n TMeta & {\n references: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>;\n },\n TValue\n >(this.kind, { ...this.meta, references: fn });\n }\n\n public onDelete(action: \"CASCADE\" | \"RESTRICT\" | \"SET NULL\") {\n return new ColumnDef<\n K,\n TMeta & { onDeleteAction: \"CASCADE\" | \"RESTRICT\" | \"SET NULL\" },\n TValue\n >(this.kind, { ...this.meta, onDeleteAction: action });\n }\n\n public default(value: TValue) {\n return new ColumnDef<\n K,\n TMeta & { hasDefault: true; defaultKind: \"value\" },\n TValue\n >(this.kind, {\n ...this.meta,\n hasDefault: true as const,\n defaultKind: \"value\" as const,\n defaultValue: value,\n defaultFn: null,\n });\n }\n\n public defaultFn(fn: () => TValue) {\n return new ColumnDef<\n K,\n TMeta & { hasDefault: true; defaultKind: \"fn\" },\n TValue\n >(this.kind, {\n ...this.meta,\n hasDefault: true as const,\n defaultKind: \"fn\" as const,\n defaultValue: undefined,\n defaultFn: fn,\n });\n }\n}\n\n// Using explicit Omit<ColumnMetaBase, \"sqlName\"> annotation so boolean fields are typed\n// as `boolean` (not literal `false`). This is required for the chaining methods to work:\n// { isPrimaryKey: boolean } & { isPrimaryKey: true } = { isPrimaryKey: true }\n// vs { isPrimaryKey: false } & { isPrimaryKey: true } = { isPrimaryKey: never }\nconst defaultMeta: Omit<ColumnMetaBase, \"sqlName\"> = {\n isSqlArray: false,\n isPrimaryKey: false,\n isNotNull: false,\n isUnique: false,\n isEnum: false,\n enumValues: null,\n enumName: null,\n hasDefault: false,\n defaultKind: null,\n defaultValue: undefined,\n defaultFn: null,\n references: null,\n onDeleteAction: null,\n};\n\nexport function uuid(sqlName: string) {\n return new ColumnDef(\"uuid\", { ...defaultMeta, sqlName });\n}\n\nexport function string(sqlName: string) {\n return new ColumnDef(\"string\", { ...defaultMeta, sqlName });\n}\n\nexport function enumeration<const TValues extends string[]>(\n sqlName: string,\n enumName: string,\n values: TValues,\n) {\n return new ColumnDef<\"enum\", ColumnMetaBase, TValues[number]>(\"enum\", {\n ...defaultMeta,\n isEnum: true,\n enumValues: values,\n enumName,\n sqlName,\n });\n}\n\nexport { enumeration as enumColumn };\n\nexport function number(sqlName: string) {\n return new ColumnDef(\"number\", { ...defaultMeta, sqlName });\n}\n\nexport function boolean(sqlName: string) {\n return new ColumnDef(\"boolean\", { ...defaultMeta, sqlName });\n}\n\nexport function date(sqlName: string) {\n return new ColumnDef(\"date\", { ...defaultMeta, sqlName });\n}\n\nexport function json<const T>(sqlName: string) {\n return new ColumnDef<\"json\", ColumnMetaBase, T>(\"json\", {\n ...defaultMeta,\n sqlName,\n });\n}\n\nexport function jsonb<const T>(sqlName: string) {\n return new ColumnDef<\"jsonb\", ColumnMetaBase, T>(\"jsonb\", {\n ...defaultMeta,\n sqlName,\n });\n}\n"],"mappings":";AAEA,IAAa,YAAb,MAAa,UAIX;CACA,YACE,MACA,MACA;AAFgB,OAAA,OAAA;AACA,OAAA,OAAA;;CAGlB,aAAoB;AAClB,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,cAAc;GACd,WAAW;GACZ,CAAC;;CAGJ,UAAiB;AACf,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACb,CAAC;;CAGJ,UAAiB;AACf,SAAO,IAAI,UAAkD,KAAK,MAAM;GACtE,GAAG,KAAK;GACR,WAAW;GACZ,CAAC;;CAGJ,SAAgB;AACd,SAAO,IAAI,UAAiD,KAAK,MAAM;GACrE,GAAG,KAAK;GACR,UAAU;GACX,CAAC;;CAGJ,WAAkB,IAA0D;AAC1E,SAAO,IAAI,UAMT,KAAK,MAAM;GAAE,GAAG,KAAK;GAAM,YAAY;GAAI,CAAC;;CAGhD,SAAgB,QAA6C;AAC3D,SAAO,IAAI,UAIT,KAAK,MAAM;GAAE,GAAG,KAAK;GAAM,gBAAgB;GAAQ,CAAC;;CAGxD,QAAe,OAAe;AAC5B,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACZ,aAAa;GACb,cAAc;GACd,WAAW;GACZ,CAAC;;CAGJ,UAAiB,IAAkB;AACjC,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACZ,aAAa;GACb,cAAc,KAAA;GACd,WAAW;GACZ,CAAC;;;AAQN,MAAM,cAA+C;CACnD,YAAY;CACZ,cAAc;CACd,WAAW;CACX,UAAU;CACV,QAAQ;CACR,YAAY;CACZ,UAAU;CACV,YAAY;CACZ,aAAa;CACb,cAAc,KAAA;CACd,WAAW;CACX,YAAY;CACZ,gBAAgB;CACjB;AAED,SAAgB,KAAK,SAAiB;AACpC,QAAO,IAAI,UAAU,QAAQ;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG3D,SAAgB,OAAO,SAAiB;AACtC,QAAO,IAAI,UAAU,UAAU;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG7D,SAAgB,YACd,SACA,UACA,QACA;AACA,QAAO,IAAI,UAAmD,QAAQ;EACpE,GAAG;EACH,QAAQ;EACR,YAAY;EACZ;EACA;EACD,CAAC;;AAKJ,SAAgB,OAAO,SAAiB;AACtC,QAAO,IAAI,UAAU,UAAU;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG7D,SAAgB,QAAQ,SAAiB;AACvC,QAAO,IAAI,UAAU,WAAW;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG9D,SAAgB,KAAK,SAAiB;AACpC,QAAO,IAAI,UAAU,QAAQ;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG3D,SAAgB,KAAc,SAAiB;AAC7C,QAAO,IAAI,UAAqC,QAAQ;EACtD,GAAG;EACH;EACD,CAAC;;AAGJ,SAAgB,MAAe,SAAiB;AAC9C,QAAO,IAAI,UAAsC,SAAS;EACxD,GAAG;EACH;EACD,CAAC"}
@@ -1,14 +0,0 @@
1
- const require_mysql = require("./mysql.cjs");
2
- const require_postgres = require("./postgres.cjs");
3
- const require_sqlite = require("./sqlite.cjs");
4
- //#region src/lib/orm/dialect/index.ts
5
- const dialectAdapters = {
6
- postgres: require_postgres.postgresDialectAdapter,
7
- mysql: require_mysql.mysqlDialectAdapter,
8
- sqlite: require_sqlite.sqliteDialectAdapter
9
- };
10
- function getDialectAdapter(dialect) {
11
- return dialectAdapters[dialect];
12
- }
13
- //#endregion
14
- exports.getDialectAdapter = getDialectAdapter;
@@ -1,16 +0,0 @@
1
- import { mysqlDialectAdapter } from "./mysql.mjs";
2
- import { postgresDialectAdapter } from "./postgres.mjs";
3
- import { sqliteDialectAdapter } from "./sqlite.mjs";
4
- //#region src/lib/orm/dialect/index.ts
5
- const dialectAdapters = {
6
- postgres: postgresDialectAdapter,
7
- mysql: mysqlDialectAdapter,
8
- sqlite: sqliteDialectAdapter
9
- };
10
- function getDialectAdapter(dialect) {
11
- return dialectAdapters[dialect];
12
- }
13
- //#endregion
14
- export { getDialectAdapter };
15
-
16
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/lib/orm/dialect/index.ts"],"sourcesContent":["import type { Dialect, DialectAdapter } from \"../types.js\";\nimport { mysqlDialectAdapter } from \"./mysql.js\";\nimport { postgresDialectAdapter } from \"./postgres.js\";\nimport { sqliteDialectAdapter } from \"./sqlite.js\";\n\nconst dialectAdapters = {\n postgres: postgresDialectAdapter,\n mysql: mysqlDialectAdapter,\n sqlite: sqliteDialectAdapter,\n} satisfies Record<Dialect, DialectAdapter>;\n\nexport function getDialectAdapter(dialect: Dialect): DialectAdapter {\n return dialectAdapters[dialect];\n}\n"],"mappings":";;;;AAKA,MAAM,kBAAkB;CACtB,UAAU;CACV,OAAO;CACP,QAAQ;CACT;AAED,SAAgB,kBAAkB,SAAkC;AAClE,QAAO,gBAAgB"}
@@ -1,31 +0,0 @@
1
- //#region src/lib/orm/dialect/mysql.ts
2
- function escapeLike(s) {
3
- return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
- }
5
- const mysqlDialectAdapter = {
6
- dialect: "mysql",
7
- likeKeyword: "LIKE",
8
- quoteIdentifier(identifier) {
9
- return `\`${identifier.replaceAll("`", "``")}\``;
10
- },
11
- serializeValue(kind, value) {
12
- if (kind === "date") {
13
- if (value instanceof Date) return value.toISOString();
14
- return value;
15
- }
16
- if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
17
- if (kind === "boolean") {
18
- if (value === true) return 1;
19
- if (value === false) return 0;
20
- }
21
- return value;
22
- },
23
- renderLikePattern(mode, value) {
24
- const escaped = escapeLike(value);
25
- if (mode === "startsWith") return `${escaped}%`;
26
- if (mode === "endsWith") return `%${escaped}`;
27
- return `%${escaped}%`;
28
- }
29
- };
30
- //#endregion
31
- exports.mysqlDialectAdapter = mysqlDialectAdapter;
@@ -1,33 +0,0 @@
1
- //#region src/lib/orm/dialect/mysql.ts
2
- function escapeLike(s) {
3
- return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
- }
5
- const mysqlDialectAdapter = {
6
- dialect: "mysql",
7
- likeKeyword: "LIKE",
8
- quoteIdentifier(identifier) {
9
- return `\`${identifier.replaceAll("`", "``")}\``;
10
- },
11
- serializeValue(kind, value) {
12
- if (kind === "date") {
13
- if (value instanceof Date) return value.toISOString();
14
- return value;
15
- }
16
- if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
17
- if (kind === "boolean") {
18
- if (value === true) return 1;
19
- if (value === false) return 0;
20
- }
21
- return value;
22
- },
23
- renderLikePattern(mode, value) {
24
- const escaped = escapeLike(value);
25
- if (mode === "startsWith") return `${escaped}%`;
26
- if (mode === "endsWith") return `%${escaped}`;
27
- return `%${escaped}%`;
28
- }
29
- };
30
- //#endregion
31
- export { mysqlDialectAdapter };
32
-
33
- //# sourceMappingURL=mysql.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mysql.mjs","names":[],"sources":["../../../src/lib/orm/dialect/mysql.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const mysqlDialectAdapter: DialectAdapter = {\n dialect: \"mysql\",\n likeKeyword: \"LIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\\`${identifier.replaceAll(\"`\", \"``\")}\\``;\n },\n\n serializeValue(kind, value) {\n if (kind === \"date\") {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n }\n\n if (kind === \"json\" || kind === \"jsonb\") {\n return JSON.stringify(value);\n }\n\n if (kind === \"boolean\") {\n if (value === true) return 1;\n if (value === false) return 0;\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,sBAAsC;CACjD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,KAAK,WAAW,WAAW,KAAK,KAAK,CAAC;;CAG/C,eAAe,MAAM,OAAO;AAC1B,MAAI,SAAS,QAAQ;AACnB,OAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,UAAO;;AAGT,MAAI,SAAS,UAAU,SAAS,QAC9B,QAAO,KAAK,UAAU,MAAM;AAG9B,MAAI,SAAS,WAAW;AACtB,OAAI,UAAU,KAAM,QAAO;AAC3B,OAAI,UAAU,MAAO,QAAO;;AAG9B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
@@ -1,23 +0,0 @@
1
- //#region src/lib/orm/dialect/postgres.ts
2
- function escapeLike(s) {
3
- return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
- }
5
- const postgresDialectAdapter = {
6
- dialect: "postgres",
7
- likeKeyword: "ILIKE",
8
- quoteIdentifier(identifier) {
9
- return `"${identifier.replaceAll("\"", "\"\"")}"`;
10
- },
11
- serializeValue(_kind, value) {
12
- if (value instanceof Date) return value.toISOString();
13
- return value;
14
- },
15
- renderLikePattern(mode, value) {
16
- const escaped = escapeLike(value);
17
- if (mode === "startsWith") return `${escaped}%`;
18
- if (mode === "endsWith") return `%${escaped}`;
19
- return `%${escaped}%`;
20
- }
21
- };
22
- //#endregion
23
- exports.postgresDialectAdapter = postgresDialectAdapter;
@@ -1,25 +0,0 @@
1
- //#region src/lib/orm/dialect/postgres.ts
2
- function escapeLike(s) {
3
- return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
- }
5
- const postgresDialectAdapter = {
6
- dialect: "postgres",
7
- likeKeyword: "ILIKE",
8
- quoteIdentifier(identifier) {
9
- return `"${identifier.replaceAll("\"", "\"\"")}"`;
10
- },
11
- serializeValue(_kind, value) {
12
- if (value instanceof Date) return value.toISOString();
13
- return value;
14
- },
15
- renderLikePattern(mode, value) {
16
- const escaped = escapeLike(value);
17
- if (mode === "startsWith") return `${escaped}%`;
18
- if (mode === "endsWith") return `%${escaped}`;
19
- return `%${escaped}%`;
20
- }
21
- };
22
- //#endregion
23
- export { postgresDialectAdapter };
24
-
25
- //# sourceMappingURL=postgres.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgres.mjs","names":[],"sources":["../../../src/lib/orm/dialect/postgres.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const postgresDialectAdapter: DialectAdapter = {\n dialect: \"postgres\",\n likeKeyword: \"ILIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\"${identifier.replaceAll('\"', '\"\"')}\"`;\n },\n\n serializeValue(_kind, value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,yBAAyC;CACpD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,IAAI,WAAW,WAAW,MAAK,OAAK,CAAC;;CAG9C,eAAe,OAAO,OAAO;AAC3B,MAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
@@ -1,31 +0,0 @@
1
- //#region src/lib/orm/dialect/sqlite.ts
2
- function escapeLike(s) {
3
- return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
- }
5
- const sqliteDialectAdapter = {
6
- dialect: "sqlite",
7
- likeKeyword: "LIKE",
8
- quoteIdentifier(identifier) {
9
- return `"${identifier.replaceAll("\"", "\"\"")}"`;
10
- },
11
- serializeValue(kind, value) {
12
- if (kind === "date") {
13
- if (value instanceof Date) return value.toISOString();
14
- return value;
15
- }
16
- if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
17
- if (kind === "boolean") {
18
- if (value === true) return 1;
19
- if (value === false) return 0;
20
- }
21
- return value;
22
- },
23
- renderLikePattern(mode, value) {
24
- const escaped = escapeLike(value);
25
- if (mode === "startsWith") return `${escaped}%`;
26
- if (mode === "endsWith") return `%${escaped}`;
27
- return `%${escaped}%`;
28
- }
29
- };
30
- //#endregion
31
- exports.sqliteDialectAdapter = sqliteDialectAdapter;
@@ -1,33 +0,0 @@
1
- //#region src/lib/orm/dialect/sqlite.ts
2
- function escapeLike(s) {
3
- return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
- }
5
- const sqliteDialectAdapter = {
6
- dialect: "sqlite",
7
- likeKeyword: "LIKE",
8
- quoteIdentifier(identifier) {
9
- return `"${identifier.replaceAll("\"", "\"\"")}"`;
10
- },
11
- serializeValue(kind, value) {
12
- if (kind === "date") {
13
- if (value instanceof Date) return value.toISOString();
14
- return value;
15
- }
16
- if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
17
- if (kind === "boolean") {
18
- if (value === true) return 1;
19
- if (value === false) return 0;
20
- }
21
- return value;
22
- },
23
- renderLikePattern(mode, value) {
24
- const escaped = escapeLike(value);
25
- if (mode === "startsWith") return `${escaped}%`;
26
- if (mode === "endsWith") return `%${escaped}`;
27
- return `%${escaped}%`;
28
- }
29
- };
30
- //#endregion
31
- export { sqliteDialectAdapter };
32
-
33
- //# sourceMappingURL=sqlite.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite.mjs","names":[],"sources":["../../../src/lib/orm/dialect/sqlite.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const sqliteDialectAdapter: DialectAdapter = {\n dialect: \"sqlite\",\n likeKeyword: \"LIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\"${identifier.replaceAll('\"', '\"\"')}\"`;\n },\n\n serializeValue(kind, value) {\n if (kind === \"date\") {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n }\n\n if (kind === \"json\" || kind === \"jsonb\") {\n return JSON.stringify(value);\n }\n\n if (kind === \"boolean\") {\n if (value === true) return 1;\n if (value === false) return 0;\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,uBAAuC;CAClD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,IAAI,WAAW,WAAW,MAAK,OAAK,CAAC;;CAG9C,eAAe,MAAM,OAAO;AAC1B,MAAI,SAAS,QAAQ;AACnB,OAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,UAAO;;AAGT,MAAI,SAAS,UAAU,SAAS,QAC9B,QAAO,KAAK,UAAU,MAAM;AAG9B,MAAI,SAAS,WAAW;AACtB,OAAI,UAAU,KAAM,QAAO;AAC3B,OAAI,UAAU,MAAO,QAAO;;AAG9B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
@@ -1,8 +0,0 @@
1
- //#region src/lib/orm/dialect/utils.ts
2
- function inferDialectFromUrl(url) {
3
- if (url.startsWith("postgres://") || url.startsWith("postgresql://")) return "postgres";
4
- if (url.startsWith("mysql://") || url.startsWith("mysql2://")) return "mysql";
5
- return "sqlite";
6
- }
7
- //#endregion
8
- exports.inferDialectFromUrl = inferDialectFromUrl;
@@ -1,10 +0,0 @@
1
- //#region src/lib/orm/dialect/utils.ts
2
- function inferDialectFromUrl(url) {
3
- if (url.startsWith("postgres://") || url.startsWith("postgresql://")) return "postgres";
4
- if (url.startsWith("mysql://") || url.startsWith("mysql2://")) return "mysql";
5
- return "sqlite";
6
- }
7
- //#endregion
8
- export { inferDialectFromUrl };
9
-
10
- //# sourceMappingURL=utils.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/lib/orm/dialect/utils.ts"],"sourcesContent":["import type { Dialect } from \"../types.js\";\n\nexport function inferDialectFromUrl(url: string): Dialect {\n if (url.startsWith(\"postgres://\") || url.startsWith(\"postgresql://\")) {\n return \"postgres\";\n }\n\n if (url.startsWith(\"mysql://\") || url.startsWith(\"mysql2://\")) {\n return \"mysql\";\n }\n\n return \"sqlite\";\n}\n\nexport function isDialect(value: Dialect) {\n return value === \"postgres\" || value === \"mysql\" || value === \"sqlite\";\n}\n"],"mappings":";AAEA,SAAgB,oBAAoB,KAAsB;AACxD,KAAI,IAAI,WAAW,cAAc,IAAI,IAAI,WAAW,gBAAgB,CAClE,QAAO;AAGT,KAAI,IAAI,WAAW,WAAW,IAAI,IAAI,WAAW,YAAY,CAC3D,QAAO;AAGT,QAAO"}
@@ -1,31 +0,0 @@
1
- //#region src/lib/orm/internal/table-columns.ts
2
- function buildSelectColumns(sql, table) {
3
- return buildAliasedColumns(sql, table, true);
4
- }
5
- function buildReturningColumns(sql, table) {
6
- return buildAliasedColumns(sql, table, false);
7
- }
8
- function buildAliasedColumns(sql, table, qualifyWithTableName) {
9
- const fragments = [];
10
- for (const jsKey in table.columns) {
11
- const col = table.columns[jsKey];
12
- if (!col) continue;
13
- if (qualifyWithTableName) {
14
- fragments.push(sql`${sql(table.tableName)}.${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);
15
- continue;
16
- }
17
- fragments.push(sql`${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);
18
- }
19
- const first = fragments[0];
20
- if (!first) return sql`*`;
21
- let joined = first;
22
- for (let index = 1; index < fragments.length; index++) {
23
- const fragment = fragments[index];
24
- if (!fragment) continue;
25
- joined = sql`${joined}, ${fragment}`;
26
- }
27
- return joined;
28
- }
29
- //#endregion
30
- exports.buildReturningColumns = buildReturningColumns;
31
- exports.buildSelectColumns = buildSelectColumns;
@@ -1,32 +0,0 @@
1
- //#region src/lib/orm/internal/table-columns.ts
2
- function buildSelectColumns(sql, table) {
3
- return buildAliasedColumns(sql, table, true);
4
- }
5
- function buildReturningColumns(sql, table) {
6
- return buildAliasedColumns(sql, table, false);
7
- }
8
- function buildAliasedColumns(sql, table, qualifyWithTableName) {
9
- const fragments = [];
10
- for (const jsKey in table.columns) {
11
- const col = table.columns[jsKey];
12
- if (!col) continue;
13
- if (qualifyWithTableName) {
14
- fragments.push(sql`${sql(table.tableName)}.${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);
15
- continue;
16
- }
17
- fragments.push(sql`${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);
18
- }
19
- const first = fragments[0];
20
- if (!first) return sql`*`;
21
- let joined = first;
22
- for (let index = 1; index < fragments.length; index++) {
23
- const fragment = fragments[index];
24
- if (!fragment) continue;
25
- joined = sql`${joined}, ${fragment}`;
26
- }
27
- return joined;
28
- }
29
- //#endregion
30
- export { buildReturningColumns, buildSelectColumns };
31
-
32
- //# sourceMappingURL=table-columns.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-columns.mjs","names":[],"sources":["../../../src/lib/orm/internal/table-columns.ts"],"sourcesContent":["import type { SQL, TransactionSQL } from \"bun\";\nimport type { Table } from \"../table.js\";\nimport type { ColDefs } from \"../types.js\";\n\nexport function buildSelectColumns(\n sql: SQL | TransactionSQL,\n table: Table<ColDefs>,\n) {\n return buildAliasedColumns(sql, table, true);\n}\n\nexport function buildReturningColumns(\n sql: SQL | TransactionSQL,\n table: Table<ColDefs>,\n) {\n return buildAliasedColumns(sql, table, false);\n}\n\nfunction buildAliasedColumns(\n sql: SQL | TransactionSQL,\n table: Table<ColDefs>,\n qualifyWithTableName: boolean,\n) {\n const fragments: SQL.Query<unknown>[] = [];\n\n for (const jsKey in table.columns) {\n const col = table.columns[jsKey];\n\n if (!col) {\n continue;\n }\n\n if (qualifyWithTableName) {\n fragments.push(\n sql`${sql(table.tableName)}.${sql(col.meta.sqlName)} AS ${sql(jsKey)}`,\n );\n continue;\n }\n\n fragments.push(sql`${sql(col.meta.sqlName)} AS ${sql(jsKey)}`);\n }\n\n const first = fragments[0];\n\n if (!first) {\n return sql`*`;\n }\n\n let joined = first;\n\n for (let index = 1; index < fragments.length; index++) {\n const fragment = fragments[index];\n\n if (!fragment) {\n continue;\n }\n\n joined = sql`${joined}, ${fragment}`;\n }\n\n return joined;\n}\n"],"mappings":";AAIA,SAAgB,mBACd,KACA,OACA;AACA,QAAO,oBAAoB,KAAK,OAAO,KAAK;;AAG9C,SAAgB,sBACd,KACA,OACA;AACA,QAAO,oBAAoB,KAAK,OAAO,MAAM;;AAG/C,SAAS,oBACP,KACA,OACA,sBACA;CACA,MAAM,YAAkC,EAAE;AAE1C,MAAK,MAAM,SAAS,MAAM,SAAS;EACjC,MAAM,MAAM,MAAM,QAAQ;AAE1B,MAAI,CAAC,IACH;AAGF,MAAI,sBAAsB;AACxB,aAAU,KACR,GAAG,GAAG,IAAI,MAAM,UAAU,CAAC,GAAG,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,GACrE;AACD;;AAGF,YAAU,KAAK,GAAG,GAAG,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,GAAG;;CAGhE,MAAM,QAAQ,UAAU;AAExB,KAAI,CAAC,MACH,QAAO,GAAG;CAGZ,IAAI,SAAS;AAEb,MAAK,IAAI,QAAQ,GAAG,QAAQ,UAAU,QAAQ,SAAS;EACrD,MAAM,WAAW,UAAU;AAE3B,MAAI,CAAC,SACH;AAGF,WAAS,GAAG,GAAG,OAAO,IAAI;;AAG5B,QAAO"}
@@ -1,35 +0,0 @@
1
- //#region src/lib/orm/internal/table-lookup.ts
2
- function getPrimaryKeyColumn(table) {
3
- for (const jsKey in table.columns) {
4
- const col = table.columns[jsKey];
5
- if (!col) continue;
6
- if (col.meta.isPrimaryKey) return {
7
- jsKey,
8
- col
9
- };
10
- }
11
- return null;
12
- }
13
- function findColumnBySqlName(table, sqlName) {
14
- for (const jsKey in table.columns) {
15
- const col = table.columns[jsKey];
16
- if (!col) continue;
17
- if (col.meta.sqlName === sqlName) return {
18
- jsKey,
19
- col
20
- };
21
- }
22
- return null;
23
- }
24
- function findTableKeyByValue(tables, targetTable) {
25
- for (const tableKey in tables) {
26
- const table = tables[tableKey];
27
- if (!table) continue;
28
- if (table === targetTable) return tableKey;
29
- }
30
- return null;
31
- }
32
- //#endregion
33
- exports.findColumnBySqlName = findColumnBySqlName;
34
- exports.findTableKeyByValue = findTableKeyByValue;
35
- exports.getPrimaryKeyColumn = getPrimaryKeyColumn;
@@ -1,35 +0,0 @@
1
- //#region src/lib/orm/internal/table-lookup.ts
2
- function getPrimaryKeyColumn(table) {
3
- for (const jsKey in table.columns) {
4
- const col = table.columns[jsKey];
5
- if (!col) continue;
6
- if (col.meta.isPrimaryKey) return {
7
- jsKey,
8
- col
9
- };
10
- }
11
- return null;
12
- }
13
- function findColumnBySqlName(table, sqlName) {
14
- for (const jsKey in table.columns) {
15
- const col = table.columns[jsKey];
16
- if (!col) continue;
17
- if (col.meta.sqlName === sqlName) return {
18
- jsKey,
19
- col
20
- };
21
- }
22
- return null;
23
- }
24
- function findTableKeyByValue(tables, targetTable) {
25
- for (const tableKey in tables) {
26
- const table = tables[tableKey];
27
- if (!table) continue;
28
- if (table === targetTable) return tableKey;
29
- }
30
- return null;
31
- }
32
- //#endregion
33
- export { findColumnBySqlName, findTableKeyByValue, getPrimaryKeyColumn };
34
-
35
- //# sourceMappingURL=table-lookup.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-lookup.mjs","names":[],"sources":["../../../src/lib/orm/internal/table-lookup.ts"],"sourcesContent":["import type { ColumnDef } from \"../column.js\";\nimport type { Table } from \"../table.js\";\nimport type { ColDefs, ColumnKind, ColumnMetaBase } from \"../types.js\";\n\nexport type ResolvedColumn = {\n jsKey: string;\n col: ColumnDef<ColumnKind, ColumnMetaBase, unknown>;\n};\n\nexport function getPrimaryKeyColumn(table: Table<ColDefs>) {\n for (const jsKey in table.columns) {\n const col = table.columns[jsKey];\n\n if (!col) {\n continue;\n }\n\n if (col.meta.isPrimaryKey) {\n return {\n jsKey,\n col,\n } satisfies ResolvedColumn;\n }\n }\n\n return null;\n}\n\nexport function findColumnBySqlName(table: Table<ColDefs>, sqlName: string) {\n for (const jsKey in table.columns) {\n const col = table.columns[jsKey];\n\n if (!col) {\n continue;\n }\n\n if (col.meta.sqlName === sqlName) {\n return {\n jsKey,\n col,\n } satisfies ResolvedColumn;\n }\n }\n\n return null;\n}\n\nexport function findTableKeyByValue(\n tables: Record<string, Table<ColDefs>>,\n targetTable: Table<ColDefs>,\n) {\n for (const tableKey in tables) {\n const table = tables[tableKey];\n\n if (!table) {\n continue;\n }\n\n if (table === targetTable) {\n return tableKey;\n }\n }\n\n return null;\n}\n"],"mappings":";AASA,SAAgB,oBAAoB,OAAuB;AACzD,MAAK,MAAM,SAAS,MAAM,SAAS;EACjC,MAAM,MAAM,MAAM,QAAQ;AAE1B,MAAI,CAAC,IACH;AAGF,MAAI,IAAI,KAAK,aACX,QAAO;GACL;GACA;GACD;;AAIL,QAAO;;AAGT,SAAgB,oBAAoB,OAAuB,SAAiB;AAC1E,MAAK,MAAM,SAAS,MAAM,SAAS;EACjC,MAAM,MAAM,MAAM,QAAQ;AAE1B,MAAI,CAAC,IACH;AAGF,MAAI,IAAI,KAAK,YAAY,QACvB,QAAO;GACL;GACA;GACD;;AAIL,QAAO;;AAGT,SAAgB,oBACd,QACA,aACA;AACA,MAAK,MAAM,YAAY,QAAQ;EAC7B,MAAM,QAAQ,OAAO;AAErB,MAAI,CAAC,MACH;AAGF,MAAI,UAAU,YACZ,QAAO;;AAIX,QAAO"}
@@ -1,28 +0,0 @@
1
- const require_table_lookup = require("./table-lookup.cjs");
2
- //#region src/lib/orm/internal/table-relations.ts
3
- function findManyForeignKeyByReference(sourceTable, sourcePk) {
4
- for (const key in sourceTable.columns) {
5
- const col = sourceTable.columns[key];
6
- if (!col) continue;
7
- if (!col.meta.references) continue;
8
- if (col.meta.references() === sourcePk) return col.meta.sqlName;
9
- }
10
- return null;
11
- }
12
- function inferManyForeignKeyFromInverse(sourceTable, targetTable, allRelations, allTables) {
13
- const targetTableKey = require_table_lookup.findTableKeyByValue(allTables, targetTable);
14
- if (!targetTableKey) return null;
15
- const targetRels = allRelations[targetTableKey];
16
- if (!targetRels) return null;
17
- for (const relKey in targetRels) {
18
- const rel = targetRels[relKey];
19
- if (!rel) continue;
20
- if (rel.kind !== "one") continue;
21
- if (rel.table() !== sourceTable) continue;
22
- return rel.foreignKey;
23
- }
24
- return null;
25
- }
26
- //#endregion
27
- exports.findManyForeignKeyByReference = findManyForeignKeyByReference;
28
- exports.inferManyForeignKeyFromInverse = inferManyForeignKeyFromInverse;
@@ -1,29 +0,0 @@
1
- import { findTableKeyByValue } from "./table-lookup.mjs";
2
- //#region src/lib/orm/internal/table-relations.ts
3
- function findManyForeignKeyByReference(sourceTable, sourcePk) {
4
- for (const key in sourceTable.columns) {
5
- const col = sourceTable.columns[key];
6
- if (!col) continue;
7
- if (!col.meta.references) continue;
8
- if (col.meta.references() === sourcePk) return col.meta.sqlName;
9
- }
10
- return null;
11
- }
12
- function inferManyForeignKeyFromInverse(sourceTable, targetTable, allRelations, allTables) {
13
- const targetTableKey = findTableKeyByValue(allTables, targetTable);
14
- if (!targetTableKey) return null;
15
- const targetRels = allRelations[targetTableKey];
16
- if (!targetRels) return null;
17
- for (const relKey in targetRels) {
18
- const rel = targetRels[relKey];
19
- if (!rel) continue;
20
- if (rel.kind !== "one") continue;
21
- if (rel.table() !== sourceTable) continue;
22
- return rel.foreignKey;
23
- }
24
- return null;
25
- }
26
- //#endregion
27
- export { findManyForeignKeyByReference, inferManyForeignKeyFromInverse };
28
-
29
- //# sourceMappingURL=table-relations.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-relations.mjs","names":[],"sources":["../../../src/lib/orm/internal/table-relations.ts"],"sourcesContent":["import type { ColumnDef } from \"../column.js\";\nimport type { Table } from \"../table.js\";\nimport type {\n ColDefs,\n ColumnKind,\n ColumnMetaBase,\n RelationDefs,\n} from \"../types.js\";\nimport { findTableKeyByValue } from \"./table-lookup.js\";\n\nexport function findManyForeignKeyByReference(\n sourceTable: Table<ColDefs>,\n sourcePk: ColumnDef<ColumnKind, ColumnMetaBase, unknown>,\n) {\n for (const key in sourceTable.columns) {\n const col = sourceTable.columns[key];\n\n if (!col) {\n continue;\n }\n\n if (!col.meta.references) {\n continue;\n }\n\n const referenced = col.meta.references();\n\n if (referenced === sourcePk) {\n return col.meta.sqlName;\n }\n }\n\n return null;\n}\n\nexport function inferManyForeignKeyFromInverse(\n sourceTable: Table<ColDefs>,\n targetTable: Table<ColDefs>,\n allRelations: Partial<Record<string, RelationDefs>>,\n allTables: Record<string, Table<ColDefs>>,\n) {\n const targetTableKey = findTableKeyByValue(allTables, targetTable);\n\n if (!targetTableKey) {\n return null;\n }\n\n const targetRels = allRelations[targetTableKey];\n\n if (!targetRels) {\n return null;\n }\n\n for (const relKey in targetRels) {\n const rel = targetRels[relKey];\n\n if (!rel) {\n continue;\n }\n\n if (rel.kind !== \"one\") {\n continue;\n }\n\n if (rel.table() !== sourceTable) {\n continue;\n }\n\n return rel.foreignKey;\n }\n\n return null;\n}\n"],"mappings":";;AAUA,SAAgB,8BACd,aACA,UACA;AACA,MAAK,MAAM,OAAO,YAAY,SAAS;EACrC,MAAM,MAAM,YAAY,QAAQ;AAEhC,MAAI,CAAC,IACH;AAGF,MAAI,CAAC,IAAI,KAAK,WACZ;AAKF,MAFmB,IAAI,KAAK,YAAY,KAErB,SACjB,QAAO,IAAI,KAAK;;AAIpB,QAAO;;AAGT,SAAgB,+BACd,aACA,aACA,cACA,WACA;CACA,MAAM,iBAAiB,oBAAoB,WAAW,YAAY;AAElE,KAAI,CAAC,eACH,QAAO;CAGT,MAAM,aAAa,aAAa;AAEhC,KAAI,CAAC,WACH,QAAO;AAGT,MAAK,MAAM,UAAU,YAAY;EAC/B,MAAM,MAAM,WAAW;AAEvB,MAAI,CAAC,IACH;AAGF,MAAI,IAAI,SAAS,MACf;AAGF,MAAI,IAAI,OAAO,KAAK,YAClB;AAGF,SAAO,IAAI;;AAGb,QAAO"}
@@ -1,7 +0,0 @@
1
- require("node:path");
2
- //#region src/lib/orm/migration/config.ts
3
- function defineConfig(config) {
4
- return config;
5
- }
6
- //#endregion
7
- exports.defineConfig = defineConfig;
@@ -1,7 +0,0 @@
1
- import { SemolaConfig } from "./types.cjs";
2
-
3
- //#region src/lib/orm/migration/config.d.ts
4
- declare function defineConfig(config: SemolaConfig): SemolaConfig;
5
- //#endregion
6
- export { defineConfig };
7
- //# sourceMappingURL=config.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.cts","names":[],"sources":["../../../src/lib/orm/migration/config.ts"],"mappings":";;;iBAIgB,YAAA,CAAa,MAAA,EAAQ,YAAA,GAAY,YAAA"}
@@ -1,7 +0,0 @@
1
- import { SemolaConfig } from "./types.mjs";
2
-
3
- //#region src/lib/orm/migration/config.d.ts
4
- declare function defineConfig(config: SemolaConfig): SemolaConfig;
5
- //#endregion
6
- export { defineConfig };
7
- //# sourceMappingURL=config.d.mts.map