@warlock.js/cascade 4.0.47 → 4.0.58

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 (401) 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 +31 -0
  6. package/cjs/context/database-transaction-context.d.ts.map +1 -0
  7. package/cjs/context/database-transaction-context.js +34 -0
  8. package/cjs/context/database-transaction-context.js.map +1 -0
  9. package/cjs/contracts/database-driver.contract.d.ts +143 -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 +45 -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 +365 -0
  24. package/cjs/contracts/migration-driver.contract.d.ts.map +1 -0
  25. package/cjs/contracts/query-builder.contract.d.ts +1128 -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 +104 -0
  30. package/cjs/data-source/data-source-registry.d.ts.map +1 -0
  31. package/cjs/data-source/data-source-registry.js +138 -0
  32. package/cjs/data-source/data-source-registry.js.map +1 -0
  33. package/cjs/data-source/data-source.d.ts +106 -0
  34. package/cjs/data-source/data-source.d.ts.map +1 -0
  35. package/cjs/data-source/data-source.js +77 -0
  36. package/cjs/data-source/data-source.js.map +1 -0
  37. package/cjs/database-dirty-tracker.d.ts +253 -0
  38. package/cjs/database-dirty-tracker.d.ts.map +1 -0
  39. package/cjs/database-dirty-tracker.js +389 -0
  40. package/cjs/database-dirty-tracker.js.map +1 -0
  41. package/cjs/drivers/mongo/mongo-id-generator.d.ts +116 -0
  42. package/cjs/drivers/mongo/mongo-id-generator.d.ts.map +1 -0
  43. package/cjs/drivers/mongo/mongo-id-generator.js +149 -0
  44. package/cjs/drivers/mongo/mongo-id-generator.js.map +1 -0
  45. package/cjs/drivers/mongo/mongo-migration-driver.d.ts +228 -0
  46. package/cjs/drivers/mongo/mongo-migration-driver.d.ts.map +1 -0
  47. package/cjs/drivers/mongo/mongo-migration-driver.js +524 -0
  48. package/cjs/drivers/mongo/mongo-migration-driver.js.map +1 -0
  49. package/cjs/drivers/mongo/mongo-query-builder.d.ts +922 -0
  50. package/cjs/drivers/mongo/mongo-query-builder.d.ts.map +1 -0
  51. package/cjs/drivers/mongo/mongo-query-builder.js +1740 -0
  52. package/cjs/drivers/mongo/mongo-query-builder.js.map +1 -0
  53. package/cjs/drivers/mongo/mongo-query-operations.d.ts +226 -0
  54. package/cjs/drivers/mongo/mongo-query-operations.d.ts.map +1 -0
  55. package/cjs/drivers/mongo/mongo-query-operations.js +270 -0
  56. package/cjs/drivers/mongo/mongo-query-operations.js.map +1 -0
  57. package/cjs/drivers/mongo/mongo-query-parser.d.ts +262 -0
  58. package/cjs/drivers/mongo/mongo-query-parser.d.ts.map +1 -0
  59. package/cjs/drivers/mongo/mongo-query-parser.js +1351 -0
  60. package/cjs/drivers/mongo/mongo-query-parser.js.map +1 -0
  61. package/cjs/drivers/mongo/mongo-sync-adapter.d.ts +79 -0
  62. package/cjs/drivers/mongo/mongo-sync-adapter.d.ts.map +1 -0
  63. package/cjs/drivers/mongo/mongo-sync-adapter.js +146 -0
  64. package/cjs/drivers/mongo/mongo-sync-adapter.js.map +1 -0
  65. package/cjs/drivers/mongo/mongodb-blueprint.d.ts +30 -0
  66. package/cjs/drivers/mongo/mongodb-blueprint.d.ts.map +1 -0
  67. package/cjs/drivers/mongo/mongodb-blueprint.js +51 -0
  68. package/cjs/drivers/mongo/mongodb-blueprint.js.map +1 -0
  69. package/cjs/drivers/mongo/mongodb-driver.d.ts +188 -0
  70. package/cjs/drivers/mongo/mongodb-driver.d.ts.map +1 -0
  71. package/cjs/drivers/mongo/mongodb-driver.js +411 -0
  72. package/cjs/drivers/mongo/mongodb-driver.js.map +1 -0
  73. package/cjs/drivers/mongo/types.d.ts +43 -0
  74. package/cjs/drivers/mongo/types.d.ts.map +1 -0
  75. package/cjs/errors/missing-data-source.error.d.ts +22 -0
  76. package/cjs/errors/missing-data-source.error.d.ts.map +1 -0
  77. package/cjs/errors/missing-data-source.error.js +29 -0
  78. package/cjs/errors/missing-data-source.error.js.map +1 -0
  79. package/cjs/events/model-events.d.ts +231 -0
  80. package/cjs/events/model-events.d.ts.map +1 -0
  81. package/cjs/events/model-events.js +259 -0
  82. package/cjs/events/model-events.js.map +1 -0
  83. package/cjs/expressions/aggregate-expressions.d.ts +215 -0
  84. package/cjs/expressions/aggregate-expressions.d.ts.map +1 -0
  85. package/cjs/expressions/aggregate-expressions.js +221 -0
  86. package/cjs/expressions/aggregate-expressions.js.map +1 -0
  87. package/cjs/expressions/index.d.ts +2 -0
  88. package/cjs/expressions/index.d.ts.map +1 -0
  89. package/cjs/index.d.ts +41 -0
  90. package/cjs/index.d.ts.map +1 -0
  91. package/cjs/index.js +1 -267
  92. package/cjs/index.js.map +1 -1
  93. package/cjs/migration/column-builder.d.ts +167 -0
  94. package/cjs/migration/column-builder.d.ts.map +1 -0
  95. package/cjs/migration/column-builder.js +217 -0
  96. package/cjs/migration/column-builder.js.map +1 -0
  97. package/cjs/migration/foreign-key-builder.d.ts +110 -0
  98. package/cjs/migration/foreign-key-builder.d.ts.map +1 -0
  99. package/cjs/migration/foreign-key-builder.js +129 -0
  100. package/cjs/migration/foreign-key-builder.js.map +1 -0
  101. package/cjs/migration/index.d.ts +6 -0
  102. package/cjs/migration/index.d.ts.map +1 -0
  103. package/cjs/migration/migration-runner.d.ts +231 -0
  104. package/cjs/migration/migration-runner.d.ts.map +1 -0
  105. package/cjs/migration/migration-runner.js +443 -0
  106. package/cjs/migration/migration-runner.js.map +1 -0
  107. package/cjs/migration/migration.js +1346 -0
  108. package/cjs/migration/migration.js.map +1 -0
  109. package/cjs/migration/types.d.ts +132 -0
  110. package/cjs/migration/types.d.ts.map +1 -0
  111. package/cjs/model/model.d.ts +1267 -0
  112. package/cjs/model/model.d.ts.map +1 -0
  113. package/cjs/model/model.js +1463 -0
  114. package/cjs/model/model.js.map +1 -0
  115. package/cjs/model/register-model.d.ts +80 -0
  116. package/cjs/model/register-model.d.ts.map +1 -0
  117. package/cjs/model/register-model.js +91 -0
  118. package/cjs/model/register-model.js.map +1 -0
  119. package/cjs/remover/database-remover.d.ts +100 -0
  120. package/cjs/remover/database-remover.d.ts.map +1 -0
  121. package/cjs/remover/database-remover.js +209 -0
  122. package/cjs/remover/database-remover.js.map +1 -0
  123. package/cjs/restorer/database-restorer.d.ts +131 -0
  124. package/cjs/restorer/database-restorer.d.ts.map +1 -0
  125. package/cjs/restorer/database-restorer.js +425 -0
  126. package/cjs/restorer/database-restorer.js.map +1 -0
  127. package/cjs/sync/index.d.ts +12 -0
  128. package/cjs/sync/index.d.ts.map +1 -0
  129. package/cjs/sync/model-events.d.ts +62 -0
  130. package/cjs/sync/model-events.d.ts.map +1 -0
  131. package/cjs/sync/model-events.js +49 -0
  132. package/cjs/sync/model-events.js.map +1 -0
  133. package/cjs/sync/model-sync-operation.d.ts +163 -0
  134. package/cjs/sync/model-sync-operation.d.ts.map +1 -0
  135. package/cjs/sync/model-sync-operation.js +292 -0
  136. package/cjs/sync/model-sync-operation.js.map +1 -0
  137. package/cjs/sync/model-sync.d.ts +130 -0
  138. package/cjs/sync/model-sync.d.ts.map +1 -0
  139. package/cjs/sync/model-sync.js +178 -0
  140. package/cjs/sync/model-sync.js.map +1 -0
  141. package/cjs/sync/sync-context.d.ts +70 -0
  142. package/cjs/sync/sync-context.d.ts.map +1 -0
  143. package/cjs/sync/sync-context.js +101 -0
  144. package/cjs/sync/sync-context.js.map +1 -0
  145. package/cjs/sync/sync-manager.d.ts +213 -0
  146. package/cjs/sync/sync-manager.d.ts.map +1 -0
  147. package/cjs/sync/sync-manager.js +689 -0
  148. package/cjs/sync/sync-manager.js.map +1 -0
  149. package/cjs/sync/types.d.ts +289 -0
  150. package/cjs/sync/types.d.ts.map +1 -0
  151. package/cjs/types.d.ts +45 -0
  152. package/cjs/types.d.ts.map +1 -0
  153. package/cjs/utils/connect-to-database.d.ts +246 -0
  154. package/cjs/utils/connect-to-database.d.ts.map +1 -0
  155. package/cjs/utils/connect-to-database.js +92 -0
  156. package/cjs/utils/connect-to-database.js.map +1 -0
  157. package/cjs/utils/database-writer.utils.d.ts +15 -0
  158. package/cjs/utils/database-writer.utils.d.ts.map +1 -0
  159. package/cjs/utils/database-writer.utils.js +14 -0
  160. package/cjs/utils/database-writer.utils.js.map +1 -0
  161. package/cjs/utils/define-model.js +100 -0
  162. package/cjs/utils/define-model.js.map +1 -0
  163. package/cjs/utils/once-connected.d.ts +146 -0
  164. package/cjs/utils/once-connected.d.ts.map +1 -0
  165. package/cjs/utils/once-connected.js +252 -0
  166. package/cjs/utils/once-connected.js.map +1 -0
  167. package/cjs/validation/database-seal-plugins.d.ts +2 -0
  168. package/cjs/validation/database-seal-plugins.d.ts.map +1 -0
  169. package/cjs/validation/database-seal-plugins.js +4 -0
  170. package/cjs/validation/database-seal-plugins.js.map +1 -0
  171. package/cjs/validation/database-writer-validation-error.d.ts +97 -0
  172. package/cjs/validation/database-writer-validation-error.d.ts.map +1 -0
  173. package/cjs/validation/database-writer-validation-error.js +160 -0
  174. package/cjs/validation/database-writer-validation-error.js.map +1 -0
  175. package/cjs/validation/index.d.ts +3 -0
  176. package/cjs/validation/index.d.ts.map +1 -0
  177. package/cjs/validation/mutators/embed-mutator.d.ts +9 -0
  178. package/cjs/validation/mutators/embed-mutator.d.ts.map +1 -0
  179. package/cjs/validation/mutators/embed-mutator.js +33 -0
  180. package/cjs/validation/mutators/embed-mutator.js.map +1 -0
  181. package/cjs/validation/plugins/embed-validator-plugin.d.ts +24 -0
  182. package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
  183. package/cjs/validation/plugins/embed-validator-plugin.js +18 -0
  184. package/cjs/validation/plugins/embed-validator-plugin.js.map +1 -0
  185. package/cjs/validation/rules/database-model-rule.d.ts +7 -0
  186. package/cjs/validation/rules/database-model-rule.d.ts.map +1 -0
  187. package/cjs/validation/rules/database-model-rule.js +27 -0
  188. package/cjs/validation/rules/database-model-rule.js.map +1 -0
  189. package/cjs/validation/transformers/embed-model-transformer.d.ts +3 -0
  190. package/cjs/validation/transformers/embed-model-transformer.d.ts.map +1 -0
  191. package/cjs/validation/transformers/embed-model-transformer.js +18 -0
  192. package/cjs/validation/transformers/embed-model-transformer.js.map +1 -0
  193. package/cjs/validation/validators/embed-validator.d.ts +21 -0
  194. package/cjs/validation/validators/embed-validator.d.ts.map +1 -0
  195. package/cjs/validation/validators/embed-validator.js +42 -0
  196. package/cjs/validation/validators/embed-validator.js.map +1 -0
  197. package/cjs/writer/database-writer.d.ts +181 -0
  198. package/cjs/writer/database-writer.d.ts.map +1 -0
  199. package/cjs/writer/database-writer.js +402 -0
  200. package/cjs/writer/database-writer.js.map +1 -0
  201. package/esm/context/database-data-source-context.d.ts +29 -0
  202. package/esm/context/database-data-source-context.d.ts.map +1 -0
  203. package/esm/context/database-data-source-context.js +28 -0
  204. package/esm/context/database-data-source-context.js.map +1 -0
  205. package/esm/context/database-transaction-context.d.ts +31 -0
  206. package/esm/context/database-transaction-context.d.ts.map +1 -0
  207. package/esm/context/database-transaction-context.js +34 -0
  208. package/esm/context/database-transaction-context.js.map +1 -0
  209. package/esm/contracts/database-driver.contract.d.ts +143 -0
  210. package/esm/contracts/database-driver.contract.d.ts.map +1 -0
  211. package/esm/contracts/database-id-generator.contract.d.ts +109 -0
  212. package/esm/contracts/database-id-generator.contract.d.ts.map +1 -0
  213. package/esm/contracts/database-remover.contract.d.ts +104 -0
  214. package/esm/contracts/database-remover.contract.d.ts.map +1 -0
  215. package/esm/contracts/database-restorer.contract.d.ts +143 -0
  216. package/esm/contracts/database-restorer.contract.d.ts.map +1 -0
  217. package/esm/contracts/database-writer.contract.d.ts +119 -0
  218. package/esm/contracts/database-writer.contract.d.ts.map +1 -0
  219. package/esm/contracts/driver-blueprint.contract.d.ts +45 -0
  220. package/esm/contracts/driver-blueprint.contract.d.ts.map +1 -0
  221. package/esm/contracts/index.d.ts +10 -0
  222. package/esm/contracts/index.d.ts.map +1 -0
  223. package/esm/contracts/migration-driver.contract.d.ts +365 -0
  224. package/esm/contracts/migration-driver.contract.d.ts.map +1 -0
  225. package/esm/contracts/query-builder.contract.d.ts +1128 -0
  226. package/esm/contracts/query-builder.contract.d.ts.map +1 -0
  227. package/esm/contracts/sync-adapter.contract.d.ts +58 -0
  228. package/esm/contracts/sync-adapter.contract.d.ts.map +1 -0
  229. package/esm/data-source/data-source-registry.d.ts +104 -0
  230. package/esm/data-source/data-source-registry.d.ts.map +1 -0
  231. package/esm/data-source/data-source-registry.js +138 -0
  232. package/esm/data-source/data-source-registry.js.map +1 -0
  233. package/esm/data-source/data-source.d.ts +106 -0
  234. package/esm/data-source/data-source.d.ts.map +1 -0
  235. package/esm/data-source/data-source.js +77 -0
  236. package/esm/data-source/data-source.js.map +1 -0
  237. package/esm/database-dirty-tracker.d.ts +253 -0
  238. package/esm/database-dirty-tracker.d.ts.map +1 -0
  239. package/esm/database-dirty-tracker.js +389 -0
  240. package/esm/database-dirty-tracker.js.map +1 -0
  241. package/esm/drivers/mongo/mongo-id-generator.d.ts +116 -0
  242. package/esm/drivers/mongo/mongo-id-generator.d.ts.map +1 -0
  243. package/esm/drivers/mongo/mongo-id-generator.js +149 -0
  244. package/esm/drivers/mongo/mongo-id-generator.js.map +1 -0
  245. package/esm/drivers/mongo/mongo-migration-driver.d.ts +228 -0
  246. package/esm/drivers/mongo/mongo-migration-driver.d.ts.map +1 -0
  247. package/esm/drivers/mongo/mongo-migration-driver.js +524 -0
  248. package/esm/drivers/mongo/mongo-migration-driver.js.map +1 -0
  249. package/esm/drivers/mongo/mongo-query-builder.d.ts +922 -0
  250. package/esm/drivers/mongo/mongo-query-builder.d.ts.map +1 -0
  251. package/esm/drivers/mongo/mongo-query-builder.js +1740 -0
  252. package/esm/drivers/mongo/mongo-query-builder.js.map +1 -0
  253. package/esm/drivers/mongo/mongo-query-operations.d.ts +226 -0
  254. package/esm/drivers/mongo/mongo-query-operations.d.ts.map +1 -0
  255. package/esm/drivers/mongo/mongo-query-operations.js +270 -0
  256. package/esm/drivers/mongo/mongo-query-operations.js.map +1 -0
  257. package/esm/drivers/mongo/mongo-query-parser.d.ts +262 -0
  258. package/esm/drivers/mongo/mongo-query-parser.d.ts.map +1 -0
  259. package/esm/drivers/mongo/mongo-query-parser.js +1351 -0
  260. package/esm/drivers/mongo/mongo-query-parser.js.map +1 -0
  261. package/esm/drivers/mongo/mongo-sync-adapter.d.ts +79 -0
  262. package/esm/drivers/mongo/mongo-sync-adapter.d.ts.map +1 -0
  263. package/esm/drivers/mongo/mongo-sync-adapter.js +146 -0
  264. package/esm/drivers/mongo/mongo-sync-adapter.js.map +1 -0
  265. package/esm/drivers/mongo/mongodb-blueprint.d.ts +30 -0
  266. package/esm/drivers/mongo/mongodb-blueprint.d.ts.map +1 -0
  267. package/esm/drivers/mongo/mongodb-blueprint.js +51 -0
  268. package/esm/drivers/mongo/mongodb-blueprint.js.map +1 -0
  269. package/esm/drivers/mongo/mongodb-driver.d.ts +188 -0
  270. package/esm/drivers/mongo/mongodb-driver.d.ts.map +1 -0
  271. package/esm/drivers/mongo/mongodb-driver.js +411 -0
  272. package/esm/drivers/mongo/mongodb-driver.js.map +1 -0
  273. package/esm/drivers/mongo/types.d.ts +43 -0
  274. package/esm/drivers/mongo/types.d.ts.map +1 -0
  275. package/esm/errors/missing-data-source.error.d.ts +22 -0
  276. package/esm/errors/missing-data-source.error.d.ts.map +1 -0
  277. package/esm/errors/missing-data-source.error.js +29 -0
  278. package/esm/errors/missing-data-source.error.js.map +1 -0
  279. package/esm/events/model-events.d.ts +231 -0
  280. package/esm/events/model-events.d.ts.map +1 -0
  281. package/esm/events/model-events.js +259 -0
  282. package/esm/events/model-events.js.map +1 -0
  283. package/esm/expressions/aggregate-expressions.d.ts +215 -0
  284. package/esm/expressions/aggregate-expressions.d.ts.map +1 -0
  285. package/esm/expressions/aggregate-expressions.js +221 -0
  286. package/esm/expressions/aggregate-expressions.js.map +1 -0
  287. package/esm/expressions/index.d.ts +2 -0
  288. package/esm/expressions/index.d.ts.map +1 -0
  289. package/esm/index.d.ts +41 -0
  290. package/esm/index.d.ts.map +1 -0
  291. package/esm/index.js +1 -40
  292. package/esm/index.js.map +1 -1
  293. package/esm/migration/column-builder.d.ts +167 -0
  294. package/esm/migration/column-builder.d.ts.map +1 -0
  295. package/esm/migration/column-builder.js +217 -0
  296. package/esm/migration/column-builder.js.map +1 -0
  297. package/esm/migration/foreign-key-builder.d.ts +110 -0
  298. package/esm/migration/foreign-key-builder.d.ts.map +1 -0
  299. package/esm/migration/foreign-key-builder.js +129 -0
  300. package/esm/migration/foreign-key-builder.js.map +1 -0
  301. package/esm/migration/index.d.ts +6 -0
  302. package/esm/migration/index.d.ts.map +1 -0
  303. package/esm/migration/migration-runner.d.ts +231 -0
  304. package/esm/migration/migration-runner.d.ts.map +1 -0
  305. package/esm/migration/migration-runner.js +443 -0
  306. package/esm/migration/migration-runner.js.map +1 -0
  307. package/esm/migration/migration.js +1346 -0
  308. package/esm/migration/migration.js.map +1 -0
  309. package/esm/migration/types.d.ts +132 -0
  310. package/esm/migration/types.d.ts.map +1 -0
  311. package/esm/model/model.d.ts +1267 -0
  312. package/esm/model/model.d.ts.map +1 -0
  313. package/esm/model/model.js +1463 -0
  314. package/esm/model/model.js.map +1 -0
  315. package/esm/model/register-model.d.ts +80 -0
  316. package/esm/model/register-model.d.ts.map +1 -0
  317. package/esm/model/register-model.js +91 -0
  318. package/esm/model/register-model.js.map +1 -0
  319. package/esm/remover/database-remover.d.ts +100 -0
  320. package/esm/remover/database-remover.d.ts.map +1 -0
  321. package/esm/remover/database-remover.js +209 -0
  322. package/esm/remover/database-remover.js.map +1 -0
  323. package/esm/restorer/database-restorer.d.ts +131 -0
  324. package/esm/restorer/database-restorer.d.ts.map +1 -0
  325. package/esm/restorer/database-restorer.js +425 -0
  326. package/esm/restorer/database-restorer.js.map +1 -0
  327. package/esm/sync/index.d.ts +12 -0
  328. package/esm/sync/index.d.ts.map +1 -0
  329. package/esm/sync/model-events.d.ts +62 -0
  330. package/esm/sync/model-events.d.ts.map +1 -0
  331. package/esm/sync/model-events.js +49 -0
  332. package/esm/sync/model-events.js.map +1 -0
  333. package/esm/sync/model-sync-operation.d.ts +163 -0
  334. package/esm/sync/model-sync-operation.d.ts.map +1 -0
  335. package/esm/sync/model-sync-operation.js +292 -0
  336. package/esm/sync/model-sync-operation.js.map +1 -0
  337. package/esm/sync/model-sync.d.ts +130 -0
  338. package/esm/sync/model-sync.d.ts.map +1 -0
  339. package/esm/sync/model-sync.js +178 -0
  340. package/esm/sync/model-sync.js.map +1 -0
  341. package/esm/sync/sync-context.d.ts +70 -0
  342. package/esm/sync/sync-context.d.ts.map +1 -0
  343. package/esm/sync/sync-context.js +101 -0
  344. package/esm/sync/sync-context.js.map +1 -0
  345. package/esm/sync/sync-manager.d.ts +213 -0
  346. package/esm/sync/sync-manager.d.ts.map +1 -0
  347. package/esm/sync/sync-manager.js +689 -0
  348. package/esm/sync/sync-manager.js.map +1 -0
  349. package/esm/sync/types.d.ts +289 -0
  350. package/esm/sync/types.d.ts.map +1 -0
  351. package/esm/types.d.ts +45 -0
  352. package/esm/types.d.ts.map +1 -0
  353. package/esm/utils/connect-to-database.d.ts +246 -0
  354. package/esm/utils/connect-to-database.d.ts.map +1 -0
  355. package/esm/utils/connect-to-database.js +92 -0
  356. package/esm/utils/connect-to-database.js.map +1 -0
  357. package/esm/utils/database-writer.utils.d.ts +15 -0
  358. package/esm/utils/database-writer.utils.d.ts.map +1 -0
  359. package/esm/utils/database-writer.utils.js +14 -0
  360. package/esm/utils/database-writer.utils.js.map +1 -0
  361. package/esm/utils/define-model.js +100 -0
  362. package/esm/utils/define-model.js.map +1 -0
  363. package/esm/utils/once-connected.d.ts +146 -0
  364. package/esm/utils/once-connected.d.ts.map +1 -0
  365. package/esm/utils/once-connected.js +252 -0
  366. package/esm/utils/once-connected.js.map +1 -0
  367. package/esm/validation/database-seal-plugins.d.ts +2 -0
  368. package/esm/validation/database-seal-plugins.d.ts.map +1 -0
  369. package/esm/validation/database-seal-plugins.js +4 -0
  370. package/esm/validation/database-seal-plugins.js.map +1 -0
  371. package/esm/validation/database-writer-validation-error.d.ts +97 -0
  372. package/esm/validation/database-writer-validation-error.d.ts.map +1 -0
  373. package/esm/validation/database-writer-validation-error.js +160 -0
  374. package/esm/validation/database-writer-validation-error.js.map +1 -0
  375. package/esm/validation/index.d.ts +3 -0
  376. package/esm/validation/index.d.ts.map +1 -0
  377. package/esm/validation/mutators/embed-mutator.d.ts +9 -0
  378. package/esm/validation/mutators/embed-mutator.d.ts.map +1 -0
  379. package/esm/validation/mutators/embed-mutator.js +33 -0
  380. package/esm/validation/mutators/embed-mutator.js.map +1 -0
  381. package/esm/validation/plugins/embed-validator-plugin.d.ts +24 -0
  382. package/esm/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
  383. package/esm/validation/plugins/embed-validator-plugin.js +18 -0
  384. package/esm/validation/plugins/embed-validator-plugin.js.map +1 -0
  385. package/esm/validation/rules/database-model-rule.d.ts +7 -0
  386. package/esm/validation/rules/database-model-rule.d.ts.map +1 -0
  387. package/esm/validation/rules/database-model-rule.js +27 -0
  388. package/esm/validation/rules/database-model-rule.js.map +1 -0
  389. package/esm/validation/transformers/embed-model-transformer.d.ts +3 -0
  390. package/esm/validation/transformers/embed-model-transformer.d.ts.map +1 -0
  391. package/esm/validation/transformers/embed-model-transformer.js +18 -0
  392. package/esm/validation/transformers/embed-model-transformer.js.map +1 -0
  393. package/esm/validation/validators/embed-validator.d.ts +21 -0
  394. package/esm/validation/validators/embed-validator.d.ts.map +1 -0
  395. package/esm/validation/validators/embed-validator.js +42 -0
  396. package/esm/validation/validators/embed-validator.js.map +1 -0
  397. package/esm/writer/database-writer.d.ts +181 -0
  398. package/esm/writer/database-writer.d.ts.map +1 -0
  399. package/esm/writer/database-writer.js +402 -0
  400. package/esm/writer/database-writer.js.map +1 -0
  401. package/package.json +61 -52
