@warlock.js/cascade 4.0.174 → 4.1.2

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 @@
1
+ {"version":3,"file":"sql-types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/drivers/sql/sql-types.ts"],"mappings":";;AAeA;;;;AAIiB;AAMjB;;;;AAAuB;AAOvB;;;KAjBY,cAAA;EAmBD,oFAjBA,GAAA,UAmBA;EAAA,SAjBA,MAAM;AAAA;;;;KAML,WAAA;;;;;;KAOA,aAAA;EA2BA,sCAzBD,IAAA,EAAM,WAAA;WAEN,KAAA,UAyBA;EAAA,SAvBA,KAAA,WA2BA;EAAA,SAzBA,EAAA;IAyBK,mDAvBH,IAAA,UA6Ba;IAAA,SA3Bb,QAAA,UA6BK;IAAA,SA3BL,KAAA;EAAA,GAiCc;EAAA,SA9BhB,oBAAA,GAAuB,KAAK;IAAA,SAC1B,IAAA;IAAA,SACA,QAAA;IAAA,SACA,KAAA;EAAA;AAAA;;AAmCG;AAMhB;KAlCY,cAAA;oCAED,MAAA,UAgCa;EAAA,SA9Bb,SAAA,kBA6CkB;EAAA,SA3ClB,KAAA;AAAA;;;;KAMC,cAAA;EA6CD,mCA3CA,OAAO;AAAA;;;;KAMN,eAAA;EAiDA,0DA/CD,SAAA;WAEA,MAAA,UA+CA;EAAA,SA7CA,QAAA,UAiDA;EAAA,SA/CA,KAAA;AAAA;AAqDX;;;AAAA,KA/CY,YAAA;;;;;;KAeA,iBAAA;EAkCD,qEAhCA,IAAA,EAAM,YAAA,EAoCN;EAAA,SAlCA,KAAA,WAoCA;EAAA,SAlCA,QAAA,WAoCA;EAAA,SAlCA,KAAA,YAoCA;EAAA,SAlCA,GAAA,WAoCQ;EAAA,SAlCR,QAAA,cAoCS;EAAA,SAlCT,MAAA,GAAS,iBAAiB;AAAA;;;AAwClB;KAlCP,eAAA;EAwCkB,yCAtCnB,UAAA,UAsCmB;EAAA,SApCnB,KAAA,WAwCA;EAAA,SAtCA,KAAA;AAAA;;;;KAMC,cAAA;EAyCc,iCAvCf,KAAA,UA8CC;EAAA,SA5CD,KAAA;WAEA,MAAA,EAAQ,eAAA,IAgDI;EAAA,SA9CZ,KAAA,EAAO,aAAA,IAkDiB;EAAA,SAhDxB,KAAA,EAAO,iBAAA,IAwCP;EAAA,SAtCA,OAAA,YAwCK;EAAA,SAtCL,MAAA,EAAQ,eAAA,IAwCI;EAAA,SAtCZ,OAAA,EAAS,cAAA,IA0CT;EAAA,SAxCA,KAAA,WA0CA;EAAA,SAxCA,MAAA,WA0CK;EAAA,SAxCL,QAAA;AAAA;;;;KAMC,kBAAA;EA4CD,4BA1CA,KAAA,UA4CA;EAAA,SA1CA,OAAA,YA4CK;EAAA,SA1CL,MAAA,eAgDC;EAAA,SA9CD,SAAA;WAEA,UAAA;IAAA,SACE,OAAA;IAAA,SACA,MAAA;IAAA,SACA,aAAA;EAAA;AAAA;;;;KAOD,kBAAA;8BAED,KAAA;WAEA,GAAA,EAAK,MAAA;WAEL,SAAA,GAAY,MAAA;WAEZ,KAAA;WAEA,KAAA,EAAO,iBAAA;WAEP,SAAA;WAEA,KAAA;AAAA;;;;KAMC,kBAAA;8BAED,KAAA;WAEA,KAAA,EAAO,iBAAiB;WAExB,SAAA;WAEA,KAAA;AAAA;;;;KAMC,oBAAA"}
@@ -0,0 +1,25 @@
1
+ //#region ../../@warlock.js/cascade/src/errors/missing-data-source.error.d.ts
2
+ /**
3
+ * Error thrown when a requested data source is not found in the registry.
4
+ *
5
+ * This can occur when:
6
+ * - Attempting to retrieve a non-existent named data source
7
+ * - Trying to get the default data source before any have been registered
8
+ * - Context override references an unregistered data source name
9
+ */
10
+ declare class MissingDataSourceError extends Error {
11
+ /**
12
+ * The name of the data source that was not found (if applicable).
13
+ */
14
+ readonly dataSourceName?: string;
15
+ /**
16
+ * Creates a new MissingDataSourceError.
17
+ *
18
+ * @param message - Descriptive error message
19
+ * @param dataSourceName - Optional data source name that was not found
20
+ */
21
+ constructor(message: string, dataSourceName?: string);
22
+ }
23
+ //#endregion
24
+ export { MissingDataSourceError };
25
+ //# sourceMappingURL=missing-data-source.error.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-data-source.error.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/errors/missing-data-source.error.ts"],"mappings":";;AAQA;;;;;;;cAAa,sBAAA,SAA+B,KAAK;EAYX;;AAAuB;EAAvB,SARpB,cAAA;;;;;;;cAQG,OAAA,UAAiB,cAAA;AAAA"}
@@ -0,0 +1,31 @@
1
+ //#region ../../@warlock.js/cascade/src/errors/missing-data-source.error.ts
2
+ /**
3
+ * Error thrown when a requested data source is not found in the registry.
4
+ *
5
+ * This can occur when:
6
+ * - Attempting to retrieve a non-existent named data source
7
+ * - Trying to get the default data source before any have been registered
8
+ * - Context override references an unregistered data source name
9
+ */
10
+ var MissingDataSourceError = class MissingDataSourceError extends Error {
11
+ /**
12
+ * The name of the data source that was not found (if applicable).
13
+ */
14
+ dataSourceName;
15
+ /**
16
+ * Creates a new MissingDataSourceError.
17
+ *
18
+ * @param message - Descriptive error message
19
+ * @param dataSourceName - Optional data source name that was not found
20
+ */
21
+ constructor(message, dataSourceName) {
22
+ super(message);
23
+ this.name = "MissingDataSourceError";
24
+ this.dataSourceName = dataSourceName;
25
+ if (Error.captureStackTrace) Error.captureStackTrace(this, MissingDataSourceError);
26
+ }
27
+ };
28
+
29
+ //#endregion
30
+ export { MissingDataSourceError };
31
+ //# sourceMappingURL=missing-data-source.error.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-data-source.error.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/errors/missing-data-source.error.ts"],"sourcesContent":["/**\n * Error thrown when a requested data source is not found in the registry.\n *\n * This can occur when:\n * - Attempting to retrieve a non-existent named data source\n * - Trying to get the default data source before any have been registered\n * - Context override references an unregistered data source name\n */\nexport class MissingDataSourceError extends Error {\n /**\n * The name of the data source that was not found (if applicable).\n */\n public readonly dataSourceName?: string;\n\n /**\n * Creates a new MissingDataSourceError.\n *\n * @param message - Descriptive error message\n * @param dataSourceName - Optional data source name that was not found\n */\n public constructor(message: string, dataSourceName?: string) {\n super(message);\n this.name = \"MissingDataSourceError\";\n this.dataSourceName = dataSourceName;\n\n // Maintains proper stack trace for where error was thrown (V8 only)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, MissingDataSourceError);\n }\n }\n}\n"],"mappings":";;;;;;;;;AAQA,IAAa,yBAAb,MAAa,+BAA+B,MAAM;;;;CAIhD,AAAgB;;;;;;;CAQhB,AAAO,YAAY,SAAiB,gBAAyB;EAC3D,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,iBAAiB;EAGtB,IAAI,MAAM,mBACR,MAAM,kBAAkB,MAAM,sBAAsB;CAExD;AACF"}
@@ -0,0 +1,23 @@
1
+ //#region ../../@warlock.js/cascade/src/errors/transaction-rollback.error.d.ts
2
+ /**
3
+ * Error thrown when a transaction is explicitly rolled back via ctx.rollback().
4
+ *
5
+ * This error is used to signal transaction rollback without representing
6
+ * an application error. It's caught by the transaction wrapper to perform
7
+ * cleanup and then re-thrown.
8
+ */
9
+ declare class TransactionRollbackError extends Error {
10
+ /**
11
+ * The reason for the rollback (if provided).
12
+ */
13
+ readonly reason?: string;
14
+ /**
15
+ * Creates a new TransactionRollbackError.
16
+ *
17
+ * @param reason - Optional reason for rollback (for logging/debugging)
18
+ */
19
+ constructor(reason?: string);
20
+ }
21
+ //#endregion
22
+ export { TransactionRollbackError };
23
+ //# sourceMappingURL=transaction-rollback.error.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-rollback.error.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/errors/transaction-rollback.error.ts"],"mappings":";;AAOA;;;;;;cAAa,wBAAA,SAAiC,KAAK;EAW9B;;AAAe;EAAf,SAPH,MAAA;;;;;;cAOG,MAAA;AAAA"}
@@ -0,0 +1,29 @@
1
+ //#region ../../@warlock.js/cascade/src/errors/transaction-rollback.error.ts
2
+ /**
3
+ * Error thrown when a transaction is explicitly rolled back via ctx.rollback().
4
+ *
5
+ * This error is used to signal transaction rollback without representing
6
+ * an application error. It's caught by the transaction wrapper to perform
7
+ * cleanup and then re-thrown.
8
+ */
9
+ var TransactionRollbackError = class TransactionRollbackError extends Error {
10
+ /**
11
+ * The reason for the rollback (if provided).
12
+ */
13
+ reason;
14
+ /**
15
+ * Creates a new TransactionRollbackError.
16
+ *
17
+ * @param reason - Optional reason for rollback (for logging/debugging)
18
+ */
19
+ constructor(reason) {
20
+ super(reason || "Transaction rolled back");
21
+ this.name = "TransactionRollbackError";
22
+ this.reason = reason;
23
+ if (Error.captureStackTrace) Error.captureStackTrace(this, TransactionRollbackError);
24
+ }
25
+ };
26
+
27
+ //#endregion
28
+ export { TransactionRollbackError };
29
+ //# sourceMappingURL=transaction-rollback.error.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-rollback.error.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/errors/transaction-rollback.error.ts"],"sourcesContent":["/**\n * Error thrown when a transaction is explicitly rolled back via ctx.rollback().\n *\n * This error is used to signal transaction rollback without representing\n * an application error. It's caught by the transaction wrapper to perform\n * cleanup and then re-thrown.\n */\nexport class TransactionRollbackError extends Error {\n /**\n * The reason for the rollback (if provided).\n */\n public readonly reason?: string;\n\n /**\n * Creates a new TransactionRollbackError.\n *\n * @param reason - Optional reason for rollback (for logging/debugging)\n */\n public constructor(reason?: string) {\n super(reason || \"Transaction rolled back\");\n this.name = \"TransactionRollbackError\";\n this.reason = reason;\n\n // Maintains proper stack trace for where error was thrown (V8 only)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, TransactionRollbackError);\n }\n }\n}\n"],"mappings":";;;;;;;;AAOA,IAAa,2BAAb,MAAa,iCAAiC,MAAM;;;;CAIlD,AAAgB;;;;;;CAOhB,AAAO,YAAY,QAAiB;EAClC,MAAM,UAAU,yBAAyB;EACzC,KAAK,OAAO;EACZ,KAAK,SAAS;EAGd,IAAI,MAAM,mBACR,MAAM,kBAAkB,MAAM,wBAAwB;CAE1D;AACF"}
@@ -0,0 +1,234 @@
1
+ import { DeleteStrategy } from "../types.mjs";
2
+ import { ModelSchema } from "../model/model.types.mjs";
3
+ import { Model } from "../model/model.mjs";
4
+ import { QueryBuilderContract } from "../contracts/query-builder.contract.mjs";
5
+ //#region ../../@warlock.js/cascade/src/events/model-events.d.ts
6
+ type OnValidatingEventContext = {
7
+ isInsert: boolean;
8
+ mode: "insert" | "update";
9
+ };
10
+ type OnSavingEventContext = {
11
+ isInsert: boolean;
12
+ mode: "insert" | "update";
13
+ };
14
+ type OnDeletingEventContext = {
15
+ strategy: DeleteStrategy;
16
+ primaryKeyValue: string | number;
17
+ primaryKey: string;
18
+ };
19
+ type OnDeletedEventContext = OnDeletingEventContext & {
20
+ deletedCount: number;
21
+ trashRecord?: Record<string, unknown>;
22
+ };
23
+ type OnFetchingEventContext = {
24
+ table: string;
25
+ modelClass: any;
26
+ };
27
+ type OnHydratingEventContext = {
28
+ query: QueryBuilderContract;
29
+ hydrateCallback?: (data: any, index: number) => any;
30
+ };
31
+ type OnFetchedEventContext = {
32
+ query: QueryBuilderContract;
33
+ rawRecords: any[];
34
+ duration: number;
35
+ };
36
+ /**
37
+ * Lifecycle events understood by Cascade models.
38
+ *
39
+ * The list mirrors the hooks in the legacy ORM so downstream code can subscribe
40
+ * with consistent semantics.
41
+ */
42
+ type ModelEventName = "initializing" | "fetching" | "hydrating" | "fetched" | "validating" | "validated" | "saving" | "saved" | "creating" | "created" | "updating" | "updated" | "deleting" | "deleted" | "restoring" | "restored";
43
+ /** Signature of an event listener registered against a model lifecycle hook. */
44
+ type ModelEventListener<TModel, TContext = unknown> = (model: TModel, context: TContext) => void | Promise<void>;
45
+ /**
46
+ * Light-weight async event emitter used to power model lifecycle hooks.
47
+ *
48
+ * The implementation intentionally avoids any external dependency so we can
49
+ * re-use it in drivers, writers, and other core services without pulling in
50
+ * heavier event libraries.
51
+ */
52
+ declare class ModelEvents<TModel> {
53
+ readonly listeners: Map<ModelEventName, Set<ModelEventListener<TModel, unknown>>>;
54
+ /**
55
+ * Register a listener for the given event.
56
+ * Returns an unsubscribe function for convenience.
57
+ */
58
+ on<TContext = unknown>(event: ModelEventName, listener: ModelEventListener<TModel, TContext>): () => void;
59
+ /**
60
+ * Register a listener that automatically unsubscribes after the first call.
61
+ */
62
+ once<TContext = unknown>(event: ModelEventName, listener: ModelEventListener<TModel, TContext>): () => void;
63
+ /**
64
+ * Deregister a listener for the given event.
65
+ */
66
+ off<TContext = unknown>(event: ModelEventName, listener: ModelEventListener<TModel, TContext>): void;
67
+ /**
68
+ * Emit an event to all registered listeners.
69
+ */
70
+ emit<TContext = unknown>(event: ModelEventName, model: TModel, context: TContext): Promise<void>;
71
+ /**
72
+ * Emit events for fetching
73
+ */
74
+ emitFetching<TContext = unknown>(query: QueryBuilderContract, context?: TContext): Promise<void>;
75
+ /**
76
+ * Remove all registered listeners.
77
+ */
78
+ clear(): void;
79
+ /**
80
+ * Registers a listener for the "saving" event.
81
+ *
82
+ * Fired before a model is persisted (both insert and update), and before validation.
83
+ * Use this hook for data enrichment and preparation (e.g., setting createdBy, updatedBy).
84
+ *
85
+ * @param listener - The callback to invoke
86
+ * @returns An unsubscribe function
87
+ */
88
+ onSaving<TContext = OnSavingEventContext>(listener: ModelEventListener<TModel, TContext>): () => void;
89
+ /**
90
+ * Registers a listener for the "saved" event.
91
+ *
92
+ * Fired after a model has been successfully persisted.
93
+ *
94
+ * @param listener - The callback to invoke
95
+ * @returns An unsubscribe function
96
+ */
97
+ onSaved<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void;
98
+ /**
99
+ * Registers a listener for the "creating" event.
100
+ *
101
+ * Fired before a new model is inserted into the database.
102
+ *
103
+ * @param listener - The callback to invoke
104
+ * @returns An unsubscribe function
105
+ */
106
+ onCreating<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void;
107
+ /**
108
+ * Registers a listener for the "created" event.
109
+ *
110
+ * Fired after a new model has been successfully inserted.
111
+ *
112
+ * @param listener - The callback to invoke
113
+ * @returns An unsubscribe function
114
+ */
115
+ onCreated<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void;
116
+ /**
117
+ * Registers a listener for the "updating" event.
118
+ *
119
+ * Fired before an existing model is updated in the database.
120
+ *
121
+ * @param listener - The callback to invoke
122
+ * @returns An unsubscribe function
123
+ */
124
+ onUpdating<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void;
125
+ /**
126
+ * Registers a listener for the "updated" event.
127
+ *
128
+ * Fired after an existing model has been successfully updated.
129
+ *
130
+ * @param listener - The callback to invoke
131
+ * @returns An unsubscribe function
132
+ */
133
+ onUpdated<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void;
134
+ /**
135
+ * Registers a listener for the "deleting" event.
136
+ *
137
+ * Fired before a model is deleted from the database.
138
+ *
139
+ * @param listener - The callback to invoke
140
+ * @returns An unsubscribe function
141
+ */
142
+ onDeleting<TContext = OnDeletingEventContext>(listener: ModelEventListener<TModel, TContext>): () => void;
143
+ /**
144
+ * Registers a listener for the "deleted" event.
145
+ *
146
+ * Fired after a model has been successfully deleted.
147
+ *
148
+ * @param listener - The callback to invoke
149
+ * @returns An unsubscribe function
150
+ */
151
+ onDeleted<TContext = OnDeletedEventContext>(listener: ModelEventListener<TModel, TContext>): () => void;
152
+ /**
153
+ * Registers a listener for the "validating" event.
154
+ *
155
+ * Fired before model validation is performed.
156
+ *
157
+ * @param listener - The callback to invoke
158
+ * @returns An unsubscribe function
159
+ */
160
+ onValidating<TContext = OnValidatingEventContext>(listener: ModelEventListener<TModel, TContext>): () => void;
161
+ /**
162
+ * Registers a listener for the "validated" event.
163
+ *
164
+ * Fired after model validation has completed.
165
+ *
166
+ * @param listener - The callback to invoke
167
+ * @returns An unsubscribe function
168
+ */
169
+ onValidated<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void;
170
+ /**
171
+ * Registers a listener for the "fetching" event.
172
+ *
173
+ * Fired before a query is executed to fetch models.
174
+ * Receives the query builder instance, allowing modification before execution.
175
+ *
176
+ * @param listener - The callback to invoke
177
+ * @returns An unsubscribe function
178
+ */
179
+ onFetching<TContext = OnFetchingEventContext>(listener: ModelEventListener<TModel, TContext>): () => void;
180
+ /**
181
+ * Registers a listener for the "hydrating" event.
182
+ *
183
+ * Fired after raw records are fetched but before they are hydrated into model instances.
184
+ * Allows modification of raw data before hydration.
185
+ *
186
+ * @param listener - The callback to invoke
187
+ * @returns An unsubscribe function
188
+ */
189
+ onHydrating<TContext = OnHydratingEventContext>(listener: ModelEventListener<TModel, TContext>): () => void;
190
+ /**
191
+ * Registers a listener for the "fetched" event.
192
+ *
193
+ * Fired after models have been fetched and hydrated.
194
+ * Receives hydrated model instances and query context.
195
+ *
196
+ * @param listener - The callback to invoke
197
+ * @returns An unsubscribe function
198
+ */
199
+ onFetched<TContext = OnFetchedEventContext>(listener: ModelEventListener<TModel, TContext>): () => void;
200
+ /**
201
+ * Registers a listener for the "restoring" event.
202
+ *
203
+ * Fired before a soft-deleted model is restored.
204
+ *
205
+ * @param listener - The callback to invoke
206
+ * @returns An unsubscribe function
207
+ */
208
+ onRestoring<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void;
209
+ /**
210
+ * Registers a listener for the "restored" event.
211
+ *
212
+ * Fired after a soft-deleted model has been successfully restored.
213
+ *
214
+ * @param listener - The callback to invoke
215
+ * @returns An unsubscribe function
216
+ */
217
+ onRestored<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void;
218
+ /**
219
+ * Ensures a listener set exists for the given event.
220
+ *
221
+ * @param event - The event name
222
+ * @returns The listener set for the event
223
+ * @private
224
+ */
225
+ private ensureListenerSet;
226
+ }
227
+ /**
228
+ * Global event emitter invoked for every model instance, regardless of type.
229
+ * Useful for cross-cutting concerns like auditing or request-scoped enrichment.
230
+ */
231
+ declare const globalModelEvents: ModelEvents<Model<ModelSchema>>;
232
+ //#endregion
233
+ export { ModelEventListener, ModelEventName, ModelEvents, OnDeletedEventContext, globalModelEvents };
234
+ //# sourceMappingURL=model-events.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-events.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/events/model-events.ts"],"mappings":";;;;;KAIK,wBAAA;EACH,QAAA;EACA,IAAI;AAAA;AAAA,KAGD,oBAAA;EACH,QAAA;EACA,IAAI;AAAA;AAAA,KAGD,sBAAA;EACH,QAAA,EAAU,cAAc;EACxB,eAAA;EACA,UAAA;AAAA;AAAA,KAGU,qBAAA,GAAwB,sBAAA;EAClC,YAAA;EACA,WAAA,GAAc,MAAM;AAAA;AAAA,KAGjB,sBAAA;EACH,KAAA;EACA,UAAU;AAAA;AAAA,KAGP,uBAAA;EACH,KAAA,EAAO,oBAAoB;EAC3B,eAAA,IAAmB,IAAA,OAAW,KAAA;AAAA;AAAA,KAG3B,qBAAA;EACH,KAAA,EAAO,oBAAoB;EAC3B,UAAA;EACA,QAAA;AAAA;;;;AAhBoB;AACpB;;KAwBU,cAAA;;KAmBA,kBAAA,gCACV,KAAA,EAAO,MAAA,EACP,OAAA,EAAS,QAAA,YACC,OAAA;AA1CA;;;;;;;AAAA,cAmDC,WAAA;EAAA,SACK,SAAA,EAAS,GAAA,CAAA,cAAA,EAAA,GAAA,CAAA,kBAAA,CAAA,MAAA;EA/CkB;AAAA;AAAA;;EAqDpC,EAAA,oBAAA,CACL,KAAA,EAAO,cAAA,EACP,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EAnDZ;;;EA6DpB,IAAA,oBAAA,CACL,KAAA,EAAO,cAAA,EACP,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EA7DvC;;AAAQ;EA4ED,GAAA,oBAAA,CACL,KAAA,EAAO,cAAA,EACP,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EArEf;;;EAoFX,IAAA,oBAAA,CACX,KAAA,EAAO,cAAA,EACP,KAAA,EAAO,MAAA,EACP,OAAA,EAAS,QAAA,GACR,OAAA;EArEO;;;EAkFG,YAAA,oBAAA,CACX,KAAA,EAAO,oBAAA,EACP,OAAA,GAAU,QAAA,GACT,OAAA;EAnFM;;;EA0FF,KAAA,CAAA;EA5FsB;;;;;;;;AAGZ;EAsGV,QAAA,YAAoB,oBAAA,CAAA,CACzB,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EA9FjB;;;;;;;;EA2Gf,OAAA,oBAAA,CAA4B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EAlGjC;;;;;;;;EA8GhC,UAAA,oBAAA,CACL,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EAlF3B;;;;;;;;EA+FL,SAAA,oBAAA,CAA8B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EAvC3C;;;;;;;;EAmDxB,UAAA,oBAAA,CACL,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EAb2B;;;;;;;;EA0B3D,SAAA,oBAAA,CAA8B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EAY7C;;;;;;;;EAAtB,UAAA,YAAsB,sBAAA,CAAA,CAC3B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EA4BR;;;;;;;;EAfxB,SAAA,YAAqB,qBAAA,CAAA,CAC1B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EA2C3B;;;;;;;;EA9BL,YAAA,YAAwB,wBAAA,CAAA,CAC7B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EAyER;;;;;;;;EA5DxB,WAAA,oBAAA,CACL,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EArNvB;;;;;;;;;EAmOT,UAAA,YAAsB,sBAAA,CAAA,CAC3B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EA5N3B;;;;;;;;;EA0OL,WAAA,YAAuB,uBAAA,CAAA,CAC5B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EA/NA;;;;;;;;;EA6OhC,SAAA,YAAqB,qBAAA,CAAA,CAC1B,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EA9M1B;;;;;;;;EA2NN,WAAA,oBAAA,CACL,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EA3M1B;;;;;;;;EAwNN,UAAA,oBAAA,CACL,QAAA,EAAU,kBAAA,CAAmB,MAAA,EAAQ,QAAA;EAlMvB;;;;;;;EAAA,QA8MR,iBAAA;AAAA;;;;;cAcG,iBAAA,EAAiB,WAAA,CAAA,KAAA,CAA2B,WAAA"}
@@ -0,0 +1,254 @@
1
+ //#region ../../@warlock.js/cascade/src/events/model-events.ts
2
+ /**
3
+ * Light-weight async event emitter used to power model lifecycle hooks.
4
+ *
5
+ * The implementation intentionally avoids any external dependency so we can
6
+ * re-use it in drivers, writers, and other core services without pulling in
7
+ * heavier event libraries.
8
+ */
9
+ var ModelEvents = class {
10
+ listeners = /* @__PURE__ */ new Map();
11
+ /**
12
+ * Register a listener for the given event.
13
+ * Returns an unsubscribe function for convenience.
14
+ */
15
+ on(event, listener) {
16
+ this.ensureListenerSet(event).add(listener);
17
+ return () => this.off(event, listener);
18
+ }
19
+ /**
20
+ * Register a listener that automatically unsubscribes after the first call.
21
+ */
22
+ once(event, listener) {
23
+ const wrapper = async (model, context) => {
24
+ try {
25
+ await listener(model, context);
26
+ } finally {
27
+ this.off(event, wrapper);
28
+ }
29
+ };
30
+ return this.on(event, wrapper);
31
+ }
32
+ /**
33
+ * Deregister a listener for the given event.
34
+ */
35
+ off(event, listener) {
36
+ const listeners = this.listeners.get(event);
37
+ if (!listeners) return;
38
+ listeners.delete(listener);
39
+ if (listeners.size === 0) this.listeners.delete(event);
40
+ }
41
+ /**
42
+ * Emit an event to all registered listeners.
43
+ */
44
+ async emit(event, model, context) {
45
+ const listeners = this.listeners.get(event);
46
+ if (!listeners || listeners.size === 0) return;
47
+ for (const listener of Array.from(listeners)) await listener(model, context);
48
+ }
49
+ /**
50
+ * Emit events for fetching
51
+ */
52
+ async emitFetching(query, context) {
53
+ await this.emit("fetching", query, context);
54
+ }
55
+ /**
56
+ * Remove all registered listeners.
57
+ */
58
+ clear() {
59
+ this.listeners.clear();
60
+ }
61
+ /**
62
+ * Registers a listener for the "saving" event.
63
+ *
64
+ * Fired before a model is persisted (both insert and update), and before validation.
65
+ * Use this hook for data enrichment and preparation (e.g., setting createdBy, updatedBy).
66
+ *
67
+ * @param listener - The callback to invoke
68
+ * @returns An unsubscribe function
69
+ */
70
+ onSaving(listener) {
71
+ return this.on("saving", listener);
72
+ }
73
+ /**
74
+ * Registers a listener for the "saved" event.
75
+ *
76
+ * Fired after a model has been successfully persisted.
77
+ *
78
+ * @param listener - The callback to invoke
79
+ * @returns An unsubscribe function
80
+ */
81
+ onSaved(listener) {
82
+ return this.on("saved", listener);
83
+ }
84
+ /**
85
+ * Registers a listener for the "creating" event.
86
+ *
87
+ * Fired before a new model is inserted into the database.
88
+ *
89
+ * @param listener - The callback to invoke
90
+ * @returns An unsubscribe function
91
+ */
92
+ onCreating(listener) {
93
+ return this.on("creating", listener);
94
+ }
95
+ /**
96
+ * Registers a listener for the "created" event.
97
+ *
98
+ * Fired after a new model has been successfully inserted.
99
+ *
100
+ * @param listener - The callback to invoke
101
+ * @returns An unsubscribe function
102
+ */
103
+ onCreated(listener) {
104
+ return this.on("created", listener);
105
+ }
106
+ /**
107
+ * Registers a listener for the "updating" event.
108
+ *
109
+ * Fired before an existing model is updated in the database.
110
+ *
111
+ * @param listener - The callback to invoke
112
+ * @returns An unsubscribe function
113
+ */
114
+ onUpdating(listener) {
115
+ return this.on("updating", listener);
116
+ }
117
+ /**
118
+ * Registers a listener for the "updated" event.
119
+ *
120
+ * Fired after an existing model has been successfully updated.
121
+ *
122
+ * @param listener - The callback to invoke
123
+ * @returns An unsubscribe function
124
+ */
125
+ onUpdated(listener) {
126
+ return this.on("updated", listener);
127
+ }
128
+ /**
129
+ * Registers a listener for the "deleting" event.
130
+ *
131
+ * Fired before a model is deleted from the database.
132
+ *
133
+ * @param listener - The callback to invoke
134
+ * @returns An unsubscribe function
135
+ */
136
+ onDeleting(listener) {
137
+ return this.on("deleting", listener);
138
+ }
139
+ /**
140
+ * Registers a listener for the "deleted" event.
141
+ *
142
+ * Fired after a model has been successfully deleted.
143
+ *
144
+ * @param listener - The callback to invoke
145
+ * @returns An unsubscribe function
146
+ */
147
+ onDeleted(listener) {
148
+ return this.on("deleted", listener);
149
+ }
150
+ /**
151
+ * Registers a listener for the "validating" event.
152
+ *
153
+ * Fired before model validation is performed.
154
+ *
155
+ * @param listener - The callback to invoke
156
+ * @returns An unsubscribe function
157
+ */
158
+ onValidating(listener) {
159
+ return this.on("validating", listener);
160
+ }
161
+ /**
162
+ * Registers a listener for the "validated" event.
163
+ *
164
+ * Fired after model validation has completed.
165
+ *
166
+ * @param listener - The callback to invoke
167
+ * @returns An unsubscribe function
168
+ */
169
+ onValidated(listener) {
170
+ return this.on("validated", listener);
171
+ }
172
+ /**
173
+ * Registers a listener for the "fetching" event.
174
+ *
175
+ * Fired before a query is executed to fetch models.
176
+ * Receives the query builder instance, allowing modification before execution.
177
+ *
178
+ * @param listener - The callback to invoke
179
+ * @returns An unsubscribe function
180
+ */
181
+ onFetching(listener) {
182
+ return this.on("fetching", listener);
183
+ }
184
+ /**
185
+ * Registers a listener for the "hydrating" event.
186
+ *
187
+ * Fired after raw records are fetched but before they are hydrated into model instances.
188
+ * Allows modification of raw data before hydration.
189
+ *
190
+ * @param listener - The callback to invoke
191
+ * @returns An unsubscribe function
192
+ */
193
+ onHydrating(listener) {
194
+ return this.on("hydrating", listener);
195
+ }
196
+ /**
197
+ * Registers a listener for the "fetched" event.
198
+ *
199
+ * Fired after models have been fetched and hydrated.
200
+ * Receives hydrated model instances and query context.
201
+ *
202
+ * @param listener - The callback to invoke
203
+ * @returns An unsubscribe function
204
+ */
205
+ onFetched(listener) {
206
+ return this.on("fetched", listener);
207
+ }
208
+ /**
209
+ * Registers a listener for the "restoring" event.
210
+ *
211
+ * Fired before a soft-deleted model is restored.
212
+ *
213
+ * @param listener - The callback to invoke
214
+ * @returns An unsubscribe function
215
+ */
216
+ onRestoring(listener) {
217
+ return this.on("restoring", listener);
218
+ }
219
+ /**
220
+ * Registers a listener for the "restored" event.
221
+ *
222
+ * Fired after a soft-deleted model has been successfully restored.
223
+ *
224
+ * @param listener - The callback to invoke
225
+ * @returns An unsubscribe function
226
+ */
227
+ onRestored(listener) {
228
+ return this.on("restored", listener);
229
+ }
230
+ /**
231
+ * Ensures a listener set exists for the given event.
232
+ *
233
+ * @param event - The event name
234
+ * @returns The listener set for the event
235
+ * @private
236
+ */
237
+ ensureListenerSet(event) {
238
+ let listeners = this.listeners.get(event);
239
+ if (!listeners) {
240
+ listeners = /* @__PURE__ */ new Set();
241
+ this.listeners.set(event, listeners);
242
+ }
243
+ return listeners;
244
+ }
245
+ };
246
+ /**
247
+ * Global event emitter invoked for every model instance, regardless of type.
248
+ * Useful for cross-cutting concerns like auditing or request-scoped enrichment.
249
+ */
250
+ const globalModelEvents = new ModelEvents();
251
+
252
+ //#endregion
253
+ export { ModelEvents, globalModelEvents };
254
+ //# sourceMappingURL=model-events.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-events.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/events/model-events.ts"],"sourcesContent":["import { QueryBuilderContract } from \"../contracts\";\r\nimport type { Model } from \"../model/model\";\r\nimport { DeleteStrategy } from \"../types\";\r\n\r\ntype OnValidatingEventContext = {\r\n isInsert: boolean;\r\n mode: \"insert\" | \"update\";\r\n};\r\n\r\ntype OnSavingEventContext = {\r\n isInsert: boolean;\r\n mode: \"insert\" | \"update\";\r\n};\r\n\r\ntype OnDeletingEventContext = {\r\n strategy: DeleteStrategy;\r\n primaryKeyValue: string | number;\r\n primaryKey: string;\r\n};\r\n\r\nexport type OnDeletedEventContext = OnDeletingEventContext & {\r\n deletedCount: number;\r\n trashRecord?: Record<string, unknown>;\r\n};\r\n\r\ntype OnFetchingEventContext = {\r\n table: string;\r\n modelClass: any;\r\n};\r\n\r\ntype OnHydratingEventContext = {\r\n query: QueryBuilderContract;\r\n hydrateCallback?: (data: any, index: number) => any;\r\n};\r\n\r\ntype OnFetchedEventContext = {\r\n query: QueryBuilderContract;\r\n rawRecords: any[];\r\n duration: number;\r\n};\r\n\r\n/**\r\n * Lifecycle events understood by Cascade models.\r\n *\r\n * The list mirrors the hooks in the legacy ORM so downstream code can subscribe\r\n * with consistent semantics.\r\n */\r\nexport type ModelEventName =\r\n | \"initializing\"\r\n | \"fetching\"\r\n | \"hydrating\"\r\n | \"fetched\"\r\n | \"validating\"\r\n | \"validated\"\r\n | \"saving\"\r\n | \"saved\"\r\n | \"creating\"\r\n | \"created\"\r\n | \"updating\"\r\n | \"updated\"\r\n | \"deleting\"\r\n | \"deleted\"\r\n | \"restoring\"\r\n | \"restored\";\r\n\r\n/** Signature of an event listener registered against a model lifecycle hook. */\r\nexport type ModelEventListener<TModel, TContext = unknown> = (\r\n model: TModel,\r\n context: TContext,\r\n) => void | Promise<void>;\r\n\r\n/**\r\n * Light-weight async event emitter used to power model lifecycle hooks.\r\n *\r\n * The implementation intentionally avoids any external dependency so we can\r\n * re-use it in drivers, writers, and other core services without pulling in\r\n * heavier event libraries.\r\n */\r\nexport class ModelEvents<TModel> {\r\n public readonly listeners = new Map<ModelEventName, Set<ModelEventListener<TModel>>>();\r\n\r\n /**\r\n * Register a listener for the given event.\r\n * Returns an unsubscribe function for convenience.\r\n */\r\n public on<TContext = unknown>(\r\n event: ModelEventName,\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n const listeners = this.ensureListenerSet(event);\r\n listeners.add(listener as ModelEventListener<TModel>);\r\n return () => this.off(event, listener);\r\n }\r\n\r\n /**\r\n * Register a listener that automatically unsubscribes after the first call.\r\n */\r\n public once<TContext = unknown>(\r\n event: ModelEventName,\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n const wrapper: ModelEventListener<TModel, TContext> = async (model, context) => {\r\n try {\r\n await listener(model, context);\r\n } finally {\r\n this.off(event, wrapper);\r\n }\r\n };\r\n return this.on(event, wrapper);\r\n }\r\n\r\n /**\r\n * Deregister a listener for the given event.\r\n */\r\n public off<TContext = unknown>(\r\n event: ModelEventName,\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): void {\r\n const listeners = this.listeners.get(event);\r\n if (!listeners) {\r\n return;\r\n }\r\n listeners.delete(listener as ModelEventListener<TModel>);\r\n if (listeners.size === 0) {\r\n this.listeners.delete(event);\r\n }\r\n }\r\n\r\n /**\r\n * Emit an event to all registered listeners.\r\n */\r\n public async emit<TContext = unknown>(\r\n event: ModelEventName,\r\n model: TModel,\r\n context: TContext,\r\n ): Promise<void> {\r\n const listeners = this.listeners.get(event);\r\n if (!listeners || listeners.size === 0) {\r\n return;\r\n }\r\n for (const listener of Array.from(listeners)) {\r\n await listener(model, context);\r\n }\r\n }\r\n\r\n /**\r\n * Emit events for fetching\r\n */\r\n public async emitFetching<TContext = unknown>(\r\n query: QueryBuilderContract,\r\n context?: TContext,\r\n ): Promise<void> {\r\n await this.emit(\"fetching\", query as any, context);\r\n }\r\n\r\n /**\r\n * Remove all registered listeners.\r\n */\r\n public clear(): void {\r\n this.listeners.clear();\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"saving\" event.\r\n *\r\n * Fired before a model is persisted (both insert and update), and before validation.\r\n * Use this hook for data enrichment and preparation (e.g., setting createdBy, updatedBy).\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onSaving<TContext = OnSavingEventContext>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"saving\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"saved\" event.\r\n *\r\n * Fired after a model has been successfully persisted.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onSaved<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void {\r\n return this.on(\"saved\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"creating\" event.\r\n *\r\n * Fired before a new model is inserted into the database.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onCreating<TContext = unknown>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"creating\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"created\" event.\r\n *\r\n * Fired after a new model has been successfully inserted.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onCreated<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void {\r\n return this.on(\"created\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"updating\" event.\r\n *\r\n * Fired before an existing model is updated in the database.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onUpdating<TContext = unknown>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"updating\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"updated\" event.\r\n *\r\n * Fired after an existing model has been successfully updated.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onUpdated<TContext = unknown>(listener: ModelEventListener<TModel, TContext>): () => void {\r\n return this.on(\"updated\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"deleting\" event.\r\n *\r\n * Fired before a model is deleted from the database.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onDeleting<TContext = OnDeletingEventContext>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"deleting\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"deleted\" event.\r\n *\r\n * Fired after a model has been successfully deleted.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onDeleted<TContext = OnDeletedEventContext>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"deleted\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"validating\" event.\r\n *\r\n * Fired before model validation is performed.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onValidating<TContext = OnValidatingEventContext>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"validating\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"validated\" event.\r\n *\r\n * Fired after model validation has completed.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onValidated<TContext = unknown>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"validated\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"fetching\" event.\r\n *\r\n * Fired before a query is executed to fetch models.\r\n * Receives the query builder instance, allowing modification before execution.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onFetching<TContext = OnFetchingEventContext>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"fetching\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"hydrating\" event.\r\n *\r\n * Fired after raw records are fetched but before they are hydrated into model instances.\r\n * Allows modification of raw data before hydration.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onHydrating<TContext = OnHydratingEventContext>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"hydrating\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"fetched\" event.\r\n *\r\n * Fired after models have been fetched and hydrated.\r\n * Receives hydrated model instances and query context.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onFetched<TContext = OnFetchedEventContext>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"fetched\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"restoring\" event.\r\n *\r\n * Fired before a soft-deleted model is restored.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onRestoring<TContext = unknown>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"restoring\", listener);\r\n }\r\n\r\n /**\r\n * Registers a listener for the \"restored\" event.\r\n *\r\n * Fired after a soft-deleted model has been successfully restored.\r\n *\r\n * @param listener - The callback to invoke\r\n * @returns An unsubscribe function\r\n */\r\n public onRestored<TContext = unknown>(\r\n listener: ModelEventListener<TModel, TContext>,\r\n ): () => void {\r\n return this.on(\"restored\", listener);\r\n }\r\n\r\n /**\r\n * Ensures a listener set exists for the given event.\r\n *\r\n * @param event - The event name\r\n * @returns The listener set for the event\r\n * @private\r\n */\r\n private ensureListenerSet(event: ModelEventName): Set<ModelEventListener<TModel>> {\r\n let listeners = this.listeners.get(event);\r\n if (!listeners) {\r\n listeners = new Set();\r\n this.listeners.set(event, listeners);\r\n }\r\n return listeners;\r\n }\r\n}\r\n\r\n/**\r\n * Global event emitter invoked for every model instance, regardless of type.\r\n * Useful for cross-cutting concerns like auditing or request-scoped enrichment.\r\n */\r\nexport const globalModelEvents = new ModelEvents<Model>();\r\n"],"mappings":";;;;;;;;AA8EA,IAAa,cAAb,MAAiC;CAC/B,AAAgB,4BAAY,IAAI,IAAqD;;;;;CAMrF,AAAO,GACL,OACA,UACY;EAEZ,AADkB,KAAK,kBAAkB,KACjC,EAAE,IAAI,QAAsC;EACpD,aAAa,KAAK,IAAI,OAAO,QAAQ;CACvC;;;;CAKA,AAAO,KACL,OACA,UACY;EACZ,MAAM,UAAgD,OAAO,OAAO,YAAY;GAC9E,IAAI;IACF,MAAM,SAAS,OAAO,OAAO;GAC/B,UAAU;IACR,KAAK,IAAI,OAAO,OAAO;GACzB;EACF;EACA,OAAO,KAAK,GAAG,OAAO,OAAO;CAC/B;;;;CAKA,AAAO,IACL,OACA,UACM;EACN,MAAM,YAAY,KAAK,UAAU,IAAI,KAAK;EAC1C,IAAI,CAAC,WACH;EAEF,UAAU,OAAO,QAAsC;EACvD,IAAI,UAAU,SAAS,GACrB,KAAK,UAAU,OAAO,KAAK;CAE/B;;;;CAKA,MAAa,KACX,OACA,OACA,SACe;EACf,MAAM,YAAY,KAAK,UAAU,IAAI,KAAK;EAC1C,IAAI,CAAC,aAAa,UAAU,SAAS,GACnC;EAEF,KAAK,MAAM,YAAY,MAAM,KAAK,SAAS,GACzC,MAAM,SAAS,OAAO,OAAO;CAEjC;;;;CAKA,MAAa,aACX,OACA,SACe;EACf,MAAM,KAAK,KAAK,YAAY,OAAc,OAAO;CACnD;;;;CAKA,AAAO,QAAc;EACnB,KAAK,UAAU,MAAM;CACvB;;;;;;;;;;CAWA,AAAO,SACL,UACY;EACZ,OAAO,KAAK,GAAG,UAAU,QAAQ;CACnC;;;;;;;;;CAUA,AAAO,QAA4B,UAA4D;EAC7F,OAAO,KAAK,GAAG,SAAS,QAAQ;CAClC;;;;;;;;;CAUA,AAAO,WACL,UACY;EACZ,OAAO,KAAK,GAAG,YAAY,QAAQ;CACrC;;;;;;;;;CAUA,AAAO,UAA8B,UAA4D;EAC/F,OAAO,KAAK,GAAG,WAAW,QAAQ;CACpC;;;;;;;;;CAUA,AAAO,WACL,UACY;EACZ,OAAO,KAAK,GAAG,YAAY,QAAQ;CACrC;;;;;;;;;CAUA,AAAO,UAA8B,UAA4D;EAC/F,OAAO,KAAK,GAAG,WAAW,QAAQ;CACpC;;;;;;;;;CAUA,AAAO,WACL,UACY;EACZ,OAAO,KAAK,GAAG,YAAY,QAAQ;CACrC;;;;;;;;;CAUA,AAAO,UACL,UACY;EACZ,OAAO,KAAK,GAAG,WAAW,QAAQ;CACpC;;;;;;;;;CAUA,AAAO,aACL,UACY;EACZ,OAAO,KAAK,GAAG,cAAc,QAAQ;CACvC;;;;;;;;;CAUA,AAAO,YACL,UACY;EACZ,OAAO,KAAK,GAAG,aAAa,QAAQ;CACtC;;;;;;;;;;CAWA,AAAO,WACL,UACY;EACZ,OAAO,KAAK,GAAG,YAAY,QAAQ;CACrC;;;;;;;;;;CAWA,AAAO,YACL,UACY;EACZ,OAAO,KAAK,GAAG,aAAa,QAAQ;CACtC;;;;;;;;;;CAWA,AAAO,UACL,UACY;EACZ,OAAO,KAAK,GAAG,WAAW,QAAQ;CACpC;;;;;;;;;CAUA,AAAO,YACL,UACY;EACZ,OAAO,KAAK,GAAG,aAAa,QAAQ;CACtC;;;;;;;;;CAUA,AAAO,WACL,UACY;EACZ,OAAO,KAAK,GAAG,YAAY,QAAQ;CACrC;;;;;;;;CASA,AAAQ,kBAAkB,OAAwD;EAChF,IAAI,YAAY,KAAK,UAAU,IAAI,KAAK;EACxC,IAAI,CAAC,WAAW;GACd,4BAAY,IAAI,IAAI;GACpB,KAAK,UAAU,IAAI,OAAO,SAAS;EACrC;EACA,OAAO;CACT;AACF;;;;;AAMA,MAAa,oBAAoB,IAAI,YAAmB"}