@warlock.js/cascade 4.0.156 → 4.0.158

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 (689) hide show
  1. package/package.json +4 -4
  2. package/cjs/context/database-data-source-context.d.ts +0 -29
  3. package/cjs/context/database-data-source-context.d.ts.map +0 -1
  4. package/cjs/context/database-data-source-context.js +0 -28
  5. package/cjs/context/database-data-source-context.js.map +0 -1
  6. package/cjs/context/database-transaction-context.d.ts +0 -35
  7. package/cjs/context/database-transaction-context.d.ts.map +0 -1
  8. package/cjs/context/database-transaction-context.js +0 -40
  9. package/cjs/context/database-transaction-context.js.map +0 -1
  10. package/cjs/contracts/database-driver.contract.d.ts +0 -450
  11. package/cjs/contracts/database-driver.contract.d.ts.map +0 -1
  12. package/cjs/contracts/database-id-generator.contract.d.ts +0 -109
  13. package/cjs/contracts/database-id-generator.contract.d.ts.map +0 -1
  14. package/cjs/contracts/database-remover.contract.d.ts +0 -104
  15. package/cjs/contracts/database-remover.contract.d.ts.map +0 -1
  16. package/cjs/contracts/database-restorer.contract.d.ts +0 -143
  17. package/cjs/contracts/database-restorer.contract.d.ts.map +0 -1
  18. package/cjs/contracts/database-writer.contract.d.ts +0 -119
  19. package/cjs/contracts/database-writer.contract.d.ts.map +0 -1
  20. package/cjs/contracts/driver-blueprint.contract.d.ts +0 -49
  21. package/cjs/contracts/driver-blueprint.contract.d.ts.map +0 -1
  22. package/cjs/contracts/index.d.ts +0 -10
  23. package/cjs/contracts/index.d.ts.map +0 -1
  24. package/cjs/contracts/migration-driver.contract.d.ts +0 -522
  25. package/cjs/contracts/migration-driver.contract.d.ts.map +0 -1
  26. package/cjs/contracts/query-builder.contract.d.ts +0 -1609
  27. package/cjs/contracts/query-builder.contract.d.ts.map +0 -1
  28. package/cjs/contracts/sync-adapter.contract.d.ts +0 -58
  29. package/cjs/contracts/sync-adapter.contract.d.ts.map +0 -1
  30. package/cjs/data-source/data-source-registry.d.ts +0 -108
  31. package/cjs/data-source/data-source-registry.d.ts.map +0 -1
  32. package/cjs/data-source/data-source-registry.js +0 -145
  33. package/cjs/data-source/data-source-registry.js.map +0 -1
  34. package/cjs/data-source/data-source.d.ts +0 -147
  35. package/cjs/data-source/data-source.d.ts.map +0 -1
  36. package/cjs/data-source/data-source.js +0 -83
  37. package/cjs/data-source/data-source.js.map +0 -1
  38. package/cjs/database-dirty-tracker.d.ts +0 -252
  39. package/cjs/database-dirty-tracker.d.ts.map +0 -1
  40. package/cjs/database-dirty-tracker.js +0 -386
  41. package/cjs/database-dirty-tracker.js.map +0 -1
  42. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
  43. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
  44. package/cjs/drivers/mongodb/mongodb-blueprint.js +0 -51
  45. package/cjs/drivers/mongodb/mongodb-blueprint.js.map +0 -1
  46. package/cjs/drivers/mongodb/mongodb-driver.d.ts +0 -324
  47. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
  48. package/cjs/drivers/mongodb/mongodb-driver.js +0 -799
  49. package/cjs/drivers/mongodb/mongodb-driver.js.map +0 -1
  50. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
  51. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
  52. package/cjs/drivers/mongodb/mongodb-id-generator.js +0 -149
  53. package/cjs/drivers/mongodb/mongodb-id-generator.js.map +0 -1
  54. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
  55. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
  56. package/cjs/drivers/mongodb/mongodb-migration-driver.js +0 -666
  57. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
  58. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
  59. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
  60. package/cjs/drivers/mongodb/mongodb-query-builder.js +0 -1988
  61. package/cjs/drivers/mongodb/mongodb-query-builder.js.map +0 -1
  62. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
  63. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
  64. package/cjs/drivers/mongodb/mongodb-query-operations.js +0 -270
  65. package/cjs/drivers/mongodb/mongodb-query-operations.js.map +0 -1
  66. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
  67. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
  68. package/cjs/drivers/mongodb/mongodb-query-parser.js +0 -1351
  69. package/cjs/drivers/mongodb/mongodb-query-parser.js.map +0 -1
  70. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
  71. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
  72. package/cjs/drivers/mongodb/mongodb-sync-adapter.js +0 -146
  73. package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
  74. package/cjs/drivers/mongodb/types.d.ts +0 -43
  75. package/cjs/drivers/mongodb/types.d.ts.map +0 -1
  76. package/cjs/drivers/postgres/index.d.ts +0 -16
  77. package/cjs/drivers/postgres/index.d.ts.map +0 -1
  78. package/cjs/drivers/postgres/postgres-blueprint.d.ts +0 -64
  79. package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
  80. package/cjs/drivers/postgres/postgres-blueprint.js +0 -121
  81. package/cjs/drivers/postgres/postgres-blueprint.js.map +0 -1
  82. package/cjs/drivers/postgres/postgres-dialect.d.ts +0 -136
  83. package/cjs/drivers/postgres/postgres-dialect.d.ts.map +0 -1
  84. package/cjs/drivers/postgres/postgres-dialect.js +0 -268
  85. package/cjs/drivers/postgres/postgres-dialect.js.map +0 -1
  86. package/cjs/drivers/postgres/postgres-driver.d.ts +0 -432
  87. package/cjs/drivers/postgres/postgres-driver.d.ts.map +0 -1
  88. package/cjs/drivers/postgres/postgres-driver.js +0 -965
  89. package/cjs/drivers/postgres/postgres-driver.js.map +0 -1
  90. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +0 -397
  91. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
  92. package/cjs/drivers/postgres/postgres-migration-driver.js +0 -900
  93. package/cjs/drivers/postgres/postgres-migration-driver.js.map +0 -1
  94. package/cjs/drivers/postgres/postgres-query-builder.d.ts +0 -254
  95. package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
  96. package/cjs/drivers/postgres/postgres-query-builder.js +0 -933
  97. package/cjs/drivers/postgres/postgres-query-builder.js.map +0 -1
  98. package/cjs/drivers/postgres/postgres-query-parser.d.ts +0 -328
  99. package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
  100. package/cjs/drivers/postgres/postgres-query-parser.js +0 -864
  101. package/cjs/drivers/postgres/postgres-query-parser.js.map +0 -1
  102. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
  103. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
  104. package/cjs/drivers/postgres/postgres-sql-serializer.js +0 -400
  105. package/cjs/drivers/postgres/postgres-sql-serializer.js.map +0 -1
  106. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
  107. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
  108. package/cjs/drivers/postgres/postgres-sync-adapter.js +0 -197
  109. package/cjs/drivers/postgres/postgres-sync-adapter.js.map +0 -1
  110. package/cjs/drivers/postgres/types.d.ts +0 -142
  111. package/cjs/drivers/postgres/types.d.ts.map +0 -1
  112. package/cjs/drivers/sql/index.d.ts +0 -10
  113. package/cjs/drivers/sql/index.d.ts.map +0 -1
  114. package/cjs/drivers/sql/sql-dialect.contract.d.ts +0 -204
  115. package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
  116. package/cjs/drivers/sql/sql-types.d.ts +0 -202
  117. package/cjs/drivers/sql/sql-types.d.ts.map +0 -1
  118. package/cjs/errors/missing-data-source.error.d.ts +0 -22
  119. package/cjs/errors/missing-data-source.error.d.ts.map +0 -1
  120. package/cjs/errors/missing-data-source.error.js +0 -29
  121. package/cjs/errors/missing-data-source.error.js.map +0 -1
  122. package/cjs/errors/transaction-rollback.error.d.ts +0 -20
  123. package/cjs/errors/transaction-rollback.error.d.ts.map +0 -1
  124. package/cjs/errors/transaction-rollback.error.js +0 -27
  125. package/cjs/errors/transaction-rollback.error.js.map +0 -1
  126. package/cjs/events/model-events.d.ts +0 -231
  127. package/cjs/events/model-events.d.ts.map +0 -1
  128. package/cjs/events/model-events.js +0 -259
  129. package/cjs/events/model-events.js.map +0 -1
  130. package/cjs/expressions/aggregate-expressions.d.ts +0 -215
  131. package/cjs/expressions/aggregate-expressions.d.ts.map +0 -1
  132. package/cjs/expressions/aggregate-expressions.js +0 -221
  133. package/cjs/expressions/aggregate-expressions.js.map +0 -1
  134. package/cjs/expressions/index.d.ts +0 -2
  135. package/cjs/expressions/index.d.ts.map +0 -1
  136. package/cjs/index.d.ts +0 -45
  137. package/cjs/index.d.ts.map +0 -1
  138. package/cjs/index.js +0 -1
  139. package/cjs/index.js.map +0 -1
  140. package/cjs/migration/column-builder.d.ts +0 -417
  141. package/cjs/migration/column-builder.d.ts.map +0 -1
  142. package/cjs/migration/column-builder.js +0 -586
  143. package/cjs/migration/column-builder.js.map +0 -1
  144. package/cjs/migration/column-helpers.d.ts +0 -275
  145. package/cjs/migration/column-helpers.d.ts.map +0 -1
  146. package/cjs/migration/column-helpers.js +0 -389
  147. package/cjs/migration/column-helpers.js.map +0 -1
  148. package/cjs/migration/foreign-key-builder.d.ts +0 -103
  149. package/cjs/migration/foreign-key-builder.d.ts.map +0 -1
  150. package/cjs/migration/foreign-key-builder.js +0 -121
  151. package/cjs/migration/foreign-key-builder.js.map +0 -1
  152. package/cjs/migration/index.d.ts +0 -7
  153. package/cjs/migration/index.d.ts.map +0 -1
  154. package/cjs/migration/migration-runner.d.ts +0 -278
  155. package/cjs/migration/migration-runner.d.ts.map +0 -1
  156. package/cjs/migration/migration-runner.js +0 -815
  157. package/cjs/migration/migration-runner.js.map +0 -1
  158. package/cjs/migration/migration.d.ts +0 -1992
  159. package/cjs/migration/migration.d.ts.map +0 -1
  160. package/cjs/migration/migration.js +0 -2162
  161. package/cjs/migration/migration.js.map +0 -1
  162. package/cjs/migration/sql-grammar.d.ts +0 -61
  163. package/cjs/migration/sql-grammar.d.ts.map +0 -1
  164. package/cjs/migration/sql-grammar.js +0 -164
  165. package/cjs/migration/sql-grammar.js.map +0 -1
  166. package/cjs/migration/sql-serializer.d.ts +0 -22
  167. package/cjs/migration/sql-serializer.d.ts.map +0 -1
  168. package/cjs/migration/sql-serializer.js +0 -26
  169. package/cjs/migration/sql-serializer.js.map +0 -1
  170. package/cjs/migration/types.d.ts +0 -155
  171. package/cjs/migration/types.d.ts.map +0 -1
  172. package/cjs/model/methods/accessor-methods.d.ts +0 -13
  173. package/cjs/model/methods/accessor-methods.d.ts.map +0 -1
  174. package/cjs/model/methods/accessor-methods.js +0 -51
  175. package/cjs/model/methods/accessor-methods.js.map +0 -1
  176. package/cjs/model/methods/delete-methods.d.ts +0 -10
  177. package/cjs/model/methods/delete-methods.d.ts.map +0 -1
  178. package/cjs/model/methods/delete-methods.js +0 -10
  179. package/cjs/model/methods/delete-methods.js.map +0 -1
  180. package/cjs/model/methods/dirty-methods.d.ts +0 -10
  181. package/cjs/model/methods/dirty-methods.d.ts.map +0 -1
  182. package/cjs/model/methods/dirty-methods.js +0 -15
  183. package/cjs/model/methods/dirty-methods.js.map +0 -1
  184. package/cjs/model/methods/hydration-methods.d.ts +0 -10
  185. package/cjs/model/methods/hydration-methods.d.ts.map +0 -1
  186. package/cjs/model/methods/hydration-methods.js +0 -57
  187. package/cjs/model/methods/hydration-methods.js.map +0 -1
  188. package/cjs/model/methods/instance-event-methods.d.ts +0 -7
  189. package/cjs/model/methods/instance-event-methods.d.ts.map +0 -1
  190. package/cjs/model/methods/instance-event-methods.js +0 -15
  191. package/cjs/model/methods/instance-event-methods.js.map +0 -1
  192. package/cjs/model/methods/meta-methods.d.ts +0 -7
  193. package/cjs/model/methods/meta-methods.d.ts.map +0 -1
  194. package/cjs/model/methods/meta-methods.js +0 -78
  195. package/cjs/model/methods/meta-methods.js.map +0 -1
  196. package/cjs/model/methods/query-methods.d.ts +0 -24
  197. package/cjs/model/methods/query-methods.d.ts.map +0 -1
  198. package/cjs/model/methods/query-methods.js +0 -161
  199. package/cjs/model/methods/query-methods.js.map +0 -1
  200. package/cjs/model/methods/restore-methods.d.ts +0 -10
  201. package/cjs/model/methods/restore-methods.d.ts.map +0 -1
  202. package/cjs/model/methods/restore-methods.js +0 -13
  203. package/cjs/model/methods/restore-methods.js.map +0 -1
  204. package/cjs/model/methods/scope-methods.d.ts +0 -7
  205. package/cjs/model/methods/scope-methods.d.ts.map +0 -1
  206. package/cjs/model/methods/scope-methods.js +0 -15
  207. package/cjs/model/methods/scope-methods.js.map +0 -1
  208. package/cjs/model/methods/serialization-methods.d.ts +0 -3
  209. package/cjs/model/methods/serialization-methods.d.ts.map +0 -1
  210. package/cjs/model/methods/serialization-methods.js +0 -27
  211. package/cjs/model/methods/serialization-methods.js.map +0 -1
  212. package/cjs/model/methods/static-event-methods.d.ts +0 -9
  213. package/cjs/model/methods/static-event-methods.d.ts.map +0 -1
  214. package/cjs/model/methods/static-event-methods.js +0 -29
  215. package/cjs/model/methods/static-event-methods.js.map +0 -1
  216. package/cjs/model/methods/write-methods.d.ts +0 -10
  217. package/cjs/model/methods/write-methods.d.ts.map +0 -1
  218. package/cjs/model/methods/write-methods.js +0 -52
  219. package/cjs/model/methods/write-methods.js.map +0 -1
  220. package/cjs/model/model.d.ts +0 -1650
  221. package/cjs/model/model.d.ts.map +0 -1
  222. package/cjs/model/model.js +0 -1657
  223. package/cjs/model/model.js.map +0 -1
  224. package/cjs/model/model.types.d.ts +0 -44
  225. package/cjs/model/model.types.d.ts.map +0 -1
  226. package/cjs/model/register-model.d.ts +0 -81
  227. package/cjs/model/register-model.d.ts.map +0 -1
  228. package/cjs/model/register-model.js +0 -94
  229. package/cjs/model/register-model.js.map +0 -1
  230. package/cjs/query-builder/query-builder.d.ts +0 -556
  231. package/cjs/query-builder/query-builder.d.ts.map +0 -1
  232. package/cjs/query-builder/query-builder.js +0 -1070
  233. package/cjs/query-builder/query-builder.js.map +0 -1
  234. package/cjs/relations/helpers.d.ts +0 -156
  235. package/cjs/relations/helpers.d.ts.map +0 -1
  236. package/cjs/relations/helpers.js +0 -201
  237. package/cjs/relations/helpers.js.map +0 -1
  238. package/cjs/relations/index.d.ts +0 -35
  239. package/cjs/relations/index.d.ts.map +0 -1
  240. package/cjs/relations/pivot-operations.d.ts +0 -160
  241. package/cjs/relations/pivot-operations.d.ts.map +0 -1
  242. package/cjs/relations/pivot-operations.js +0 -293
  243. package/cjs/relations/pivot-operations.js.map +0 -1
  244. package/cjs/relations/relation-hydrator.d.ts +0 -68
  245. package/cjs/relations/relation-hydrator.d.ts.map +0 -1
  246. package/cjs/relations/relation-hydrator.js +0 -81
  247. package/cjs/relations/relation-hydrator.js.map +0 -1
  248. package/cjs/relations/relation-loader.d.ts +0 -194
  249. package/cjs/relations/relation-loader.d.ts.map +0 -1
  250. package/cjs/relations/relation-loader.js +0 -466
  251. package/cjs/relations/relation-loader.js.map +0 -1
  252. package/cjs/relations/types.d.ts +0 -306
  253. package/cjs/relations/types.d.ts.map +0 -1
  254. package/cjs/remover/database-remover.d.ts +0 -100
  255. package/cjs/remover/database-remover.d.ts.map +0 -1
  256. package/cjs/remover/database-remover.js +0 -214
  257. package/cjs/remover/database-remover.js.map +0 -1
  258. package/cjs/restorer/database-restorer.d.ts +0 -131
  259. package/cjs/restorer/database-restorer.d.ts.map +0 -1
  260. package/cjs/restorer/database-restorer.js +0 -434
  261. package/cjs/restorer/database-restorer.js.map +0 -1
  262. package/cjs/sql-database-dirty-tracker.d.ts +0 -13
  263. package/cjs/sql-database-dirty-tracker.d.ts.map +0 -1
  264. package/cjs/sql-database-dirty-tracker.js +0 -14
  265. package/cjs/sql-database-dirty-tracker.js.map +0 -1
  266. package/cjs/sync/index.d.ts +0 -12
  267. package/cjs/sync/index.d.ts.map +0 -1
  268. package/cjs/sync/model-events.d.ts +0 -62
  269. package/cjs/sync/model-events.d.ts.map +0 -1
  270. package/cjs/sync/model-events.js +0 -49
  271. package/cjs/sync/model-events.js.map +0 -1
  272. package/cjs/sync/model-sync-operation.d.ts +0 -163
  273. package/cjs/sync/model-sync-operation.d.ts.map +0 -1
  274. package/cjs/sync/model-sync-operation.js +0 -292
  275. package/cjs/sync/model-sync-operation.js.map +0 -1
  276. package/cjs/sync/model-sync.d.ts +0 -130
  277. package/cjs/sync/model-sync.d.ts.map +0 -1
  278. package/cjs/sync/model-sync.js +0 -178
  279. package/cjs/sync/model-sync.js.map +0 -1
  280. package/cjs/sync/sync-context.d.ts +0 -70
  281. package/cjs/sync/sync-context.d.ts.map +0 -1
  282. package/cjs/sync/sync-context.js +0 -101
  283. package/cjs/sync/sync-context.js.map +0 -1
  284. package/cjs/sync/sync-manager.d.ts +0 -213
  285. package/cjs/sync/sync-manager.d.ts.map +0 -1
  286. package/cjs/sync/sync-manager.js +0 -689
  287. package/cjs/sync/sync-manager.js.map +0 -1
  288. package/cjs/sync/types.d.ts +0 -289
  289. package/cjs/sync/types.d.ts.map +0 -1
  290. package/cjs/test-migrations/test-enhanced-features.migration.d.ts +0 -15
  291. package/cjs/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
  292. package/cjs/types.d.ts +0 -371
  293. package/cjs/types.d.ts.map +0 -1
  294. package/cjs/utils/connect-to-database.d.ts +0 -300
  295. package/cjs/utils/connect-to-database.d.ts.map +0 -1
  296. package/cjs/utils/connect-to-database.js +0 -128
  297. package/cjs/utils/connect-to-database.js.map +0 -1
  298. package/cjs/utils/database-writer.utils.d.ts +0 -15
  299. package/cjs/utils/database-writer.utils.d.ts.map +0 -1
  300. package/cjs/utils/database-writer.utils.js +0 -14
  301. package/cjs/utils/database-writer.utils.js.map +0 -1
  302. package/cjs/utils/define-model.js +0 -100
  303. package/cjs/utils/define-model.js.map +0 -1
  304. package/cjs/utils/is-valid-date-value.d.ts +0 -5
  305. package/cjs/utils/is-valid-date-value.d.ts.map +0 -1
  306. package/cjs/utils/is-valid-date-value.js +0 -25
  307. package/cjs/utils/is-valid-date-value.js.map +0 -1
  308. package/cjs/utils/once-connected.d.ts +0 -146
  309. package/cjs/utils/once-connected.d.ts.map +0 -1
  310. package/cjs/utils/once-connected.js +0 -251
  311. package/cjs/utils/once-connected.js.map +0 -1
  312. package/cjs/validation/database-seal-plugins.d.ts +0 -12
  313. package/cjs/validation/database-seal-plugins.d.ts.map +0 -1
  314. package/cjs/validation/database-seal-plugins.js +0 -1
  315. package/cjs/validation/database-seal-plugins.js.map +0 -1
  316. package/cjs/validation/database-writer-validation-error.d.ts +0 -97
  317. package/cjs/validation/database-writer-validation-error.d.ts.map +0 -1
  318. package/cjs/validation/database-writer-validation-error.js +0 -160
  319. package/cjs/validation/database-writer-validation-error.js.map +0 -1
  320. package/cjs/validation/index.d.ts +0 -3
  321. package/cjs/validation/index.d.ts.map +0 -1
  322. package/cjs/validation/mutators/embed-mutator.d.ts +0 -9
  323. package/cjs/validation/mutators/embed-mutator.d.ts.map +0 -1
  324. package/cjs/validation/mutators/embed-mutator.js +0 -33
  325. package/cjs/validation/mutators/embed-mutator.js.map +0 -1
  326. package/cjs/validation/plugins/embed-validator-plugin.d.ts +0 -24
  327. package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
  328. package/cjs/validation/plugins/embed-validator-plugin.js +0 -18
  329. package/cjs/validation/plugins/embed-validator-plugin.js.map +0 -1
  330. package/cjs/validation/rules/database-model-rule.d.ts +0 -7
  331. package/cjs/validation/rules/database-model-rule.d.ts.map +0 -1
  332. package/cjs/validation/rules/database-model-rule.js +0 -27
  333. package/cjs/validation/rules/database-model-rule.js.map +0 -1
  334. package/cjs/validation/transformers/embed-model-transformer.d.ts +0 -3
  335. package/cjs/validation/transformers/embed-model-transformer.d.ts.map +0 -1
  336. package/cjs/validation/transformers/embed-model-transformer.js +0 -18
  337. package/cjs/validation/transformers/embed-model-transformer.js.map +0 -1
  338. package/cjs/validation/validators/embed-validator.d.ts +0 -21
  339. package/cjs/validation/validators/embed-validator.d.ts.map +0 -1
  340. package/cjs/validation/validators/embed-validator.js +0 -43
  341. package/cjs/validation/validators/embed-validator.js.map +0 -1
  342. package/cjs/writer/database-writer.d.ts +0 -181
  343. package/cjs/writer/database-writer.d.ts.map +0 -1
  344. package/cjs/writer/database-writer.js +0 -407
  345. package/cjs/writer/database-writer.js.map +0 -1
  346. package/esm/context/database-data-source-context.d.ts +0 -29
  347. package/esm/context/database-data-source-context.d.ts.map +0 -1
  348. package/esm/context/database-data-source-context.js +0 -28
  349. package/esm/context/database-data-source-context.js.map +0 -1
  350. package/esm/context/database-transaction-context.d.ts +0 -35
  351. package/esm/context/database-transaction-context.d.ts.map +0 -1
  352. package/esm/context/database-transaction-context.js +0 -40
  353. package/esm/context/database-transaction-context.js.map +0 -1
  354. package/esm/contracts/database-driver.contract.d.ts +0 -450
  355. package/esm/contracts/database-driver.contract.d.ts.map +0 -1
  356. package/esm/contracts/database-id-generator.contract.d.ts +0 -109
  357. package/esm/contracts/database-id-generator.contract.d.ts.map +0 -1
  358. package/esm/contracts/database-remover.contract.d.ts +0 -104
  359. package/esm/contracts/database-remover.contract.d.ts.map +0 -1
  360. package/esm/contracts/database-restorer.contract.d.ts +0 -143
  361. package/esm/contracts/database-restorer.contract.d.ts.map +0 -1
  362. package/esm/contracts/database-writer.contract.d.ts +0 -119
  363. package/esm/contracts/database-writer.contract.d.ts.map +0 -1
  364. package/esm/contracts/driver-blueprint.contract.d.ts +0 -49
  365. package/esm/contracts/driver-blueprint.contract.d.ts.map +0 -1
  366. package/esm/contracts/index.d.ts +0 -10
  367. package/esm/contracts/index.d.ts.map +0 -1
  368. package/esm/contracts/migration-driver.contract.d.ts +0 -522
  369. package/esm/contracts/migration-driver.contract.d.ts.map +0 -1
  370. package/esm/contracts/query-builder.contract.d.ts +0 -1609
  371. package/esm/contracts/query-builder.contract.d.ts.map +0 -1
  372. package/esm/contracts/sync-adapter.contract.d.ts +0 -58
  373. package/esm/contracts/sync-adapter.contract.d.ts.map +0 -1
  374. package/esm/data-source/data-source-registry.d.ts +0 -108
  375. package/esm/data-source/data-source-registry.d.ts.map +0 -1
  376. package/esm/data-source/data-source-registry.js +0 -145
  377. package/esm/data-source/data-source-registry.js.map +0 -1
  378. package/esm/data-source/data-source.d.ts +0 -147
  379. package/esm/data-source/data-source.d.ts.map +0 -1
  380. package/esm/data-source/data-source.js +0 -83
  381. package/esm/data-source/data-source.js.map +0 -1
  382. package/esm/database-dirty-tracker.d.ts +0 -252
  383. package/esm/database-dirty-tracker.d.ts.map +0 -1
  384. package/esm/database-dirty-tracker.js +0 -386
  385. package/esm/database-dirty-tracker.js.map +0 -1
  386. package/esm/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
  387. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
  388. package/esm/drivers/mongodb/mongodb-blueprint.js +0 -51
  389. package/esm/drivers/mongodb/mongodb-blueprint.js.map +0 -1
  390. package/esm/drivers/mongodb/mongodb-driver.d.ts +0 -324
  391. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
  392. package/esm/drivers/mongodb/mongodb-driver.js +0 -799
  393. package/esm/drivers/mongodb/mongodb-driver.js.map +0 -1
  394. package/esm/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
  395. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
  396. package/esm/drivers/mongodb/mongodb-id-generator.js +0 -149
  397. package/esm/drivers/mongodb/mongodb-id-generator.js.map +0 -1
  398. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
  399. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
  400. package/esm/drivers/mongodb/mongodb-migration-driver.js +0 -666
  401. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
  402. package/esm/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
  403. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
  404. package/esm/drivers/mongodb/mongodb-query-builder.js +0 -1988
  405. package/esm/drivers/mongodb/mongodb-query-builder.js.map +0 -1
  406. package/esm/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
  407. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
  408. package/esm/drivers/mongodb/mongodb-query-operations.js +0 -270
  409. package/esm/drivers/mongodb/mongodb-query-operations.js.map +0 -1
  410. package/esm/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
  411. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
  412. package/esm/drivers/mongodb/mongodb-query-parser.js +0 -1351
  413. package/esm/drivers/mongodb/mongodb-query-parser.js.map +0 -1
  414. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
  415. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
  416. package/esm/drivers/mongodb/mongodb-sync-adapter.js +0 -146
  417. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
  418. package/esm/drivers/mongodb/types.d.ts +0 -43
  419. package/esm/drivers/mongodb/types.d.ts.map +0 -1
  420. package/esm/drivers/postgres/index.d.ts +0 -16
  421. package/esm/drivers/postgres/index.d.ts.map +0 -1
  422. package/esm/drivers/postgres/postgres-blueprint.d.ts +0 -64
  423. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
  424. package/esm/drivers/postgres/postgres-blueprint.js +0 -121
  425. package/esm/drivers/postgres/postgres-blueprint.js.map +0 -1
  426. package/esm/drivers/postgres/postgres-dialect.d.ts +0 -136
  427. package/esm/drivers/postgres/postgres-dialect.d.ts.map +0 -1
  428. package/esm/drivers/postgres/postgres-dialect.js +0 -268
  429. package/esm/drivers/postgres/postgres-dialect.js.map +0 -1
  430. package/esm/drivers/postgres/postgres-driver.d.ts +0 -432
  431. package/esm/drivers/postgres/postgres-driver.d.ts.map +0 -1
  432. package/esm/drivers/postgres/postgres-driver.js +0 -965
  433. package/esm/drivers/postgres/postgres-driver.js.map +0 -1
  434. package/esm/drivers/postgres/postgres-migration-driver.d.ts +0 -397
  435. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
  436. package/esm/drivers/postgres/postgres-migration-driver.js +0 -900
  437. package/esm/drivers/postgres/postgres-migration-driver.js.map +0 -1
  438. package/esm/drivers/postgres/postgres-query-builder.d.ts +0 -254
  439. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
  440. package/esm/drivers/postgres/postgres-query-builder.js +0 -933
  441. package/esm/drivers/postgres/postgres-query-builder.js.map +0 -1
  442. package/esm/drivers/postgres/postgres-query-parser.d.ts +0 -328
  443. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
  444. package/esm/drivers/postgres/postgres-query-parser.js +0 -864
  445. package/esm/drivers/postgres/postgres-query-parser.js.map +0 -1
  446. package/esm/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
  447. package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
  448. package/esm/drivers/postgres/postgres-sql-serializer.js +0 -400
  449. package/esm/drivers/postgres/postgres-sql-serializer.js.map +0 -1
  450. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
  451. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
  452. package/esm/drivers/postgres/postgres-sync-adapter.js +0 -197
  453. package/esm/drivers/postgres/postgres-sync-adapter.js.map +0 -1
  454. package/esm/drivers/postgres/types.d.ts +0 -142
  455. package/esm/drivers/postgres/types.d.ts.map +0 -1
  456. package/esm/drivers/sql/index.d.ts +0 -10
  457. package/esm/drivers/sql/index.d.ts.map +0 -1
  458. package/esm/drivers/sql/sql-dialect.contract.d.ts +0 -204
  459. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
  460. package/esm/drivers/sql/sql-types.d.ts +0 -202
  461. package/esm/drivers/sql/sql-types.d.ts.map +0 -1
  462. package/esm/errors/missing-data-source.error.d.ts +0 -22
  463. package/esm/errors/missing-data-source.error.d.ts.map +0 -1
  464. package/esm/errors/missing-data-source.error.js +0 -29
  465. package/esm/errors/missing-data-source.error.js.map +0 -1
  466. package/esm/errors/transaction-rollback.error.d.ts +0 -20
  467. package/esm/errors/transaction-rollback.error.d.ts.map +0 -1
  468. package/esm/errors/transaction-rollback.error.js +0 -27
  469. package/esm/errors/transaction-rollback.error.js.map +0 -1
  470. package/esm/events/model-events.d.ts +0 -231
  471. package/esm/events/model-events.d.ts.map +0 -1
  472. package/esm/events/model-events.js +0 -259
  473. package/esm/events/model-events.js.map +0 -1
  474. package/esm/expressions/aggregate-expressions.d.ts +0 -215
  475. package/esm/expressions/aggregate-expressions.d.ts.map +0 -1
  476. package/esm/expressions/aggregate-expressions.js +0 -221
  477. package/esm/expressions/aggregate-expressions.js.map +0 -1
  478. package/esm/expressions/index.d.ts +0 -2
  479. package/esm/expressions/index.d.ts.map +0 -1
  480. package/esm/index.d.ts +0 -45
  481. package/esm/index.d.ts.map +0 -1
  482. package/esm/index.js +0 -1
  483. package/esm/index.js.map +0 -1
  484. package/esm/migration/column-builder.d.ts +0 -417
  485. package/esm/migration/column-builder.d.ts.map +0 -1
  486. package/esm/migration/column-builder.js +0 -586
  487. package/esm/migration/column-builder.js.map +0 -1
  488. package/esm/migration/column-helpers.d.ts +0 -275
  489. package/esm/migration/column-helpers.d.ts.map +0 -1
  490. package/esm/migration/column-helpers.js +0 -389
  491. package/esm/migration/column-helpers.js.map +0 -1
  492. package/esm/migration/foreign-key-builder.d.ts +0 -103
  493. package/esm/migration/foreign-key-builder.d.ts.map +0 -1
  494. package/esm/migration/foreign-key-builder.js +0 -121
  495. package/esm/migration/foreign-key-builder.js.map +0 -1
  496. package/esm/migration/index.d.ts +0 -7
  497. package/esm/migration/index.d.ts.map +0 -1
  498. package/esm/migration/migration-runner.d.ts +0 -278
  499. package/esm/migration/migration-runner.d.ts.map +0 -1
  500. package/esm/migration/migration-runner.js +0 -815
  501. package/esm/migration/migration-runner.js.map +0 -1
  502. package/esm/migration/migration.d.ts +0 -1992
  503. package/esm/migration/migration.d.ts.map +0 -1
  504. package/esm/migration/migration.js +0 -2162
  505. package/esm/migration/migration.js.map +0 -1
  506. package/esm/migration/sql-grammar.d.ts +0 -61
  507. package/esm/migration/sql-grammar.d.ts.map +0 -1
  508. package/esm/migration/sql-grammar.js +0 -164
  509. package/esm/migration/sql-grammar.js.map +0 -1
  510. package/esm/migration/sql-serializer.d.ts +0 -22
  511. package/esm/migration/sql-serializer.d.ts.map +0 -1
  512. package/esm/migration/sql-serializer.js +0 -26
  513. package/esm/migration/sql-serializer.js.map +0 -1
  514. package/esm/migration/types.d.ts +0 -155
  515. package/esm/migration/types.d.ts.map +0 -1
  516. package/esm/model/methods/accessor-methods.d.ts +0 -13
  517. package/esm/model/methods/accessor-methods.d.ts.map +0 -1
  518. package/esm/model/methods/accessor-methods.js +0 -51
  519. package/esm/model/methods/accessor-methods.js.map +0 -1
  520. package/esm/model/methods/delete-methods.d.ts +0 -10
  521. package/esm/model/methods/delete-methods.d.ts.map +0 -1
  522. package/esm/model/methods/delete-methods.js +0 -10
  523. package/esm/model/methods/delete-methods.js.map +0 -1
  524. package/esm/model/methods/dirty-methods.d.ts +0 -10
  525. package/esm/model/methods/dirty-methods.d.ts.map +0 -1
  526. package/esm/model/methods/dirty-methods.js +0 -15
  527. package/esm/model/methods/dirty-methods.js.map +0 -1
  528. package/esm/model/methods/hydration-methods.d.ts +0 -10
  529. package/esm/model/methods/hydration-methods.d.ts.map +0 -1
  530. package/esm/model/methods/hydration-methods.js +0 -57
  531. package/esm/model/methods/hydration-methods.js.map +0 -1
  532. package/esm/model/methods/instance-event-methods.d.ts +0 -7
  533. package/esm/model/methods/instance-event-methods.d.ts.map +0 -1
  534. package/esm/model/methods/instance-event-methods.js +0 -15
  535. package/esm/model/methods/instance-event-methods.js.map +0 -1
  536. package/esm/model/methods/meta-methods.d.ts +0 -7
  537. package/esm/model/methods/meta-methods.d.ts.map +0 -1
  538. package/esm/model/methods/meta-methods.js +0 -78
  539. package/esm/model/methods/meta-methods.js.map +0 -1
  540. package/esm/model/methods/query-methods.d.ts +0 -24
  541. package/esm/model/methods/query-methods.d.ts.map +0 -1
  542. package/esm/model/methods/query-methods.js +0 -161
  543. package/esm/model/methods/query-methods.js.map +0 -1
  544. package/esm/model/methods/restore-methods.d.ts +0 -10
  545. package/esm/model/methods/restore-methods.d.ts.map +0 -1
  546. package/esm/model/methods/restore-methods.js +0 -13
  547. package/esm/model/methods/restore-methods.js.map +0 -1
  548. package/esm/model/methods/scope-methods.d.ts +0 -7
  549. package/esm/model/methods/scope-methods.d.ts.map +0 -1
  550. package/esm/model/methods/scope-methods.js +0 -15
  551. package/esm/model/methods/scope-methods.js.map +0 -1
  552. package/esm/model/methods/serialization-methods.d.ts +0 -3
  553. package/esm/model/methods/serialization-methods.d.ts.map +0 -1
  554. package/esm/model/methods/serialization-methods.js +0 -27
  555. package/esm/model/methods/serialization-methods.js.map +0 -1
  556. package/esm/model/methods/static-event-methods.d.ts +0 -9
  557. package/esm/model/methods/static-event-methods.d.ts.map +0 -1
  558. package/esm/model/methods/static-event-methods.js +0 -29
  559. package/esm/model/methods/static-event-methods.js.map +0 -1
  560. package/esm/model/methods/write-methods.d.ts +0 -10
  561. package/esm/model/methods/write-methods.d.ts.map +0 -1
  562. package/esm/model/methods/write-methods.js +0 -52
  563. package/esm/model/methods/write-methods.js.map +0 -1
  564. package/esm/model/model.d.ts +0 -1650
  565. package/esm/model/model.d.ts.map +0 -1
  566. package/esm/model/model.js +0 -1657
  567. package/esm/model/model.js.map +0 -1
  568. package/esm/model/model.types.d.ts +0 -44
  569. package/esm/model/model.types.d.ts.map +0 -1
  570. package/esm/model/register-model.d.ts +0 -81
  571. package/esm/model/register-model.d.ts.map +0 -1
  572. package/esm/model/register-model.js +0 -94
  573. package/esm/model/register-model.js.map +0 -1
  574. package/esm/query-builder/query-builder.d.ts +0 -556
  575. package/esm/query-builder/query-builder.d.ts.map +0 -1
  576. package/esm/query-builder/query-builder.js +0 -1070
  577. package/esm/query-builder/query-builder.js.map +0 -1
  578. package/esm/relations/helpers.d.ts +0 -156
  579. package/esm/relations/helpers.d.ts.map +0 -1
  580. package/esm/relations/helpers.js +0 -201
  581. package/esm/relations/helpers.js.map +0 -1
  582. package/esm/relations/index.d.ts +0 -35
  583. package/esm/relations/index.d.ts.map +0 -1
  584. package/esm/relations/pivot-operations.d.ts +0 -160
  585. package/esm/relations/pivot-operations.d.ts.map +0 -1
  586. package/esm/relations/pivot-operations.js +0 -293
  587. package/esm/relations/pivot-operations.js.map +0 -1
  588. package/esm/relations/relation-hydrator.d.ts +0 -68
  589. package/esm/relations/relation-hydrator.d.ts.map +0 -1
  590. package/esm/relations/relation-hydrator.js +0 -81
  591. package/esm/relations/relation-hydrator.js.map +0 -1
  592. package/esm/relations/relation-loader.d.ts +0 -194
  593. package/esm/relations/relation-loader.d.ts.map +0 -1
  594. package/esm/relations/relation-loader.js +0 -466
  595. package/esm/relations/relation-loader.js.map +0 -1
  596. package/esm/relations/types.d.ts +0 -306
  597. package/esm/relations/types.d.ts.map +0 -1
  598. package/esm/remover/database-remover.d.ts +0 -100
  599. package/esm/remover/database-remover.d.ts.map +0 -1
  600. package/esm/remover/database-remover.js +0 -214
  601. package/esm/remover/database-remover.js.map +0 -1
  602. package/esm/restorer/database-restorer.d.ts +0 -131
  603. package/esm/restorer/database-restorer.d.ts.map +0 -1
  604. package/esm/restorer/database-restorer.js +0 -434
  605. package/esm/restorer/database-restorer.js.map +0 -1
  606. package/esm/sql-database-dirty-tracker.d.ts +0 -13
  607. package/esm/sql-database-dirty-tracker.d.ts.map +0 -1
  608. package/esm/sql-database-dirty-tracker.js +0 -14
  609. package/esm/sql-database-dirty-tracker.js.map +0 -1
  610. package/esm/sync/index.d.ts +0 -12
  611. package/esm/sync/index.d.ts.map +0 -1
  612. package/esm/sync/model-events.d.ts +0 -62
  613. package/esm/sync/model-events.d.ts.map +0 -1
  614. package/esm/sync/model-events.js +0 -49
  615. package/esm/sync/model-events.js.map +0 -1
  616. package/esm/sync/model-sync-operation.d.ts +0 -163
  617. package/esm/sync/model-sync-operation.d.ts.map +0 -1
  618. package/esm/sync/model-sync-operation.js +0 -292
  619. package/esm/sync/model-sync-operation.js.map +0 -1
  620. package/esm/sync/model-sync.d.ts +0 -130
  621. package/esm/sync/model-sync.d.ts.map +0 -1
  622. package/esm/sync/model-sync.js +0 -178
  623. package/esm/sync/model-sync.js.map +0 -1
  624. package/esm/sync/sync-context.d.ts +0 -70
  625. package/esm/sync/sync-context.d.ts.map +0 -1
  626. package/esm/sync/sync-context.js +0 -101
  627. package/esm/sync/sync-context.js.map +0 -1
  628. package/esm/sync/sync-manager.d.ts +0 -213
  629. package/esm/sync/sync-manager.d.ts.map +0 -1
  630. package/esm/sync/sync-manager.js +0 -689
  631. package/esm/sync/sync-manager.js.map +0 -1
  632. package/esm/sync/types.d.ts +0 -289
  633. package/esm/sync/types.d.ts.map +0 -1
  634. package/esm/test-migrations/test-enhanced-features.migration.d.ts +0 -15
  635. package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
  636. package/esm/types.d.ts +0 -371
  637. package/esm/types.d.ts.map +0 -1
  638. package/esm/utils/connect-to-database.d.ts +0 -300
  639. package/esm/utils/connect-to-database.d.ts.map +0 -1
  640. package/esm/utils/connect-to-database.js +0 -128
  641. package/esm/utils/connect-to-database.js.map +0 -1
  642. package/esm/utils/database-writer.utils.d.ts +0 -15
  643. package/esm/utils/database-writer.utils.d.ts.map +0 -1
  644. package/esm/utils/database-writer.utils.js +0 -14
  645. package/esm/utils/database-writer.utils.js.map +0 -1
  646. package/esm/utils/define-model.js +0 -100
  647. package/esm/utils/define-model.js.map +0 -1
  648. package/esm/utils/is-valid-date-value.d.ts +0 -5
  649. package/esm/utils/is-valid-date-value.d.ts.map +0 -1
  650. package/esm/utils/is-valid-date-value.js +0 -25
  651. package/esm/utils/is-valid-date-value.js.map +0 -1
  652. package/esm/utils/once-connected.d.ts +0 -146
  653. package/esm/utils/once-connected.d.ts.map +0 -1
  654. package/esm/utils/once-connected.js +0 -251
  655. package/esm/utils/once-connected.js.map +0 -1
  656. package/esm/validation/database-seal-plugins.d.ts +0 -12
  657. package/esm/validation/database-seal-plugins.d.ts.map +0 -1
  658. package/esm/validation/database-seal-plugins.js +0 -1
  659. package/esm/validation/database-seal-plugins.js.map +0 -1
  660. package/esm/validation/database-writer-validation-error.d.ts +0 -97
  661. package/esm/validation/database-writer-validation-error.d.ts.map +0 -1
  662. package/esm/validation/database-writer-validation-error.js +0 -160
  663. package/esm/validation/database-writer-validation-error.js.map +0 -1
  664. package/esm/validation/index.d.ts +0 -3
  665. package/esm/validation/index.d.ts.map +0 -1
  666. package/esm/validation/mutators/embed-mutator.d.ts +0 -9
  667. package/esm/validation/mutators/embed-mutator.d.ts.map +0 -1
  668. package/esm/validation/mutators/embed-mutator.js +0 -33
  669. package/esm/validation/mutators/embed-mutator.js.map +0 -1
  670. package/esm/validation/plugins/embed-validator-plugin.d.ts +0 -24
  671. package/esm/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
  672. package/esm/validation/plugins/embed-validator-plugin.js +0 -18
  673. package/esm/validation/plugins/embed-validator-plugin.js.map +0 -1
  674. package/esm/validation/rules/database-model-rule.d.ts +0 -7
  675. package/esm/validation/rules/database-model-rule.d.ts.map +0 -1
  676. package/esm/validation/rules/database-model-rule.js +0 -27
  677. package/esm/validation/rules/database-model-rule.js.map +0 -1
  678. package/esm/validation/transformers/embed-model-transformer.d.ts +0 -3
  679. package/esm/validation/transformers/embed-model-transformer.d.ts.map +0 -1
  680. package/esm/validation/transformers/embed-model-transformer.js +0 -18
  681. package/esm/validation/transformers/embed-model-transformer.js.map +0 -1
  682. package/esm/validation/validators/embed-validator.d.ts +0 -21
  683. package/esm/validation/validators/embed-validator.d.ts.map +0 -1
  684. package/esm/validation/validators/embed-validator.js +0 -43
  685. package/esm/validation/validators/embed-validator.js.map +0 -1
  686. package/esm/writer/database-writer.d.ts +0 -181
  687. package/esm/writer/database-writer.d.ts.map +0 -1
  688. package/esm/writer/database-writer.js +0 -407
  689. package/esm/writer/database-writer.js.map +0 -1
