@warlock.js/cascade 4.0.157 → 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,293 +0,0 @@
1
- /**
2
- * @fileoverview Pivot table operations for many-to-many relationships.
3
- *
4
- * This module provides methods for managing the pivot table in
5
- * belongsToMany relationships: attach, detach, sync, and toggle.
6
- *
7
- * @module @warlock.js/cascade/relations/pivot-operations
8
- */
9
- // ============================================================================
10
- // PIVOT OPERATIONS CLASS
11
- // ============================================================================
12
- /**
13
- * Manages pivot table operations for many-to-many relationships.
14
- *
15
- * Provides attach, detach, sync, and toggle operations for managing
16
- * the connections between two models through a pivot table.
17
- *
18
- * @example
19
- * ```typescript
20
- * const pivotOps = new PivotOperations(post, "tags", tagsDefinition);
21
- *
22
- * // Attach tags
23
- * await pivotOps.attach([1, 2, 3]);
24
- *
25
- * // Attach with pivot data
26
- * await pivotOps.attach([4], { addedBy: userId });
27
- *
28
- * // Detach specific tags
29
- * await pivotOps.detach([2]);
30
- *
31
- * // Sync (replace all)
32
- * await pivotOps.sync([1, 5, 6]);
33
- *
34
- * // Toggle (attach if missing, detach if present)
35
- * await pivotOps.toggle([1, 7]);
36
- * ```
37
- */
38
- class PivotOperations {
39
- // ==========================================================================
40
- // PRIVATE PROPERTIES
41
- // ==========================================================================
42
- /**
43
- * The model instance performing the pivot operation.
44
- */
45
- model;
46
- /**
47
- * The name of the relation.
48
- */
49
- relationName;
50
- /**
51
- * The relation definition with pivot table configuration.
52
- */
53
- definition;
54
- /**
55
- * The model class of the source model.
56
- */
57
- modelClass;
58
- // ==========================================================================
59
- // CONSTRUCTOR
60
- // ==========================================================================
61
- /**
62
- * Creates a new PivotOperations instance.
63
- *
64
- * @param model - The model instance performing the operation
65
- * @param relationName - The name of the belongsToMany relation
66
- * @param definition - The relation definition
67
- * @param modelClass - The model class constructor
68
- */
69
- constructor(model, relationName, definition, modelClass) {
70
- if (definition.type !== "belongsToMany") {
71
- throw new Error(`Pivot operations are only available for belongsToMany relations. ` +
72
- `Relation "${relationName}" is of type "${definition.type}".`);
73
- }
74
- if (!definition.pivot) {
75
- throw new Error(`Relation "${relationName}" is missing the pivot table configuration.`);
76
- }
77
- this.model = model;
78
- this.relationName = relationName;
79
- this.definition = definition;
80
- this.modelClass = modelClass;
81
- }
82
- // ==========================================================================
83
- // PUBLIC METHODS
84
- // ==========================================================================
85
- /**
86
- * Attaches one or more related models via the pivot table.
87
- *
88
- * Creates new records in the pivot table linking this model to the
89
- * specified related model IDs. Existing attachments are not duplicated.
90
- *
91
- * @param ids - The IDs of the related models to attach
92
- * @param pivotData - Optional additional data to store in the pivot record
93
- *
94
- * @example
95
- * ```typescript
96
- * // Attach tags to a post
97
- * await post.attach("tags", [1, 2, 3]);
98
- *
99
- * // Attach with additional pivot data
100
- * await post.attach("tags", [4], { addedBy: currentUserId });
101
- * ```
102
- */
103
- async attach(ids, pivotData) {
104
- if (ids.length === 0)
105
- return;
106
- const { pivotTable, localKeyValue, pivotLocalKey, pivotForeignKey } = this.getPivotConfig();
107
- // Get existing attachments to avoid duplicates
108
- const existingIds = await this.getExistingPivotIds();
109
- const newIds = ids.filter((id) => !existingIds.has(id));
110
- if (newIds.length === 0)
111
- return;
112
- // Create pivot records
113
- const records = newIds.map((id) => ({
114
- [pivotLocalKey]: localKeyValue,
115
- [pivotForeignKey]: id,
116
- ...pivotData,
117
- }));
118
- const dataSource = this.modelClass.getDataSource();
119
- await dataSource.driver.insertMany(pivotTable, records);
120
- }
121
- /**
122
- * Detaches one or more related models from the pivot table.
123
- *
124
- * Removes records from the pivot table. If no IDs are specified,
125
- * all attachments for this model are removed.
126
- *
127
- * @param ids - Optional IDs to detach. If omitted, detaches all.
128
- *
129
- * @example
130
- * ```typescript
131
- * // Detach specific tags
132
- * await post.detach("tags", [2, 3]);
133
- *
134
- * // Detach all tags
135
- * await post.detach("tags");
136
- * ```
137
- */
138
- async detach(ids) {
139
- const { pivotTable, localKeyValue, pivotLocalKey, pivotForeignKey } = this.getPivotConfig();
140
- const dataSource = this.modelClass.getDataSource();
141
- // Build filter based on local key and optionally foreign keys
142
- const filter = { [pivotLocalKey]: localKeyValue };
143
- if (ids && ids.length > 0) {
144
- // Use $in operator style for filtering by multiple IDs
145
- filter[pivotForeignKey] = { $in: ids };
146
- }
147
- await dataSource.driver.deleteMany(pivotTable, filter);
148
- }
149
- /**
150
- * Synchronizes the pivot table to match the specified IDs.
151
- *
152
- * Attaches any new IDs and detaches any IDs not in the list.
153
- * After sync, the pivot table will contain exactly the specified IDs.
154
- *
155
- * @param ids - The IDs that should be attached after sync
156
- * @param pivotData - Optional data for newly attached records
157
- *
158
- * @example
159
- * ```typescript
160
- * // Set tags to exactly [1, 3, 5], removing any others
161
- * await post.sync("tags", [1, 3, 5]);
162
- * ```
163
- */
164
- async sync(ids, pivotData) {
165
- const existingIds = await this.getExistingPivotIds();
166
- const newIdSet = new Set(ids);
167
- // Find IDs to detach (in existing but not in new)
168
- const toDetach = [];
169
- for (const existingId of existingIds) {
170
- if (!newIdSet.has(existingId)) {
171
- toDetach.push(existingId);
172
- }
173
- }
174
- // Find IDs to attach (in new but not in existing)
175
- const toAttach = ids.filter((id) => !existingIds.has(id));
176
- // Perform operations
177
- if (toDetach.length > 0) {
178
- await this.detach(toDetach);
179
- }
180
- if (toAttach.length > 0) {
181
- await this.attach(toAttach, pivotData);
182
- }
183
- }
184
- /**
185
- * Toggles the attachment status of the specified IDs.
186
- *
187
- * For each ID: if attached, detaches it; if not attached, attaches it.
188
- *
189
- * @param ids - The IDs to toggle
190
- * @param pivotData - Optional data for newly attached records
191
- *
192
- * @example
193
- * ```typescript
194
- * // Toggle tags - attached become detached, detached become attached
195
- * await post.toggle("tags", [1, 4]);
196
- * ```
197
- */
198
- async toggle(ids, pivotData) {
199
- if (ids.length === 0)
200
- return;
201
- const existingIds = await this.getExistingPivotIds();
202
- const toAttach = [];
203
- const toDetach = [];
204
- for (const id of ids) {
205
- if (existingIds.has(id)) {
206
- toDetach.push(id);
207
- }
208
- else {
209
- toAttach.push(id);
210
- }
211
- }
212
- if (toDetach.length > 0) {
213
- await this.detach(toDetach);
214
- }
215
- if (toAttach.length > 0) {
216
- await this.attach(toAttach, pivotData);
217
- }
218
- }
219
- // ==========================================================================
220
- // PRIVATE METHODS
221
- // ==========================================================================
222
- /**
223
- * Gets the pivot table configuration.
224
- *
225
- * @returns The pivot configuration object
226
- */
227
- getPivotConfig() {
228
- const pivotTable = this.definition.pivot;
229
- const localKey = this.definition.pivotLocalKey ?? "id";
230
- const pivotLocalKey = this.definition.localKey ?? this.inferForeignKey(this.modelClass.name);
231
- const pivotForeignKey = this.definition.foreignKey ?? this.inferForeignKey(this.definition.model);
232
- const relatedKey = this.definition.pivotForeignKey ?? "id";
233
- const localKeyValue = this.model.get(localKey);
234
- return {
235
- pivotTable,
236
- localKeyValue,
237
- pivotLocalKey,
238
- pivotForeignKey,
239
- relatedKey,
240
- };
241
- }
242
- /**
243
- * Gets all currently attached IDs from the pivot table.
244
- *
245
- * @returns A set of attached foreign key values
246
- */
247
- async getExistingPivotIds() {
248
- const { pivotTable, localKeyValue, pivotLocalKey, pivotForeignKey } = this.getPivotConfig();
249
- const dataSource = this.modelClass.getDataSource();
250
- const records = await dataSource.driver
251
- .queryBuilder(pivotTable)
252
- .select([pivotForeignKey])
253
- .where(pivotLocalKey, localKeyValue)
254
- .get();
255
- const ids = new Set();
256
- for (const record of records) {
257
- const id = record[pivotForeignKey];
258
- if (id !== undefined && id !== null) {
259
- ids.add(id);
260
- }
261
- }
262
- return ids;
263
- }
264
- /**
265
- * Infers a foreign key name from a model name.
266
- *
267
- * @param modelName - The model class name
268
- * @returns The inferred foreign key (e.g., "User" -> "userId")
269
- */
270
- inferForeignKey(modelName) {
271
- return `${modelName.charAt(0).toLowerCase()}${modelName.slice(1)}Id`;
272
- }
273
- }
274
- // ============================================================================
275
- // FACTORY FUNCTION
276
- // ============================================================================
277
- /**
278
- * Creates a PivotOperations instance for a model and relation.
279
- *
280
- * @param model - The model instance
281
- * @param relationName - The name of the belongsToMany relation
282
- * @returns A PivotOperations instance
283
- * @throws Error if the relation is not a belongsToMany or not defined
284
- */
285
- function createPivotOperations(model, relationName) {
286
- const ModelClass = model.constructor;
287
- const relations = ModelClass
288
- .relations;
289
- if (!relations || !relations[relationName]) {
290
- throw new Error(`Relation "${relationName}" is not defined on model "${ModelClass.name}".`);
291
- }
292
- return new PivotOperations(model, relationName, relations[relationName], ModelClass);
293
- }export{PivotOperations,createPivotOperations};//# sourceMappingURL=pivot-operations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pivot-operations.js","sources":["../../src/relations/pivot-operations.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- /**
2
- * @fileoverview Restores relation data onto model instances from a plain object snapshot.
3
- *
4
- * This is the cache-restoration counterpart to RelationLoader (which loads from the DB).
5
- * It is intentionally decoupled from query execution — it only deals with instantiating
6
- * related models from already-serialized data.
7
- *
8
- * @module @warlock.js/cascade/relations/relation-hydrator
9
- *
10
- * @example
11
- * ```typescript
12
- * // Restoring a model + its relations from a cache snapshot:
13
- * const snapshot = await cache.get(key);
14
- * const chat = Chat.fromSnapshot(snapshot);
15
- * // chat.unit, chat.organization etc. are fully hydrated Model instances.
16
- * ```
17
- */
18
- import type { Model } from "../model/model";
19
- import type { RelationDefinition } from "./types";
20
- /**
21
- * The serialized shape of a single relation entry inside a model snapshot.
22
- * Each value is either:
23
- * - `null` — the relation was loaded and resolved to nothing (e.g. belongsTo with no match)
24
- * - A nested snapshot object `{ data, relations }` — a single related model
25
- * - An array of nested snapshot objects — a collection relation
26
- */
27
- export type SerializedRelation = null | ModelSnapshot | ModelSnapshot[];
28
- /**
29
- * The plain-object shape produced by `model.toSnapshot()` and consumed by
30
- * `Model.fromSnapshot()`. The `relations` map uses the same relation names
31
- * defined in the model's static `relations` property.
32
- */
33
- export type ModelSnapshot = {
34
- data: Record<string, unknown>;
35
- relations: Record<string, SerializedRelation>;
36
- };
37
- /**
38
- * Restores eager-loaded relations from a plain snapshot onto a model instance.
39
- *
40
- * Mirrors the interface of RelationLoader but instead of issuing DB queries,
41
- * it recursively instantiates related models from serialized snapshot data.
42
- *
43
- * @example
44
- * ```typescript
45
- * // Used internally by Model.fromSnapshot():
46
- * const model = new Chat(snapshot.data);
47
- * RelationHydrator.hydrate(model, Chat.relations, snapshot.relations);
48
- * ```
49
- */
50
- export declare class RelationHydrator {
51
- /**
52
- * Hydrate all relations from a snapshot onto `model`.
53
- *
54
- * - Looks up each relation name in `relationDefs` to find the target model class.
55
- * - Recursively calls `fromSnapshot` on nested snapshots so deeply nested
56
- * relations are fully hydrated as well.
57
- * - Sets each relation on both `model.loadedRelations` (Map) and as a direct
58
- * property (`model[name]`) to match the behaviour of RelationLoader.
59
- * - Intentionally preserves `null` entries — a null relation was explicitly
60
- * loaded and resolved to nothing; this is different from a missing relation.
61
- *
62
- * @param model - The model instance to attach relations to
63
- * @param relationDefs - The static `relations` map from the model class
64
- * @param relationsSnapshot - The `relations` portion of a `ModelSnapshot`
65
- */
66
- static hydrate(model: Model, relationDefs: Record<string, RelationDefinition>, relationsSnapshot: Record<string, SerializedRelation> | undefined): void;
67
- }
68
- //# sourceMappingURL=relation-hydrator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relation-hydrator.d.ts","sourceRoot":"","sources":["../../src/relations/relation-hydrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMlD;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,aAAa,GAAG,aAAa,EAAE,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC/C,CAAC;AAMF;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IAC3B;;;;;;;;;;;;;;OAcG;WACW,OAAO,CACnB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAChD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,GAChE,IAAI;CAiCR"}
@@ -1,81 +0,0 @@
1
- import {getModelFromRegistry}from'../model/register-model.js';/**
2
- * @fileoverview Restores relation data onto model instances from a plain object snapshot.
3
- *
4
- * This is the cache-restoration counterpart to RelationLoader (which loads from the DB).
5
- * It is intentionally decoupled from query execution — it only deals with instantiating
6
- * related models from already-serialized data.
7
- *
8
- * @module @warlock.js/cascade/relations/relation-hydrator
9
- *
10
- * @example
11
- * ```typescript
12
- * // Restoring a model + its relations from a cache snapshot:
13
- * const snapshot = await cache.get(key);
14
- * const chat = Chat.fromSnapshot(snapshot);
15
- * // chat.unit, chat.organization etc. are fully hydrated Model instances.
16
- * ```
17
- */
18
- // ============================================================================
19
- // RELATION HYDRATOR CLASS
20
- // ============================================================================
21
- /**
22
- * Restores eager-loaded relations from a plain snapshot onto a model instance.
23
- *
24
- * Mirrors the interface of RelationLoader but instead of issuing DB queries,
25
- * it recursively instantiates related models from serialized snapshot data.
26
- *
27
- * @example
28
- * ```typescript
29
- * // Used internally by Model.fromSnapshot():
30
- * const model = new Chat(snapshot.data);
31
- * RelationHydrator.hydrate(model, Chat.relations, snapshot.relations);
32
- * ```
33
- */
34
- class RelationHydrator {
35
- /**
36
- * Hydrate all relations from a snapshot onto `model`.
37
- *
38
- * - Looks up each relation name in `relationDefs` to find the target model class.
39
- * - Recursively calls `fromSnapshot` on nested snapshots so deeply nested
40
- * relations are fully hydrated as well.
41
- * - Sets each relation on both `model.loadedRelations` (Map) and as a direct
42
- * property (`model[name]`) to match the behaviour of RelationLoader.
43
- * - Intentionally preserves `null` entries — a null relation was explicitly
44
- * loaded and resolved to nothing; this is different from a missing relation.
45
- *
46
- * @param model - The model instance to attach relations to
47
- * @param relationDefs - The static `relations` map from the model class
48
- * @param relationsSnapshot - The `relations` portion of a `ModelSnapshot`
49
- */
50
- static hydrate(model, relationDefs, relationsSnapshot) {
51
- if (!relationsSnapshot)
52
- return;
53
- for (const [name, snapshot] of Object.entries(relationsSnapshot)) {
54
- const def = relationDefs[name];
55
- // Relation name not in definition — skip gracefully rather than throwing,
56
- // since the snapshot could be from an older schema version.
57
- if (!def)
58
- continue;
59
- const RelModel = getModelFromRegistry(def.model);
60
- if (!RelModel)
61
- continue;
62
- let hydrated;
63
- if (snapshot === null) {
64
- // Explicitly loaded relation that resolved to nothing — keep as null.
65
- hydrated = null;
66
- }
67
- else if (Array.isArray(snapshot)) {
68
- // Collection relation (hasMany / belongsToMany)
69
- hydrated = snapshot.map((item) => RelModel.fromSnapshot(item));
70
- }
71
- else {
72
- // Single relation (belongsTo / hasOne)
73
- hydrated = RelModel.fromSnapshot(snapshot);
74
- }
75
- // Set on the Map for getRelation() / isLoaded() API
76
- model.loadedRelations.set(name, hydrated);
77
- // Set as direct property for convenient access (model.unit, model.posts, …)
78
- model[name] = hydrated;
79
- }
80
- }
81
- }export{RelationHydrator};//# sourceMappingURL=relation-hydrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relation-hydrator.js","sources":["../../src/relations/relation-hydrator.ts"],"sourcesContent":[null],"names":[],"mappings":"8DAAA;;;;;;;;;;;;;;;;AAgBG;AA6BH;AACA;AACA;AAEA;;;;;;;;;;;;AAYG;MACU,gBAAgB,CAAA;AAC3B;;;;;;;;;;;;;;AAcG;AACI,IAAA,OAAO,OAAO,CACnB,KAAY,EACZ,YAAgD,EAChD,iBAAiE,EAAA;AAEjE,QAAA,IAAI,CAAC,iBAAiB;YAAE,OAAO;AAE/B,QAAA,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;AAChE,YAAA,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;;;AAI/B,YAAA,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAkC,CAAC;AAClF,YAAA,IAAI,CAAC,QAAQ;gBAAE,SAAS;AAExB,YAAA,IAAI,QAAgC,CAAC;YAErC,IAAI,QAAQ,KAAK,IAAI,EAAE;;gBAErB,QAAQ,GAAG,IAAI,CAAC;AACjB,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;;AAElC,gBAAA,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,aAAA;AAAM,iBAAA;;AAEL,gBAAA,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5C,aAAA;;YAGD,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;AAGzC,YAAA,KAA4C,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AAChE,SAAA;KACF;AACF"}
@@ -1,194 +0,0 @@
1
- /**
2
- * @fileoverview Core relation loading logic for the Cascade ORM.
3
- *
4
- * The RelationLoader is responsible for efficiently loading related models
5
- * while preventing N+1 query problems through batch loading strategies.
6
- *
7
- * @module @warlock.js/cascade/relations/relation-loader
8
- */
9
- import type { ChildModel, Model } from "../model/model";
10
- import type { RelationConstraints } from "./types";
11
- /**
12
- * Efficiently loads relationships for one or more model instances.
13
- *
14
- * The RelationLoader handles:
15
- * - Batch loading to prevent N+1 query problems
16
- * - Nested relation loading via dot notation
17
- * - Constrained loading with query callbacks
18
- * - All relation types (hasOne, hasMany, belongsTo, belongsToMany)
19
- *
20
- * @template TModel - The type of model being loaded
21
- *
22
- * @example
23
- * ```typescript
24
- * const users = await User.query().get();
25
- * const loader = new RelationLoader(users, User);
26
- *
27
- * // Load single relation
28
- * await loader.load("posts");
29
- *
30
- * // Load multiple relations
31
- * await loader.load(["posts", "organization"]);
32
- *
33
- * // Load nested relations
34
- * await loader.load("posts.comments.author");
35
- *
36
- * // Load with constraints
37
- * await loader.load("posts", {
38
- * posts: (query) => query.where("isPublished", true),
39
- * });
40
- * ```
41
- */
42
- export declare class RelationLoader<TModel extends Model = Model> {
43
- /**
44
- * The model instances to load relations for.
45
- */
46
- private readonly models;
47
- /**
48
- * The model class constructor.
49
- */
50
- private readonly modelClass;
51
- /**
52
- * Creates a new RelationLoader instance.
53
- *
54
- * @param models - The model instances to load relations for
55
- * @param modelClass - The model class constructor
56
- */
57
- constructor(models: TModel[], modelClass: ChildModel<TModel>);
58
- /**
59
- * Loads one or more relations for all model instances.
60
- *
61
- * @param relations - A single relation name, array of names, or constraints object
62
- * @param constraints - Optional constraints to apply to the loading query
63
- *
64
- * @example
65
- * ```typescript
66
- * // Single relation
67
- * await loader.load("posts");
68
- *
69
- * // Multiple relations
70
- * await loader.load(["posts", "organization"]);
71
- *
72
- * // With constraints
73
- * await loader.load("posts", {
74
- * posts: (query) => query.where("status", "active"),
75
- * });
76
- * ```
77
- */
78
- load(relations: string | string[], constraints?: RelationConstraints): Promise<void>;
79
- /**
80
- * Loads a single relation, handling nested relations via dot notation.
81
- *
82
- * @param name - The relation name, possibly with dot notation for nesting
83
- * @param constraint - Optional constraint callback
84
- */
85
- private loadRelation;
86
- /**
87
- * Loads a hasMany relation for all models.
88
- *
89
- * @param name - The relation name
90
- * @param definition - The relation definition
91
- * @param constraint - Optional constraint callback
92
- */
93
- private loadHasMany;
94
- /**
95
- * Loads a hasOne relation for all models.
96
- *
97
- * @param name - The relation name
98
- * @param definition - The relation definition
99
- * @param constraint - Optional constraint callback
100
- */
101
- private loadHasOne;
102
- /**
103
- * Loads a belongsTo relation for all models.
104
- *
105
- * @param name - The relation name
106
- * @param definition - The relation definition
107
- * @param constraint - Optional constraint callback
108
- */
109
- private loadBelongsTo;
110
- /**
111
- * Loads a belongsToMany relation for all models.
112
- *
113
- * @param name - The relation name
114
- * @param definition - The relation definition
115
- * @param constraint - Optional constraint callback
116
- */
117
- private loadBelongsToMany;
118
- /**
119
- * Loads nested relations recursively.
120
- *
121
- * @param parentRelation - The name of the parent relation
122
- * @param remainingPath - The remaining path segments to load
123
- * @param constraint - Optional constraint callback
124
- */
125
- private loadNestedRelations;
126
- /**
127
- * Parses a dot-notation relation path into segments.
128
- *
129
- * @param path - The relation path (e.g., "posts.comments.author")
130
- * @returns An array of relation names
131
- */
132
- private parseNestedRelation;
133
- /**
134
- * Resolves a model class from the registry by name.
135
- *
136
- * @param name - The registered model name
137
- * @returns The model class constructor
138
- * @throws Error if the model is not found in the registry
139
- */
140
- private resolveModelClass;
141
- /**
142
- * Gets the relation definition from the model class.
143
- *
144
- * @param name - The relation name
145
- * @returns The relation definition or undefined
146
- */
147
- private getRelationDefinition;
148
- /**
149
- * Collects unique key values from all models.
150
- *
151
- * @param key - The key to collect values for
152
- * @returns An array of unique key values
153
- */
154
- private collectKeyValues;
155
- /**
156
- * Groups records by a key value.
157
- *
158
- * @param records - The records to group
159
- * @param key - The key to group by
160
- * @returns A map of key values to records
161
- */
162
- private groupBy;
163
- /**
164
- * Infers a foreign key name from a model name.
165
- *
166
- * @param modelName - The model class name
167
- * @returns The inferred foreign key (e.g., "User" -> "userId")
168
- */
169
- private inferForeignKey;
170
- /**
171
- * Sets a relation value on all models using a getter function.
172
- *
173
- * @param name - The relation name
174
- * @param getter - Function that returns the relation value for each model
175
- */
176
- private setRelationOnModels;
177
- /**
178
- * Gets a loaded relation from a model instance.
179
- *
180
- * @param model - The model instance
181
- * @param name - The relation name
182
- * @returns The loaded relation value or undefined
183
- */
184
- private getLoadedRelation;
185
- /**
186
- * Sets a loaded relation on a model instance.
187
- *
188
- * @param model - The model instance
189
- * @param name - The relation name
190
- * @param value - The relation value
191
- */
192
- private setLoadedRelation;
193
- }
194
- //# sourceMappingURL=relation-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relation-loader.d.ts","sourceRoot":"","sources":["../../src/relations/relation-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAGV,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK;IAKtD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAElC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAMhD;;;;;OAKG;gBACgB,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC;IASnE;;;;;;;;;;;;;;;;;;;OAmBG;IACU,IAAI,CACf,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,WAAW,CAAC,EAAE,mBAAmB,GAChC,OAAO,CAAC,IAAI,CAAC;IAsBhB;;;;;OAKG;YACW,YAAY;IAuC1B;;;;;;OAMG;YACW,WAAW;IAoCzB;;;;;;OAMG;YACW,UAAU;IA0CxB;;;;;;OAMG;YACW,aAAa;IAuC3B;;;;;;OAMG;YACW,iBAAiB;IAoF/B;;;;;;OAMG;YACW,mBAAmB;IAwCjC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAgBf;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAe1B"}