@warlock.js/cascade 4.0.171 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1050) hide show
  1. package/README.md +6 -5
  2. package/bin/cascadejs +3 -0
  3. package/esm/cli/commands/migrate-export-sql.mjs +48 -0
  4. package/esm/cli/commands/migrate-export-sql.mjs.map +1 -0
  5. package/esm/cli/commands/migrate-list.mjs +26 -0
  6. package/esm/cli/commands/migrate-list.mjs.map +1 -0
  7. package/esm/cli/commands/migrate-rollback.mjs +50 -0
  8. package/esm/cli/commands/migrate-rollback.mjs.map +1 -0
  9. package/esm/cli/commands/migrate.mjs +65 -0
  10. package/esm/cli/commands/migrate.mjs.map +1 -0
  11. package/esm/cli/connection-from-env.mjs +181 -0
  12. package/esm/cli/connection-from-env.mjs.map +1 -0
  13. package/esm/cli/index.mjs +31 -0
  14. package/esm/cli/index.mjs.map +1 -0
  15. package/esm/cli/load-migrations.mjs +78 -0
  16. package/esm/cli/load-migrations.mjs.map +1 -0
  17. package/esm/cli/printers.mjs +57 -0
  18. package/esm/cli/printers.mjs.map +1 -0
  19. package/esm/cli/setup-logger.mjs +30 -0
  20. package/esm/cli/setup-logger.mjs.map +1 -0
  21. package/esm/cli/with-cli-connection.mjs +39 -0
  22. package/esm/cli/with-cli-connection.mjs.map +1 -0
  23. package/esm/cli.d.mts +1 -0
  24. package/esm/cli.mjs +26 -0
  25. package/esm/cli.mjs.map +1 -0
  26. package/esm/context/database-data-source-context.d.mts +32 -0
  27. package/esm/context/database-data-source-context.d.mts.map +1 -0
  28. package/esm/context/database-data-source-context.mjs +35 -0
  29. package/esm/context/database-data-source-context.mjs.map +1 -0
  30. package/esm/context/database-transaction-context.d.mts +38 -0
  31. package/esm/context/database-transaction-context.d.mts.map +1 -0
  32. package/esm/context/database-transaction-context.mjs +47 -0
  33. package/esm/context/database-transaction-context.mjs.map +1 -0
  34. package/esm/contracts/database-driver.contract.d.mts +443 -0
  35. package/esm/contracts/database-driver.contract.d.mts.map +1 -0
  36. package/esm/contracts/database-id-generator.contract.d.mts +109 -0
  37. package/esm/contracts/database-id-generator.contract.d.mts.map +1 -0
  38. package/esm/contracts/database-remover.contract.d.mts +108 -0
  39. package/esm/contracts/database-remover.contract.d.mts.map +1 -0
  40. package/esm/contracts/database-restorer.contract.d.mts +145 -0
  41. package/esm/contracts/database-restorer.contract.d.mts.map +1 -0
  42. package/esm/contracts/database-writer.contract.d.mts +123 -0
  43. package/esm/contracts/database-writer.contract.d.mts.map +1 -0
  44. package/esm/contracts/driver-blueprint.contract.d.mts +52 -0
  45. package/esm/contracts/driver-blueprint.contract.d.mts.map +1 -0
  46. package/esm/contracts/index.d.mts +9 -0
  47. package/esm/contracts/migration-driver.contract.d.mts +476 -0
  48. package/esm/contracts/migration-driver.contract.d.mts.map +1 -0
  49. package/esm/contracts/query-builder.contract.d.mts +1663 -0
  50. package/esm/contracts/query-builder.contract.d.mts.map +1 -0
  51. package/esm/contracts/sync-adapter.contract.d.mts +49 -0
  52. package/esm/contracts/sync-adapter.contract.d.mts.map +1 -0
  53. package/esm/data-source/data-source-registry.d.mts +111 -0
  54. package/esm/data-source/data-source-registry.d.mts.map +1 -0
  55. package/esm/data-source/data-source-registry.mjs +142 -0
  56. package/esm/data-source/data-source-registry.mjs.map +1 -0
  57. package/esm/data-source/data-source.d.mts +160 -0
  58. package/esm/data-source/data-source.d.mts.map +1 -0
  59. package/esm/data-source/data-source.mjs +87 -0
  60. package/esm/data-source/data-source.mjs.map +1 -0
  61. package/esm/database-dirty-tracker.d.mts +254 -0
  62. package/esm/database-dirty-tracker.d.mts.map +1 -0
  63. package/esm/database-dirty-tracker.mjs +356 -0
  64. package/esm/database-dirty-tracker.mjs.map +1 -0
  65. package/esm/drivers/mongodb/mongodb-blueprint.mjs +54 -0
  66. package/esm/drivers/mongodb/mongodb-blueprint.mjs.map +1 -0
  67. package/esm/drivers/mongodb/mongodb-driver.d.mts +334 -0
  68. package/esm/drivers/mongodb/mongodb-driver.d.mts.map +1 -0
  69. package/esm/drivers/mongodb/mongodb-driver.mjs +716 -0
  70. package/esm/drivers/mongodb/mongodb-driver.mjs.map +1 -0
  71. package/esm/drivers/mongodb/mongodb-id-generator.d.mts +120 -0
  72. package/esm/drivers/mongodb/mongodb-id-generator.d.mts.map +1 -0
  73. package/esm/drivers/mongodb/mongodb-id-generator.mjs +141 -0
  74. package/esm/drivers/mongodb/mongodb-id-generator.mjs.map +1 -0
  75. package/esm/drivers/mongodb/mongodb-migration-driver.d.mts +322 -0
  76. package/esm/drivers/mongodb/mongodb-migration-driver.d.mts.map +1 -0
  77. package/esm/drivers/mongodb/mongodb-migration-driver.mjs +531 -0
  78. package/esm/drivers/mongodb/mongodb-migration-driver.mjs.map +1 -0
  79. package/esm/drivers/mongodb/mongodb-query-builder.d.mts +1117 -0
  80. package/esm/drivers/mongodb/mongodb-query-builder.d.mts.map +1 -0
  81. package/esm/drivers/mongodb/mongodb-query-builder.mjs +1828 -0
  82. package/esm/drivers/mongodb/mongodb-query-builder.mjs.map +1 -0
  83. package/esm/drivers/mongodb/mongodb-query-operations.d.mts +230 -0
  84. package/esm/drivers/mongodb/mongodb-query-operations.d.mts.map +1 -0
  85. package/esm/drivers/mongodb/mongodb-query-operations.mjs +275 -0
  86. package/esm/drivers/mongodb/mongodb-query-operations.mjs.map +1 -0
  87. package/esm/drivers/mongodb/mongodb-query-parser.d.mts +263 -0
  88. package/esm/drivers/mongodb/mongodb-query-parser.d.mts.map +1 -0
  89. package/esm/drivers/mongodb/mongodb-query-parser.mjs +965 -0
  90. package/esm/drivers/mongodb/mongodb-query-parser.mjs.map +1 -0
  91. package/esm/drivers/mongodb/mongodb-sync-adapter.d.mts +78 -0
  92. package/esm/drivers/mongodb/mongodb-sync-adapter.d.mts.map +1 -0
  93. package/esm/drivers/mongodb/mongodb-sync-adapter.mjs +118 -0
  94. package/esm/drivers/mongodb/mongodb-sync-adapter.mjs.map +1 -0
  95. package/esm/drivers/mongodb/types.d.mts +43 -0
  96. package/esm/drivers/mongodb/types.d.mts.map +1 -0
  97. package/esm/drivers/postgres/index.d.mts +8 -0
  98. package/esm/drivers/postgres/index.mjs +9 -0
  99. package/esm/drivers/postgres/postgres-blueprint.d.mts +60 -0
  100. package/esm/drivers/postgres/postgres-blueprint.d.mts.map +1 -0
  101. package/esm/drivers/postgres/postgres-blueprint.mjs +105 -0
  102. package/esm/drivers/postgres/postgres-blueprint.mjs.map +1 -0
  103. package/esm/drivers/postgres/postgres-dialect.d.mts +144 -0
  104. package/esm/drivers/postgres/postgres-dialect.d.mts.map +1 -0
  105. package/esm/drivers/postgres/postgres-dialect.mjs +227 -0
  106. package/esm/drivers/postgres/postgres-dialect.mjs.map +1 -0
  107. package/esm/drivers/postgres/postgres-driver.d.mts +424 -0
  108. package/esm/drivers/postgres/postgres-driver.d.mts.map +1 -0
  109. package/esm/drivers/postgres/postgres-driver.mjs +845 -0
  110. package/esm/drivers/postgres/postgres-driver.mjs.map +1 -0
  111. package/esm/drivers/postgres/postgres-migration-driver.d.mts +393 -0
  112. package/esm/drivers/postgres/postgres-migration-driver.d.mts.map +1 -0
  113. package/esm/drivers/postgres/postgres-migration-driver.mjs +760 -0
  114. package/esm/drivers/postgres/postgres-migration-driver.mjs.map +1 -0
  115. package/esm/drivers/postgres/postgres-query-builder.d.mts +399 -0
  116. package/esm/drivers/postgres/postgres-query-builder.d.mts.map +1 -0
  117. package/esm/drivers/postgres/postgres-query-builder.mjs +1105 -0
  118. package/esm/drivers/postgres/postgres-query-builder.mjs.map +1 -0
  119. package/esm/drivers/postgres/postgres-query-parser.d.mts +351 -0
  120. package/esm/drivers/postgres/postgres-query-parser.d.mts.map +1 -0
  121. package/esm/drivers/postgres/postgres-query-parser.mjs +796 -0
  122. package/esm/drivers/postgres/postgres-query-parser.mjs.map +1 -0
  123. package/esm/drivers/postgres/postgres-sql-serializer.mjs +260 -0
  124. package/esm/drivers/postgres/postgres-sql-serializer.mjs.map +1 -0
  125. package/esm/drivers/postgres/postgres-sync-adapter.d.mts +79 -0
  126. package/esm/drivers/postgres/postgres-sync-adapter.d.mts.map +1 -0
  127. package/esm/drivers/postgres/postgres-sync-adapter.mjs +162 -0
  128. package/esm/drivers/postgres/postgres-sync-adapter.mjs.map +1 -0
  129. package/esm/drivers/postgres/types.d.mts +105 -0
  130. package/esm/drivers/postgres/types.d.mts.map +1 -0
  131. package/esm/drivers/sql/sql-dialect.contract.d.mts +221 -0
  132. package/esm/drivers/sql/sql-dialect.contract.d.mts.map +1 -0
  133. package/esm/drivers/sql/sql-types.d.mts +150 -0
  134. package/esm/drivers/sql/sql-types.d.mts.map +1 -0
  135. package/esm/errors/missing-data-source.error.d.mts +25 -0
  136. package/esm/errors/missing-data-source.error.d.mts.map +1 -0
  137. package/esm/errors/missing-data-source.error.mjs +31 -0
  138. package/esm/errors/missing-data-source.error.mjs.map +1 -0
  139. package/esm/errors/transaction-rollback.error.d.mts +23 -0
  140. package/esm/errors/transaction-rollback.error.d.mts.map +1 -0
  141. package/esm/errors/transaction-rollback.error.mjs +29 -0
  142. package/esm/errors/transaction-rollback.error.mjs.map +1 -0
  143. package/esm/events/model-events.d.mts +234 -0
  144. package/esm/events/model-events.d.mts.map +1 -0
  145. package/esm/events/model-events.mjs +254 -0
  146. package/esm/events/model-events.mjs.map +1 -0
  147. package/esm/expressions/aggregate-expressions.d.mts +224 -0
  148. package/esm/expressions/aggregate-expressions.d.mts.map +1 -0
  149. package/esm/expressions/aggregate-expressions.mjs +232 -0
  150. package/esm/expressions/aggregate-expressions.mjs.map +1 -0
  151. package/esm/index.d.mts +67 -0
  152. package/esm/index.mjs +53 -0
  153. package/esm/migration/column-builder.d.mts +420 -0
  154. package/esm/migration/column-builder.d.mts.map +1 -0
  155. package/esm/migration/column-builder.mjs +532 -0
  156. package/esm/migration/column-builder.mjs.map +1 -0
  157. package/esm/migration/column-helpers.d.mts +280 -0
  158. package/esm/migration/column-helpers.d.mts.map +1 -0
  159. package/esm/migration/column-helpers.mjs +376 -0
  160. package/esm/migration/column-helpers.mjs.map +1 -0
  161. package/esm/migration/foreign-key-builder.d.mts +106 -0
  162. package/esm/migration/foreign-key-builder.d.mts.map +1 -0
  163. package/esm/migration/foreign-key-builder.mjs +126 -0
  164. package/esm/migration/foreign-key-builder.mjs.map +1 -0
  165. package/esm/migration/index.d.mts +6 -0
  166. package/esm/migration/index.mjs +7 -0
  167. package/esm/migration/migration-runner.d.mts +279 -0
  168. package/esm/migration/migration-runner.d.mts.map +1 -0
  169. package/esm/migration/migration-runner.mjs +662 -0
  170. package/esm/migration/migration-runner.mjs.map +1 -0
  171. package/esm/migration/migration.d.mts +2035 -0
  172. package/esm/migration/migration.d.mts.map +1 -0
  173. package/esm/migration/migration.mjs +2083 -0
  174. package/esm/migration/migration.mjs.map +1 -0
  175. package/esm/migration/sql-grammar.mjs +115 -0
  176. package/esm/migration/sql-grammar.mjs.map +1 -0
  177. package/esm/migration/sql-serializer.d.mts +26 -0
  178. package/esm/migration/sql-serializer.d.mts.map +1 -0
  179. package/esm/migration/sql-serializer.mjs +26 -0
  180. package/esm/migration/sql-serializer.mjs.map +1 -0
  181. package/esm/migration/types.d.mts +136 -0
  182. package/esm/migration/types.d.mts.map +1 -0
  183. package/esm/model/methods/accessor-methods.mjs +54 -0
  184. package/esm/model/methods/accessor-methods.mjs.map +1 -0
  185. package/esm/model/methods/delete-methods.mjs +16 -0
  186. package/esm/model/methods/delete-methods.mjs.map +1 -0
  187. package/esm/model/methods/dirty-methods.mjs +20 -0
  188. package/esm/model/methods/dirty-methods.mjs.map +1 -0
  189. package/esm/model/methods/hydration-methods.mjs +51 -0
  190. package/esm/model/methods/hydration-methods.mjs.map +1 -0
  191. package/esm/model/methods/instance-event-methods.mjs +22 -0
  192. package/esm/model/methods/instance-event-methods.mjs.map +1 -0
  193. package/esm/model/methods/meta-methods.mjs +36 -0
  194. package/esm/model/methods/meta-methods.mjs.map +1 -0
  195. package/esm/model/methods/pivot-methods.mjs +48 -0
  196. package/esm/model/methods/pivot-methods.mjs.map +1 -0
  197. package/esm/model/methods/query-methods.mjs +121 -0
  198. package/esm/model/methods/query-methods.mjs.map +1 -0
  199. package/esm/model/methods/restore-methods.mjs +16 -0
  200. package/esm/model/methods/restore-methods.mjs.map +1 -0
  201. package/esm/model/methods/scope-methods.mjs +20 -0
  202. package/esm/model/methods/scope-methods.mjs.map +1 -0
  203. package/esm/model/methods/serialization-methods.mjs +20 -0
  204. package/esm/model/methods/serialization-methods.mjs.map +1 -0
  205. package/esm/model/methods/static-event-methods.mjs +37 -0
  206. package/esm/model/methods/static-event-methods.mjs.map +1 -0
  207. package/esm/model/methods/write-methods.mjs +69 -0
  208. package/esm/model/methods/write-methods.mjs.map +1 -0
  209. package/esm/model/model.d.mts +1778 -0
  210. package/esm/model/model.d.mts.map +1 -0
  211. package/esm/model/model.mjs +1762 -0
  212. package/esm/model/model.mjs.map +1 -0
  213. package/esm/model/model.types.d.mts +47 -0
  214. package/esm/model/model.types.d.mts.map +1 -0
  215. package/esm/model/register-model.d.mts +140 -0
  216. package/esm/model/register-model.d.mts.map +1 -0
  217. package/esm/model/register-model.mjs +175 -0
  218. package/esm/model/register-model.mjs.map +1 -0
  219. package/esm/model/relation-decorators.d.mts +88 -0
  220. package/esm/model/relation-decorators.d.mts.map +1 -0
  221. package/esm/model/relation-decorators.mjs +191 -0
  222. package/esm/model/relation-decorators.mjs.map +1 -0
  223. package/esm/operations/database.d.mts +46 -0
  224. package/esm/operations/database.d.mts.map +1 -0
  225. package/esm/operations/database.mjs +40 -0
  226. package/esm/operations/database.mjs.map +1 -0
  227. package/esm/operations/index.d.mts +2 -0
  228. package/esm/operations/index.mjs +4 -0
  229. package/esm/operations/migrations.d.mts +71 -0
  230. package/esm/operations/migrations.d.mts.map +1 -0
  231. package/esm/operations/migrations.mjs +70 -0
  232. package/esm/operations/migrations.mjs.map +1 -0
  233. package/esm/query-builder/query-builder.d.mts +564 -0
  234. package/esm/query-builder/query-builder.d.mts.map +1 -0
  235. package/esm/query-builder/query-builder.mjs +1097 -0
  236. package/esm/query-builder/query-builder.mjs.map +1 -0
  237. package/esm/relations/index.d.mts +4 -0
  238. package/esm/relations/index.mjs +5 -0
  239. package/esm/relations/key-conventions.mjs +119 -0
  240. package/esm/relations/key-conventions.mjs.map +1 -0
  241. package/esm/relations/pivot-operations.d.mts +155 -0
  242. package/esm/relations/pivot-operations.d.mts.map +1 -0
  243. package/esm/relations/pivot-operations.mjs +232 -0
  244. package/esm/relations/pivot-operations.mjs.map +1 -0
  245. package/esm/relations/relation-hydrator.d.mts +55 -0
  246. package/esm/relations/relation-hydrator.d.mts.map +1 -0
  247. package/esm/relations/relation-hydrator.mjs +52 -0
  248. package/esm/relations/relation-hydrator.mjs.map +1 -0
  249. package/esm/relations/relation-loader.d.mts +190 -0
  250. package/esm/relations/relation-loader.d.mts.map +1 -0
  251. package/esm/relations/relation-loader.mjs +416 -0
  252. package/esm/relations/relation-loader.mjs.map +1 -0
  253. package/esm/relations/types.d.mts +317 -0
  254. package/esm/relations/types.d.mts.map +1 -0
  255. package/esm/remover/database-remover.d.mts +104 -0
  256. package/esm/remover/database-remover.d.mts.map +1 -0
  257. package/esm/remover/database-remover.mjs +174 -0
  258. package/esm/remover/database-remover.mjs.map +1 -0
  259. package/esm/restorer/database-restorer.d.mts +135 -0
  260. package/esm/restorer/database-restorer.d.mts.map +1 -0
  261. package/esm/restorer/database-restorer.mjs +316 -0
  262. package/esm/restorer/database-restorer.mjs.map +1 -0
  263. package/esm/sql-database-dirty-tracker.d.mts +17 -0
  264. package/esm/sql-database-dirty-tracker.d.mts.map +1 -0
  265. package/esm/sql-database-dirty-tracker.mjs +20 -0
  266. package/esm/sql-database-dirty-tracker.mjs.map +1 -0
  267. package/esm/sync/model-events.mjs +46 -0
  268. package/esm/sync/model-events.mjs.map +1 -0
  269. package/esm/sync/model-sync-operation.d.mts +159 -0
  270. package/esm/sync/model-sync-operation.d.mts.map +1 -0
  271. package/esm/sync/model-sync-operation.mjs +257 -0
  272. package/esm/sync/model-sync-operation.mjs.map +1 -0
  273. package/esm/sync/model-sync.d.mts +126 -0
  274. package/esm/sync/model-sync.d.mts.map +1 -0
  275. package/esm/sync/model-sync.mjs +157 -0
  276. package/esm/sync/model-sync.mjs.map +1 -0
  277. package/esm/sync/sync-context.d.mts +69 -0
  278. package/esm/sync/sync-context.d.mts.map +1 -0
  279. package/esm/sync/sync-context.mjs +95 -0
  280. package/esm/sync/sync-context.mjs.map +1 -0
  281. package/esm/sync/sync-manager.d.mts +213 -0
  282. package/esm/sync/sync-manager.d.mts.map +1 -0
  283. package/esm/sync/sync-manager.mjs +597 -0
  284. package/esm/sync/sync-manager.mjs.map +1 -0
  285. package/esm/sync/types.d.mts +215 -0
  286. package/esm/sync/types.d.mts.map +1 -0
  287. package/esm/types.d.mts +423 -0
  288. package/esm/types.d.mts.map +1 -0
  289. package/esm/utils/connect-to-database.d.mts +328 -0
  290. package/esm/utils/connect-to-database.d.mts.map +1 -0
  291. package/esm/utils/connect-to-database.mjs +130 -0
  292. package/esm/utils/connect-to-database.mjs.map +1 -0
  293. package/esm/utils/database-writer.utils.d.mts +18 -0
  294. package/esm/utils/database-writer.utils.d.mts.map +1 -0
  295. package/esm/utils/database-writer.utils.mjs +25 -0
  296. package/esm/utils/database-writer.utils.mjs.map +1 -0
  297. package/esm/utils/define-model.d.mts +185 -0
  298. package/esm/utils/define-model.d.mts.map +1 -0
  299. package/esm/utils/define-model.mjs +105 -0
  300. package/esm/utils/define-model.mjs.map +1 -0
  301. package/esm/utils/is-valid-date-value.mjs +22 -0
  302. package/esm/utils/is-valid-date-value.mjs.map +1 -0
  303. package/esm/utils/once-connected.d.mts +150 -0
  304. package/esm/utils/once-connected.d.mts.map +1 -0
  305. package/esm/utils/once-connected.mjs +203 -0
  306. package/esm/utils/once-connected.mjs.map +1 -0
  307. package/esm/validation/database-seal-plugins.d.mts +1 -0
  308. package/esm/validation/database-seal-plugins.mjs +11 -0
  309. package/esm/validation/database-seal-plugins.mjs.map +1 -0
  310. package/esm/validation/database-writer-validation-error.d.mts +101 -0
  311. package/esm/validation/database-writer-validation-error.d.mts.map +1 -0
  312. package/esm/validation/database-writer-validation-error.mjs +153 -0
  313. package/esm/validation/database-writer-validation-error.mjs.map +1 -0
  314. package/esm/validation/index.d.mts +2 -0
  315. package/esm/validation/index.mjs +4 -0
  316. package/esm/validation/mutators/embed-mutator.mjs +26 -0
  317. package/esm/validation/mutators/embed-mutator.mjs.map +1 -0
  318. package/esm/validation/plugins/database-rules-plugin.d.mts +28 -0
  319. package/esm/validation/plugins/database-rules-plugin.d.mts.map +1 -0
  320. package/esm/validation/plugins/database-rules-plugin.mjs +43 -0
  321. package/esm/validation/plugins/database-rules-plugin.mjs.map +1 -0
  322. package/esm/validation/plugins/embed-validator-plugin.d.mts +17 -0
  323. package/esm/validation/plugins/embed-validator-plugin.d.mts.map +1 -0
  324. package/esm/validation/plugins/embed-validator-plugin.mjs +20 -0
  325. package/esm/validation/plugins/embed-validator-plugin.mjs.map +1 -0
  326. package/esm/validation/rules/database-model-rule.mjs +32 -0
  327. package/esm/validation/rules/database-model-rule.mjs.map +1 -0
  328. package/esm/validation/rules/exists-rule.mjs +29 -0
  329. package/esm/validation/rules/exists-rule.mjs.map +1 -0
  330. package/esm/validation/rules/unique-rule.mjs +43 -0
  331. package/esm/validation/rules/unique-rule.mjs.map +1 -0
  332. package/esm/validation/transformers/embed-model-transformer.mjs +17 -0
  333. package/esm/validation/transformers/embed-model-transformer.mjs.map +1 -0
  334. package/esm/validation/types.d.mts +43 -0
  335. package/esm/validation/types.d.mts.map +1 -0
  336. package/esm/validation/validators/embed-validator.d.mts +25 -0
  337. package/esm/validation/validators/embed-validator.d.mts.map +1 -0
  338. package/esm/validation/validators/embed-validator.mjs +42 -0
  339. package/esm/validation/validators/embed-validator.mjs.map +1 -0
  340. package/esm/writer/database-writer.d.mts +178 -0
  341. package/esm/writer/database-writer.d.mts.map +1 -0
  342. package/esm/writer/database-writer.mjs +317 -0
  343. package/esm/writer/database-writer.mjs.map +1 -0
  344. package/llms-full.txt +2027 -0
  345. package/llms.txt +23 -0
  346. package/package.json +60 -51
  347. package/skills/README.md +65 -0
  348. package/skills/aggregate-data/SKILL.md +102 -0
  349. package/skills/cascade-basics/SKILL.md +93 -0
  350. package/skills/configure-delete-strategy/SKILL.md +126 -0
  351. package/skills/define-model/SKILL.md +170 -0
  352. package/skills/define-relations/SKILL.md +171 -0
  353. package/skills/manage-data-sources/SKILL.md +140 -0
  354. package/skills/manage-transactions/SKILL.md +118 -0
  355. package/skills/paginate-results/SKILL.md +122 -0
  356. package/skills/perform-atomic-ops/SKILL.md +98 -0
  357. package/skills/query-data/SKILL.md +168 -0
  358. package/skills/run-cascade-cli/SKILL.md +125 -0
  359. package/skills/search-by-vector/SKILL.md +127 -0
  360. package/skills/subscribe-to-model-events/SKILL.md +148 -0
  361. package/skills/track-changes/SKILL.md +109 -0
  362. package/skills/write-migration/SKILL.md +144 -0
  363. package/cjs/context/database-data-source-context.d.ts +0 -29
  364. package/cjs/context/database-data-source-context.d.ts.map +0 -1
  365. package/cjs/context/database-data-source-context.js +0 -28
  366. package/cjs/context/database-data-source-context.js.map +0 -1
  367. package/cjs/context/database-transaction-context.d.ts +0 -35
  368. package/cjs/context/database-transaction-context.d.ts.map +0 -1
  369. package/cjs/context/database-transaction-context.js +0 -40
  370. package/cjs/context/database-transaction-context.js.map +0 -1
  371. package/cjs/contracts/database-driver.contract.d.ts +0 -450
  372. package/cjs/contracts/database-driver.contract.d.ts.map +0 -1
  373. package/cjs/contracts/database-id-generator.contract.d.ts +0 -109
  374. package/cjs/contracts/database-id-generator.contract.d.ts.map +0 -1
  375. package/cjs/contracts/database-remover.contract.d.ts +0 -104
  376. package/cjs/contracts/database-remover.contract.d.ts.map +0 -1
  377. package/cjs/contracts/database-restorer.contract.d.ts +0 -143
  378. package/cjs/contracts/database-restorer.contract.d.ts.map +0 -1
  379. package/cjs/contracts/database-writer.contract.d.ts +0 -119
  380. package/cjs/contracts/database-writer.contract.d.ts.map +0 -1
  381. package/cjs/contracts/driver-blueprint.contract.d.ts +0 -49
  382. package/cjs/contracts/driver-blueprint.contract.d.ts.map +0 -1
  383. package/cjs/contracts/index.d.ts +0 -10
  384. package/cjs/contracts/index.d.ts.map +0 -1
  385. package/cjs/contracts/migration-driver.contract.d.ts +0 -522
  386. package/cjs/contracts/migration-driver.contract.d.ts.map +0 -1
  387. package/cjs/contracts/query-builder.contract.d.ts +0 -1609
  388. package/cjs/contracts/query-builder.contract.d.ts.map +0 -1
  389. package/cjs/contracts/sync-adapter.contract.d.ts +0 -58
  390. package/cjs/contracts/sync-adapter.contract.d.ts.map +0 -1
  391. package/cjs/data-source/data-source-registry.d.ts +0 -108
  392. package/cjs/data-source/data-source-registry.d.ts.map +0 -1
  393. package/cjs/data-source/data-source-registry.js +0 -145
  394. package/cjs/data-source/data-source-registry.js.map +0 -1
  395. package/cjs/data-source/data-source.d.ts +0 -147
  396. package/cjs/data-source/data-source.d.ts.map +0 -1
  397. package/cjs/data-source/data-source.js +0 -83
  398. package/cjs/data-source/data-source.js.map +0 -1
  399. package/cjs/database-dirty-tracker.d.ts +0 -252
  400. package/cjs/database-dirty-tracker.d.ts.map +0 -1
  401. package/cjs/database-dirty-tracker.js +0 -386
  402. package/cjs/database-dirty-tracker.js.map +0 -1
  403. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
  404. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
  405. package/cjs/drivers/mongodb/mongodb-blueprint.js +0 -51
  406. package/cjs/drivers/mongodb/mongodb-blueprint.js.map +0 -1
  407. package/cjs/drivers/mongodb/mongodb-driver.d.ts +0 -325
  408. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
  409. package/cjs/drivers/mongodb/mongodb-driver.js +0 -845
  410. package/cjs/drivers/mongodb/mongodb-driver.js.map +0 -1
  411. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
  412. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
  413. package/cjs/drivers/mongodb/mongodb-id-generator.js +0 -149
  414. package/cjs/drivers/mongodb/mongodb-id-generator.js.map +0 -1
  415. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
  416. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
  417. package/cjs/drivers/mongodb/mongodb-migration-driver.js +0 -666
  418. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
  419. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
  420. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
  421. package/cjs/drivers/mongodb/mongodb-query-builder.js +0 -1988
  422. package/cjs/drivers/mongodb/mongodb-query-builder.js.map +0 -1
  423. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
  424. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
  425. package/cjs/drivers/mongodb/mongodb-query-operations.js +0 -270
  426. package/cjs/drivers/mongodb/mongodb-query-operations.js.map +0 -1
  427. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
  428. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
  429. package/cjs/drivers/mongodb/mongodb-query-parser.js +0 -1351
  430. package/cjs/drivers/mongodb/mongodb-query-parser.js.map +0 -1
  431. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
  432. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
  433. package/cjs/drivers/mongodb/mongodb-sync-adapter.js +0 -146
  434. package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
  435. package/cjs/drivers/mongodb/types.d.ts +0 -43
  436. package/cjs/drivers/mongodb/types.d.ts.map +0 -1
  437. package/cjs/drivers/postgres/index.d.ts +0 -16
  438. package/cjs/drivers/postgres/index.d.ts.map +0 -1
  439. package/cjs/drivers/postgres/postgres-blueprint.d.ts +0 -64
  440. package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
  441. package/cjs/drivers/postgres/postgres-blueprint.js +0 -121
  442. package/cjs/drivers/postgres/postgres-blueprint.js.map +0 -1
  443. package/cjs/drivers/postgres/postgres-dialect.d.ts +0 -136
  444. package/cjs/drivers/postgres/postgres-dialect.d.ts.map +0 -1
  445. package/cjs/drivers/postgres/postgres-dialect.js +0 -268
  446. package/cjs/drivers/postgres/postgres-dialect.js.map +0 -1
  447. package/cjs/drivers/postgres/postgres-driver.d.ts +0 -432
  448. package/cjs/drivers/postgres/postgres-driver.d.ts.map +0 -1
  449. package/cjs/drivers/postgres/postgres-driver.js +0 -1008
  450. package/cjs/drivers/postgres/postgres-driver.js.map +0 -1
  451. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +0 -397
  452. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
  453. package/cjs/drivers/postgres/postgres-migration-driver.js +0 -900
  454. package/cjs/drivers/postgres/postgres-migration-driver.js.map +0 -1
  455. package/cjs/drivers/postgres/postgres-query-builder.d.ts +0 -254
  456. package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
  457. package/cjs/drivers/postgres/postgres-query-builder.js +0 -933
  458. package/cjs/drivers/postgres/postgres-query-builder.js.map +0 -1
  459. package/cjs/drivers/postgres/postgres-query-parser.d.ts +0 -328
  460. package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
  461. package/cjs/drivers/postgres/postgres-query-parser.js +0 -868
  462. package/cjs/drivers/postgres/postgres-query-parser.js.map +0 -1
  463. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
  464. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
  465. package/cjs/drivers/postgres/postgres-sql-serializer.js +0 -400
  466. package/cjs/drivers/postgres/postgres-sql-serializer.js.map +0 -1
  467. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
  468. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
  469. package/cjs/drivers/postgres/postgres-sync-adapter.js +0 -204
  470. package/cjs/drivers/postgres/postgres-sync-adapter.js.map +0 -1
  471. package/cjs/drivers/postgres/types.d.ts +0 -144
  472. package/cjs/drivers/postgres/types.d.ts.map +0 -1
  473. package/cjs/drivers/sql/index.d.ts +0 -10
  474. package/cjs/drivers/sql/index.d.ts.map +0 -1
  475. package/cjs/drivers/sql/sql-dialect.contract.d.ts +0 -204
  476. package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
  477. package/cjs/drivers/sql/sql-types.d.ts +0 -202
  478. package/cjs/drivers/sql/sql-types.d.ts.map +0 -1
  479. package/cjs/errors/missing-data-source.error.d.ts +0 -22
  480. package/cjs/errors/missing-data-source.error.d.ts.map +0 -1
  481. package/cjs/errors/missing-data-source.error.js +0 -29
  482. package/cjs/errors/missing-data-source.error.js.map +0 -1
  483. package/cjs/errors/transaction-rollback.error.d.ts +0 -20
  484. package/cjs/errors/transaction-rollback.error.d.ts.map +0 -1
  485. package/cjs/errors/transaction-rollback.error.js +0 -27
  486. package/cjs/errors/transaction-rollback.error.js.map +0 -1
  487. package/cjs/events/model-events.d.ts +0 -231
  488. package/cjs/events/model-events.d.ts.map +0 -1
  489. package/cjs/events/model-events.js +0 -259
  490. package/cjs/events/model-events.js.map +0 -1
  491. package/cjs/expressions/aggregate-expressions.d.ts +0 -215
  492. package/cjs/expressions/aggregate-expressions.d.ts.map +0 -1
  493. package/cjs/expressions/aggregate-expressions.js +0 -221
  494. package/cjs/expressions/aggregate-expressions.js.map +0 -1
  495. package/cjs/expressions/index.d.ts +0 -2
  496. package/cjs/expressions/index.d.ts.map +0 -1
  497. package/cjs/index.d.ts +0 -45
  498. package/cjs/index.d.ts.map +0 -1
  499. package/cjs/index.js +0 -1
  500. package/cjs/index.js.map +0 -1
  501. package/cjs/migration/column-builder.d.ts +0 -417
  502. package/cjs/migration/column-builder.d.ts.map +0 -1
  503. package/cjs/migration/column-builder.js +0 -586
  504. package/cjs/migration/column-builder.js.map +0 -1
  505. package/cjs/migration/column-helpers.d.ts +0 -275
  506. package/cjs/migration/column-helpers.d.ts.map +0 -1
  507. package/cjs/migration/column-helpers.js +0 -389
  508. package/cjs/migration/column-helpers.js.map +0 -1
  509. package/cjs/migration/foreign-key-builder.d.ts +0 -103
  510. package/cjs/migration/foreign-key-builder.d.ts.map +0 -1
  511. package/cjs/migration/foreign-key-builder.js +0 -121
  512. package/cjs/migration/foreign-key-builder.js.map +0 -1
  513. package/cjs/migration/index.d.ts +0 -7
  514. package/cjs/migration/index.d.ts.map +0 -1
  515. package/cjs/migration/migration-runner.d.ts +0 -278
  516. package/cjs/migration/migration-runner.d.ts.map +0 -1
  517. package/cjs/migration/migration-runner.js +0 -815
  518. package/cjs/migration/migration-runner.js.map +0 -1
  519. package/cjs/migration/migration.d.ts +0 -1988
  520. package/cjs/migration/migration.d.ts.map +0 -1
  521. package/cjs/migration/migration.js +0 -2162
  522. package/cjs/migration/migration.js.map +0 -1
  523. package/cjs/migration/sql-grammar.d.ts +0 -61
  524. package/cjs/migration/sql-grammar.d.ts.map +0 -1
  525. package/cjs/migration/sql-grammar.js +0 -164
  526. package/cjs/migration/sql-grammar.js.map +0 -1
  527. package/cjs/migration/sql-serializer.d.ts +0 -22
  528. package/cjs/migration/sql-serializer.d.ts.map +0 -1
  529. package/cjs/migration/sql-serializer.js +0 -26
  530. package/cjs/migration/sql-serializer.js.map +0 -1
  531. package/cjs/migration/types.d.ts +0 -155
  532. package/cjs/migration/types.d.ts.map +0 -1
  533. package/cjs/model/methods/accessor-methods.d.ts +0 -13
  534. package/cjs/model/methods/accessor-methods.d.ts.map +0 -1
  535. package/cjs/model/methods/accessor-methods.js +0 -51
  536. package/cjs/model/methods/accessor-methods.js.map +0 -1
  537. package/cjs/model/methods/delete-methods.d.ts +0 -10
  538. package/cjs/model/methods/delete-methods.d.ts.map +0 -1
  539. package/cjs/model/methods/delete-methods.js +0 -10
  540. package/cjs/model/methods/delete-methods.js.map +0 -1
  541. package/cjs/model/methods/dirty-methods.d.ts +0 -10
  542. package/cjs/model/methods/dirty-methods.d.ts.map +0 -1
  543. package/cjs/model/methods/dirty-methods.js +0 -15
  544. package/cjs/model/methods/dirty-methods.js.map +0 -1
  545. package/cjs/model/methods/hydration-methods.d.ts +0 -10
  546. package/cjs/model/methods/hydration-methods.d.ts.map +0 -1
  547. package/cjs/model/methods/hydration-methods.js +0 -57
  548. package/cjs/model/methods/hydration-methods.js.map +0 -1
  549. package/cjs/model/methods/instance-event-methods.d.ts +0 -7
  550. package/cjs/model/methods/instance-event-methods.d.ts.map +0 -1
  551. package/cjs/model/methods/instance-event-methods.js +0 -15
  552. package/cjs/model/methods/instance-event-methods.js.map +0 -1
  553. package/cjs/model/methods/meta-methods.d.ts +0 -7
  554. package/cjs/model/methods/meta-methods.d.ts.map +0 -1
  555. package/cjs/model/methods/meta-methods.js +0 -78
  556. package/cjs/model/methods/meta-methods.js.map +0 -1
  557. package/cjs/model/methods/query-methods.d.ts +0 -24
  558. package/cjs/model/methods/query-methods.d.ts.map +0 -1
  559. package/cjs/model/methods/query-methods.js +0 -164
  560. package/cjs/model/methods/query-methods.js.map +0 -1
  561. package/cjs/model/methods/restore-methods.d.ts +0 -10
  562. package/cjs/model/methods/restore-methods.d.ts.map +0 -1
  563. package/cjs/model/methods/restore-methods.js +0 -13
  564. package/cjs/model/methods/restore-methods.js.map +0 -1
  565. package/cjs/model/methods/scope-methods.d.ts +0 -7
  566. package/cjs/model/methods/scope-methods.d.ts.map +0 -1
  567. package/cjs/model/methods/scope-methods.js +0 -15
  568. package/cjs/model/methods/scope-methods.js.map +0 -1
  569. package/cjs/model/methods/serialization-methods.d.ts +0 -3
  570. package/cjs/model/methods/serialization-methods.d.ts.map +0 -1
  571. package/cjs/model/methods/serialization-methods.js +0 -27
  572. package/cjs/model/methods/serialization-methods.js.map +0 -1
  573. package/cjs/model/methods/static-event-methods.d.ts +0 -9
  574. package/cjs/model/methods/static-event-methods.d.ts.map +0 -1
  575. package/cjs/model/methods/static-event-methods.js +0 -29
  576. package/cjs/model/methods/static-event-methods.js.map +0 -1
  577. package/cjs/model/methods/write-methods.d.ts +0 -10
  578. package/cjs/model/methods/write-methods.d.ts.map +0 -1
  579. package/cjs/model/methods/write-methods.js +0 -52
  580. package/cjs/model/methods/write-methods.js.map +0 -1
  581. package/cjs/model/model.d.ts +0 -1647
  582. package/cjs/model/model.d.ts.map +0 -1
  583. package/cjs/model/model.js +0 -1657
  584. package/cjs/model/model.js.map +0 -1
  585. package/cjs/model/model.types.d.ts +0 -44
  586. package/cjs/model/model.types.d.ts.map +0 -1
  587. package/cjs/model/register-model.d.ts +0 -81
  588. package/cjs/model/register-model.d.ts.map +0 -1
  589. package/cjs/model/register-model.js +0 -94
  590. package/cjs/model/register-model.js.map +0 -1
  591. package/cjs/query-builder/query-builder.d.ts +0 -556
  592. package/cjs/query-builder/query-builder.d.ts.map +0 -1
  593. package/cjs/query-builder/query-builder.js +0 -1070
  594. package/cjs/query-builder/query-builder.js.map +0 -1
  595. package/cjs/relations/helpers.d.ts +0 -156
  596. package/cjs/relations/helpers.d.ts.map +0 -1
  597. package/cjs/relations/helpers.js +0 -202
  598. package/cjs/relations/helpers.js.map +0 -1
  599. package/cjs/relations/index.d.ts +0 -35
  600. package/cjs/relations/index.d.ts.map +0 -1
  601. package/cjs/relations/pivot-operations.d.ts +0 -160
  602. package/cjs/relations/pivot-operations.d.ts.map +0 -1
  603. package/cjs/relations/pivot-operations.js +0 -293
  604. package/cjs/relations/pivot-operations.js.map +0 -1
  605. package/cjs/relations/relation-hydrator.d.ts +0 -68
  606. package/cjs/relations/relation-hydrator.d.ts.map +0 -1
  607. package/cjs/relations/relation-hydrator.js +0 -81
  608. package/cjs/relations/relation-hydrator.js.map +0 -1
  609. package/cjs/relations/relation-loader.d.ts +0 -194
  610. package/cjs/relations/relation-loader.d.ts.map +0 -1
  611. package/cjs/relations/relation-loader.js +0 -466
  612. package/cjs/relations/relation-loader.js.map +0 -1
  613. package/cjs/relations/types.d.ts +0 -306
  614. package/cjs/relations/types.d.ts.map +0 -1
  615. package/cjs/remover/database-remover.d.ts +0 -100
  616. package/cjs/remover/database-remover.d.ts.map +0 -1
  617. package/cjs/remover/database-remover.js +0 -214
  618. package/cjs/remover/database-remover.js.map +0 -1
  619. package/cjs/restorer/database-restorer.d.ts +0 -131
  620. package/cjs/restorer/database-restorer.d.ts.map +0 -1
  621. package/cjs/restorer/database-restorer.js +0 -434
  622. package/cjs/restorer/database-restorer.js.map +0 -1
  623. package/cjs/sql-database-dirty-tracker.d.ts +0 -13
  624. package/cjs/sql-database-dirty-tracker.d.ts.map +0 -1
  625. package/cjs/sql-database-dirty-tracker.js +0 -14
  626. package/cjs/sql-database-dirty-tracker.js.map +0 -1
  627. package/cjs/sync/index.d.ts +0 -12
  628. package/cjs/sync/index.d.ts.map +0 -1
  629. package/cjs/sync/model-events.d.ts +0 -62
  630. package/cjs/sync/model-events.d.ts.map +0 -1
  631. package/cjs/sync/model-events.js +0 -49
  632. package/cjs/sync/model-events.js.map +0 -1
  633. package/cjs/sync/model-sync-operation.d.ts +0 -163
  634. package/cjs/sync/model-sync-operation.d.ts.map +0 -1
  635. package/cjs/sync/model-sync-operation.js +0 -292
  636. package/cjs/sync/model-sync-operation.js.map +0 -1
  637. package/cjs/sync/model-sync.d.ts +0 -130
  638. package/cjs/sync/model-sync.d.ts.map +0 -1
  639. package/cjs/sync/model-sync.js +0 -178
  640. package/cjs/sync/model-sync.js.map +0 -1
  641. package/cjs/sync/sync-context.d.ts +0 -70
  642. package/cjs/sync/sync-context.d.ts.map +0 -1
  643. package/cjs/sync/sync-context.js +0 -101
  644. package/cjs/sync/sync-context.js.map +0 -1
  645. package/cjs/sync/sync-manager.d.ts +0 -213
  646. package/cjs/sync/sync-manager.d.ts.map +0 -1
  647. package/cjs/sync/sync-manager.js +0 -689
  648. package/cjs/sync/sync-manager.js.map +0 -1
  649. package/cjs/sync/types.d.ts +0 -289
  650. package/cjs/sync/types.d.ts.map +0 -1
  651. package/cjs/test-migrations/test-enhanced-features.migration.d.ts +0 -15
  652. package/cjs/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
  653. package/cjs/types.d.ts +0 -371
  654. package/cjs/types.d.ts.map +0 -1
  655. package/cjs/utils/connect-to-database.d.ts +0 -307
  656. package/cjs/utils/connect-to-database.d.ts.map +0 -1
  657. package/cjs/utils/connect-to-database.js +0 -130
  658. package/cjs/utils/connect-to-database.js.map +0 -1
  659. package/cjs/utils/database-writer.utils.d.ts +0 -15
  660. package/cjs/utils/database-writer.utils.d.ts.map +0 -1
  661. package/cjs/utils/database-writer.utils.js +0 -14
  662. package/cjs/utils/database-writer.utils.js.map +0 -1
  663. package/cjs/utils/define-model.js +0 -100
  664. package/cjs/utils/define-model.js.map +0 -1
  665. package/cjs/utils/is-valid-date-value.d.ts +0 -5
  666. package/cjs/utils/is-valid-date-value.d.ts.map +0 -1
  667. package/cjs/utils/is-valid-date-value.js +0 -25
  668. package/cjs/utils/is-valid-date-value.js.map +0 -1
  669. package/cjs/utils/once-connected.d.ts +0 -146
  670. package/cjs/utils/once-connected.d.ts.map +0 -1
  671. package/cjs/utils/once-connected.js +0 -251
  672. package/cjs/utils/once-connected.js.map +0 -1
  673. package/cjs/validation/database-seal-plugins.d.ts +0 -12
  674. package/cjs/validation/database-seal-plugins.d.ts.map +0 -1
  675. package/cjs/validation/database-seal-plugins.js +0 -1
  676. package/cjs/validation/database-seal-plugins.js.map +0 -1
  677. package/cjs/validation/database-writer-validation-error.d.ts +0 -97
  678. package/cjs/validation/database-writer-validation-error.d.ts.map +0 -1
  679. package/cjs/validation/database-writer-validation-error.js +0 -160
  680. package/cjs/validation/database-writer-validation-error.js.map +0 -1
  681. package/cjs/validation/index.d.ts +0 -3
  682. package/cjs/validation/index.d.ts.map +0 -1
  683. package/cjs/validation/mutators/embed-mutator.d.ts +0 -9
  684. package/cjs/validation/mutators/embed-mutator.d.ts.map +0 -1
  685. package/cjs/validation/mutators/embed-mutator.js +0 -33
  686. package/cjs/validation/mutators/embed-mutator.js.map +0 -1
  687. package/cjs/validation/plugins/embed-validator-plugin.d.ts +0 -24
  688. package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
  689. package/cjs/validation/plugins/embed-validator-plugin.js +0 -18
  690. package/cjs/validation/plugins/embed-validator-plugin.js.map +0 -1
  691. package/cjs/validation/rules/database-model-rule.d.ts +0 -7
  692. package/cjs/validation/rules/database-model-rule.d.ts.map +0 -1
  693. package/cjs/validation/rules/database-model-rule.js +0 -27
  694. package/cjs/validation/rules/database-model-rule.js.map +0 -1
  695. package/cjs/validation/transformers/embed-model-transformer.d.ts +0 -3
  696. package/cjs/validation/transformers/embed-model-transformer.d.ts.map +0 -1
  697. package/cjs/validation/transformers/embed-model-transformer.js +0 -18
  698. package/cjs/validation/transformers/embed-model-transformer.js.map +0 -1
  699. package/cjs/validation/validators/embed-validator.d.ts +0 -21
  700. package/cjs/validation/validators/embed-validator.d.ts.map +0 -1
  701. package/cjs/validation/validators/embed-validator.js +0 -43
  702. package/cjs/validation/validators/embed-validator.js.map +0 -1
  703. package/cjs/writer/database-writer.d.ts +0 -174
  704. package/cjs/writer/database-writer.d.ts.map +0 -1
  705. package/cjs/writer/database-writer.js +0 -400
  706. package/cjs/writer/database-writer.js.map +0 -1
  707. package/esm/context/database-data-source-context.d.ts +0 -29
  708. package/esm/context/database-data-source-context.d.ts.map +0 -1
  709. package/esm/context/database-data-source-context.js +0 -28
  710. package/esm/context/database-data-source-context.js.map +0 -1
  711. package/esm/context/database-transaction-context.d.ts +0 -35
  712. package/esm/context/database-transaction-context.d.ts.map +0 -1
  713. package/esm/context/database-transaction-context.js +0 -40
  714. package/esm/context/database-transaction-context.js.map +0 -1
  715. package/esm/contracts/database-driver.contract.d.ts +0 -450
  716. package/esm/contracts/database-driver.contract.d.ts.map +0 -1
  717. package/esm/contracts/database-id-generator.contract.d.ts +0 -109
  718. package/esm/contracts/database-id-generator.contract.d.ts.map +0 -1
  719. package/esm/contracts/database-remover.contract.d.ts +0 -104
  720. package/esm/contracts/database-remover.contract.d.ts.map +0 -1
  721. package/esm/contracts/database-restorer.contract.d.ts +0 -143
  722. package/esm/contracts/database-restorer.contract.d.ts.map +0 -1
  723. package/esm/contracts/database-writer.contract.d.ts +0 -119
  724. package/esm/contracts/database-writer.contract.d.ts.map +0 -1
  725. package/esm/contracts/driver-blueprint.contract.d.ts +0 -49
  726. package/esm/contracts/driver-blueprint.contract.d.ts.map +0 -1
  727. package/esm/contracts/index.d.ts +0 -10
  728. package/esm/contracts/index.d.ts.map +0 -1
  729. package/esm/contracts/migration-driver.contract.d.ts +0 -522
  730. package/esm/contracts/migration-driver.contract.d.ts.map +0 -1
  731. package/esm/contracts/query-builder.contract.d.ts +0 -1609
  732. package/esm/contracts/query-builder.contract.d.ts.map +0 -1
  733. package/esm/contracts/sync-adapter.contract.d.ts +0 -58
  734. package/esm/contracts/sync-adapter.contract.d.ts.map +0 -1
  735. package/esm/data-source/data-source-registry.d.ts +0 -108
  736. package/esm/data-source/data-source-registry.d.ts.map +0 -1
  737. package/esm/data-source/data-source-registry.js +0 -145
  738. package/esm/data-source/data-source-registry.js.map +0 -1
  739. package/esm/data-source/data-source.d.ts +0 -147
  740. package/esm/data-source/data-source.d.ts.map +0 -1
  741. package/esm/data-source/data-source.js +0 -83
  742. package/esm/data-source/data-source.js.map +0 -1
  743. package/esm/database-dirty-tracker.d.ts +0 -252
  744. package/esm/database-dirty-tracker.d.ts.map +0 -1
  745. package/esm/database-dirty-tracker.js +0 -386
  746. package/esm/database-dirty-tracker.js.map +0 -1
  747. package/esm/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
  748. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
  749. package/esm/drivers/mongodb/mongodb-blueprint.js +0 -51
  750. package/esm/drivers/mongodb/mongodb-blueprint.js.map +0 -1
  751. package/esm/drivers/mongodb/mongodb-driver.d.ts +0 -325
  752. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
  753. package/esm/drivers/mongodb/mongodb-driver.js +0 -845
  754. package/esm/drivers/mongodb/mongodb-driver.js.map +0 -1
  755. package/esm/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
  756. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
  757. package/esm/drivers/mongodb/mongodb-id-generator.js +0 -149
  758. package/esm/drivers/mongodb/mongodb-id-generator.js.map +0 -1
  759. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
  760. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
  761. package/esm/drivers/mongodb/mongodb-migration-driver.js +0 -666
  762. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
  763. package/esm/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
  764. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
  765. package/esm/drivers/mongodb/mongodb-query-builder.js +0 -1988
  766. package/esm/drivers/mongodb/mongodb-query-builder.js.map +0 -1
  767. package/esm/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
  768. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
  769. package/esm/drivers/mongodb/mongodb-query-operations.js +0 -270
  770. package/esm/drivers/mongodb/mongodb-query-operations.js.map +0 -1
  771. package/esm/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
  772. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
  773. package/esm/drivers/mongodb/mongodb-query-parser.js +0 -1351
  774. package/esm/drivers/mongodb/mongodb-query-parser.js.map +0 -1
  775. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
  776. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
  777. package/esm/drivers/mongodb/mongodb-sync-adapter.js +0 -146
  778. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
  779. package/esm/drivers/mongodb/types.d.ts +0 -43
  780. package/esm/drivers/mongodb/types.d.ts.map +0 -1
  781. package/esm/drivers/postgres/index.d.ts +0 -16
  782. package/esm/drivers/postgres/index.d.ts.map +0 -1
  783. package/esm/drivers/postgres/postgres-blueprint.d.ts +0 -64
  784. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
  785. package/esm/drivers/postgres/postgres-blueprint.js +0 -121
  786. package/esm/drivers/postgres/postgres-blueprint.js.map +0 -1
  787. package/esm/drivers/postgres/postgres-dialect.d.ts +0 -136
  788. package/esm/drivers/postgres/postgres-dialect.d.ts.map +0 -1
  789. package/esm/drivers/postgres/postgres-dialect.js +0 -268
  790. package/esm/drivers/postgres/postgres-dialect.js.map +0 -1
  791. package/esm/drivers/postgres/postgres-driver.d.ts +0 -432
  792. package/esm/drivers/postgres/postgres-driver.d.ts.map +0 -1
  793. package/esm/drivers/postgres/postgres-driver.js +0 -1008
  794. package/esm/drivers/postgres/postgres-driver.js.map +0 -1
  795. package/esm/drivers/postgres/postgres-migration-driver.d.ts +0 -397
  796. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
  797. package/esm/drivers/postgres/postgres-migration-driver.js +0 -900
  798. package/esm/drivers/postgres/postgres-migration-driver.js.map +0 -1
  799. package/esm/drivers/postgres/postgres-query-builder.d.ts +0 -254
  800. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
  801. package/esm/drivers/postgres/postgres-query-builder.js +0 -933
  802. package/esm/drivers/postgres/postgres-query-builder.js.map +0 -1
  803. package/esm/drivers/postgres/postgres-query-parser.d.ts +0 -328
  804. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
  805. package/esm/drivers/postgres/postgres-query-parser.js +0 -868
  806. package/esm/drivers/postgres/postgres-query-parser.js.map +0 -1
  807. package/esm/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
  808. package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
  809. package/esm/drivers/postgres/postgres-sql-serializer.js +0 -400
  810. package/esm/drivers/postgres/postgres-sql-serializer.js.map +0 -1
  811. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
  812. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
  813. package/esm/drivers/postgres/postgres-sync-adapter.js +0 -204
  814. package/esm/drivers/postgres/postgres-sync-adapter.js.map +0 -1
  815. package/esm/drivers/postgres/types.d.ts +0 -144
  816. package/esm/drivers/postgres/types.d.ts.map +0 -1
  817. package/esm/drivers/sql/index.d.ts +0 -10
  818. package/esm/drivers/sql/index.d.ts.map +0 -1
  819. package/esm/drivers/sql/sql-dialect.contract.d.ts +0 -204
  820. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
  821. package/esm/drivers/sql/sql-types.d.ts +0 -202
  822. package/esm/drivers/sql/sql-types.d.ts.map +0 -1
  823. package/esm/errors/missing-data-source.error.d.ts +0 -22
  824. package/esm/errors/missing-data-source.error.d.ts.map +0 -1
  825. package/esm/errors/missing-data-source.error.js +0 -29
  826. package/esm/errors/missing-data-source.error.js.map +0 -1
  827. package/esm/errors/transaction-rollback.error.d.ts +0 -20
  828. package/esm/errors/transaction-rollback.error.d.ts.map +0 -1
  829. package/esm/errors/transaction-rollback.error.js +0 -27
  830. package/esm/errors/transaction-rollback.error.js.map +0 -1
  831. package/esm/events/model-events.d.ts +0 -231
  832. package/esm/events/model-events.d.ts.map +0 -1
  833. package/esm/events/model-events.js +0 -259
  834. package/esm/events/model-events.js.map +0 -1
  835. package/esm/expressions/aggregate-expressions.d.ts +0 -215
  836. package/esm/expressions/aggregate-expressions.d.ts.map +0 -1
  837. package/esm/expressions/aggregate-expressions.js +0 -221
  838. package/esm/expressions/aggregate-expressions.js.map +0 -1
  839. package/esm/expressions/index.d.ts +0 -2
  840. package/esm/expressions/index.d.ts.map +0 -1
  841. package/esm/index.d.ts +0 -45
  842. package/esm/index.d.ts.map +0 -1
  843. package/esm/index.js +0 -1
  844. package/esm/index.js.map +0 -1
  845. package/esm/migration/column-builder.d.ts +0 -417
  846. package/esm/migration/column-builder.d.ts.map +0 -1
  847. package/esm/migration/column-builder.js +0 -586
  848. package/esm/migration/column-builder.js.map +0 -1
  849. package/esm/migration/column-helpers.d.ts +0 -275
  850. package/esm/migration/column-helpers.d.ts.map +0 -1
  851. package/esm/migration/column-helpers.js +0 -389
  852. package/esm/migration/column-helpers.js.map +0 -1
  853. package/esm/migration/foreign-key-builder.d.ts +0 -103
  854. package/esm/migration/foreign-key-builder.d.ts.map +0 -1
  855. package/esm/migration/foreign-key-builder.js +0 -121
  856. package/esm/migration/foreign-key-builder.js.map +0 -1
  857. package/esm/migration/index.d.ts +0 -7
  858. package/esm/migration/index.d.ts.map +0 -1
  859. package/esm/migration/migration-runner.d.ts +0 -278
  860. package/esm/migration/migration-runner.d.ts.map +0 -1
  861. package/esm/migration/migration-runner.js +0 -815
  862. package/esm/migration/migration-runner.js.map +0 -1
  863. package/esm/migration/migration.d.ts +0 -1988
  864. package/esm/migration/migration.d.ts.map +0 -1
  865. package/esm/migration/migration.js +0 -2162
  866. package/esm/migration/migration.js.map +0 -1
  867. package/esm/migration/sql-grammar.d.ts +0 -61
  868. package/esm/migration/sql-grammar.d.ts.map +0 -1
  869. package/esm/migration/sql-grammar.js +0 -164
  870. package/esm/migration/sql-grammar.js.map +0 -1
  871. package/esm/migration/sql-serializer.d.ts +0 -22
  872. package/esm/migration/sql-serializer.d.ts.map +0 -1
  873. package/esm/migration/sql-serializer.js +0 -26
  874. package/esm/migration/sql-serializer.js.map +0 -1
  875. package/esm/migration/types.d.ts +0 -155
  876. package/esm/migration/types.d.ts.map +0 -1
  877. package/esm/model/methods/accessor-methods.d.ts +0 -13
  878. package/esm/model/methods/accessor-methods.d.ts.map +0 -1
  879. package/esm/model/methods/accessor-methods.js +0 -51
  880. package/esm/model/methods/accessor-methods.js.map +0 -1
  881. package/esm/model/methods/delete-methods.d.ts +0 -10
  882. package/esm/model/methods/delete-methods.d.ts.map +0 -1
  883. package/esm/model/methods/delete-methods.js +0 -10
  884. package/esm/model/methods/delete-methods.js.map +0 -1
  885. package/esm/model/methods/dirty-methods.d.ts +0 -10
  886. package/esm/model/methods/dirty-methods.d.ts.map +0 -1
  887. package/esm/model/methods/dirty-methods.js +0 -15
  888. package/esm/model/methods/dirty-methods.js.map +0 -1
  889. package/esm/model/methods/hydration-methods.d.ts +0 -10
  890. package/esm/model/methods/hydration-methods.d.ts.map +0 -1
  891. package/esm/model/methods/hydration-methods.js +0 -57
  892. package/esm/model/methods/hydration-methods.js.map +0 -1
  893. package/esm/model/methods/instance-event-methods.d.ts +0 -7
  894. package/esm/model/methods/instance-event-methods.d.ts.map +0 -1
  895. package/esm/model/methods/instance-event-methods.js +0 -15
  896. package/esm/model/methods/instance-event-methods.js.map +0 -1
  897. package/esm/model/methods/meta-methods.d.ts +0 -7
  898. package/esm/model/methods/meta-methods.d.ts.map +0 -1
  899. package/esm/model/methods/meta-methods.js +0 -78
  900. package/esm/model/methods/meta-methods.js.map +0 -1
  901. package/esm/model/methods/query-methods.d.ts +0 -24
  902. package/esm/model/methods/query-methods.d.ts.map +0 -1
  903. package/esm/model/methods/query-methods.js +0 -164
  904. package/esm/model/methods/query-methods.js.map +0 -1
  905. package/esm/model/methods/restore-methods.d.ts +0 -10
  906. package/esm/model/methods/restore-methods.d.ts.map +0 -1
  907. package/esm/model/methods/restore-methods.js +0 -13
  908. package/esm/model/methods/restore-methods.js.map +0 -1
  909. package/esm/model/methods/scope-methods.d.ts +0 -7
  910. package/esm/model/methods/scope-methods.d.ts.map +0 -1
  911. package/esm/model/methods/scope-methods.js +0 -15
  912. package/esm/model/methods/scope-methods.js.map +0 -1
  913. package/esm/model/methods/serialization-methods.d.ts +0 -3
  914. package/esm/model/methods/serialization-methods.d.ts.map +0 -1
  915. package/esm/model/methods/serialization-methods.js +0 -27
  916. package/esm/model/methods/serialization-methods.js.map +0 -1
  917. package/esm/model/methods/static-event-methods.d.ts +0 -9
  918. package/esm/model/methods/static-event-methods.d.ts.map +0 -1
  919. package/esm/model/methods/static-event-methods.js +0 -29
  920. package/esm/model/methods/static-event-methods.js.map +0 -1
  921. package/esm/model/methods/write-methods.d.ts +0 -10
  922. package/esm/model/methods/write-methods.d.ts.map +0 -1
  923. package/esm/model/methods/write-methods.js +0 -52
  924. package/esm/model/methods/write-methods.js.map +0 -1
  925. package/esm/model/model.d.ts +0 -1647
  926. package/esm/model/model.d.ts.map +0 -1
  927. package/esm/model/model.js +0 -1657
  928. package/esm/model/model.js.map +0 -1
  929. package/esm/model/model.types.d.ts +0 -44
  930. package/esm/model/model.types.d.ts.map +0 -1
  931. package/esm/model/register-model.d.ts +0 -81
  932. package/esm/model/register-model.d.ts.map +0 -1
  933. package/esm/model/register-model.js +0 -94
  934. package/esm/model/register-model.js.map +0 -1
  935. package/esm/query-builder/query-builder.d.ts +0 -556
  936. package/esm/query-builder/query-builder.d.ts.map +0 -1
  937. package/esm/query-builder/query-builder.js +0 -1070
  938. package/esm/query-builder/query-builder.js.map +0 -1
  939. package/esm/relations/helpers.d.ts +0 -156
  940. package/esm/relations/helpers.d.ts.map +0 -1
  941. package/esm/relations/helpers.js +0 -202
  942. package/esm/relations/helpers.js.map +0 -1
  943. package/esm/relations/index.d.ts +0 -35
  944. package/esm/relations/index.d.ts.map +0 -1
  945. package/esm/relations/pivot-operations.d.ts +0 -160
  946. package/esm/relations/pivot-operations.d.ts.map +0 -1
  947. package/esm/relations/pivot-operations.js +0 -293
  948. package/esm/relations/pivot-operations.js.map +0 -1
  949. package/esm/relations/relation-hydrator.d.ts +0 -68
  950. package/esm/relations/relation-hydrator.d.ts.map +0 -1
  951. package/esm/relations/relation-hydrator.js +0 -81
  952. package/esm/relations/relation-hydrator.js.map +0 -1
  953. package/esm/relations/relation-loader.d.ts +0 -194
  954. package/esm/relations/relation-loader.d.ts.map +0 -1
  955. package/esm/relations/relation-loader.js +0 -466
  956. package/esm/relations/relation-loader.js.map +0 -1
  957. package/esm/relations/types.d.ts +0 -306
  958. package/esm/relations/types.d.ts.map +0 -1
  959. package/esm/remover/database-remover.d.ts +0 -100
  960. package/esm/remover/database-remover.d.ts.map +0 -1
  961. package/esm/remover/database-remover.js +0 -214
  962. package/esm/remover/database-remover.js.map +0 -1
  963. package/esm/restorer/database-restorer.d.ts +0 -131
  964. package/esm/restorer/database-restorer.d.ts.map +0 -1
  965. package/esm/restorer/database-restorer.js +0 -434
  966. package/esm/restorer/database-restorer.js.map +0 -1
  967. package/esm/sql-database-dirty-tracker.d.ts +0 -13
  968. package/esm/sql-database-dirty-tracker.d.ts.map +0 -1
  969. package/esm/sql-database-dirty-tracker.js +0 -14
  970. package/esm/sql-database-dirty-tracker.js.map +0 -1
  971. package/esm/sync/index.d.ts +0 -12
  972. package/esm/sync/index.d.ts.map +0 -1
  973. package/esm/sync/model-events.d.ts +0 -62
  974. package/esm/sync/model-events.d.ts.map +0 -1
  975. package/esm/sync/model-events.js +0 -49
  976. package/esm/sync/model-events.js.map +0 -1
  977. package/esm/sync/model-sync-operation.d.ts +0 -163
  978. package/esm/sync/model-sync-operation.d.ts.map +0 -1
  979. package/esm/sync/model-sync-operation.js +0 -292
  980. package/esm/sync/model-sync-operation.js.map +0 -1
  981. package/esm/sync/model-sync.d.ts +0 -130
  982. package/esm/sync/model-sync.d.ts.map +0 -1
  983. package/esm/sync/model-sync.js +0 -178
  984. package/esm/sync/model-sync.js.map +0 -1
  985. package/esm/sync/sync-context.d.ts +0 -70
  986. package/esm/sync/sync-context.d.ts.map +0 -1
  987. package/esm/sync/sync-context.js +0 -101
  988. package/esm/sync/sync-context.js.map +0 -1
  989. package/esm/sync/sync-manager.d.ts +0 -213
  990. package/esm/sync/sync-manager.d.ts.map +0 -1
  991. package/esm/sync/sync-manager.js +0 -689
  992. package/esm/sync/sync-manager.js.map +0 -1
  993. package/esm/sync/types.d.ts +0 -289
  994. package/esm/sync/types.d.ts.map +0 -1
  995. package/esm/test-migrations/test-enhanced-features.migration.d.ts +0 -15
  996. package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
  997. package/esm/types.d.ts +0 -371
  998. package/esm/types.d.ts.map +0 -1
  999. package/esm/utils/connect-to-database.d.ts +0 -307
  1000. package/esm/utils/connect-to-database.d.ts.map +0 -1
  1001. package/esm/utils/connect-to-database.js +0 -130
  1002. package/esm/utils/connect-to-database.js.map +0 -1
  1003. package/esm/utils/database-writer.utils.d.ts +0 -15
  1004. package/esm/utils/database-writer.utils.d.ts.map +0 -1
  1005. package/esm/utils/database-writer.utils.js +0 -14
  1006. package/esm/utils/database-writer.utils.js.map +0 -1
  1007. package/esm/utils/define-model.js +0 -100
  1008. package/esm/utils/define-model.js.map +0 -1
  1009. package/esm/utils/is-valid-date-value.d.ts +0 -5
  1010. package/esm/utils/is-valid-date-value.d.ts.map +0 -1
  1011. package/esm/utils/is-valid-date-value.js +0 -25
  1012. package/esm/utils/is-valid-date-value.js.map +0 -1
  1013. package/esm/utils/once-connected.d.ts +0 -146
  1014. package/esm/utils/once-connected.d.ts.map +0 -1
  1015. package/esm/utils/once-connected.js +0 -251
  1016. package/esm/utils/once-connected.js.map +0 -1
  1017. package/esm/validation/database-seal-plugins.d.ts +0 -12
  1018. package/esm/validation/database-seal-plugins.d.ts.map +0 -1
  1019. package/esm/validation/database-seal-plugins.js +0 -1
  1020. package/esm/validation/database-seal-plugins.js.map +0 -1
  1021. package/esm/validation/database-writer-validation-error.d.ts +0 -97
  1022. package/esm/validation/database-writer-validation-error.d.ts.map +0 -1
  1023. package/esm/validation/database-writer-validation-error.js +0 -160
  1024. package/esm/validation/database-writer-validation-error.js.map +0 -1
  1025. package/esm/validation/index.d.ts +0 -3
  1026. package/esm/validation/index.d.ts.map +0 -1
  1027. package/esm/validation/mutators/embed-mutator.d.ts +0 -9
  1028. package/esm/validation/mutators/embed-mutator.d.ts.map +0 -1
  1029. package/esm/validation/mutators/embed-mutator.js +0 -33
  1030. package/esm/validation/mutators/embed-mutator.js.map +0 -1
  1031. package/esm/validation/plugins/embed-validator-plugin.d.ts +0 -24
  1032. package/esm/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
  1033. package/esm/validation/plugins/embed-validator-plugin.js +0 -18
  1034. package/esm/validation/plugins/embed-validator-plugin.js.map +0 -1
  1035. package/esm/validation/rules/database-model-rule.d.ts +0 -7
  1036. package/esm/validation/rules/database-model-rule.d.ts.map +0 -1
  1037. package/esm/validation/rules/database-model-rule.js +0 -27
  1038. package/esm/validation/rules/database-model-rule.js.map +0 -1
  1039. package/esm/validation/transformers/embed-model-transformer.d.ts +0 -3
  1040. package/esm/validation/transformers/embed-model-transformer.d.ts.map +0 -1
  1041. package/esm/validation/transformers/embed-model-transformer.js +0 -18
  1042. package/esm/validation/transformers/embed-model-transformer.js.map +0 -1
  1043. package/esm/validation/validators/embed-validator.d.ts +0 -21
  1044. package/esm/validation/validators/embed-validator.d.ts.map +0 -1
  1045. package/esm/validation/validators/embed-validator.js +0 -43
  1046. package/esm/validation/validators/embed-validator.js.map +0 -1
  1047. package/esm/writer/database-writer.d.ts +0 -174
  1048. package/esm/writer/database-writer.d.ts.map +0 -1
  1049. package/esm/writer/database-writer.js +0 -400
  1050. package/esm/writer/database-writer.js.map +0 -1
