@warlock.js/cascade 4.0.171 → 4.1.1

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 (1050) hide show
  1. package/README.md +6 -5
  2. package/bin/cascadejs +3 -0
  3. package/esm/cli/commands/migrate-export-sql.mjs +48 -0
  4. package/esm/cli/commands/migrate-export-sql.mjs.map +1 -0
  5. package/esm/cli/commands/migrate-list.mjs +26 -0
  6. package/esm/cli/commands/migrate-list.mjs.map +1 -0
  7. package/esm/cli/commands/migrate-rollback.mjs +50 -0
  8. package/esm/cli/commands/migrate-rollback.mjs.map +1 -0
  9. package/esm/cli/commands/migrate.mjs +65 -0
  10. package/esm/cli/commands/migrate.mjs.map +1 -0
  11. package/esm/cli/connection-from-env.mjs +181 -0
  12. package/esm/cli/connection-from-env.mjs.map +1 -0
  13. package/esm/cli/index.mjs +31 -0
  14. package/esm/cli/index.mjs.map +1 -0
  15. package/esm/cli/load-migrations.mjs +78 -0
  16. package/esm/cli/load-migrations.mjs.map +1 -0
  17. package/esm/cli/printers.mjs +57 -0
  18. package/esm/cli/printers.mjs.map +1 -0
  19. package/esm/cli/setup-logger.mjs +30 -0
  20. package/esm/cli/setup-logger.mjs.map +1 -0
  21. package/esm/cli/with-cli-connection.mjs +39 -0
  22. package/esm/cli/with-cli-connection.mjs.map +1 -0
  23. package/esm/cli.d.mts +1 -0
  24. package/esm/cli.mjs +26 -0
  25. package/esm/cli.mjs.map +1 -0
  26. package/esm/context/database-data-source-context.d.mts +32 -0
  27. package/esm/context/database-data-source-context.d.mts.map +1 -0
  28. package/esm/context/database-data-source-context.mjs +35 -0
  29. package/esm/context/database-data-source-context.mjs.map +1 -0
  30. package/esm/context/database-transaction-context.d.mts +38 -0
  31. package/esm/context/database-transaction-context.d.mts.map +1 -0
  32. package/esm/context/database-transaction-context.mjs +47 -0
  33. package/esm/context/database-transaction-context.mjs.map +1 -0
  34. package/esm/contracts/database-driver.contract.d.mts +443 -0
  35. package/esm/contracts/database-driver.contract.d.mts.map +1 -0
  36. package/esm/contracts/database-id-generator.contract.d.mts +109 -0
  37. package/esm/contracts/database-id-generator.contract.d.mts.map +1 -0
  38. package/esm/contracts/database-remover.contract.d.mts +108 -0
  39. package/esm/contracts/database-remover.contract.d.mts.map +1 -0
  40. package/esm/contracts/database-restorer.contract.d.mts +145 -0
  41. package/esm/contracts/database-restorer.contract.d.mts.map +1 -0
  42. package/esm/contracts/database-writer.contract.d.mts +123 -0
  43. package/esm/contracts/database-writer.contract.d.mts.map +1 -0
  44. package/esm/contracts/driver-blueprint.contract.d.mts +52 -0
  45. package/esm/contracts/driver-blueprint.contract.d.mts.map +1 -0
  46. package/esm/contracts/index.d.mts +9 -0
  47. package/esm/contracts/migration-driver.contract.d.mts +476 -0
  48. package/esm/contracts/migration-driver.contract.d.mts.map +1 -0
  49. package/esm/contracts/query-builder.contract.d.mts +1663 -0
  50. package/esm/contracts/query-builder.contract.d.mts.map +1 -0
  51. package/esm/contracts/sync-adapter.contract.d.mts +49 -0
  52. package/esm/contracts/sync-adapter.contract.d.mts.map +1 -0
  53. package/esm/data-source/data-source-registry.d.mts +111 -0
  54. package/esm/data-source/data-source-registry.d.mts.map +1 -0
  55. package/esm/data-source/data-source-registry.mjs +142 -0
  56. package/esm/data-source/data-source-registry.mjs.map +1 -0
  57. package/esm/data-source/data-source.d.mts +160 -0
  58. package/esm/data-source/data-source.d.mts.map +1 -0
  59. package/esm/data-source/data-source.mjs +87 -0
  60. package/esm/data-source/data-source.mjs.map +1 -0
  61. package/esm/database-dirty-tracker.d.mts +254 -0
  62. package/esm/database-dirty-tracker.d.mts.map +1 -0
  63. package/esm/database-dirty-tracker.mjs +356 -0
  64. package/esm/database-dirty-tracker.mjs.map +1 -0
  65. package/esm/drivers/mongodb/mongodb-blueprint.mjs +54 -0
  66. package/esm/drivers/mongodb/mongodb-blueprint.mjs.map +1 -0
  67. package/esm/drivers/mongodb/mongodb-driver.d.mts +334 -0
  68. package/esm/drivers/mongodb/mongodb-driver.d.mts.map +1 -0
  69. package/esm/drivers/mongodb/mongodb-driver.mjs +716 -0
  70. package/esm/drivers/mongodb/mongodb-driver.mjs.map +1 -0
  71. package/esm/drivers/mongodb/mongodb-id-generator.d.mts +120 -0
  72. package/esm/drivers/mongodb/mongodb-id-generator.d.mts.map +1 -0
  73. package/esm/drivers/mongodb/mongodb-id-generator.mjs +141 -0
  74. package/esm/drivers/mongodb/mongodb-id-generator.mjs.map +1 -0
  75. package/esm/drivers/mongodb/mongodb-migration-driver.d.mts +322 -0
  76. package/esm/drivers/mongodb/mongodb-migration-driver.d.mts.map +1 -0
  77. package/esm/drivers/mongodb/mongodb-migration-driver.mjs +531 -0
  78. package/esm/drivers/mongodb/mongodb-migration-driver.mjs.map +1 -0
  79. package/esm/drivers/mongodb/mongodb-query-builder.d.mts +1117 -0
  80. package/esm/drivers/mongodb/mongodb-query-builder.d.mts.map +1 -0
  81. package/esm/drivers/mongodb/mongodb-query-builder.mjs +1828 -0
  82. package/esm/drivers/mongodb/mongodb-query-builder.mjs.map +1 -0
  83. package/esm/drivers/mongodb/mongodb-query-operations.d.mts +230 -0
  84. package/esm/drivers/mongodb/mongodb-query-operations.d.mts.map +1 -0
  85. package/esm/drivers/mongodb/mongodb-query-operations.mjs +275 -0
  86. package/esm/drivers/mongodb/mongodb-query-operations.mjs.map +1 -0
  87. package/esm/drivers/mongodb/mongodb-query-parser.d.mts +263 -0
  88. package/esm/drivers/mongodb/mongodb-query-parser.d.mts.map +1 -0
  89. package/esm/drivers/mongodb/mongodb-query-parser.mjs +965 -0
  90. package/esm/drivers/mongodb/mongodb-query-parser.mjs.map +1 -0
  91. package/esm/drivers/mongodb/mongodb-sync-adapter.d.mts +78 -0
  92. package/esm/drivers/mongodb/mongodb-sync-adapter.d.mts.map +1 -0
  93. package/esm/drivers/mongodb/mongodb-sync-adapter.mjs +118 -0
  94. package/esm/drivers/mongodb/mongodb-sync-adapter.mjs.map +1 -0
  95. package/esm/drivers/mongodb/types.d.mts +43 -0
  96. package/esm/drivers/mongodb/types.d.mts.map +1 -0
  97. package/esm/drivers/postgres/index.d.mts +8 -0
  98. package/esm/drivers/postgres/index.mjs +9 -0
  99. package/esm/drivers/postgres/postgres-blueprint.d.mts +60 -0
  100. package/esm/drivers/postgres/postgres-blueprint.d.mts.map +1 -0
  101. package/esm/drivers/postgres/postgres-blueprint.mjs +105 -0
  102. package/esm/drivers/postgres/postgres-blueprint.mjs.map +1 -0
  103. package/esm/drivers/postgres/postgres-dialect.d.mts +144 -0
  104. package/esm/drivers/postgres/postgres-dialect.d.mts.map +1 -0
  105. package/esm/drivers/postgres/postgres-dialect.mjs +227 -0
  106. package/esm/drivers/postgres/postgres-dialect.mjs.map +1 -0
  107. package/esm/drivers/postgres/postgres-driver.d.mts +424 -0
  108. package/esm/drivers/postgres/postgres-driver.d.mts.map +1 -0
  109. package/esm/drivers/postgres/postgres-driver.mjs +845 -0
  110. package/esm/drivers/postgres/postgres-driver.mjs.map +1 -0
  111. package/esm/drivers/postgres/postgres-migration-driver.d.mts +393 -0
  112. package/esm/drivers/postgres/postgres-migration-driver.d.mts.map +1 -0
  113. package/esm/drivers/postgres/postgres-migration-driver.mjs +760 -0
  114. package/esm/drivers/postgres/postgres-migration-driver.mjs.map +1 -0
  115. package/esm/drivers/postgres/postgres-query-builder.d.mts +399 -0
  116. package/esm/drivers/postgres/postgres-query-builder.d.mts.map +1 -0
  117. package/esm/drivers/postgres/postgres-query-builder.mjs +1105 -0
  118. package/esm/drivers/postgres/postgres-query-builder.mjs.map +1 -0
  119. package/esm/drivers/postgres/postgres-query-parser.d.mts +351 -0
  120. package/esm/drivers/postgres/postgres-query-parser.d.mts.map +1 -0
  121. package/esm/drivers/postgres/postgres-query-parser.mjs +796 -0
  122. package/esm/drivers/postgres/postgres-query-parser.mjs.map +1 -0
  123. package/esm/drivers/postgres/postgres-sql-serializer.mjs +260 -0
  124. package/esm/drivers/postgres/postgres-sql-serializer.mjs.map +1 -0
  125. package/esm/drivers/postgres/postgres-sync-adapter.d.mts +79 -0
  126. package/esm/drivers/postgres/postgres-sync-adapter.d.mts.map +1 -0
  127. package/esm/drivers/postgres/postgres-sync-adapter.mjs +162 -0
  128. package/esm/drivers/postgres/postgres-sync-adapter.mjs.map +1 -0
  129. package/esm/drivers/postgres/types.d.mts +105 -0
  130. package/esm/drivers/postgres/types.d.mts.map +1 -0
  131. package/esm/drivers/sql/sql-dialect.contract.d.mts +221 -0
  132. package/esm/drivers/sql/sql-dialect.contract.d.mts.map +1 -0
  133. package/esm/drivers/sql/sql-types.d.mts +150 -0
  134. package/esm/drivers/sql/sql-types.d.mts.map +1 -0
  135. package/esm/errors/missing-data-source.error.d.mts +25 -0
  136. package/esm/errors/missing-data-source.error.d.mts.map +1 -0
  137. package/esm/errors/missing-data-source.error.mjs +31 -0
  138. package/esm/errors/missing-data-source.error.mjs.map +1 -0
  139. package/esm/errors/transaction-rollback.error.d.mts +23 -0
  140. package/esm/errors/transaction-rollback.error.d.mts.map +1 -0
  141. package/esm/errors/transaction-rollback.error.mjs +29 -0
  142. package/esm/errors/transaction-rollback.error.mjs.map +1 -0
  143. package/esm/events/model-events.d.mts +234 -0
  144. package/esm/events/model-events.d.mts.map +1 -0
  145. package/esm/events/model-events.mjs +254 -0
  146. package/esm/events/model-events.mjs.map +1 -0
  147. package/esm/expressions/aggregate-expressions.d.mts +224 -0
  148. package/esm/expressions/aggregate-expressions.d.mts.map +1 -0
  149. package/esm/expressions/aggregate-expressions.mjs +232 -0
  150. package/esm/expressions/aggregate-expressions.mjs.map +1 -0
  151. package/esm/index.d.mts +67 -0
  152. package/esm/index.mjs +53 -0
  153. package/esm/migration/column-builder.d.mts +420 -0
  154. package/esm/migration/column-builder.d.mts.map +1 -0
  155. package/esm/migration/column-builder.mjs +532 -0
  156. package/esm/migration/column-builder.mjs.map +1 -0
  157. package/esm/migration/column-helpers.d.mts +280 -0
  158. package/esm/migration/column-helpers.d.mts.map +1 -0
  159. package/esm/migration/column-helpers.mjs +376 -0
  160. package/esm/migration/column-helpers.mjs.map +1 -0
  161. package/esm/migration/foreign-key-builder.d.mts +106 -0
  162. package/esm/migration/foreign-key-builder.d.mts.map +1 -0
  163. package/esm/migration/foreign-key-builder.mjs +126 -0
  164. package/esm/migration/foreign-key-builder.mjs.map +1 -0
  165. package/esm/migration/index.d.mts +6 -0
  166. package/esm/migration/index.mjs +7 -0
  167. package/esm/migration/migration-runner.d.mts +279 -0
  168. package/esm/migration/migration-runner.d.mts.map +1 -0
  169. package/esm/migration/migration-runner.mjs +662 -0
  170. package/esm/migration/migration-runner.mjs.map +1 -0
  171. package/esm/migration/migration.d.mts +2035 -0
  172. package/esm/migration/migration.d.mts.map +1 -0
  173. package/esm/migration/migration.mjs +2083 -0
  174. package/esm/migration/migration.mjs.map +1 -0
  175. package/esm/migration/sql-grammar.mjs +115 -0
  176. package/esm/migration/sql-grammar.mjs.map +1 -0
  177. package/esm/migration/sql-serializer.d.mts +26 -0
  178. package/esm/migration/sql-serializer.d.mts.map +1 -0
  179. package/esm/migration/sql-serializer.mjs +26 -0
  180. package/esm/migration/sql-serializer.mjs.map +1 -0
  181. package/esm/migration/types.d.mts +136 -0
  182. package/esm/migration/types.d.mts.map +1 -0
  183. package/esm/model/methods/accessor-methods.mjs +54 -0
  184. package/esm/model/methods/accessor-methods.mjs.map +1 -0
  185. package/esm/model/methods/delete-methods.mjs +16 -0
  186. package/esm/model/methods/delete-methods.mjs.map +1 -0
  187. package/esm/model/methods/dirty-methods.mjs +20 -0
  188. package/esm/model/methods/dirty-methods.mjs.map +1 -0
  189. package/esm/model/methods/hydration-methods.mjs +51 -0
  190. package/esm/model/methods/hydration-methods.mjs.map +1 -0
  191. package/esm/model/methods/instance-event-methods.mjs +22 -0
  192. package/esm/model/methods/instance-event-methods.mjs.map +1 -0
  193. package/esm/model/methods/meta-methods.mjs +36 -0
  194. package/esm/model/methods/meta-methods.mjs.map +1 -0
  195. package/esm/model/methods/pivot-methods.mjs +48 -0
  196. package/esm/model/methods/pivot-methods.mjs.map +1 -0
  197. package/esm/model/methods/query-methods.mjs +121 -0
  198. package/esm/model/methods/query-methods.mjs.map +1 -0
  199. package/esm/model/methods/restore-methods.mjs +16 -0
  200. package/esm/model/methods/restore-methods.mjs.map +1 -0
  201. package/esm/model/methods/scope-methods.mjs +20 -0
  202. package/esm/model/methods/scope-methods.mjs.map +1 -0
  203. package/esm/model/methods/serialization-methods.mjs +20 -0
  204. package/esm/model/methods/serialization-methods.mjs.map +1 -0
  205. package/esm/model/methods/static-event-methods.mjs +37 -0
  206. package/esm/model/methods/static-event-methods.mjs.map +1 -0
  207. package/esm/model/methods/write-methods.mjs +69 -0
  208. package/esm/model/methods/write-methods.mjs.map +1 -0
  209. package/esm/model/model.d.mts +1778 -0
  210. package/esm/model/model.d.mts.map +1 -0
  211. package/esm/model/model.mjs +1762 -0
  212. package/esm/model/model.mjs.map +1 -0
  213. package/esm/model/model.types.d.mts +47 -0
  214. package/esm/model/model.types.d.mts.map +1 -0
  215. package/esm/model/register-model.d.mts +140 -0
  216. package/esm/model/register-model.d.mts.map +1 -0
  217. package/esm/model/register-model.mjs +175 -0
  218. package/esm/model/register-model.mjs.map +1 -0
  219. package/esm/model/relation-decorators.d.mts +88 -0
  220. package/esm/model/relation-decorators.d.mts.map +1 -0
  221. package/esm/model/relation-decorators.mjs +191 -0
  222. package/esm/model/relation-decorators.mjs.map +1 -0
  223. package/esm/operations/database.d.mts +46 -0
  224. package/esm/operations/database.d.mts.map +1 -0
  225. package/esm/operations/database.mjs +40 -0
  226. package/esm/operations/database.mjs.map +1 -0
  227. package/esm/operations/index.d.mts +2 -0
  228. package/esm/operations/index.mjs +4 -0
  229. package/esm/operations/migrations.d.mts +71 -0
  230. package/esm/operations/migrations.d.mts.map +1 -0
  231. package/esm/operations/migrations.mjs +70 -0
  232. package/esm/operations/migrations.mjs.map +1 -0
  233. package/esm/query-builder/query-builder.d.mts +564 -0
  234. package/esm/query-builder/query-builder.d.mts.map +1 -0
  235. package/esm/query-builder/query-builder.mjs +1097 -0
  236. package/esm/query-builder/query-builder.mjs.map +1 -0
  237. package/esm/relations/index.d.mts +4 -0
  238. package/esm/relations/index.mjs +5 -0
  239. package/esm/relations/key-conventions.mjs +119 -0
  240. package/esm/relations/key-conventions.mjs.map +1 -0
  241. package/esm/relations/pivot-operations.d.mts +155 -0
  242. package/esm/relations/pivot-operations.d.mts.map +1 -0
  243. package/esm/relations/pivot-operations.mjs +232 -0
  244. package/esm/relations/pivot-operations.mjs.map +1 -0
  245. package/esm/relations/relation-hydrator.d.mts +55 -0
  246. package/esm/relations/relation-hydrator.d.mts.map +1 -0
  247. package/esm/relations/relation-hydrator.mjs +52 -0
  248. package/esm/relations/relation-hydrator.mjs.map +1 -0
  249. package/esm/relations/relation-loader.d.mts +190 -0
  250. package/esm/relations/relation-loader.d.mts.map +1 -0
  251. package/esm/relations/relation-loader.mjs +416 -0
  252. package/esm/relations/relation-loader.mjs.map +1 -0
  253. package/esm/relations/types.d.mts +317 -0
  254. package/esm/relations/types.d.mts.map +1 -0
  255. package/esm/remover/database-remover.d.mts +104 -0
  256. package/esm/remover/database-remover.d.mts.map +1 -0
  257. package/esm/remover/database-remover.mjs +174 -0
  258. package/esm/remover/database-remover.mjs.map +1 -0
  259. package/esm/restorer/database-restorer.d.mts +135 -0
  260. package/esm/restorer/database-restorer.d.mts.map +1 -0
  261. package/esm/restorer/database-restorer.mjs +316 -0
  262. package/esm/restorer/database-restorer.mjs.map +1 -0
  263. package/esm/sql-database-dirty-tracker.d.mts +17 -0
  264. package/esm/sql-database-dirty-tracker.d.mts.map +1 -0
  265. package/esm/sql-database-dirty-tracker.mjs +20 -0
  266. package/esm/sql-database-dirty-tracker.mjs.map +1 -0
  267. package/esm/sync/model-events.mjs +46 -0
  268. package/esm/sync/model-events.mjs.map +1 -0
  269. package/esm/sync/model-sync-operation.d.mts +159 -0
  270. package/esm/sync/model-sync-operation.d.mts.map +1 -0
  271. package/esm/sync/model-sync-operation.mjs +257 -0
  272. package/esm/sync/model-sync-operation.mjs.map +1 -0
  273. package/esm/sync/model-sync.d.mts +126 -0
  274. package/esm/sync/model-sync.d.mts.map +1 -0
  275. package/esm/sync/model-sync.mjs +157 -0
  276. package/esm/sync/model-sync.mjs.map +1 -0
  277. package/esm/sync/sync-context.d.mts +69 -0
  278. package/esm/sync/sync-context.d.mts.map +1 -0
  279. package/esm/sync/sync-context.mjs +95 -0
  280. package/esm/sync/sync-context.mjs.map +1 -0
  281. package/esm/sync/sync-manager.d.mts +213 -0
  282. package/esm/sync/sync-manager.d.mts.map +1 -0
  283. package/esm/sync/sync-manager.mjs +597 -0
  284. package/esm/sync/sync-manager.mjs.map +1 -0
  285. package/esm/sync/types.d.mts +215 -0
  286. package/esm/sync/types.d.mts.map +1 -0
  287. package/esm/types.d.mts +423 -0
  288. package/esm/types.d.mts.map +1 -0
  289. package/esm/utils/connect-to-database.d.mts +328 -0
  290. package/esm/utils/connect-to-database.d.mts.map +1 -0
  291. package/esm/utils/connect-to-database.mjs +130 -0
  292. package/esm/utils/connect-to-database.mjs.map +1 -0
  293. package/esm/utils/database-writer.utils.d.mts +18 -0
  294. package/esm/utils/database-writer.utils.d.mts.map +1 -0
  295. package/esm/utils/database-writer.utils.mjs +25 -0
  296. package/esm/utils/database-writer.utils.mjs.map +1 -0
  297. package/esm/utils/define-model.d.mts +185 -0
  298. package/esm/utils/define-model.d.mts.map +1 -0
  299. package/esm/utils/define-model.mjs +105 -0
  300. package/esm/utils/define-model.mjs.map +1 -0
  301. package/esm/utils/is-valid-date-value.mjs +22 -0
  302. package/esm/utils/is-valid-date-value.mjs.map +1 -0
  303. package/esm/utils/once-connected.d.mts +150 -0
  304. package/esm/utils/once-connected.d.mts.map +1 -0
  305. package/esm/utils/once-connected.mjs +203 -0
  306. package/esm/utils/once-connected.mjs.map +1 -0
  307. package/esm/validation/database-seal-plugins.d.mts +1 -0
  308. package/esm/validation/database-seal-plugins.mjs +11 -0
  309. package/esm/validation/database-seal-plugins.mjs.map +1 -0
  310. package/esm/validation/database-writer-validation-error.d.mts +101 -0
  311. package/esm/validation/database-writer-validation-error.d.mts.map +1 -0
  312. package/esm/validation/database-writer-validation-error.mjs +153 -0
  313. package/esm/validation/database-writer-validation-error.mjs.map +1 -0
  314. package/esm/validation/index.d.mts +2 -0
  315. package/esm/validation/index.mjs +4 -0
  316. package/esm/validation/mutators/embed-mutator.mjs +26 -0
  317. package/esm/validation/mutators/embed-mutator.mjs.map +1 -0
  318. package/esm/validation/plugins/database-rules-plugin.d.mts +28 -0
  319. package/esm/validation/plugins/database-rules-plugin.d.mts.map +1 -0
  320. package/esm/validation/plugins/database-rules-plugin.mjs +43 -0
  321. package/esm/validation/plugins/database-rules-plugin.mjs.map +1 -0
  322. package/esm/validation/plugins/embed-validator-plugin.d.mts +17 -0
  323. package/esm/validation/plugins/embed-validator-plugin.d.mts.map +1 -0
  324. package/esm/validation/plugins/embed-validator-plugin.mjs +20 -0
  325. package/esm/validation/plugins/embed-validator-plugin.mjs.map +1 -0
  326. package/esm/validation/rules/database-model-rule.mjs +32 -0
  327. package/esm/validation/rules/database-model-rule.mjs.map +1 -0
  328. package/esm/validation/rules/exists-rule.mjs +29 -0
  329. package/esm/validation/rules/exists-rule.mjs.map +1 -0
  330. package/esm/validation/rules/unique-rule.mjs +43 -0
  331. package/esm/validation/rules/unique-rule.mjs.map +1 -0
  332. package/esm/validation/transformers/embed-model-transformer.mjs +17 -0
  333. package/esm/validation/transformers/embed-model-transformer.mjs.map +1 -0
  334. package/esm/validation/types.d.mts +43 -0
  335. package/esm/validation/types.d.mts.map +1 -0
  336. package/esm/validation/validators/embed-validator.d.mts +25 -0
  337. package/esm/validation/validators/embed-validator.d.mts.map +1 -0
  338. package/esm/validation/validators/embed-validator.mjs +42 -0
  339. package/esm/validation/validators/embed-validator.mjs.map +1 -0
  340. package/esm/writer/database-writer.d.mts +178 -0
  341. package/esm/writer/database-writer.d.mts.map +1 -0
  342. package/esm/writer/database-writer.mjs +317 -0
  343. package/esm/writer/database-writer.mjs.map +1 -0
  344. package/llms-full.txt +2027 -0
  345. package/llms.txt +23 -0
  346. package/package.json +60 -51
  347. package/skills/README.md +65 -0
  348. package/skills/aggregate-data/SKILL.md +102 -0
  349. package/skills/cascade-basics/SKILL.md +93 -0
  350. package/skills/configure-delete-strategy/SKILL.md +126 -0
  351. package/skills/define-model/SKILL.md +170 -0
  352. package/skills/define-relations/SKILL.md +171 -0
  353. package/skills/manage-data-sources/SKILL.md +140 -0
  354. package/skills/manage-transactions/SKILL.md +118 -0
  355. package/skills/paginate-results/SKILL.md +122 -0
  356. package/skills/perform-atomic-ops/SKILL.md +98 -0
  357. package/skills/query-data/SKILL.md +168 -0
  358. package/skills/run-cascade-cli/SKILL.md +125 -0
  359. package/skills/search-by-vector/SKILL.md +127 -0
  360. package/skills/subscribe-to-model-events/SKILL.md +148 -0
  361. package/skills/track-changes/SKILL.md +109 -0
  362. package/skills/write-migration/SKILL.md +144 -0
  363. package/cjs/context/database-data-source-context.d.ts +0 -29
  364. package/cjs/context/database-data-source-context.d.ts.map +0 -1
  365. package/cjs/context/database-data-source-context.js +0 -28
  366. package/cjs/context/database-data-source-context.js.map +0 -1
  367. package/cjs/context/database-transaction-context.d.ts +0 -35
  368. package/cjs/context/database-transaction-context.d.ts.map +0 -1
  369. package/cjs/context/database-transaction-context.js +0 -40
  370. package/cjs/context/database-transaction-context.js.map +0 -1
  371. package/cjs/contracts/database-driver.contract.d.ts +0 -450
  372. package/cjs/contracts/database-driver.contract.d.ts.map +0 -1
  373. package/cjs/contracts/database-id-generator.contract.d.ts +0 -109
  374. package/cjs/contracts/database-id-generator.contract.d.ts.map +0 -1
  375. package/cjs/contracts/database-remover.contract.d.ts +0 -104
  376. package/cjs/contracts/database-remover.contract.d.ts.map +0 -1
  377. package/cjs/contracts/database-restorer.contract.d.ts +0 -143
  378. package/cjs/contracts/database-restorer.contract.d.ts.map +0 -1
  379. package/cjs/contracts/database-writer.contract.d.ts +0 -119
  380. package/cjs/contracts/database-writer.contract.d.ts.map +0 -1
  381. package/cjs/contracts/driver-blueprint.contract.d.ts +0 -49
  382. package/cjs/contracts/driver-blueprint.contract.d.ts.map +0 -1
  383. package/cjs/contracts/index.d.ts +0 -10
  384. package/cjs/contracts/index.d.ts.map +0 -1
  385. package/cjs/contracts/migration-driver.contract.d.ts +0 -522
  386. package/cjs/contracts/migration-driver.contract.d.ts.map +0 -1
  387. package/cjs/contracts/query-builder.contract.d.ts +0 -1609
  388. package/cjs/contracts/query-builder.contract.d.ts.map +0 -1
  389. package/cjs/contracts/sync-adapter.contract.d.ts +0 -58
  390. package/cjs/contracts/sync-adapter.contract.d.ts.map +0 -1
  391. package/cjs/data-source/data-source-registry.d.ts +0 -108
  392. package/cjs/data-source/data-source-registry.d.ts.map +0 -1
  393. package/cjs/data-source/data-source-registry.js +0 -145
  394. package/cjs/data-source/data-source-registry.js.map +0 -1
  395. package/cjs/data-source/data-source.d.ts +0 -147
  396. package/cjs/data-source/data-source.d.ts.map +0 -1
  397. package/cjs/data-source/data-source.js +0 -83
  398. package/cjs/data-source/data-source.js.map +0 -1
  399. package/cjs/database-dirty-tracker.d.ts +0 -252
  400. package/cjs/database-dirty-tracker.d.ts.map +0 -1
  401. package/cjs/database-dirty-tracker.js +0 -386
  402. package/cjs/database-dirty-tracker.js.map +0 -1
  403. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
  404. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
  405. package/cjs/drivers/mongodb/mongodb-blueprint.js +0 -51
  406. package/cjs/drivers/mongodb/mongodb-blueprint.js.map +0 -1
  407. package/cjs/drivers/mongodb/mongodb-driver.d.ts +0 -325
  408. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
  409. package/cjs/drivers/mongodb/mongodb-driver.js +0 -845
  410. package/cjs/drivers/mongodb/mongodb-driver.js.map +0 -1
  411. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
  412. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
  413. package/cjs/drivers/mongodb/mongodb-id-generator.js +0 -149
  414. package/cjs/drivers/mongodb/mongodb-id-generator.js.map +0 -1
  415. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
  416. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
  417. package/cjs/drivers/mongodb/mongodb-migration-driver.js +0 -666
  418. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
  419. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
  420. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
  421. package/cjs/drivers/mongodb/mongodb-query-builder.js +0 -1988
  422. package/cjs/drivers/mongodb/mongodb-query-builder.js.map +0 -1
  423. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
  424. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
  425. package/cjs/drivers/mongodb/mongodb-query-operations.js +0 -270
  426. package/cjs/drivers/mongodb/mongodb-query-operations.js.map +0 -1
  427. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
  428. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
  429. package/cjs/drivers/mongodb/mongodb-query-parser.js +0 -1351
  430. package/cjs/drivers/mongodb/mongodb-query-parser.js.map +0 -1
  431. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
  432. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
  433. package/cjs/drivers/mongodb/mongodb-sync-adapter.js +0 -146
  434. package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
  435. package/cjs/drivers/mongodb/types.d.ts +0 -43
  436. package/cjs/drivers/mongodb/types.d.ts.map +0 -1
  437. package/cjs/drivers/postgres/index.d.ts +0 -16
  438. package/cjs/drivers/postgres/index.d.ts.map +0 -1
  439. package/cjs/drivers/postgres/postgres-blueprint.d.ts +0 -64
  440. package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
  441. package/cjs/drivers/postgres/postgres-blueprint.js +0 -121
  442. package/cjs/drivers/postgres/postgres-blueprint.js.map +0 -1
  443. package/cjs/drivers/postgres/postgres-dialect.d.ts +0 -136
  444. package/cjs/drivers/postgres/postgres-dialect.d.ts.map +0 -1
  445. package/cjs/drivers/postgres/postgres-dialect.js +0 -268
  446. package/cjs/drivers/postgres/postgres-dialect.js.map +0 -1
  447. package/cjs/drivers/postgres/postgres-driver.d.ts +0 -432
  448. package/cjs/drivers/postgres/postgres-driver.d.ts.map +0 -1
  449. package/cjs/drivers/postgres/postgres-driver.js +0 -1008
  450. package/cjs/drivers/postgres/postgres-driver.js.map +0 -1
  451. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +0 -397
  452. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
  453. package/cjs/drivers/postgres/postgres-migration-driver.js +0 -900
  454. package/cjs/drivers/postgres/postgres-migration-driver.js.map +0 -1
  455. package/cjs/drivers/postgres/postgres-query-builder.d.ts +0 -254
  456. package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
  457. package/cjs/drivers/postgres/postgres-query-builder.js +0 -933
  458. package/cjs/drivers/postgres/postgres-query-builder.js.map +0 -1
  459. package/cjs/drivers/postgres/postgres-query-parser.d.ts +0 -328
  460. package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
  461. package/cjs/drivers/postgres/postgres-query-parser.js +0 -868
  462. package/cjs/drivers/postgres/postgres-query-parser.js.map +0 -1
  463. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
  464. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
  465. package/cjs/drivers/postgres/postgres-sql-serializer.js +0 -400
  466. package/cjs/drivers/postgres/postgres-sql-serializer.js.map +0 -1
  467. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
  468. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
  469. package/cjs/drivers/postgres/postgres-sync-adapter.js +0 -204
  470. package/cjs/drivers/postgres/postgres-sync-adapter.js.map +0 -1
  471. package/cjs/drivers/postgres/types.d.ts +0 -144
  472. package/cjs/drivers/postgres/types.d.ts.map +0 -1
  473. package/cjs/drivers/sql/index.d.ts +0 -10
  474. package/cjs/drivers/sql/index.d.ts.map +0 -1
  475. package/cjs/drivers/sql/sql-dialect.contract.d.ts +0 -204
  476. package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
  477. package/cjs/drivers/sql/sql-types.d.ts +0 -202
  478. package/cjs/drivers/sql/sql-types.d.ts.map +0 -1
  479. package/cjs/errors/missing-data-source.error.d.ts +0 -22
  480. package/cjs/errors/missing-data-source.error.d.ts.map +0 -1
  481. package/cjs/errors/missing-data-source.error.js +0 -29
  482. package/cjs/errors/missing-data-source.error.js.map +0 -1
  483. package/cjs/errors/transaction-rollback.error.d.ts +0 -20
  484. package/cjs/errors/transaction-rollback.error.d.ts.map +0 -1
  485. package/cjs/errors/transaction-rollback.error.js +0 -27
  486. package/cjs/errors/transaction-rollback.error.js.map +0 -1
  487. package/cjs/events/model-events.d.ts +0 -231
  488. package/cjs/events/model-events.d.ts.map +0 -1
  489. package/cjs/events/model-events.js +0 -259
  490. package/cjs/events/model-events.js.map +0 -1
  491. package/cjs/expressions/aggregate-expressions.d.ts +0 -215
  492. package/cjs/expressions/aggregate-expressions.d.ts.map +0 -1
  493. package/cjs/expressions/aggregate-expressions.js +0 -221
  494. package/cjs/expressions/aggregate-expressions.js.map +0 -1
  495. package/cjs/expressions/index.d.ts +0 -2
  496. package/cjs/expressions/index.d.ts.map +0 -1
  497. package/cjs/index.d.ts +0 -45
  498. package/cjs/index.d.ts.map +0 -1
  499. package/cjs/index.js +0 -1
  500. package/cjs/index.js.map +0 -1
  501. package/cjs/migration/column-builder.d.ts +0 -417
  502. package/cjs/migration/column-builder.d.ts.map +0 -1
  503. package/cjs/migration/column-builder.js +0 -586
  504. package/cjs/migration/column-builder.js.map +0 -1
  505. package/cjs/migration/column-helpers.d.ts +0 -275
  506. package/cjs/migration/column-helpers.d.ts.map +0 -1
  507. package/cjs/migration/column-helpers.js +0 -389
  508. package/cjs/migration/column-helpers.js.map +0 -1
  509. package/cjs/migration/foreign-key-builder.d.ts +0 -103
  510. package/cjs/migration/foreign-key-builder.d.ts.map +0 -1
  511. package/cjs/migration/foreign-key-builder.js +0 -121
  512. package/cjs/migration/foreign-key-builder.js.map +0 -1
  513. package/cjs/migration/index.d.ts +0 -7
  514. package/cjs/migration/index.d.ts.map +0 -1
  515. package/cjs/migration/migration-runner.d.ts +0 -278
  516. package/cjs/migration/migration-runner.d.ts.map +0 -1
  517. package/cjs/migration/migration-runner.js +0 -815
  518. package/cjs/migration/migration-runner.js.map +0 -1
  519. package/cjs/migration/migration.d.ts +0 -1988
  520. package/cjs/migration/migration.d.ts.map +0 -1
  521. package/cjs/migration/migration.js +0 -2162
  522. package/cjs/migration/migration.js.map +0 -1
  523. package/cjs/migration/sql-grammar.d.ts +0 -61
  524. package/cjs/migration/sql-grammar.d.ts.map +0 -1
  525. package/cjs/migration/sql-grammar.js +0 -164
  526. package/cjs/migration/sql-grammar.js.map +0 -1
  527. package/cjs/migration/sql-serializer.d.ts +0 -22
  528. package/cjs/migration/sql-serializer.d.ts.map +0 -1
  529. package/cjs/migration/sql-serializer.js +0 -26
  530. package/cjs/migration/sql-serializer.js.map +0 -1
  531. package/cjs/migration/types.d.ts +0 -155
  532. package/cjs/migration/types.d.ts.map +0 -1
  533. package/cjs/model/methods/accessor-methods.d.ts +0 -13
  534. package/cjs/model/methods/accessor-methods.d.ts.map +0 -1
  535. package/cjs/model/methods/accessor-methods.js +0 -51
  536. package/cjs/model/methods/accessor-methods.js.map +0 -1
  537. package/cjs/model/methods/delete-methods.d.ts +0 -10
  538. package/cjs/model/methods/delete-methods.d.ts.map +0 -1
  539. package/cjs/model/methods/delete-methods.js +0 -10
  540. package/cjs/model/methods/delete-methods.js.map +0 -1
  541. package/cjs/model/methods/dirty-methods.d.ts +0 -10
  542. package/cjs/model/methods/dirty-methods.d.ts.map +0 -1
  543. package/cjs/model/methods/dirty-methods.js +0 -15
  544. package/cjs/model/methods/dirty-methods.js.map +0 -1
  545. package/cjs/model/methods/hydration-methods.d.ts +0 -10
  546. package/cjs/model/methods/hydration-methods.d.ts.map +0 -1
  547. package/cjs/model/methods/hydration-methods.js +0 -57
  548. package/cjs/model/methods/hydration-methods.js.map +0 -1
  549. package/cjs/model/methods/instance-event-methods.d.ts +0 -7
  550. package/cjs/model/methods/instance-event-methods.d.ts.map +0 -1
  551. package/cjs/model/methods/instance-event-methods.js +0 -15
  552. package/cjs/model/methods/instance-event-methods.js.map +0 -1
  553. package/cjs/model/methods/meta-methods.d.ts +0 -7
  554. package/cjs/model/methods/meta-methods.d.ts.map +0 -1
  555. package/cjs/model/methods/meta-methods.js +0 -78
  556. package/cjs/model/methods/meta-methods.js.map +0 -1
  557. package/cjs/model/methods/query-methods.d.ts +0 -24
  558. package/cjs/model/methods/query-methods.d.ts.map +0 -1
  559. package/cjs/model/methods/query-methods.js +0 -164
  560. package/cjs/model/methods/query-methods.js.map +0 -1
  561. package/cjs/model/methods/restore-methods.d.ts +0 -10
  562. package/cjs/model/methods/restore-methods.d.ts.map +0 -1
  563. package/cjs/model/methods/restore-methods.js +0 -13
  564. package/cjs/model/methods/restore-methods.js.map +0 -1
  565. package/cjs/model/methods/scope-methods.d.ts +0 -7
  566. package/cjs/model/methods/scope-methods.d.ts.map +0 -1
  567. package/cjs/model/methods/scope-methods.js +0 -15
  568. package/cjs/model/methods/scope-methods.js.map +0 -1
  569. package/cjs/model/methods/serialization-methods.d.ts +0 -3
  570. package/cjs/model/methods/serialization-methods.d.ts.map +0 -1
  571. package/cjs/model/methods/serialization-methods.js +0 -27
  572. package/cjs/model/methods/serialization-methods.js.map +0 -1
  573. package/cjs/model/methods/static-event-methods.d.ts +0 -9
  574. package/cjs/model/methods/static-event-methods.d.ts.map +0 -1
  575. package/cjs/model/methods/static-event-methods.js +0 -29
  576. package/cjs/model/methods/static-event-methods.js.map +0 -1
  577. package/cjs/model/methods/write-methods.d.ts +0 -10
  578. package/cjs/model/methods/write-methods.d.ts.map +0 -1
  579. package/cjs/model/methods/write-methods.js +0 -52
  580. package/cjs/model/methods/write-methods.js.map +0 -1
  581. package/cjs/model/model.d.ts +0 -1647
  582. package/cjs/model/model.d.ts.map +0 -1
  583. package/cjs/model/model.js +0 -1657
  584. package/cjs/model/model.js.map +0 -1
  585. package/cjs/model/model.types.d.ts +0 -44
  586. package/cjs/model/model.types.d.ts.map +0 -1
  587. package/cjs/model/register-model.d.ts +0 -81
  588. package/cjs/model/register-model.d.ts.map +0 -1
  589. package/cjs/model/register-model.js +0 -94
  590. package/cjs/model/register-model.js.map +0 -1
  591. package/cjs/query-builder/query-builder.d.ts +0 -556
  592. package/cjs/query-builder/query-builder.d.ts.map +0 -1
  593. package/cjs/query-builder/query-builder.js +0 -1070
  594. package/cjs/query-builder/query-builder.js.map +0 -1
  595. package/cjs/relations/helpers.d.ts +0 -156
  596. package/cjs/relations/helpers.d.ts.map +0 -1
  597. package/cjs/relations/helpers.js +0 -202
  598. package/cjs/relations/helpers.js.map +0 -1
  599. package/cjs/relations/index.d.ts +0 -35
  600. package/cjs/relations/index.d.ts.map +0 -1
  601. package/cjs/relations/pivot-operations.d.ts +0 -160
  602. package/cjs/relations/pivot-operations.d.ts.map +0 -1
  603. package/cjs/relations/pivot-operations.js +0 -293
  604. package/cjs/relations/pivot-operations.js.map +0 -1
  605. package/cjs/relations/relation-hydrator.d.ts +0 -68
  606. package/cjs/relations/relation-hydrator.d.ts.map +0 -1
  607. package/cjs/relations/relation-hydrator.js +0 -81
  608. package/cjs/relations/relation-hydrator.js.map +0 -1
  609. package/cjs/relations/relation-loader.d.ts +0 -194
  610. package/cjs/relations/relation-loader.d.ts.map +0 -1
  611. package/cjs/relations/relation-loader.js +0 -466
  612. package/cjs/relations/relation-loader.js.map +0 -1
  613. package/cjs/relations/types.d.ts +0 -306
  614. package/cjs/relations/types.d.ts.map +0 -1
  615. package/cjs/remover/database-remover.d.ts +0 -100
  616. package/cjs/remover/database-remover.d.ts.map +0 -1
  617. package/cjs/remover/database-remover.js +0 -214
  618. package/cjs/remover/database-remover.js.map +0 -1
  619. package/cjs/restorer/database-restorer.d.ts +0 -131
  620. package/cjs/restorer/database-restorer.d.ts.map +0 -1
  621. package/cjs/restorer/database-restorer.js +0 -434
  622. package/cjs/restorer/database-restorer.js.map +0 -1
  623. package/cjs/sql-database-dirty-tracker.d.ts +0 -13
  624. package/cjs/sql-database-dirty-tracker.d.ts.map +0 -1
  625. package/cjs/sql-database-dirty-tracker.js +0 -14
  626. package/cjs/sql-database-dirty-tracker.js.map +0 -1
  627. package/cjs/sync/index.d.ts +0 -12
  628. package/cjs/sync/index.d.ts.map +0 -1
  629. package/cjs/sync/model-events.d.ts +0 -62
  630. package/cjs/sync/model-events.d.ts.map +0 -1
  631. package/cjs/sync/model-events.js +0 -49
  632. package/cjs/sync/model-events.js.map +0 -1
  633. package/cjs/sync/model-sync-operation.d.ts +0 -163
  634. package/cjs/sync/model-sync-operation.d.ts.map +0 -1
  635. package/cjs/sync/model-sync-operation.js +0 -292
  636. package/cjs/sync/model-sync-operation.js.map +0 -1
  637. package/cjs/sync/model-sync.d.ts +0 -130
  638. package/cjs/sync/model-sync.d.ts.map +0 -1
  639. package/cjs/sync/model-sync.js +0 -178
  640. package/cjs/sync/model-sync.js.map +0 -1
  641. package/cjs/sync/sync-context.d.ts +0 -70
  642. package/cjs/sync/sync-context.d.ts.map +0 -1
  643. package/cjs/sync/sync-context.js +0 -101
  644. package/cjs/sync/sync-context.js.map +0 -1
  645. package/cjs/sync/sync-manager.d.ts +0 -213
  646. package/cjs/sync/sync-manager.d.ts.map +0 -1
  647. package/cjs/sync/sync-manager.js +0 -689
  648. package/cjs/sync/sync-manager.js.map +0 -1
  649. package/cjs/sync/types.d.ts +0 -289
  650. package/cjs/sync/types.d.ts.map +0 -1
  651. package/cjs/test-migrations/test-enhanced-features.migration.d.ts +0 -15
  652. package/cjs/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
  653. package/cjs/types.d.ts +0 -371
  654. package/cjs/types.d.ts.map +0 -1
  655. package/cjs/utils/connect-to-database.d.ts +0 -307
  656. package/cjs/utils/connect-to-database.d.ts.map +0 -1
  657. package/cjs/utils/connect-to-database.js +0 -130
  658. package/cjs/utils/connect-to-database.js.map +0 -1
  659. package/cjs/utils/database-writer.utils.d.ts +0 -15
  660. package/cjs/utils/database-writer.utils.d.ts.map +0 -1
  661. package/cjs/utils/database-writer.utils.js +0 -14
  662. package/cjs/utils/database-writer.utils.js.map +0 -1
  663. package/cjs/utils/define-model.js +0 -100
  664. package/cjs/utils/define-model.js.map +0 -1
  665. package/cjs/utils/is-valid-date-value.d.ts +0 -5
  666. package/cjs/utils/is-valid-date-value.d.ts.map +0 -1
  667. package/cjs/utils/is-valid-date-value.js +0 -25
  668. package/cjs/utils/is-valid-date-value.js.map +0 -1
  669. package/cjs/utils/once-connected.d.ts +0 -146
  670. package/cjs/utils/once-connected.d.ts.map +0 -1
  671. package/cjs/utils/once-connected.js +0 -251
  672. package/cjs/utils/once-connected.js.map +0 -1
  673. package/cjs/validation/database-seal-plugins.d.ts +0 -12
  674. package/cjs/validation/database-seal-plugins.d.ts.map +0 -1
  675. package/cjs/validation/database-seal-plugins.js +0 -1
  676. package/cjs/validation/database-seal-plugins.js.map +0 -1
  677. package/cjs/validation/database-writer-validation-error.d.ts +0 -97
  678. package/cjs/validation/database-writer-validation-error.d.ts.map +0 -1
  679. package/cjs/validation/database-writer-validation-error.js +0 -160
  680. package/cjs/validation/database-writer-validation-error.js.map +0 -1
  681. package/cjs/validation/index.d.ts +0 -3
  682. package/cjs/validation/index.d.ts.map +0 -1
  683. package/cjs/validation/mutators/embed-mutator.d.ts +0 -9
  684. package/cjs/validation/mutators/embed-mutator.d.ts.map +0 -1
  685. package/cjs/validation/mutators/embed-mutator.js +0 -33
  686. package/cjs/validation/mutators/embed-mutator.js.map +0 -1
  687. package/cjs/validation/plugins/embed-validator-plugin.d.ts +0 -24
  688. package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
  689. package/cjs/validation/plugins/embed-validator-plugin.js +0 -18
  690. package/cjs/validation/plugins/embed-validator-plugin.js.map +0 -1
  691. package/cjs/validation/rules/database-model-rule.d.ts +0 -7
  692. package/cjs/validation/rules/database-model-rule.d.ts.map +0 -1
  693. package/cjs/validation/rules/database-model-rule.js +0 -27
  694. package/cjs/validation/rules/database-model-rule.js.map +0 -1
  695. package/cjs/validation/transformers/embed-model-transformer.d.ts +0 -3
  696. package/cjs/validation/transformers/embed-model-transformer.d.ts.map +0 -1
  697. package/cjs/validation/transformers/embed-model-transformer.js +0 -18
  698. package/cjs/validation/transformers/embed-model-transformer.js.map +0 -1
  699. package/cjs/validation/validators/embed-validator.d.ts +0 -21
  700. package/cjs/validation/validators/embed-validator.d.ts.map +0 -1
  701. package/cjs/validation/validators/embed-validator.js +0 -43
  702. package/cjs/validation/validators/embed-validator.js.map +0 -1
  703. package/cjs/writer/database-writer.d.ts +0 -174
  704. package/cjs/writer/database-writer.d.ts.map +0 -1
  705. package/cjs/writer/database-writer.js +0 -400
  706. package/cjs/writer/database-writer.js.map +0 -1
  707. package/esm/context/database-data-source-context.d.ts +0 -29
  708. package/esm/context/database-data-source-context.d.ts.map +0 -1
  709. package/esm/context/database-data-source-context.js +0 -28
  710. package/esm/context/database-data-source-context.js.map +0 -1
  711. package/esm/context/database-transaction-context.d.ts +0 -35
  712. package/esm/context/database-transaction-context.d.ts.map +0 -1
  713. package/esm/context/database-transaction-context.js +0 -40
  714. package/esm/context/database-transaction-context.js.map +0 -1
  715. package/esm/contracts/database-driver.contract.d.ts +0 -450
  716. package/esm/contracts/database-driver.contract.d.ts.map +0 -1
  717. package/esm/contracts/database-id-generator.contract.d.ts +0 -109
  718. package/esm/contracts/database-id-generator.contract.d.ts.map +0 -1
  719. package/esm/contracts/database-remover.contract.d.ts +0 -104
  720. package/esm/contracts/database-remover.contract.d.ts.map +0 -1
  721. package/esm/contracts/database-restorer.contract.d.ts +0 -143
  722. package/esm/contracts/database-restorer.contract.d.ts.map +0 -1
  723. package/esm/contracts/database-writer.contract.d.ts +0 -119
  724. package/esm/contracts/database-writer.contract.d.ts.map +0 -1
  725. package/esm/contracts/driver-blueprint.contract.d.ts +0 -49
  726. package/esm/contracts/driver-blueprint.contract.d.ts.map +0 -1
  727. package/esm/contracts/index.d.ts +0 -10
  728. package/esm/contracts/index.d.ts.map +0 -1
  729. package/esm/contracts/migration-driver.contract.d.ts +0 -522
  730. package/esm/contracts/migration-driver.contract.d.ts.map +0 -1
  731. package/esm/contracts/query-builder.contract.d.ts +0 -1609
  732. package/esm/contracts/query-builder.contract.d.ts.map +0 -1
  733. package/esm/contracts/sync-adapter.contract.d.ts +0 -58
  734. package/esm/contracts/sync-adapter.contract.d.ts.map +0 -1
  735. package/esm/data-source/data-source-registry.d.ts +0 -108
  736. package/esm/data-source/data-source-registry.d.ts.map +0 -1
  737. package/esm/data-source/data-source-registry.js +0 -145
  738. package/esm/data-source/data-source-registry.js.map +0 -1
  739. package/esm/data-source/data-source.d.ts +0 -147
  740. package/esm/data-source/data-source.d.ts.map +0 -1
  741. package/esm/data-source/data-source.js +0 -83
  742. package/esm/data-source/data-source.js.map +0 -1
  743. package/esm/database-dirty-tracker.d.ts +0 -252
  744. package/esm/database-dirty-tracker.d.ts.map +0 -1
  745. package/esm/database-dirty-tracker.js +0 -386
  746. package/esm/database-dirty-tracker.js.map +0 -1
  747. package/esm/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
  748. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
  749. package/esm/drivers/mongodb/mongodb-blueprint.js +0 -51
  750. package/esm/drivers/mongodb/mongodb-blueprint.js.map +0 -1
  751. package/esm/drivers/mongodb/mongodb-driver.d.ts +0 -325
  752. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
  753. package/esm/drivers/mongodb/mongodb-driver.js +0 -845
  754. package/esm/drivers/mongodb/mongodb-driver.js.map +0 -1
  755. package/esm/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
  756. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
  757. package/esm/drivers/mongodb/mongodb-id-generator.js +0 -149
  758. package/esm/drivers/mongodb/mongodb-id-generator.js.map +0 -1
  759. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
  760. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
  761. package/esm/drivers/mongodb/mongodb-migration-driver.js +0 -666
  762. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
  763. package/esm/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
  764. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
  765. package/esm/drivers/mongodb/mongodb-query-builder.js +0 -1988
  766. package/esm/drivers/mongodb/mongodb-query-builder.js.map +0 -1
  767. package/esm/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
  768. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
  769. package/esm/drivers/mongodb/mongodb-query-operations.js +0 -270
  770. package/esm/drivers/mongodb/mongodb-query-operations.js.map +0 -1
  771. package/esm/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
  772. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
  773. package/esm/drivers/mongodb/mongodb-query-parser.js +0 -1351
  774. package/esm/drivers/mongodb/mongodb-query-parser.js.map +0 -1
  775. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
  776. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
  777. package/esm/drivers/mongodb/mongodb-sync-adapter.js +0 -146
  778. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
  779. package/esm/drivers/mongodb/types.d.ts +0 -43
  780. package/esm/drivers/mongodb/types.d.ts.map +0 -1
  781. package/esm/drivers/postgres/index.d.ts +0 -16
  782. package/esm/drivers/postgres/index.d.ts.map +0 -1
  783. package/esm/drivers/postgres/postgres-blueprint.d.ts +0 -64
  784. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
  785. package/esm/drivers/postgres/postgres-blueprint.js +0 -121
  786. package/esm/drivers/postgres/postgres-blueprint.js.map +0 -1
  787. package/esm/drivers/postgres/postgres-dialect.d.ts +0 -136
  788. package/esm/drivers/postgres/postgres-dialect.d.ts.map +0 -1
  789. package/esm/drivers/postgres/postgres-dialect.js +0 -268
  790. package/esm/drivers/postgres/postgres-dialect.js.map +0 -1
  791. package/esm/drivers/postgres/postgres-driver.d.ts +0 -432
  792. package/esm/drivers/postgres/postgres-driver.d.ts.map +0 -1
  793. package/esm/drivers/postgres/postgres-driver.js +0 -1008
  794. package/esm/drivers/postgres/postgres-driver.js.map +0 -1
  795. package/esm/drivers/postgres/postgres-migration-driver.d.ts +0 -397
  796. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
  797. package/esm/drivers/postgres/postgres-migration-driver.js +0 -900
  798. package/esm/drivers/postgres/postgres-migration-driver.js.map +0 -1
  799. package/esm/drivers/postgres/postgres-query-builder.d.ts +0 -254
  800. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
  801. package/esm/drivers/postgres/postgres-query-builder.js +0 -933
  802. package/esm/drivers/postgres/postgres-query-builder.js.map +0 -1
  803. package/esm/drivers/postgres/postgres-query-parser.d.ts +0 -328
  804. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
  805. package/esm/drivers/postgres/postgres-query-parser.js +0 -868
  806. package/esm/drivers/postgres/postgres-query-parser.js.map +0 -1
  807. package/esm/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
  808. package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
  809. package/esm/drivers/postgres/postgres-sql-serializer.js +0 -400
  810. package/esm/drivers/postgres/postgres-sql-serializer.js.map +0 -1
  811. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
  812. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
  813. package/esm/drivers/postgres/postgres-sync-adapter.js +0 -204
  814. package/esm/drivers/postgres/postgres-sync-adapter.js.map +0 -1
  815. package/esm/drivers/postgres/types.d.ts +0 -144
  816. package/esm/drivers/postgres/types.d.ts.map +0 -1
  817. package/esm/drivers/sql/index.d.ts +0 -10
  818. package/esm/drivers/sql/index.d.ts.map +0 -1
  819. package/esm/drivers/sql/sql-dialect.contract.d.ts +0 -204
  820. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
  821. package/esm/drivers/sql/sql-types.d.ts +0 -202
  822. package/esm/drivers/sql/sql-types.d.ts.map +0 -1
  823. package/esm/errors/missing-data-source.error.d.ts +0 -22
  824. package/esm/errors/missing-data-source.error.d.ts.map +0 -1
  825. package/esm/errors/missing-data-source.error.js +0 -29
  826. package/esm/errors/missing-data-source.error.js.map +0 -1
  827. package/esm/errors/transaction-rollback.error.d.ts +0 -20
  828. package/esm/errors/transaction-rollback.error.d.ts.map +0 -1
  829. package/esm/errors/transaction-rollback.error.js +0 -27
  830. package/esm/errors/transaction-rollback.error.js.map +0 -1
  831. package/esm/events/model-events.d.ts +0 -231
  832. package/esm/events/model-events.d.ts.map +0 -1
  833. package/esm/events/model-events.js +0 -259
  834. package/esm/events/model-events.js.map +0 -1
  835. package/esm/expressions/aggregate-expressions.d.ts +0 -215
  836. package/esm/expressions/aggregate-expressions.d.ts.map +0 -1
  837. package/esm/expressions/aggregate-expressions.js +0 -221
  838. package/esm/expressions/aggregate-expressions.js.map +0 -1
  839. package/esm/expressions/index.d.ts +0 -2
  840. package/esm/expressions/index.d.ts.map +0 -1
  841. package/esm/index.d.ts +0 -45
  842. package/esm/index.d.ts.map +0 -1
  843. package/esm/index.js +0 -1
  844. package/esm/index.js.map +0 -1
  845. package/esm/migration/column-builder.d.ts +0 -417
  846. package/esm/migration/column-builder.d.ts.map +0 -1
  847. package/esm/migration/column-builder.js +0 -586
  848. package/esm/migration/column-builder.js.map +0 -1
  849. package/esm/migration/column-helpers.d.ts +0 -275
  850. package/esm/migration/column-helpers.d.ts.map +0 -1
  851. package/esm/migration/column-helpers.js +0 -389
  852. package/esm/migration/column-helpers.js.map +0 -1
  853. package/esm/migration/foreign-key-builder.d.ts +0 -103
  854. package/esm/migration/foreign-key-builder.d.ts.map +0 -1
  855. package/esm/migration/foreign-key-builder.js +0 -121
  856. package/esm/migration/foreign-key-builder.js.map +0 -1
  857. package/esm/migration/index.d.ts +0 -7
  858. package/esm/migration/index.d.ts.map +0 -1
  859. package/esm/migration/migration-runner.d.ts +0 -278
  860. package/esm/migration/migration-runner.d.ts.map +0 -1
  861. package/esm/migration/migration-runner.js +0 -815
  862. package/esm/migration/migration-runner.js.map +0 -1
  863. package/esm/migration/migration.d.ts +0 -1988
  864. package/esm/migration/migration.d.ts.map +0 -1
  865. package/esm/migration/migration.js +0 -2162
  866. package/esm/migration/migration.js.map +0 -1
  867. package/esm/migration/sql-grammar.d.ts +0 -61
  868. package/esm/migration/sql-grammar.d.ts.map +0 -1
  869. package/esm/migration/sql-grammar.js +0 -164
  870. package/esm/migration/sql-grammar.js.map +0 -1
  871. package/esm/migration/sql-serializer.d.ts +0 -22
  872. package/esm/migration/sql-serializer.d.ts.map +0 -1
  873. package/esm/migration/sql-serializer.js +0 -26
  874. package/esm/migration/sql-serializer.js.map +0 -1
  875. package/esm/migration/types.d.ts +0 -155
  876. package/esm/migration/types.d.ts.map +0 -1
  877. package/esm/model/methods/accessor-methods.d.ts +0 -13
  878. package/esm/model/methods/accessor-methods.d.ts.map +0 -1
  879. package/esm/model/methods/accessor-methods.js +0 -51
  880. package/esm/model/methods/accessor-methods.js.map +0 -1
  881. package/esm/model/methods/delete-methods.d.ts +0 -10
  882. package/esm/model/methods/delete-methods.d.ts.map +0 -1
  883. package/esm/model/methods/delete-methods.js +0 -10
  884. package/esm/model/methods/delete-methods.js.map +0 -1
  885. package/esm/model/methods/dirty-methods.d.ts +0 -10
  886. package/esm/model/methods/dirty-methods.d.ts.map +0 -1
  887. package/esm/model/methods/dirty-methods.js +0 -15
  888. package/esm/model/methods/dirty-methods.js.map +0 -1
  889. package/esm/model/methods/hydration-methods.d.ts +0 -10
  890. package/esm/model/methods/hydration-methods.d.ts.map +0 -1
  891. package/esm/model/methods/hydration-methods.js +0 -57
  892. package/esm/model/methods/hydration-methods.js.map +0 -1
  893. package/esm/model/methods/instance-event-methods.d.ts +0 -7
  894. package/esm/model/methods/instance-event-methods.d.ts.map +0 -1
  895. package/esm/model/methods/instance-event-methods.js +0 -15
  896. package/esm/model/methods/instance-event-methods.js.map +0 -1
  897. package/esm/model/methods/meta-methods.d.ts +0 -7
  898. package/esm/model/methods/meta-methods.d.ts.map +0 -1
  899. package/esm/model/methods/meta-methods.js +0 -78
  900. package/esm/model/methods/meta-methods.js.map +0 -1
  901. package/esm/model/methods/query-methods.d.ts +0 -24
  902. package/esm/model/methods/query-methods.d.ts.map +0 -1
  903. package/esm/model/methods/query-methods.js +0 -164
  904. package/esm/model/methods/query-methods.js.map +0 -1
  905. package/esm/model/methods/restore-methods.d.ts +0 -10
  906. package/esm/model/methods/restore-methods.d.ts.map +0 -1
  907. package/esm/model/methods/restore-methods.js +0 -13
  908. package/esm/model/methods/restore-methods.js.map +0 -1
  909. package/esm/model/methods/scope-methods.d.ts +0 -7
  910. package/esm/model/methods/scope-methods.d.ts.map +0 -1
  911. package/esm/model/methods/scope-methods.js +0 -15
  912. package/esm/model/methods/scope-methods.js.map +0 -1
  913. package/esm/model/methods/serialization-methods.d.ts +0 -3
  914. package/esm/model/methods/serialization-methods.d.ts.map +0 -1
  915. package/esm/model/methods/serialization-methods.js +0 -27
  916. package/esm/model/methods/serialization-methods.js.map +0 -1
  917. package/esm/model/methods/static-event-methods.d.ts +0 -9
  918. package/esm/model/methods/static-event-methods.d.ts.map +0 -1
  919. package/esm/model/methods/static-event-methods.js +0 -29
  920. package/esm/model/methods/static-event-methods.js.map +0 -1
  921. package/esm/model/methods/write-methods.d.ts +0 -10
  922. package/esm/model/methods/write-methods.d.ts.map +0 -1
  923. package/esm/model/methods/write-methods.js +0 -52
  924. package/esm/model/methods/write-methods.js.map +0 -1
  925. package/esm/model/model.d.ts +0 -1647
  926. package/esm/model/model.d.ts.map +0 -1
  927. package/esm/model/model.js +0 -1657
  928. package/esm/model/model.js.map +0 -1
  929. package/esm/model/model.types.d.ts +0 -44
  930. package/esm/model/model.types.d.ts.map +0 -1
  931. package/esm/model/register-model.d.ts +0 -81
  932. package/esm/model/register-model.d.ts.map +0 -1
  933. package/esm/model/register-model.js +0 -94
  934. package/esm/model/register-model.js.map +0 -1
  935. package/esm/query-builder/query-builder.d.ts +0 -556
  936. package/esm/query-builder/query-builder.d.ts.map +0 -1
  937. package/esm/query-builder/query-builder.js +0 -1070
  938. package/esm/query-builder/query-builder.js.map +0 -1
  939. package/esm/relations/helpers.d.ts +0 -156
  940. package/esm/relations/helpers.d.ts.map +0 -1
  941. package/esm/relations/helpers.js +0 -202
  942. package/esm/relations/helpers.js.map +0 -1
  943. package/esm/relations/index.d.ts +0 -35
  944. package/esm/relations/index.d.ts.map +0 -1
  945. package/esm/relations/pivot-operations.d.ts +0 -160
  946. package/esm/relations/pivot-operations.d.ts.map +0 -1
  947. package/esm/relations/pivot-operations.js +0 -293
  948. package/esm/relations/pivot-operations.js.map +0 -1
  949. package/esm/relations/relation-hydrator.d.ts +0 -68
  950. package/esm/relations/relation-hydrator.d.ts.map +0 -1
  951. package/esm/relations/relation-hydrator.js +0 -81
  952. package/esm/relations/relation-hydrator.js.map +0 -1
  953. package/esm/relations/relation-loader.d.ts +0 -194
  954. package/esm/relations/relation-loader.d.ts.map +0 -1
  955. package/esm/relations/relation-loader.js +0 -466
  956. package/esm/relations/relation-loader.js.map +0 -1
  957. package/esm/relations/types.d.ts +0 -306
  958. package/esm/relations/types.d.ts.map +0 -1
  959. package/esm/remover/database-remover.d.ts +0 -100
  960. package/esm/remover/database-remover.d.ts.map +0 -1
  961. package/esm/remover/database-remover.js +0 -214
  962. package/esm/remover/database-remover.js.map +0 -1
  963. package/esm/restorer/database-restorer.d.ts +0 -131
  964. package/esm/restorer/database-restorer.d.ts.map +0 -1
  965. package/esm/restorer/database-restorer.js +0 -434
  966. package/esm/restorer/database-restorer.js.map +0 -1
  967. package/esm/sql-database-dirty-tracker.d.ts +0 -13
  968. package/esm/sql-database-dirty-tracker.d.ts.map +0 -1
  969. package/esm/sql-database-dirty-tracker.js +0 -14
  970. package/esm/sql-database-dirty-tracker.js.map +0 -1
  971. package/esm/sync/index.d.ts +0 -12
  972. package/esm/sync/index.d.ts.map +0 -1
  973. package/esm/sync/model-events.d.ts +0 -62
  974. package/esm/sync/model-events.d.ts.map +0 -1
  975. package/esm/sync/model-events.js +0 -49
  976. package/esm/sync/model-events.js.map +0 -1
  977. package/esm/sync/model-sync-operation.d.ts +0 -163
  978. package/esm/sync/model-sync-operation.d.ts.map +0 -1
  979. package/esm/sync/model-sync-operation.js +0 -292
  980. package/esm/sync/model-sync-operation.js.map +0 -1
  981. package/esm/sync/model-sync.d.ts +0 -130
  982. package/esm/sync/model-sync.d.ts.map +0 -1
  983. package/esm/sync/model-sync.js +0 -178
  984. package/esm/sync/model-sync.js.map +0 -1
  985. package/esm/sync/sync-context.d.ts +0 -70
  986. package/esm/sync/sync-context.d.ts.map +0 -1
  987. package/esm/sync/sync-context.js +0 -101
  988. package/esm/sync/sync-context.js.map +0 -1
  989. package/esm/sync/sync-manager.d.ts +0 -213
  990. package/esm/sync/sync-manager.d.ts.map +0 -1
  991. package/esm/sync/sync-manager.js +0 -689
  992. package/esm/sync/sync-manager.js.map +0 -1
  993. package/esm/sync/types.d.ts +0 -289
  994. package/esm/sync/types.d.ts.map +0 -1
  995. package/esm/test-migrations/test-enhanced-features.migration.d.ts +0 -15
  996. package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
  997. package/esm/types.d.ts +0 -371
  998. package/esm/types.d.ts.map +0 -1
  999. package/esm/utils/connect-to-database.d.ts +0 -307
  1000. package/esm/utils/connect-to-database.d.ts.map +0 -1
  1001. package/esm/utils/connect-to-database.js +0 -130
  1002. package/esm/utils/connect-to-database.js.map +0 -1
  1003. package/esm/utils/database-writer.utils.d.ts +0 -15
  1004. package/esm/utils/database-writer.utils.d.ts.map +0 -1
  1005. package/esm/utils/database-writer.utils.js +0 -14
  1006. package/esm/utils/database-writer.utils.js.map +0 -1
  1007. package/esm/utils/define-model.js +0 -100
  1008. package/esm/utils/define-model.js.map +0 -1
  1009. package/esm/utils/is-valid-date-value.d.ts +0 -5
  1010. package/esm/utils/is-valid-date-value.d.ts.map +0 -1
  1011. package/esm/utils/is-valid-date-value.js +0 -25
  1012. package/esm/utils/is-valid-date-value.js.map +0 -1
  1013. package/esm/utils/once-connected.d.ts +0 -146
  1014. package/esm/utils/once-connected.d.ts.map +0 -1
  1015. package/esm/utils/once-connected.js +0 -251
  1016. package/esm/utils/once-connected.js.map +0 -1
  1017. package/esm/validation/database-seal-plugins.d.ts +0 -12
  1018. package/esm/validation/database-seal-plugins.d.ts.map +0 -1
  1019. package/esm/validation/database-seal-plugins.js +0 -1
  1020. package/esm/validation/database-seal-plugins.js.map +0 -1
  1021. package/esm/validation/database-writer-validation-error.d.ts +0 -97
  1022. package/esm/validation/database-writer-validation-error.d.ts.map +0 -1
  1023. package/esm/validation/database-writer-validation-error.js +0 -160
  1024. package/esm/validation/database-writer-validation-error.js.map +0 -1
  1025. package/esm/validation/index.d.ts +0 -3
  1026. package/esm/validation/index.d.ts.map +0 -1
  1027. package/esm/validation/mutators/embed-mutator.d.ts +0 -9
  1028. package/esm/validation/mutators/embed-mutator.d.ts.map +0 -1
  1029. package/esm/validation/mutators/embed-mutator.js +0 -33
  1030. package/esm/validation/mutators/embed-mutator.js.map +0 -1
  1031. package/esm/validation/plugins/embed-validator-plugin.d.ts +0 -24
  1032. package/esm/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
  1033. package/esm/validation/plugins/embed-validator-plugin.js +0 -18
  1034. package/esm/validation/plugins/embed-validator-plugin.js.map +0 -1
  1035. package/esm/validation/rules/database-model-rule.d.ts +0 -7
  1036. package/esm/validation/rules/database-model-rule.d.ts.map +0 -1
  1037. package/esm/validation/rules/database-model-rule.js +0 -27
  1038. package/esm/validation/rules/database-model-rule.js.map +0 -1
  1039. package/esm/validation/transformers/embed-model-transformer.d.ts +0 -3
  1040. package/esm/validation/transformers/embed-model-transformer.d.ts.map +0 -1
  1041. package/esm/validation/transformers/embed-model-transformer.js +0 -18
  1042. package/esm/validation/transformers/embed-model-transformer.js.map +0 -1
  1043. package/esm/validation/validators/embed-validator.d.ts +0 -21
  1044. package/esm/validation/validators/embed-validator.d.ts.map +0 -1
  1045. package/esm/validation/validators/embed-validator.js +0 -43
  1046. package/esm/validation/validators/embed-validator.js.map +0 -1
  1047. package/esm/writer/database-writer.d.ts +0 -174
  1048. package/esm/writer/database-writer.d.ts.map +0 -1
  1049. package/esm/writer/database-writer.js +0 -400
  1050. package/esm/writer/database-writer.js.map +0 -1
