@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.
- package/cjs/context/database-data-source-context.d.ts +29 -0
- package/cjs/context/database-data-source-context.d.ts.map +1 -0
- package/cjs/context/database-data-source-context.js +28 -0
- package/cjs/context/database-data-source-context.js.map +1 -0
- package/cjs/context/database-transaction-context.d.ts +31 -0
- package/cjs/context/database-transaction-context.d.ts.map +1 -0
- package/cjs/context/database-transaction-context.js +34 -0
- package/cjs/context/database-transaction-context.js.map +1 -0
- package/cjs/contracts/database-driver.contract.d.ts +143 -0
- package/cjs/contracts/database-driver.contract.d.ts.map +1 -0
- package/cjs/contracts/database-id-generator.contract.d.ts +109 -0
- package/cjs/contracts/database-id-generator.contract.d.ts.map +1 -0
- package/cjs/contracts/database-remover.contract.d.ts +104 -0
- package/cjs/contracts/database-remover.contract.d.ts.map +1 -0
- package/cjs/contracts/database-restorer.contract.d.ts +143 -0
- package/cjs/contracts/database-restorer.contract.d.ts.map +1 -0
- package/cjs/contracts/database-writer.contract.d.ts +119 -0
- package/cjs/contracts/database-writer.contract.d.ts.map +1 -0
- package/cjs/contracts/driver-blueprint.contract.d.ts +45 -0
- package/cjs/contracts/driver-blueprint.contract.d.ts.map +1 -0
- package/cjs/contracts/index.d.ts +10 -0
- package/cjs/contracts/index.d.ts.map +1 -0
- package/cjs/contracts/migration-driver.contract.d.ts +365 -0
- package/cjs/contracts/migration-driver.contract.d.ts.map +1 -0
- package/cjs/contracts/query-builder.contract.d.ts +1128 -0
- package/cjs/contracts/query-builder.contract.d.ts.map +1 -0
- package/cjs/contracts/sync-adapter.contract.d.ts +58 -0
- package/cjs/contracts/sync-adapter.contract.d.ts.map +1 -0
- package/cjs/data-source/data-source-registry.d.ts +104 -0
- package/cjs/data-source/data-source-registry.d.ts.map +1 -0
- package/cjs/data-source/data-source-registry.js +138 -0
- package/cjs/data-source/data-source-registry.js.map +1 -0
- package/cjs/data-source/data-source.d.ts +106 -0
- package/cjs/data-source/data-source.d.ts.map +1 -0
- package/cjs/data-source/data-source.js +77 -0
- package/cjs/data-source/data-source.js.map +1 -0
- package/cjs/database-dirty-tracker.d.ts +253 -0
- package/cjs/database-dirty-tracker.d.ts.map +1 -0
- package/cjs/database-dirty-tracker.js +389 -0
- package/cjs/database-dirty-tracker.js.map +1 -0
- package/cjs/drivers/mongo/mongo-id-generator.d.ts +116 -0
- package/cjs/drivers/mongo/mongo-id-generator.d.ts.map +1 -0
- package/cjs/drivers/mongo/mongo-id-generator.js +149 -0
- package/cjs/drivers/mongo/mongo-id-generator.js.map +1 -0
- package/cjs/drivers/mongo/mongo-migration-driver.d.ts +228 -0
- package/cjs/drivers/mongo/mongo-migration-driver.d.ts.map +1 -0
- package/cjs/drivers/mongo/mongo-migration-driver.js +524 -0
- package/cjs/drivers/mongo/mongo-migration-driver.js.map +1 -0
- package/cjs/drivers/mongo/mongo-query-builder.d.ts +922 -0
- package/cjs/drivers/mongo/mongo-query-builder.d.ts.map +1 -0
- package/cjs/drivers/mongo/mongo-query-builder.js +1740 -0
- package/cjs/drivers/mongo/mongo-query-builder.js.map +1 -0
- package/cjs/drivers/mongo/mongo-query-operations.d.ts +226 -0
- package/cjs/drivers/mongo/mongo-query-operations.d.ts.map +1 -0
- package/cjs/drivers/mongo/mongo-query-operations.js +270 -0
- package/cjs/drivers/mongo/mongo-query-operations.js.map +1 -0
- package/cjs/drivers/mongo/mongo-query-parser.d.ts +262 -0
- package/cjs/drivers/mongo/mongo-query-parser.d.ts.map +1 -0
- package/cjs/drivers/mongo/mongo-query-parser.js +1351 -0
- package/cjs/drivers/mongo/mongo-query-parser.js.map +1 -0
- package/cjs/drivers/mongo/mongo-sync-adapter.d.ts +79 -0
- package/cjs/drivers/mongo/mongo-sync-adapter.d.ts.map +1 -0
- package/cjs/drivers/mongo/mongo-sync-adapter.js +146 -0
- package/cjs/drivers/mongo/mongo-sync-adapter.js.map +1 -0
- package/cjs/drivers/mongo/mongodb-blueprint.d.ts +30 -0
- package/cjs/drivers/mongo/mongodb-blueprint.d.ts.map +1 -0
- package/cjs/drivers/mongo/mongodb-blueprint.js +51 -0
- package/cjs/drivers/mongo/mongodb-blueprint.js.map +1 -0
- package/cjs/drivers/mongo/mongodb-driver.d.ts +188 -0
- package/cjs/drivers/mongo/mongodb-driver.d.ts.map +1 -0
- package/cjs/drivers/mongo/mongodb-driver.js +411 -0
- package/cjs/drivers/mongo/mongodb-driver.js.map +1 -0
- package/cjs/drivers/mongo/types.d.ts +43 -0
- package/cjs/drivers/mongo/types.d.ts.map +1 -0
- package/cjs/errors/missing-data-source.error.d.ts +22 -0
- package/cjs/errors/missing-data-source.error.d.ts.map +1 -0
- package/cjs/errors/missing-data-source.error.js +29 -0
- package/cjs/errors/missing-data-source.error.js.map +1 -0
- package/cjs/events/model-events.d.ts +231 -0
- package/cjs/events/model-events.d.ts.map +1 -0
- package/cjs/events/model-events.js +259 -0
- package/cjs/events/model-events.js.map +1 -0
- package/cjs/expressions/aggregate-expressions.d.ts +215 -0
- package/cjs/expressions/aggregate-expressions.d.ts.map +1 -0
- package/cjs/expressions/aggregate-expressions.js +221 -0
- package/cjs/expressions/aggregate-expressions.js.map +1 -0
- package/cjs/expressions/index.d.ts +2 -0
- package/cjs/expressions/index.d.ts.map +1 -0
- package/cjs/index.d.ts +41 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +1 -267
- package/cjs/index.js.map +1 -1
- package/cjs/migration/column-builder.d.ts +167 -0
- package/cjs/migration/column-builder.d.ts.map +1 -0
- package/cjs/migration/column-builder.js +217 -0
- package/cjs/migration/column-builder.js.map +1 -0
- package/cjs/migration/foreign-key-builder.d.ts +110 -0
- package/cjs/migration/foreign-key-builder.d.ts.map +1 -0
- package/cjs/migration/foreign-key-builder.js +129 -0
- package/cjs/migration/foreign-key-builder.js.map +1 -0
- package/cjs/migration/index.d.ts +6 -0
- package/cjs/migration/index.d.ts.map +1 -0
- package/cjs/migration/migration-runner.d.ts +231 -0
- package/cjs/migration/migration-runner.d.ts.map +1 -0
- package/cjs/migration/migration-runner.js +443 -0
- package/cjs/migration/migration-runner.js.map +1 -0
- package/cjs/migration/migration.js +1346 -0
- package/cjs/migration/migration.js.map +1 -0
- package/cjs/migration/types.d.ts +132 -0
- package/cjs/migration/types.d.ts.map +1 -0
- package/cjs/model/model.d.ts +1267 -0
- package/cjs/model/model.d.ts.map +1 -0
- package/cjs/model/model.js +1463 -0
- package/cjs/model/model.js.map +1 -0
- package/cjs/model/register-model.d.ts +80 -0
- package/cjs/model/register-model.d.ts.map +1 -0
- package/cjs/model/register-model.js +91 -0
- package/cjs/model/register-model.js.map +1 -0
- package/cjs/remover/database-remover.d.ts +100 -0
- package/cjs/remover/database-remover.d.ts.map +1 -0
- package/cjs/remover/database-remover.js +209 -0
- package/cjs/remover/database-remover.js.map +1 -0
- package/cjs/restorer/database-restorer.d.ts +131 -0
- package/cjs/restorer/database-restorer.d.ts.map +1 -0
- package/cjs/restorer/database-restorer.js +425 -0
- package/cjs/restorer/database-restorer.js.map +1 -0
- package/cjs/sync/index.d.ts +12 -0
- package/cjs/sync/index.d.ts.map +1 -0
- package/cjs/sync/model-events.d.ts +62 -0
- package/cjs/sync/model-events.d.ts.map +1 -0
- package/cjs/sync/model-events.js +49 -0
- package/cjs/sync/model-events.js.map +1 -0
- package/cjs/sync/model-sync-operation.d.ts +163 -0
- package/cjs/sync/model-sync-operation.d.ts.map +1 -0
- package/cjs/sync/model-sync-operation.js +292 -0
- package/cjs/sync/model-sync-operation.js.map +1 -0
- package/cjs/sync/model-sync.d.ts +130 -0
- package/cjs/sync/model-sync.d.ts.map +1 -0
- package/cjs/sync/model-sync.js +178 -0
- package/cjs/sync/model-sync.js.map +1 -0
- package/cjs/sync/sync-context.d.ts +70 -0
- package/cjs/sync/sync-context.d.ts.map +1 -0
- package/cjs/sync/sync-context.js +101 -0
- package/cjs/sync/sync-context.js.map +1 -0
- package/cjs/sync/sync-manager.d.ts +213 -0
- package/cjs/sync/sync-manager.d.ts.map +1 -0
- package/cjs/sync/sync-manager.js +689 -0
- package/cjs/sync/sync-manager.js.map +1 -0
- package/cjs/sync/types.d.ts +289 -0
- package/cjs/sync/types.d.ts.map +1 -0
- package/cjs/types.d.ts +45 -0
- package/cjs/types.d.ts.map +1 -0
- package/cjs/utils/connect-to-database.d.ts +246 -0
- package/cjs/utils/connect-to-database.d.ts.map +1 -0
- package/cjs/utils/connect-to-database.js +92 -0
- package/cjs/utils/connect-to-database.js.map +1 -0
- package/cjs/utils/database-writer.utils.d.ts +15 -0
- package/cjs/utils/database-writer.utils.d.ts.map +1 -0
- package/cjs/utils/database-writer.utils.js +14 -0
- package/cjs/utils/database-writer.utils.js.map +1 -0
- package/cjs/utils/define-model.js +100 -0
- package/cjs/utils/define-model.js.map +1 -0
- package/cjs/utils/once-connected.d.ts +146 -0
- package/cjs/utils/once-connected.d.ts.map +1 -0
- package/cjs/utils/once-connected.js +252 -0
- package/cjs/utils/once-connected.js.map +1 -0
- package/cjs/validation/database-seal-plugins.d.ts +2 -0
- package/cjs/validation/database-seal-plugins.d.ts.map +1 -0
- package/cjs/validation/database-seal-plugins.js +4 -0
- package/cjs/validation/database-seal-plugins.js.map +1 -0
- package/cjs/validation/database-writer-validation-error.d.ts +97 -0
- package/cjs/validation/database-writer-validation-error.d.ts.map +1 -0
- package/cjs/validation/database-writer-validation-error.js +160 -0
- package/cjs/validation/database-writer-validation-error.js.map +1 -0
- package/cjs/validation/index.d.ts +3 -0
- package/cjs/validation/index.d.ts.map +1 -0
- package/cjs/validation/mutators/embed-mutator.d.ts +9 -0
- package/cjs/validation/mutators/embed-mutator.d.ts.map +1 -0
- package/cjs/validation/mutators/embed-mutator.js +33 -0
- package/cjs/validation/mutators/embed-mutator.js.map +1 -0
- package/cjs/validation/plugins/embed-validator-plugin.d.ts +24 -0
- package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
- package/cjs/validation/plugins/embed-validator-plugin.js +18 -0
- package/cjs/validation/plugins/embed-validator-plugin.js.map +1 -0
- package/cjs/validation/rules/database-model-rule.d.ts +7 -0
- package/cjs/validation/rules/database-model-rule.d.ts.map +1 -0
- package/cjs/validation/rules/database-model-rule.js +27 -0
- package/cjs/validation/rules/database-model-rule.js.map +1 -0
- package/cjs/validation/transformers/embed-model-transformer.d.ts +3 -0
- package/cjs/validation/transformers/embed-model-transformer.d.ts.map +1 -0
- package/cjs/validation/transformers/embed-model-transformer.js +18 -0
- package/cjs/validation/transformers/embed-model-transformer.js.map +1 -0
- package/cjs/validation/validators/embed-validator.d.ts +21 -0
- package/cjs/validation/validators/embed-validator.d.ts.map +1 -0
- package/cjs/validation/validators/embed-validator.js +42 -0
- package/cjs/validation/validators/embed-validator.js.map +1 -0
- package/cjs/writer/database-writer.d.ts +181 -0
- package/cjs/writer/database-writer.d.ts.map +1 -0
- package/cjs/writer/database-writer.js +402 -0
- package/cjs/writer/database-writer.js.map +1 -0
- package/esm/context/database-data-source-context.d.ts +29 -0
- package/esm/context/database-data-source-context.d.ts.map +1 -0
- package/esm/context/database-data-source-context.js +28 -0
- package/esm/context/database-data-source-context.js.map +1 -0
- package/esm/context/database-transaction-context.d.ts +31 -0
- package/esm/context/database-transaction-context.d.ts.map +1 -0
- package/esm/context/database-transaction-context.js +34 -0
- package/esm/context/database-transaction-context.js.map +1 -0
- package/esm/contracts/database-driver.contract.d.ts +143 -0
- package/esm/contracts/database-driver.contract.d.ts.map +1 -0
- package/esm/contracts/database-id-generator.contract.d.ts +109 -0
- package/esm/contracts/database-id-generator.contract.d.ts.map +1 -0
- package/esm/contracts/database-remover.contract.d.ts +104 -0
- package/esm/contracts/database-remover.contract.d.ts.map +1 -0
- package/esm/contracts/database-restorer.contract.d.ts +143 -0
- package/esm/contracts/database-restorer.contract.d.ts.map +1 -0
- package/esm/contracts/database-writer.contract.d.ts +119 -0
- package/esm/contracts/database-writer.contract.d.ts.map +1 -0
- package/esm/contracts/driver-blueprint.contract.d.ts +45 -0
- package/esm/contracts/driver-blueprint.contract.d.ts.map +1 -0
- package/esm/contracts/index.d.ts +10 -0
- package/esm/contracts/index.d.ts.map +1 -0
- package/esm/contracts/migration-driver.contract.d.ts +365 -0
- package/esm/contracts/migration-driver.contract.d.ts.map +1 -0
- package/esm/contracts/query-builder.contract.d.ts +1128 -0
- package/esm/contracts/query-builder.contract.d.ts.map +1 -0
- package/esm/contracts/sync-adapter.contract.d.ts +58 -0
- package/esm/contracts/sync-adapter.contract.d.ts.map +1 -0
- package/esm/data-source/data-source-registry.d.ts +104 -0
- package/esm/data-source/data-source-registry.d.ts.map +1 -0
- package/esm/data-source/data-source-registry.js +138 -0
- package/esm/data-source/data-source-registry.js.map +1 -0
- package/esm/data-source/data-source.d.ts +106 -0
- package/esm/data-source/data-source.d.ts.map +1 -0
- package/esm/data-source/data-source.js +77 -0
- package/esm/data-source/data-source.js.map +1 -0
- package/esm/database-dirty-tracker.d.ts +253 -0
- package/esm/database-dirty-tracker.d.ts.map +1 -0
- package/esm/database-dirty-tracker.js +389 -0
- package/esm/database-dirty-tracker.js.map +1 -0
- package/esm/drivers/mongo/mongo-id-generator.d.ts +116 -0
- package/esm/drivers/mongo/mongo-id-generator.d.ts.map +1 -0
- package/esm/drivers/mongo/mongo-id-generator.js +149 -0
- package/esm/drivers/mongo/mongo-id-generator.js.map +1 -0
- package/esm/drivers/mongo/mongo-migration-driver.d.ts +228 -0
- package/esm/drivers/mongo/mongo-migration-driver.d.ts.map +1 -0
- package/esm/drivers/mongo/mongo-migration-driver.js +524 -0
- package/esm/drivers/mongo/mongo-migration-driver.js.map +1 -0
- package/esm/drivers/mongo/mongo-query-builder.d.ts +922 -0
- package/esm/drivers/mongo/mongo-query-builder.d.ts.map +1 -0
- package/esm/drivers/mongo/mongo-query-builder.js +1740 -0
- package/esm/drivers/mongo/mongo-query-builder.js.map +1 -0
- package/esm/drivers/mongo/mongo-query-operations.d.ts +226 -0
- package/esm/drivers/mongo/mongo-query-operations.d.ts.map +1 -0
- package/esm/drivers/mongo/mongo-query-operations.js +270 -0
- package/esm/drivers/mongo/mongo-query-operations.js.map +1 -0
- package/esm/drivers/mongo/mongo-query-parser.d.ts +262 -0
- package/esm/drivers/mongo/mongo-query-parser.d.ts.map +1 -0
- package/esm/drivers/mongo/mongo-query-parser.js +1351 -0
- package/esm/drivers/mongo/mongo-query-parser.js.map +1 -0
- package/esm/drivers/mongo/mongo-sync-adapter.d.ts +79 -0
- package/esm/drivers/mongo/mongo-sync-adapter.d.ts.map +1 -0
- package/esm/drivers/mongo/mongo-sync-adapter.js +146 -0
- package/esm/drivers/mongo/mongo-sync-adapter.js.map +1 -0
- package/esm/drivers/mongo/mongodb-blueprint.d.ts +30 -0
- package/esm/drivers/mongo/mongodb-blueprint.d.ts.map +1 -0
- package/esm/drivers/mongo/mongodb-blueprint.js +51 -0
- package/esm/drivers/mongo/mongodb-blueprint.js.map +1 -0
- package/esm/drivers/mongo/mongodb-driver.d.ts +188 -0
- package/esm/drivers/mongo/mongodb-driver.d.ts.map +1 -0
- package/esm/drivers/mongo/mongodb-driver.js +411 -0
- package/esm/drivers/mongo/mongodb-driver.js.map +1 -0
- package/esm/drivers/mongo/types.d.ts +43 -0
- package/esm/drivers/mongo/types.d.ts.map +1 -0
- package/esm/errors/missing-data-source.error.d.ts +22 -0
- package/esm/errors/missing-data-source.error.d.ts.map +1 -0
- package/esm/errors/missing-data-source.error.js +29 -0
- package/esm/errors/missing-data-source.error.js.map +1 -0
- package/esm/events/model-events.d.ts +231 -0
- package/esm/events/model-events.d.ts.map +1 -0
- package/esm/events/model-events.js +259 -0
- package/esm/events/model-events.js.map +1 -0
- package/esm/expressions/aggregate-expressions.d.ts +215 -0
- package/esm/expressions/aggregate-expressions.d.ts.map +1 -0
- package/esm/expressions/aggregate-expressions.js +221 -0
- package/esm/expressions/aggregate-expressions.js.map +1 -0
- package/esm/expressions/index.d.ts +2 -0
- package/esm/expressions/index.d.ts.map +1 -0
- package/esm/index.d.ts +41 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +1 -40
- package/esm/index.js.map +1 -1
- package/esm/migration/column-builder.d.ts +167 -0
- package/esm/migration/column-builder.d.ts.map +1 -0
- package/esm/migration/column-builder.js +217 -0
- package/esm/migration/column-builder.js.map +1 -0
- package/esm/migration/foreign-key-builder.d.ts +110 -0
- package/esm/migration/foreign-key-builder.d.ts.map +1 -0
- package/esm/migration/foreign-key-builder.js +129 -0
- package/esm/migration/foreign-key-builder.js.map +1 -0
- package/esm/migration/index.d.ts +6 -0
- package/esm/migration/index.d.ts.map +1 -0
- package/esm/migration/migration-runner.d.ts +231 -0
- package/esm/migration/migration-runner.d.ts.map +1 -0
- package/esm/migration/migration-runner.js +443 -0
- package/esm/migration/migration-runner.js.map +1 -0
- package/esm/migration/migration.js +1346 -0
- package/esm/migration/migration.js.map +1 -0
- package/esm/migration/types.d.ts +132 -0
- package/esm/migration/types.d.ts.map +1 -0
- package/esm/model/model.d.ts +1267 -0
- package/esm/model/model.d.ts.map +1 -0
- package/esm/model/model.js +1463 -0
- package/esm/model/model.js.map +1 -0
- package/esm/model/register-model.d.ts +80 -0
- package/esm/model/register-model.d.ts.map +1 -0
- package/esm/model/register-model.js +91 -0
- package/esm/model/register-model.js.map +1 -0
- package/esm/remover/database-remover.d.ts +100 -0
- package/esm/remover/database-remover.d.ts.map +1 -0
- package/esm/remover/database-remover.js +209 -0
- package/esm/remover/database-remover.js.map +1 -0
- package/esm/restorer/database-restorer.d.ts +131 -0
- package/esm/restorer/database-restorer.d.ts.map +1 -0
- package/esm/restorer/database-restorer.js +425 -0
- package/esm/restorer/database-restorer.js.map +1 -0
- package/esm/sync/index.d.ts +12 -0
- package/esm/sync/index.d.ts.map +1 -0
- package/esm/sync/model-events.d.ts +62 -0
- package/esm/sync/model-events.d.ts.map +1 -0
- package/esm/sync/model-events.js +49 -0
- package/esm/sync/model-events.js.map +1 -0
- package/esm/sync/model-sync-operation.d.ts +163 -0
- package/esm/sync/model-sync-operation.d.ts.map +1 -0
- package/esm/sync/model-sync-operation.js +292 -0
- package/esm/sync/model-sync-operation.js.map +1 -0
- package/esm/sync/model-sync.d.ts +130 -0
- package/esm/sync/model-sync.d.ts.map +1 -0
- package/esm/sync/model-sync.js +178 -0
- package/esm/sync/model-sync.js.map +1 -0
- package/esm/sync/sync-context.d.ts +70 -0
- package/esm/sync/sync-context.d.ts.map +1 -0
- package/esm/sync/sync-context.js +101 -0
- package/esm/sync/sync-context.js.map +1 -0
- package/esm/sync/sync-manager.d.ts +213 -0
- package/esm/sync/sync-manager.d.ts.map +1 -0
- package/esm/sync/sync-manager.js +689 -0
- package/esm/sync/sync-manager.js.map +1 -0
- package/esm/sync/types.d.ts +289 -0
- package/esm/sync/types.d.ts.map +1 -0
- package/esm/types.d.ts +45 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/utils/connect-to-database.d.ts +246 -0
- package/esm/utils/connect-to-database.d.ts.map +1 -0
- package/esm/utils/connect-to-database.js +92 -0
- package/esm/utils/connect-to-database.js.map +1 -0
- package/esm/utils/database-writer.utils.d.ts +15 -0
- package/esm/utils/database-writer.utils.d.ts.map +1 -0
- package/esm/utils/database-writer.utils.js +14 -0
- package/esm/utils/database-writer.utils.js.map +1 -0
- package/esm/utils/define-model.js +100 -0
- package/esm/utils/define-model.js.map +1 -0
- package/esm/utils/once-connected.d.ts +146 -0
- package/esm/utils/once-connected.d.ts.map +1 -0
- package/esm/utils/once-connected.js +252 -0
- package/esm/utils/once-connected.js.map +1 -0
- package/esm/validation/database-seal-plugins.d.ts +2 -0
- package/esm/validation/database-seal-plugins.d.ts.map +1 -0
- package/esm/validation/database-seal-plugins.js +4 -0
- package/esm/validation/database-seal-plugins.js.map +1 -0
- package/esm/validation/database-writer-validation-error.d.ts +97 -0
- package/esm/validation/database-writer-validation-error.d.ts.map +1 -0
- package/esm/validation/database-writer-validation-error.js +160 -0
- package/esm/validation/database-writer-validation-error.js.map +1 -0
- package/esm/validation/index.d.ts +3 -0
- package/esm/validation/index.d.ts.map +1 -0
- package/esm/validation/mutators/embed-mutator.d.ts +9 -0
- package/esm/validation/mutators/embed-mutator.d.ts.map +1 -0
- package/esm/validation/mutators/embed-mutator.js +33 -0
- package/esm/validation/mutators/embed-mutator.js.map +1 -0
- package/esm/validation/plugins/embed-validator-plugin.d.ts +24 -0
- package/esm/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
- package/esm/validation/plugins/embed-validator-plugin.js +18 -0
- package/esm/validation/plugins/embed-validator-plugin.js.map +1 -0
- package/esm/validation/rules/database-model-rule.d.ts +7 -0
- package/esm/validation/rules/database-model-rule.d.ts.map +1 -0
- package/esm/validation/rules/database-model-rule.js +27 -0
- package/esm/validation/rules/database-model-rule.js.map +1 -0
- package/esm/validation/transformers/embed-model-transformer.d.ts +3 -0
- package/esm/validation/transformers/embed-model-transformer.d.ts.map +1 -0
- package/esm/validation/transformers/embed-model-transformer.js +18 -0
- package/esm/validation/transformers/embed-model-transformer.js.map +1 -0
- package/esm/validation/validators/embed-validator.d.ts +21 -0
- package/esm/validation/validators/embed-validator.d.ts.map +1 -0
- package/esm/validation/validators/embed-validator.js +42 -0
- package/esm/validation/validators/embed-validator.js.map +1 -0
- package/esm/writer/database-writer.d.ts +181 -0
- package/esm/writer/database-writer.d.ts.map +1 -0
- package/esm/writer/database-writer.js +402 -0
- package/esm/writer/database-writer.js.map +1 -0
- 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"}
|