@warlock.js/cascade 4.0.162 → 4.0.164

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 (661) hide show
  1. package/cjs/context/database-data-source-context.d.ts +29 -0
  2. package/cjs/context/database-data-source-context.d.ts.map +1 -0
  3. package/cjs/context/database-data-source-context.js +28 -0
  4. package/cjs/context/database-data-source-context.js.map +1 -0
  5. package/cjs/context/database-transaction-context.d.ts +35 -0
  6. package/cjs/context/database-transaction-context.d.ts.map +1 -0
  7. package/cjs/context/database-transaction-context.js +40 -0
  8. package/cjs/context/database-transaction-context.js.map +1 -0
  9. package/cjs/contracts/database-driver.contract.d.ts +450 -0
  10. package/cjs/contracts/database-driver.contract.d.ts.map +1 -0
  11. package/cjs/contracts/database-id-generator.contract.d.ts +109 -0
  12. package/cjs/contracts/database-id-generator.contract.d.ts.map +1 -0
  13. package/cjs/contracts/database-remover.contract.d.ts +104 -0
  14. package/cjs/contracts/database-remover.contract.d.ts.map +1 -0
  15. package/cjs/contracts/database-restorer.contract.d.ts +143 -0
  16. package/cjs/contracts/database-restorer.contract.d.ts.map +1 -0
  17. package/cjs/contracts/database-writer.contract.d.ts +119 -0
  18. package/cjs/contracts/database-writer.contract.d.ts.map +1 -0
  19. package/cjs/contracts/driver-blueprint.contract.d.ts +49 -0
  20. package/cjs/contracts/driver-blueprint.contract.d.ts.map +1 -0
  21. package/cjs/contracts/index.d.ts +10 -0
  22. package/cjs/contracts/index.d.ts.map +1 -0
  23. package/cjs/contracts/migration-driver.contract.d.ts +522 -0
  24. package/cjs/contracts/migration-driver.contract.d.ts.map +1 -0
  25. package/cjs/contracts/query-builder.contract.d.ts +1609 -0
  26. package/cjs/contracts/query-builder.contract.d.ts.map +1 -0
  27. package/cjs/contracts/sync-adapter.contract.d.ts +58 -0
  28. package/cjs/contracts/sync-adapter.contract.d.ts.map +1 -0
  29. package/cjs/data-source/data-source-registry.d.ts +108 -0
  30. package/cjs/data-source/data-source-registry.d.ts.map +1 -0
  31. package/cjs/data-source/data-source-registry.js +145 -0
  32. package/cjs/data-source/data-source-registry.js.map +1 -0
  33. package/cjs/data-source/data-source.d.ts +147 -0
  34. package/cjs/data-source/data-source.d.ts.map +1 -0
  35. package/cjs/data-source/data-source.js +83 -0
  36. package/cjs/data-source/data-source.js.map +1 -0
  37. package/cjs/database-dirty-tracker.d.ts +252 -0
  38. package/cjs/database-dirty-tracker.d.ts.map +1 -0
  39. package/cjs/database-dirty-tracker.js +386 -0
  40. package/cjs/database-dirty-tracker.js.map +1 -0
  41. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts +30 -0
  42. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  43. package/cjs/drivers/mongodb/mongodb-blueprint.js +51 -0
  44. package/cjs/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  45. package/cjs/drivers/mongodb/mongodb-driver.d.ts +325 -0
  46. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  47. package/cjs/drivers/mongodb/mongodb-driver.js +838 -0
  48. package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -0
  49. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts +116 -0
  50. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  51. package/cjs/drivers/mongodb/mongodb-id-generator.js +149 -0
  52. package/cjs/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  53. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +317 -0
  54. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  55. package/cjs/drivers/mongodb/mongodb-migration-driver.js +666 -0
  56. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  57. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +1122 -0
  58. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  59. package/cjs/drivers/mongodb/mongodb-query-builder.js +1988 -0
  60. package/cjs/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  61. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts +226 -0
  62. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  63. package/cjs/drivers/mongodb/mongodb-query-operations.js +270 -0
  64. package/cjs/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  65. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts +262 -0
  66. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  67. package/cjs/drivers/mongodb/mongodb-query-parser.js +1351 -0
  68. package/cjs/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  69. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts +79 -0
  70. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  71. package/cjs/drivers/mongodb/mongodb-sync-adapter.js +146 -0
  72. package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  73. package/cjs/drivers/mongodb/types.d.ts +43 -0
  74. package/cjs/drivers/mongodb/types.d.ts.map +1 -0
  75. package/cjs/drivers/postgres/index.d.ts +16 -0
  76. package/cjs/drivers/postgres/index.d.ts.map +1 -0
  77. package/cjs/drivers/postgres/postgres-blueprint.d.ts +64 -0
  78. package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  79. package/cjs/drivers/postgres/postgres-blueprint.js +121 -0
  80. package/cjs/drivers/postgres/postgres-blueprint.js.map +1 -0
  81. package/cjs/drivers/postgres/postgres-dialect.d.ts +136 -0
  82. package/cjs/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  83. package/cjs/drivers/postgres/postgres-dialect.js +268 -0
  84. package/cjs/drivers/postgres/postgres-dialect.js.map +1 -0
  85. package/cjs/drivers/postgres/postgres-driver.d.ts +432 -0
  86. package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -0
  87. package/cjs/drivers/postgres/postgres-driver.js +1010 -0
  88. package/cjs/drivers/postgres/postgres-driver.js.map +1 -0
  89. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +397 -0
  90. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  91. package/cjs/drivers/postgres/postgres-migration-driver.js +900 -0
  92. package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -0
  93. package/cjs/drivers/postgres/postgres-query-builder.d.ts +254 -0
  94. package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  95. package/cjs/drivers/postgres/postgres-query-builder.js +933 -0
  96. package/cjs/drivers/postgres/postgres-query-builder.js.map +1 -0
  97. package/cjs/drivers/postgres/postgres-query-parser.d.ts +328 -0
  98. package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  99. package/cjs/drivers/postgres/postgres-query-parser.js +868 -0
  100. package/cjs/drivers/postgres/postgres-query-parser.js.map +1 -0
  101. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
  102. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
  103. package/cjs/drivers/postgres/postgres-sql-serializer.js +400 -0
  104. package/cjs/drivers/postgres/postgres-sql-serializer.js.map +1 -0
  105. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  106. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  107. package/cjs/drivers/postgres/postgres-sync-adapter.js +197 -0
  108. package/cjs/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  109. package/cjs/drivers/postgres/types.d.ts +144 -0
  110. package/cjs/drivers/postgres/types.d.ts.map +1 -0
  111. package/cjs/drivers/sql/index.d.ts +10 -0
  112. package/cjs/drivers/sql/index.d.ts.map +1 -0
  113. package/cjs/drivers/sql/sql-dialect.contract.d.ts +204 -0
  114. package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  115. package/cjs/drivers/sql/sql-types.d.ts +202 -0
  116. package/cjs/drivers/sql/sql-types.d.ts.map +1 -0
  117. package/cjs/errors/missing-data-source.error.d.ts +22 -0
  118. package/cjs/errors/missing-data-source.error.d.ts.map +1 -0
  119. package/cjs/errors/missing-data-source.error.js +29 -0
  120. package/cjs/errors/missing-data-source.error.js.map +1 -0
  121. package/cjs/errors/transaction-rollback.error.d.ts +20 -0
  122. package/cjs/errors/transaction-rollback.error.d.ts.map +1 -0
  123. package/cjs/errors/transaction-rollback.error.js +27 -0
  124. package/cjs/errors/transaction-rollback.error.js.map +1 -0
  125. package/cjs/events/model-events.d.ts +231 -0
  126. package/cjs/events/model-events.d.ts.map +1 -0
  127. package/cjs/events/model-events.js +259 -0
  128. package/cjs/events/model-events.js.map +1 -0
  129. package/cjs/expressions/aggregate-expressions.d.ts +215 -0
  130. package/cjs/expressions/aggregate-expressions.d.ts.map +1 -0
  131. package/cjs/expressions/aggregate-expressions.js +221 -0
  132. package/cjs/expressions/aggregate-expressions.js.map +1 -0
  133. package/cjs/expressions/index.d.ts +2 -0
  134. package/cjs/expressions/index.d.ts.map +1 -0
  135. package/cjs/index.d.ts +45 -0
  136. package/cjs/index.d.ts.map +1 -0
  137. package/cjs/index.js +1 -0
  138. package/cjs/index.js.map +1 -0
  139. package/cjs/migration/column-builder.d.ts +417 -0
  140. package/cjs/migration/column-builder.d.ts.map +1 -0
  141. package/cjs/migration/column-builder.js +586 -0
  142. package/cjs/migration/column-builder.js.map +1 -0
  143. package/cjs/migration/column-helpers.d.ts +275 -0
  144. package/cjs/migration/column-helpers.d.ts.map +1 -0
  145. package/cjs/migration/column-helpers.js +389 -0
  146. package/cjs/migration/column-helpers.js.map +1 -0
  147. package/cjs/migration/foreign-key-builder.d.ts +103 -0
  148. package/cjs/migration/foreign-key-builder.d.ts.map +1 -0
  149. package/cjs/migration/foreign-key-builder.js +121 -0
  150. package/cjs/migration/foreign-key-builder.js.map +1 -0
  151. package/cjs/migration/index.d.ts +7 -0
  152. package/cjs/migration/index.d.ts.map +1 -0
  153. package/cjs/migration/migration-runner.d.ts +278 -0
  154. package/cjs/migration/migration-runner.d.ts.map +1 -0
  155. package/cjs/migration/migration-runner.js +815 -0
  156. package/cjs/migration/migration-runner.js.map +1 -0
  157. package/cjs/migration/migration.d.ts +1992 -0
  158. package/cjs/migration/migration.d.ts.map +1 -0
  159. package/cjs/migration/migration.js +2162 -0
  160. package/cjs/migration/migration.js.map +1 -0
  161. package/cjs/migration/sql-grammar.d.ts +61 -0
  162. package/cjs/migration/sql-grammar.d.ts.map +1 -0
  163. package/cjs/migration/sql-grammar.js +164 -0
  164. package/cjs/migration/sql-grammar.js.map +1 -0
  165. package/cjs/migration/sql-serializer.d.ts +22 -0
  166. package/cjs/migration/sql-serializer.d.ts.map +1 -0
  167. package/cjs/migration/sql-serializer.js +26 -0
  168. package/cjs/migration/sql-serializer.js.map +1 -0
  169. package/cjs/migration/types.d.ts +155 -0
  170. package/cjs/migration/types.d.ts.map +1 -0
  171. package/cjs/model/methods/accessor-methods.d.ts +13 -0
  172. package/cjs/model/methods/accessor-methods.d.ts.map +1 -0
  173. package/cjs/model/methods/accessor-methods.js +51 -0
  174. package/cjs/model/methods/accessor-methods.js.map +1 -0
  175. package/cjs/model/methods/delete-methods.d.ts +10 -0
  176. package/cjs/model/methods/delete-methods.d.ts.map +1 -0
  177. package/cjs/model/methods/delete-methods.js +10 -0
  178. package/cjs/model/methods/delete-methods.js.map +1 -0
  179. package/cjs/model/methods/dirty-methods.d.ts +10 -0
  180. package/cjs/model/methods/dirty-methods.d.ts.map +1 -0
  181. package/cjs/model/methods/dirty-methods.js +15 -0
  182. package/cjs/model/methods/dirty-methods.js.map +1 -0
  183. package/cjs/model/methods/hydration-methods.d.ts +10 -0
  184. package/cjs/model/methods/hydration-methods.d.ts.map +1 -0
  185. package/cjs/model/methods/hydration-methods.js +57 -0
  186. package/cjs/model/methods/hydration-methods.js.map +1 -0
  187. package/cjs/model/methods/instance-event-methods.d.ts +7 -0
  188. package/cjs/model/methods/instance-event-methods.d.ts.map +1 -0
  189. package/cjs/model/methods/instance-event-methods.js +15 -0
  190. package/cjs/model/methods/instance-event-methods.js.map +1 -0
  191. package/cjs/model/methods/meta-methods.d.ts +7 -0
  192. package/cjs/model/methods/meta-methods.d.ts.map +1 -0
  193. package/cjs/model/methods/meta-methods.js +78 -0
  194. package/cjs/model/methods/meta-methods.js.map +1 -0
  195. package/cjs/model/methods/query-methods.d.ts +24 -0
  196. package/cjs/model/methods/query-methods.d.ts.map +1 -0
  197. package/cjs/model/methods/query-methods.js +164 -0
  198. package/cjs/model/methods/query-methods.js.map +1 -0
  199. package/cjs/model/methods/restore-methods.d.ts +10 -0
  200. package/cjs/model/methods/restore-methods.d.ts.map +1 -0
  201. package/cjs/model/methods/restore-methods.js +13 -0
  202. package/cjs/model/methods/restore-methods.js.map +1 -0
  203. package/cjs/model/methods/scope-methods.d.ts +7 -0
  204. package/cjs/model/methods/scope-methods.d.ts.map +1 -0
  205. package/cjs/model/methods/scope-methods.js +15 -0
  206. package/cjs/model/methods/scope-methods.js.map +1 -0
  207. package/cjs/model/methods/serialization-methods.d.ts +3 -0
  208. package/cjs/model/methods/serialization-methods.d.ts.map +1 -0
  209. package/cjs/model/methods/serialization-methods.js +27 -0
  210. package/cjs/model/methods/serialization-methods.js.map +1 -0
  211. package/cjs/model/methods/static-event-methods.d.ts +9 -0
  212. package/cjs/model/methods/static-event-methods.d.ts.map +1 -0
  213. package/cjs/model/methods/static-event-methods.js +29 -0
  214. package/cjs/model/methods/static-event-methods.js.map +1 -0
  215. package/cjs/model/methods/write-methods.d.ts +10 -0
  216. package/cjs/model/methods/write-methods.d.ts.map +1 -0
  217. package/cjs/model/methods/write-methods.js +52 -0
  218. package/cjs/model/methods/write-methods.js.map +1 -0
  219. package/cjs/model/model.d.ts +1647 -0
  220. package/cjs/model/model.d.ts.map +1 -0
  221. package/cjs/model/model.js +1657 -0
  222. package/cjs/model/model.js.map +1 -0
  223. package/cjs/model/model.types.d.ts +44 -0
  224. package/cjs/model/model.types.d.ts.map +1 -0
  225. package/cjs/model/register-model.d.ts +81 -0
  226. package/cjs/model/register-model.d.ts.map +1 -0
  227. package/cjs/model/register-model.js +94 -0
  228. package/cjs/model/register-model.js.map +1 -0
  229. package/cjs/query-builder/query-builder.d.ts +556 -0
  230. package/cjs/query-builder/query-builder.d.ts.map +1 -0
  231. package/cjs/query-builder/query-builder.js +1070 -0
  232. package/cjs/query-builder/query-builder.js.map +1 -0
  233. package/cjs/relations/helpers.d.ts +156 -0
  234. package/cjs/relations/helpers.d.ts.map +1 -0
  235. package/cjs/relations/helpers.js +202 -0
  236. package/cjs/relations/helpers.js.map +1 -0
  237. package/cjs/relations/index.d.ts +35 -0
  238. package/cjs/relations/index.d.ts.map +1 -0
  239. package/cjs/relations/pivot-operations.d.ts +160 -0
  240. package/cjs/relations/pivot-operations.d.ts.map +1 -0
  241. package/cjs/relations/pivot-operations.js +293 -0
  242. package/cjs/relations/pivot-operations.js.map +1 -0
  243. package/cjs/relations/relation-hydrator.d.ts +68 -0
  244. package/cjs/relations/relation-hydrator.d.ts.map +1 -0
  245. package/cjs/relations/relation-hydrator.js +81 -0
  246. package/cjs/relations/relation-hydrator.js.map +1 -0
  247. package/cjs/relations/relation-loader.d.ts +194 -0
  248. package/cjs/relations/relation-loader.d.ts.map +1 -0
  249. package/cjs/relations/relation-loader.js +466 -0
  250. package/cjs/relations/relation-loader.js.map +1 -0
  251. package/cjs/relations/types.d.ts +306 -0
  252. package/cjs/relations/types.d.ts.map +1 -0
  253. package/cjs/remover/database-remover.d.ts +100 -0
  254. package/cjs/remover/database-remover.d.ts.map +1 -0
  255. package/cjs/remover/database-remover.js +214 -0
  256. package/cjs/remover/database-remover.js.map +1 -0
  257. package/cjs/restorer/database-restorer.d.ts +131 -0
  258. package/cjs/restorer/database-restorer.d.ts.map +1 -0
  259. package/cjs/restorer/database-restorer.js +434 -0
  260. package/cjs/restorer/database-restorer.js.map +1 -0
  261. package/cjs/sql-database-dirty-tracker.d.ts +13 -0
  262. package/cjs/sql-database-dirty-tracker.d.ts.map +1 -0
  263. package/cjs/sql-database-dirty-tracker.js +14 -0
  264. package/cjs/sql-database-dirty-tracker.js.map +1 -0
  265. package/cjs/sync/index.d.ts +12 -0
  266. package/cjs/sync/index.d.ts.map +1 -0
  267. package/cjs/sync/model-events.d.ts +62 -0
  268. package/cjs/sync/model-events.d.ts.map +1 -0
  269. package/cjs/sync/model-events.js +49 -0
  270. package/cjs/sync/model-events.js.map +1 -0
  271. package/cjs/sync/model-sync-operation.d.ts +163 -0
  272. package/cjs/sync/model-sync-operation.d.ts.map +1 -0
  273. package/cjs/sync/model-sync-operation.js +292 -0
  274. package/cjs/sync/model-sync-operation.js.map +1 -0
  275. package/cjs/sync/model-sync.d.ts +130 -0
  276. package/cjs/sync/model-sync.d.ts.map +1 -0
  277. package/cjs/sync/model-sync.js +178 -0
  278. package/cjs/sync/model-sync.js.map +1 -0
  279. package/cjs/sync/sync-context.d.ts +70 -0
  280. package/cjs/sync/sync-context.d.ts.map +1 -0
  281. package/cjs/sync/sync-context.js +101 -0
  282. package/cjs/sync/sync-context.js.map +1 -0
  283. package/cjs/sync/sync-manager.d.ts +213 -0
  284. package/cjs/sync/sync-manager.d.ts.map +1 -0
  285. package/cjs/sync/sync-manager.js +689 -0
  286. package/cjs/sync/sync-manager.js.map +1 -0
  287. package/cjs/sync/types.d.ts +289 -0
  288. package/cjs/sync/types.d.ts.map +1 -0
  289. package/cjs/test-migrations/test-enhanced-features.migration.d.ts +15 -0
  290. package/cjs/test-migrations/test-enhanced-features.migration.d.ts.map +1 -0
  291. package/cjs/types.d.ts +371 -0
  292. package/cjs/types.d.ts.map +1 -0
  293. package/cjs/utils/connect-to-database.d.ts +307 -0
  294. package/cjs/utils/connect-to-database.d.ts.map +1 -0
  295. package/cjs/utils/connect-to-database.js +130 -0
  296. package/cjs/utils/connect-to-database.js.map +1 -0
  297. package/cjs/utils/database-writer.utils.d.ts +15 -0
  298. package/cjs/utils/database-writer.utils.d.ts.map +1 -0
  299. package/cjs/utils/database-writer.utils.js +14 -0
  300. package/cjs/utils/database-writer.utils.js.map +1 -0
  301. package/cjs/utils/define-model.js +100 -0
  302. package/cjs/utils/define-model.js.map +1 -0
  303. package/cjs/utils/is-valid-date-value.d.ts +5 -0
  304. package/cjs/utils/is-valid-date-value.d.ts.map +1 -0
  305. package/cjs/utils/is-valid-date-value.js +25 -0
  306. package/cjs/utils/is-valid-date-value.js.map +1 -0
  307. package/cjs/utils/once-connected.d.ts +146 -0
  308. package/cjs/utils/once-connected.d.ts.map +1 -0
  309. package/cjs/utils/once-connected.js +251 -0
  310. package/cjs/utils/once-connected.js.map +1 -0
  311. package/cjs/validation/database-seal-plugins.d.ts +12 -0
  312. package/cjs/validation/database-seal-plugins.d.ts.map +1 -0
  313. package/cjs/validation/database-seal-plugins.js +1 -0
  314. package/cjs/validation/database-seal-plugins.js.map +1 -0
  315. package/cjs/validation/database-writer-validation-error.d.ts +97 -0
  316. package/cjs/validation/database-writer-validation-error.d.ts.map +1 -0
  317. package/cjs/validation/database-writer-validation-error.js +160 -0
  318. package/cjs/validation/database-writer-validation-error.js.map +1 -0
  319. package/cjs/validation/index.d.ts +3 -0
  320. package/cjs/validation/index.d.ts.map +1 -0
  321. package/cjs/validation/mutators/embed-mutator.d.ts +9 -0
  322. package/cjs/validation/mutators/embed-mutator.d.ts.map +1 -0
  323. package/cjs/validation/mutators/embed-mutator.js +33 -0
  324. package/cjs/validation/mutators/embed-mutator.js.map +1 -0
  325. package/cjs/validation/plugins/embed-validator-plugin.d.ts +24 -0
  326. package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
  327. package/cjs/validation/plugins/embed-validator-plugin.js +18 -0
  328. package/cjs/validation/plugins/embed-validator-plugin.js.map +1 -0
  329. package/cjs/validation/rules/database-model-rule.d.ts +7 -0
  330. package/cjs/validation/rules/database-model-rule.d.ts.map +1 -0
  331. package/cjs/validation/rules/database-model-rule.js +27 -0
  332. package/cjs/validation/rules/database-model-rule.js.map +1 -0
  333. package/cjs/validation/transformers/embed-model-transformer.d.ts +3 -0
  334. package/cjs/validation/transformers/embed-model-transformer.d.ts.map +1 -0
  335. package/cjs/validation/transformers/embed-model-transformer.js +18 -0
  336. package/cjs/validation/transformers/embed-model-transformer.js.map +1 -0
  337. package/cjs/validation/validators/embed-validator.d.ts +21 -0
  338. package/cjs/validation/validators/embed-validator.d.ts.map +1 -0
  339. package/cjs/validation/validators/embed-validator.js +43 -0
  340. package/cjs/validation/validators/embed-validator.js.map +1 -0
  341. package/cjs/writer/database-writer.d.ts +181 -0
  342. package/cjs/writer/database-writer.d.ts.map +1 -0
  343. package/cjs/writer/database-writer.js +407 -0
  344. package/cjs/writer/database-writer.js.map +1 -0
  345. package/esm/data-source/data-source-registry.d.ts +108 -0
  346. package/esm/data-source/data-source-registry.d.ts.map +1 -0
  347. package/esm/data-source/data-source-registry.js +145 -0
  348. package/esm/data-source/data-source-registry.js.map +1 -0
  349. package/esm/data-source/data-source.d.ts +147 -0
  350. package/esm/data-source/data-source.d.ts.map +1 -0
  351. package/esm/data-source/data-source.js +83 -0
  352. package/esm/data-source/data-source.js.map +1 -0
  353. package/esm/database-dirty-tracker.d.ts +252 -0
  354. package/esm/database-dirty-tracker.d.ts.map +1 -0
  355. package/esm/database-dirty-tracker.js +386 -0
  356. package/esm/database-dirty-tracker.js.map +1 -0
  357. package/esm/drivers/mongodb/mongodb-blueprint.d.ts +30 -0
  358. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  359. package/esm/drivers/mongodb/mongodb-blueprint.js +51 -0
  360. package/esm/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  361. package/esm/drivers/mongodb/mongodb-driver.d.ts +325 -0
  362. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  363. package/esm/drivers/mongodb/mongodb-driver.js +838 -0
  364. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -0
  365. package/esm/drivers/mongodb/mongodb-id-generator.d.ts +116 -0
  366. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  367. package/esm/drivers/mongodb/mongodb-id-generator.js +149 -0
  368. package/esm/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  369. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +317 -0
  370. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  371. package/esm/drivers/mongodb/mongodb-migration-driver.js +666 -0
  372. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  373. package/esm/drivers/mongodb/mongodb-query-builder.d.ts +1122 -0
  374. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  375. package/esm/drivers/mongodb/mongodb-query-builder.js +1988 -0
  376. package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  377. package/esm/drivers/mongodb/mongodb-query-operations.d.ts +226 -0
  378. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  379. package/esm/drivers/mongodb/mongodb-query-operations.js +270 -0
  380. package/esm/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  381. package/esm/drivers/mongodb/mongodb-query-parser.d.ts +262 -0
  382. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  383. package/esm/drivers/mongodb/mongodb-query-parser.js +1351 -0
  384. package/esm/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  385. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +79 -0
  386. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  387. package/esm/drivers/mongodb/mongodb-sync-adapter.js +146 -0
  388. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  389. package/esm/drivers/mongodb/types.d.ts +43 -0
  390. package/esm/drivers/mongodb/types.d.ts.map +1 -0
  391. package/esm/drivers/postgres/index.d.ts +16 -0
  392. package/esm/drivers/postgres/index.d.ts.map +1 -0
  393. package/esm/drivers/postgres/postgres-blueprint.d.ts +64 -0
  394. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  395. package/esm/drivers/postgres/postgres-blueprint.js +121 -0
  396. package/esm/drivers/postgres/postgres-blueprint.js.map +1 -0
  397. package/esm/drivers/postgres/postgres-dialect.d.ts +136 -0
  398. package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  399. package/esm/drivers/postgres/postgres-dialect.js +268 -0
  400. package/esm/drivers/postgres/postgres-dialect.js.map +1 -0
  401. package/esm/drivers/postgres/postgres-driver.d.ts +432 -0
  402. package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -0
  403. package/esm/drivers/postgres/postgres-driver.js +1010 -0
  404. package/esm/drivers/postgres/postgres-driver.js.map +1 -0
  405. package/esm/drivers/postgres/postgres-migration-driver.d.ts +397 -0
  406. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  407. package/esm/drivers/postgres/postgres-migration-driver.js +900 -0
  408. package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -0
  409. package/esm/drivers/postgres/postgres-query-builder.d.ts +254 -0
  410. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  411. package/esm/drivers/postgres/postgres-query-builder.js +933 -0
  412. package/esm/drivers/postgres/postgres-query-builder.js.map +1 -0
  413. package/esm/drivers/postgres/postgres-query-parser.d.ts +328 -0
  414. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  415. package/esm/drivers/postgres/postgres-query-parser.js +868 -0
  416. package/esm/drivers/postgres/postgres-query-parser.js.map +1 -0
  417. package/esm/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
  418. package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
  419. package/esm/drivers/postgres/postgres-sql-serializer.js +400 -0
  420. package/esm/drivers/postgres/postgres-sql-serializer.js.map +1 -0
  421. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  422. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  423. package/esm/drivers/postgres/postgres-sync-adapter.js +197 -0
  424. package/esm/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  425. package/esm/drivers/postgres/types.d.ts +144 -0
  426. package/esm/drivers/postgres/types.d.ts.map +1 -0
  427. package/esm/drivers/sql/index.d.ts +10 -0
  428. package/esm/drivers/sql/index.d.ts.map +1 -0
  429. package/esm/drivers/sql/sql-dialect.contract.d.ts +204 -0
  430. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  431. package/esm/drivers/sql/sql-types.d.ts +202 -0
  432. package/esm/drivers/sql/sql-types.d.ts.map +1 -0
  433. package/esm/errors/missing-data-source.error.d.ts +22 -0
  434. package/esm/errors/missing-data-source.error.d.ts.map +1 -0
  435. package/esm/errors/missing-data-source.error.js +29 -0
  436. package/esm/errors/missing-data-source.error.js.map +1 -0
  437. package/esm/errors/transaction-rollback.error.d.ts +20 -0
  438. package/esm/errors/transaction-rollback.error.d.ts.map +1 -0
  439. package/esm/errors/transaction-rollback.error.js +27 -0
  440. package/esm/errors/transaction-rollback.error.js.map +1 -0
  441. package/esm/events/model-events.d.ts +231 -0
  442. package/esm/events/model-events.d.ts.map +1 -0
  443. package/esm/events/model-events.js +259 -0
  444. package/esm/events/model-events.js.map +1 -0
  445. package/esm/expressions/aggregate-expressions.d.ts +215 -0
  446. package/esm/expressions/aggregate-expressions.d.ts.map +1 -0
  447. package/esm/expressions/aggregate-expressions.js +221 -0
  448. package/esm/expressions/aggregate-expressions.js.map +1 -0
  449. package/esm/expressions/index.d.ts +2 -0
  450. package/esm/expressions/index.d.ts.map +1 -0
  451. package/esm/index.d.ts +45 -0
  452. package/esm/index.d.ts.map +1 -0
  453. package/esm/index.js +1 -0
  454. package/esm/index.js.map +1 -0
  455. package/esm/migration/column-builder.d.ts +417 -0
  456. package/esm/migration/column-builder.d.ts.map +1 -0
  457. package/esm/migration/column-builder.js +586 -0
  458. package/esm/migration/column-builder.js.map +1 -0
  459. package/esm/migration/column-helpers.d.ts +275 -0
  460. package/esm/migration/column-helpers.d.ts.map +1 -0
  461. package/esm/migration/column-helpers.js +389 -0
  462. package/esm/migration/column-helpers.js.map +1 -0
  463. package/esm/migration/foreign-key-builder.d.ts +103 -0
  464. package/esm/migration/foreign-key-builder.d.ts.map +1 -0
  465. package/esm/migration/foreign-key-builder.js +121 -0
  466. package/esm/migration/foreign-key-builder.js.map +1 -0
  467. package/esm/migration/index.d.ts +7 -0
  468. package/esm/migration/index.d.ts.map +1 -0
  469. package/esm/migration/migration-runner.d.ts +278 -0
  470. package/esm/migration/migration-runner.d.ts.map +1 -0
  471. package/esm/migration/migration-runner.js +815 -0
  472. package/esm/migration/migration-runner.js.map +1 -0
  473. package/esm/migration/migration.d.ts +1992 -0
  474. package/esm/migration/migration.d.ts.map +1 -0
  475. package/esm/migration/migration.js +2162 -0
  476. package/esm/migration/migration.js.map +1 -0
  477. package/esm/migration/sql-grammar.d.ts +61 -0
  478. package/esm/migration/sql-grammar.d.ts.map +1 -0
  479. package/esm/migration/sql-grammar.js +164 -0
  480. package/esm/migration/sql-grammar.js.map +1 -0
  481. package/esm/migration/sql-serializer.d.ts +22 -0
  482. package/esm/migration/sql-serializer.d.ts.map +1 -0
  483. package/esm/migration/sql-serializer.js +26 -0
  484. package/esm/migration/sql-serializer.js.map +1 -0
  485. package/esm/migration/types.d.ts +155 -0
  486. package/esm/migration/types.d.ts.map +1 -0
  487. package/esm/model/methods/accessor-methods.d.ts +13 -0
  488. package/esm/model/methods/accessor-methods.d.ts.map +1 -0
  489. package/esm/model/methods/accessor-methods.js +51 -0
  490. package/esm/model/methods/accessor-methods.js.map +1 -0
  491. package/esm/model/methods/delete-methods.d.ts +10 -0
  492. package/esm/model/methods/delete-methods.d.ts.map +1 -0
  493. package/esm/model/methods/delete-methods.js +10 -0
  494. package/esm/model/methods/delete-methods.js.map +1 -0
  495. package/esm/model/methods/dirty-methods.d.ts +10 -0
  496. package/esm/model/methods/dirty-methods.d.ts.map +1 -0
  497. package/esm/model/methods/dirty-methods.js +15 -0
  498. package/esm/model/methods/dirty-methods.js.map +1 -0
  499. package/esm/model/methods/hydration-methods.d.ts +10 -0
  500. package/esm/model/methods/hydration-methods.d.ts.map +1 -0
  501. package/esm/model/methods/hydration-methods.js +57 -0
  502. package/esm/model/methods/hydration-methods.js.map +1 -0
  503. package/esm/model/methods/instance-event-methods.d.ts +7 -0
  504. package/esm/model/methods/instance-event-methods.d.ts.map +1 -0
  505. package/esm/model/methods/instance-event-methods.js +15 -0
  506. package/esm/model/methods/instance-event-methods.js.map +1 -0
  507. package/esm/model/methods/meta-methods.d.ts +7 -0
  508. package/esm/model/methods/meta-methods.d.ts.map +1 -0
  509. package/esm/model/methods/meta-methods.js +78 -0
  510. package/esm/model/methods/meta-methods.js.map +1 -0
  511. package/esm/model/methods/query-methods.d.ts +24 -0
  512. package/esm/model/methods/query-methods.d.ts.map +1 -0
  513. package/esm/model/methods/query-methods.js +164 -0
  514. package/esm/model/methods/query-methods.js.map +1 -0
  515. package/esm/model/methods/restore-methods.d.ts +10 -0
  516. package/esm/model/methods/restore-methods.d.ts.map +1 -0
  517. package/esm/model/methods/restore-methods.js +13 -0
  518. package/esm/model/methods/restore-methods.js.map +1 -0
  519. package/esm/model/methods/scope-methods.d.ts +7 -0
  520. package/esm/model/methods/scope-methods.d.ts.map +1 -0
  521. package/esm/model/methods/scope-methods.js +15 -0
  522. package/esm/model/methods/scope-methods.js.map +1 -0
  523. package/esm/model/methods/serialization-methods.d.ts +3 -0
  524. package/esm/model/methods/serialization-methods.d.ts.map +1 -0
  525. package/esm/model/methods/serialization-methods.js +27 -0
  526. package/esm/model/methods/serialization-methods.js.map +1 -0
  527. package/esm/model/methods/static-event-methods.d.ts +9 -0
  528. package/esm/model/methods/static-event-methods.d.ts.map +1 -0
  529. package/esm/model/methods/static-event-methods.js +29 -0
  530. package/esm/model/methods/static-event-methods.js.map +1 -0
  531. package/esm/model/methods/write-methods.d.ts +10 -0
  532. package/esm/model/methods/write-methods.d.ts.map +1 -0
  533. package/esm/model/methods/write-methods.js +52 -0
  534. package/esm/model/methods/write-methods.js.map +1 -0
  535. package/esm/model/model.d.ts +1647 -0
  536. package/esm/model/model.d.ts.map +1 -0
  537. package/esm/model/model.js +1657 -0
  538. package/esm/model/model.js.map +1 -0
  539. package/esm/model/model.types.d.ts +44 -0
  540. package/esm/model/model.types.d.ts.map +1 -0
  541. package/esm/model/register-model.d.ts +81 -0
  542. package/esm/model/register-model.d.ts.map +1 -0
  543. package/esm/model/register-model.js +94 -0
  544. package/esm/model/register-model.js.map +1 -0
  545. package/esm/query-builder/query-builder.d.ts +556 -0
  546. package/esm/query-builder/query-builder.d.ts.map +1 -0
  547. package/esm/query-builder/query-builder.js +1070 -0
  548. package/esm/query-builder/query-builder.js.map +1 -0
  549. package/esm/relations/helpers.d.ts +156 -0
  550. package/esm/relations/helpers.d.ts.map +1 -0
  551. package/esm/relations/helpers.js +202 -0
  552. package/esm/relations/helpers.js.map +1 -0
  553. package/esm/relations/index.d.ts +35 -0
  554. package/esm/relations/index.d.ts.map +1 -0
  555. package/esm/relations/pivot-operations.d.ts +160 -0
  556. package/esm/relations/pivot-operations.d.ts.map +1 -0
  557. package/esm/relations/pivot-operations.js +293 -0
  558. package/esm/relations/pivot-operations.js.map +1 -0
  559. package/esm/relations/relation-hydrator.d.ts +68 -0
  560. package/esm/relations/relation-hydrator.d.ts.map +1 -0
  561. package/esm/relations/relation-hydrator.js +81 -0
  562. package/esm/relations/relation-hydrator.js.map +1 -0
  563. package/esm/relations/relation-loader.d.ts +194 -0
  564. package/esm/relations/relation-loader.d.ts.map +1 -0
  565. package/esm/relations/relation-loader.js +466 -0
  566. package/esm/relations/relation-loader.js.map +1 -0
  567. package/esm/relations/types.d.ts +306 -0
  568. package/esm/relations/types.d.ts.map +1 -0
  569. package/esm/remover/database-remover.d.ts +100 -0
  570. package/esm/remover/database-remover.d.ts.map +1 -0
  571. package/esm/remover/database-remover.js +214 -0
  572. package/esm/remover/database-remover.js.map +1 -0
  573. package/esm/restorer/database-restorer.d.ts +131 -0
  574. package/esm/restorer/database-restorer.d.ts.map +1 -0
  575. package/esm/restorer/database-restorer.js +434 -0
  576. package/esm/restorer/database-restorer.js.map +1 -0
  577. package/esm/sql-database-dirty-tracker.d.ts +13 -0
  578. package/esm/sql-database-dirty-tracker.d.ts.map +1 -0
  579. package/esm/sql-database-dirty-tracker.js +14 -0
  580. package/esm/sql-database-dirty-tracker.js.map +1 -0
  581. package/esm/sync/index.d.ts +12 -0
  582. package/esm/sync/index.d.ts.map +1 -0
  583. package/esm/sync/model-events.d.ts +62 -0
  584. package/esm/sync/model-events.d.ts.map +1 -0
  585. package/esm/sync/model-events.js +49 -0
  586. package/esm/sync/model-events.js.map +1 -0
  587. package/esm/sync/model-sync-operation.d.ts +163 -0
  588. package/esm/sync/model-sync-operation.d.ts.map +1 -0
  589. package/esm/sync/model-sync-operation.js +292 -0
  590. package/esm/sync/model-sync-operation.js.map +1 -0
  591. package/esm/sync/model-sync.d.ts +130 -0
  592. package/esm/sync/model-sync.d.ts.map +1 -0
  593. package/esm/sync/model-sync.js +178 -0
  594. package/esm/sync/model-sync.js.map +1 -0
  595. package/esm/sync/sync-context.d.ts +70 -0
  596. package/esm/sync/sync-context.d.ts.map +1 -0
  597. package/esm/sync/sync-context.js +101 -0
  598. package/esm/sync/sync-context.js.map +1 -0
  599. package/esm/sync/sync-manager.d.ts +213 -0
  600. package/esm/sync/sync-manager.d.ts.map +1 -0
  601. package/esm/sync/sync-manager.js +689 -0
  602. package/esm/sync/sync-manager.js.map +1 -0
  603. package/esm/sync/types.d.ts +289 -0
  604. package/esm/sync/types.d.ts.map +1 -0
  605. package/esm/test-migrations/test-enhanced-features.migration.d.ts +15 -0
  606. package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +1 -0
  607. package/esm/types.d.ts +371 -0
  608. package/esm/types.d.ts.map +1 -0
  609. package/esm/utils/connect-to-database.d.ts +307 -0
  610. package/esm/utils/connect-to-database.d.ts.map +1 -0
  611. package/esm/utils/connect-to-database.js +130 -0
  612. package/esm/utils/connect-to-database.js.map +1 -0
  613. package/esm/utils/database-writer.utils.d.ts +15 -0
  614. package/esm/utils/database-writer.utils.d.ts.map +1 -0
  615. package/esm/utils/database-writer.utils.js +14 -0
  616. package/esm/utils/database-writer.utils.js.map +1 -0
  617. package/esm/utils/define-model.js +100 -0
  618. package/esm/utils/define-model.js.map +1 -0
  619. package/esm/utils/is-valid-date-value.d.ts +5 -0
  620. package/esm/utils/is-valid-date-value.d.ts.map +1 -0
  621. package/esm/utils/is-valid-date-value.js +25 -0
  622. package/esm/utils/is-valid-date-value.js.map +1 -0
  623. package/esm/utils/once-connected.d.ts +146 -0
  624. package/esm/utils/once-connected.d.ts.map +1 -0
  625. package/esm/utils/once-connected.js +251 -0
  626. package/esm/utils/once-connected.js.map +1 -0
  627. package/esm/validation/database-seal-plugins.d.ts +12 -0
  628. package/esm/validation/database-seal-plugins.d.ts.map +1 -0
  629. package/esm/validation/database-seal-plugins.js +1 -0
  630. package/esm/validation/database-seal-plugins.js.map +1 -0
  631. package/esm/validation/database-writer-validation-error.d.ts +97 -0
  632. package/esm/validation/database-writer-validation-error.d.ts.map +1 -0
  633. package/esm/validation/database-writer-validation-error.js +160 -0
  634. package/esm/validation/database-writer-validation-error.js.map +1 -0
  635. package/esm/validation/index.d.ts +3 -0
  636. package/esm/validation/index.d.ts.map +1 -0
  637. package/esm/validation/mutators/embed-mutator.d.ts +9 -0
  638. package/esm/validation/mutators/embed-mutator.d.ts.map +1 -0
  639. package/esm/validation/mutators/embed-mutator.js +33 -0
  640. package/esm/validation/mutators/embed-mutator.js.map +1 -0
  641. package/esm/validation/plugins/embed-validator-plugin.d.ts +24 -0
  642. package/esm/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
  643. package/esm/validation/plugins/embed-validator-plugin.js +18 -0
  644. package/esm/validation/plugins/embed-validator-plugin.js.map +1 -0
  645. package/esm/validation/rules/database-model-rule.d.ts +7 -0
  646. package/esm/validation/rules/database-model-rule.d.ts.map +1 -0
  647. package/esm/validation/rules/database-model-rule.js +27 -0
  648. package/esm/validation/rules/database-model-rule.js.map +1 -0
  649. package/esm/validation/transformers/embed-model-transformer.d.ts +3 -0
  650. package/esm/validation/transformers/embed-model-transformer.d.ts.map +1 -0
  651. package/esm/validation/transformers/embed-model-transformer.js +18 -0
  652. package/esm/validation/transformers/embed-model-transformer.js.map +1 -0
  653. package/esm/validation/validators/embed-validator.d.ts +21 -0
  654. package/esm/validation/validators/embed-validator.d.ts.map +1 -0
  655. package/esm/validation/validators/embed-validator.js +43 -0
  656. package/esm/validation/validators/embed-validator.js.map +1 -0
  657. package/esm/writer/database-writer.d.ts +181 -0
  658. package/esm/writer/database-writer.d.ts.map +1 -0
  659. package/esm/writer/database-writer.js +407 -0
  660. package/esm/writer/database-writer.js.map +1 -0
  661. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb-driver.js","sources":["../../../src/drivers/mongodb/mongodb-driver.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import type { GenerateIdOptions, IdGeneratorContract } from "../../contracts";
