@warlock.js/cascade 4.0.174 → 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,88 @@
1
+ import { ChildModel } from "./model.types.mjs";
2
+ import { BelongsToManyOptions, BelongsToOptions, HasManyOptions, HasOneOptions } from "../relations/types.mjs";
3
+ import { Model } from "./model.mjs";
4
+ import { Lazy } from "@mongez/reinforcements";
5
+
6
+ //#region ../../@warlock.js/cascade/src/model/relation-decorators.d.ts
7
+ /**
8
+ * Key used to stash relation definitions on the decorator metadata object.
9
+ * Exported so `@RegisterModel` (in `register-model.ts`) can read it back.
10
+ */
11
+ declare const RELATION_METADATA_KEY: unique symbol;
12
+ /**
13
+ * Declares a `belongsTo` relation on a model field.
14
+ *
15
+ * The foreign key lives on **this** model and points at the related
16
+ * model's primary key. Defaults: FK column inferred as `{relationName}_id`
17
+ * (snake-cased) — e.g. `organization_id` for `organization?: Organization`.
18
+ *
19
+ * @param model - The related model, in any of three forms:
20
+ * - `"User"` — registered name (requires `@RegisterModel()` on target).
21
+ * - `User` — direct class reference (cleanest for non-cycle relations).
22
+ * - `lazy(() => User)` — typed but cycle-safe (use when the two model
23
+ * files import each other).
24
+ * @param options - Inline overrides for FK / owner key / column select
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * import { lazy } from "@mongez/reinforcements";
29
+ *
30
+ * class User extends Model {
31
+ * @BelongsTo(Organization) public organization?: Organization;
32
+ * @BelongsTo("User", { foreignKey: "manager_id" }) public manager?: User;
33
+ * @BelongsTo(lazy(() => Team)) public team?: Team; // cycle case
34
+ * }
35
+ * ```
36
+ */
37
+ declare const BelongsTo: (modelRelation: string | ChildModel<Model> | Lazy<unknown>, options?: string | BelongsToOptions | undefined) => <This>(_value: undefined, context: ClassFieldDecoratorContext<This>) => void;
38
+ /**
39
+ * Declares a `hasOne` relation on a model field.
40
+ *
41
+ * The foreign key lives on the **related** model and points back at this
42
+ * model's primary key. Defaults: FK column inferred as
43
+ * `{thisModelSnakeName}_id` (e.g. `user_id` on the `Profile` table).
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * class User extends Model {
48
+ * @HasOne("Profile") profile?: Profile;
49
+ * @HasOne("UserSettings", { foreignKey: "owner_id" }) settings?: UserSettings;
50
+ * }
51
+ * ```
52
+ */
53
+ declare const HasOne: (modelRelation: string | ChildModel<Model> | Lazy<unknown>, options?: string | HasOneOptions | undefined) => <This>(_value: undefined, context: ClassFieldDecoratorContext<This>) => void;
54
+ /**
55
+ * Declares a `hasMany` relation on a model field.
56
+ *
57
+ * Same shape as `@HasOne` but loads an array. The foreign key lives on
58
+ * the related model. Defaults: FK column inferred as
59
+ * `{thisModelSnakeName}_id`.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * class User extends Model {
64
+ * @HasMany("Post") posts?: Post[];
65
+ * @HasMany("Comment", { foreignKey: "author_id" }) comments?: Comment[];
66
+ * }
67
+ * ```
68
+ */
69
+ declare const HasMany: (modelRelation: string | ChildModel<Model> | Lazy<unknown>, options?: string | HasManyOptions | undefined) => <This>(_value: undefined, context: ClassFieldDecoratorContext<This>) => void;
70
+ /**
71
+ * Declares a `belongsToMany` relation on a model field.
72
+ *
73
+ * Defaults: pivot table inferred as the alphabetical snake-case join of
74
+ * the two model names (`Post` + `Tag` → `post_tag`); pivot columns
75
+ * inferred as `{modelSnakeName}_id` on each side.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * class Post extends Model {
80
+ * @BelongsToMany("Tag") tags?: Tag[];
81
+ * @BelongsToMany("User", { pivot: "post_collaborators" }) collaborators?: User[];
82
+ * }
83
+ * ```
84
+ */
85
+ declare const BelongsToMany: (modelRelation: string | ChildModel<Model> | Lazy<unknown>, options?: string | BelongsToManyOptions | undefined) => <This>(_value: undefined, context: ClassFieldDecoratorContext<This>) => void;
86
+ //#endregion
87
+ export { BelongsTo, BelongsToMany, HasMany, HasOne, RELATION_METADATA_KEY };
88
+ //# sourceMappingURL=relation-decorators.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-decorators.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/model/relation-decorators.ts"],"mappings":";;;;;;;;;;cA2Ha,qBAAA;;;AAgB0E;AAqFvF;;;;;;;;;;;;;;;;;;;;;;cAjBa,SAAA,GAAS,aAAA,WAvEM,UAAA,CAAW,KAAA,IAAS,IAAA,WAAa,OAAA,YAAA,gBAAA,wBAGlC,MAAA,aAAmB,OAAA,EAAS,0BAAA,CAA2B,IAAA;AAAK;AAsGvF;;;;;;;;;;;;;;AAtGuF,cAqF1E,MAAA,GAAM,aAAA,WAxFS,UAAA,CAAW,KAAA,IAAS,IAAA,WAAa,OAAA,YAAA,aAAA,wBAGlC,MAAA,aAAmB,OAAA,EAAS,0BAAA,CAA2B,IAAA;;;;;;;;;AAAK;AAuHvF;;;;;;cAjBa,OAAA,GAAO,aAAA,WAzGQ,UAAA,CAAW,KAAA,IAAS,IAAA,WAAa,OAAA,YAAA,cAAA,wBAGlC,MAAA,aAAmB,OAAA,EAAS,0BAAA,CAA2B,IAAA;;;;;;;;;;;;;;;;cAuHrE,aAAA,GAAa,aAAA,WA1HE,UAAA,CAAW,KAAA,IAAS,IAAA,WAAa,OAAA,YAAA,oBAAA,wBAGlC,MAAA,aAAmB,OAAA,EAAS,0BAAA,CAA2B,IAAA"}
@@ -0,0 +1,191 @@
1
+ import { capitalize } from "@mongez/reinforcements";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/relation-decorators.ts
4
+ /**
5
+ * @fileoverview TC39 Stage 3 class field decorators for declaring model
6
+ * relations directly on the field.
7
+ *
8
+ * Replaces the legacy `static relations = { name: hasMany("Foo") }` shape
9
+ * with co-located, single-declaration syntax:
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * @RegisterModel()
14
+ * class User extends Model {
15
+ * @BelongsTo("Organization") organization?: Organization;
16
+ * @HasOne("Profile") profile?: Profile;
17
+ * @HasMany("Post") posts?: Post[];
18
+ * @BelongsToMany("Group") groups?: Group[];
19
+ * }
20
+ * ```
21
+ *
22
+ * Foreign keys, local keys, and pivot tables are inferred from model names
23
+ * via the convention helpers in `relations/key-conventions.ts`. Inline
24
+ * options on the decorator override the conventions per relation.
25
+ *
26
+ * @module @warlock.js/cascade/model/relation-decorators
27
+ */
28
+ /**
29
+ * Map raw decorator inputs into a `RelationDefinition` of the canonical
30
+ * shape consumed by the relation loader, pivot operations, etc.
31
+ *
32
+ * Note: foreign-key / pivot-table defaults are NOT resolved here — they
33
+ * live on each runtime resolution path (`RelationLoader`, `PivotOperations`,
34
+ * the postgres query builder) and read from `key-conventions.ts`. Recording
35
+ * `undefined` here keeps a single source of truth for the inference logic.
36
+ */
37
+ function buildRelationDefinition(type, model, options) {
38
+ const localKey = type === "belongsTo" ? options?.ownerKey : options?.localKey;
39
+ return {
40
+ type,
41
+ model,
42
+ foreignKey: options?.foreignKey,
43
+ localKey,
44
+ pivot: options?.pivot,
45
+ pivotLocalKey: options?.pivotLocalKey,
46
+ pivotForeignKey: options?.pivotForeignKey,
47
+ select: options?.select
48
+ };
49
+ }
50
+ /**
51
+ * Stash a relation definition into the class-level decorator metadata bag.
52
+ *
53
+ * **Why metadata, not addInitializer?** `context.addInitializer` on a
54
+ * *field* decorator fires per-instance, not per-class — so it only runs
55
+ * when `new ModelClass(...)` is called. Class-level operations like
56
+ * `Organization.withCount("users")` never construct instances, which means
57
+ * an initializer-based registration would leave `Organization.relations`
58
+ * permanently empty.
59
+ *
60
+ * TC39 stage 3 `context.metadata` is the right tool: a shared object across
61
+ * every decorator on the same class declaration. Field decorators write
62
+ * into it during decoration; `@RegisterModel` (a class decorator that runs
63
+ * AFTER all field decorators) reads it back and copies the relations onto
64
+ * the class's static `relations` map.
65
+ *
66
+ * The metadata object also prototype-chains to the parent class's metadata
67
+ * (per spec), so a subclass naturally inherits its parent's relations.
68
+ */
69
+ function stashRelationInMetadata(metadata, relationName, definition) {
70
+ let relations = metadata[RELATION_METADATA_KEY];
71
+ if (!Object.prototype.hasOwnProperty.call(metadata, RELATION_METADATA_KEY)) {
72
+ relations = { ...relations ?? {} };
73
+ metadata[RELATION_METADATA_KEY] = relations;
74
+ }
75
+ relations[relationName] = definition;
76
+ }
77
+ /**
78
+ * Key used to stash relation definitions on the decorator metadata object.
79
+ * Exported so `@RegisterModel` (in `register-model.ts`) can read it back.
80
+ */
81
+ const RELATION_METADATA_KEY = Symbol.for("@warlock.js/cascade:relations");
82
+ /**
83
+ * Builds a TC39 stage 3 class-field decorator that registers a relation
84
+ * of the given `type`. Each public decorator (`@BelongsTo`, `@HasMany`,
85
+ * etc.) is a thin specialisation of this factory.
86
+ */
87
+ function makeRelationDecorator(type) {
88
+ return function(modelRelation, options) {
89
+ return function(_value, context) {
90
+ if (context.kind !== "field") throw new Error(`@${capitalize(type)} can only be applied to class fields — got "${context.kind}".`);
91
+ const relationName = String(context.name);
92
+ const definition = buildRelationDefinition(type, modelRelation, resolveOptions(options));
93
+ stashRelationInMetadata(context.metadata, relationName, definition);
94
+ };
95
+ };
96
+ }
97
+ /**
98
+ * Normalise the decorator's second argument.
99
+ *
100
+ * Accepts three shapes:
101
+ * - Omitted (`undefined`): all defaults come from the runtime convention
102
+ * helpers (`inferBelongsToForeignKey`, `inferHasForeignKey`, …) per
103
+ * relation type. We must NOT pre-fill `foreignKey` here — the right
104
+ * convention depends on the relation type AND the *owner* model name,
105
+ * which the decorator doesn't know.
106
+ * - String: shorthand for `{ foreignKey: <string> }`, matching the legacy
107
+ * `belongsTo("Foo", "fk_col")` helper.
108
+ * - Object: passed through as-is.
109
+ */
110
+ function resolveOptions(options) {
111
+ if (typeof options === "string") return { foreignKey: options };
112
+ return options;
113
+ }
114
+ /**
115
+ * Declares a `belongsTo` relation on a model field.
116
+ *
117
+ * The foreign key lives on **this** model and points at the related
118
+ * model's primary key. Defaults: FK column inferred as `{relationName}_id`
119
+ * (snake-cased) — e.g. `organization_id` for `organization?: Organization`.
120
+ *
121
+ * @param model - The related model, in any of three forms:
122
+ * - `"User"` — registered name (requires `@RegisterModel()` on target).
123
+ * - `User` — direct class reference (cleanest for non-cycle relations).
124
+ * - `lazy(() => User)` — typed but cycle-safe (use when the two model
125
+ * files import each other).
126
+ * @param options - Inline overrides for FK / owner key / column select
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * import { lazy } from "@mongez/reinforcements";
131
+ *
132
+ * class User extends Model {
133
+ * @BelongsTo(Organization) public organization?: Organization;
134
+ * @BelongsTo("User", { foreignKey: "manager_id" }) public manager?: User;
135
+ * @BelongsTo(lazy(() => Team)) public team?: Team; // cycle case
136
+ * }
137
+ * ```
138
+ */
139
+ const BelongsTo = makeRelationDecorator("belongsTo");
140
+ /**
141
+ * Declares a `hasOne` relation on a model field.
142
+ *
143
+ * The foreign key lives on the **related** model and points back at this
144
+ * model's primary key. Defaults: FK column inferred as
145
+ * `{thisModelSnakeName}_id` (e.g. `user_id` on the `Profile` table).
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * class User extends Model {
150
+ * @HasOne("Profile") profile?: Profile;
151
+ * @HasOne("UserSettings", { foreignKey: "owner_id" }) settings?: UserSettings;
152
+ * }
153
+ * ```
154
+ */
155
+ const HasOne = makeRelationDecorator("hasOne");
156
+ /**
157
+ * Declares a `hasMany` relation on a model field.
158
+ *
159
+ * Same shape as `@HasOne` but loads an array. The foreign key lives on
160
+ * the related model. Defaults: FK column inferred as
161
+ * `{thisModelSnakeName}_id`.
162
+ *
163
+ * @example
164
+ * ```ts
165
+ * class User extends Model {
166
+ * @HasMany("Post") posts?: Post[];
167
+ * @HasMany("Comment", { foreignKey: "author_id" }) comments?: Comment[];
168
+ * }
169
+ * ```
170
+ */
171
+ const HasMany = makeRelationDecorator("hasMany");
172
+ /**
173
+ * Declares a `belongsToMany` relation on a model field.
174
+ *
175
+ * Defaults: pivot table inferred as the alphabetical snake-case join of
176
+ * the two model names (`Post` + `Tag` → `post_tag`); pivot columns
177
+ * inferred as `{modelSnakeName}_id` on each side.
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * class Post extends Model {
182
+ * @BelongsToMany("Tag") tags?: Tag[];
183
+ * @BelongsToMany("User", { pivot: "post_collaborators" }) collaborators?: User[];
184
+ * }
185
+ * ```
186
+ */
187
+ const BelongsToMany = makeRelationDecorator("belongsToMany");
188
+
189
+ //#endregion
190
+ export { BelongsTo, BelongsToMany, HasMany, HasOne, RELATION_METADATA_KEY };
191
+ //# sourceMappingURL=relation-decorators.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-decorators.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/model/relation-decorators.ts"],"sourcesContent":["/**\n * @fileoverview TC39 Stage 3 class field decorators for declaring model\n * relations directly on the field.\n *\n * Replaces the legacy `static relations = { name: hasMany(\"Foo\") }` shape\n * with co-located, single-declaration syntax:\n *\n * @example\n * ```ts\n * @RegisterModel()\n * class User extends Model {\n * @BelongsTo(\"Organization\") organization?: Organization;\n * @HasOne(\"Profile\") profile?: Profile;\n * @HasMany(\"Post\") posts?: Post[];\n * @BelongsToMany(\"Group\") groups?: Group[];\n * }\n * ```\n *\n * Foreign keys, local keys, and pivot tables are inferred from model names\n * via the convention helpers in `relations/key-conventions.ts`. Inline\n * options on the decorator override the conventions per relation.\n *\n * @module @warlock.js/cascade/model/relation-decorators\n */\n\nimport { capitalize, type Lazy } from \"@mongez/reinforcements\";\nimport type {\n BelongsToManyOptions,\n BelongsToOptions,\n HasManyOptions,\n HasOneOptions,\n RelationDefinition,\n RelationType,\n} from \"../relations/types\";\nimport type { ChildModel, Model } from \"./model\";\n\n// ============================================================================\n// INTERNAL — REGISTRATION\n// ============================================================================\n\n/**\n * Type-erased options bag — each relation type accepts a different subset\n * but the registration helper treats them uniformly.\n */\ntype AnyRelationOptions =\n | (BelongsToOptions & { localKey?: string; pivot?: string })\n | HasManyOptions\n | HasOneOptions\n | BelongsToManyOptions;\n\n/**\n * Map raw decorator inputs into a `RelationDefinition` of the canonical\n * shape consumed by the relation loader, pivot operations, etc.\n *\n * Note: foreign-key / pivot-table defaults are NOT resolved here — they\n * live on each runtime resolution path (`RelationLoader`, `PivotOperations`,\n * the postgres query builder) and read from `key-conventions.ts`. Recording\n * `undefined` here keeps a single source of truth for the inference logic.\n */\nfunction buildRelationDefinition(\n type: RelationType,\n model: string | ChildModel<Model> | Lazy<unknown>,\n options?: AnyRelationOptions,\n): RelationDefinition {\n // BelongsTo stores its \"owner key\" in the shared `localKey` slot. Other\n // types just pass `localKey` through.\n const localKey =\n type === \"belongsTo\"\n ? (options as BelongsToOptions)?.ownerKey\n : (options as HasManyOptions)?.localKey;\n\n return {\n type,\n model,\n foreignKey: options?.foreignKey,\n localKey,\n pivot: (options as BelongsToManyOptions)?.pivot,\n pivotLocalKey: (options as BelongsToManyOptions)?.pivotLocalKey,\n pivotForeignKey: (options as BelongsToManyOptions)?.pivotForeignKey,\n select: options?.select,\n };\n}\n\n/**\n * Stash a relation definition into the class-level decorator metadata bag.\n *\n * **Why metadata, not addInitializer?** `context.addInitializer` on a\n * *field* decorator fires per-instance, not per-class — so it only runs\n * when `new ModelClass(...)` is called. Class-level operations like\n * `Organization.withCount(\"users\")` never construct instances, which means\n * an initializer-based registration would leave `Organization.relations`\n * permanently empty.\n *\n * TC39 stage 3 `context.metadata` is the right tool: a shared object across\n * every decorator on the same class declaration. Field decorators write\n * into it during decoration; `@RegisterModel` (a class decorator that runs\n * AFTER all field decorators) reads it back and copies the relations onto\n * the class's static `relations` map.\n *\n * The metadata object also prototype-chains to the parent class's metadata\n * (per spec), so a subclass naturally inherits its parent's relations.\n */\nfunction stashRelationInMetadata(\n metadata: DecoratorMetadataObject,\n relationName: string,\n definition: RelationDefinition,\n): void {\n let relations = metadata[RELATION_METADATA_KEY] as Record<string, RelationDefinition> | undefined;\n\n // Promote inherited relations to an own property before mutating, so\n // writing on the subclass doesn't leak into the parent's bag.\n if (!Object.prototype.hasOwnProperty.call(metadata, RELATION_METADATA_KEY)) {\n relations = { ...(relations ?? {}) };\n metadata[RELATION_METADATA_KEY] = relations;\n }\n\n relations![relationName] = definition;\n}\n\n/**\n * Key used to stash relation definitions on the decorator metadata object.\n * Exported so `@RegisterModel` (in `register-model.ts`) can read it back.\n */\nexport const RELATION_METADATA_KEY = Symbol.for(\"@warlock.js/cascade:relations\");\n\n// ============================================================================\n// INTERNAL — DECORATOR FACTORY\n// ============================================================================\n\n/**\n * Builds a TC39 stage 3 class-field decorator that registers a relation\n * of the given `type`. Each public decorator (`@BelongsTo`, `@HasMany`,\n * etc.) is a thin specialisation of this factory.\n */\nfunction makeRelationDecorator<Options extends AnyRelationOptions | undefined>(type: RelationType) {\n return function (\n modelRelation: string | ChildModel<Model> | Lazy<unknown>,\n options?: Options | string,\n ) {\n return function <This>(_value: undefined, context: ClassFieldDecoratorContext<This>): void {\n if (context.kind !== \"field\") {\n throw new Error(\n `@${capitalize(type)} can only be applied to class fields — got \"${context.kind}\".`,\n );\n }\n\n const relationName = String(context.name);\n const resolvedOptions = resolveOptions(options);\n const definition = buildRelationDefinition(type, modelRelation, resolvedOptions);\n\n stashRelationInMetadata(context.metadata, relationName, definition);\n };\n };\n}\n\n/**\n * Normalise the decorator's second argument.\n *\n * Accepts three shapes:\n * - Omitted (`undefined`): all defaults come from the runtime convention\n * helpers (`inferBelongsToForeignKey`, `inferHasForeignKey`, …) per\n * relation type. We must NOT pre-fill `foreignKey` here — the right\n * convention depends on the relation type AND the *owner* model name,\n * which the decorator doesn't know.\n * - String: shorthand for `{ foreignKey: <string> }`, matching the legacy\n * `belongsTo(\"Foo\", \"fk_col\")` helper.\n * - Object: passed through as-is.\n */\nfunction resolveOptions(\n options: AnyRelationOptions | string | undefined,\n): AnyRelationOptions | undefined {\n if (typeof options === \"string\") {\n return { foreignKey: options } as AnyRelationOptions;\n }\n\n return options;\n}\n\n// ============================================================================\n// PUBLIC — RELATION DECORATORS\n// ============================================================================\n\n/**\n * Declares a `belongsTo` relation on a model field.\n *\n * The foreign key lives on **this** model and points at the related\n * model's primary key. Defaults: FK column inferred as `{relationName}_id`\n * (snake-cased) — e.g. `organization_id` for `organization?: Organization`.\n *\n * @param model - The related model, in any of three forms:\n * - `\"User\"` — registered name (requires `@RegisterModel()` on target).\n * - `User` — direct class reference (cleanest for non-cycle relations).\n * - `lazy(() => User)` — typed but cycle-safe (use when the two model\n * files import each other).\n * @param options - Inline overrides for FK / owner key / column select\n *\n * @example\n * ```ts\n * import { lazy } from \"@mongez/reinforcements\";\n *\n * class User extends Model {\n * @BelongsTo(Organization) public organization?: Organization;\n * @BelongsTo(\"User\", { foreignKey: \"manager_id\" }) public manager?: User;\n * @BelongsTo(lazy(() => Team)) public team?: Team; // cycle case\n * }\n * ```\n */\nexport const BelongsTo = makeRelationDecorator<BelongsToOptions>(\"belongsTo\");\n\n/**\n * Declares a `hasOne` relation on a model field.\n *\n * The foreign key lives on the **related** model and points back at this\n * model's primary key. Defaults: FK column inferred as\n * `{thisModelSnakeName}_id` (e.g. `user_id` on the `Profile` table).\n *\n * @example\n * ```ts\n * class User extends Model {\n * @HasOne(\"Profile\") profile?: Profile;\n * @HasOne(\"UserSettings\", { foreignKey: \"owner_id\" }) settings?: UserSettings;\n * }\n * ```\n */\nexport const HasOne = makeRelationDecorator<HasOneOptions>(\"hasOne\");\n\n/**\n * Declares a `hasMany` relation on a model field.\n *\n * Same shape as `@HasOne` but loads an array. The foreign key lives on\n * the related model. Defaults: FK column inferred as\n * `{thisModelSnakeName}_id`.\n *\n * @example\n * ```ts\n * class User extends Model {\n * @HasMany(\"Post\") posts?: Post[];\n * @HasMany(\"Comment\", { foreignKey: \"author_id\" }) comments?: Comment[];\n * }\n * ```\n */\nexport const HasMany = makeRelationDecorator<HasManyOptions>(\"hasMany\");\n\n/**\n * Declares a `belongsToMany` relation on a model field.\n *\n * Defaults: pivot table inferred as the alphabetical snake-case join of\n * the two model names (`Post` + `Tag` → `post_tag`); pivot columns\n * inferred as `{modelSnakeName}_id` on each side.\n *\n * @example\n * ```ts\n * class Post extends Model {\n * @BelongsToMany(\"Tag\") tags?: Tag[];\n * @BelongsToMany(\"User\", { pivot: \"post_collaborators\" }) collaborators?: User[];\n * }\n * ```\n */\nexport const BelongsToMany = makeRelationDecorator<BelongsToManyOptions>(\"belongsToMany\");\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,SAAS,wBACP,MACA,OACA,SACoB;CAGpB,MAAM,WACJ,SAAS,cACJ,SAA8B,WAC9B,SAA4B;CAEnC,OAAO;EACL;EACA;EACA,YAAY,SAAS;EACrB;EACA,OAAQ,SAAkC;EAC1C,eAAgB,SAAkC;EAClD,iBAAkB,SAAkC;EACpD,QAAQ,SAAS;CACnB;AACF;;;;;;;;;;;;;;;;;;;;AAqBA,SAAS,wBACP,UACA,cACA,YACM;CACN,IAAI,YAAY,SAAS;CAIzB,IAAI,CAAC,OAAO,UAAU,eAAe,KAAK,UAAU,qBAAqB,GAAG;EAC1E,YAAY,EAAE,GAAI,aAAa,CAAC,EAAG;EACnC,SAAS,yBAAyB;CACpC;CAEA,UAAW,gBAAgB;AAC7B;;;;;AAMA,MAAa,wBAAwB,OAAO,IAAI,+BAA+B;;;;;;AAW/E,SAAS,sBAAsE,MAAoB;CACjG,OAAO,SACL,eACA,SACA;EACA,OAAO,SAAgB,QAAmB,SAAiD;GACzF,IAAI,QAAQ,SAAS,SACnB,MAAM,IAAI,MACR,IAAI,WAAW,IAAI,EAAE,8CAA8C,QAAQ,KAAK,GAClF;GAGF,MAAM,eAAe,OAAO,QAAQ,IAAI;GAExC,MAAM,aAAa,wBAAwB,MAAM,eADzB,eAAe,OACuC,CAAC;GAE/E,wBAAwB,QAAQ,UAAU,cAAc,UAAU;EACpE;CACF;AACF;;;;;;;;;;;;;;AAeA,SAAS,eACP,SACgC;CAChC,IAAI,OAAO,YAAY,UACrB,OAAO,EAAE,YAAY,QAAQ;CAG/B,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAa,YAAY,sBAAwC,WAAW;;;;;;;;;;;;;;;;AAiB5E,MAAa,SAAS,sBAAqC,QAAQ;;;;;;;;;;;;;;;;AAiBnE,MAAa,UAAU,sBAAsC,SAAS;;;;;;;;;;;;;;;;AAiBtE,MAAa,gBAAgB,sBAA4C,eAAe"}
@@ -0,0 +1,46 @@
1
+ //#region ../../@warlock.js/cascade/src/operations/database.d.ts
2
+ /**
3
+ * Selects which data source the operation runs against. Shared between every
4
+ * function in this module — kept internal because it carries no semantic
5
+ * beyond "look up by registry name".
6
+ */
7
+ type DataSourceSelector = {
8
+ /** Data source name from the registry. Omit to use the default source. */readonly connection?: string;
9
+ };
10
+ /**
11
+ * Result of {@link createDatabase}.
12
+ */
13
+ type CreateDatabaseResult = {
14
+ /** True if a new database was created; false if it already existed. */readonly created: boolean; /** The database name that was passed to the operation. */
15
+ readonly name: string;
16
+ };
17
+ /**
18
+ * Result of {@link dropAllTables}.
19
+ */
20
+ type DropAllTablesResult = {
21
+ /** Names of tables that were dropped, in the order returned by the driver. */readonly tables: string[]; /** Count of dropped tables (equal to `tables.length`). */
22
+ readonly dropped: number;
23
+ };
24
+ /**
25
+ * Create a database on the configured data source. Returns `created: false`
26
+ * when the database already exists — drivers are responsible for the
27
+ * idempotency check.
28
+ *
29
+ * @example
30
+ * await createDatabase("analytics");
31
+ * await createDatabase("analytics", { connection: "warehouse" });
32
+ */
33
+ declare function createDatabase(name: string, options?: DataSourceSelector): Promise<CreateDatabaseResult>;
34
+ /**
35
+ * Drop every table on the configured data source. Lists tables first so the
36
+ * caller receives the names that were affected — useful for printing,
37
+ * confirmation prompts, or audit logging at the call site.
38
+ *
39
+ * @example
40
+ * const { tables, dropped } = await dropAllTables();
41
+ * console.log(`Dropped ${dropped} tables: ${tables.join(", ")}`);
42
+ */
43
+ declare function dropAllTables(options?: DataSourceSelector): Promise<DropAllTablesResult>;
44
+ //#endregion
45
+ export { CreateDatabaseResult, DropAllTablesResult, createDatabase, dropAllTables };
46
+ //# sourceMappingURL=database.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/operations/database.ts"],"mappings":";;;;;;KAOK,kBAAA;EAQO,mFAND,UAAU;AAAA;;AAUN;AAMf;KAVY,oBAAA;kFAED,OAAA,WAYO;EAAA,SAVP,IAAI;AAAA;;;;KAMH,mBAAA;EAmBF,uFAjBC,MAAA,YAeT;EAAA,SAbS,OAAO;AAAA;;;;AAea;AAgB/B;;;;;iBAnBsB,cAAA,CACpB,IAAA,UACA,OAAA,GAAS,kBAAA,GACR,OAAA,CAAQ,oBAAA;;;;;;;;AAkBmB;;iBAFR,aAAA,CACpB,OAAA,GAAS,kBAAA,GACR,OAAA,CAAQ,mBAAA"}
@@ -0,0 +1,40 @@
1
+ import { dataSourceRegistry } from "../data-source/data-source-registry.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/operations/database.ts
4
+ /**
5
+ * Create a database on the configured data source. Returns `created: false`
6
+ * when the database already exists — drivers are responsible for the
7
+ * idempotency check.
8
+ *
9
+ * @example
10
+ * await createDatabase("analytics");
11
+ * await createDatabase("analytics", { connection: "warehouse" });
12
+ */
13
+ async function createDatabase(name, options = {}) {
14
+ return {
15
+ created: await dataSourceRegistry.get(options.connection).driver.createDatabase(name),
16
+ name
17
+ };
18
+ }
19
+ /**
20
+ * Drop every table on the configured data source. Lists tables first so the
21
+ * caller receives the names that were affected — useful for printing,
22
+ * confirmation prompts, or audit logging at the call site.
23
+ *
24
+ * @example
25
+ * const { tables, dropped } = await dropAllTables();
26
+ * console.log(`Dropped ${dropped} tables: ${tables.join(", ")}`);
27
+ */
28
+ async function dropAllTables(options = {}) {
29
+ const driver = dataSourceRegistry.get(options.connection).driver;
30
+ const tables = await driver.blueprint.listTables();
31
+ await driver.dropAllTables();
32
+ return {
33
+ tables,
34
+ dropped: tables.length
35
+ };
36
+ }
37
+
38
+ //#endregion
39
+ export { createDatabase, dropAllTables };
40
+ //# sourceMappingURL=database.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/operations/database.ts"],"sourcesContent":["import { dataSourceRegistry } from \"../data-source/data-source-registry\";\n\n/**\n * Selects which data source the operation runs against. Shared between every\n * function in this module — kept internal because it carries no semantic\n * beyond \"look up by registry name\".\n */\ntype DataSourceSelector = {\n /** Data source name from the registry. Omit to use the default source. */\n readonly connection?: string;\n};\n\n/**\n * Result of {@link createDatabase}.\n */\nexport type CreateDatabaseResult = {\n /** True if a new database was created; false if it already existed. */\n readonly created: boolean;\n /** The database name that was passed to the operation. */\n readonly name: string;\n};\n\n/**\n * Result of {@link dropAllTables}.\n */\nexport type DropAllTablesResult = {\n /** Names of tables that were dropped, in the order returned by the driver. */\n readonly tables: string[];\n /** Count of dropped tables (equal to `tables.length`). */\n readonly dropped: number;\n};\n\n/**\n * Create a database on the configured data source. Returns `created: false`\n * when the database already exists — drivers are responsible for the\n * idempotency check.\n *\n * @example\n * await createDatabase(\"analytics\");\n * await createDatabase(\"analytics\", { connection: \"warehouse\" });\n */\nexport async function createDatabase(\n name: string,\n options: DataSourceSelector = {},\n): Promise<CreateDatabaseResult> {\n const dataSource = dataSourceRegistry.get(options.connection);\n const created = await dataSource.driver.createDatabase(name);\n\n return { created, name };\n}\n\n/**\n * Drop every table on the configured data source. Lists tables first so the\n * caller receives the names that were affected — useful for printing,\n * confirmation prompts, or audit logging at the call site.\n *\n * @example\n * const { tables, dropped } = await dropAllTables();\n * console.log(`Dropped ${dropped} tables: ${tables.join(\", \")}`);\n */\nexport async function dropAllTables(\n options: DataSourceSelector = {},\n): Promise<DropAllTablesResult> {\n const dataSource = dataSourceRegistry.get(options.connection);\n const driver = dataSource.driver;\n\n const tables = await driver.blueprint.listTables();\n await driver.dropAllTables();\n\n return { tables, dropped: tables.length };\n}\n"],"mappings":";;;;;;;;;;;;AAyCA,eAAsB,eACpB,MACA,UAA8B,CAAC,GACA;CAI/B,OAAO;EAAE,eAHU,mBAAmB,IAAI,QAAQ,UACnB,EAAE,OAAO,eAAe,IAAI;EAEzC;CAAK;AACzB;;;;;;;;;;AAWA,eAAsB,cACpB,UAA8B,CAAC,GACD;CAE9B,MAAM,SADa,mBAAmB,IAAI,QAAQ,UAC1B,EAAE;CAE1B,MAAM,SAAS,MAAM,OAAO,UAAU,WAAW;CACjD,MAAM,OAAO,cAAc;CAE3B,OAAO;EAAE;EAAQ,SAAS,OAAO;CAAO;AAC1C"}
@@ -0,0 +1,2 @@
1
+ import { CreateDatabaseResult, DropAllTablesResult, createDatabase, dropAllTables } from "./database.mjs";
2
+ import { ExportMigrationsSQLOptions, RollbackMigrationsOptions, exportMigrationsSQL, freshMigrate, listExecutedMigrations, rollbackMigrations, runMigrations } from "./migrations.mjs";
@@ -0,0 +1,4 @@
1
+ import { createDatabase, dropAllTables } from "./database.mjs";
2
+ import { exportMigrationsSQL, freshMigrate, listExecutedMigrations, rollbackMigrations, runMigrations } from "./migrations.mjs";
3
+
4
+ export { };
@@ -0,0 +1,71 @@
1
+ import { MigrationRecord, MigrationResult } from "../migration/types.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/operations/migrations.d.ts
4
+ /**
5
+ * Options for exporting migrations as SQL files.
6
+ */
7
+ type ExportMigrationsSQLOptions = {
8
+ /** Export only pending migrations. Default: false (exports all registered). */readonly pendingOnly?: boolean; /** Strip generated block comments and blank lines from the output. */
9
+ readonly compact?: boolean;
10
+ };
11
+ /**
12
+ * Options for rolling back migrations.
13
+ */
14
+ type RollbackMigrationsOptions = {
15
+ /** Roll back every executed migration. Overrides `batches` when true. */readonly all?: boolean; /** Number of batches to roll back when `all` is not set. Default: 1. */
16
+ readonly batches?: number;
17
+ };
18
+ /**
19
+ * Run every pending migration registered on the migration runner.
20
+ *
21
+ * Caller is responsible for registering migration classes first via
22
+ * `migrationRunner.register()` / `migrationRunner.registerMany()`. Returns one
23
+ * result entry per executed migration.
24
+ *
25
+ * @example
26
+ * migrationRunner.registerMany([CreateUsersTable, AddEmailIndex]);
27
+ * const results = await runMigrations();
28
+ */
29
+ declare function runMigrations(): Promise<MigrationResult[]>;
30
+ /**
31
+ * Roll back executed migrations. By default rolls back the most recent batch;
32
+ * pass `all: true` to undo every executed migration, or `batches: N` to undo
33
+ * the last N batches.
34
+ *
35
+ * @example
36
+ * await rollbackMigrations(); // last batch
37
+ * await rollbackMigrations({ batches: 3 }); // last three batches
38
+ * await rollbackMigrations({ all: true }); // everything
39
+ */
40
+ declare function rollbackMigrations(options?: RollbackMigrationsOptions): Promise<MigrationResult[]>;
41
+ /**
42
+ * Roll back every executed migration, then run every registered migration.
43
+ * Equivalent to `rollbackMigrations({ all: true })` followed by
44
+ * `runMigrations()`.
45
+ *
46
+ * @example
47
+ * await freshMigrate();
48
+ */
49
+ declare function freshMigrate(): Promise<MigrationResult[]>;
50
+ /**
51
+ * Export registered migrations as phase-ordered `.up.sql` and `.down.sql`
52
+ * files under `<cwd>/database/sql/`.
53
+ *
54
+ * @example
55
+ * await exportMigrationsSQL();
56
+ * await exportMigrationsSQL({ pendingOnly: true, compact: true });
57
+ */
58
+ declare function exportMigrationsSQL(options?: ExportMigrationsSQLOptions): Promise<void>;
59
+ /**
60
+ * Return the migration records persisted in the migrations table — one entry
61
+ * per migration that has ever been executed against the configured data
62
+ * source.
63
+ *
64
+ * @example
65
+ * const executed = await listExecutedMigrations();
66
+ * console.log(executed.map((record) => record.name));
67
+ */
68
+ declare function listExecutedMigrations(): Promise<MigrationRecord[]>;
69
+ //#endregion
70
+ export { ExportMigrationsSQLOptions, RollbackMigrationsOptions, exportMigrationsSQL, freshMigrate, listExecutedMigrations, rollbackMigrations, runMigrations };
71
+ //# sourceMappingURL=migrations.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/operations/migrations.ts"],"mappings":";;;;;AAMA;KAAY,0BAAA;0FAED,WAAA,YAEO;EAAA,SAAP,OAAO;AAAA;;;AAUA;KAJN,yBAAA;EAkBuB,kFAhBxB,GAAA,YAgB4B;EAAA,SAd5B,OAAO;AAAA;;;;;;;;;;;;iBAcI,aAAA,CAAA,GAAiB,OAAO,CAAC,eAAA;AAgBrB;AAkB1B;;;;AAA6D;AAY7D;;;;AA9B0B,iBAFJ,kBAAA,CACpB,OAAA,GAAS,yBAAA,GACR,OAAA,CAAQ,eAAA;;;;AAgCD;AAaV;;;;iBA3BsB,YAAA,CAAA,GAAgB,OAAO,CAAC,eAAA;;;;;;;;;iBAYxB,mBAAA,CACpB,OAAA,GAAS,0BAAA,GACR,OAAO;;;;;;;;;;iBAaY,sBAAA,CAAA,GAA0B,OAAO,CAAC,eAAA"}
@@ -0,0 +1,70 @@
1
+ import { migrationRunner } from "../migration/migration-runner.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/operations/migrations.ts
4
+ /**
5
+ * Run every pending migration registered on the migration runner.
6
+ *
7
+ * Caller is responsible for registering migration classes first via
8
+ * `migrationRunner.register()` / `migrationRunner.registerMany()`. Returns one
9
+ * result entry per executed migration.
10
+ *
11
+ * @example
12
+ * migrationRunner.registerMany([CreateUsersTable, AddEmailIndex]);
13
+ * const results = await runMigrations();
14
+ */
15
+ async function runMigrations() {
16
+ return migrationRunner.runAll();
17
+ }
18
+ /**
19
+ * Roll back executed migrations. By default rolls back the most recent batch;
20
+ * pass `all: true` to undo every executed migration, or `batches: N` to undo
21
+ * the last N batches.
22
+ *
23
+ * @example
24
+ * await rollbackMigrations(); // last batch
25
+ * await rollbackMigrations({ batches: 3 }); // last three batches
26
+ * await rollbackMigrations({ all: true }); // everything
27
+ */
28
+ async function rollbackMigrations(options = {}) {
29
+ if (options.all) return migrationRunner.rollbackAll();
30
+ const batches = options.batches ?? 1;
31
+ return migrationRunner.rollbackBatches(batches);
32
+ }
33
+ /**
34
+ * Roll back every executed migration, then run every registered migration.
35
+ * Equivalent to `rollbackMigrations({ all: true })` followed by
36
+ * `runMigrations()`.
37
+ *
38
+ * @example
39
+ * await freshMigrate();
40
+ */
41
+ async function freshMigrate() {
42
+ return migrationRunner.fresh();
43
+ }
44
+ /**
45
+ * Export registered migrations as phase-ordered `.up.sql` and `.down.sql`
46
+ * files under `<cwd>/database/sql/`.
47
+ *
48
+ * @example
49
+ * await exportMigrationsSQL();
50
+ * await exportMigrationsSQL({ pendingOnly: true, compact: true });
51
+ */
52
+ async function exportMigrationsSQL(options = {}) {
53
+ return migrationRunner.exportSQL(options);
54
+ }
55
+ /**
56
+ * Return the migration records persisted in the migrations table — one entry
57
+ * per migration that has ever been executed against the configured data
58
+ * source.
59
+ *
60
+ * @example
61
+ * const executed = await listExecutedMigrations();
62
+ * console.log(executed.map((record) => record.name));
63
+ */
64
+ async function listExecutedMigrations() {
65
+ return migrationRunner.getExecutedMigrations();
66
+ }
67
+
68
+ //#endregion
69
+ export { exportMigrationsSQL, freshMigrate, listExecutedMigrations, rollbackMigrations, runMigrations };
70
+ //# sourceMappingURL=migrations.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/operations/migrations.ts"],"sourcesContent":["import { migrationRunner } from \"../migration/migration-runner\";\nimport type { MigrationRecord, MigrationResult } from \"../migration/types\";\n\n/**\n * Options for exporting migrations as SQL files.\n */\nexport type ExportMigrationsSQLOptions = {\n /** Export only pending migrations. Default: false (exports all registered). */\n readonly pendingOnly?: boolean;\n /** Strip generated block comments and blank lines from the output. */\n readonly compact?: boolean;\n};\n\n/**\n * Options for rolling back migrations.\n */\nexport type RollbackMigrationsOptions = {\n /** Roll back every executed migration. Overrides `batches` when true. */\n readonly all?: boolean;\n /** Number of batches to roll back when `all` is not set. Default: 1. */\n readonly batches?: number;\n};\n\n/**\n * Run every pending migration registered on the migration runner.\n *\n * Caller is responsible for registering migration classes first via\n * `migrationRunner.register()` / `migrationRunner.registerMany()`. Returns one\n * result entry per executed migration.\n *\n * @example\n * migrationRunner.registerMany([CreateUsersTable, AddEmailIndex]);\n * const results = await runMigrations();\n */\nexport async function runMigrations(): Promise<MigrationResult[]> {\n return migrationRunner.runAll();\n}\n\n/**\n * Roll back executed migrations. By default rolls back the most recent batch;\n * pass `all: true` to undo every executed migration, or `batches: N` to undo\n * the last N batches.\n *\n * @example\n * await rollbackMigrations(); // last batch\n * await rollbackMigrations({ batches: 3 }); // last three batches\n * await rollbackMigrations({ all: true }); // everything\n */\nexport async function rollbackMigrations(\n options: RollbackMigrationsOptions = {},\n): Promise<MigrationResult[]> {\n if (options.all) {\n return migrationRunner.rollbackAll();\n }\n\n const batches = options.batches ?? 1;\n\n return migrationRunner.rollbackBatches(batches);\n}\n\n/**\n * Roll back every executed migration, then run every registered migration.\n * Equivalent to `rollbackMigrations({ all: true })` followed by\n * `runMigrations()`.\n *\n * @example\n * await freshMigrate();\n */\nexport async function freshMigrate(): Promise<MigrationResult[]> {\n return migrationRunner.fresh();\n}\n\n/**\n * Export registered migrations as phase-ordered `.up.sql` and `.down.sql`\n * files under `<cwd>/database/sql/`.\n *\n * @example\n * await exportMigrationsSQL();\n * await exportMigrationsSQL({ pendingOnly: true, compact: true });\n */\nexport async function exportMigrationsSQL(\n options: ExportMigrationsSQLOptions = {},\n): Promise<void> {\n return migrationRunner.exportSQL(options);\n}\n\n/**\n * Return the migration records persisted in the migrations table — one entry\n * per migration that has ever been executed against the configured data\n * source.\n *\n * @example\n * const executed = await listExecutedMigrations();\n * console.log(executed.map((record) => record.name));\n */\nexport async function listExecutedMigrations(): Promise<MigrationRecord[]> {\n return migrationRunner.getExecutedMigrations();\n}\n"],"mappings":";;;;;;;;;;;;;;AAkCA,eAAsB,gBAA4C;CAChE,OAAO,gBAAgB,OAAO;AAChC;;;;;;;;;;;AAYA,eAAsB,mBACpB,UAAqC,CAAC,GACV;CAC5B,IAAI,QAAQ,KACV,OAAO,gBAAgB,YAAY;CAGrC,MAAM,UAAU,QAAQ,WAAW;CAEnC,OAAO,gBAAgB,gBAAgB,OAAO;AAChD;;;;;;;;;AAUA,eAAsB,eAA2C;CAC/D,OAAO,gBAAgB,MAAM;AAC/B;;;;;;;;;AAUA,eAAsB,oBACpB,UAAsC,CAAC,GACxB;CACf,OAAO,gBAAgB,UAAU,OAAO;AAC1C;;;;;;;;;;AAWA,eAAsB,yBAAqD;CACzE,OAAO,gBAAgB,sBAAsB;AAC/C"}