@@ -0,0 +1,167 @@
1
+ import type { ColumnDefinition, ColumnType } from "../contracts/migration-driver.contract";
2
+ /**
3
+ * Reference to the Migration type to avoid circular imports.
4
+ * The actual type is injected at runtime.
5
+ */
6
+ type MigrationLike = {
7
+ addPendingIndex(index: {
8
+ columns: string[];
9
+ unique?: boolean;
10
+ }): void;
11
+ };
12
+ /**
13
+ * Fluent builder for defining column properties.
14
+ *
15
+ * Allows chaining modifiers like `.nullable()`, `.unique()`, `.default()`.
16
+ * Each column builder is bound to a parent migration and accumulates
17
+ * the column definition through method chains.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * this.string("email")
22
+ * .nullable()
23
+ * .unique()
24
+ * .default("guest@example.com");
25
+ * ```
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * this.integer("age")
30
+ * .unsigned()
31
+ * .comment("User's age in years");
32
+ * ```
33
+ */
34
+ export declare class ColumnBuilder {
35
+ private readonly migration;
36
+ /** Mutable column definition being accumulated */
37
+ private readonly definition;
38
+ /**
39
+ * Create a new column builder.
40
+ *
41
+ * @param migration - Parent migration instance for index registration
42
+ * @param name - Column name
43
+ * @param type - Column data type
44
+ * @param options - Optional initial configuration
45
+ */
46
+ constructor(migration: MigrationLike, name: string, type: ColumnType, options?: Partial<Pick<ColumnDefinition, "length" | "precision" | "scale" | "dimensions" | "values">>);
47
+ /**
48
+ * Mark column as nullable (allows NULL values).
49
+ *
50
+ * @returns This builder for chaining
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * this.string("middleName").nullable();
55
+ * ```
56
+ */
57
+ nullable(): this;
58
+ /**
59
+ * Mark column as not nullable (disallows NULL values).
60
+ *
61
+ * This is the default, but can be used for clarity.
62
+ *
63
+ * @returns This builder for chaining
64
+ */
65
+ notNullable(): this;
66
+ /**
67
+ * Set default value for the column.
68
+ *
69
+ * @param value - Default value (can be a literal or expression)
70
+ * @returns This builder for chaining
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * this.boolean("isActive").default(true);
75
+ * this.dateTime("createdAt").default("NOW()");
76
+ * ```
77
+ */
78
+ default(value: unknown): this;
79
+ /**
80
+ * Add unique constraint/index on this column.
81
+ *
82
+ * Registers a pending unique index with the parent migration.
83
+ *
84
+ * @returns This builder for chaining
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * this.string("email").unique();
89
+ * ```
90
+ */
91
+ unique(): this;
92
+ /**
93
+ * Add regular index on this column.
94
+ *
95
+ * Registers a pending index with the parent migration.
96
+ *
97
+ * @returns This builder for chaining
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * this.string("email").index();
102
+ * ```
103
+ */
104
+ index(): this;
105
+ /**
106
+ * Mark as primary key.
107
+ *
108
+ * @returns This builder for chaining
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * this.integer("id").primary();
113
+ * ```
114
+ */
115
+ primary(): this;
116
+ /**
117
+ * Mark as auto-increment (numeric types only).
118
+ *
119
+ * SQL databases will use native AUTO_INCREMENT/SERIAL.
120
+ * NoSQL databases ignore this.
121
+ *
122
+ * @returns This builder for chaining
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * this.integer("id").primary().autoIncrement();
127
+ * ```
128
+ */
129
+ autoIncrement(): this;
130
+ /**
131
+ * Mark as unsigned (numeric types only).
132
+ *
133
+ * Disallows negative values and doubles the positive range.
134
+ *
135
+ * @returns This builder for chaining
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * this.integer("age").unsigned();
140
+ * ```
141
+ */
142
+ unsigned(): this;
143
+ /**
144
+ * Add comment/description to column.
145
+ *
146
+ * Stored as column metadata in the database.
147
+ *
148
+ * @param text - Comment text
149
+ * @returns This builder for chaining
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * this.string("sku").comment("Stock Keeping Unit code");
154
+ * ```
155
+ */
156
+ comment(text: string): this;
157
+ /**
158
+ * Get the built column definition.
159
+ *
160
+ * Called internally by the Migration class to extract the final definition.
161
+ *
162
+ * @returns The accumulated column definition
163
+ */
164
+ getDefinition(): ColumnDefinition;
165
+ }
166
+ export {};
167
+ //# sourceMappingURL=column-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-builder.d.ts","sourceRoot":"","sources":["../../src/migration/column-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAE3F;;;GAGG;AACH,KAAK,aAAa,GAAG;IACnB,eAAe,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACvE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAa;IAatB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAZ5B,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C;;;;;;;OAOG;gBAEgB,SAAS,EAAE,aAAa,EACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,OAAO,CACd,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC,CAC9E;IAcR;;;;;;;;;OASG;IACI,QAAQ,IAAI,IAAI;IAKvB;;;;;;OAMG;IACI,WAAW,IAAI,IAAI;IAS1B;;;;;;;;;;;OAWG;IACI,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IASpC;;;;;;;;;;;OAWG;IACI,MAAM,IAAI,IAAI;IAQrB;;;;;;;;;;;OAWG;IACI,KAAK,IAAI,IAAI;IAWpB;;;;;;;;;OASG;IACI,OAAO,IAAI,IAAI;IAKtB;;;;;;;;;;;;OAYG;IACI,aAAa,IAAI,IAAI;IAS5B;;;;;;;;;;;OAWG;IACI,QAAQ,IAAI,IAAI;IASvB;;;;;;;;;;;;OAYG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IASlC;;;;;;OAMG;IACI,aAAa,IAAI,gBAAgB;CAGzC"}
@@ -0,0 +1,217 @@
1
+ /**
2
+ * Fluent builder for defining column properties.
3
+ *
4
+ * Allows chaining modifiers like `.nullable()`, `.unique()`, `.default()`.
5
+ * Each column builder is bound to a parent migration and accumulates
6
+ * the column definition through method chains.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * this.string("email")
11
+ * .nullable()
12
+ * .unique()
13
+ * .default("guest@example.com");
14
+ * ```
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * this.integer("age")
19
+ * .unsigned()
20
+ * .comment("User's age in years");
21
+ * ```
22
+ */
23
+ class ColumnBuilder {
24
+ migration;
25
+ /** Mutable column definition being accumulated */
26
+ definition;
27
+ /**
28
+ * Create a new column builder.
29
+ *
30
+ * @param migration - Parent migration instance for index registration
31
+ * @param name - Column name
32
+ * @param type - Column data type
33
+ * @param options - Optional initial configuration
34
+ */
35
+ constructor(migration, name, type, options = {}) {
36
+ this.migration = migration;
37
+ this.definition = {
38
+ name,
39
+ type,
40
+ nullable: false,
41
+ ...options,
42
+ };
43
+ }
44
+ // ============================================================================
45
+ // NULLABILITY
46
+ // ============================================================================
47
+ /**
48
+ * Mark column as nullable (allows NULL values).
49
+ *
50
+ * @returns This builder for chaining
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * this.string("middleName").nullable();
55
+ * ```
56
+ */
57
+ nullable() {
58
+ this.definition.nullable = true;
59
+ return this;
60
+ }
61
+ /**
62
+ * Mark column as not nullable (disallows NULL values).
63
+ *
64
+ * This is the default, but can be used for clarity.
65
+ *
66
+ * @returns This builder for chaining
67
+ */
68
+ notNullable() {
69
+ this.definition.nullable = false;
70
+ return this;
71
+ }
72
+ // ============================================================================
73
+ // DEFAULT VALUES
74
+ // ============================================================================
75
+ /**
76
+ * Set default value for the column.
77
+ *
78
+ * @param value - Default value (can be a literal or expression)
79
+ * @returns This builder for chaining
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * this.boolean("isActive").default(true);
84
+ * this.dateTime("createdAt").default("NOW()");
85
+ * ```
86
+ */
87
+ default(value) {
88
+ this.definition.defaultValue = value;
89
+ return this;
90
+ }
91
+ // ============================================================================
92
+ // INDEXES
93
+ // ============================================================================
94
+ /**
95
+ * Add unique constraint/index on this column.
96
+ *
97
+ * Registers a pending unique index with the parent migration.
98
+ *
99
+ * @returns This builder for chaining
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * this.string("email").unique();
104
+ * ```
105
+ */
106
+ unique() {
107
+ this.migration.addPendingIndex({
108
+ columns: [this.definition.name],
109
+ unique: true,
110
+ });
111
+ return this;
112
+ }
113
+ /**
114
+ * Add regular index on this column.
115
+ *
116
+ * Registers a pending index with the parent migration.
117
+ *
118
+ * @returns This builder for chaining
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * this.string("email").index();
123
+ * ```
124
+ */
125
+ index() {
126
+ this.migration.addPendingIndex({
127
+ columns: [this.definition.name],
128
+ });
129
+ return this;
130
+ }
131
+ // ============================================================================
132
+ // PRIMARY KEY & AUTO INCREMENT
133
+ // ============================================================================
134
+ /**
135
+ * Mark as primary key.
136
+ *
137
+ * @returns This builder for chaining
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * this.integer("id").primary();
142
+ * ```
143
+ */
144
+ primary() {
145
+ this.definition.primary = true;
146
+ return this;
147
+ }
148
+ /**
149
+ * Mark as auto-increment (numeric types only).
150
+ *
151
+ * SQL databases will use native AUTO_INCREMENT/SERIAL.
152
+ * NoSQL databases ignore this.
153
+ *
154
+ * @returns This builder for chaining
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * this.integer("id").primary().autoIncrement();
159
+ * ```
160
+ */
161
+ autoIncrement() {
162
+ this.definition.autoIncrement = true;
163
+ return this;
164
+ }
165
+ // ============================================================================
166
+ // NUMERIC MODIFIERS
167
+ // ============================================================================
168
+ /**
169
+ * Mark as unsigned (numeric types only).
170
+ *
171
+ * Disallows negative values and doubles the positive range.
172
+ *
173
+ * @returns This builder for chaining
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * this.integer("age").unsigned();
178
+ * ```
179
+ */
180
+ unsigned() {
181
+ this.definition.unsigned = true;
182
+ return this;
183
+ }
184
+ // ============================================================================
185
+ // METADATA
186
+ // ============================================================================
187
+ /**
188
+ * Add comment/description to column.
189
+ *
190
+ * Stored as column metadata in the database.
191
+ *
192
+ * @param text - Comment text
193
+ * @returns This builder for chaining
194
+ *
195
+ * @example
196
+ * ```typescript
197
+ * this.string("sku").comment("Stock Keeping Unit code");
198
+ * ```
199
+ */
200
+ comment(text) {
201
+ this.definition.comment = text;
202
+ return this;
203
+ }
204
+ // ============================================================================
205
+ // ACCESSOR
206
+ // ============================================================================
207
+ /**
208
+ * Get the built column definition.
209
+ *
210
+ * Called internally by the Migration class to extract the final definition.
211
+ *
212
+ * @returns The accumulated column definition
213
+ */
214
+ getDefinition() {
215
+ return this.definition;
216
+ }
217
+ }export{ColumnBuilder};//# sourceMappingURL=column-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-builder.js","sources":["../../src/migration/column-builder.ts"],"sourcesContent":[null],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;AAqBG;MACU,aAAa,CAAA;AAaL,IAAA,SAAA,CAAA;;AAXF,IAAA,UAAU,CAAmB;AAE9C;;;;;;;AAOG;AACH,IAAA,WAAA,CACmB,SAAwB,EACzC,IAAY,EACZ,IAAgB,EAChB,UAEI,EAAE,EAAA;QALW,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;QAOzC,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI;YACJ,IAAI;AACJ,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,GAAG,OAAO;SACX,CAAC;KACH;;;;AAMD;;;;;;;;;AASG;IACI,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;AAMG;IACI,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;;;;;;;;;;AAWG;AACI,IAAA,OAAO,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;;;;;;;;;;AAWG;IACI,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AAC/B,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;;;AAWG;IACI,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AAChC,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;;;;;;;;AASG;IACI,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC/B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;;;;AAYG;IACI,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;;;;;;;;;;AAWG;IACI,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;;;;;;;;;;;AAYG;AACI,IAAA,OAAO,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC/B,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;;;;;AAMG;IACI,aAAa,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;AACF"}
@@ -0,0 +1,110 @@
1
+ import type { ForeignKeyDefinition } from "../contracts/migration-driver.contract";
2
+ /**
3
+ * Reference to the Migration type to avoid circular imports.
4
+ */
5
+ type MigrationLike = {
6
+ addForeignKeyOperation(fk: ForeignKeyDefinition): void;
7
+ };
8
+ /**
9
+ * Fluent builder for foreign key constraints.
10
+ *
11
+ * Allows building foreign key definitions with a chainable API.
12
+ * SQL-only feature; NoSQL drivers ignore foreign keys.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * this.foreign("user_id")
17
+ * .references("users", "id")
18
+ * .onDelete("cascade")
19
+ * .onUpdate("cascade")
20
+ * .add();
21
+ * ```
22
+ */
23
+ export declare class ForeignKeyBuilder {
24
+ private readonly migration;
25
+ /** Mutable foreign key definition being accumulated */
26
+ private readonly definition;
27
+ /**
28
+ * Create a new foreign key builder.
29
+ *
30
+ * @param migration - Parent migration instance
31
+ * @param column - Local column name that will reference another table
32
+ */
33
+ constructor(migration: MigrationLike, column: string);
34
+ /**
35
+ * Set the constraint name.
36
+ *
37
+ * @param name - Constraint name (auto-generated if not provided)
38
+ * @returns This builder for chaining
39
+ */
40
+ name(name: string): this;
41
+ /**
42
+ * Set the referenced table and column.
43
+ *
44
+ * @param table - Referenced table name
45
+ * @param column - Referenced column name (default: "id")
46
+ * @returns This builder for chaining
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * this.foreign("user_id").references("users", "id");
51
+ * this.foreign("category_id").references("categories"); // defaults to "id"
52
+ * ```
53
+ */
54
+ references(table: string, column?: string): this;
55
+ /**
56
+ * Set the ON DELETE action.
57
+ *
58
+ * @param action - Action to take when referenced row is deleted
59
+ * @returns This builder for chaining
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * this.foreign("user_id")
64
+ * .references("users")
65
+ * .onDelete("cascade"); // Delete child when parent is deleted
66
+ * ```
67
+ */
68
+ onDelete(action: ForeignKeyDefinition["onDelete"]): this;
69
+ /**
70
+ * Set the ON UPDATE action.
71
+ *
72
+ * @param action - Action to take when referenced row's key is updated
73
+ * @returns This builder for chaining
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * this.foreign("user_id")
78
+ * .references("users")
79
+ * .onUpdate("cascade"); // Update child when parent key changes
80
+ * ```
81
+ */
82
+ onUpdate(action: ForeignKeyDefinition["onUpdate"]): this;
83
+ /**
84
+ * Shorthand for `.onDelete("cascade").onUpdate("cascade")`.
85
+ *
86
+ * @returns This builder for chaining
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * this.foreign("user_id").references("users").cascadeAll();
91
+ * ```
92
+ */
93
+ cascadeAll(): this;
94
+ /**
95
+ * Finalize and add the foreign key constraint to the migration.
96
+ *
97
+ * This must be called to register the foreign key.
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * this.foreign("user_id")
102
+ * .references("users")
103
+ * .onDelete("cascade")
104
+ * .add(); // Required!
105
+ * ```
106
+ */
107
+ add(): void;
108
+ }
109
+ export {};
110
+ //# sourceMappingURL=foreign-key-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foreign-key-builder.d.ts","sourceRoot":"","sources":["../../src/migration/foreign-key-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF;;GAEG;AACH,KAAK,aAAa,GAAG;IACnB,sBAAsB,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACxD,CAAC;AAcF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAW1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV5B,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IAEzD;;;;;OAKG;gBAEgB,SAAS,EAAE,aAAa,EACzC,MAAM,EAAE,MAAM;IAWhB;;;;;OAKG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B;;;;;;;;;;;;OAYG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAO,GAAG,IAAI;IAMrD;;;;;;;;;;;;OAYG;IACI,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,IAAI;IAK/D;;;;;;;;;;;;OAYG;IACI,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,IAAI;IAK/D;;;;;;;;;OASG;IACI,UAAU,IAAI,IAAI;IAMzB;;;;;;;;;;;;OAYG;IACI,GAAG,IAAI,IAAI;CAGnB"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Fluent builder for foreign key constraints.
3
+ *
4
+ * Allows building foreign key definitions with a chainable API.
5
+ * SQL-only feature; NoSQL drivers ignore foreign keys.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * this.foreign("user_id")
10
+ * .references("users", "id")
11
+ * .onDelete("cascade")
12
+ * .onUpdate("cascade")
13
+ * .add();
14
+ * ```
15
+ */
16
+ class ForeignKeyBuilder {
17
+ migration;
18
+ /** Mutable foreign key definition being accumulated */
19
+ definition;
20
+ /**
21
+ * Create a new foreign key builder.
22
+ *
23
+ * @param migration - Parent migration instance
24
+ * @param column - Local column name that will reference another table
25
+ */
26
+ constructor(migration, column) {
27
+ this.migration = migration;
28
+ this.definition = {
29
+ column,
30
+ referencesTable: "",
31
+ referencesColumn: "id",
32
+ onDelete: "restrict",
33
+ onUpdate: "restrict",
34
+ };
35
+ }
36
+ /**
37
+ * Set the constraint name.
38
+ *
39
+ * @param name - Constraint name (auto-generated if not provided)
40
+ * @returns This builder for chaining
41
+ */
42
+ name(name) {
43
+ this.definition.name = name;
44
+ return this;
45
+ }
46
+ /**
47
+ * Set the referenced table and column.
48
+ *
49
+ * @param table - Referenced table name
50
+ * @param column - Referenced column name (default: "id")
51
+ * @returns This builder for chaining
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * this.foreign("user_id").references("users", "id");
56
+ * this.foreign("category_id").references("categories"); // defaults to "id"
57
+ * ```
58
+ */
59
+ references(table, column = "id") {
60
+ this.definition.referencesTable = table;
61
+ this.definition.referencesColumn = column;
62
+ return this;
63
+ }
64
+ /**
65
+ * Set the ON DELETE action.
66
+ *
67
+ * @param action - Action to take when referenced row is deleted
68
+ * @returns This builder for chaining
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * this.foreign("user_id")
73
+ * .references("users")
74
+ * .onDelete("cascade"); // Delete child when parent is deleted
75
+ * ```
76
+ */
77
+ onDelete(action) {
78
+ this.definition.onDelete = action;
79
+ return this;
80
+ }
81
+ /**
82
+ * Set the ON UPDATE action.
83
+ *
84
+ * @param action - Action to take when referenced row's key is updated
85
+ * @returns This builder for chaining
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * this.foreign("user_id")
90
+ * .references("users")
91
+ * .onUpdate("cascade"); // Update child when parent key changes
92
+ * ```
93
+ */
94
+ onUpdate(action) {
95
+ this.definition.onUpdate = action;
96
+ return this;
97
+ }
98
+ /**
99
+ * Shorthand for `.onDelete("cascade").onUpdate("cascade")`.
100
+ *
101
+ * @returns This builder for chaining
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * this.foreign("user_id").references("users").cascadeAll();
106
+ * ```
107
+ */
108
+ cascadeAll() {
109
+ this.definition.onDelete = "cascade";
110
+ this.definition.onUpdate = "cascade";
111
+ return this;
112
+ }
113
+ /**
114
+ * Finalize and add the foreign key constraint to the migration.
115
+ *
116
+ * This must be called to register the foreign key.
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * this.foreign("user_id")
121
+ * .references("users")
122
+ * .onDelete("cascade")
123
+ * .add(); // Required!
124
+ * ```
125
+ */
126
+ add() {
127
+ this.migration.addForeignKeyOperation(this.definition);
128
+ }
129
+ }export{ForeignKeyBuilder};//# sourceMappingURL=foreign-key-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foreign-key-builder.js","sources":["../../src/migration/foreign-key-builder.ts"],"sourcesContent":[null],"names":[],"mappings":"AAqBA;;;;;;;;;;;;;;AAcG;MACU,iBAAiB,CAAA;AAWT,IAAA,SAAA,CAAA;;AATF,IAAA,UAAU,CAA8B;AAEzD;;;;;AAKG;IACH,WACmB,CAAA,SAAwB,EACzC,MAAc,EAAA;QADG,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;QAGzC,IAAI,CAAC,UAAU,GAAG;YAChB,MAAM;AACN,YAAA,eAAe,EAAE,EAAE;AACnB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,QAAQ,EAAE,UAAU;SACrB,CAAC;KACH;AAED;;;;;AAKG;AACI,IAAA,IAAI,CAAC,IAAY,EAAA;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,UAAU,CAAC,KAAa,EAAE,MAAM,GAAG,IAAI,EAAA;AAC5C,QAAA,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,MAAM,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,QAAQ,CAAC,MAAwC,EAAA;AACtD,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;;;;AAYG;AACI,IAAA,QAAQ,CAAC,MAAwC,EAAA;AACtD,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;AASG;IACI,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;AACrC,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;;;;AAYG;IACI,GAAG,GAAA;QACR,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAkC,CAAC,CAAC;KAChF;AACF"}
@@ -0,0 +1,6 @@
1
+ export { ColumnBuilder } from "./column-builder";
2
+ export { ForeignKeyBuilder } from "./foreign-key-builder";
3
+ export * from "./migration";
4
+ export * from "./migration-runner";
5
+ export type { MigrationRecord, MigrationResult, MigrationRunnerOptions, MigrationStatus, PendingMigration, RollbackOptions, RunMigrationsOptions, } from "./types";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migration/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AAGnC,YAAY,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,SAAS,CAAC"}