2
+ import type { MongoDbDriver } from "./mongodb-driver";
3
+ /**
4
+ * MongoDB-specific ID generator for auto-incrementing integer IDs.
5
+ *
6
+ * Maintains a separate collection that tracks the last generated ID for each table.
7
+ * Generates auto-incrementing IDs similar to SQL's AUTO_INCREMENT feature.
8
+ *
9
+ * **Collection Structure:**
10
+ * ```json
11
+ * {
12
+ * "collection": "users",
13
+ * "id": 12345
14
+ * }
15
+ * ```
16
+ *
17
+ * **Features:**
18
+ * - Atomic ID generation using findOneAndUpdate with aggregation pipeline
19
+ * - Automatic transaction support (driver handles session context)
20
+ * - Configurable initial ID and increment values
21
+ * - Thread-safe and concurrent-safe
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const mongoDriver = new MongoDbDriver(config);
26
+ * const idGenerator = new MongoIdGenerator(mongoDriver);
27
+ *
28
+ * const dataSource = new DataSource({
29
+ * name: "primary",
30
+ * driver: mongoDriver,
31
+ * idGenerator,
32
+ * });
33
+ *
34
+ * // Generate IDs with custom configuration
35
+ * const id = await idGenerator.generateNextId({
36
+ * table: "users",
37
+ * initialId: 1000,
38
+ * incrementIdBy: 1
39
+ * });
40
+ * ```
41
+ */
42
+ export declare class MongoIdGenerator implements IdGeneratorContract {
43
+ private readonly driver;
44
+ /**
45
+ * The collection name that stores ID counters.
46
+ * Each document tracks the last ID for a specific table.
47
+ *
48
+ * Named "MasterMind" for backward compatibility with legacy Cascade.
49
+ */
50
+ readonly counterCollection: string;
51
+ /**
52
+ * Create a new MongoDB ID generator instance.
53
+ *
54
+ * @param driver - The MongoDB driver instance
55
+ * @param counterCollection - Name of the collection storing ID counters (default: "MasterMind")
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const idGenerator = new MongoIdGenerator(mongoDriver, "id_counters");
60
+ * ```
61
+ */
62
+ constructor(driver: MongoDbDriver, counterCollection?: string);
63
+ /**
64
+ * Generate the next ID for a table.
65
+ *
66
+ * Uses atomic findOneAndUpdate with aggregation pipeline to ensure uniqueness
67
+ * even in concurrent scenarios. Automatically participates in active transactions.
68
+ *
69
+ * @param options - Configuration for ID generation
70
+ * @returns The generated ID
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // Simple usage
75
+ * const id = await idGenerator.generateNextId({ table: "users" });
76
+ *
77
+ * // With custom initial ID
78
+ * const id = await idGenerator.generateNextId({
79
+ * table: "products",
80
+ * initialId: 1000,
81
+ * incrementIdBy: 1
82
+ * });
83
+ * ```
84
+ */
85
+ generateNextId(options: GenerateIdOptions): Promise<number>;
86
+ /**
87
+ * Get the last generated ID for a table.
88
+ *
89
+ * @param table - The table/collection name
90
+ * @returns The last generated ID, or 0 if none exists
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * const lastId = await idGenerator.getLastId("users");
95
+ * console.log(`Last user ID: ${lastId}`);
96
+ * ```
97
+ */
98
+ getLastId(table: string): Promise<number>;
99
+ /**
100
+ * Set the last ID for a table.
101
+ *
102
+ * Creates or updates the counter document for the specified table.
103
+ * Useful for seeding or resetting ID sequences.
104
+ *
105
+ * @param table - The table/collection name
106
+ * @param id - The ID to set as the last generated ID
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * // Reset user IDs to start from 1000
111
+ * await idGenerator.setLastId("users", 1000);
112
+ * ```
113
+ */
114
+ setLastId(table: string, id: number): Promise<void>;
115
+ }
116
+ //# sourceMappingURL=mongodb-id-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb-id-generator.d.ts","sourceRoot":"","sources":["../../../src/drivers/mongodb/mongodb-id-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,gBAAiB,YAAW,mBAAmB;IAqBxD,OAAO,CAAC,QAAQ,CAAC,MAAM;IApBzB;;;;;OAKG;IACH,SAAgB,iBAAiB,EAAE,MAAM,CAAgB;IAEzD;;;;;;;;;;OAUG;gBAEgB,MAAM,EAAE,aAAa,EACtC,iBAAiB,CAAC,EAAE,MAAM;IAO5B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCxE;;;;;;;;;;;OAWG;IACU,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtD;;;;;;;;;;;;;;OAcG;IACU,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQjE"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * MongoDB-specific ID generator for auto-incrementing integer IDs.
3
+ *
4
+ * Maintains a separate collection that tracks the last generated ID for each table.
5
+ * Generates auto-incrementing IDs similar to SQL's AUTO_INCREMENT feature.
6
+ *
7
+ * **Collection Structure:**
8
+ * ```json
9
+ * {
10
+ * "collection": "users",
11
+ * "id": 12345
12
+ * }
13
+ * ```
14
+ *
15
+ * **Features:**
16
+ * - Atomic ID generation using findOneAndUpdate with aggregation pipeline
17
+ * - Automatic transaction support (driver handles session context)
18
+ * - Configurable initial ID and increment values
19
+ * - Thread-safe and concurrent-safe
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const mongoDriver = new MongoDbDriver(config);
24
+ * const idGenerator = new MongoIdGenerator(mongoDriver);
25
+ *
26
+ * const dataSource = new DataSource({
27
+ * name: "primary",
28
+ * driver: mongoDriver,
29
+ * idGenerator,
30
+ * });
31
+ *
32
+ * // Generate IDs with custom configuration
33
+ * const id = await idGenerator.generateNextId({
34
+ * table: "users",
35
+ * initialId: 1000,
36
+ * incrementIdBy: 1
37
+ * });
38
+ * ```
39
+ */
40
+ class MongoIdGenerator {
41
+ driver;
42
+ /**
43
+ * The collection name that stores ID counters.
44
+ * Each document tracks the last ID for a specific table.
45
+ *
46
+ * Named "MasterMind" for backward compatibility with legacy Cascade.
47
+ */
48
+ counterCollection = "MasterMind";
49
+ /**
50
+ * Create a new MongoDB ID generator instance.
51
+ *
52
+ * @param driver - The MongoDB driver instance
53
+ * @param counterCollection - Name of the collection storing ID counters (default: "MasterMind")
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const idGenerator = new MongoIdGenerator(mongoDriver, "id_counters");
58
+ * ```
59
+ */
60
+ constructor(driver, counterCollection) {
61
+ this.driver = driver;
62
+ if (counterCollection) {
63
+ this.counterCollection = counterCollection;
64
+ }
65
+ }
66
+ /**
67
+ * Generate the next ID for a table.
68
+ *
69
+ * Uses atomic findOneAndUpdate with aggregation pipeline to ensure uniqueness
70
+ * even in concurrent scenarios. Automatically participates in active transactions.
71
+ *
72
+ * @param options - Configuration for ID generation
73
+ * @returns The generated ID
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // Simple usage
78
+ * const id = await idGenerator.generateNextId({ table: "users" });
79
+ *
80
+ * // With custom initial ID
81
+ * const id = await idGenerator.generateNextId({
82
+ * table: "products",
83
+ * initialId: 1000,
84
+ * incrementIdBy: 1
85
+ * });
86
+ * ```
87
+ */
88
+ async generateNextId(options) {
89
+ const { table, initialId = 1, incrementIdBy = 1 } = options;
90
+ // Get the MongoDB database instance
91
+ const database = this.driver.getDatabase();
92
+ const collection = database.collection(this.counterCollection);
93
+ // Use atomic findOneAndUpdate with aggregation pipeline
94
+ // The driver's withSession method will automatically attach the session if in a transaction
95
+ const result = await collection.findOneAndUpdate({ collection: table }, [
96
+ {
97
+ $set: {
98
+ id: {
99
+ $cond: {
100
+ if: { $or: [{ $eq: ["$id", null] }, { $not: "$id" }] },
101
+ then: initialId,
102
+ else: { $add: ["$id", incrementIdBy] },
103
+ },
104
+ },
105
+ collection: table,
106
+ },
107
+ },
108
+ ], {
109
+ upsert: true,
110
+ returnDocument: "after",
111
+ });
112
+ return result?.id ?? initialId;
113
+ }
114
+ /**
115
+ * Get the last generated ID for a table.
116
+ *
117
+ * @param table - The table/collection name
118
+ * @returns The last generated ID, or 0 if none exists
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const lastId = await idGenerator.getLastId("users");
123
+ * console.log(`Last user ID: ${lastId}`);
124
+ * ```
125
+ */
126
+ async getLastId(table) {
127
+ const query = this.driver.queryBuilder(this.counterCollection);
128
+ const doc = (await query.where("collection", table).first());
129
+ return doc?.id ?? 0;
130
+ }
131
+ /**
132
+ * Set the last ID for a table.
133
+ *
134
+ * Creates or updates the counter document for the specified table.
135
+ * Useful for seeding or resetting ID sequences.
136
+ *
137
+ * @param table - The table/collection name
138
+ * @param id - The ID to set as the last generated ID
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * // Reset user IDs to start from 1000
143
+ * await idGenerator.setLastId("users", 1000);
144
+ * ```
145
+ */
146
+ async setLastId(table, id) {
147
+ await this.driver.update(this.counterCollection, { collection: table }, { $set: { id, collection: table } }, { upsert: true });
148
+ }
149
+ }export{MongoIdGenerator};//# sourceMappingURL=mongodb-id-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb-id-generator.js","sources":["../../../src/drivers/mongodb/mongodb-id-generator.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;MACU,gBAAgB,CAAA;AAqBR,IAAA,MAAA,CAAA;AApBnB;;;;;AAKG;IACa,iBAAiB,GAAW,YAAY,CAAC;AAEzD;;;;;;;;;;AAUG;IACH,WACmB,CAAA,MAAqB,EACtC,iBAA0B,EAAA;QADT,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AAGtC,QAAA,IAAI,iBAAiB,EAAE;AACrB,YAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC5C,SAAA;KACF;AAED;;;;;;;;;;;;;;;;;;;;;AAqBG;IACI,MAAM,cAAc,CAAC,OAA0B,EAAA;AACpD,QAAA,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;;QAG5D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;;;AAI/D,QAAA,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAC9C,EAAE,UAAU,EAAE,KAAK,EAAE,EACrB;AACE,YAAA;AACE,gBAAA,IAAI,EAAE;AACJ,oBAAA,EAAE,EAAE;AACF,wBAAA,KAAK,EAAE;4BACL,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;AACtD,4BAAA,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE;AACvC,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;AACF,aAAA;SACF,EACD;AACE,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,cAAc,EAAE,OAAO;AACxB,SAAA,CACF,CAAC;AAEF,QAAA,OAAO,MAAM,EAAE,EAAE,IAAI,SAAS,CAAC;KAChC;AAED;;;;;;;;;;;AAWG;IACI,MAAM,SAAS,CAAC,KAAa,EAAA;AAClC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC/D,QAAA,MAAM,GAAG,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAmC,CAAC;AAC/F,QAAA,OAAQ,GAAG,EAAE,EAAa,IAAI,CAAC,CAAC;KACjC;AAED;;;;;;;;;;;;;;AAcG;AACI,IAAA,MAAM,SAAS,CAAC,KAAa,EAAE,EAAU,EAAA;AAC9C,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACtB,IAAI,CAAC,iBAAiB,EACtB,EAAE,UAAU,EAAE,KAAK,EAAE,EACrB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EACnC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;KACH;AACF"}
@@ -0,0 +1,317 @@
1
+ import type { ColumnDefinition, ForeignKeyDefinition, FullTextIndexOptions, GeoIndexOptions, IndexDefinition, MigrationDriverContract, TableIndexInformation, VectorIndexOptions } from "../../contracts/migration-driver.contract";
2
+ import type { MigrationDefaults } from "../../types";
3
+ import type { MongoDbDriver } from "./mongodb-driver";
4
+ /**
5
+ * MongoDB-specific migration driver implementation.
6
+ *
7
+ * Key behaviors:
8
+ * - Column operations are **no-ops** (MongoDB is schema-less)
9
+ * - Index operations use native `createIndex()`
10
+ * - Foreign keys are **no-ops** (MongoDB has no FK constraints)
11
+ * - TTL indexes supported natively
12
+ * - Vector indexes use Atlas Search (when available)
13
+ * - Schema validation uses `collMod` command
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const migrationDriver = new MongoMigrationDriver(mongoDriver);
18
+ * await migrationDriver.createIndex("users", {
19
+ * columns: ["email"],
20
+ * unique: true,
21
+ * });
22
+ * ```
23
+ */
24
+ export declare class MongoMigrationDriver implements MigrationDriverContract {
25
+ readonly driver: MongoDbDriver;
26
+ /** Active transaction session (if any) */
27
+ private session?;
28
+ /**
29
+ * Create a new MongoDB migration driver.
30
+ *
31
+ * @param driver - The MongoDB driver instance
32
+ */
33
+ constructor(driver: MongoDbDriver);
34
+ /**
35
+ * Get the MongoDB database instance.
36
+ */
37
+ private get db();
38
+ /**
39
+ * Get session options for operations.
40
+ */
41
+ private get sessionOptions();
42
+ /**
43
+ * Create a new collection.
44
+ *
45
+ * MongoDB creates collections lazily on first insert, but this method
46
+ * creates them explicitly for migrations that need to add indexes or
47
+ * schema validation.
48
+ */
49
+ createTable(table: string): Promise<void>;
50
+ /**
51
+ * Create table if not exists
52
+ */
53
+ createTableIfNotExists(table: string): Promise<void>;
54
+ /**
55
+ * Drop an existing collection.
56
+ *
57
+ * @throws Error if collection doesn't exist
58
+ */
59
+ dropTable(table: string): Promise<void>;
60
+ /**
61
+ * Drop collection if it exists (no error if missing).
62
+ */
63
+ dropTableIfExists(table: string): Promise<void>;
64
+ /**
65
+ * Rename a collection.
66
+ */
67
+ renameTable(from: string, to: string): Promise<void>;
68
+ /**
69
+ * Truncate a collection — remove all documents.
70
+ *
71
+ * @param table - Collection name
72
+ */
73
+ truncateTable(table: string): Promise<void>;
74
+ /**
75
+ * Check if a collection exists.
76
+ */
77
+ tableExists(table: string): Promise<boolean>;
78
+ /**
79
+ * List all columns in a collection.
80
+ *
81
+ * MongoDB is schema-less, so this returns an empty array.
82
+ * For actual schema inspection, would need to sample documents.
83
+ */
84
+ listColumns(_table: string): Promise<ColumnDefinition[]>;
85
+ /**
86
+ * List all collections in the current database.
87
+ */
88
+ listTables(): Promise<string[]>;
89
+ /**
90
+ * Ensure the migrations tracking collection exists.
91
+ *
92
+ * MongoDB creates collections lazily, but we can create explicitly
93
+ * and add a unique index on the name field.
94
+ *
95
+ * @param tableName - Name of the migrations collection
96
+ */
97
+ ensureMigrationsTable(tableName: string): Promise<void>;
98
+ /**
99
+ * Add a column (no-op for MongoDB).
100
+ *
101
+ * MongoDB is schema-less, so columns don't need to be declared.
102
+ */
103
+ addColumn(_table: string, _column: ColumnDefinition): Promise<void>;
104
+ /**
105
+ * Drop a column by running $unset on all documents.
106
+ *
107
+ * This actually removes the field from all documents in the collection.
108
+ */
109
+ dropColumn(table: string, column: string): Promise<void>;
110
+ /**
111
+ * Drop multiple columns by running $unset on all documents.
112
+ */
113
+ dropColumns(table: string, columns: string[]): Promise<void>;
114
+ /**
115
+ * Rename a column by running $rename on all documents.
116
+ */
117
+ renameColumn(table: string, from: string, to: string): Promise<void>;
118
+ /**
119
+ * Modify a column definition (no-op for MongoDB).
120
+ *
121
+ * MongoDB is schema-less, so column types don't need to be modified.
122
+ */
123
+ modifyColumn(_table: string, _column: ColumnDefinition): Promise<void>;
124
+ /**
125
+ * Create standard timestamp columns (created_at, updated_at).
126
+ *
127
+ * MongoDB implementation is a no-op since timestamps are handled
128
+ * at the application level via Model hooks.
129
+ *
130
+ * @param _table - Collection name (unused)
131
+ */
132
+ createTimestampColumns(_table: string): Promise<void>;
133
+ /**
134
+ * Create an index on one or more columns.
135
+ *
136
+ * **Note**: Expression-based indexes, INCLUDE clause, and concurrent creation
137
+ * are PostgreSQL-specific features and are silently ignored by MongoDB.
138
+ */
139
+ createIndex(table: string, index: IndexDefinition): Promise<void>;
140
+ /**
141
+ * Drop an index by name or columns.
142
+ *
143
+ * @param indexNameOrColumns - Index name (string) or columns array
144
+ */
145
+ dropIndex(table: string, indexNameOrColumns: string | string[]): Promise<void>;
146
+ /**
147
+ * Create a unique index/constraint.
148
+ */
149
+ createUniqueIndex(table: string, columns: string[], name?: string): Promise<void>;
150
+ /**
151
+ * Drop a unique index by finding its name from columns.
152
+ */
153
+ dropUniqueIndex(table: string, columns: string[]): Promise<void>;
154
+ /**
155
+ * Create a full-text search index.
156
+ *
157
+ * MongoDB uses "text" index type for full-text search.
158
+ */
159
+ createFullTextIndex(table: string, columns: string[], options?: FullTextIndexOptions): Promise<void>;
160
+ /**
161
+ * Drop a full-text search index.
162
+ */
163
+ dropFullTextIndex(table: string, name: string): Promise<void>;
164
+ /**
165
+ * Create a geo-spatial index.
166
+ */
167
+ createGeoIndex(table: string, column: string, options?: GeoIndexOptions): Promise<void>;
168
+ /**
169
+ * Drop a geo-spatial index.
170
+ */
171
+ dropGeoIndex(table: string, column: string): Promise<void>;
172
+ /**
173
+ * Create a vector search index for AI embeddings.
174
+ *
175
+ * Note: This requires MongoDB Atlas with Vector Search enabled.
176
+ * For self-hosted MongoDB, this will create a regular index on the field.
177
+ */
178
+ createVectorIndex(table: string, column: string, options: VectorIndexOptions): Promise<void>;
179
+ /**
180
+ * Drop a vector search index.
181
+ */
182
+ dropVectorIndex(table: string, column: string): Promise<void>;
183
+ /**
184
+ * Create a TTL (time-to-live) index for automatic document expiration.
185
+ */
186
+ createTTLIndex(table: string, column: string, expireAfterSeconds: number): Promise<void>;
187
+ /**
188
+ * Drop a TTL index.
189
+ */
190
+ dropTTLIndex(table: string, column: string): Promise<void>;
191
+ /**
192
+ * List all indexes on a collection.
193
+ *
194
+ * @param table - Collection name
195
+ * @returns Array of index metadata
196
+ */
197
+ listIndexes(table: string): Promise<TableIndexInformation[]>;
198
+ /**
199
+ * Add a foreign key constraint (no-op for MongoDB).
200
+ *
201
+ * MongoDB doesn't support foreign key constraints.
202
+ * Use application-level validation or DBRefs instead.
203
+ */
204
+ addForeignKey(_table: string, _foreignKey: ForeignKeyDefinition): Promise<void>;
205
+ /**
206
+ * Drop a foreign key constraint (no-op for MongoDB).
207
+ */
208
+ dropForeignKey(_table: string, _name: string): Promise<void>;
209
+ /**
210
+ * Add a primary key constraint (no-op for MongoDB).
211
+ *
212
+ * MongoDB always has _id as the primary key.
213
+ */
214
+ addPrimaryKey(_table: string, _columns: string[]): Promise<void>;
215
+ /**
216
+ * Drop the primary key constraint (no-op for MongoDB).
217
+ */
218
+ dropPrimaryKey(_table: string): Promise<void>;
219
+ /**
220
+ * Add a CHECK constraint (no-op for MongoDB).
221
+ *
222
+ * MongoDB doesn't support CHECK constraints.
223
+ * Use schema validation instead.
224
+ */
225
+ addCheck(_table: string, _name: string, _expression: string): Promise<void>;
226
+ /**
227
+ * Drop a CHECK constraint (no-op for MongoDB).
228
+ */
229
+ dropCheck(_table: string, _name: string): Promise<void>;
230
+ /**
231
+ * Set JSON schema validation rules on a collection.
232
+ *
233
+ * Uses MongoDB's validator feature to enforce document structure.
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * await driver.setSchemaValidation("users", {
238
+ * bsonType: "object",
239
+ * required: ["name", "email"],
240
+ * properties: {
241
+ * name: { bsonType: "string" },
242
+ * email: { bsonType: "string" },
243
+ * },
244
+ * });
245
+ * ```
246
+ */
247
+ setSchemaValidation(table: string, schema: object): Promise<void>;
248
+ /**
249
+ * Remove schema validation rules from a collection.
250
+ */
251
+ removeSchemaValidation(table: string): Promise<void>;
252
+ /**
253
+ * Begin a database transaction.
254
+ *
255
+ * Uses the driver's transaction mechanism.
256
+ */
257
+ beginTransaction(): Promise<void>;
258
+ /**
259
+ * Commit the current transaction.
260
+ */
261
+ commit(): Promise<void>;
262
+ /**
263
+ * Rollback the current transaction.
264
+ */
265
+ rollback(): Promise<void>;
266
+ /**
267
+ * MongoDB supports transactions (requires replica set).
268
+ */
269
+ supportsTransactions(): boolean;
270
+ /**
271
+ * Get the default transactional behavior for MongoDB.
272
+ *
273
+ * MongoDB DDL operations (createCollection, createIndex, etc.) cannot
274
+ * be wrapped in transactions, even with replica sets. Transactions only
275
+ * work for document CRUD operations.
276
+ *
277
+ * @returns false (MongoDB DDL is not transactional)
278
+ */
279
+ getDefaultTransactional(): boolean;
280
+ /**
281
+ * Get the default UUID generation expression for MongoDB.
282
+ *
283
+ * MongoDB does not use SQL-level UUID defaults — UUID generation
284
+ * is handled at the application level. Always returns `undefined`.
285
+ *
286
+ * @param _migrationDefaults - Ignored (MongoDB handles UUIDs at app level)
287
+ * @returns undefined
288
+ */
289
+ getUuidDefault(_migrationDefaults?: MigrationDefaults): undefined;
290
+ /**
291
+ * Check if a database extension is available (no-op for MongoDB).
292
+ *
293
+ * @param _extension - Extension name
294
+ */
295
+ isExtensionAvailable(_extension: string): Promise<boolean>;
296
+ /**
297
+ * Get the official documentation or installation URL for a database extension.
298
+ *
299
+ * @param _extension - Extension name
300
+ */
301
+ getExtensionDocsUrl(_extension: string): string | undefined;
302
+ /**
303
+ * Execute raw operations with direct database access.
304
+ *
305
+ * @param callback - Callback receiving the MongoDB Db instance
306
+ * @returns Result from callback
307
+ *
308
+ * @example
309
+ * ```typescript
310
+ * await driver.raw(async (db) => {
311
+ * await db.collection("users").updateMany({}, { $set: { active: true } });
312
+ * });
313
+ * ```
314
+ */
315
+ raw<T>(callback: (connection: unknown) => Promise<T>): Promise<T>;
316
+ }
317
+ //# sourceMappingURL=mongodb-migration-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb-migration-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/mongodb/mongodb-migration-driver.ts"],"names":[],"mappings":"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"}