@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,119 @@
|
|
|
1
|
+
import type { UpdateOperations } from "./database-driver.contract";
|
|
2
|
+
/**
|
|
3
|
+
* Writer service contract for persisting models to the database.
|
|
4
|
+
*
|
|
5
|
+
* The writer orchestrates the complete save pipeline:
|
|
6
|
+
* 1. Validation (via @warlock.js/seal)
|
|
7
|
+
* 2. ID generation (for new records in NoSQL)
|
|
8
|
+
* 3. Event emission (validating, saving, created/updated, saved)
|
|
9
|
+
* 4. Driver execution (insert or update)
|
|
10
|
+
* 5. Post-save cleanup (reset dirty tracker, update isNew flag)
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const user = new User({ name: "Alice" });
|
|
15
|
+
* const writer = new DatabaseWriter(user);
|
|
16
|
+
* const result = await writer.save();
|
|
17
|
+
*
|
|
18
|
+
* console.log(result.success); // true
|
|
19
|
+
* console.log(result.isNew); // true (was an insert)
|
|
20
|
+
* console.log(result.document); // { _id: ..., id: 1, name: "Alice" }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export interface WriterContract {
|
|
24
|
+
/**
|
|
25
|
+
* Save the model instance to the database.
|
|
26
|
+
*
|
|
27
|
+
* Performs insert if `model.isNew === true`, otherwise performs update.
|
|
28
|
+
* Automatically validates, casts, generates IDs, and emits lifecycle events.
|
|
29
|
+
*
|
|
30
|
+
* @param options - Save options
|
|
31
|
+
* @returns Result containing success status, document, and metadata
|
|
32
|
+
*
|
|
33
|
+
* @throws {ValidationError} If validation fails
|
|
34
|
+
* @throws {Error} If database operation fails
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* // Insert
|
|
39
|
+
* const user = new User({ name: "Alice" });
|
|
40
|
+
* const writer = new DatabaseWriter(user);
|
|
41
|
+
* await writer.save();
|
|
42
|
+
*
|
|
43
|
+
* // Update
|
|
44
|
+
* user.set("name", "Bob");
|
|
45
|
+
* await writer.save();
|
|
46
|
+
*
|
|
47
|
+
* // Skip validation
|
|
48
|
+
* await writer.save({ skipValidation: true });
|
|
49
|
+
*
|
|
50
|
+
* // Skip events (silent save)
|
|
51
|
+
* await writer.save({ skipEvents: true });
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
save(options?: WriterOptions): Promise<WriterResult>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Options for controlling the save operation.
|
|
58
|
+
*/
|
|
59
|
+
export type WriterOptions = {
|
|
60
|
+
/**
|
|
61
|
+
* Skip validation and casting.
|
|
62
|
+
* Useful when data is already validated or for performance-critical operations.
|
|
63
|
+
*
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
skipValidation?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Skip lifecycle event emission.
|
|
69
|
+
* Equivalent to "silent save" in legacy Cascade.
|
|
70
|
+
*
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
skipEvents?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Skip sync operations after save.
|
|
76
|
+
* Useful when you want to save without triggering sync updates.
|
|
77
|
+
*
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
skipSync?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Replace entire document with the new data.
|
|
83
|
+
* By default, Model will only update or unset the dirty changes.
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
replace?: boolean;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Result returned after a successful save operation.
|
|
90
|
+
*/
|
|
91
|
+
export type WriterResult = {
|
|
92
|
+
/**
|
|
93
|
+
* Whether the save operation succeeded.
|
|
94
|
+
*/
|
|
95
|
+
success: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* The saved document with all database-generated fields.
|
|
98
|
+
* Includes _id, id, timestamps, etc.
|
|
99
|
+
*/
|
|
100
|
+
document: Record<string, unknown>;
|
|
101
|
+
/**
|
|
102
|
+
* Whether this was an insert operation.
|
|
103
|
+
* - `true`: New record was created
|
|
104
|
+
* - `false`: Existing record was updated
|
|
105
|
+
*/
|
|
106
|
+
isNew: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Number of records modified (for updates only).
|
|
109
|
+
* Undefined for insert operations.
|
|
110
|
+
*/
|
|
111
|
+
modifiedCount?: number;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Internal type for building update operations from dirty tracker.
|
|
115
|
+
*
|
|
116
|
+
* @internal
|
|
117
|
+
*/
|
|
118
|
+
export type BuildUpdateOperationsResult = UpdateOperations;
|
|
119
|
+
//# sourceMappingURL=database-writer.contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-writer.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/database-writer.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface DriverBlueprintContract {
|
|
2
|
+
/**
|
|
3
|
+
* Get all indexes of the given table
|
|
4
|
+
*/
|
|
5
|
+
listIndexes(table: string): Promise<TableIndexInformation[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Get all tables of the database
|
|
8
|
+
*/
|
|
9
|
+
listTables(): Promise<string[]>;
|
|
10
|
+
/**
|
|
11
|
+
* Get all columns of the given table
|
|
12
|
+
*/
|
|
13
|
+
listColumns(table: string): Promise<string[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Check if the given table exists
|
|
16
|
+
*/
|
|
17
|
+
tableExists(table: string): Promise<boolean>;
|
|
18
|
+
}
|
|
19
|
+
export type TableIndexInformation = {
|
|
20
|
+
/**
|
|
21
|
+
* Index name
|
|
22
|
+
*/
|
|
23
|
+
name: string;
|
|
24
|
+
/**
|
|
25
|
+
* Index columns
|
|
26
|
+
*/
|
|
27
|
+
columns?: string[];
|
|
28
|
+
/**
|
|
29
|
+
* Index type
|
|
30
|
+
*/
|
|
31
|
+
type?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Index unique
|
|
34
|
+
*/
|
|
35
|
+
unique: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Index partial
|
|
38
|
+
*/
|
|
39
|
+
partial: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Index options
|
|
42
|
+
*/
|
|
43
|
+
options: Record<string, any>;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=driver-blueprint.contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-blueprint.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/driver-blueprint.contract.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAE7D;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE9C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./database-driver.contract";
|
|
2
|
+
export * from "./database-id-generator.contract";
|
|
3
|
+
export * from "./database-remover.contract";
|
|
4
|
+
export * from "./database-restorer.contract";
|
|
5
|
+
export * from "./database-writer.contract";
|
|
6
|
+
export * from "./driver-blueprint.contract";
|
|
7
|
+
export * from "./migration-driver.contract";
|
|
8
|
+
export * from "./query-builder.contract";
|
|
9
|
+
export * from "./sync-adapter.contract";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import type { DataSource } from "../data-source/data-source";
|
|
2
|
+
import type { DriverContract } from "./database-driver.contract";
|
|
3
|
+
/**
|
|
4
|
+
* Column data types supported across all database drivers.
|
|
5
|
+
*/
|
|
6
|
+
export type ColumnType = "string" | "char" | "text" | "mediumText" | "longText" | "integer" | "smallInteger" | "tinyInteger" | "bigInteger" | "float" | "double" | "decimal" | "boolean" | "date" | "dateTime" | "timestamp" | "time" | "year" | "json" | "binary" | "uuid" | "ulid" | "ipAddress" | "macAddress" | "point" | "polygon" | "lineString" | "geometry" | "vector" | "enum" | "set";
|
|
7
|
+
/**
|
|
8
|
+
* Column definition used when adding or modifying columns.
|
|
9
|
+
*/
|
|
10
|
+
export type ColumnDefinition = {
|
|
11
|
+
/** Column name */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Column data type */
|
|
14
|
+
type: ColumnType;
|
|
15
|
+
/** Length for string/char types */
|
|
16
|
+
length?: number;
|
|
17
|
+
/** Precision for decimal types */
|
|
18
|
+
precision?: number;
|
|
19
|
+
/** Scale for decimal types */
|
|
20
|
+
scale?: number;
|
|
21
|
+
/** Whether the column allows NULL values */
|
|
22
|
+
nullable?: boolean;
|
|
23
|
+
/** Default value for the column */
|
|
24
|
+
defaultValue?: unknown;
|
|
25
|
+
/** Whether this is a primary key */
|
|
26
|
+
primary?: boolean;
|
|
27
|
+
/** Whether this column auto-increments */
|
|
28
|
+
autoIncrement?: boolean;
|
|
29
|
+
/** Whether this column must be unsigned (numeric only) */
|
|
30
|
+
unsigned?: boolean;
|
|
31
|
+
/** Column comment/description */
|
|
32
|
+
comment?: string;
|
|
33
|
+
/** Enum/set values */
|
|
34
|
+
values?: string[];
|
|
35
|
+
/** Vector dimensions (for vector type) */
|
|
36
|
+
dimensions?: number;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Index definition for creating database indexes.
|
|
40
|
+
*/
|
|
41
|
+
export type IndexDefinition = {
|
|
42
|
+
/** Index name (auto-generated if not provided) */
|
|
43
|
+
readonly name?: string;
|
|
44
|
+
/** Columns included in the index */
|
|
45
|
+
readonly columns: string[];
|
|
46
|
+
/** Whether this is a unique index */
|
|
47
|
+
readonly unique?: boolean;
|
|
48
|
+
/** Index type (driver-specific) */
|
|
49
|
+
readonly type?: string;
|
|
50
|
+
/** Partial index condition */
|
|
51
|
+
readonly where?: Record<string, unknown>;
|
|
52
|
+
/** Whether to create sparse index (MongoDB) */
|
|
53
|
+
readonly sparse?: boolean;
|
|
54
|
+
/** Sort direction for each column */
|
|
55
|
+
readonly directions?: Array<"asc" | "desc">;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Full-text search index options.
|
|
59
|
+
*/
|
|
60
|
+
export type FullTextIndexOptions = {
|
|
61
|
+
/** Index name */
|
|
62
|
+
readonly name?: string;
|
|
63
|
+
/** Language for text analysis */
|
|
64
|
+
readonly language?: string;
|
|
65
|
+
/** Field weights for relevance scoring */
|
|
66
|
+
readonly weights?: Record<string, number>;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Geo-spatial index options.
|
|
70
|
+
*/
|
|
71
|
+
export type GeoIndexOptions = {
|
|
72
|
+
/** Index name */
|
|
73
|
+
readonly name?: string;
|
|
74
|
+
/** Index type: "2dsphere" (default) or "2d" */
|
|
75
|
+
readonly type?: "2dsphere" | "2d";
|
|
76
|
+
/** Minimum bound for 2d index */
|
|
77
|
+
readonly min?: number;
|
|
78
|
+
/** Maximum bound for 2d index */
|
|
79
|
+
readonly max?: number;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Vector index options for AI/ML embeddings.
|
|
83
|
+
*/
|
|
84
|
+
export type VectorIndexOptions = {
|
|
85
|
+
/** Vector dimensions (e.g., 1536 for OpenAI) */
|
|
86
|
+
readonly dimensions: number;
|
|
87
|
+
/** Similarity metric */
|
|
88
|
+
readonly similarity?: "cosine" | "euclidean" | "dotProduct";
|
|
89
|
+
/** Index name */
|
|
90
|
+
readonly name?: string;
|
|
91
|
+
/** Number of lists/clusters (IVF) */
|
|
92
|
+
readonly lists?: number;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Foreign key constraint definition (SQL only).
|
|
96
|
+
*/
|
|
97
|
+
export type ForeignKeyDefinition = {
|
|
98
|
+
/** Constraint name */
|
|
99
|
+
readonly name?: string;
|
|
100
|
+
/** Local column name */
|
|
101
|
+
readonly column: string;
|
|
102
|
+
/** Referenced table */
|
|
103
|
+
readonly referencesTable: string;
|
|
104
|
+
/** Referenced column */
|
|
105
|
+
readonly referencesColumn: string;
|
|
106
|
+
/** Action on delete */
|
|
107
|
+
readonly onDelete?: "cascade" | "restrict" | "setNull" | "noAction";
|
|
108
|
+
/** Action on update */
|
|
109
|
+
readonly onUpdate?: "cascade" | "restrict" | "setNull" | "noAction";
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Contract that all migration drivers must implement.
|
|
113
|
+
*
|
|
114
|
+
* Each database driver provides its own implementation that translates
|
|
115
|
+
* the abstract operations to native database commands.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const driver = new MongoMigrationDriver(dataSource);
|
|
120
|
+
* await driver.createIndex("users", { columns: ["email"], unique: true });
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
export interface MigrationDriverContract {
|
|
124
|
+
/**
|
|
125
|
+
* Create a new table or collection.
|
|
126
|
+
*
|
|
127
|
+
* @param table - Table/collection name
|
|
128
|
+
*/
|
|
129
|
+
createTable(table: string): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Create a new table or collection if it doesn't exist.
|
|
132
|
+
*
|
|
133
|
+
* @param table - Table/collection name
|
|
134
|
+
*/
|
|
135
|
+
createTableIfNotExists(table: string): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Drop an existing table or collection.
|
|
138
|
+
*
|
|
139
|
+
* @param table - Table/collection name
|
|
140
|
+
*/
|
|
141
|
+
dropTable(table: string): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Drop table if it exists (no error if missing).
|
|
144
|
+
*
|
|
145
|
+
* @param table - Table/collection name
|
|
146
|
+
*/
|
|
147
|
+
dropTableIfExists(table: string): Promise<void>;
|
|
148
|
+
/**
|
|
149
|
+
* Rename a table or collection.
|
|
150
|
+
*
|
|
151
|
+
* @param from - Current table name
|
|
152
|
+
* @param to - New table name
|
|
153
|
+
*/
|
|
154
|
+
renameTable(from: string, to: string): Promise<void>;
|
|
155
|
+
/**
|
|
156
|
+
* Check if a table or collection exists.
|
|
157
|
+
*
|
|
158
|
+
* @param table - Table/collection name
|
|
159
|
+
* @returns True if table exists
|
|
160
|
+
*/
|
|
161
|
+
tableExists(table: string): Promise<boolean>;
|
|
162
|
+
/**
|
|
163
|
+
* Add a column to an existing table.
|
|
164
|
+
*
|
|
165
|
+
* Note: This is a no-op for schema-less databases like MongoDB.
|
|
166
|
+
*
|
|
167
|
+
* @param table - Table name
|
|
168
|
+
* @param column - Column definition
|
|
169
|
+
*/
|
|
170
|
+
addColumn(table: string, column: ColumnDefinition): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Drop a column from an existing table.
|
|
173
|
+
*
|
|
174
|
+
* Note: For MongoDB, this optionally runs $unset on all documents.
|
|
175
|
+
*
|
|
176
|
+
* @param table - Table name
|
|
177
|
+
* @param column - Column name to drop
|
|
178
|
+
*/
|
|
179
|
+
dropColumn(table: string, column: string): Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Drop multiple columns from an existing table.
|
|
182
|
+
*
|
|
183
|
+
* @param table - Table name
|
|
184
|
+
* @param columns - Column names to drop
|
|
185
|
+
*/
|
|
186
|
+
dropColumns(table: string, columns: string[]): Promise<void>;
|
|
187
|
+
/**
|
|
188
|
+
* Rename a column.
|
|
189
|
+
*
|
|
190
|
+
* @param table - Table name
|
|
191
|
+
* @param from - Current column name
|
|
192
|
+
* @param to - New column name
|
|
193
|
+
*/
|
|
194
|
+
renameColumn(table: string, from: string, to: string): Promise<void>;
|
|
195
|
+
/**
|
|
196
|
+
* Modify an existing column's definition.
|
|
197
|
+
*
|
|
198
|
+
* @param table - Table name
|
|
199
|
+
* @param column - New column definition (name must match existing)
|
|
200
|
+
*/
|
|
201
|
+
modifyColumn(table: string, column: ColumnDefinition): Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* Create an index on one or more columns.
|
|
204
|
+
*
|
|
205
|
+
* @param table - Table name
|
|
206
|
+
* @param index - Index definition
|
|
207
|
+
*/
|
|
208
|
+
createIndex(table: string, index: IndexDefinition): Promise<void>;
|
|
209
|
+
/**
|
|
210
|
+
* Drop an index by name or columns.
|
|
211
|
+
*
|
|
212
|
+
* @param table - Table name
|
|
213
|
+
* @param indexNameOrColumns - Index name (string) or columns array
|
|
214
|
+
*/
|
|
215
|
+
dropIndex(table: string, indexNameOrColumns: string | string[]): Promise<void>;
|
|
216
|
+
/**
|
|
217
|
+
* Create a unique index/constraint.
|
|
218
|
+
*
|
|
219
|
+
* @param table - Table name
|
|
220
|
+
* @param columns - Columns to include
|
|
221
|
+
* @param name - Optional index name
|
|
222
|
+
*/
|
|
223
|
+
createUniqueIndex(table: string, columns: string[], name?: string): Promise<void>;
|
|
224
|
+
/**
|
|
225
|
+
* Drop a unique index/constraint.
|
|
226
|
+
*
|
|
227
|
+
* @param table - Table name
|
|
228
|
+
* @param columns - Columns in the index (used to find it)
|
|
229
|
+
*/
|
|
230
|
+
dropUniqueIndex(table: string, columns: string[]): Promise<void>;
|
|
231
|
+
/**
|
|
232
|
+
* Create a full-text search index.
|
|
233
|
+
*
|
|
234
|
+
* @param table - Table name
|
|
235
|
+
* @param columns - Columns to index
|
|
236
|
+
* @param options - Full-text options
|
|
237
|
+
*/
|
|
238
|
+
createFullTextIndex(table: string, columns: string[], options?: FullTextIndexOptions): Promise<void>;
|
|
239
|
+
/**
|
|
240
|
+
* Drop a full-text search index.
|
|
241
|
+
*
|
|
242
|
+
* @param table - Table name
|
|
243
|
+
* @param name - Index name
|
|
244
|
+
*/
|
|
245
|
+
dropFullTextIndex(table: string, name: string): Promise<void>;
|
|
246
|
+
/**
|
|
247
|
+
* Create a geo-spatial index.
|
|
248
|
+
*
|
|
249
|
+
* @param table - Table name
|
|
250
|
+
* @param column - Geo column
|
|
251
|
+
* @param options - Geo index options
|
|
252
|
+
*/
|
|
253
|
+
createGeoIndex(table: string, column: string, options?: GeoIndexOptions): Promise<void>;
|
|
254
|
+
/**
|
|
255
|
+
* Drop a geo-spatial index.
|
|
256
|
+
*
|
|
257
|
+
* @param table - Table name
|
|
258
|
+
* @param column - Geo column (used to find index)
|
|
259
|
+
*/
|
|
260
|
+
dropGeoIndex(table: string, column: string): Promise<void>;
|
|
261
|
+
/**
|
|
262
|
+
* Create a vector search index for AI embeddings.
|
|
263
|
+
*
|
|
264
|
+
* @param table - Table name
|
|
265
|
+
* @param column - Vector column
|
|
266
|
+
* @param options - Vector index options
|
|
267
|
+
*/
|
|
268
|
+
createVectorIndex(table: string, column: string, options: VectorIndexOptions): Promise<void>;
|
|
269
|
+
/**
|
|
270
|
+
* Drop a vector search index.
|
|
271
|
+
*
|
|
272
|
+
* @param table - Table name
|
|
273
|
+
* @param column - Vector column
|
|
274
|
+
*/
|
|
275
|
+
dropVectorIndex(table: string, column: string): Promise<void>;
|
|
276
|
+
/**
|
|
277
|
+
* Create a TTL (time-to-live) index for automatic document expiration.
|
|
278
|
+
*
|
|
279
|
+
* Note: Primarily for MongoDB. SQL databases may throw "not supported".
|
|
280
|
+
*
|
|
281
|
+
* @param table - Table name
|
|
282
|
+
* @param column - Date column to check for expiration
|
|
283
|
+
* @param expireAfterSeconds - Seconds after which documents expire
|
|
284
|
+
*/
|
|
285
|
+
createTTLIndex(table: string, column: string, expireAfterSeconds: number): Promise<void>;
|
|
286
|
+
/**
|
|
287
|
+
* Drop a TTL index.
|
|
288
|
+
*
|
|
289
|
+
* @param table - Table name
|
|
290
|
+
* @param column - Column with TTL index
|
|
291
|
+
*/
|
|
292
|
+
dropTTLIndex(table: string, column: string): Promise<void>;
|
|
293
|
+
/**
|
|
294
|
+
* Add a foreign key constraint.
|
|
295
|
+
*
|
|
296
|
+
* Note: No-op for MongoDB.
|
|
297
|
+
*
|
|
298
|
+
* @param table - Table name
|
|
299
|
+
* @param foreignKey - Foreign key definition
|
|
300
|
+
*/
|
|
301
|
+
addForeignKey(table: string, foreignKey: ForeignKeyDefinition): Promise<void>;
|
|
302
|
+
/**
|
|
303
|
+
* Drop a foreign key constraint.
|
|
304
|
+
*
|
|
305
|
+
* @param table - Table name
|
|
306
|
+
* @param name - Constraint name
|
|
307
|
+
*/
|
|
308
|
+
dropForeignKey(table: string, name: string): Promise<void>;
|
|
309
|
+
/**
|
|
310
|
+
* Add a primary key constraint.
|
|
311
|
+
*
|
|
312
|
+
* @param table - Table name
|
|
313
|
+
* @param columns - Primary key columns
|
|
314
|
+
*/
|
|
315
|
+
addPrimaryKey(table: string, columns: string[]): Promise<void>;
|
|
316
|
+
/**
|
|
317
|
+
* Drop the primary key constraint.
|
|
318
|
+
*
|
|
319
|
+
* @param table - Table name
|
|
320
|
+
*/
|
|
321
|
+
dropPrimaryKey(table: string): Promise<void>;
|
|
322
|
+
/**
|
|
323
|
+
* Set JSON schema validation rules on a collection.
|
|
324
|
+
*
|
|
325
|
+
* Note: Primarily for MongoDB. SQL databases ignore this.
|
|
326
|
+
*
|
|
327
|
+
* @param table - Collection name
|
|
328
|
+
* @param schema - JSON Schema object
|
|
329
|
+
*/
|
|
330
|
+
setSchemaValidation(table: string, schema: object): Promise<void>;
|
|
331
|
+
/**
|
|
332
|
+
* Remove schema validation rules from a collection.
|
|
333
|
+
*
|
|
334
|
+
* @param table - Collection name
|
|
335
|
+
*/
|
|
336
|
+
removeSchemaValidation(table: string): Promise<void>;
|
|
337
|
+
/**
|
|
338
|
+
* Begin a database transaction.
|
|
339
|
+
*/
|
|
340
|
+
beginTransaction(): Promise<void>;
|
|
341
|
+
/**
|
|
342
|
+
* Commit the current transaction.
|
|
343
|
+
*/
|
|
344
|
+
commit(): Promise<void>;
|
|
345
|
+
/**
|
|
346
|
+
* Rollback the current transaction.
|
|
347
|
+
*/
|
|
348
|
+
rollback(): Promise<void>;
|
|
349
|
+
/**
|
|
350
|
+
* Whether the driver supports transactions.
|
|
351
|
+
*/
|
|
352
|
+
supportsTransactions(): boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Execute raw operations with direct driver access.
|
|
355
|
+
*
|
|
356
|
+
* @param callback - Callback receiving the native driver/connection
|
|
357
|
+
* @returns Result from callback
|
|
358
|
+
*/
|
|
359
|
+
raw<T>(callback: (connection: unknown) => Promise<T>): Promise<T>;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Factory function type for creating migration drivers.
|
|
363
|
+
*/
|
|
364
|
+
export type MigrationDriverFactory = (source: DataSource | DriverContract) => MigrationDriverContract;
|
|
365
|
+
//# sourceMappingURL=migration-driver.contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/migration-driver.contract.ts"],"names":[],"mappings":"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"}
|