@@ -0,0 +1,136 @@
1
+ import { Migration } from "./migration.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/migration/types.d.ts
4
+ /**
5
+ * Result of a single migration execution.
6
+ */
7
+ interface MigrationResult {
8
+ /** Migration name/identifier */
9
+ readonly name: string;
10
+ /** Table/collection affected */
11
+ readonly table: string;
12
+ /** Direction executed */
13
+ readonly direction: "up" | "down";
14
+ /** Whether execution was successful */
15
+ readonly success: boolean;
16
+ /** Error message if failed */
17
+ readonly error?: string;
18
+ /** Execution duration in milliseconds */
19
+ readonly durationMs: number;
20
+ /** Timestamp of execution */
21
+ readonly executedAt: Date;
22
+ }
23
+ /**
24
+ * Status of a migration file.
25
+ */
26
+ interface MigrationStatus {
27
+ /** Migration name/identifier */
28
+ readonly name: string;
29
+ /** Table/collection affected */
30
+ readonly table: string;
31
+ /** Whether migration has been run */
32
+ readonly executed: boolean;
33
+ /** Batch number (null if not executed) */
34
+ readonly batch: number | null;
35
+ /** Timestamp when executed (null if not executed) */
36
+ readonly executedAt: Date | null;
37
+ /** File path of the migration */
38
+ readonly filePath: string;
39
+ }
40
+ /**
41
+ * Pending migration ready to be executed.
42
+ */
43
+ interface PendingMigration {
44
+ /** Migration name/identifier */
45
+ readonly name: string;
46
+ /** Table/collection affected */
47
+ readonly table: string;
48
+ /** Migration instance */
49
+ readonly migration: Migration;
50
+ /** File path of the migration */
51
+ readonly filePath: string;
52
+ /** Parsed createdAt timestamp */
53
+ readonly createdAt: Date;
54
+ }
55
+ /**
56
+ * Record stored in the migrations table.
57
+ */
58
+ interface MigrationRecord {
59
+ /** Migration name/identifier */
60
+ name: string;
61
+ /** Batch number */
62
+ batch: number;
63
+ /** Migration when executed */
64
+ executedAt: Date;
65
+ /** Migration file creation time */
66
+ createdAt: Date;
67
+ }
68
+ /**
69
+ * Options for the migration runner.
70
+ */
71
+ interface MigrationRunnerOptions {
72
+ /**
73
+ * Glob pattern for finding migration files.
74
+ *
75
+ * @default "**\/*.migration.ts"
76
+ */
77
+ readonly pattern?: string;
78
+ /**
79
+ * Base directory to search for migrations.
80
+ */
81
+ readonly directory: string;
82
+ /**
83
+ * Table/collection name to store migration history.
84
+ *
85
+ * @default "_migrations"
86
+ */
87
+ readonly migrationsTable?: string;
88
+ /**
89
+ * Whether to run in dry-run mode (no actual changes).
90
+ *
91
+ * @default false
92
+ */
93
+ readonly dryRun?: boolean;
94
+ /**
95
+ * Whether to log operations.
96
+ *
97
+ * @default true
98
+ */
99
+ readonly verbose?: boolean;
100
+ }
101
+ /**
102
+ * Options for running migrations.
103
+ */
104
+ interface RunMigrationsOptions {
105
+ /**
106
+ * Specific migrations to run (by name).
107
+ * If not provided, runs all pending migrations.
108
+ */
109
+ readonly only?: string[];
110
+ /**
111
+ * Run in dry-run mode (no actual changes).
112
+ */
113
+ readonly dryRun?: boolean;
114
+ }
115
+ /**
116
+ * Options for rolling back migrations.
117
+ */
118
+ interface RollbackOptions {
119
+ /**
120
+ * Number of batches to rollback.
121
+ *
122
+ * @default 1
123
+ */
124
+ readonly batches?: number;
125
+ /**
126
+ * Specific migrations to rollback (by name).
127
+ */
128
+ readonly only?: string[];
129
+ /**
130
+ * Run in dry-run mode (no actual changes).
131
+ */
132
+ readonly dryRun?: boolean;
133
+ }
134
+ //#endregion
135
+ export { MigrationRecord, MigrationResult, MigrationRunnerOptions, MigrationStatus, PendingMigration, RollbackOptions, RunMigrationsOptions };
136
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/migration/types.ts"],"mappings":";;;;;AAKA;UAAiB,eAAA;;WAEN,IAAA;EAAA;EAAA,SAEA,KAAA;EAEA;EAAA,SAAA,SAAA;EAIA;EAAA,SAFA,OAAA;EAMA;EAAA,SAJA,KAAA;EAIgB;EAAA,SAFhB,UAAA;EAQM;EAAA,SANN,UAAA,EAAY,IAAI;AAAA;;;;UAMV,eAAA;EAQN;EAAA,SANA,IAAA;EAQY;EAAA,SANZ,KAAA;EAQQ;EAAA,SANR,QAAA;EAYM;EAAA,SAVN,KAAA;;WAEA,UAAA,EAAY,IAAI;EAUhB;EAAA,SARA,QAAA;AAAA;;;;UAMM,gBAAA;EAUS;EAAA,SARf,IAAA;EAcM;EAAA,SAZN,KAAA;;WAEA,SAAA,EAAW,SAAA;EAYpB;EAAA,SAVS,QAAA;EAcT;EAAA,SAZS,SAAA,EAAW,IAAI;AAAA;;;AAcT;UARA,eAAA;EAcsB;EAZrC,IAAA;EAYqC;EAVrC,KAAA;EAqBS;EAnBT,UAAA,EAAY,IAAA;EAiCH;EA/BT,SAAA,EAAW,IAAI;AAAA;AAsCC;AAMlB;;AANkB,UAhCD,sBAAA;EA2CN;AAKM;AAMjB;;;EAXW,SArCA,OAAA;EAsDA;;;EAAA,SAjDA,SAAA;EA2DM;;;;;EAAA,SApDN,eAAA;;;;;;WAOA,MAAA;;;;;;WAOA,OAAA;AAAA;;;;UAMM,oBAAA;;;;;WAKN,IAAA;;;;WAKA,MAAM;AAAA;;;;UAMA,eAAA;;;;;;WAMN,OAAA;;;;WAKA,IAAA;;;;WAKA,MAAA;AAAA"}
@@ -0,0 +1,54 @@
1
+ import { get, merge, only, set, unset } from "@mongez/reinforcements";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/methods/accessor-methods.ts
4
+ /**
5
+ * Sentinel symbol to distinguish a genuinely missing field from a field
6
+ * whose value is `undefined`. Encapsulated here — callers use `hasField()`.
7
+ */
8
+ const MISSING_VALUE = Symbol("missing");
9
+ function getFieldValue(model, field, defaultValue) {
10
+ return get(model.data, field, defaultValue);
11
+ }
12
+ function setFieldValue(model, field, value) {
13
+ const path = String(field);
14
+ set(model.data, path, value);
15
+ const partial = {};
16
+ set(partial, path, value);
17
+ model.dirtyTracker.mergeChanges(partial);
18
+ return model;
19
+ }
20
+ function hasField(model, field) {
21
+ return get(model.data, field, MISSING_VALUE) !== MISSING_VALUE;
22
+ }
23
+ function incrementField(model, field, amount) {
24
+ return setFieldValue(model, field, getFieldValue(model, field, 0) + (amount ?? 1));
25
+ }
26
+ function decrementField(model, field, amount) {
27
+ return setFieldValue(model, field, getFieldValue(model, field, 0) - (amount ?? 1));
28
+ }
29
+ function unsetFields(model, ...fields) {
30
+ model.data = unset(model.data, fields);
31
+ model.dirtyTracker.unset(fields);
32
+ return model;
33
+ }
34
+ function mergeFields(model, values) {
35
+ model.data = merge(model.data, values);
36
+ model.dirtyTracker.mergeChanges(values);
37
+ return model;
38
+ }
39
+ function getOnlyFields(model, fields) {
40
+ return only(model.data, fields);
41
+ }
42
+ function getStringField(model, key, defaultValue) {
43
+ return getFieldValue(model, key, defaultValue);
44
+ }
45
+ function getNumberField(model, key, defaultValue) {
46
+ return getFieldValue(model, key, defaultValue);
47
+ }
48
+ function getBooleanField(model, key, defaultValue) {
49
+ return getFieldValue(model, key, defaultValue);
50
+ }
51
+
52
+ //#endregion
53
+ export { decrementField, getBooleanField, getFieldValue, getNumberField, getOnlyFields, getStringField, hasField, incrementField, mergeFields, setFieldValue, unsetFields };
54
+ //# sourceMappingURL=accessor-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessor-methods.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/accessor-methods.ts"],"sourcesContent":["import { get, merge, only, set, unset } from \"@mongez/reinforcements\";\nimport type { Model } from \"../model\";\n\n/**\n * Sentinel symbol to distinguish a genuinely missing field from a field\n * whose value is `undefined`. Encapsulated here — callers use `hasField()`.\n */\nconst MISSING_VALUE = Symbol(\"missing\");\n\nexport function getFieldValue(model: Model, field: string, defaultValue?: unknown): any {\n return get(model.data, field, defaultValue);\n}\n\nexport function setFieldValue(model: Model, field: string, value: unknown): Model {\n const path = String(field);\n set(model.data, path, value);\n\n const partial: Record<string, unknown> = {};\n set(partial, path, value);\n model.dirtyTracker.mergeChanges(partial);\n\n return model;\n}\n\nexport function hasField(model: Model, field: string): boolean {\n return get(model.data, field, MISSING_VALUE as any) !== MISSING_VALUE;\n}\n\nexport function incrementField(model: Model, field: string, amount?: number): Model {\n const value = getFieldValue(model, field, 0) as number;\n const incrementedValue = value + (amount ?? 1);\n return setFieldValue(model, field, incrementedValue);\n}\n\nexport function decrementField(model: Model, field: string, amount?: number): Model {\n const value = getFieldValue(model, field, 0) as number;\n const decrementedValue = value - (amount ?? 1);\n return setFieldValue(model, field, decrementedValue);\n}\n\nexport function unsetFields(model: Model, ...fields: string[]): Model {\n model.data = unset(model.data, fields);\n model.dirtyTracker.unset(fields);\n\n return model;\n}\n\nexport function mergeFields(model: Model, values: Record<string, unknown>): Model {\n model.data = merge(model.data, values) as any;\n model.dirtyTracker.mergeChanges(values);\n return model;\n}\n\nexport function getOnlyFields(model: Model, fields: string[]): Record<string, unknown> {\n return only(model.data, fields);\n}\n\nexport function getStringField(model: Model, key: string, defaultValue?: string): string | undefined {\n return getFieldValue(model, key, defaultValue) as string | undefined;\n}\n\nexport function getNumberField(model: Model, key: string, defaultValue?: number): number | undefined {\n return getFieldValue(model, key, defaultValue) as number | undefined;\n}\n\nexport function getBooleanField(model: Model, key: string, defaultValue?: boolean): boolean | undefined {\n return getFieldValue(model, key, defaultValue) as boolean | undefined;\n}\n"],"mappings":";;;;;;;AAOA,MAAM,gBAAgB,OAAO,SAAS;AAEtC,SAAgB,cAAc,OAAc,OAAe,cAA6B;CACtF,OAAO,IAAI,MAAM,MAAM,OAAO,YAAY;AAC5C;AAEA,SAAgB,cAAc,OAAc,OAAe,OAAuB;CAChF,MAAM,OAAO,OAAO,KAAK;CACzB,IAAI,MAAM,MAAM,MAAM,KAAK;CAE3B,MAAM,UAAmC,CAAC;CAC1C,IAAI,SAAS,MAAM,KAAK;CACxB,MAAM,aAAa,aAAa,OAAO;CAEvC,OAAO;AACT;AAEA,SAAgB,SAAS,OAAc,OAAwB;CAC7D,OAAO,IAAI,MAAM,MAAM,OAAO,aAAoB,MAAM;AAC1D;AAEA,SAAgB,eAAe,OAAc,OAAe,QAAwB;CAGlF,OAAO,cAAc,OAAO,OAFd,cAAc,OAAO,OAAO,CACb,KAAK,UAAU,EACO;AACrD;AAEA,SAAgB,eAAe,OAAc,OAAe,QAAwB;CAGlF,OAAO,cAAc,OAAO,OAFd,cAAc,OAAO,OAAO,CACb,KAAK,UAAU,EACO;AACrD;AAEA,SAAgB,YAAY,OAAc,GAAG,QAAyB;CACpE,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM;CACrC,MAAM,aAAa,MAAM,MAAM;CAE/B,OAAO;AACT;AAEA,SAAgB,YAAY,OAAc,QAAwC;CAChF,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM;CACrC,MAAM,aAAa,aAAa,MAAM;CACtC,OAAO;AACT;AAEA,SAAgB,cAAc,OAAc,QAA2C;CACrF,OAAO,KAAK,MAAM,MAAM,MAAM;AAChC;AAEA,SAAgB,eAAe,OAAc,KAAa,cAA2C;CACnG,OAAO,cAAc,OAAO,KAAK,YAAY;AAC/C;AAEA,SAAgB,eAAe,OAAc,KAAa,cAA2C;CACnG,OAAO,cAAc,OAAO,KAAK,YAAY;AAC/C;AAEA,SAAgB,gBAAgB,OAAc,KAAa,cAA6C;CACtG,OAAO,cAAc,OAAO,KAAK,YAAY;AAC/C"}
@@ -0,0 +1,16 @@
1
+ import { DatabaseRemover } from "../../remover/database-remover.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/methods/delete-methods.ts
4
+ async function destroyModel(model, options) {
5
+ return new DatabaseRemover(model).destroy(options);
6
+ }
7
+ async function deleteRecords(ModelClass, filter) {
8
+ return ModelClass.getDriver().deleteMany(ModelClass.table, filter);
9
+ }
10
+ async function deleteOneRecord(ModelClass, filter) {
11
+ return ModelClass.getDriver().delete(ModelClass.table, filter);
12
+ }
13
+
14
+ //#endregion
15
+ export { deleteOneRecord, deleteRecords, destroyModel };
16
+ //# sourceMappingURL=delete-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-methods.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/delete-methods.ts"],"sourcesContent":["import { DatabaseRemover } from \"../../remover/database-remover\";\nimport type { DeleteStrategy } from \"../../types\";\nimport type { RemoverResult } from \"../../contracts\";\nimport type { ChildModel, Model } from \"../model\";\n\nexport async function destroyModel(\n model: Model,\n options?: { strategy?: DeleteStrategy; skipEvents?: boolean },\n): Promise<RemoverResult> {\n const remover = new DatabaseRemover(model);\n return remover.destroy(options);\n}\n\nexport async function deleteRecords(\n ModelClass: ChildModel<any>,\n filter?: Record<string, unknown>,\n): Promise<number> {\n return ModelClass.getDriver().deleteMany(ModelClass.table, filter);\n}\n\nexport async function deleteOneRecord(\n ModelClass: ChildModel<any>,\n filter?: Record<string, unknown>,\n): Promise<number> {\n return ModelClass.getDriver().delete(ModelClass.table, filter);\n}\n"],"mappings":";;;AAKA,eAAsB,aACpB,OACA,SACwB;CAExB,OAAO,IADa,gBAAgB,KACvB,EAAE,QAAQ,OAAO;AAChC;AAEA,eAAsB,cACpB,YACA,QACiB;CACjB,OAAO,WAAW,UAAU,EAAE,WAAW,WAAW,OAAO,MAAM;AACnE;AAEA,eAAsB,gBACpB,YACA,QACiB;CACjB,OAAO,WAAW,UAAU,EAAE,OAAO,WAAW,OAAO,MAAM;AAC/D"}
@@ -0,0 +1,20 @@
1
+ //#region ../../@warlock.js/cascade/src/model/methods/dirty-methods.ts
2
+ function checkHasChanges(model) {
3
+ return model.dirtyTracker.hasChanges();
4
+ }
5
+ function checkIsDirty(model, column) {
6
+ return model.dirtyTracker.isDirty(column);
7
+ }
8
+ function getDirtyColumnsWithValues(model) {
9
+ return model.dirtyTracker.getDirtyColumnsWithValues();
10
+ }
11
+ function getRemovedColumns(model) {
12
+ return model.dirtyTracker.getRemovedColumns();
13
+ }
14
+ function getDirtyColumns(model) {
15
+ return model.dirtyTracker.getDirtyColumns();
16
+ }
17
+
18
+ //#endregion
19
+ export { checkHasChanges, checkIsDirty, getDirtyColumns, getDirtyColumnsWithValues, getRemovedColumns };
20
+ //# sourceMappingURL=dirty-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dirty-methods.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/dirty-methods.ts"],"sourcesContent":["import type { Model } from \"../model\";\n\nexport function checkHasChanges(model: Model): boolean {\n return model.dirtyTracker.hasChanges();\n}\n\nexport function checkIsDirty(model: Model, column: string): boolean {\n return model.dirtyTracker.isDirty(column);\n}\n\nexport function getDirtyColumnsWithValues(model: Model): Record<string, { oldValue: unknown; newValue: unknown }> {\n return model.dirtyTracker.getDirtyColumnsWithValues();\n}\n\nexport function getRemovedColumns(model: Model): string[] {\n return model.dirtyTracker.getRemovedColumns();\n}\n\nexport function getDirtyColumns(model: Model): string[] {\n return model.dirtyTracker.getDirtyColumns();\n}\n"],"mappings":";AAEA,SAAgB,gBAAgB,OAAuB;CACrD,OAAO,MAAM,aAAa,WAAW;AACvC;AAEA,SAAgB,aAAa,OAAc,QAAyB;CAClE,OAAO,MAAM,aAAa,QAAQ,MAAM;AAC1C;AAEA,SAAgB,0BAA0B,OAAwE;CAChH,OAAO,MAAM,aAAa,0BAA0B;AACtD;AAEA,SAAgB,kBAAkB,OAAwB;CACxD,OAAO,MAAM,aAAa,kBAAkB;AAC9C;AAEA,SAAgB,gBAAgB,OAAwB;CACtD,OAAO,MAAM,aAAa,gBAAgB;AAC5C"}
@@ -0,0 +1,51 @@
1
+ import { RelationHydrator } from "../../relations/relation-hydrator.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/methods/hydration-methods.ts
4
+ function hydrateModel(ModelClass, data) {
5
+ const model = new ModelClass(ModelClass.getDriver().deserialize(data));
6
+ model.isNew = false;
7
+ return model;
8
+ }
9
+ function modelFromSnapshot(ModelClass, snapshot) {
10
+ const model = ModelClass.hydrate(snapshot.data);
11
+ RelationHydrator.hydrate(model, ModelClass.relations, snapshot.relations);
12
+ return model;
13
+ }
14
+ function modelToSnapshot(model) {
15
+ const driver = model.constructor.getDataSource().driver;
16
+ const relations = {};
17
+ for (const [name, related] of model.loadedRelations) if (related === null) relations[name] = null;
18
+ else if (Array.isArray(related)) relations[name] = related.map((m) => m instanceof Object && typeof m.toSnapshot === "function" ? m.toSnapshot() : m);
19
+ else if (related instanceof Object && typeof related.toSnapshot === "function") relations[name] = related.toSnapshot();
20
+ return {
21
+ data: driver.serialize({ ...model.data }),
22
+ relations
23
+ };
24
+ }
25
+ function serializeModel(model) {
26
+ return model.constructor.getDataSource().driver.serialize(model.data);
27
+ }
28
+ function cloneModel(model) {
29
+ const clonedData = JSON.parse(JSON.stringify(model.data));
30
+ const clonedModel = new (model.self())(clonedData);
31
+ clonedModel.isNew = model.isNew;
32
+ deepFreezeObject(clonedModel.data);
33
+ clonedModel.dirtyTracker.reset();
34
+ return clonedModel;
35
+ }
36
+ function deepFreezeObject(obj) {
37
+ Object.freeze(obj);
38
+ Object.getOwnPropertyNames(obj).forEach((prop) => {
39
+ const value = obj[prop];
40
+ if (value !== null && (typeof value === "object" || typeof value === "function") && !Object.isFrozen(value)) deepFreezeObject(value);
41
+ });
42
+ return obj;
43
+ }
44
+ function replaceModelData(model, data) {
45
+ model.data = data;
46
+ model.dirtyTracker.replaceCurrentData(data);
47
+ }
48
+
49
+ //#endregion
50
+ export { cloneModel, deepFreezeObject, hydrateModel, modelFromSnapshot, modelToSnapshot, replaceModelData, serializeModel };
51
+ //# sourceMappingURL=hydration-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydration-methods.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/hydration-methods.ts"],"sourcesContent":["import { RelationHydrator, type ModelSnapshot, type SerializedRelation } from \"../../relations/relation-hydrator\";\nimport type { ChildModel, Model } from \"../model\";\n\nexport function hydrateModel<TModel extends Model = Model>(\n ModelClass: ChildModel<TModel>,\n data: Record<string, unknown>,\n): TModel {\n const model = new ModelClass(ModelClass.getDriver().deserialize(data));\n model.isNew = false;\n return model;\n}\n\nexport function modelFromSnapshot<TModel extends Model>(\n ModelClass: ChildModel<TModel>,\n snapshot: ModelSnapshot,\n): TModel {\n const model = ModelClass.hydrate(snapshot.data) as TModel;\n RelationHydrator.hydrate(model, ModelClass.relations, snapshot.relations);\n return model;\n}\n\nexport function modelToSnapshot(model: Model): ModelSnapshot {\n const driver = (model.constructor as typeof Model).getDataSource().driver;\n const relations: Record<string, SerializedRelation> = {};\n\n for (const [name, related] of model.loadedRelations) {\n if (related === null) {\n relations[name] = null;\n } else if (Array.isArray(related)) {\n relations[name] = related.map((m) => (m instanceof Object && typeof m.toSnapshot === \"function\" ? m.toSnapshot() : m));\n } else if (related instanceof Object && typeof related.toSnapshot === \"function\") {\n relations[name] = related.toSnapshot();\n }\n }\n\n return {\n data: driver.serialize({ ...model.data }) as Record<string, unknown>,\n relations,\n };\n}\n\nexport function serializeModel(model: Model) {\n return (model.constructor as typeof Model).getDataSource().driver.serialize(model.data);\n}\n\nexport function cloneModel<TModel extends Model>(model: TModel): TModel {\n const clonedData = JSON.parse(JSON.stringify(model.data));\n const ModelClass = model.self();\n const clonedModel = new ModelClass(clonedData) as TModel;\n\n clonedModel.isNew = model.isNew;\n deepFreezeObject(clonedModel.data);\n clonedModel.dirtyTracker.reset();\n\n return clonedModel;\n}\n\nexport function deepFreezeObject<T>(obj: T): T {\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n const value = (obj as any)[prop];\n if (\n value !== null &&\n (typeof value === \"object\" || typeof value === \"function\") &&\n !Object.isFrozen(value)\n ) {\n deepFreezeObject(value);\n }\n });\n\n return obj;\n}\n\nexport function replaceModelData<TModel extends Model>(\n model: TModel,\n data: Record<string, unknown>,\n): void {\n model.data = data as any;\n model.dirtyTracker.replaceCurrentData(data);\n}\n"],"mappings":";;;AAGA,SAAgB,aACd,YACA,MACQ;CACR,MAAM,QAAQ,IAAI,WAAW,WAAW,UAAU,EAAE,YAAY,IAAI,CAAC;CACrE,MAAM,QAAQ;CACd,OAAO;AACT;AAEA,SAAgB,kBACd,YACA,UACQ;CACR,MAAM,QAAQ,WAAW,QAAQ,SAAS,IAAI;CAC9C,iBAAiB,QAAQ,OAAO,WAAW,WAAW,SAAS,SAAS;CACxE,OAAO;AACT;AAEA,SAAgB,gBAAgB,OAA6B;CAC3D,MAAM,SAAU,MAAM,YAA6B,cAAc,EAAE;CACnE,MAAM,YAAgD,CAAC;CAEvD,KAAK,MAAM,CAAC,MAAM,YAAY,MAAM,iBAClC,IAAI,YAAY,MACd,UAAU,QAAQ;MACb,IAAI,MAAM,QAAQ,OAAO,GAC9B,UAAU,QAAQ,QAAQ,KAAK,MAAO,aAAa,UAAU,OAAO,EAAE,eAAe,aAAa,EAAE,WAAW,IAAI,CAAE;MAChH,IAAI,mBAAmB,UAAU,OAAO,QAAQ,eAAe,YACpE,UAAU,QAAQ,QAAQ,WAAW;CAIzC,OAAO;EACL,MAAM,OAAO,UAAU,EAAE,GAAG,MAAM,KAAK,CAAC;EACxC;CACF;AACF;AAEA,SAAgB,eAAe,OAAc;CAC3C,OAAQ,MAAM,YAA6B,cAAc,EAAE,OAAO,UAAU,MAAM,IAAI;AACxF;AAEA,SAAgB,WAAiC,OAAuB;CACtE,MAAM,aAAa,KAAK,MAAM,KAAK,UAAU,MAAM,IAAI,CAAC;CAExD,MAAM,cAAc,KADD,MAAM,KACQ,GAAE,UAAU;CAE7C,YAAY,QAAQ,MAAM;CAC1B,iBAAiB,YAAY,IAAI;CACjC,YAAY,aAAa,MAAM;CAE/B,OAAO;AACT;AAEA,SAAgB,iBAAoB,KAAW;CAC7C,OAAO,OAAO,GAAG;CAEjB,OAAO,oBAAoB,GAAG,EAAE,SAAS,SAAS;EAChD,MAAM,QAAS,IAAY;EAC3B,IACE,UAAU,SACT,OAAO,UAAU,YAAY,OAAO,UAAU,eAC/C,CAAC,OAAO,SAAS,KAAK,GAEtB,iBAAiB,KAAK;CAE1B,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,iBACd,OACA,MACM;CACN,MAAM,OAAO;CACb,MAAM,aAAa,mBAAmB,IAAI;AAC5C"}
@@ -0,0 +1,22 @@
1
+ import { globalModelEvents } from "../../events/model-events.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/methods/instance-event-methods.ts
4
+ async function emitModelEvent(model, event, context) {
5
+ const ctor = model.constructor;
6
+ await model.events.emit(event, model, context);
7
+ await ctor.events().emit(event, model, context);
8
+ await globalModelEvents.emit(event, model, context);
9
+ }
10
+ function onModelEvent(model, event, listener) {
11
+ return model.events.on(event, listener);
12
+ }
13
+ function onceModelEvent(model, event, listener) {
14
+ return model.events.once(event, listener);
15
+ }
16
+ function offModelEvent(model, event, listener) {
17
+ model.events.off(event, listener);
18
+ }
19
+
20
+ //#endregion
21
+ export { emitModelEvent, offModelEvent, onModelEvent, onceModelEvent };
22
+ //# sourceMappingURL=instance-event-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-event-methods.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/instance-event-methods.ts"],"sourcesContent":["import {\n globalModelEvents,\n type ModelEventListener,\n type ModelEventName,\n} from \"../../events/model-events\";\nimport type { Model } from \"../model\";\n\nexport async function emitModelEvent<TContext = unknown>(\n model: Model,\n event: ModelEventName,\n context?: TContext,\n): Promise<void> {\n const ctor = model.constructor as any;\n await model.events.emit(event, model, context as TContext);\n await ctor.events().emit(event, model, context as TContext);\n await globalModelEvents.emit(event, model, context as TContext);\n}\n\nexport function onModelEvent<TContext = unknown>(\n model: Model,\n event: ModelEventName,\n listener: ModelEventListener<any, TContext>,\n): () => void {\n return model.events.on(event, listener);\n}\n\nexport function onceModelEvent<TContext = unknown>(\n model: Model,\n event: ModelEventName,\n listener: ModelEventListener<any, TContext>,\n): () => void {\n return model.events.once(event, listener);\n}\n\nexport function offModelEvent<TContext = unknown>(\n model: Model,\n event: ModelEventName,\n listener: ModelEventListener<any, TContext>,\n): void {\n model.events.off(event, listener);\n}\n"],"mappings":";;;AAOA,eAAsB,eACpB,OACA,OACA,SACe;CACf,MAAM,OAAO,MAAM;CACnB,MAAM,MAAM,OAAO,KAAK,OAAO,OAAO,OAAmB;CACzD,MAAM,KAAK,OAAO,EAAE,KAAK,OAAO,OAAO,OAAmB;CAC1D,MAAM,kBAAkB,KAAK,OAAO,OAAO,OAAmB;AAChE;AAEA,SAAgB,aACd,OACA,OACA,UACY;CACZ,OAAO,MAAM,OAAO,GAAG,OAAO,QAAQ;AACxC;AAEA,SAAgB,eACd,OACA,OACA,UACY;CACZ,OAAO,MAAM,OAAO,KAAK,OAAO,QAAQ;AAC1C;AAEA,SAAgB,cACd,OACA,OACA,UACM;CACN,MAAM,OAAO,IAAI,OAAO,QAAQ;AAClC"}
@@ -0,0 +1,36 @@
1
+ import { DatabaseWriter } from "../../writer/database-writer.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/methods/meta-methods.ts
4
+ function applyDefaultsToModel(ModelClass, defaults) {
5
+ if (defaults.autoGenerateId !== void 0 && ModelClass.autoGenerateId === void 0) ModelClass.autoGenerateId = defaults.autoGenerateId;
6
+ if (defaults.initialId !== void 0 && ModelClass.initialId === void 0) ModelClass.initialId = defaults.initialId;
7
+ if (defaults.randomInitialId !== void 0 && ModelClass.randomInitialId === void 0) ModelClass.randomInitialId = defaults.randomInitialId;
8
+ if (defaults.incrementIdBy !== void 0 && ModelClass.incrementIdBy === void 0) ModelClass.incrementIdBy = defaults.incrementIdBy;
9
+ if (defaults.randomIncrement !== void 0 && ModelClass.randomIncrement === void 0) ModelClass.randomIncrement = defaults.randomIncrement;
10
+ if (defaults.createdAtColumn !== void 0 && ModelClass.createdAtColumn === void 0) ModelClass.createdAtColumn = defaults.createdAtColumn;
11
+ if (defaults.updatedAtColumn !== void 0 && ModelClass.updatedAtColumn === void 0) ModelClass.updatedAtColumn = defaults.updatedAtColumn;
12
+ if (defaults.deleteStrategy !== void 0 && ModelClass.deleteStrategy === void 0) ModelClass.deleteStrategy = defaults.deleteStrategy;
13
+ if (defaults.deletedAtColumn !== void 0 && ModelClass.deletedAtColumn === void 0) ModelClass.deletedAtColumn = defaults.deletedAtColumn;
14
+ if (defaults.trashTable !== void 0 && ModelClass.trashTable === void 0) if (typeof defaults.trashTable === "function") ModelClass.trashTable = defaults.trashTable(ModelClass.table);
15
+ else ModelClass.trashTable = defaults.trashTable;
16
+ if (defaults.strictMode !== void 0 && ModelClass.strictMode === void 0) ModelClass.strictMode = defaults.strictMode;
17
+ }
18
+ async function generateModelNextId(model) {
19
+ await new DatabaseWriter(model).generateNextId();
20
+ return model.id;
21
+ }
22
+ async function performAtomicUpdate(model, operations) {
23
+ return model.self().atomic({ id: model.id }, operations);
24
+ }
25
+ async function performAtomicIncrement(model, field, amount = 1) {
26
+ model.increment(field, amount);
27
+ return performAtomicUpdate(model, { $inc: { [field]: amount } });
28
+ }
29
+ async function performAtomicDecrement(model, field, amount = 1) {
30
+ model.decrement(field, amount);
31
+ return performAtomicUpdate(model, { $inc: { [field]: -amount } });
32
+ }
33
+
34
+ //#endregion
35
+ export { applyDefaultsToModel, generateModelNextId, performAtomicDecrement, performAtomicIncrement, performAtomicUpdate };
36
+ //# sourceMappingURL=meta-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-methods.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/meta-methods.ts"],"sourcesContent":["import { DatabaseWriter } from \"../../writer/database-writer\";\nimport type { Model } from \"../model\";\n\nexport function applyDefaultsToModel(ModelClass: any, defaults: any): void {\n // Only apply defaults if model doesn't have its own value\n\n // ============================================================================\n // ID Generation\n // ============================================================================\n if (defaults.autoGenerateId !== undefined && ModelClass.autoGenerateId === undefined) {\n ModelClass.autoGenerateId = defaults.autoGenerateId;\n }\n if (defaults.initialId !== undefined && ModelClass.initialId === undefined) {\n ModelClass.initialId = defaults.initialId;\n }\n if (defaults.randomInitialId !== undefined && ModelClass.randomInitialId === undefined) {\n ModelClass.randomInitialId = defaults.randomInitialId;\n }\n if (defaults.incrementIdBy !== undefined && ModelClass.incrementIdBy === undefined) {\n ModelClass.incrementIdBy = defaults.incrementIdBy;\n }\n if (defaults.randomIncrement !== undefined && ModelClass.randomIncrement === undefined) {\n ModelClass.randomIncrement = defaults.randomIncrement;\n }\n\n // ============================================================================\n // Timestamps\n // ============================================================================\n if (defaults.createdAtColumn !== undefined && ModelClass.createdAtColumn === undefined) {\n ModelClass.createdAtColumn = defaults.createdAtColumn;\n }\n\n if (defaults.updatedAtColumn !== undefined && ModelClass.updatedAtColumn === undefined) {\n ModelClass.updatedAtColumn = defaults.updatedAtColumn;\n }\n\n // ============================================================================\n // Deletion\n // ============================================================================\n if (defaults.deleteStrategy !== undefined && ModelClass.deleteStrategy === undefined) {\n ModelClass.deleteStrategy = defaults.deleteStrategy;\n }\n if (defaults.deletedAtColumn !== undefined && ModelClass.deletedAtColumn === undefined) {\n ModelClass.deletedAtColumn = defaults.deletedAtColumn;\n }\n if (defaults.trashTable !== undefined && ModelClass.trashTable === undefined) {\n // Handle function-based trash table\n if (typeof defaults.trashTable === \"function\") {\n ModelClass.trashTable = defaults.trashTable(ModelClass.table);\n } else {\n ModelClass.trashTable = defaults.trashTable;\n }\n }\n\n // ============================================================================\n // Validation\n // ============================================================================\n if (defaults.strictMode !== undefined && ModelClass.strictMode === undefined) {\n ModelClass.strictMode = defaults.strictMode;\n }\n}\n\nexport async function generateModelNextId(model: Model): Promise<number | string> {\n const writer = new DatabaseWriter(model);\n await writer.generateNextId();\n return model.id!;\n}\n\nexport async function performAtomicUpdate(\n model: Model,\n operations: Record<string, unknown>,\n): Promise<number> {\n return model.self().atomic({ id: model.id! }, operations);\n}\n\nexport async function performAtomicIncrement<T extends string>(\n model: Model,\n field: T,\n amount = 1,\n): Promise<number> {\n model.increment(field, amount);\n return performAtomicUpdate(model, {\n $inc: {\n [field]: amount,\n },\n });\n}\n\nexport async function performAtomicDecrement<T extends string>(\n model: Model,\n field: T,\n amount = 1,\n): Promise<number> {\n model.decrement(field, amount);\n return performAtomicUpdate(model, {\n $inc: {\n [field]: -amount,\n },\n });\n}\n"],"mappings":";;;AAGA,SAAgB,qBAAqB,YAAiB,UAAqB;CAMzE,IAAI,SAAS,mBAAmB,UAAa,WAAW,mBAAmB,QACzE,WAAW,iBAAiB,SAAS;CAEvC,IAAI,SAAS,cAAc,UAAa,WAAW,cAAc,QAC/D,WAAW,YAAY,SAAS;CAElC,IAAI,SAAS,oBAAoB,UAAa,WAAW,oBAAoB,QAC3E,WAAW,kBAAkB,SAAS;CAExC,IAAI,SAAS,kBAAkB,UAAa,WAAW,kBAAkB,QACvE,WAAW,gBAAgB,SAAS;CAEtC,IAAI,SAAS,oBAAoB,UAAa,WAAW,oBAAoB,QAC3E,WAAW,kBAAkB,SAAS;CAMxC,IAAI,SAAS,oBAAoB,UAAa,WAAW,oBAAoB,QAC3E,WAAW,kBAAkB,SAAS;CAGxC,IAAI,SAAS,oBAAoB,UAAa,WAAW,oBAAoB,QAC3E,WAAW,kBAAkB,SAAS;CAMxC,IAAI,SAAS,mBAAmB,UAAa,WAAW,mBAAmB,QACzE,WAAW,iBAAiB,SAAS;CAEvC,IAAI,SAAS,oBAAoB,UAAa,WAAW,oBAAoB,QAC3E,WAAW,kBAAkB,SAAS;CAExC,IAAI,SAAS,eAAe,UAAa,WAAW,eAAe,QAEjE,IAAI,OAAO,SAAS,eAAe,YACjC,WAAW,aAAa,SAAS,WAAW,WAAW,KAAK;MAE5D,WAAW,aAAa,SAAS;CAOrC,IAAI,SAAS,eAAe,UAAa,WAAW,eAAe,QACjE,WAAW,aAAa,SAAS;AAErC;AAEA,eAAsB,oBAAoB,OAAwC;CAEhF,MAAM,IADa,eAAe,KACvB,EAAE,eAAe;CAC5B,OAAO,MAAM;AACf;AAEA,eAAsB,oBACpB,OACA,YACiB;CACjB,OAAO,MAAM,KAAK,EAAE,OAAO,EAAE,IAAI,MAAM,GAAI,GAAG,UAAU;AAC1D;AAEA,eAAsB,uBACpB,OACA,OACA,SAAS,GACQ;CACjB,MAAM,UAAU,OAAO,MAAM;CAC7B,OAAO,oBAAoB,OAAO,EAChC,MAAM,GACH,QAAQ,OACX,EACF,CAAC;AACH;AAEA,eAAsB,uBACpB,OACA,OACA,SAAS,GACQ;CACjB,MAAM,UAAU,OAAO,MAAM;CAC7B,OAAO,oBAAoB,OAAO,EAChC,MAAM,GACH,QAAQ,CAAC,OACZ,EACF,CAAC;AACH"}
@@ -0,0 +1,48 @@
1
+ import { createPivotOperations } from "../../relations/pivot-operations.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/methods/pivot-methods.ts
4
+ /**
5
+ * Get the pivot-operations handle for a `belongsToMany` relation.
6
+ *
7
+ * Returns the `PivotOperations` object exposing `attach` / `detach` /
8
+ * `sync` / `toggle` for the named relation's pivot table.
9
+ *
10
+ * @throws Error if the relation is not a belongsToMany relation.
11
+ *
12
+ * @example
13
+ * await post.pivot("tags").attach([1, 2, 3]);
14
+ * await post.pivot("tags").sync([1, 3, 5]);
15
+ * await post.pivot("tags").toggle([1, 7]);
16
+ */
17
+ function pivotRelation(model, relation) {
18
+ return createPivotOperations(model, relation);
19
+ }
20
+ /**
21
+ * Attach one or more related records to a belongsToMany pivot table.
22
+ *
23
+ * @throws Error if the relation is not a belongsToMany relation.
24
+ *
25
+ * @example
26
+ * await post.attach("tags", [1, 2, 3]);
27
+ * await post.attach("tags", [4], { addedBy: currentUserId });
28
+ */
29
+ async function attachPivotRelation(model, relation, ids, pivotData) {
30
+ return createPivotOperations(model, relation).attach(ids, pivotData);
31
+ }
32
+ /**
33
+ * Detach related records from a belongsToMany pivot table. Omit `ids` to
34
+ * detach every row for this side of the relation.
35
+ *
36
+ * @throws Error if the relation is not a belongsToMany relation.
37
+ *
38
+ * @example
39
+ * await post.detach("tags", [2]);
40
+ * await post.detach("tags"); // detach all
41
+ */
42
+ async function detachPivotRelation(model, relation, ids) {
43
+ return createPivotOperations(model, relation).detach(ids);
44
+ }
45
+
46
+ //#endregion
47
+ export { attachPivotRelation, detachPivotRelation, pivotRelation };
48
+ //# sourceMappingURL=pivot-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pivot-methods.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/pivot-methods.ts"],"sourcesContent":["import { createPivotOperations, type PivotOperations } from \"../../relations/pivot-operations\";\nimport type { PivotData, PivotIds } from \"../../relations/types\";\nimport type { Model } from \"../model\";\n\n/**\n * Get the pivot-operations handle for a `belongsToMany` relation.\n *\n * Returns the `PivotOperations` object exposing `attach` / `detach` /\n * `sync` / `toggle` for the named relation's pivot table.\n *\n * @throws Error if the relation is not a belongsToMany relation.\n *\n * @example\n * await post.pivot(\"tags\").attach([1, 2, 3]);\n * await post.pivot(\"tags\").sync([1, 3, 5]);\n * await post.pivot(\"tags\").toggle([1, 7]);\n */\nexport function pivotRelation(model: Model, relation: string): PivotOperations {\n return createPivotOperations(model, relation);\n}\n\n/**\n * Attach one or more related records to a belongsToMany pivot table.\n *\n * @throws Error if the relation is not a belongsToMany relation.\n *\n * @example\n * await post.attach(\"tags\", [1, 2, 3]);\n * await post.attach(\"tags\", [4], { addedBy: currentUserId });\n */\nexport async function attachPivotRelation(\n model: Model,\n relation: string,\n ids: PivotIds,\n pivotData?: PivotData,\n): Promise<void> {\n return createPivotOperations(model, relation).attach(ids, pivotData);\n}\n\n/**\n * Detach related records from a belongsToMany pivot table. Omit `ids` to\n * detach every row for this side of the relation.\n *\n * @throws Error if the relation is not a belongsToMany relation.\n *\n * @example\n * await post.detach(\"tags\", [2]);\n * await post.detach(\"tags\"); // detach all\n */\nexport async function detachPivotRelation(\n model: Model,\n relation: string,\n ids?: PivotIds,\n): Promise<void> {\n return createPivotOperations(model, relation).detach(ids);\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,SAAgB,cAAc,OAAc,UAAmC;CAC7E,OAAO,sBAAsB,OAAO,QAAQ;AAC9C;;;;;;;;;;AAWA,eAAsB,oBACpB,OACA,UACA,KACA,WACe;CACf,OAAO,sBAAsB,OAAO,QAAQ,EAAE,OAAO,KAAK,SAAS;AACrE;;;;;;;;;;;AAYA,eAAsB,oBACpB,OACA,UACA,KACe;CACf,OAAO,sBAAsB,OAAO,QAAQ,EAAE,OAAO,GAAG;AAC1D"}
@@ -0,0 +1,121 @@
1
+ import { dataSourceRegistry } from "../../data-source/data-source-registry.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/methods/query-methods.ts
4
+ function buildQuery(ModelClass, BaseModel) {
5
+ const queryBuilder = ModelClass.newQueryBuilder();
6
+ queryBuilder.pendingGlobalScopes = new Map([...BaseModel.globalScopes, ...ModelClass.globalScopes]);
7
+ queryBuilder.availableLocalScopes = ModelClass.localScopes;
8
+ queryBuilder.disabledGlobalScopes = /* @__PURE__ */ new Set();
9
+ queryBuilder.relationDefinitions = ModelClass.relations;
10
+ queryBuilder.modelClass = ModelClass;
11
+ ModelClass.events().emitFetching(queryBuilder, {
12
+ table: ModelClass.table,
13
+ modelClass: ModelClass
14
+ });
15
+ queryBuilder.hydrate((data) => {
16
+ return ModelClass.hydrate(data);
17
+ });
18
+ queryBuilder.onFetched(async (models) => {
19
+ await ModelClass.events().emit("fetched", models, {});
20
+ });
21
+ return queryBuilder;
22
+ }
23
+ function buildNewQueryBuilder(ModelClass) {
24
+ const dataSource = ModelClass.getDataSource();
25
+ if (ModelClass.builder) {
26
+ const BuilderClass = ModelClass.builder;
27
+ return new BuilderClass(ModelClass.table, dataSource);
28
+ }
29
+ return dataSource.driver.queryBuilder(ModelClass.table);
30
+ }
31
+ async function findFirst(ModelClass, filter) {
32
+ const query = ModelClass.query();
33
+ if (filter) query.where(filter);
34
+ return query.first();
35
+ }
36
+ async function findLast(ModelClass, filter) {
37
+ const query = ModelClass.query();
38
+ if (filter) query.where(filter);
39
+ return query.last();
40
+ }
41
+ async function findAll(ModelClass, filter) {
42
+ const query = ModelClass.query();
43
+ if (filter) query.where(filter);
44
+ return query.get();
45
+ }
46
+ function countRecords(ModelClass, filter) {
47
+ const query = ModelClass.query();
48
+ if (filter) query.where(filter);
49
+ return query.count();
50
+ }
51
+ async function findById(ModelClass, id) {
52
+ return ModelClass.query().where(ModelClass.primaryKey, id).first();
53
+ }
54
+ async function paginateRecords(ModelClass, options = {}) {
55
+ const query = ModelClass.query();
56
+ if (options.filter) query.where(options.filter);
57
+ return query.paginate({
58
+ limit: options.limit,
59
+ page: options.page
60
+ });
61
+ }
62
+ async function findLatest(ModelClass, filter) {
63
+ const query = ModelClass.query();
64
+ if (filter) query.where(filter);
65
+ return await query.latest();
66
+ }
67
+ function increaseField(ModelClass, filter, field, amount) {
68
+ return ModelClass.query().where(filter).increment(field, amount);
69
+ }
70
+ function decreaseField(ModelClass, filter, field, amount) {
71
+ return ModelClass.query().where(filter).decrement(field, amount);
72
+ }
73
+ async function performAtomic(ModelClass, filter, operations) {
74
+ return (await ModelClass.getDriver().atomic(ModelClass.table, filter, operations)).modifiedCount;
75
+ }
76
+ async function updateById(ModelClass, id, data) {
77
+ return (await ModelClass.getDriver().update(ModelClass.table, { [ModelClass.primaryKey]: id }, { $set: data })).modifiedCount;
78
+ }
79
+ async function findAndUpdateRecords(ModelClass, filter, update) {
80
+ await performAtomic(ModelClass, filter, update);
81
+ return await ModelClass.query().where(filter).get();
82
+ }
83
+ async function findOneAndUpdateRecord(ModelClass, filter, update) {
84
+ const result = await ModelClass.getDriver().findOneAndUpdate(ModelClass.table, filter, update);
85
+ if (!result) return null;
86
+ return new ModelClass(result);
87
+ }
88
+ async function findAndReplaceRecord(ModelClass, filter, document) {
89
+ const result = await ModelClass.getDriver().replace(ModelClass.table, filter, document);
90
+ if (!result) return null;
91
+ return new ModelClass(result);
92
+ }
93
+ async function findOneAndDeleteRecord(ModelClass, filter, options) {
94
+ const result = await ModelClass.getDriver().findOneAndDelete(ModelClass.table, filter, options);
95
+ if (!result) return null;
96
+ const model = ModelClass.hydrate(result);
97
+ model.dirtyTracker.reset();
98
+ return model;
99
+ }
100
+ function resolveDataSource(ModelClass) {
101
+ const ref = ModelClass.dataSource;
102
+ let dataSource;
103
+ if (typeof ref === "string") dataSource = dataSourceRegistry.get(ref);
104
+ else if (ref) dataSource = ref;
105
+ else dataSource = dataSourceRegistry.get();
106
+ if (!ModelClass.hasOwnProperty("_defaultsApplied")) {
107
+ const driverDefaults = dataSource.driver.modelDefaults || {};
108
+ const dataSourceDefaults = dataSource.modelDefaults || {};
109
+ const mergedDefaults = {
110
+ ...driverDefaults,
111
+ ...dataSourceDefaults
112
+ };
113
+ if (Object.keys(mergedDefaults).length > 0) ModelClass.applyModelDefaults(mergedDefaults);
114
+ ModelClass._defaultsApplied = true;
115
+ }
116
+ return dataSource;
117
+ }
118
+
119
+ //#endregion
120
+ export { buildNewQueryBuilder, buildQuery, countRecords, decreaseField, findAll, findAndReplaceRecord, findAndUpdateRecords, findById, findFirst, findLast, findLatest, findOneAndDeleteRecord, findOneAndUpdateRecord, increaseField, paginateRecords, performAtomic, resolveDataSource, updateById };
121
+ //# sourceMappingURL=query-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-methods.mjs","names":["ctor"],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/query-methods.ts"],"sourcesContent":["import type {\r\n PaginationOptions,\r\n PaginationResult,\r\n QueryBuilderContract,\r\n UpdateOperations,\r\n} from \"../../contracts\";\r\nimport type { DataSource } from \"../../data-source/data-source\";\r\nimport { dataSourceRegistry } from \"../../data-source/data-source-registry\";\r\nimport type { ChildModel, GlobalScopeDefinition, Model } from \"../model\";\r\n\r\nexport function buildQuery<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n BaseModel: typeof Model,\r\n): QueryBuilderContract<TModel> {\r\n const queryBuilder = ModelClass.newQueryBuilder<TModel>();\r\n const qb = queryBuilder;\r\n\r\n // Collect global scopes from base Model and child model\r\n const allGlobalScopes = new Map<string, GlobalScopeDefinition>([\r\n ...BaseModel.globalScopes,\r\n ...ModelClass.globalScopes,\r\n ]);\r\n\r\n queryBuilder.pendingGlobalScopes = allGlobalScopes;\r\n queryBuilder.availableLocalScopes = ModelClass.localScopes;\r\n queryBuilder.disabledGlobalScopes = new Set();\r\n queryBuilder.relationDefinitions = ModelClass.relations;\r\n queryBuilder.modelClass = ModelClass;\r\n\r\n ModelClass.events().emitFetching(queryBuilder, {\r\n table: ModelClass.table,\r\n modelClass: ModelClass,\r\n });\r\n\r\n queryBuilder.hydrate((data: any) => {\r\n return ModelClass.hydrate(data);\r\n });\r\n\r\n // Eager-loading runs inside the driver's `get()` so it works for any\r\n // builder construction path (Model.query, Model.newQueryBuilder, custom\r\n // subclassed builders). This hook only handles the model-level `fetched`\r\n // event emission.\r\n queryBuilder.onFetched(async (models: any[]) => {\r\n await ModelClass.events().emit(\"fetched\", models as any, {});\r\n });\r\n\r\n return queryBuilder;\r\n}\r\n\r\nexport function buildNewQueryBuilder<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n): QueryBuilderContract<TModel> {\r\n const dataSource = ModelClass.getDataSource();\r\n\r\n if (ModelClass.builder) {\r\n const BuilderClass = ModelClass.builder;\r\n return new BuilderClass(ModelClass.table, dataSource) as QueryBuilderContract<TModel>;\r\n }\r\n\r\n const queryBuilder = dataSource.driver.queryBuilder<TModel>(ModelClass.table);\r\n return queryBuilder;\r\n}\r\n\r\nexport async function findFirst<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter?: Record<string, unknown>,\r\n): Promise<TModel | null> {\r\n const query = ModelClass.query();\r\n if (filter) {\r\n query.where(filter);\r\n }\r\n return query.first();\r\n}\r\n\r\nexport async function findLast<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter?: Record<string, unknown>,\r\n): Promise<TModel | null> {\r\n const query = ModelClass.query();\r\n if (filter) {\r\n query.where(filter);\r\n }\r\n\r\n return query.last();\r\n}\r\n\r\nexport async function findAll<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter?: Record<string, unknown>,\r\n): Promise<TModel[]> {\r\n const query = ModelClass.query();\r\n if (filter) {\r\n query.where(filter);\r\n }\r\n return query.get();\r\n}\r\n\r\nexport function countRecords<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter?: Record<string, unknown>,\r\n): Promise<number> {\r\n const query = ModelClass.query();\r\n if (filter) {\r\n query.where(filter);\r\n }\r\n return query.count();\r\n}\r\n\r\nexport async function findById<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n id: string | number,\r\n): Promise<TModel | null> {\r\n const query = ModelClass.query();\r\n return query.where(ModelClass.primaryKey, id).first();\r\n}\r\n\r\nexport async function paginateRecords<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n options: PaginationOptions & { filter?: Record<string, unknown> } = {},\r\n): Promise<PaginationResult<TModel>> {\r\n const query = ModelClass.query();\r\n if (options.filter) {\r\n query.where(options.filter);\r\n }\r\n\r\n return query.paginate({\r\n limit: options.limit,\r\n page: options.page,\r\n });\r\n}\r\n\r\nexport async function findLatest<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter?: Record<string, unknown>,\r\n): Promise<TModel[]> {\r\n const query = ModelClass.query();\r\n if (filter) {\r\n query.where(filter);\r\n }\r\n return (await query.latest()) as unknown as TModel[];\r\n}\r\n\r\nexport function increaseField<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter: Record<string, unknown>,\r\n field: string,\r\n amount: number,\r\n): Promise<number> {\r\n const query = ModelClass.query().where(filter);\r\n return query.increment(field, amount);\r\n}\r\n\r\nexport function decreaseField<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter: Record<string, unknown>,\r\n field: string,\r\n amount: number,\r\n): Promise<number> {\r\n const query = ModelClass.query().where(filter);\r\n return query.decrement(field, amount);\r\n}\r\n\r\nexport async function performAtomic<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter: Record<string, unknown>,\r\n operations: UpdateOperations,\r\n): Promise<number> {\r\n const result = await ModelClass.getDriver().atomic(ModelClass.table, filter, operations);\r\n return result.modifiedCount;\r\n}\r\n\r\nexport async function updateById<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n id: string | number,\r\n data: Record<string, unknown>,\r\n): Promise<number> {\r\n const result = await ModelClass.getDriver().update(ModelClass.table, { [ModelClass.primaryKey]: id }, { $set: data });\r\n return result.modifiedCount;\r\n}\r\n\r\nexport async function findAndUpdateRecords<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter: Record<string, unknown>,\r\n update: UpdateOperations,\r\n): Promise<TModel[]> {\r\n await performAtomic(ModelClass, filter, update);\r\n return await ModelClass.query().where(filter).get();\r\n}\r\n\r\nexport async function findOneAndUpdateRecord<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter: Record<string, unknown>,\r\n update: UpdateOperations,\r\n): Promise<TModel | null> {\r\n const result = await ModelClass.getDriver().findOneAndUpdate(ModelClass.table, filter, update);\r\n if (!result) return null;\r\n const ctor = ModelClass as any;\r\n return new ctor(result);\r\n}\r\n\r\nexport async function findAndReplaceRecord<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter: Record<string, unknown>,\r\n document: Record<string, unknown>,\r\n): Promise<TModel | null> {\r\n const result = await ModelClass.getDriver().replace(ModelClass.table, filter, document);\r\n if (!result) return null;\r\n const ctor = ModelClass as any;\r\n return new ctor(result);\r\n}\r\n\r\nexport async function findOneAndDeleteRecord<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n filter: Record<string, unknown>,\r\n options?: Record<string, unknown>,\r\n): Promise<TModel | null> {\r\n const driver = ModelClass.getDriver();\r\n const result = await driver.findOneAndDelete(ModelClass.table, filter, options);\r\n\r\n if (!result) {\r\n return null;\r\n }\r\n\r\n const model = ModelClass.hydrate(result as Record<string, unknown>);\r\n model.dirtyTracker.reset();\r\n return model;\r\n}\r\n\r\nexport function resolveDataSource<TModel extends Model>(\r\n ModelClass: ChildModel<TModel>,\r\n): DataSource {\r\n const ref = ModelClass.dataSource;\r\n let dataSource: DataSource;\r\n\r\n if (typeof ref === \"string\") {\r\n dataSource = dataSourceRegistry.get(ref);\r\n } else if (ref) {\r\n dataSource = ref;\r\n } else {\r\n dataSource = dataSourceRegistry.get();\r\n }\r\n\r\n if (!ModelClass.hasOwnProperty(\"_defaultsApplied\")) {\r\n const driverDefaults = dataSource.driver.modelDefaults || {};\r\n const dataSourceDefaults = dataSource.modelDefaults || {};\r\n\r\n const mergedDefaults = {\r\n ...driverDefaults,\r\n ...dataSourceDefaults,\r\n };\r\n\r\n if (Object.keys(mergedDefaults).length > 0) {\r\n (ModelClass as any).applyModelDefaults(mergedDefaults);\r\n }\r\n\r\n (ModelClass as any)._defaultsApplied = true;\r\n }\r\n\r\n return dataSource;\r\n}\r\n"],"mappings":";;;AAUA,SAAgB,WACd,YACA,WAC8B;CAC9B,MAAM,eAAe,WAAW,gBAAwB;CASxD,aAAa,sBAAsB,IALP,IAAmC,CAC7D,GAAG,UAAU,cACb,GAAG,WAAW,YAChB,CAEiD;CACjD,aAAa,uBAAuB,WAAW;CAC/C,aAAa,uCAAuB,IAAI,IAAI;CAC5C,aAAa,sBAAsB,WAAW;CAC9C,aAAa,aAAa;CAE1B,WAAW,OAAO,EAAE,aAAa,cAAc;EAC7C,OAAO,WAAW;EAClB,YAAY;CACd,CAAC;CAED,aAAa,SAAS,SAAc;EAClC,OAAO,WAAW,QAAQ,IAAI;CAChC,CAAC;CAMD,aAAa,UAAU,OAAO,WAAkB;EAC9C,MAAM,WAAW,OAAO,EAAE,KAAK,WAAW,QAAe,CAAC,CAAC;CAC7D,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,qBACd,YAC8B;CAC9B,MAAM,aAAa,WAAW,cAAc;CAE5C,IAAI,WAAW,SAAS;EACtB,MAAM,eAAe,WAAW;EAChC,OAAO,IAAI,aAAa,WAAW,OAAO,UAAU;CACtD;CAGA,OADqB,WAAW,OAAO,aAAqB,WAAW,KACrD;AACpB;AAEA,eAAsB,UACpB,YACA,QACwB;CACxB,MAAM,QAAQ,WAAW,MAAM;CAC/B,IAAI,QACF,MAAM,MAAM,MAAM;CAEpB,OAAO,MAAM,MAAM;AACrB;AAEA,eAAsB,SACpB,YACA,QACwB;CACxB,MAAM,QAAQ,WAAW,MAAM;CAC/B,IAAI,QACF,MAAM,MAAM,MAAM;CAGpB,OAAO,MAAM,KAAK;AACpB;AAEA,eAAsB,QACpB,YACA,QACmB;CACnB,MAAM,QAAQ,WAAW,MAAM;CAC/B,IAAI,QACF,MAAM,MAAM,MAAM;CAEpB,OAAO,MAAM,IAAI;AACnB;AAEA,SAAgB,aACd,YACA,QACiB;CACjB,MAAM,QAAQ,WAAW,MAAM;CAC/B,IAAI,QACF,MAAM,MAAM,MAAM;CAEpB,OAAO,MAAM,MAAM;AACrB;AAEA,eAAsB,SACpB,YACA,IACwB;CAExB,OADc,WAAW,MACd,EAAE,MAAM,WAAW,YAAY,EAAE,EAAE,MAAM;AACtD;AAEA,eAAsB,gBACpB,YACA,UAAoE,CAAC,GAClC;CACnC,MAAM,QAAQ,WAAW,MAAM;CAC/B,IAAI,QAAQ,QACV,MAAM,MAAM,QAAQ,MAAM;CAG5B,OAAO,MAAM,SAAS;EACpB,OAAO,QAAQ;EACf,MAAM,QAAQ;CAChB,CAAC;AACH;AAEA,eAAsB,WACpB,YACA,QACmB;CACnB,MAAM,QAAQ,WAAW,MAAM;CAC/B,IAAI,QACF,MAAM,MAAM,MAAM;CAEpB,OAAQ,MAAM,MAAM,OAAO;AAC7B;AAEA,SAAgB,cACd,YACA,QACA,OACA,QACiB;CAEjB,OADc,WAAW,MAAM,EAAE,MAAM,MAC5B,EAAE,UAAU,OAAO,MAAM;AACtC;AAEA,SAAgB,cACd,YACA,QACA,OACA,QACiB;CAEjB,OADc,WAAW,MAAM,EAAE,MAAM,MAC5B,EAAE,UAAU,OAAO,MAAM;AACtC;AAEA,eAAsB,cACpB,YACA,QACA,YACiB;CAEjB,QAAO,MADc,WAAW,UAAU,EAAE,OAAO,WAAW,OAAO,QAAQ,UAAU,GACzE;AAChB;AAEA,eAAsB,WACpB,YACA,IACA,MACiB;CAEjB,QAAO,MADc,WAAW,UAAU,EAAE,OAAO,WAAW,OAAO,GAAG,WAAW,aAAa,GAAG,GAAG,EAAE,MAAM,KAAK,CAAC,GACtG;AAChB;AAEA,eAAsB,qBACpB,YACA,QACA,QACmB;CACnB,MAAM,cAAc,YAAY,QAAQ,MAAM;CAC9C,OAAO,MAAM,WAAW,MAAM,EAAE,MAAM,MAAM,EAAE,IAAI;AACpD;AAEA,eAAsB,uBACpB,YACA,QACA,QACwB;CACxB,MAAM,SAAS,MAAM,WAAW,UAAU,EAAE,iBAAiB,WAAW,OAAO,QAAQ,MAAM;CAC7F,IAAI,CAAC,QAAQ,OAAO;CAEpB,OAAO,IAAIA,WAAK,MAAM;AACxB;AAEA,eAAsB,qBACpB,YACA,QACA,UACwB;CACxB,MAAM,SAAS,MAAM,WAAW,UAAU,EAAE,QAAQ,WAAW,OAAO,QAAQ,QAAQ;CACtF,IAAI,CAAC,QAAQ,OAAO;CAEpB,OAAO,IAAIA,WAAK,MAAM;AACxB;AAEA,eAAsB,uBACpB,YACA,QACA,SACwB;CAExB,MAAM,SAAS,MADA,WAAW,UACA,EAAE,iBAAiB,WAAW,OAAO,QAAQ,OAAO;CAE9E,IAAI,CAAC,QACH,OAAO;CAGT,MAAM,QAAQ,WAAW,QAAQ,MAAiC;CAClE,MAAM,aAAa,MAAM;CACzB,OAAO;AACT;AAEA,SAAgB,kBACd,YACY;CACZ,MAAM,MAAM,WAAW;CACvB,IAAI;CAEJ,IAAI,OAAO,QAAQ,UACjB,aAAa,mBAAmB,IAAI,GAAG;MAClC,IAAI,KACT,aAAa;MAEb,aAAa,mBAAmB,IAAI;CAGtC,IAAI,CAAC,WAAW,eAAe,kBAAkB,GAAG;EAClD,MAAM,iBAAiB,WAAW,OAAO,iBAAiB,CAAC;EAC3D,MAAM,qBAAqB,WAAW,iBAAiB,CAAC;EAExD,MAAM,iBAAiB;GACrB,GAAG;GACH,GAAG;EACL;EAEA,IAAI,OAAO,KAAK,cAAc,EAAE,SAAS,GACvC,AAAC,WAAmB,mBAAmB,cAAc;EAGvD,AAAC,WAAmB,mBAAmB;CACzC;CAEA,OAAO;AACT"}
@@ -0,0 +1,16 @@
1
+ import { DatabaseRestorer } from "../../restorer/database-restorer.mjs";
2
+
3
+ //#region ../../@warlock.js/cascade/src/model/methods/restore-methods.ts
4
+ async function restoreRecord(ModelClass, id, options) {
5
+ const result = await new DatabaseRestorer(ModelClass).restore(id, options);
6
+ if (!result.restoredRecord) throw new Error(`Failed to restore ${ModelClass.name} with ${ModelClass.primaryKey} ${id}: no record returned.`);
7
+ return result.restoredRecord;
8
+ }
9
+ async function restoreAllRecords(ModelClass, options) {
10
+ const result = await new DatabaseRestorer(ModelClass).restoreAll(options);
11
+ return result.restoredCount === 0 ? [] : result.restoredRecords;
12
+ }
13
+
14
+ //#endregion
15
+ export { restoreAllRecords, restoreRecord };
16
+ //# sourceMappingURL=restore-methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-methods.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/model/methods/restore-methods.ts"],"sourcesContent":["import { DatabaseRestorer } from \"../../restorer/database-restorer\";\nimport type { ChildModel, Model } from \"../model\";\n\nexport async function restoreRecord<TModel extends Model>(\n ModelClass: ChildModel<TModel>,\n id: string | number,\n options?: { onIdConflict?: \"fail\" | \"assignNew\"; skipEvents?: boolean },\n): Promise<TModel> {\n const restorer = new DatabaseRestorer(ModelClass as unknown as typeof Model);\n const result = await restorer.restore(id, options);\n\n if (!result.restoredRecord) {\n throw new Error(\n `Failed to restore ${ModelClass.name} with ${ModelClass.primaryKey} ${id}: no record returned.`,\n );\n }\n\n return result.restoredRecord as TModel;\n}\n\nexport async function restoreAllRecords<TModel extends Model>(\n ModelClass: ChildModel<TModel>,\n options?: { onIdConflict?: \"fail\" | \"assignNew\"; skipEvents?: boolean },\n): Promise<TModel[]> {\n const restorer = new DatabaseRestorer(ModelClass as unknown as typeof Model);\n const result = await restorer.restoreAll(options);\n\n return result.restoredCount === 0 ? [] : (result.restoredRecords as TModel[]);\n}\n"],"mappings":";;;AAGA,eAAsB,cACpB,YACA,IACA,SACiB;CAEjB,MAAM,SAAS,MAAM,IADA,iBAAiB,UACV,EAAE,QAAQ,IAAI,OAAO;CAEjD,IAAI,CAAC,OAAO,gBACV,MAAM,IAAI,MACR,qBAAqB,WAAW,KAAK,QAAQ,WAAW,WAAW,GAAG,GAAG,sBAC3E;CAGF,OAAO,OAAO;AAChB;AAEA,eAAsB,kBACpB,YACA,SACmB;CAEnB,MAAM,SAAS,MAAM,IADA,iBAAiB,UACV,EAAE,WAAW,OAAO;CAEhD,OAAO,OAAO,kBAAkB,IAAI,CAAC,IAAK,OAAO;AACnD"}
@@ -0,0 +1,20 @@
1
+ //#region ../../@warlock.js/cascade/src/model/methods/scope-methods.ts
2
+ function addGlobalModelScope(ModelClass, name, callback, options = {}) {
3
+ ModelClass.globalScopes.set(name, {
4
+ callback,
5
+ timing: options.timing || "before"
6
+ });
7
+ }
8
+ function removeGlobalModelScope(ModelClass, name) {
9
+ ModelClass.globalScopes.delete(name);
10
+ }
11
+ function addLocalModelScope(ModelClass, name, callback) {
12
+ ModelClass.localScopes.set(name, callback);
13
+ }
14
+ function removeLocalModelScope(ModelClass, name) {
15
+ ModelClass.localScopes.delete(name);
16
+ }
17
+
18
+ //#endregion
19
+ export { addGlobalModelScope, addLocalModelScope, removeGlobalModelScope, removeLocalModelScope };
20
+ //# sourceMappingURL=scope-methods.mjs.map