@@ -0,0 +1,162 @@
1
+ //#region ../../@warlock.js/cascade/src/drivers/postgres/postgres-sync-adapter.ts
2
+ /**
3
+ * PostgreSQL Sync Adapter.
4
+ *
5
+ * Handles batch updates for embedded/denormalized data stored
6
+ * in JSONB columns. In a normalized SQL world, this is less common
7
+ * than in MongoDB, but still useful for JSONB documents.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const syncAdapter = driver.syncAdapter();
12
+ *
13
+ * // Update embedded user data in posts
14
+ * await syncAdapter.executeBatch([
15
+ * {
16
+ * targetTable: 'posts',
17
+ * filter: { 'author.id': 123 },
18
+ * update: { 'author.name': 'New Name' },
19
+ * // ... other fields
20
+ * }
21
+ * ]);
22
+ * ```
23
+ */
24
+ var PostgresSyncAdapter = class {
25
+ driver;
26
+ /**
27
+ * Create a new sync adapter.
28
+ *
29
+ * @param driver - The PostgreSQL driver instance
30
+ */
31
+ constructor(driver) {
32
+ this.driver = driver;
33
+ }
34
+ /**
35
+ * Execute a batch of sync instructions.
36
+ *
37
+ * @param instructions - Array of sync instructions
38
+ * @returns Total number of affected rows
39
+ */
40
+ async executeBatch(instructions) {
41
+ let totalAffected = 0;
42
+ for (const instruction of instructions) if (instruction.isArrayUpdate) totalAffected += await this.executeArrayUpdate(instruction);
43
+ else totalAffected += await this.executeOne(instruction);
44
+ return totalAffected;
45
+ }
46
+ /**
47
+ * Execute a single sync instruction.
48
+ *
49
+ * @param instruction - Sync instruction
50
+ * @returns Number of affected rows
51
+ */
52
+ async executeOne(instruction) {
53
+ const { targetTable, filter, update } = instruction;
54
+ return this.executeJsonbUpdate(targetTable, filter, update);
55
+ }
56
+ /**
57
+ * Execute an array update instruction with positional operators.
58
+ *
59
+ * @param instruction - Sync instruction with array update info
60
+ * @returns Number of affected rows
61
+ */
62
+ async executeArrayUpdate(instruction) {
63
+ const { targetTable, filter, update, arrayField, identifierField, identifierValue } = instruction;
64
+ if (!arrayField || !identifierField || identifierValue === void 0) return this.executeOne(instruction);
65
+ return this.executeArrayElementUpdate(targetTable, filter, arrayField, { [identifierField]: identifierValue }, update);
66
+ }
67
+ /**
68
+ * Execute an update on JSONB fields.
69
+ *
70
+ * @param table - Table name
71
+ * @param filter - Row filter
72
+ * @param update - Fields to update
73
+ * @returns Number of affected rows
74
+ */
75
+ async executeJsonbUpdate(table, filter, update) {
76
+ const quotedTable = this.driver.dialect.quoteIdentifier(table);
77
+ const setClauses = [];
78
+ const params = [];
79
+ let paramIndex = 1;
80
+ for (const [path, value] of Object.entries(update)) if (path.includes(".")) {
81
+ const [column, ...pathParts] = path.split(".");
82
+ const quotedColumn = this.driver.dialect.quoteIdentifier(column);
83
+ const jsonPath = `{${pathParts.join(",")}}`;
84
+ const placeholder = this.driver.dialect.placeholder(paramIndex++);
85
+ params.push(JSON.stringify(value));
86
+ setClauses.push(`${quotedColumn} = jsonb_set(COALESCE(${quotedColumn}, '{}'::jsonb), '${jsonPath}', ${placeholder}::jsonb)`);
87
+ } else {
88
+ const quotedColumn = this.driver.dialect.quoteIdentifier(path);
89
+ const placeholder = this.driver.dialect.placeholder(paramIndex++);
90
+ params.push(value);
91
+ setClauses.push(`${quotedColumn} = ${placeholder}`);
92
+ }
93
+ const whereClauses = [];
94
+ for (const [key, value] of Object.entries(filter)) if (key.includes(".")) {
95
+ const [column, ...pathParts] = key.split(".");
96
+ const quotedColumn = this.driver.dialect.quoteIdentifier(column);
97
+ const intermediateExpr = pathParts.slice(0, -1).map((p) => `->'${p}'`).join("");
98
+ const finalExpr = `->>'${pathParts[pathParts.length - 1]}'`;
99
+ const placeholder = this.driver.dialect.placeholder(paramIndex++);
100
+ params.push(value);
101
+ whereClauses.push(`${quotedColumn}${intermediateExpr}${finalExpr} = ${placeholder}`);
102
+ } else {
103
+ const quotedKey = this.driver.dialect.quoteIdentifier(key);
104
+ const placeholder = this.driver.dialect.placeholder(paramIndex++);
105
+ params.push(value);
106
+ whereClauses.push(`${quotedKey} = ${placeholder}`);
107
+ }
108
+ const sql = `UPDATE ${quotedTable} SET ${setClauses.join(", ")} WHERE ${whereClauses.join(" AND ")}`;
109
+ return (await this.driver.query(sql, params)).rowCount ?? 0;
110
+ }
111
+ /**
112
+ * Execute an update on elements within a JSONB array.
113
+ *
114
+ * @param table - Table name
115
+ * @param filter - Row filter
116
+ * @param arrayField - JSONB array column
117
+ * @param arrayFilter - Filter to match array elements
118
+ * @param update - Fields to update on matched elements
119
+ * @returns Number of affected rows
120
+ */
121
+ async executeArrayElementUpdate(table, filter, arrayField, arrayFilter, update) {
122
+ const quotedTable = this.driver.dialect.quoteIdentifier(table);
123
+ const quotedArrayField = this.driver.dialect.quoteIdentifier(arrayField);
124
+ const params = [];
125
+ let paramIndex = 1;
126
+ const sql = `
127
+ WITH updated AS (
128
+ SELECT ctid, (
129
+ SELECT jsonb_agg(
130
+ CASE
131
+ WHEN ${Object.entries(arrayFilter).map(([key, value]) => {
132
+ params.push(value);
133
+ return `elem->>'${key}' = ${this.driver.dialect.placeholder(paramIndex++)}`;
134
+ }).join(" AND ")}
135
+ THEN elem || jsonb_build_object(${Object.entries(update).map(([key, value]) => {
136
+ params.push(JSON.stringify(value));
137
+ return `'${key}', ${this.driver.dialect.placeholder(paramIndex++)}::jsonb`;
138
+ }).join(", ")})
139
+ ELSE elem
140
+ END
141
+ )
142
+ FROM jsonb_array_elements(${quotedArrayField}) elem
143
+ ) AS new_array
144
+ FROM ${quotedTable}
145
+ WHERE ${Object.entries(filter).map(([key, value]) => {
146
+ const quotedKey = this.driver.dialect.quoteIdentifier(key);
147
+ params.push(value);
148
+ return `${quotedKey} = ${this.driver.dialect.placeholder(paramIndex++)}`;
149
+ }).join(" AND ")}
150
+ )
151
+ UPDATE ${quotedTable} t
152
+ SET ${quotedArrayField} = u.new_array
153
+ FROM updated u
154
+ WHERE t.ctid = u.ctid
155
+ `;
156
+ return (await this.driver.query(sql, params)).rowCount ?? 0;
157
+ }
158
+ };
159
+
160
+ //#endregion
161
+ export { PostgresSyncAdapter };
162
+ //# sourceMappingURL=postgres-sync-adapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-sync-adapter.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/drivers/postgres/postgres-sync-adapter.ts"],"sourcesContent":["/**\r\n * PostgreSQL Sync Adapter\r\n *\r\n * Implements the SyncAdapterContract for batch update operations\r\n * on embedded/denormalized data in PostgreSQL.\r\n *\r\n * @module cascade/drivers/postgres\r\n */\r\n\r\nimport type { SyncAdapterContract, SyncInstruction } from \"../../contracts/sync-adapter.contract\";\r\nimport type { PostgresDriver } from \"./postgres-driver\";\r\n\r\n/**\r\n * PostgreSQL Sync Adapter.\r\n *\r\n * Handles batch updates for embedded/denormalized data stored\r\n * in JSONB columns. In a normalized SQL world, this is less common\r\n * than in MongoDB, but still useful for JSONB documents.\r\n *\r\n * @example\r\n * ```typescript\r\n * const syncAdapter = driver.syncAdapter();\r\n *\r\n * // Update embedded user data in posts\r\n * await syncAdapter.executeBatch([\r\n * {\r\n * targetTable: 'posts',\r\n * filter: { 'author.id': 123 },\r\n * update: { 'author.name': 'New Name' },\r\n * // ... other fields\r\n * }\r\n * ]);\r\n * ```\r\n */\r\nexport class PostgresSyncAdapter implements SyncAdapterContract {\r\n /**\r\n * Create a new sync adapter.\r\n *\r\n * @param driver - The PostgreSQL driver instance\r\n */\r\n public constructor(private readonly driver: PostgresDriver) {}\r\n\r\n /**\r\n * Execute a batch of sync instructions.\r\n *\r\n * @param instructions - Array of sync instructions\r\n * @returns Total number of affected rows\r\n */\r\n public async executeBatch(instructions: SyncInstruction[]): Promise<number> {\r\n let totalAffected = 0;\r\n\r\n for (const instruction of instructions) {\r\n if (instruction.isArrayUpdate) {\r\n totalAffected += await this.executeArrayUpdate(instruction);\r\n } else {\r\n totalAffected += await this.executeOne(instruction);\r\n }\r\n }\r\n\r\n return totalAffected;\r\n }\r\n\r\n /**\r\n * Execute a single sync instruction.\r\n *\r\n * @param instruction - Sync instruction\r\n * @returns Number of affected rows\r\n */\r\n public async executeOne(instruction: SyncInstruction): Promise<number> {\r\n const { targetTable, filter, update } = instruction;\r\n return this.executeJsonbUpdate(targetTable, filter, update);\r\n }\r\n\r\n /**\r\n * Execute an array update instruction with positional operators.\r\n *\r\n * @param instruction - Sync instruction with array update info\r\n * @returns Number of affected rows\r\n */\r\n public async executeArrayUpdate(instruction: SyncInstruction): Promise<number> {\r\n const { targetTable, filter, update, arrayField, identifierField, identifierValue } =\r\n instruction;\r\n\r\n if (!arrayField || !identifierField || identifierValue === undefined) {\r\n // Fall back to regular update if array info is missing\r\n return this.executeOne(instruction);\r\n }\r\n\r\n return this.executeArrayElementUpdate(\r\n targetTable,\r\n filter,\r\n arrayField,\r\n { [identifierField]: identifierValue },\r\n update,\r\n );\r\n }\r\n\r\n /**\r\n * Execute an update on JSONB fields.\r\n *\r\n * @param table - Table name\r\n * @param filter - Row filter\r\n * @param update - Fields to update\r\n * @returns Number of affected rows\r\n */\r\n private async executeJsonbUpdate(\r\n table: string,\r\n filter: Record<string, unknown>,\r\n update: Record<string, unknown>,\r\n ): Promise<number> {\r\n const quotedTable = this.driver.dialect.quoteIdentifier(table);\r\n const setClauses: string[] = [];\r\n const params: unknown[] = [];\r\n let paramIndex = 1;\r\n\r\n // Build SET clauses for each update field\r\n for (const [path, value] of Object.entries(update)) {\r\n if (path.includes(\".\")) {\r\n // JSONB path update: \"column.nested.field\" -> jsonb_set\r\n const [column, ...pathParts] = path.split(\".\");\r\n const quotedColumn = this.driver.dialect.quoteIdentifier(column);\r\n const jsonPath = `{${pathParts.join(\",\")}}`;\r\n const placeholder = this.driver.dialect.placeholder(paramIndex++);\r\n params.push(JSON.stringify(value));\r\n\r\n setClauses.push(\r\n `${quotedColumn} = jsonb_set(COALESCE(${quotedColumn}, '{}'::jsonb), '${jsonPath}', ${placeholder}::jsonb)`,\r\n );\r\n } else {\r\n // Regular column update\r\n const quotedColumn = this.driver.dialect.quoteIdentifier(path);\r\n const placeholder = this.driver.dialect.placeholder(paramIndex++);\r\n params.push(value);\r\n\r\n setClauses.push(`${quotedColumn} = ${placeholder}`);\r\n }\r\n }\r\n\r\n // Build WHERE clause\r\n const whereClauses: string[] = [];\r\n for (const [key, value] of Object.entries(filter)) {\r\n if (key.includes(\".\")) {\r\n // JSONB path filter: intermediate segments use -> (jsonb), final uses ->> (text).\r\n // e.g. \"column.a\" → \"column\"->>'a', \"column.a.b\" → \"column\"->'a'->>'b'\r\n const [column, ...pathParts] = key.split(\".\");\r\n const quotedColumn = this.driver.dialect.quoteIdentifier(column);\r\n const intermediateExpr = pathParts\r\n .slice(0, -1)\r\n .map((p) => `->'${p}'`)\r\n .join(\"\");\r\n const finalExpr = `->>'${pathParts[pathParts.length - 1]}'`;\r\n const placeholder = this.driver.dialect.placeholder(paramIndex++);\r\n params.push(value);\r\n\r\n whereClauses.push(`${quotedColumn}${intermediateExpr}${finalExpr} = ${placeholder}`);\r\n } else {\r\n const quotedKey = this.driver.dialect.quoteIdentifier(key);\r\n const placeholder = this.driver.dialect.placeholder(paramIndex++);\r\n params.push(value);\r\n\r\n whereClauses.push(`${quotedKey} = ${placeholder}`);\r\n }\r\n }\r\n\r\n const sql = `UPDATE ${quotedTable} SET ${setClauses.join(\", \")} WHERE ${whereClauses.join(\" AND \")}`;\r\n\r\n const result = await this.driver.query(sql, params);\r\n return result.rowCount ?? 0;\r\n }\r\n\r\n /**\r\n * Execute an update on elements within a JSONB array.\r\n *\r\n * @param table - Table name\r\n * @param filter - Row filter\r\n * @param arrayField - JSONB array column\r\n * @param arrayFilter - Filter to match array elements\r\n * @param update - Fields to update on matched elements\r\n * @returns Number of affected rows\r\n */\r\n private async executeArrayElementUpdate(\r\n table: string,\r\n filter: Record<string, unknown>,\r\n arrayField: string,\r\n arrayFilter: Record<string, unknown>,\r\n update: Record<string, unknown>,\r\n ): Promise<number> {\r\n const quotedTable = this.driver.dialect.quoteIdentifier(table);\r\n const quotedArrayField = this.driver.dialect.quoteIdentifier(arrayField);\r\n\r\n const params: unknown[] = [];\r\n let paramIndex = 1;\r\n\r\n // Build array element filter condition\r\n const arrayFilterCondition = Object.entries(arrayFilter)\r\n .map(([key, value]) => {\r\n params.push(value);\r\n return `elem->>'${key}' = ${this.driver.dialect.placeholder(paramIndex++)}`;\r\n })\r\n .join(\" AND \");\r\n\r\n // Build update expression for matched elements\r\n const updateExpr = Object.entries(update)\r\n .map(([key, value]) => {\r\n params.push(JSON.stringify(value));\r\n return `'${key}', ${this.driver.dialect.placeholder(paramIndex++)}::jsonb`;\r\n })\r\n .join(\", \");\r\n\r\n // Build WHERE clause for row filter\r\n const whereClauses = Object.entries(filter).map(([key, value]) => {\r\n const quotedKey = this.driver.dialect.quoteIdentifier(key);\r\n params.push(value);\r\n return `${quotedKey} = ${this.driver.dialect.placeholder(paramIndex++)}`;\r\n });\r\n\r\n // Use a CTE to update array elements.\r\n // ctid is PostgreSQL's built-in physical row identifier, available on every\r\n // table regardless of the primary key column name.\r\n const sql = `\r\n WITH updated AS (\r\n SELECT ctid, (\r\n SELECT jsonb_agg(\r\n CASE\r\n WHEN ${arrayFilterCondition}\r\n THEN elem || jsonb_build_object(${updateExpr})\r\n ELSE elem\r\n END\r\n )\r\n FROM jsonb_array_elements(${quotedArrayField}) elem\r\n ) AS new_array\r\n FROM ${quotedTable}\r\n WHERE ${whereClauses.join(\" AND \")}\r\n )\r\n UPDATE ${quotedTable} t\r\n SET ${quotedArrayField} = u.new_array\r\n FROM updated u\r\n WHERE t.ctid = u.ctid\r\n `;\r\n\r\n const result = await this.driver.query(sql, params);\r\n return result.rowCount ?? 0;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAkCA,IAAa,sBAAb,MAAgE;CAM1B;;;;;;CAApC,AAAO,YAAY,AAAiB,QAAwB;EAAxB;CAAyB;;;;;;;CAQ7D,MAAa,aAAa,cAAkD;EAC1E,IAAI,gBAAgB;EAEpB,KAAK,MAAM,eAAe,cACxB,IAAI,YAAY,eACd,iBAAiB,MAAM,KAAK,mBAAmB,WAAW;OAE1D,iBAAiB,MAAM,KAAK,WAAW,WAAW;EAItD,OAAO;CACT;;;;;;;CAQA,MAAa,WAAW,aAA+C;EACrE,MAAM,EAAE,aAAa,QAAQ,WAAW;EACxC,OAAO,KAAK,mBAAmB,aAAa,QAAQ,MAAM;CAC5D;;;;;;;CAQA,MAAa,mBAAmB,aAA+C;EAC7E,MAAM,EAAE,aAAa,QAAQ,QAAQ,YAAY,iBAAiB,oBAChE;EAEF,IAAI,CAAC,cAAc,CAAC,mBAAmB,oBAAoB,QAEzD,OAAO,KAAK,WAAW,WAAW;EAGpC,OAAO,KAAK,0BACV,aACA,QACA,YACA,GAAG,kBAAkB,gBAAgB,GACrC,MACF;CACF;;;;;;;;;CAUA,MAAc,mBACZ,OACA,QACA,QACiB;EACjB,MAAM,cAAc,KAAK,OAAO,QAAQ,gBAAgB,KAAK;EAC7D,MAAM,aAAuB,CAAC;EAC9B,MAAM,SAAoB,CAAC;EAC3B,IAAI,aAAa;EAGjB,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,MAAM,GAC/C,IAAI,KAAK,SAAS,GAAG,GAAG;GAEtB,MAAM,CAAC,QAAQ,GAAG,aAAa,KAAK,MAAM,GAAG;GAC7C,MAAM,eAAe,KAAK,OAAO,QAAQ,gBAAgB,MAAM;GAC/D,MAAM,WAAW,IAAI,UAAU,KAAK,GAAG,EAAE;GACzC,MAAM,cAAc,KAAK,OAAO,QAAQ,YAAY,YAAY;GAChE,OAAO,KAAK,KAAK,UAAU,KAAK,CAAC;GAEjC,WAAW,KACT,GAAG,aAAa,wBAAwB,aAAa,mBAAmB,SAAS,KAAK,YAAY,SACpG;EACF,OAAO;GAEL,MAAM,eAAe,KAAK,OAAO,QAAQ,gBAAgB,IAAI;GAC7D,MAAM,cAAc,KAAK,OAAO,QAAQ,YAAY,YAAY;GAChE,OAAO,KAAK,KAAK;GAEjB,WAAW,KAAK,GAAG,aAAa,KAAK,aAAa;EACpD;EAIF,MAAM,eAAyB,CAAC;EAChC,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,GAC9C,IAAI,IAAI,SAAS,GAAG,GAAG;GAGrB,MAAM,CAAC,QAAQ,GAAG,aAAa,IAAI,MAAM,GAAG;GAC5C,MAAM,eAAe,KAAK,OAAO,QAAQ,gBAAgB,MAAM;GAC/D,MAAM,mBAAmB,UACtB,MAAM,GAAG,EAAE,EACX,KAAK,MAAM,MAAM,EAAE,EAAE,EACrB,KAAK,EAAE;GACV,MAAM,YAAY,OAAO,UAAU,UAAU,SAAS,GAAG;GACzD,MAAM,cAAc,KAAK,OAAO,QAAQ,YAAY,YAAY;GAChE,OAAO,KAAK,KAAK;GAEjB,aAAa,KAAK,GAAG,eAAe,mBAAmB,UAAU,KAAK,aAAa;EACrF,OAAO;GACL,MAAM,YAAY,KAAK,OAAO,QAAQ,gBAAgB,GAAG;GACzD,MAAM,cAAc,KAAK,OAAO,QAAQ,YAAY,YAAY;GAChE,OAAO,KAAK,KAAK;GAEjB,aAAa,KAAK,GAAG,UAAU,KAAK,aAAa;EACnD;EAGF,MAAM,MAAM,UAAU,YAAY,OAAO,WAAW,KAAK,IAAI,EAAE,SAAS,aAAa,KAAK,OAAO;EAGjG,QAAO,MADc,KAAK,OAAO,MAAM,KAAK,MAAM,GACpC,YAAY;CAC5B;;;;;;;;;;;CAYA,MAAc,0BACZ,OACA,QACA,YACA,aACA,QACiB;EACjB,MAAM,cAAc,KAAK,OAAO,QAAQ,gBAAgB,KAAK;EAC7D,MAAM,mBAAmB,KAAK,OAAO,QAAQ,gBAAgB,UAAU;EAEvE,MAAM,SAAoB,CAAC;EAC3B,IAAI,aAAa;EA4BjB,MAAM,MAAM;;;;;qBAzBiB,OAAO,QAAQ,WAAW,EACpD,KAAK,CAAC,KAAK,WAAW;GACrB,OAAO,KAAK,KAAK;GACjB,OAAO,WAAW,IAAI,MAAM,KAAK,OAAO,QAAQ,YAAY,YAAY;EAC1E,CAAC,EACA,KAAK,OAyB4B,EAAE;gDAtBnB,OAAO,QAAQ,MAAM,EACrC,KAAK,CAAC,KAAK,WAAW;GACrB,OAAO,KAAK,KAAK,UAAU,KAAK,CAAC;GACjC,OAAO,IAAI,IAAI,KAAK,KAAK,OAAO,QAAQ,YAAY,YAAY,EAAE;EACpE,CAAC,EACA,KAAK,IAkB6C,EAAE;;;;sCAIrB,iBAAiB;;eAExC,YAAY;gBArBF,OAAO,QAAQ,MAAM,EAAE,KAAK,CAAC,KAAK,WAAW;GAChE,MAAM,YAAY,KAAK,OAAO,QAAQ,gBAAgB,GAAG;GACzD,OAAO,KAAK,KAAK;GACjB,OAAO,GAAG,UAAU,KAAK,KAAK,OAAO,QAAQ,YAAY,YAAY;EACvE,CAkBuB,EAAE,KAAK,OAAO,EAAE;;eAE5B,YAAY;YACf,iBAAiB;;;;EAMzB,QAAO,MADc,KAAK,OAAO,MAAM,KAAK,MAAM,GACpC,YAAY;CAC5B;AACF"}
@@ -0,0 +1,105 @@
1
+ //#region ../../@warlock.js/cascade/src/drivers/postgres/types.d.ts
2
+ /**
3
+ * PostgreSQL Driver Types
4
+ *
5
+ * Type definitions specific to the PostgreSQL driver implementation.
6
+ *
7
+ * @module cascade/drivers/postgres
8
+ */
9
+ /**
10
+ * PostgreSQL connection configuration options.
11
+ */
12
+ type PostgresConnectionConfig = {
13
+ /** Database host (default: "localhost") */readonly host?: string; /** Database port (default: 5432) */
14
+ readonly port?: number; /** Database name */
15
+ readonly database: string; /** Database user */
16
+ readonly user?: string; /** Database password */
17
+ readonly password?: string; /** Connection string (alternative to individual options) */
18
+ readonly connectionString?: string; /** SSL configuration */
19
+ readonly ssl?: boolean | {
20
+ readonly rejectUnauthorized?: boolean;
21
+ readonly ca?: string;
22
+ readonly cert?: string;
23
+ readonly key?: string;
24
+ }; /** Enable database operation logging (queries, execution time, parameters) */
25
+ readonly logging?: boolean;
26
+ };
27
+ /**
28
+ * PostgreSQL pool configuration options.
29
+ */
30
+ type PostgresPoolConfig = PostgresConnectionConfig & {
31
+ /** Maximum number of clients in the pool (default: 10) */readonly max?: number; /** Minimum number of clients in the pool (default: 0) */
32
+ readonly min?: number; /** How long a client can sit idle before being closed (ms) */
33
+ readonly idleTimeoutMillis?: number; /** How long to wait for a client before timing out (ms) */
34
+ readonly connectionTimeoutMillis?: number; /** Maximum times to use a connection before destroying it */
35
+ readonly maxUses?: number; /** Application name for connection identification */
36
+ readonly application_name?: string;
37
+ };
38
+ /**
39
+ * PostgreSQL query result wrapper.
40
+ */
41
+ type PostgresQueryResult<T = Record<string, unknown>> = {
42
+ /** Array of rows returned by the query */readonly rows: T[]; /** Number of rows affected by INSERT/UPDATE/DELETE */
43
+ readonly rowCount: number | null; /** Column definitions from the result */
44
+ readonly fields: Array<{
45
+ readonly name: string;
46
+ readonly dataTypeID: number;
47
+ }>; /** Command that was executed (SELECT, INSERT, etc.) */
48
+ readonly command: string;
49
+ };
50
+ /**
51
+ * PostgreSQL transaction isolation levels.
52
+ */
53
+ type PostgresIsolationLevel = "read uncommitted" | "read committed" | "repeatable read" | "serializable";
54
+ /**
55
+ * PostgreSQL transaction options.
56
+ */
57
+ type PostgresTransactionOptions = {
58
+ /** Isolation level for the transaction */readonly isolationLevel?: PostgresIsolationLevel; /** Whether the transaction is read-only */
59
+ readonly readOnly?: boolean; /** Use deferrable mode (for serializable + read-only) */
60
+ readonly deferrable?: boolean;
61
+ };
62
+ /**
63
+ * PostgreSQL-specific operation types used in the query builder.
64
+ */
65
+ type PostgresOperation = {
66
+ /** Operation stage (select, where, join, etc.) */readonly stage: "select" | "from" | "join" | "where" | "groupBy" | "having" | "orderBy" | "limit" | "offset"; /** Operation type/name */
67
+ readonly type: string; /** Operation payload/data */
68
+ readonly data: Record<string, unknown>;
69
+ };
70
+ /**
71
+ * Internal representation of a pending WHERE clause.
72
+ */
73
+ type PostgresWhereClause = {
74
+ /** Boolean operator to combine with previous clause */readonly boolean: "and" | "or"; /** Type of where clause */
75
+ readonly type: "basic" | "raw" | "null" | "notNull" | "in" | "notIn" | "between" | "notBetween" | "exists" | "notExists" | "nested" | "column"; /** Column/field name */
76
+ readonly column?: string; /** Comparison operator */
77
+ readonly operator?: string; /** Value to compare */
78
+ readonly value?: unknown; /** Raw SQL expression */
79
+ readonly raw?: string; /** Parameter bindings */
80
+ readonly bindings?: unknown[]; /** Nested conditions */
81
+ readonly nested?: PostgresWhereClause[];
82
+ };
83
+ /**
84
+ * PostgreSQL NOTIFY payload structure.
85
+ */
86
+ type PostgresNotification = {
87
+ /** Channel name */readonly channel: string; /** Notification payload */
88
+ readonly payload?: string; /** Process ID of the notifying backend */
89
+ readonly processId: number;
90
+ };
91
+ /**
92
+ * PostgreSQL COPY options for bulk operations.
93
+ */
94
+ type PostgresCopyOptions = {
95
+ /** Format (text, csv, binary) */readonly format?: "text" | "csv" | "binary"; /** Field delimiter for text/csv */
96
+ readonly delimiter?: string; /** Quote character for csv */
97
+ readonly quote?: string; /** Escape character for csv */
98
+ readonly escape?: string; /** Include header row */
99
+ readonly header?: boolean; /** Null string representation */
100
+ readonly null?: string; /** Column list */
101
+ readonly columns?: string[];
102
+ };
103
+ //#endregion
104
+ export { PostgresConnectionConfig, PostgresCopyOptions, PostgresIsolationLevel, PostgresNotification, PostgresOperation, PostgresPoolConfig, PostgresQueryResult, PostgresTransactionOptions, PostgresWhereClause };
105
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/drivers/postgres/types.ts"],"mappings":";;AAWA;;;;;;;;;KAAY,wBAAA;EAcD,oDAZA,IAAA,WAgBM;EAAA,SAdN,IAAA,WAgBM;EAAA,SAdN,QAAA,UAiBO;EAAA,SAfP,IAAA,WAqBC;EAAA,SAnBD,QAAA;WAEA,gBAAA,WAiBsB;EAAA,SAftB,GAAA;IAAA,SAGM,kBAAA;IAAA,SACA,EAAA;IAAA,SACA,IAAA;IAAA,SACA,GAAA;EAAA,GAqBU;EAAA,SAlBhB,OAAA;AAAA;;;;KAMC,kBAAA,GAAqB,wBAAwB;EAwBtC,mEAtBR,GAAA,WAsBa;EAAA,SApBb,GAAA,WAcyB;EAAA,SAZzB,iBAAA,WAcM;EAAA,SAZN,uBAAA,WAgBA;EAAA,SAdA,OAAA,WAeE;EAAA,SAbF,gBAAA;AAAA;;AAiBO;AAMlB;KAjBY,mBAAA,KAAwB,MAAA;qDAEzB,IAAA,EAAM,CAAA,IAeiB;EAAA,SAbvB,QAAA,iBAsB2B;EAAA,SApB3B,MAAA,EAAQ,KAAA;IAAA,SACN,IAAA;IAAA,SACA,UAAA;EAAA,IAsBF;EAAA,SAnBA,OAAA;AAAA;AAqBU;AAMrB;;AANqB,KAfT,sBAAA;;;;KASA,0BAAA;EA2BK,mDAzBN,cAAA,GAAiB,sBAAsB,EAyB3B;EAAA,SAvBZ,QAAA,YA6BoB;EAAA,SA3BpB,UAAA;AAAA;;;;KAMC,iBAAA;EA2CD,2DAzCA,KAAA,gGA6CA;EAAA,SAlCA,IAAA,UAoCS;EAAA,SAlCT,IAAA,EAAM,MAAM;AAAA;AAwCvB;;;AAAA,KAlCY,mBAAA;EAoCD,gEAlCA,OAAA,gBAsCA;EAAA,SApCA,IAAA,mIAoCS;EAAA,SAtBT,MAAA,WA4BoB;EAAA,SA1BpB,QAAA,WA0BoB;EAAA,SAxBpB,KAAA,YA4BA;EAAA,SA1BA,GAAA,WA8BA;EAAA,SA5BA,QAAA,cAgCA;EAAA,SA9BA,MAAA,GAAS,mBAAmB;AAAA;AAgCrB;;;AAAA,KA1BN,oBAAA;8BAED,OAAA;WAEA,OAAA;WAEA,SAAA;AAAA;;;;KAMC,mBAAA;4CAED,MAAA;WAEA,SAAA;WAEA,KAAA;WAEA,MAAA;WAEA,MAAA;WAEA,IAAA;WAEA,OAAA;AAAA"}
@@ -0,0 +1,221 @@
1
+ import { AggregateExpression } from "../../expressions/aggregate-expressions.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/drivers/sql/sql-dialect.contract.d.ts
4
+ /**
5
+ * Contract that SQL dialects must implement to handle database-specific
6
+ * SQL syntax variations.
7
+ *
8
+ * Each SQL database (PostgreSQL, MySQL, SQLite) has subtle differences
9
+ * in how they handle parameters, identifiers, and certain SQL features.
10
+ * This interface abstracts those differences.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * class PostgresDialect implements SqlDialectContract {
15
+ * placeholder(index: number): string {
16
+ * return `$${index}`; // PostgreSQL uses $1, $2, etc.
17
+ * }
18
+ * }
19
+ *
20
+ * class MySqlDialect implements SqlDialectContract {
21
+ * placeholder(index: number): string {
22
+ * return '?'; // MySQL uses ? for all parameters
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ interface SqlDialectContract {
28
+ /**
29
+ * The name of the dialect for identification purposes.
30
+ *
31
+ * @example "postgres", "mysql", "sqlite"
32
+ */
33
+ readonly name: string;
34
+ /**
35
+ * Generate a parameter placeholder for the given index.
36
+ *
37
+ * Different databases use different placeholder styles:
38
+ * - PostgreSQL: `$1`, `$2`, `$3`
39
+ * - MySQL/SQLite: `?` (positional)
40
+ *
41
+ * @param index - The 1-based parameter index
42
+ * @returns The placeholder string to use in the SQL query
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * dialect.placeholder(1); // "$1" for PostgreSQL
47
+ * dialect.placeholder(2); // "?" for MySQL
48
+ * ```
49
+ */
50
+ placeholder(index: number): string;
51
+ /**
52
+ * Quote an identifier (table name, column name) for safe use in SQL.
53
+ *
54
+ * Different databases use different quote characters:
55
+ * - PostgreSQL: `"column_name"`
56
+ * - MySQL: `` `column_name` ``
57
+ *
58
+ * This also handles escaping if the identifier contains the quote character.
59
+ *
60
+ * @param identifier - The identifier to quote
61
+ * @returns The quoted identifier safe for use in SQL
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * dialect.quoteIdentifier('user'); // '"user"' for PostgreSQL
66
+ * dialect.quoteIdentifier('order'); // '`order`' for MySQL
67
+ * ```
68
+ */
69
+ quoteIdentifier(identifier: string): string;
70
+ /**
71
+ * Convert a boolean value to the appropriate SQL literal.
72
+ *
73
+ * Different databases represent booleans differently:
74
+ * - PostgreSQL: `TRUE` / `FALSE`
75
+ * - MySQL: `1` / `0`
76
+ *
77
+ * @param value - The boolean value to convert
78
+ * @returns The SQL literal string
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * dialect.booleanLiteral(true); // "TRUE" for PostgreSQL
83
+ * dialect.booleanLiteral(false); // "0" for MySQL
84
+ * ```
85
+ */
86
+ booleanLiteral(value: boolean): string;
87
+ /**
88
+ * Whether the database supports the RETURNING clause for INSERT/UPDATE/DELETE.
89
+ *
90
+ * - PostgreSQL: `true` (supports `RETURNING *`)
91
+ * - MySQL: `false` (must use `LAST_INSERT_ID()`)
92
+ */
93
+ readonly supportsReturning: boolean;
94
+ /**
95
+ * The keyword used for upsert (insert or update) operations.
96
+ *
97
+ * - PostgreSQL: `"ON CONFLICT"`
98
+ * - MySQL: `"ON DUPLICATE KEY"`
99
+ */
100
+ readonly upsertKeyword: "ON CONFLICT" | "ON DUPLICATE KEY";
101
+ /**
102
+ * Build the LIMIT/OFFSET clause for pagination.
103
+ *
104
+ * Most databases use `LIMIT x OFFSET y`, but syntax may vary.
105
+ *
106
+ * @param limit - Maximum number of rows to return (undefined = no limit)
107
+ * @param offset - Number of rows to skip (undefined = no offset)
108
+ * @returns The SQL clause string (e.g., "LIMIT 10 OFFSET 20")
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * dialect.limitOffset(10, 20); // "LIMIT 10 OFFSET 20"
113
+ * dialect.limitOffset(10); // "LIMIT 10"
114
+ * dialect.limitOffset(undefined, 20); // "OFFSET 20"
115
+ * ```
116
+ */
117
+ limitOffset(limit?: number, offset?: number): string;
118
+ /**
119
+ * Build a JSON path extraction expression.
120
+ *
121
+ * Different databases have different JSON operators:
122
+ * - PostgreSQL: `column->>'path'` or `column->'path'`
123
+ * - MySQL: `JSON_EXTRACT(column, '$.path')`
124
+ *
125
+ * @param column - The JSON/JSONB column name
126
+ * @param path - The path to extract (dot notation)
127
+ * @returns The SQL expression for extracting the path
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * dialect.jsonExtract('data', 'user.name');
132
+ * // PostgreSQL: "data"->>'user'->>'name'
133
+ * // MySQL: JSON_EXTRACT("data", '$.user.name')
134
+ * ```
135
+ */
136
+ jsonExtract(column: string, path: string): string;
137
+ /**
138
+ * Check if a JSON column contains a value.
139
+ *
140
+ * - PostgreSQL: `column @> '{"key": "value"}'::jsonb`
141
+ * - MySQL: `JSON_CONTAINS(column, '"value"', '$.key')`
142
+ *
143
+ * @param column - The JSON/JSONB column name
144
+ * @param value - The value to check for
145
+ * @param path - Optional path within the JSON
146
+ * @returns The SQL expression
147
+ */
148
+ jsonContains(column: string, value: unknown, path?: string): string;
149
+ /**
150
+ * Build a LIKE pattern with proper escaping.
151
+ *
152
+ * @param pattern - The pattern (may include % and _ wildcards)
153
+ * @param caseInsensitive - Whether to use case-insensitive matching
154
+ * @returns Object with the SQL operator and escaped pattern
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * dialect.likePattern('%test%', true);
159
+ * // PostgreSQL: { operator: 'ILIKE', pattern: '%test%' }
160
+ * // MySQL: { operator: 'LIKE', pattern: '%test%' } (case-insensitive by default)
161
+ * ```
162
+ */
163
+ likePattern(pattern: string, caseInsensitive?: boolean): {
164
+ operator: string;
165
+ pattern: string;
166
+ };
167
+ /**
168
+ * Build an array contains expression.
169
+ *
170
+ * - PostgreSQL: `$1 = ANY(column)` or `column @> ARRAY[$1]`
171
+ * - MySQL: `JSON_CONTAINS(column, ...)` for JSON arrays
172
+ *
173
+ * @param column - The array column name
174
+ * @param paramIndex - The parameter index for the value
175
+ * @returns The SQL expression
176
+ */
177
+ arrayContains(column: string, paramIndex: number): string;
178
+ /**
179
+ * Get the SQL type name for common abstract types.
180
+ *
181
+ * @param type - The abstract type name
182
+ * @param options - Type-specific options (length, precision, scale)
183
+ * @returns The database-specific SQL type
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * dialect.getSqlType('string', { length: 255 }); // "VARCHAR(255)"
188
+ * dialect.getSqlType('json'); // "JSONB" for PostgreSQL, "JSON" for MySQL
189
+ * ```
190
+ */
191
+ getSqlType(type: string, options?: {
192
+ length?: number;
193
+ precision?: number;
194
+ scale?: number;
195
+ dimensions?: number;
196
+ }): string;
197
+ /**
198
+ * Translate a database-agnostic aggregate expression to its SQL form.
199
+ *
200
+ * Supported aggregates return their SQL function call. Aggregates a given
201
+ * dialect cannot express as a scalar `GROUP BY` aggregate (e.g. `distinct`,
202
+ * `floor`, `first`, `last` on PostgreSQL) MUST throw with an actionable
203
+ * message naming the SQL escape hatch — never emit a silently-different
204
+ * semantic. Making this part of the contract forces every SQL dialect to
205
+ * decide its own aggregate capability matrix explicitly.
206
+ *
207
+ * @param expression - The abstract aggregate (`$agg.*`) to translate
208
+ * @returns The SQL fragment (e.g. `SUM("amount")`, `COUNT(*)`)
209
+ *
210
+ * @example
211
+ * ```typescript
212
+ * dialect.aggregateToSql($agg.sum("amount")); // 'SUM("amount")'
213
+ * dialect.aggregateToSql($agg.count()); // "COUNT(*)"
214
+ * dialect.aggregateToSql($agg.distinct("c")); // throws — use selectRaw escape hatch
215
+ * ```
216
+ */
217
+ aggregateToSql(expression: AggregateExpression): string;
218
+ }
219
+ //#endregion
220
+ export { SqlDialectContract };
221
+ //# sourceMappingURL=sql-dialect.contract.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-dialect.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/drivers/sql/sql-dialect.contract.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;UAmCiB,kBAAA;EA4Kf;;;;;EAAA,SAtKS,IAAA;EAwKP;;;;;AAuB4C;;;;;;;;;;;EA7K9C,WAAA,CAAY,KAAA;;;;;;;;;;;;;;;;;;;EAoBZ,eAAA,CAAgB,UAAA;;;;;;;;;;;;;;;;;EAkBhB,cAAA,CAAe,KAAA;;;;;;;WAQN,iBAAA;;;;;;;WAQA,aAAA;;;;;;;;;;;;;;;;;EAkBT,WAAA,CAAY,KAAA,WAAgB,MAAA;;;;;;;;;;;;;;;;;;;EAoB5B,WAAA,CAAY,MAAA,UAAgB,IAAA;;;;;;;;;;;;EAa5B,YAAA,CAAa,MAAA,UAAgB,KAAA,WAAgB,IAAA;;;;;;;;;;;;;;;EAgB7C,WAAA,CAAY,OAAA,UAAiB,eAAA;IAA8B,QAAA;IAAkB,OAAA;EAAA;;;;;;;;;;;EAY7E,aAAA,CAAc,MAAA,UAAgB,UAAA;;;;;;;;;;;;;;EAe9B,UAAA,CACE,IAAA,UACA,OAAA;IAAY,MAAA;IAAiB,SAAA;IAAoB,KAAA;IAAgB,UAAA;EAAA;;;;;;;;;;;;;;;;;;;;;EAuBnE,cAAA,CAAe,UAAA,EAAY,mBAAmB;AAAA"}
@@ -0,0 +1,150 @@
1
+ //#region ../../@warlock.js/cascade/src/drivers/sql/sql-types.d.ts
2
+ /**
3
+ * SQL Types and Definitions
4
+ *
5
+ * Shared type definitions used across SQL database drivers (PostgreSQL, MySQL, SQLite).
6
+ * These types represent common SQL operations and their parameters.
7
+ *
8
+ * @module cascade/drivers/sql
9
+ */
10
+ /**
11
+ * Result of building a SQL query with parameterized values.
12
+ *
13
+ * Contains the SQL string with placeholders and the corresponding parameter values.
14
+ * This separation prevents SQL injection by ensuring values are properly escaped.
15
+ */
16
+ type SqlQueryResult = {
17
+ /** The SQL query string with parameter placeholders ($1, $2, etc. or ?) */readonly sql: string; /** The parameter values in order matching the placeholders */
18
+ readonly params: unknown[];
19
+ };
20
+ /**
21
+ * Supported SQL JOIN types.
22
+ */
23
+ type SqlJoinType = "inner" | "left" | "right" | "full" | "cross";
24
+ /**
25
+ * SQL JOIN clause definition.
26
+ *
27
+ * Represents a JOIN between two tables with its condition.
28
+ */
29
+ type SqlJoinClause = {
30
+ /** Type of JOIN operation */readonly type: SqlJoinType; /** Target table to join */
31
+ readonly table: string; /** Optional alias for the joined table */
32
+ readonly alias?: string; /** JOIN condition */
33
+ readonly on: {
34
+ /** Field from the left (current) table */readonly left: string; /** Comparison operator (usually "=") */
35
+ readonly operator: string; /** Field from the right (joined) table */
36
+ readonly right: string;
37
+ }; /** Additional ON conditions (for complex joins) */
38
+ readonly additionalConditions?: Array<{
39
+ readonly left: string;
40
+ readonly operator: string;
41
+ readonly right: string;
42
+ }>;
43
+ };
44
+ /**
45
+ * SQL ORDER BY clause definition.
46
+ */
47
+ type SqlOrderClause = {
48
+ /** Column to order by */readonly column: string; /** Sort direction */
49
+ readonly direction: "asc" | "desc"; /** Nulls position (PostgreSQL-specific) */
50
+ readonly nulls?: "first" | "last";
51
+ };
52
+ /**
53
+ * SQL GROUP BY clause definition.
54
+ */
55
+ type SqlGroupClause = {
56
+ /** Columns to group by */readonly columns: string[];
57
+ };
58
+ /**
59
+ * SQL HAVING clause condition.
60
+ */
61
+ type SqlHavingClause = {
62
+ /** Aggregate function (count, sum, avg, etc.) */readonly aggregate: string; /** Column the aggregate operates on */
63
+ readonly column: string; /** Comparison operator */
64
+ readonly operator: string; /** Value to compare against */
65
+ readonly value: unknown;
66
+ };
67
+ /**
68
+ * SQL WHERE clause operation types.
69
+ */
70
+ type SqlWhereType = "where" | "orWhere" | "whereRaw" | "orWhereRaw" | "whereNot" | "orWhereNot" | "whereExists" | "whereNotExists";
71
+ /**
72
+ * SQL WHERE clause operation.
73
+ *
74
+ * Represents a single WHERE condition with its type, field, operator, and value.
75
+ */
76
+ type SqlWhereOperation = {
77
+ /** Type of WHERE clause (where, orWhere, whereRaw, etc.) */readonly type: SqlWhereType; /** Field name (for standard where clauses) */
78
+ readonly field?: string; /** Comparison operator */
79
+ readonly operator?: string; /** Value to compare against */
80
+ readonly value?: unknown; /** Raw SQL expression (for whereRaw clauses) */
81
+ readonly raw?: string; /** Parameter bindings for raw expressions */
82
+ readonly bindings?: unknown[]; /** Nested conditions (for grouped where clauses) */
83
+ readonly nested?: SqlWhereOperation[];
84
+ };
85
+ /**
86
+ * SQL SELECT clause definition.
87
+ */
88
+ type SqlSelectClause = {
89
+ /** Column name or expression */readonly expression: string; /** Optional alias for the column */
90
+ readonly alias?: string; /** Whether this is a raw expression */
91
+ readonly isRaw?: boolean;
92
+ };
93
+ /**
94
+ * Configuration for building SQL queries.
95
+ */
96
+ type SqlQueryConfig = {
97
+ /** Target table name */readonly table: string; /** Table alias (optional) */
98
+ readonly alias?: string; /** SELECT columns (empty = SELECT *) */
99
+ readonly select: SqlSelectClause[]; /** JOIN clauses */
100
+ readonly joins: SqlJoinClause[]; /** WHERE conditions */
101
+ readonly where: SqlWhereOperation[]; /** GROUP BY columns */
102
+ readonly groupBy: string[]; /** HAVING conditions */
103
+ readonly having: SqlHavingClause[]; /** ORDER BY clauses */
104
+ readonly orderBy: SqlOrderClause[]; /** LIMIT value */
105
+ readonly limit?: number; /** OFFSET value */
106
+ readonly offset?: number; /** DISTINCT flag */
107
+ readonly distinct?: boolean;
108
+ };
109
+ /**
110
+ * SQL INSERT operation definition.
111
+ */
112
+ type SqlInsertOperation = {
113
+ /** Target table */readonly table: string; /** Column names */
114
+ readonly columns: string[]; /** Values to insert (array of arrays for multi-row insert) */
115
+ readonly values: unknown[][]; /** Whether to return the inserted rows */
116
+ readonly returning?: string[] | boolean; /** Conflict resolution (upsert) */
117
+ readonly onConflict?: {
118
+ readonly columns: string[];
119
+ readonly action: "update" | "nothing";
120
+ readonly updateColumns?: string[];
121
+ };
122
+ };
123
+ /**
124
+ * SQL UPDATE operation definition.
125
+ */
126
+ type SqlUpdateOperation = {
127
+ /** Target table */readonly table: string; /** Columns to set with their values */
128
+ readonly set: Record<string, unknown>; /** Columns to increment */
129
+ readonly increment?: Record<string, number>; /** Columns to set to NULL */
130
+ readonly unset?: string[]; /** WHERE conditions */
131
+ readonly where: SqlWhereOperation[]; /** Whether to return updated rows */
132
+ readonly returning?: string[] | boolean; /** Maximum rows to update (some databases support LIMIT in UPDATE) */
133
+ readonly limit?: number;
134
+ };
135
+ /**
136
+ * SQL DELETE operation definition.
137
+ */
138
+ type SqlDeleteOperation = {
139
+ /** Target table */readonly table: string; /** WHERE conditions */
140
+ readonly where: SqlWhereOperation[]; /** Whether to return deleted rows */
141
+ readonly returning?: string[] | boolean; /** Maximum rows to delete */
142
+ readonly limit?: number;
143
+ };
144
+ /**
145
+ * Aggregate function types supported in SQL.
146
+ */
147
+ type SqlAggregateFunction = "count" | "sum" | "avg" | "min" | "max" | "array_agg" | "string_agg" | "jsonb_agg";
148
+ //#endregion
149
+ export { SqlAggregateFunction, SqlDeleteOperation, SqlGroupClause, SqlHavingClause, SqlInsertOperation, SqlJoinClause, SqlJoinType, SqlOrderClause, SqlQueryConfig, SqlQueryResult, SqlSelectClause, SqlUpdateOperation, SqlWhereOperation, SqlWhereType };
150
+ //# sourceMappingURL=sql-types.d.mts.map