@@ -1,306 +0,0 @@
1
- /**
2
- * @fileoverview Relation type definitions for the Cascade ORM relations system.
3
- *
4
- * This module defines all the types and interfaces needed for configuring
5
- * model relationships including hasMany, belongsTo, belongsToMany, and hasOne.
6
- *
7
- * @module @warlock.js/cascade/relations/types
8
- */
9
- import type { QueryBuilderContract } from "../contracts";
10
- import type { Model } from "../model/model";
11
- /**
12
- * The type of relationship between models.
13
- *
14
- * - `hasOne`: One-to-one relationship where the foreign key is on the related model
15
- * - `hasMany`: One-to-many relationship where the foreign key is on the related model
16
- * - `belongsTo`: Inverse of hasOne/hasMany where the foreign key is on this model
17
- * - `belongsToMany`: Many-to-many relationship through a pivot table
18
- *
19
- * @example
20
- * ```typescript
21
- * // User hasOne Profile (profile.userId references user.id)
22
- * // User hasMany Posts (post.userId references user.id)
23
- * // Post belongsTo User (post.userId references user.id)
24
- * // Post belongsToMany Tags (through post_tags pivot table)
25
- * ```
26
- */
27
- export type RelationType = "hasOne" | "hasMany" | "belongsTo" | "belongsToMany";
28
- /**
29
- * Complete definition of a model relationship.
30
- *
31
- * This interface describes how two models are connected, including
32
- * the type of relationship and the keys used for joining.
33
- *
34
- * @example
35
- * ```typescript
36
- * const postsRelation: RelationDefinition = {
37
- * type: "hasMany",
38
- * model: "Post",
39
- * foreignKey: "userId",
40
- * localKey: "id",
41
- * };
42
- * ```
43
- */
44
- export type RelationDefinition = {
45
- /**
46
- * The type of relationship.
47
- */
48
- readonly type: RelationType;
49
- /**
50
- * The name of the related model in the registry.
51
- * Models must be decorated with `@RegisterModel()` to be resolvable.
52
- */
53
- readonly model: string;
54
- /**
55
- * The foreign key field on the related model (for hasOne/hasMany)
56
- * or on this model (for belongsTo).
57
- *
58
- * For belongsToMany, this is the key on the related model.
59
- */
60
- readonly foreignKey?: string;
61
- /**
62
- * The local key field on this model that the foreign key references.
63
- *
64
- * @default "id"
65
- */
66
- readonly localKey?: string;
67
- /**
68
- * The pivot table name (only for belongsToMany relationships).
69
- */
70
- readonly pivot?: string;
71
- /**
72
- * The column in the pivot table that references this model's primary key.
73
- * Only applicable for belongsToMany relationships.
74
- */
75
- readonly pivotLocalKey?: string;
76
- /**
77
- * The column in the pivot table that references the related model's primary key.
78
- * Only applicable for belongsToMany relationships.
79
- */
80
- readonly pivotForeignKey?: string;
81
- /**
82
- * List of specific columns to select.
83
- *
84
- * If not provided, defaults to all columns.
85
- */
86
- readonly select?: string[];
87
- };
88
- /**
89
- * Configuration options for a hasMany relationship.
90
- *
91
- * @example
92
- * ```typescript
93
- * // User has many Posts via post.userId
94
- * static relations = {
95
- * posts: hasMany("Post", { foreignKey: "userId" }),
96
- * };
97
- * ```
98
- */
99
- export type HasManyOptions = {
100
- /**
101
- * The foreign key field on the related model.
102
- *
103
- * If not provided, defaults to `{thisModelName}Id` (e.g., `userId` for User model).
104
- */
105
- readonly foreignKey?: string;
106
- /**
107
- * The local key field on this model that the foreign key references.
108
- *
109
- * @default "id"
110
- */
111
- readonly localKey?: string;
112
- /**
113
- * List of specific columns to select.
114
- *
115
- * If not provided, defaults to all columns.
116
- */
117
- readonly select?: string[];
118
- };
119
- /**
120
- * Configuration options for a hasOne relationship.
121
- *
122
- * @example
123
- * ```typescript
124
- * // User has one Profile via profile.userId
125
- * static relations = {
126
- * profile: hasOne("Profile", { foreignKey: "userId" }),
127
- * };
128
- * ```
129
- */
130
- export type HasOneOptions = {
131
- /**
132
- * The foreign key field on the related model.
133
- *
134
- * If not provided, defaults to `{thisModelName}Id` (e.g., `userId` for User model).
135
- */
136
- readonly foreignKey?: string;
137
- /**
138
- * The local key field on this model that the foreign key references.
139
- *
140
- * @default "id"
141
- */
142
- readonly localKey?: string;
143
- /**
144
- * List of specific columns to select.
145
- *
146
- * If not provided, defaults to all columns.
147
- */
148
- readonly select?: string[];
149
- };
150
- /**
151
- * Configuration options for a belongsTo relationship.
152
- *
153
- * @example
154
- * ```typescript
155
- * // Post belongs to User via post.userId
156
- * static relations = {
157
- * author: belongsTo("User", { foreignKey: "userId" }),
158
- * };
159
- * ```
160
- */
161
- export type BelongsToOptions = {
162
- /**
163
- * The foreign key field on this model that references the related model.
164
- *
165
- * If not provided, defaults to `{relationName}Id` (e.g., `authorId` for author relation).
166
- */
167
- readonly foreignKey?: string;
168
- /**
169
- * The primary key field on the related model.
170
- *
171
- * @default "id"
172
- */
173
- readonly ownerKey?: string;
174
- /**
175
- * List of specific columns to select from the related model.
176
- */
177
- readonly select?: string[];
178
- };
179
- /**
180
- * Configuration options for a belongsToMany relationship.
181
- *
182
- * @example
183
- * ```typescript
184
- * // Post belongs to many Tags via post_tags pivot table
185
- * static relations = {
186
- * tags: belongsToMany("Tag", {
187
- * pivot: "post_tags",
188
- * localKey: "postId",
189
- * foreignKey: "tagId",
190
- * }),
191
- * };
192
- * ```
193
- */
194
- export type BelongsToManyOptions = {
195
- /**
196
- * The pivot table name that connects the two models.
197
- * This is required for many-to-many relationships.
198
- */
199
- readonly pivot: string;
200
- /**
201
- * The column in the pivot table that references this model's primary key.
202
- *
203
- * If not provided, defaults to `{thisModelName}Id`.
204
- */
205
- readonly localKey?: string;
206
- /**
207
- * The column in the pivot table that references the related model's primary key.
208
- *
209
- * If not provided, defaults to `{relatedModelName}Id`.
210
- */
211
- readonly foreignKey?: string;
212
- /**
213
- * The primary key of this model that the pivot table references.
214
- *
215
- * @default "id"
216
- */
217
- readonly pivotLocalKey?: string;
218
- /**
219
- * The primary key of the related model that the pivot table references.
220
- *
221
- * @default "id"
222
- */
223
- readonly pivotForeignKey?: string;
224
- /**
225
- * List of specific columns to select from the related model.
226
- */
227
- readonly select?: string[];
228
- };
229
- /**
230
- * Callback function to apply constraints when loading a relation.
231
- *
232
- * @example
233
- * ```typescript
234
- * User.query().with("posts", (query) => {
235
- * query.where("isPublished", true).orderBy("createdAt", "desc");
236
- * });
237
- * ```
238
- */
239
- export type RelationConstraintCallback = (query: QueryBuilderContract) => void;
240
- /**
241
- * Constraints to apply when loading relations.
242
- *
243
- * Can be:
244
- * - A single constraint callback for a relation
245
- * - An object mapping relation names to constraint callbacks or boolean values
246
- *
247
- * @example
248
- * ```typescript
249
- * // Object form
250
- * await User.loadRelations(users, {
251
- * posts: (query) => query.where("isPublished", true),
252
- * organization: true,
253
- * });
254
- * ```
255
- */
256
- export type RelationConstraints = Record<string, boolean | RelationConstraintCallback>;
257
- /**
258
- * Type for the result of loading a relation.
259
- *
260
- * - For hasOne/belongsTo: A single model instance or null
261
- * - For hasMany/belongsToMany: An array of model instances
262
- */
263
- export type LoadedRelationResult = Model | Model[] | null;
264
- /**
265
- * Map that stores loaded relation data on a model instance.
266
- *
267
- * @example
268
- * ```typescript
269
- * // After user.load("posts", "profile")
270
- * user.loadedRelations.get("posts"); // Post[]
271
- * user.loadedRelations.get("profile"); // Profile | null
272
- * ```
273
- */
274
- export type LoadedRelationsMap = Map<string, LoadedRelationResult>;
275
- /**
276
- * A map of relation names to their definitions.
277
- *
278
- * This is the type for the static `relations` property on models.
279
- *
280
- * @example
281
- * ```typescript
282
- * class User extends Model {
283
- * static relations: RelationDefinitions = {
284
- * posts: hasMany("Post"),
285
- * profile: hasOne("Profile"),
286
- * organization: belongsTo("Organization"),
287
- * };
288
- * }
289
- * ```
290
- */
291
- export type RelationDefinitions = Record<string, RelationDefinition>;
292
- /**
293
- * Additional data to store in the pivot table for many-to-many relationships.
294
- *
295
- * @example
296
- * ```typescript
297
- * await post.attach("tags", [1, 2, 3], { addedBy: userId, addedAt: new Date() });
298
- * ```
299
- */
300
- export type PivotData = Record<string, unknown>;
301
- /**
302
- * IDs that can be used for pivot operations.
303
- * Supports both numeric and string IDs.
304
- */
305
- export type PivotIds = (number | string)[];
306
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/relations/types.ts"],"names":[],"mappings":"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"}
@@ -1,100 +0,0 @@
1
- import type { RemoverContract, RemoverOptions, RemoverResult } from "../contracts/database-remover.contract";
2
- import type { Model } from "../model/model";
3
- /**
4
- * Database remover service that orchestrates model deletion.
5
- *
6
- * Handles the complete deletion pipeline:
7
- * 1. Strategy resolution (options → model static → data source default)
8
- * 2. Validation (check if model is new, has primary key)
9
- * 3. Event emission (deleting, deleted)
10
- * 4. Driver execution (based on strategy: trash, permanent, or soft)
11
- * 5. Post-deletion cleanup (mark as new, reset state)
12
- *
13
- * @example
14
- * ```typescript
15
- * const user = await User.find(1);
16
- * const remover = new DatabaseRemover(user);
17
- * const result = await remover.destroy();
18
- *
19
- * console.log(result.success); // true
20
- * console.log(result.strategy); // "trash" | "permanent" | "soft"
21
- * ```
22
- */
23
- export declare class DatabaseRemover implements RemoverContract {
24
- /** The model instance being deleted */
25
- private readonly model;
26
- /** Model constructor reference */
27
- private readonly ctor;
28
- /** Data source containing driver */
29
- private readonly dataSource;
30
- /** Database driver for executing queries */
31
- private readonly driver;
32
- /** Table/collection name */
33
- private readonly table;
34
- /** Primary key field name */
35
- private readonly primaryKey;
36
- /**
37
- * Create a new remover instance for a model.
38
- *
39
- * @param model - The model instance to delete
40
- *
41
- * @example
42
- * ```typescript
43
- * const user = await User.find(1);
44
- * const remover = new DatabaseRemover(user);
45
- * await remover.destroy();
46
- * ```
47
- */
48
- constructor(model: Model);
49
- /**
50
- * Destroy (delete) the model instance from the database.
51
- *
52
- * @param options - Remover options
53
- * @returns Result containing success status, strategy used, and metadata
54
- * @throws {Error} If model is new (not saved) or if deletion fails
55
- */
56
- destroy(options?: RemoverOptions): Promise<RemoverResult>;
57
- /**
58
- * Prepare the trash record by preserving all original fields and adding deletion metadata.
59
- *
60
- * Keeps all original fields intact for easy restoration and adds:
61
- * - `deletedAt`: Timestamp when the record was deleted
62
- * - `originalTable`: The table/collection the record came from (for filtering in restoreAll)
63
- *
64
- * **ID Handling:**
65
- * - MongoDB with `_id`: Keeps `_id` as-is (unique across database)
66
- * - MongoDB with auto-increment `id`: Keeps `id` as a regular field (not primary key)
67
- * - SQL: Keeps original `id` as a regular field (trash table uses its own auto-increment primary key)
68
- *
69
- * The trash table should use its own primary key structure:
70
- * - MongoDB: Uses `_id` (ObjectId) as primary key, original `id` is just a field
71
- * - SQL: Uses auto-increment `trashId` as primary key, original `id` is just a field
72
- *
73
- * @param documentData - The original document data
74
- * @returns Prepared trash record data with all original fields + deletedAt + originalTable
75
- * @private
76
- */
77
- private prepareTrashRecord;
78
- /**
79
- * Resolve the trash table/collection name.
80
- *
81
- * Priority:
82
- * 1. Model.trashTable (if set)
83
- * 2. Data source defaultTrashTable (e.g., "RecycleBin" for MongoDB)
84
- * 3. Default pattern: `{table}Trash`
85
- *
86
- * @returns The trash table/collection name
87
- * @private
88
- */
89
- private resolveTrashTable;
90
- /**
91
- * Trigger sync operations after successful deletion.
92
- *
93
- * Emits a model.deleted event that ModelSyncOperation listens to.
94
- * The sync is handled by registered sync operations, not directly here.
95
- *
96
- * @private
97
- */
98
- private triggerSync;
99
- }
100
- //# sourceMappingURL=database-remover.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-remover.d.ts","sourceRoot":"","sources":["../../src/remover/database-remover.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIxD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;;;;;;;;;;OAWG;gBACgB,KAAK,EAAE,KAAK;IAS/B;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0H1E;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;;;OAOG;YACW,WAAW;CAI1B"}
@@ -1,214 +0,0 @@
1
- 'use strict';var events=require('@mongez/events'),modelEvents=require('../sync/model-events.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var events__default=/*#__PURE__*/_interopDefault(events);/**
2
- * Database remover service that orchestrates model deletion.
3
- *
4
- * Handles the complete deletion pipeline:
5
- * 1. Strategy resolution (options → model static → data source default)
6
- * 2. Validation (check if model is new, has primary key)
7
- * 3. Event emission (deleting, deleted)
8
- * 4. Driver execution (based on strategy: trash, permanent, or soft)
9
- * 5. Post-deletion cleanup (mark as new, reset state)
10
- *
11
- * @example
12
- * ```typescript
13
- * const user = await User.find(1);
14
- * const remover = new DatabaseRemover(user);
15
- * const result = await remover.destroy();
16
- *
17
- * console.log(result.success); // true
18
- * console.log(result.strategy); // "trash" | "permanent" | "soft"
19
- * ```
20
- */
21
- class DatabaseRemover {
22
- /** The model instance being deleted */
23
- model;
24
- /** Model constructor reference */
25
- ctor;
26
- /** Data source containing driver */
27
- dataSource;
28
- /** Database driver for executing queries */
29
- driver;
30
- /** Table/collection name */
31
- table;
32
- /** Primary key field name */
33
- primaryKey;
34
- /**
35
- * Create a new remover instance for a model.
36
- *
37
- * @param model - The model instance to delete
38
- *
39
- * @example
40
- * ```typescript
41
- * const user = await User.find(1);
42
- * const remover = new DatabaseRemover(user);
43
- * await remover.destroy();
44
- * ```
45
- */
46
- constructor(model) {
47
- this.model = model;
48
- this.ctor = model.constructor;
49
- this.dataSource = this.ctor.getDataSource();
50
- this.driver = this.dataSource.driver;
51
- this.table = this.ctor.table;
52
- this.primaryKey = this.ctor.primaryKey;
53
- }
54
- /**
55
- * Destroy (delete) the model instance from the database.
56
- *
57
- * @param options - Remover options
58
- * @returns Result containing success status, strategy used, and metadata
59
- * @throws {Error} If model is new (not saved) or if deletion fails
60
- */
61
- async destroy(options = {}) {
62
- // 1. Resolve strategy (options → model static → data source default → permanent)
63
- const strategy = options.strategy ??
64
- this.ctor.deleteStrategy ??
65
- this.dataSource.defaultDeleteStrategy ??
66
- "permanent";
67
- // 2. Validate model is not new and has primary key
68
- if (this.model.isNew) {
69
- throw new Error(`Cannot destroy ${this.ctor.name} instance that hasn't been saved to the database.`);
70
- }
71
- const primaryKeyValue = this.model.get(this.primaryKey);
72
- if (!primaryKeyValue) {
73
- throw new Error(`Cannot destroy ${this.ctor.name} instance: primary key (${this.primaryKey}) is missing.`);
74
- }
75
- // 3. Emit deleting event (unless skipEvents)
76
- if (!options.skipEvents) {
77
- await this.model.emitEvent("deleting", {
78
- strategy,
79
- primaryKeyValue,
80
- primaryKey: this.primaryKey,
81
- });
82
- }
83
- // 4. Execute deletion based on strategy
84
- let deletedCount = 0;
85
- let trashRecord;
86
- const filter = { [this.primaryKey]: primaryKeyValue };
87
- const context = {
88
- strategy,
89
- primaryKeyValue,
90
- primaryKey: this.primaryKey,
91
- };
92
- switch (strategy) {
93
- case "trash": {
94
- // Move to trash table, then delete
95
- const trashTable = this.resolveTrashTable();
96
- const documentData = { ...this.model.data };
97
- // Prepare trash record with metadata and handle ID conflicts
98
- const trashData = this.prepareTrashRecord(documentData);
99
- // Insert into trash table
100
- const insertResult = await this.driver.insert(trashTable, trashData);
101
- trashRecord = insertResult.document;
102
- context.trashRecord = trashRecord;
103
- // Delete original
104
- const result = await this.driver.delete(this.table, filter);
105
- deletedCount = result > 0 ? 1 : 0;
106
- break;
107
- }
108
- case "permanent": {
109
- // Direct deletion
110
- const result = await this.driver.delete(this.table, filter);
111
- deletedCount = result > 0 ? 1 : 0;
112
- break;
113
- }
114
- case "soft": {
115
- // Set deletedAt timestamp (using resolved column name)
116
- const deletedAtColumn = this.ctor.deletedAtColumn;
117
- // Only proceed if deletedAtColumn is configured (not false or undefined)
118
- if (deletedAtColumn === false || deletedAtColumn === undefined) {
119
- throw new Error(`Cannot perform soft delete on ${this.ctor.name}: deletedAtColumn is not configured. ` +
120
- `Set a column name or use a different delete strategy.`);
121
- }
122
- const updateOperations = {
123
- $set: { [deletedAtColumn]: new Date() },
124
- };
125
- const updateResult = await this.driver.update(this.table, filter, updateOperations);
126
- deletedCount = updateResult.modifiedCount > 0 ? 1 : 0;
127
- break;
128
- }
129
- }
130
- if (deletedCount === 0) {
131
- throw new Error(`Failed to destroy ${this.ctor.name} instance: record not found.`);
132
- }
133
- context.deletedCount = deletedCount;
134
- // 5. Post-deletion cleanup
135
- // Only mark as new for permanent and trash (soft delete keeps the record)
136
- if (strategy !== "soft") {
137
- this.model.isNew = true;
138
- }
139
- // 6. Emit deleted event (unless skipEvents)
140
- if (!options.skipEvents) {
141
- await this.model.emitEvent("deleted", context);
142
- }
143
- // 7. Trigger sync operations (fire-and-forget, non-blocking)
144
- if (!options.skipSync) {
145
- void this.triggerSync();
146
- }
147
- return {
148
- success: true,
149
- deletedCount,
150
- strategy,
151
- trashRecord,
152
- };
153
- }
154
- /**
155
- * Prepare the trash record by preserving all original fields and adding deletion metadata.
156
- *
157
- * Keeps all original fields intact for easy restoration and adds:
158
- * - `deletedAt`: Timestamp when the record was deleted
159
- * - `originalTable`: The table/collection the record came from (for filtering in restoreAll)
160
- *
161
- * **ID Handling:**
162
- * - MongoDB with `_id`: Keeps `_id` as-is (unique across database)
163
- * - MongoDB with auto-increment `id`: Keeps `id` as a regular field (not primary key)
164
- * - SQL: Keeps original `id` as a regular field (trash table uses its own auto-increment primary key)
165
- *
166
- * The trash table should use its own primary key structure:
167
- * - MongoDB: Uses `_id` (ObjectId) as primary key, original `id` is just a field
168
- * - SQL: Uses auto-increment `trashId` as primary key, original `id` is just a field
169
- *
170
- * @param documentData - The original document data
171
- * @returns Prepared trash record data with all original fields + deletedAt + originalTable
172
- * @private
173
- */
174
- prepareTrashRecord(documentData) {
175
- // Preserve all original fields and add deletion metadata
176
- return {
177
- ...documentData,
178
- deletedAt: new Date(),
179
- originalTable: this.table,
180
- };
181
- }
182
- /**
183
- * Resolve the trash table/collection name.
184
- *
185
- * Priority:
186
- * 1. Model.trashTable (if set)
187
- * 2. Data source defaultTrashTable (e.g., "RecycleBin" for MongoDB)
188
- * 3. Default pattern: `{table}Trash`
189
- *
190
- * @returns The trash table/collection name
191
- * @private
192
- */
193
- resolveTrashTable() {
194
- if (this.ctor.trashTable) {
195
- return this.ctor.trashTable;
196
- }
197
- if (this.dataSource.defaultTrashTable) {
198
- return this.dataSource.defaultTrashTable;
199
- }
200
- return `${this.table}Trash`;
201
- }
202
- /**
203
- * Trigger sync operations after successful deletion.
204
- *
205
- * Emits a model.deleted event that ModelSyncOperation listens to.
206
- * The sync is handled by registered sync operations, not directly here.
207
- *
208
- * @private
209
- */
210
- async triggerSync() {
211
- // Emit model.deleted event - ModelSyncOperation listens to these
212
- await events__default.default.triggerAll(modelEvents.getModelDeletedEvent(this.ctor), this.model);
213
- }
214
- }exports.DatabaseRemover=DatabaseRemover;//# sourceMappingURL=database-remover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-remover.js","sources":["../../src/remover/database-remover.ts"],"sourcesContent":[null],"names":["events","getModelDeletedEvent"],"mappings":"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"}