@warlock.js/cascade 4.0.161 → 4.0.163

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/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 +161 -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 +1650 -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/context/database-data-source-context.d.ts +29 -0
  346. package/esm/context/database-data-source-context.d.ts.map +1 -0
  347. package/esm/context/database-data-source-context.js +28 -0
  348. package/esm/context/database-data-source-context.js.map +1 -0
  349. package/esm/context/database-transaction-context.d.ts +35 -0
  350. package/esm/context/database-transaction-context.d.ts.map +1 -0
  351. package/esm/context/database-transaction-context.js +40 -0
  352. package/esm/context/database-transaction-context.js.map +1 -0
  353. package/esm/contracts/database-driver.contract.d.ts +450 -0
  354. package/esm/contracts/database-driver.contract.d.ts.map +1 -0
  355. package/esm/contracts/database-id-generator.contract.d.ts +109 -0
  356. package/esm/contracts/database-id-generator.contract.d.ts.map +1 -0
  357. package/esm/contracts/database-remover.contract.d.ts +104 -0
  358. package/esm/contracts/database-remover.contract.d.ts.map +1 -0
  359. package/esm/contracts/database-restorer.contract.d.ts +143 -0
  360. package/esm/contracts/database-restorer.contract.d.ts.map +1 -0
  361. package/esm/contracts/database-writer.contract.d.ts +119 -0
  362. package/esm/contracts/database-writer.contract.d.ts.map +1 -0
  363. package/esm/contracts/driver-blueprint.contract.d.ts +49 -0
  364. package/esm/contracts/driver-blueprint.contract.d.ts.map +1 -0
  365. package/esm/contracts/index.d.ts +10 -0
  366. package/esm/contracts/index.d.ts.map +1 -0
  367. package/esm/contracts/migration-driver.contract.d.ts +522 -0
  368. package/esm/contracts/migration-driver.contract.d.ts.map +1 -0
  369. package/esm/contracts/query-builder.contract.d.ts +1609 -0
  370. package/esm/contracts/query-builder.contract.d.ts.map +1 -0
  371. package/esm/contracts/sync-adapter.contract.d.ts +58 -0
  372. package/esm/contracts/sync-adapter.contract.d.ts.map +1 -0
  373. package/esm/data-source/data-source-registry.d.ts +108 -0
  374. package/esm/data-source/data-source-registry.d.ts.map +1 -0
  375. package/esm/data-source/data-source-registry.js +145 -0
  376. package/esm/data-source/data-source-registry.js.map +1 -0
  377. package/esm/data-source/data-source.d.ts +147 -0
  378. package/esm/data-source/data-source.d.ts.map +1 -0
  379. package/esm/data-source/data-source.js +83 -0
  380. package/esm/data-source/data-source.js.map +1 -0
  381. package/esm/database-dirty-tracker.d.ts +252 -0
  382. package/esm/database-dirty-tracker.d.ts.map +1 -0
  383. package/esm/database-dirty-tracker.js +386 -0
  384. package/esm/database-dirty-tracker.js.map +1 -0
  385. package/esm/drivers/mongodb/mongodb-blueprint.d.ts +30 -0
  386. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  387. package/esm/drivers/mongodb/mongodb-blueprint.js +51 -0
  388. package/esm/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  389. package/esm/drivers/mongodb/mongodb-driver.d.ts +325 -0
  390. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  391. package/esm/drivers/mongodb/mongodb-driver.js +838 -0
  392. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -0
  393. package/esm/drivers/mongodb/mongodb-id-generator.d.ts +116 -0
  394. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  395. package/esm/drivers/mongodb/mongodb-id-generator.js +149 -0
  396. package/esm/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  397. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +317 -0
  398. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  399. package/esm/drivers/mongodb/mongodb-migration-driver.js +666 -0
  400. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  401. package/esm/drivers/mongodb/mongodb-query-builder.d.ts +1122 -0
  402. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  403. package/esm/drivers/mongodb/mongodb-query-builder.js +1988 -0
  404. package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  405. package/esm/drivers/mongodb/mongodb-query-operations.d.ts +226 -0
  406. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  407. package/esm/drivers/mongodb/mongodb-query-operations.js +270 -0
  408. package/esm/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  409. package/esm/drivers/mongodb/mongodb-query-parser.d.ts +262 -0
  410. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  411. package/esm/drivers/mongodb/mongodb-query-parser.js +1351 -0
  412. package/esm/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  413. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +79 -0
  414. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  415. package/esm/drivers/mongodb/mongodb-sync-adapter.js +146 -0
  416. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  417. package/esm/drivers/mongodb/types.d.ts +43 -0
  418. package/esm/drivers/mongodb/types.d.ts.map +1 -0
  419. package/esm/drivers/postgres/index.d.ts +16 -0
  420. package/esm/drivers/postgres/index.d.ts.map +1 -0
  421. package/esm/drivers/postgres/postgres-blueprint.d.ts +64 -0
  422. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  423. package/esm/drivers/postgres/postgres-blueprint.js +121 -0
  424. package/esm/drivers/postgres/postgres-blueprint.js.map +1 -0
  425. package/esm/drivers/postgres/postgres-dialect.d.ts +136 -0
  426. package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  427. package/esm/drivers/postgres/postgres-dialect.js +268 -0
  428. package/esm/drivers/postgres/postgres-dialect.js.map +1 -0
  429. package/esm/drivers/postgres/postgres-driver.d.ts +432 -0
  430. package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -0
  431. package/esm/drivers/postgres/postgres-driver.js +1010 -0
  432. package/esm/drivers/postgres/postgres-driver.js.map +1 -0
  433. package/esm/drivers/postgres/postgres-migration-driver.d.ts +397 -0
  434. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  435. package/esm/drivers/postgres/postgres-migration-driver.js +900 -0
  436. package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -0
  437. package/esm/drivers/postgres/postgres-query-builder.d.ts +254 -0
  438. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  439. package/esm/drivers/postgres/postgres-query-builder.js +933 -0
  440. package/esm/drivers/postgres/postgres-query-builder.js.map +1 -0
  441. package/esm/drivers/postgres/postgres-query-parser.d.ts +328 -0
  442. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  443. package/esm/drivers/postgres/postgres-query-parser.js +868 -0
  444. package/esm/drivers/postgres/postgres-query-parser.js.map +1 -0
  445. package/esm/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
  446. package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
  447. package/esm/drivers/postgres/postgres-sql-serializer.js +400 -0
  448. package/esm/drivers/postgres/postgres-sql-serializer.js.map +1 -0
  449. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  450. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  451. package/esm/drivers/postgres/postgres-sync-adapter.js +197 -0
  452. package/esm/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  453. package/esm/drivers/postgres/types.d.ts +144 -0
  454. package/esm/drivers/postgres/types.d.ts.map +1 -0
  455. package/esm/drivers/sql/index.d.ts +10 -0
  456. package/esm/drivers/sql/index.d.ts.map +1 -0
  457. package/esm/drivers/sql/sql-dialect.contract.d.ts +204 -0
  458. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  459. package/esm/drivers/sql/sql-types.d.ts +202 -0
  460. package/esm/drivers/sql/sql-types.d.ts.map +1 -0
  461. package/esm/errors/missing-data-source.error.d.ts +22 -0
  462. package/esm/errors/missing-data-source.error.d.ts.map +1 -0
  463. package/esm/errors/missing-data-source.error.js +29 -0
  464. package/esm/errors/missing-data-source.error.js.map +1 -0
  465. package/esm/errors/transaction-rollback.error.d.ts +20 -0
  466. package/esm/errors/transaction-rollback.error.d.ts.map +1 -0
  467. package/esm/errors/transaction-rollback.error.js +27 -0
  468. package/esm/errors/transaction-rollback.error.js.map +1 -0
  469. package/esm/events/model-events.d.ts +231 -0
  470. package/esm/events/model-events.d.ts.map +1 -0
  471. package/esm/events/model-events.js +259 -0
  472. package/esm/events/model-events.js.map +1 -0
  473. package/esm/expressions/aggregate-expressions.d.ts +215 -0
  474. package/esm/expressions/aggregate-expressions.d.ts.map +1 -0
  475. package/esm/expressions/aggregate-expressions.js +221 -0
  476. package/esm/expressions/aggregate-expressions.js.map +1 -0
  477. package/esm/expressions/index.d.ts +2 -0
  478. package/esm/expressions/index.d.ts.map +1 -0
  479. package/esm/index.d.ts +45 -0
  480. package/esm/index.d.ts.map +1 -0
  481. package/esm/index.js +1 -0
  482. package/esm/index.js.map +1 -0
  483. package/esm/migration/column-builder.d.ts +417 -0
  484. package/esm/migration/column-builder.d.ts.map +1 -0
  485. package/esm/migration/column-builder.js +586 -0
  486. package/esm/migration/column-builder.js.map +1 -0
  487. package/esm/migration/column-helpers.d.ts +275 -0
  488. package/esm/migration/column-helpers.d.ts.map +1 -0
  489. package/esm/migration/column-helpers.js +389 -0
  490. package/esm/migration/column-helpers.js.map +1 -0
  491. package/esm/migration/foreign-key-builder.d.ts +103 -0
  492. package/esm/migration/foreign-key-builder.d.ts.map +1 -0
  493. package/esm/migration/foreign-key-builder.js +121 -0
  494. package/esm/migration/foreign-key-builder.js.map +1 -0
  495. package/esm/migration/index.d.ts +7 -0
  496. package/esm/migration/index.d.ts.map +1 -0
  497. package/esm/migration/migration-runner.d.ts +278 -0
  498. package/esm/migration/migration-runner.d.ts.map +1 -0
  499. package/esm/migration/migration-runner.js +815 -0
  500. package/esm/migration/migration-runner.js.map +1 -0
  501. package/esm/migration/migration.d.ts +1992 -0
  502. package/esm/migration/migration.d.ts.map +1 -0
  503. package/esm/migration/migration.js +2162 -0
  504. package/esm/migration/migration.js.map +1 -0
  505. package/esm/migration/sql-grammar.d.ts +61 -0
  506. package/esm/migration/sql-grammar.d.ts.map +1 -0
  507. package/esm/migration/sql-grammar.js +164 -0
  508. package/esm/migration/sql-grammar.js.map +1 -0
  509. package/esm/migration/sql-serializer.d.ts +22 -0
  510. package/esm/migration/sql-serializer.d.ts.map +1 -0
  511. package/esm/migration/sql-serializer.js +26 -0
  512. package/esm/migration/sql-serializer.js.map +1 -0
  513. package/esm/migration/types.d.ts +155 -0
  514. package/esm/migration/types.d.ts.map +1 -0
  515. package/esm/model/methods/accessor-methods.d.ts +13 -0
  516. package/esm/model/methods/accessor-methods.d.ts.map +1 -0
  517. package/esm/model/methods/accessor-methods.js +51 -0
  518. package/esm/model/methods/accessor-methods.js.map +1 -0
  519. package/esm/model/methods/delete-methods.d.ts +10 -0
  520. package/esm/model/methods/delete-methods.d.ts.map +1 -0
  521. package/esm/model/methods/delete-methods.js +10 -0
  522. package/esm/model/methods/delete-methods.js.map +1 -0
  523. package/esm/model/methods/dirty-methods.d.ts +10 -0
  524. package/esm/model/methods/dirty-methods.d.ts.map +1 -0
  525. package/esm/model/methods/dirty-methods.js +15 -0
  526. package/esm/model/methods/dirty-methods.js.map +1 -0
  527. package/esm/model/methods/hydration-methods.d.ts +10 -0
  528. package/esm/model/methods/hydration-methods.d.ts.map +1 -0
  529. package/esm/model/methods/hydration-methods.js +57 -0
  530. package/esm/model/methods/hydration-methods.js.map +1 -0
  531. package/esm/model/methods/instance-event-methods.d.ts +7 -0
  532. package/esm/model/methods/instance-event-methods.d.ts.map +1 -0
  533. package/esm/model/methods/instance-event-methods.js +15 -0
  534. package/esm/model/methods/instance-event-methods.js.map +1 -0
  535. package/esm/model/methods/meta-methods.d.ts +7 -0
  536. package/esm/model/methods/meta-methods.d.ts.map +1 -0
  537. package/esm/model/methods/meta-methods.js +78 -0
  538. package/esm/model/methods/meta-methods.js.map +1 -0
  539. package/esm/model/methods/query-methods.d.ts +24 -0
  540. package/esm/model/methods/query-methods.d.ts.map +1 -0
  541. package/esm/model/methods/query-methods.js +161 -0
  542. package/esm/model/methods/query-methods.js.map +1 -0
  543. package/esm/model/methods/restore-methods.d.ts +10 -0
  544. package/esm/model/methods/restore-methods.d.ts.map +1 -0
  545. package/esm/model/methods/restore-methods.js +13 -0
  546. package/esm/model/methods/restore-methods.js.map +1 -0
  547. package/esm/model/methods/scope-methods.d.ts +7 -0
  548. package/esm/model/methods/scope-methods.d.ts.map +1 -0
  549. package/esm/model/methods/scope-methods.js +15 -0
  550. package/esm/model/methods/scope-methods.js.map +1 -0
  551. package/esm/model/methods/serialization-methods.d.ts +3 -0
  552. package/esm/model/methods/serialization-methods.d.ts.map +1 -0
  553. package/esm/model/methods/serialization-methods.js +27 -0
  554. package/esm/model/methods/serialization-methods.js.map +1 -0
  555. package/esm/model/methods/static-event-methods.d.ts +9 -0
  556. package/esm/model/methods/static-event-methods.d.ts.map +1 -0
  557. package/esm/model/methods/static-event-methods.js +29 -0
  558. package/esm/model/methods/static-event-methods.js.map +1 -0
  559. package/esm/model/methods/write-methods.d.ts +10 -0
  560. package/esm/model/methods/write-methods.d.ts.map +1 -0
  561. package/esm/model/methods/write-methods.js +52 -0
  562. package/esm/model/methods/write-methods.js.map +1 -0
  563. package/esm/model/model.d.ts +1650 -0
  564. package/esm/model/model.d.ts.map +1 -0
  565. package/esm/model/model.js +1657 -0
  566. package/esm/model/model.js.map +1 -0
  567. package/esm/model/model.types.d.ts +44 -0
  568. package/esm/model/model.types.d.ts.map +1 -0
  569. package/esm/model/register-model.d.ts +81 -0
  570. package/esm/model/register-model.d.ts.map +1 -0
  571. package/esm/model/register-model.js +94 -0
  572. package/esm/model/register-model.js.map +1 -0
  573. package/esm/query-builder/query-builder.d.ts +556 -0
  574. package/esm/query-builder/query-builder.d.ts.map +1 -0
  575. package/esm/query-builder/query-builder.js +1070 -0
  576. package/esm/query-builder/query-builder.js.map +1 -0
  577. package/esm/relations/helpers.d.ts +156 -0
  578. package/esm/relations/helpers.d.ts.map +1 -0
  579. package/esm/relations/helpers.js +202 -0
  580. package/esm/relations/helpers.js.map +1 -0
  581. package/esm/relations/index.d.ts +35 -0
  582. package/esm/relations/index.d.ts.map +1 -0
  583. package/esm/relations/pivot-operations.d.ts +160 -0
  584. package/esm/relations/pivot-operations.d.ts.map +1 -0
  585. package/esm/relations/pivot-operations.js +293 -0
  586. package/esm/relations/pivot-operations.js.map +1 -0
  587. package/esm/relations/relation-hydrator.d.ts +68 -0
  588. package/esm/relations/relation-hydrator.d.ts.map +1 -0
  589. package/esm/relations/relation-hydrator.js +81 -0
  590. package/esm/relations/relation-hydrator.js.map +1 -0
  591. package/esm/relations/relation-loader.d.ts +194 -0
  592. package/esm/relations/relation-loader.d.ts.map +1 -0
  593. package/esm/relations/relation-loader.js +466 -0
  594. package/esm/relations/relation-loader.js.map +1 -0
  595. package/esm/relations/types.d.ts +306 -0
  596. package/esm/relations/types.d.ts.map +1 -0
  597. package/esm/remover/database-remover.d.ts +100 -0
  598. package/esm/remover/database-remover.d.ts.map +1 -0
  599. package/esm/remover/database-remover.js +214 -0
  600. package/esm/remover/database-remover.js.map +1 -0
  601. package/esm/restorer/database-restorer.d.ts +131 -0
  602. package/esm/restorer/database-restorer.d.ts.map +1 -0
  603. package/esm/restorer/database-restorer.js +434 -0
  604. package/esm/restorer/database-restorer.js.map +1 -0
  605. package/esm/sql-database-dirty-tracker.d.ts +13 -0
  606. package/esm/sql-database-dirty-tracker.d.ts.map +1 -0
  607. package/esm/sql-database-dirty-tracker.js +14 -0
  608. package/esm/sql-database-dirty-tracker.js.map +1 -0
  609. package/esm/sync/index.d.ts +12 -0
  610. package/esm/sync/index.d.ts.map +1 -0
  611. package/esm/sync/model-events.d.ts +62 -0
  612. package/esm/sync/model-events.d.ts.map +1 -0
  613. package/esm/sync/model-events.js +49 -0
  614. package/esm/sync/model-events.js.map +1 -0
  615. package/esm/sync/model-sync-operation.d.ts +163 -0
  616. package/esm/sync/model-sync-operation.d.ts.map +1 -0
  617. package/esm/sync/model-sync-operation.js +292 -0
  618. package/esm/sync/model-sync-operation.js.map +1 -0
  619. package/esm/sync/model-sync.d.ts +130 -0
  620. package/esm/sync/model-sync.d.ts.map +1 -0
  621. package/esm/sync/model-sync.js +178 -0
  622. package/esm/sync/model-sync.js.map +1 -0
  623. package/esm/sync/sync-context.d.ts +70 -0
  624. package/esm/sync/sync-context.d.ts.map +1 -0
  625. package/esm/sync/sync-context.js +101 -0
  626. package/esm/sync/sync-context.js.map +1 -0
  627. package/esm/sync/sync-manager.d.ts +213 -0
  628. package/esm/sync/sync-manager.d.ts.map +1 -0
  629. package/esm/sync/sync-manager.js +689 -0
  630. package/esm/sync/sync-manager.js.map +1 -0
  631. package/esm/sync/types.d.ts +289 -0
  632. package/esm/sync/types.d.ts.map +1 -0
  633. package/esm/test-migrations/test-enhanced-features.migration.d.ts +15 -0
  634. package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +1 -0
  635. package/esm/types.d.ts +371 -0
  636. package/esm/types.d.ts.map +1 -0
  637. package/esm/utils/connect-to-database.d.ts +307 -0
  638. package/esm/utils/connect-to-database.d.ts.map +1 -0
  639. package/esm/utils/connect-to-database.js +130 -0
  640. package/esm/utils/connect-to-database.js.map +1 -0
  641. package/esm/utils/database-writer.utils.d.ts +15 -0
  642. package/esm/utils/database-writer.utils.d.ts.map +1 -0
  643. package/esm/utils/database-writer.utils.js +14 -0
  644. package/esm/utils/database-writer.utils.js.map +1 -0
  645. package/esm/utils/define-model.js +100 -0
  646. package/esm/utils/define-model.js.map +1 -0
  647. package/esm/utils/is-valid-date-value.d.ts +5 -0
  648. package/esm/utils/is-valid-date-value.d.ts.map +1 -0
  649. package/esm/utils/is-valid-date-value.js +25 -0
  650. package/esm/utils/is-valid-date-value.js.map +1 -0
  651. package/esm/utils/once-connected.d.ts +146 -0
  652. package/esm/utils/once-connected.d.ts.map +1 -0
  653. package/esm/utils/once-connected.js +251 -0
  654. package/esm/utils/once-connected.js.map +1 -0
  655. package/esm/validation/database-seal-plugins.d.ts +12 -0
  656. package/esm/validation/database-seal-plugins.d.ts.map +1 -0
  657. package/esm/validation/database-seal-plugins.js +1 -0
  658. package/esm/validation/database-seal-plugins.js.map +1 -0
  659. package/esm/validation/database-writer-validation-error.d.ts +97 -0
  660. package/esm/validation/database-writer-validation-error.d.ts.map +1 -0
  661. package/esm/validation/database-writer-validation-error.js +160 -0
  662. package/esm/validation/database-writer-validation-error.js.map +1 -0
  663. package/esm/validation/index.d.ts +3 -0
  664. package/esm/validation/index.d.ts.map +1 -0
  665. package/esm/validation/mutators/embed-mutator.d.ts +9 -0
  666. package/esm/validation/mutators/embed-mutator.d.ts.map +1 -0
  667. package/esm/validation/mutators/embed-mutator.js +33 -0
  668. package/esm/validation/mutators/embed-mutator.js.map +1 -0
  669. package/esm/validation/plugins/embed-validator-plugin.d.ts +24 -0
  670. package/esm/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
  671. package/esm/validation/plugins/embed-validator-plugin.js +18 -0
  672. package/esm/validation/plugins/embed-validator-plugin.js.map +1 -0
  673. package/esm/validation/rules/database-model-rule.d.ts +7 -0
  674. package/esm/validation/rules/database-model-rule.d.ts.map +1 -0
  675. package/esm/validation/rules/database-model-rule.js +27 -0
  676. package/esm/validation/rules/database-model-rule.js.map +1 -0
  677. package/esm/validation/transformers/embed-model-transformer.d.ts +3 -0
  678. package/esm/validation/transformers/embed-model-transformer.d.ts.map +1 -0
  679. package/esm/validation/transformers/embed-model-transformer.js +18 -0
  680. package/esm/validation/transformers/embed-model-transformer.js.map +1 -0
  681. package/esm/validation/validators/embed-validator.d.ts +21 -0
  682. package/esm/validation/validators/embed-validator.d.ts.map +1 -0
  683. package/esm/validation/validators/embed-validator.js +43 -0
  684. package/esm/validation/validators/embed-validator.js.map +1 -0
  685. package/esm/writer/database-writer.d.ts +181 -0
  686. package/esm/writer/database-writer.d.ts.map +1 -0
  687. package/esm/writer/database-writer.js +407 -0
  688. package/esm/writer/database-writer.js.map +1 -0
  689. package/package.json +4 -4
@@ -0,0 +1,29 @@
1
+ import { Context } from "@warlock.js/context";
2
+ import type { DataSource } from "../data-source/data-source";
3
+ type DataSourceContextValue = string | DataSource;
4
+ type DataSourceContextStore = {
5
+ dataSource?: DataSourceContextValue;
6
+ };
7
+ /**
8
+ * Database DataSource Context
9
+ *
10
+ * Manages the active database connection/data source using AsyncLocalStorage.
11
+ * Extends the base Context class for consistent API.
12
+ */
13
+ declare class DatabaseDataSourceContext extends Context<DataSourceContextStore> {
14
+ /**
15
+ * Get the current data source
16
+ */
17
+ getDataSource(): DataSourceContextValue | undefined;
18
+ /**
19
+ * Set the data source in context
20
+ */
21
+ setDataSource(dataSource: DataSourceContextValue): void;
22
+ /**
23
+ * Build the initial data source store with defaults
24
+ */
25
+ buildStore(): DataSourceContextStore;
26
+ }
27
+ export declare const databaseDataSourceContext: DatabaseDataSourceContext;
28
+ export {};
29
+ //# sourceMappingURL=database-data-source-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-data-source-context.d.ts","sourceRoot":"","sources":["../../src/context/database-data-source-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,KAAK,sBAAsB,GAAG,MAAM,GAAG,UAAU,CAAC;AAElD,KAAK,sBAAsB,GAAG;IAC5B,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC,CAAC;AAEF;;;;;GAKG;AACH,cAAM,yBAA0B,SAAQ,OAAO,CAAC,sBAAsB,CAAC;IACrE;;OAEG;IACI,aAAa,IAAI,sBAAsB,GAAG,SAAS;IAI1D;;OAEG;IACI,aAAa,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;IAI9D;;OAEG;IACI,UAAU,IAAI,sBAAsB;CAG5C;AAED,eAAO,MAAM,yBAAyB,2BAAkC,CAAC"}
@@ -0,0 +1,28 @@
1
+ 'use strict';var context=require('@warlock.js/context');/**
2
+ * Database DataSource Context
3
+ *
4
+ * Manages the active database connection/data source using AsyncLocalStorage.
5
+ * Extends the base Context class for consistent API.
6
+ */
7
+ class DatabaseDataSourceContext extends context.Context {
8
+ /**
9
+ * Get the current data source
10
+ */
11
+ getDataSource() {
12
+ return this.get("dataSource");
13
+ }
14
+ /**
15
+ * Set the data source in context
16
+ */
17
+ setDataSource(dataSource) {
18
+ this.set("dataSource", dataSource);
19
+ }
20
+ /**
21
+ * Build the initial data source store with defaults
22
+ */
23
+ buildStore() {
24
+ return { dataSource: undefined };
25
+ }
26
+ }
27
+ const databaseDataSourceContext = new DatabaseDataSourceContext();
28
+ context.contextManager.register("db.datasource", databaseDataSourceContext);exports.databaseDataSourceContext=databaseDataSourceContext;//# sourceMappingURL=database-data-source-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-data-source-context.js","sources":["../../src/context/database-data-source-context.ts"],"sourcesContent":[null],"names":["Context","contextManager"],"mappings":"wDASA;;;;;AAKG;AACH,MAAM,yBAA0B,SAAQA,eAA+B,CAAA;AACrE;;AAEG;IACI,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC/B;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,UAAkC,EAAA;AACrD,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;KACpC;AAED;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;KAClC;AACF,CAAA;AAEY,MAAA,yBAAyB,GAAG,IAAI,yBAAyB,GAAG;AAEzEC,sBAAc,CAAC,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { Context } from "@warlock.js/context";
2
+ interface TransactionContextStore {
3
+ session?: unknown;
4
+ }
5
+ /**
6
+ * Database Transaction Context
7
+ *
8
+ * Manages database transaction sessions using AsyncLocalStorage.
9
+ * Extends the base Context class for consistent API.
10
+ */
11
+ declare class DatabaseTransactionContext extends Context<TransactionContextStore> {
12
+ /**
13
+ * Get the current transaction session
14
+ */
15
+ getSession<TSession = unknown>(): TSession | undefined;
16
+ /**
17
+ * Check if there's an active transaction in the current context
18
+ */
19
+ hasActiveTransaction(): boolean;
20
+ /**
21
+ * Set the transaction session in context
22
+ */
23
+ setSession(session: unknown): void;
24
+ /**
25
+ * Exit the transaction context
26
+ */
27
+ exit(): void;
28
+ /**
29
+ * Build the initial transaction store with defaults
30
+ */
31
+ buildStore(): TransactionContextStore;
32
+ }
33
+ export declare const databaseTransactionContext: DatabaseTransactionContext;
34
+ export {};
35
+ //# sourceMappingURL=database-transaction-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-transaction-context.d.ts","sourceRoot":"","sources":["../../src/context/database-transaction-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAE9D,UAAU,uBAAuB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,cAAM,0BAA2B,SAAQ,OAAO,CAAC,uBAAuB,CAAC;IACvE;;OAEG;IACI,UAAU,CAAC,QAAQ,GAAG,OAAO,KAAK,QAAQ,GAAG,SAAS;IAI7D;;OAEG;IACI,oBAAoB,IAAI,OAAO;IAItC;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;OAEG;IACI,IAAI,IAAI,IAAI;IAInB;;OAEG;IACI,UAAU,IAAI,uBAAuB;CAG7C;AAED,eAAO,MAAM,0BAA0B,4BAAmC,CAAC"}
@@ -0,0 +1,40 @@
1
+ 'use strict';var context=require('@warlock.js/context');/**
2
+ * Database Transaction Context
3
+ *
4
+ * Manages database transaction sessions using AsyncLocalStorage.
5
+ * Extends the base Context class for consistent API.
6
+ */
7
+ class DatabaseTransactionContext extends context.Context {
8
+ /**
9
+ * Get the current transaction session
10
+ */
11
+ getSession() {
12
+ return this.get("session");
13
+ }
14
+ /**
15
+ * Check if there's an active transaction in the current context
16
+ */
17
+ hasActiveTransaction() {
18
+ return this.getSession() !== undefined;
19
+ }
20
+ /**
21
+ * Set the transaction session in context
22
+ */
23
+ setSession(session) {
24
+ this.set("session", session);
25
+ }
26
+ /**
27
+ * Exit the transaction context
28
+ */
29
+ exit() {
30
+ this.clear();
31
+ }
32
+ /**
33
+ * Build the initial transaction store with defaults
34
+ */
35
+ buildStore() {
36
+ return { session: undefined };
37
+ }
38
+ }
39
+ const databaseTransactionContext = new DatabaseTransactionContext();
40
+ context.contextManager.register("db.transaction", databaseTransactionContext);exports.databaseTransactionContext=databaseTransactionContext;//# sourceMappingURL=database-transaction-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-transaction-context.js","sources":["../../src/context/database-transaction-context.ts"],"sourcesContent":[null],"names":["Context","contextManager"],"mappings":"wDAMA;;;;;AAKG;AACH,MAAM,0BAA2B,SAAQA,eAAgC,CAAA;AACvE;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAyB,CAAC;KACpD;AAED;;AAEG;IACI,oBAAoB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,SAAS,CAAC;KACxC;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,OAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC9B;AAED;;AAEG;IACI,IAAI,GAAA;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;AAED;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KAC/B;AACF,CAAA;AAEY,MAAA,0BAA0B,GAAG,IAAI,0BAA0B,GAAG;AAE3EC,sBAAc,CAAC,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC"}
@@ -0,0 +1,450 @@
1
+ import type { DatabaseDirtyTracker } from "../database-dirty-tracker";
2
+ import type { ModelDefaults } from "../types";
3
+ import { DatabaseDriver } from "../utils/connect-to-database";
4
+ import { DriverBlueprintContract } from "./driver-blueprint.contract";
5
+ import type { MigrationDriverContract } from "./migration-driver.contract";
6
+ import type { QueryBuilderContract } from "./query-builder.contract";
7
+ import type { SyncAdapterContract } from "./sync-adapter.contract";
8
+ /** Supported driver lifecycle events. */
9
+ export type DriverEvent = "connected" | "disconnected" | string;
10
+ /** Listener signature for driver lifecycle events. */
11
+ export type DriverEventListener = (...args: unknown[]) => void;
12
+ /** Representation of an opened transaction (manual pattern). */
13
+ export interface DriverTransactionContract<TContext = unknown> {
14
+ /** Driver-specific transaction context (session, connection, ...). */
15
+ context: TContext;
16
+ /** Commit the transaction. */
17
+ commit(): Promise<void>;
18
+ /** Rollback the transaction. */
19
+ rollback(): Promise<void>;
20
+ }
21
+ /**
22
+ * Transaction context passed to callback-based transaction functions.
23
+ *
24
+ * Provides explicit rollback capability - calling rollback() will
25
+ * throw a TransactionRollbackError to exit the transaction scope.
26
+ */
27
+ export interface TransactionContext {
28
+ /**
29
+ * Explicitly rollback the transaction.
30
+ *
31
+ * Throws TransactionRollbackError to immediately exit the transaction callback.
32
+ * The transaction will be rolled back and the error will be re-thrown.
33
+ *
34
+ * @param reason - Optional reason for rollback (for logging/debugging)
35
+ * @throws {TransactionRollbackError}
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * await driver.transaction(async (ctx) => {
40
+ * if (!isValid) {
41
+ * ctx.rollback("Invalid data");
42
+ * }
43
+ * });
44
+ * ```
45
+ */
46
+ rollback(reason?: string): never;
47
+ }
48
+ /** Result returned after insert operations. */
49
+ export type InsertResult<TDocument = unknown> = {
50
+ document: TDocument;
51
+ };
52
+ /** Result returned after update operations. */
53
+ export type UpdateResult = {
54
+ modifiedCount: number;
55
+ };
56
+ /**
57
+ * Database-agnostic update operations.
58
+ *
59
+ * Drivers translate these to their native syntax:
60
+ * - MongoDB: Used as-is (e.g., `{ $set: { age: 31 } }`)
61
+ * - SQL: Translated to SET/NULL statements (e.g., `SET age = 31`)
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // Set fields
66
+ * { $set: { age: 31, name: "Alice" } }
67
+ *
68
+ * // Remove fields (MongoDB: delete, SQL: SET NULL)
69
+ * { $unset: { tempField: 1 } }
70
+ *
71
+ * // Increment numeric fields
72
+ * { $inc: { views: 1, likes: 5 } }
73
+ *
74
+ * // Combined operations
75
+ * {
76
+ * $set: { status: "active" },
77
+ * $unset: { tempData: 1 },
78
+ * $inc: { loginCount: 1 }
79
+ * }
80
+ * ```
81
+ */
82
+ export type UpdateOperations = {
83
+ /** Set field values */
84
+ $set?: Record<string, unknown>;
85
+ /** Remove/unset fields (MongoDB: delete field, SQL: SET NULL) */
86
+ $unset?: Record<string, 1 | true>;
87
+ /** Increment numeric fields */
88
+ $inc?: Record<string, number>;
89
+ /** Decrement numeric fields */
90
+ $dec?: Record<string, number>;
91
+ /** Push to arrays (NoSQL only, SQL drivers may ignore) */
92
+ $push?: Record<string, unknown>;
93
+ /** Pull from arrays (NoSQL only, SQL drivers may ignore) */
94
+ $pull?: Record<string, unknown>;
95
+ };
96
+ /**
97
+ * Unified driver contract used by the model layer.
98
+ */
99
+ export interface DriverContract {
100
+ /**
101
+ * The name of the driver.
102
+ *
103
+ * Used for identification, logging, and debugging.
104
+ *
105
+ * @example "mongodb", "postgres", "mysql"
106
+ */
107
+ readonly name: DatabaseDriver;
108
+ /**
109
+ * Database blueprint (Information Schema)
110
+ */
111
+ readonly blueprint: DriverBlueprintContract;
112
+ /**
113
+ * Driver-specific model defaults.
114
+ *
115
+ * These defaults are applied to all models using this driver,
116
+ * unless overridden by database config or model static properties.
117
+ *
118
+ * Examples:
119
+ * - MongoDB: camelCase naming (createdAt, updatedAt)
120
+ * - PostgreSQL: snake_case naming (created_at, updated_at)
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * // PostgreSQL driver
125
+ * readonly modelDefaults: Partial<ModelDefaults> = {
126
+ * namingConvention: "snake_case",
127
+ * createdAtColumn: "created_at",
128
+ * updatedAtColumn: "updated_at",
129
+ * timestamps: true,
130
+ * };
131
+ * ```
132
+ */
133
+ readonly modelDefaults?: Partial<ModelDefaults>;
134
+ /** Whether the underlying connection is currently established. */
135
+ readonly isConnected: boolean;
136
+ /** Establish the underlying database connection/pool. */
137
+ connect(): Promise<void>;
138
+ /** Close the underlying database connection/pool. */
139
+ disconnect(): Promise<void>;
140
+ /** Get database native client */
141
+ getClient<Client = unknown>(): Client;
142
+ /**
143
+ * Serialize the given data
144
+ */
145
+ serialize(data: Record<string, unknown>): Record<string, unknown>;
146
+ /**
147
+ * Deserialize the given data
148
+ */
149
+ deserialize(data: Record<string, unknown>): Record<string, unknown>;
150
+ /**
151
+ * Get the dirty tracker for this driver.
152
+ *
153
+ * @param data The initial data snapshot to track
154
+ */
155
+ getDirtyTracker(data: Record<string, unknown>): DatabaseDirtyTracker;
156
+ /** Register event listeners (connected/disconnected/custom). */
157
+ on(event: DriverEvent, listener: DriverEventListener): void;
158
+ /** Insert a single document/row into the given table. */
159
+ insert(table: string, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<InsertResult>;
160
+ /** Insert multiple documents/rows into the given table. */
161
+ insertMany(table: string, documents: Record<string, unknown>[], options?: Record<string, unknown>): Promise<InsertResult[]>;
162
+ /** Update documents/rows matching the filter. */
163
+ update(table: string, filter: Record<string, unknown>, update: UpdateOperations, options?: Record<string, unknown>): Promise<UpdateResult>;
164
+ /** Update many documents/rows matching the filter. */
165
+ updateMany(table: string, filter: Record<string, unknown>, update: UpdateOperations, options?: Record<string, unknown>): Promise<UpdateResult>;
166
+ /** Replace a single document that matches the provided filter. */
167
+ replace<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
168
+ /** Find one and update a single document that matches the provided filter and return the updated document */
169
+ findOneAndUpdate<T = unknown>(table: string, filter: Record<string, unknown>, update: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
170
+ /**
171
+ * Upsert (insert or update) a single document/row.
172
+ *
173
+ * If a document matching the filter exists, it will be updated.
174
+ * If no document matches, a new one will be inserted.
175
+ *
176
+ * @param table - Target table/collection name
177
+ * @param filter - Filter conditions to find existing document
178
+ * @param document - Document data to insert or update
179
+ * @param options - Driver-specific options (conflict columns for SQL, etc.)
180
+ * @returns The upserted document
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * // PostgreSQL: upsert on unique email
185
+ * await driver.upsert('users', { email: 'user@example.com' }, {
186
+ * email: 'user@example.com',
187
+ * name: 'John Doe',
188
+ * updatedAt: new Date()
189
+ * }, { conflictColumns: ['email'] });
190
+ *
191
+ * // MongoDB: upsert by filter
192
+ * await driver.upsert('users', { email: 'user@example.com' }, {
193
+ * email: 'user@example.com',
194
+ * name: 'John Doe'
195
+ * });
196
+ * ```
197
+ */
198
+ upsert<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T>;
199
+ /**
200
+ * Find one and delete a single document that matches the provided filter and return the deleted document.
201
+ *
202
+ * @param table - Target table/collection name
203
+ * @param filter - Filter conditions
204
+ * @param options - Optional delete options
205
+ * @returns The deleted document or null if not found
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * const deleted = await driver.findOneAndDelete('users', { id: 1 });
210
+ * if (deleted) {
211
+ * console.log('Deleted user:', deleted);
212
+ * }
213
+ * ```
214
+ */
215
+ findOneAndDelete<T = unknown>(table: string, filter: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
216
+ /** Delete a single document that matches the provided filter. */
217
+ delete(table: string, filter?: Record<string, unknown>, options?: Record<string, unknown>): Promise<number>;
218
+ /** Delete documents/rows matching the filter. */
219
+ deleteMany(table: string, filter?: Record<string, unknown>, options?: Record<string, unknown>): Promise<number>;
220
+ /**
221
+ * Remove all records from a table/collection.
222
+ *
223
+ * This is a destructive operation that deletes all documents/rows.
224
+ * Use with caution, especially in production environments.
225
+ *
226
+ * @param table - Table/collection name to truncate
227
+ * @param options - Driver-specific options
228
+ * @returns Number of records deleted
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * // Clear all users
233
+ * await driver.truncateTable("users");
234
+ *
235
+ * // Use in seeders for test data cleanup
236
+ * await driver.truncateTable("test_data");
237
+ * ```
238
+ */
239
+ truncateTable(table: string, options?: Record<string, unknown>): Promise<number>;
240
+ /** Obtain a query builder for custom querying. */
241
+ queryBuilder<T = unknown>(table: string): QueryBuilderContract<T>;
242
+ /**
243
+ * Start a new transaction scope (manual pattern).
244
+ *
245
+ * Returns a transaction object with commit/rollback methods.
246
+ * You are responsible for calling commit() or rollback() and handling cleanup.
247
+ *
248
+ * For most use cases, prefer the `transaction()` method which handles
249
+ * commit/rollback/cleanup automatically.
250
+ *
251
+ * @param options - Driver-specific transaction options
252
+ * @returns Transaction contract with commit/rollback methods
253
+ *
254
+ * @example
255
+ * ```typescript
256
+ * const tx = await driver.beginTransaction();
257
+ * try {
258
+ * await driver.insert('users', { name: 'Alice' });
259
+ * await tx.commit();
260
+ * } catch (error) {
261
+ * await tx.rollback();
262
+ * throw error;
263
+ * }
264
+ * ```
265
+ */
266
+ beginTransaction(options?: Record<string, unknown>): Promise<DriverTransactionContract>;
267
+ /**
268
+ * Execute a function within a transaction scope (recommended pattern).
269
+ *
270
+ * Automatically commits on success, rolls back on any error, and guarantees
271
+ * resource cleanup. This is the recommended way to use transactions.
272
+ *
273
+ * **Features:**
274
+ * - Auto-commit on successful callback completion
275
+ * - Auto-rollback on any thrown error
276
+ * - Explicit rollback via `ctx.rollback()`
277
+ * - Guaranteed resource cleanup (connection/session release)
278
+ * - Returns the callback's return value
279
+ *
280
+ * **Limitations:**
281
+ * - Nested `transaction()` calls are not supported (use `beginTransaction()` with savepoints)
282
+ * - MongoDB: Requires replica set configuration
283
+ *
284
+ * @param fn - Async function to execute within transaction
285
+ * @param options - Driver-specific transaction options (same as beginTransaction)
286
+ * @returns The return value of the callback function
287
+ * @throws {Error} If transaction fails or is explicitly rolled back
288
+ *
289
+ * @example
290
+ * ```typescript
291
+ * // Auto-commit on success
292
+ * const user = await driver.transaction(async (ctx) => {
293
+ * const result = await driver.insert('users', { name: 'Alice' });
294
+ * return result.document;
295
+ * });
296
+ *
297
+ * // Explicit rollback
298
+ * await driver.transaction(async (ctx) => {
299
+ * if (!isValid) {
300
+ * ctx.rollback('Validation failed');
301
+ * }
302
+ * });
303
+ *
304
+ * // Auto-rollback on error
305
+ * await driver.transaction(async (ctx) => {
306
+ * throw new Error('Oops'); // Automatically rolls back
307
+ * });
308
+ * ```
309
+ */
310
+ transaction<T>(fn: (ctx: TransactionContext) => Promise<T>, options?: Record<string, unknown>): Promise<T>;
311
+ /** Perform atomic updates matching the filter. */
312
+ atomic(table: string, filter: Record<string, unknown>, operations: UpdateOperations, options?: Record<string, unknown>): Promise<UpdateResult>;
313
+ /** Access the sync adapter used for bulk denormalized updates. */
314
+ syncAdapter(): SyncAdapterContract;
315
+ /** Access the migration driver for schema operations. */
316
+ migrationDriver(): MigrationDriverContract;
317
+ /**
318
+ * Return a SQL serializer for this driver's dialect.
319
+ * Used by Migration.toSQL() to convert pending operations to SQL strings.
320
+ */
321
+ getSQLSerializer(): import("../migration/sql-serializer").SQLSerializer;
322
+ /**
323
+ * Execute a raw SQL query.
324
+ * Used by the runner to execute phase-ordered SQL.
325
+ *
326
+ * @param sql - SQL query string
327
+ * @param params - Optional query parameters
328
+ * @returns Query result
329
+ */
330
+ query<T = unknown>(sql: string, params?: unknown[]): Promise<any>;
331
+ /**
332
+ * Create a new database.
333
+ *
334
+ * Used for multi-tenant scenarios where each tenant gets their own database.
335
+ *
336
+ * @param name - Database name to create
337
+ * @param options - Driver-specific options (encoding, template, etc.)
338
+ * @returns true if created, false if already exists
339
+ *
340
+ * @example
341
+ * ```typescript
342
+ * // Create a tenant database
343
+ * const created = await driver.createDatabase("tenant_xyz");
344
+ * if (created) {
345
+ * console.log("Database created successfully");
346
+ * }
347
+ * ```
348
+ */
349
+ createDatabase(name: string, options?: CreateDatabaseOptions): Promise<boolean>;
350
+ /**
351
+ * Drop a database.
352
+ *
353
+ * Use with caution - this permanently deletes the database and all its data.
354
+ *
355
+ * @param name - Database name to drop
356
+ * @param options - Driver-specific options (force, etc.)
357
+ * @returns true if dropped, false if didn't exist
358
+ *
359
+ * @example
360
+ * ```typescript
361
+ * // Remove a tenant database
362
+ * await driver.dropDatabase("tenant_xyz");
363
+ * ```
364
+ */
365
+ dropDatabase(name: string, options?: DropDatabaseOptions): Promise<boolean>;
366
+ /**
367
+ * Check if a database exists.
368
+ *
369
+ * @param name - Database name to check
370
+ * @returns true if database exists
371
+ *
372
+ * @example
373
+ * ```typescript
374
+ * const exists = await driver.databaseExists("tenant_xyz");
375
+ * if (!exists) {
376
+ * await driver.createDatabase("tenant_xyz");
377
+ * }
378
+ * ```
379
+ */
380
+ databaseExists(name: string): Promise<boolean>;
381
+ /**
382
+ * List all databases.
383
+ *
384
+ * @returns Array of database names
385
+ */
386
+ listDatabases(): Promise<string[]>;
387
+ /**
388
+ * Drop a table/collection.
389
+ *
390
+ * Throws an error if the table doesn't exist.
391
+ *
392
+ * @param name - Table/collection name to drop
393
+ *
394
+ * @example
395
+ * ```typescript
396
+ * await driver.dropTable("temp_data");
397
+ * ```
398
+ */
399
+ dropTable(name: string): Promise<void>;
400
+ /**
401
+ * Drop a table/collection if it exists.
402
+ *
403
+ * Does not throw an error if the table doesn't exist.
404
+ *
405
+ * @param name - Table/collection name to drop
406
+ *
407
+ * @example
408
+ * ```typescript
409
+ * await driver.dropTableIfExists("temp_data");
410
+ * ```
411
+ */
412
+ dropTableIfExists(name: string): Promise<void>;
413
+ /**
414
+ * Drop all tables/collections in the current database.
415
+ *
416
+ * Use with extreme caution - this permanently deletes all tables and data.
417
+ * Typically used for `migrate:fresh` command or test suite resets.
418
+ *
419
+ * @example
420
+ * ```typescript
421
+ * // Reset entire database schema
422
+ * await driver.dropAllTables();
423
+ * await runMigrations();
424
+ * ```
425
+ */
426
+ dropAllTables(): Promise<void>;
427
+ }
428
+ /**
429
+ * Options for creating a database.
430
+ */
431
+ export type CreateDatabaseOptions = {
432
+ /** Database encoding (PostgreSQL: UTF8, LATIN1, etc.) */
433
+ encoding?: string;
434
+ /** Template database (PostgreSQL) */
435
+ template?: string;
436
+ /** Locale/collation settings */
437
+ locale?: string;
438
+ /** Owner of the new database */
439
+ owner?: string;
440
+ };
441
+ /**
442
+ * Options for dropping a database.
443
+ */
444
+ export type DropDatabaseOptions = {
445
+ /** Force drop even if there are active connections */
446
+ force?: boolean;
447
+ /** Skip error if database doesn't exist */
448
+ ifExists?: boolean;
449
+ };
450
+ //# sourceMappingURL=database-driver.contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/database-driver.contract.ts"],"names":[],"mappings":"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"}