@warlock.js/cascade 4.0.174 → 4.1.1
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/README.md +6 -5
- package/bin/cascadejs +3 -0
- package/esm/cli/commands/migrate-export-sql.mjs +48 -0
- package/esm/cli/commands/migrate-export-sql.mjs.map +1 -0
- package/esm/cli/commands/migrate-list.mjs +26 -0
- package/esm/cli/commands/migrate-list.mjs.map +1 -0
- package/esm/cli/commands/migrate-rollback.mjs +50 -0
- package/esm/cli/commands/migrate-rollback.mjs.map +1 -0
- package/esm/cli/commands/migrate.mjs +65 -0
- package/esm/cli/commands/migrate.mjs.map +1 -0
- package/esm/cli/connection-from-env.mjs +181 -0
- package/esm/cli/connection-from-env.mjs.map +1 -0
- package/esm/cli/index.mjs +31 -0
- package/esm/cli/index.mjs.map +1 -0
- package/esm/cli/load-migrations.mjs +78 -0
- package/esm/cli/load-migrations.mjs.map +1 -0
- package/esm/cli/printers.mjs +57 -0
- package/esm/cli/printers.mjs.map +1 -0
- package/esm/cli/setup-logger.mjs +30 -0
- package/esm/cli/setup-logger.mjs.map +1 -0
- package/esm/cli/with-cli-connection.mjs +39 -0
- package/esm/cli/with-cli-connection.mjs.map +1 -0
- package/esm/cli.d.mts +1 -0
- package/esm/cli.mjs +26 -0
- package/esm/cli.mjs.map +1 -0
- package/esm/context/database-data-source-context.d.mts +32 -0
- package/esm/context/database-data-source-context.d.mts.map +1 -0
- package/esm/context/database-data-source-context.mjs +35 -0
- package/esm/context/database-data-source-context.mjs.map +1 -0
- package/esm/context/database-transaction-context.d.mts +38 -0
- package/esm/context/database-transaction-context.d.mts.map +1 -0
- package/esm/context/database-transaction-context.mjs +47 -0
- package/esm/context/database-transaction-context.mjs.map +1 -0
- package/esm/contracts/database-driver.contract.d.mts +443 -0
- package/esm/contracts/database-driver.contract.d.mts.map +1 -0
- package/esm/contracts/database-id-generator.contract.d.mts +109 -0
- package/esm/contracts/database-id-generator.contract.d.mts.map +1 -0
- package/esm/contracts/database-remover.contract.d.mts +108 -0
- package/esm/contracts/database-remover.contract.d.mts.map +1 -0
- package/esm/contracts/database-restorer.contract.d.mts +145 -0
- package/esm/contracts/database-restorer.contract.d.mts.map +1 -0
- package/esm/contracts/database-writer.contract.d.mts +123 -0
- package/esm/contracts/database-writer.contract.d.mts.map +1 -0
- package/esm/contracts/driver-blueprint.contract.d.mts +52 -0
- package/esm/contracts/driver-blueprint.contract.d.mts.map +1 -0
- package/esm/contracts/index.d.mts +9 -0
- package/esm/contracts/migration-driver.contract.d.mts +476 -0
- package/esm/contracts/migration-driver.contract.d.mts.map +1 -0
- package/esm/contracts/query-builder.contract.d.mts +1663 -0
- package/esm/contracts/query-builder.contract.d.mts.map +1 -0
- package/esm/contracts/sync-adapter.contract.d.mts +49 -0
- package/esm/contracts/sync-adapter.contract.d.mts.map +1 -0
- package/esm/data-source/data-source-registry.d.mts +111 -0
- package/esm/data-source/data-source-registry.d.mts.map +1 -0
- package/esm/data-source/data-source-registry.mjs +142 -0
- package/esm/data-source/data-source-registry.mjs.map +1 -0
- package/esm/data-source/data-source.d.mts +160 -0
- package/esm/data-source/data-source.d.mts.map +1 -0
- package/esm/data-source/data-source.mjs +87 -0
- package/esm/data-source/data-source.mjs.map +1 -0
- package/esm/database-dirty-tracker.d.mts +254 -0
- package/esm/database-dirty-tracker.d.mts.map +1 -0
- package/esm/database-dirty-tracker.mjs +356 -0
- package/esm/database-dirty-tracker.mjs.map +1 -0
- package/esm/drivers/mongodb/mongodb-blueprint.mjs +54 -0
- package/esm/drivers/mongodb/mongodb-blueprint.mjs.map +1 -0
- package/esm/drivers/mongodb/mongodb-driver.d.mts +334 -0
- package/esm/drivers/mongodb/mongodb-driver.d.mts.map +1 -0
- package/esm/drivers/mongodb/mongodb-driver.mjs +716 -0
- package/esm/drivers/mongodb/mongodb-driver.mjs.map +1 -0
- package/esm/drivers/mongodb/mongodb-id-generator.d.mts +120 -0
- package/esm/drivers/mongodb/mongodb-id-generator.d.mts.map +1 -0
- package/esm/drivers/mongodb/mongodb-id-generator.mjs +141 -0
- package/esm/drivers/mongodb/mongodb-id-generator.mjs.map +1 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.d.mts +322 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.d.mts.map +1 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.mjs +531 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.mjs.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-builder.d.mts +1117 -0
- package/esm/drivers/mongodb/mongodb-query-builder.d.mts.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-builder.mjs +1828 -0
- package/esm/drivers/mongodb/mongodb-query-builder.mjs.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-operations.d.mts +230 -0
- package/esm/drivers/mongodb/mongodb-query-operations.d.mts.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-operations.mjs +275 -0
- package/esm/drivers/mongodb/mongodb-query-operations.mjs.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-parser.d.mts +263 -0
- package/esm/drivers/mongodb/mongodb-query-parser.d.mts.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-parser.mjs +965 -0
- package/esm/drivers/mongodb/mongodb-query-parser.mjs.map +1 -0
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.mts +78 -0
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.mts.map +1 -0
- package/esm/drivers/mongodb/mongodb-sync-adapter.mjs +118 -0
- package/esm/drivers/mongodb/mongodb-sync-adapter.mjs.map +1 -0
- package/esm/drivers/mongodb/types.d.mts +43 -0
- package/esm/drivers/mongodb/types.d.mts.map +1 -0
- package/esm/drivers/postgres/index.d.mts +8 -0
- package/esm/drivers/postgres/index.mjs +9 -0
- package/esm/drivers/postgres/postgres-blueprint.d.mts +60 -0
- package/esm/drivers/postgres/postgres-blueprint.d.mts.map +1 -0
- package/esm/drivers/postgres/postgres-blueprint.mjs +105 -0
- package/esm/drivers/postgres/postgres-blueprint.mjs.map +1 -0
- package/esm/drivers/postgres/postgres-dialect.d.mts +144 -0
- package/esm/drivers/postgres/postgres-dialect.d.mts.map +1 -0
- package/esm/drivers/postgres/postgres-dialect.mjs +227 -0
- package/esm/drivers/postgres/postgres-dialect.mjs.map +1 -0
- package/esm/drivers/postgres/postgres-driver.d.mts +424 -0
- package/esm/drivers/postgres/postgres-driver.d.mts.map +1 -0
- package/esm/drivers/postgres/postgres-driver.mjs +845 -0
- package/esm/drivers/postgres/postgres-driver.mjs.map +1 -0
- package/esm/drivers/postgres/postgres-migration-driver.d.mts +393 -0
- package/esm/drivers/postgres/postgres-migration-driver.d.mts.map +1 -0
- package/esm/drivers/postgres/postgres-migration-driver.mjs +760 -0
- package/esm/drivers/postgres/postgres-migration-driver.mjs.map +1 -0
- package/esm/drivers/postgres/postgres-query-builder.d.mts +399 -0
- package/esm/drivers/postgres/postgres-query-builder.d.mts.map +1 -0
- package/esm/drivers/postgres/postgres-query-builder.mjs +1105 -0
- package/esm/drivers/postgres/postgres-query-builder.mjs.map +1 -0
- package/esm/drivers/postgres/postgres-query-parser.d.mts +351 -0
- package/esm/drivers/postgres/postgres-query-parser.d.mts.map +1 -0
- package/esm/drivers/postgres/postgres-query-parser.mjs +796 -0
- package/esm/drivers/postgres/postgres-query-parser.mjs.map +1 -0
- package/esm/drivers/postgres/postgres-sql-serializer.mjs +260 -0
- package/esm/drivers/postgres/postgres-sql-serializer.mjs.map +1 -0
- package/esm/drivers/postgres/postgres-sync-adapter.d.mts +79 -0
- package/esm/drivers/postgres/postgres-sync-adapter.d.mts.map +1 -0
- package/esm/drivers/postgres/postgres-sync-adapter.mjs +162 -0
- package/esm/drivers/postgres/postgres-sync-adapter.mjs.map +1 -0
- package/esm/drivers/postgres/types.d.mts +105 -0
- package/esm/drivers/postgres/types.d.mts.map +1 -0
- package/esm/drivers/sql/sql-dialect.contract.d.mts +221 -0
- package/esm/drivers/sql/sql-dialect.contract.d.mts.map +1 -0
- package/esm/drivers/sql/sql-types.d.mts +150 -0
- package/esm/drivers/sql/sql-types.d.mts.map +1 -0
- package/esm/errors/missing-data-source.error.d.mts +25 -0
- package/esm/errors/missing-data-source.error.d.mts.map +1 -0
- package/esm/errors/missing-data-source.error.mjs +31 -0
- package/esm/errors/missing-data-source.error.mjs.map +1 -0
- package/esm/errors/transaction-rollback.error.d.mts +23 -0
- package/esm/errors/transaction-rollback.error.d.mts.map +1 -0
- package/esm/errors/transaction-rollback.error.mjs +29 -0
- package/esm/errors/transaction-rollback.error.mjs.map +1 -0
- package/esm/events/model-events.d.mts +234 -0
- package/esm/events/model-events.d.mts.map +1 -0
- package/esm/events/model-events.mjs +254 -0
- package/esm/events/model-events.mjs.map +1 -0
- package/esm/expressions/aggregate-expressions.d.mts +224 -0
- package/esm/expressions/aggregate-expressions.d.mts.map +1 -0
- package/esm/expressions/aggregate-expressions.mjs +232 -0
- package/esm/expressions/aggregate-expressions.mjs.map +1 -0
- package/esm/index.d.mts +67 -0
- package/esm/index.mjs +53 -0
- package/esm/migration/column-builder.d.mts +420 -0
- package/esm/migration/column-builder.d.mts.map +1 -0
- package/esm/migration/column-builder.mjs +532 -0
- package/esm/migration/column-builder.mjs.map +1 -0
- package/esm/migration/column-helpers.d.mts +280 -0
- package/esm/migration/column-helpers.d.mts.map +1 -0
- package/esm/migration/column-helpers.mjs +376 -0
- package/esm/migration/column-helpers.mjs.map +1 -0
- package/esm/migration/foreign-key-builder.d.mts +106 -0
- package/esm/migration/foreign-key-builder.d.mts.map +1 -0
- package/esm/migration/foreign-key-builder.mjs +126 -0
- package/esm/migration/foreign-key-builder.mjs.map +1 -0
- package/esm/migration/index.d.mts +6 -0
- package/esm/migration/index.mjs +7 -0
- package/esm/migration/migration-runner.d.mts +279 -0
- package/esm/migration/migration-runner.d.mts.map +1 -0
- package/esm/migration/migration-runner.mjs +662 -0
- package/esm/migration/migration-runner.mjs.map +1 -0
- package/esm/migration/migration.d.mts +2035 -0
- package/esm/migration/migration.d.mts.map +1 -0
- package/esm/migration/migration.mjs +2083 -0
- package/esm/migration/migration.mjs.map +1 -0
- package/esm/migration/sql-grammar.mjs +115 -0
- package/esm/migration/sql-grammar.mjs.map +1 -0
- package/esm/migration/sql-serializer.d.mts +26 -0
- package/esm/migration/sql-serializer.d.mts.map +1 -0
- package/esm/migration/sql-serializer.mjs +26 -0
- package/esm/migration/sql-serializer.mjs.map +1 -0
- package/esm/migration/types.d.mts +136 -0
- package/esm/migration/types.d.mts.map +1 -0
- package/esm/model/methods/accessor-methods.mjs +54 -0
- package/esm/model/methods/accessor-methods.mjs.map +1 -0
- package/esm/model/methods/delete-methods.mjs +16 -0
- package/esm/model/methods/delete-methods.mjs.map +1 -0
- package/esm/model/methods/dirty-methods.mjs +20 -0
- package/esm/model/methods/dirty-methods.mjs.map +1 -0
- package/esm/model/methods/hydration-methods.mjs +51 -0
- package/esm/model/methods/hydration-methods.mjs.map +1 -0
- package/esm/model/methods/instance-event-methods.mjs +22 -0
- package/esm/model/methods/instance-event-methods.mjs.map +1 -0
- package/esm/model/methods/meta-methods.mjs +36 -0
- package/esm/model/methods/meta-methods.mjs.map +1 -0
- package/esm/model/methods/pivot-methods.mjs +48 -0
- package/esm/model/methods/pivot-methods.mjs.map +1 -0
- package/esm/model/methods/query-methods.mjs +121 -0
- package/esm/model/methods/query-methods.mjs.map +1 -0
- package/esm/model/methods/restore-methods.mjs +16 -0
- package/esm/model/methods/restore-methods.mjs.map +1 -0
- package/esm/model/methods/scope-methods.mjs +20 -0
- package/esm/model/methods/scope-methods.mjs.map +1 -0
- package/esm/model/methods/serialization-methods.mjs +20 -0
- package/esm/model/methods/serialization-methods.mjs.map +1 -0
- package/esm/model/methods/static-event-methods.mjs +37 -0
- package/esm/model/methods/static-event-methods.mjs.map +1 -0
- package/esm/model/methods/write-methods.mjs +69 -0
- package/esm/model/methods/write-methods.mjs.map +1 -0
- package/esm/model/model.d.mts +1778 -0
- package/esm/model/model.d.mts.map +1 -0
- package/esm/model/model.mjs +1762 -0
- package/esm/model/model.mjs.map +1 -0
- package/esm/model/model.types.d.mts +47 -0
- package/esm/model/model.types.d.mts.map +1 -0
- package/esm/model/register-model.d.mts +140 -0
- package/esm/model/register-model.d.mts.map +1 -0
- package/esm/model/register-model.mjs +175 -0
- package/esm/model/register-model.mjs.map +1 -0
- package/esm/model/relation-decorators.d.mts +88 -0
- package/esm/model/relation-decorators.d.mts.map +1 -0
- package/esm/model/relation-decorators.mjs +191 -0
- package/esm/model/relation-decorators.mjs.map +1 -0
- package/esm/operations/database.d.mts +46 -0
- package/esm/operations/database.d.mts.map +1 -0
- package/esm/operations/database.mjs +40 -0
- package/esm/operations/database.mjs.map +1 -0
- package/esm/operations/index.d.mts +2 -0
- package/esm/operations/index.mjs +4 -0
- package/esm/operations/migrations.d.mts +71 -0
- package/esm/operations/migrations.d.mts.map +1 -0
- package/esm/operations/migrations.mjs +70 -0
- package/esm/operations/migrations.mjs.map +1 -0
- package/esm/query-builder/query-builder.d.mts +564 -0
- package/esm/query-builder/query-builder.d.mts.map +1 -0
- package/esm/query-builder/query-builder.mjs +1097 -0
- package/esm/query-builder/query-builder.mjs.map +1 -0
- package/esm/relations/index.d.mts +4 -0
- package/esm/relations/index.mjs +5 -0
- package/esm/relations/key-conventions.mjs +119 -0
- package/esm/relations/key-conventions.mjs.map +1 -0
- package/esm/relations/pivot-operations.d.mts +155 -0
- package/esm/relations/pivot-operations.d.mts.map +1 -0
- package/esm/relations/pivot-operations.mjs +232 -0
- package/esm/relations/pivot-operations.mjs.map +1 -0
- package/esm/relations/relation-hydrator.d.mts +55 -0
- package/esm/relations/relation-hydrator.d.mts.map +1 -0
- package/esm/relations/relation-hydrator.mjs +52 -0
- package/esm/relations/relation-hydrator.mjs.map +1 -0
- package/esm/relations/relation-loader.d.mts +190 -0
- package/esm/relations/relation-loader.d.mts.map +1 -0
- package/esm/relations/relation-loader.mjs +416 -0
- package/esm/relations/relation-loader.mjs.map +1 -0
- package/esm/relations/types.d.mts +317 -0
- package/esm/relations/types.d.mts.map +1 -0
- package/esm/remover/database-remover.d.mts +104 -0
- package/esm/remover/database-remover.d.mts.map +1 -0
- package/esm/remover/database-remover.mjs +174 -0
- package/esm/remover/database-remover.mjs.map +1 -0
- package/esm/restorer/database-restorer.d.mts +135 -0
- package/esm/restorer/database-restorer.d.mts.map +1 -0
- package/esm/restorer/database-restorer.mjs +316 -0
- package/esm/restorer/database-restorer.mjs.map +1 -0
- package/esm/sql-database-dirty-tracker.d.mts +17 -0
- package/esm/sql-database-dirty-tracker.d.mts.map +1 -0
- package/esm/sql-database-dirty-tracker.mjs +20 -0
- package/esm/sql-database-dirty-tracker.mjs.map +1 -0
- package/esm/sync/model-events.mjs +46 -0
- package/esm/sync/model-events.mjs.map +1 -0
- package/esm/sync/model-sync-operation.d.mts +159 -0
- package/esm/sync/model-sync-operation.d.mts.map +1 -0
- package/esm/sync/model-sync-operation.mjs +257 -0
- package/esm/sync/model-sync-operation.mjs.map +1 -0
- package/esm/sync/model-sync.d.mts +126 -0
- package/esm/sync/model-sync.d.mts.map +1 -0
- package/esm/sync/model-sync.mjs +157 -0
- package/esm/sync/model-sync.mjs.map +1 -0
- package/esm/sync/sync-context.d.mts +69 -0
- package/esm/sync/sync-context.d.mts.map +1 -0
- package/esm/sync/sync-context.mjs +95 -0
- package/esm/sync/sync-context.mjs.map +1 -0
- package/esm/sync/sync-manager.d.mts +213 -0
- package/esm/sync/sync-manager.d.mts.map +1 -0
- package/esm/sync/sync-manager.mjs +597 -0
- package/esm/sync/sync-manager.mjs.map +1 -0
- package/esm/sync/types.d.mts +215 -0
- package/esm/sync/types.d.mts.map +1 -0
- package/esm/types.d.mts +423 -0
- package/esm/types.d.mts.map +1 -0
- package/esm/utils/connect-to-database.d.mts +328 -0
- package/esm/utils/connect-to-database.d.mts.map +1 -0
- package/esm/utils/connect-to-database.mjs +130 -0
- package/esm/utils/connect-to-database.mjs.map +1 -0
- package/esm/utils/database-writer.utils.d.mts +18 -0
- package/esm/utils/database-writer.utils.d.mts.map +1 -0
- package/esm/utils/database-writer.utils.mjs +25 -0
- package/esm/utils/database-writer.utils.mjs.map +1 -0
- package/esm/utils/define-model.d.mts +185 -0
- package/esm/utils/define-model.d.mts.map +1 -0
- package/esm/utils/define-model.mjs +105 -0
- package/esm/utils/define-model.mjs.map +1 -0
- package/esm/utils/is-valid-date-value.mjs +22 -0
- package/esm/utils/is-valid-date-value.mjs.map +1 -0
- package/esm/utils/once-connected.d.mts +150 -0
- package/esm/utils/once-connected.d.mts.map +1 -0
- package/esm/utils/once-connected.mjs +203 -0
- package/esm/utils/once-connected.mjs.map +1 -0
- package/esm/validation/database-seal-plugins.d.mts +1 -0
- package/esm/validation/database-seal-plugins.mjs +11 -0
- package/esm/validation/database-seal-plugins.mjs.map +1 -0
- package/esm/validation/database-writer-validation-error.d.mts +101 -0
- package/esm/validation/database-writer-validation-error.d.mts.map +1 -0
- package/esm/validation/database-writer-validation-error.mjs +153 -0
- package/esm/validation/database-writer-validation-error.mjs.map +1 -0
- package/esm/validation/index.d.mts +2 -0
- package/esm/validation/index.mjs +4 -0
- package/esm/validation/mutators/embed-mutator.mjs +26 -0
- package/esm/validation/mutators/embed-mutator.mjs.map +1 -0
- package/esm/validation/plugins/database-rules-plugin.d.mts +28 -0
- package/esm/validation/plugins/database-rules-plugin.d.mts.map +1 -0
- package/esm/validation/plugins/database-rules-plugin.mjs +43 -0
- package/esm/validation/plugins/database-rules-plugin.mjs.map +1 -0
- package/esm/validation/plugins/embed-validator-plugin.d.mts +17 -0
- package/esm/validation/plugins/embed-validator-plugin.d.mts.map +1 -0
- package/esm/validation/plugins/embed-validator-plugin.mjs +20 -0
- package/esm/validation/plugins/embed-validator-plugin.mjs.map +1 -0
- package/esm/validation/rules/database-model-rule.mjs +32 -0
- package/esm/validation/rules/database-model-rule.mjs.map +1 -0
- package/esm/validation/rules/exists-rule.mjs +29 -0
- package/esm/validation/rules/exists-rule.mjs.map +1 -0
- package/esm/validation/rules/unique-rule.mjs +43 -0
- package/esm/validation/rules/unique-rule.mjs.map +1 -0
- package/esm/validation/transformers/embed-model-transformer.mjs +17 -0
- package/esm/validation/transformers/embed-model-transformer.mjs.map +1 -0
- package/esm/validation/types.d.mts +43 -0
- package/esm/validation/types.d.mts.map +1 -0
- package/esm/validation/validators/embed-validator.d.mts +25 -0
- package/esm/validation/validators/embed-validator.d.mts.map +1 -0
- package/esm/validation/validators/embed-validator.mjs +42 -0
- package/esm/validation/validators/embed-validator.mjs.map +1 -0
- package/esm/writer/database-writer.d.mts +178 -0
- package/esm/writer/database-writer.d.mts.map +1 -0
- package/esm/writer/database-writer.mjs +317 -0
- package/esm/writer/database-writer.mjs.map +1 -0
- package/llms-full.txt +2027 -0
- package/llms.txt +23 -0
- package/package.json +60 -51
- package/skills/README.md +65 -0
- package/skills/aggregate-data/SKILL.md +102 -0
- package/skills/cascade-basics/SKILL.md +93 -0
- package/skills/configure-delete-strategy/SKILL.md +126 -0
- package/skills/define-model/SKILL.md +170 -0
- package/skills/define-relations/SKILL.md +171 -0
- package/skills/manage-data-sources/SKILL.md +140 -0
- package/skills/manage-transactions/SKILL.md +118 -0
- package/skills/paginate-results/SKILL.md +122 -0
- package/skills/perform-atomic-ops/SKILL.md +98 -0
- package/skills/query-data/SKILL.md +168 -0
- package/skills/run-cascade-cli/SKILL.md +125 -0
- package/skills/search-by-vector/SKILL.md +127 -0
- package/skills/subscribe-to-model-events/SKILL.md +148 -0
- package/skills/track-changes/SKILL.md +109 -0
- package/skills/write-migration/SKILL.md +144 -0
- package/cjs/context/database-data-source-context.d.ts +0 -29
- package/cjs/context/database-data-source-context.d.ts.map +0 -1
- package/cjs/context/database-data-source-context.js +0 -28
- package/cjs/context/database-data-source-context.js.map +0 -1
- package/cjs/context/database-transaction-context.d.ts +0 -35
- package/cjs/context/database-transaction-context.d.ts.map +0 -1
- package/cjs/context/database-transaction-context.js +0 -40
- package/cjs/context/database-transaction-context.js.map +0 -1
- package/cjs/contracts/database-driver.contract.d.ts +0 -450
- package/cjs/contracts/database-driver.contract.d.ts.map +0 -1
- package/cjs/contracts/database-id-generator.contract.d.ts +0 -109
- package/cjs/contracts/database-id-generator.contract.d.ts.map +0 -1
- package/cjs/contracts/database-remover.contract.d.ts +0 -104
- package/cjs/contracts/database-remover.contract.d.ts.map +0 -1
- package/cjs/contracts/database-restorer.contract.d.ts +0 -143
- package/cjs/contracts/database-restorer.contract.d.ts.map +0 -1
- package/cjs/contracts/database-writer.contract.d.ts +0 -119
- package/cjs/contracts/database-writer.contract.d.ts.map +0 -1
- package/cjs/contracts/driver-blueprint.contract.d.ts +0 -49
- package/cjs/contracts/driver-blueprint.contract.d.ts.map +0 -1
- package/cjs/contracts/index.d.ts +0 -10
- package/cjs/contracts/index.d.ts.map +0 -1
- package/cjs/contracts/migration-driver.contract.d.ts +0 -522
- package/cjs/contracts/migration-driver.contract.d.ts.map +0 -1
- package/cjs/contracts/query-builder.contract.d.ts +0 -1609
- package/cjs/contracts/query-builder.contract.d.ts.map +0 -1
- package/cjs/contracts/sync-adapter.contract.d.ts +0 -58
- package/cjs/contracts/sync-adapter.contract.d.ts.map +0 -1
- package/cjs/data-source/data-source-registry.d.ts +0 -108
- package/cjs/data-source/data-source-registry.d.ts.map +0 -1
- package/cjs/data-source/data-source-registry.js +0 -145
- package/cjs/data-source/data-source-registry.js.map +0 -1
- package/cjs/data-source/data-source.d.ts +0 -147
- package/cjs/data-source/data-source.d.ts.map +0 -1
- package/cjs/data-source/data-source.js +0 -83
- package/cjs/data-source/data-source.js.map +0 -1
- package/cjs/database-dirty-tracker.d.ts +0 -252
- package/cjs/database-dirty-tracker.d.ts.map +0 -1
- package/cjs/database-dirty-tracker.js +0 -386
- package/cjs/database-dirty-tracker.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
- package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-blueprint.js +0 -51
- package/cjs/drivers/mongodb/mongodb-blueprint.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-driver.d.ts +0 -325
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-driver.js +0 -845
- package/cjs/drivers/mongodb/mongodb-driver.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
- package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-id-generator.js +0 -149
- package/cjs/drivers/mongodb/mongodb-id-generator.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.js +0 -666
- package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-builder.js +0 -1988
- package/cjs/drivers/mongodb/mongodb-query-builder.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
- package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-operations.js +0 -270
- package/cjs/drivers/mongodb/mongodb-query-operations.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
- package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-query-parser.js +0 -1351
- package/cjs/drivers/mongodb/mongodb-query-parser.js.map +0 -1
- package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
- package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-sync-adapter.js +0 -146
- package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
- package/cjs/drivers/mongodb/types.d.ts +0 -43
- package/cjs/drivers/mongodb/types.d.ts.map +0 -1
- package/cjs/drivers/postgres/index.d.ts +0 -16
- package/cjs/drivers/postgres/index.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-blueprint.d.ts +0 -64
- package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-blueprint.js +0 -121
- package/cjs/drivers/postgres/postgres-blueprint.js.map +0 -1
- package/cjs/drivers/postgres/postgres-dialect.d.ts +0 -136
- package/cjs/drivers/postgres/postgres-dialect.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-dialect.js +0 -268
- package/cjs/drivers/postgres/postgres-dialect.js.map +0 -1
- package/cjs/drivers/postgres/postgres-driver.d.ts +0 -432
- package/cjs/drivers/postgres/postgres-driver.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-driver.js +0 -1008
- package/cjs/drivers/postgres/postgres-driver.js.map +0 -1
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts +0 -397
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-migration-driver.js +0 -900
- package/cjs/drivers/postgres/postgres-migration-driver.js.map +0 -1
- package/cjs/drivers/postgres/postgres-query-builder.d.ts +0 -254
- package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-query-builder.js +0 -933
- package/cjs/drivers/postgres/postgres-query-builder.js.map +0 -1
- package/cjs/drivers/postgres/postgres-query-parser.d.ts +0 -328
- package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-query-parser.js +0 -868
- package/cjs/drivers/postgres/postgres-query-parser.js.map +0 -1
- package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
- package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-sql-serializer.js +0 -400
- package/cjs/drivers/postgres/postgres-sql-serializer.js.map +0 -1
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
- package/cjs/drivers/postgres/postgres-sync-adapter.js +0 -204
- package/cjs/drivers/postgres/postgres-sync-adapter.js.map +0 -1
- package/cjs/drivers/postgres/types.d.ts +0 -144
- package/cjs/drivers/postgres/types.d.ts.map +0 -1
- package/cjs/drivers/sql/index.d.ts +0 -10
- package/cjs/drivers/sql/index.d.ts.map +0 -1
- package/cjs/drivers/sql/sql-dialect.contract.d.ts +0 -204
- package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
- package/cjs/drivers/sql/sql-types.d.ts +0 -202
- package/cjs/drivers/sql/sql-types.d.ts.map +0 -1
- package/cjs/errors/missing-data-source.error.d.ts +0 -22
- package/cjs/errors/missing-data-source.error.d.ts.map +0 -1
- package/cjs/errors/missing-data-source.error.js +0 -29
- package/cjs/errors/missing-data-source.error.js.map +0 -1
- package/cjs/errors/transaction-rollback.error.d.ts +0 -20
- package/cjs/errors/transaction-rollback.error.d.ts.map +0 -1
- package/cjs/errors/transaction-rollback.error.js +0 -27
- package/cjs/errors/transaction-rollback.error.js.map +0 -1
- package/cjs/events/model-events.d.ts +0 -231
- package/cjs/events/model-events.d.ts.map +0 -1
- package/cjs/events/model-events.js +0 -259
- package/cjs/events/model-events.js.map +0 -1
- package/cjs/expressions/aggregate-expressions.d.ts +0 -215
- package/cjs/expressions/aggregate-expressions.d.ts.map +0 -1
- package/cjs/expressions/aggregate-expressions.js +0 -221
- package/cjs/expressions/aggregate-expressions.js.map +0 -1
- package/cjs/expressions/index.d.ts +0 -2
- package/cjs/expressions/index.d.ts.map +0 -1
- package/cjs/index.d.ts +0 -45
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/migration/column-builder.d.ts +0 -417
- package/cjs/migration/column-builder.d.ts.map +0 -1
- package/cjs/migration/column-builder.js +0 -586
- package/cjs/migration/column-builder.js.map +0 -1
- package/cjs/migration/column-helpers.d.ts +0 -275
- package/cjs/migration/column-helpers.d.ts.map +0 -1
- package/cjs/migration/column-helpers.js +0 -389
- package/cjs/migration/column-helpers.js.map +0 -1
- package/cjs/migration/foreign-key-builder.d.ts +0 -103
- package/cjs/migration/foreign-key-builder.d.ts.map +0 -1
- package/cjs/migration/foreign-key-builder.js +0 -121
- package/cjs/migration/foreign-key-builder.js.map +0 -1
- package/cjs/migration/index.d.ts +0 -7
- package/cjs/migration/index.d.ts.map +0 -1
- package/cjs/migration/migration-runner.d.ts +0 -278
- package/cjs/migration/migration-runner.d.ts.map +0 -1
- package/cjs/migration/migration-runner.js +0 -815
- package/cjs/migration/migration-runner.js.map +0 -1
- package/cjs/migration/migration.d.ts +0 -1988
- package/cjs/migration/migration.d.ts.map +0 -1
- package/cjs/migration/migration.js +0 -2162
- package/cjs/migration/migration.js.map +0 -1
- package/cjs/migration/sql-grammar.d.ts +0 -61
- package/cjs/migration/sql-grammar.d.ts.map +0 -1
- package/cjs/migration/sql-grammar.js +0 -164
- package/cjs/migration/sql-grammar.js.map +0 -1
- package/cjs/migration/sql-serializer.d.ts +0 -22
- package/cjs/migration/sql-serializer.d.ts.map +0 -1
- package/cjs/migration/sql-serializer.js +0 -26
- package/cjs/migration/sql-serializer.js.map +0 -1
- package/cjs/migration/types.d.ts +0 -155
- package/cjs/migration/types.d.ts.map +0 -1
- package/cjs/model/methods/accessor-methods.d.ts +0 -13
- package/cjs/model/methods/accessor-methods.d.ts.map +0 -1
- package/cjs/model/methods/accessor-methods.js +0 -51
- package/cjs/model/methods/accessor-methods.js.map +0 -1
- package/cjs/model/methods/delete-methods.d.ts +0 -10
- package/cjs/model/methods/delete-methods.d.ts.map +0 -1
- package/cjs/model/methods/delete-methods.js +0 -10
- package/cjs/model/methods/delete-methods.js.map +0 -1
- package/cjs/model/methods/dirty-methods.d.ts +0 -10
- package/cjs/model/methods/dirty-methods.d.ts.map +0 -1
- package/cjs/model/methods/dirty-methods.js +0 -15
- package/cjs/model/methods/dirty-methods.js.map +0 -1
- package/cjs/model/methods/hydration-methods.d.ts +0 -10
- package/cjs/model/methods/hydration-methods.d.ts.map +0 -1
- package/cjs/model/methods/hydration-methods.js +0 -57
- package/cjs/model/methods/hydration-methods.js.map +0 -1
- package/cjs/model/methods/instance-event-methods.d.ts +0 -7
- package/cjs/model/methods/instance-event-methods.d.ts.map +0 -1
- package/cjs/model/methods/instance-event-methods.js +0 -15
- package/cjs/model/methods/instance-event-methods.js.map +0 -1
- package/cjs/model/methods/meta-methods.d.ts +0 -7
- package/cjs/model/methods/meta-methods.d.ts.map +0 -1
- package/cjs/model/methods/meta-methods.js +0 -78
- package/cjs/model/methods/meta-methods.js.map +0 -1
- package/cjs/model/methods/query-methods.d.ts +0 -24
- package/cjs/model/methods/query-methods.d.ts.map +0 -1
- package/cjs/model/methods/query-methods.js +0 -164
- package/cjs/model/methods/query-methods.js.map +0 -1
- package/cjs/model/methods/restore-methods.d.ts +0 -10
- package/cjs/model/methods/restore-methods.d.ts.map +0 -1
- package/cjs/model/methods/restore-methods.js +0 -13
- package/cjs/model/methods/restore-methods.js.map +0 -1
- package/cjs/model/methods/scope-methods.d.ts +0 -7
- package/cjs/model/methods/scope-methods.d.ts.map +0 -1
- package/cjs/model/methods/scope-methods.js +0 -15
- package/cjs/model/methods/scope-methods.js.map +0 -1
- package/cjs/model/methods/serialization-methods.d.ts +0 -3
- package/cjs/model/methods/serialization-methods.d.ts.map +0 -1
- package/cjs/model/methods/serialization-methods.js +0 -27
- package/cjs/model/methods/serialization-methods.js.map +0 -1
- package/cjs/model/methods/static-event-methods.d.ts +0 -9
- package/cjs/model/methods/static-event-methods.d.ts.map +0 -1
- package/cjs/model/methods/static-event-methods.js +0 -29
- package/cjs/model/methods/static-event-methods.js.map +0 -1
- package/cjs/model/methods/write-methods.d.ts +0 -10
- package/cjs/model/methods/write-methods.d.ts.map +0 -1
- package/cjs/model/methods/write-methods.js +0 -52
- package/cjs/model/methods/write-methods.js.map +0 -1
- package/cjs/model/model.d.ts +0 -1647
- package/cjs/model/model.d.ts.map +0 -1
- package/cjs/model/model.js +0 -1657
- package/cjs/model/model.js.map +0 -1
- package/cjs/model/model.types.d.ts +0 -44
- package/cjs/model/model.types.d.ts.map +0 -1
- package/cjs/model/register-model.d.ts +0 -81
- package/cjs/model/register-model.d.ts.map +0 -1
- package/cjs/model/register-model.js +0 -94
- package/cjs/model/register-model.js.map +0 -1
- package/cjs/query-builder/query-builder.d.ts +0 -556
- package/cjs/query-builder/query-builder.d.ts.map +0 -1
- package/cjs/query-builder/query-builder.js +0 -1070
- package/cjs/query-builder/query-builder.js.map +0 -1
- package/cjs/relations/helpers.d.ts +0 -156
- package/cjs/relations/helpers.d.ts.map +0 -1
- package/cjs/relations/helpers.js +0 -202
- package/cjs/relations/helpers.js.map +0 -1
- package/cjs/relations/index.d.ts +0 -35
- package/cjs/relations/index.d.ts.map +0 -1
- package/cjs/relations/pivot-operations.d.ts +0 -160
- package/cjs/relations/pivot-operations.d.ts.map +0 -1
- package/cjs/relations/pivot-operations.js +0 -293
- package/cjs/relations/pivot-operations.js.map +0 -1
- package/cjs/relations/relation-hydrator.d.ts +0 -68
- package/cjs/relations/relation-hydrator.d.ts.map +0 -1
- package/cjs/relations/relation-hydrator.js +0 -81
- package/cjs/relations/relation-hydrator.js.map +0 -1
- package/cjs/relations/relation-loader.d.ts +0 -194
- package/cjs/relations/relation-loader.d.ts.map +0 -1
- package/cjs/relations/relation-loader.js +0 -466
- package/cjs/relations/relation-loader.js.map +0 -1
- package/cjs/relations/types.d.ts +0 -306
- package/cjs/relations/types.d.ts.map +0 -1
- package/cjs/remover/database-remover.d.ts +0 -100
- package/cjs/remover/database-remover.d.ts.map +0 -1
- package/cjs/remover/database-remover.js +0 -214
- package/cjs/remover/database-remover.js.map +0 -1
- package/cjs/restorer/database-restorer.d.ts +0 -131
- package/cjs/restorer/database-restorer.d.ts.map +0 -1
- package/cjs/restorer/database-restorer.js +0 -434
- package/cjs/restorer/database-restorer.js.map +0 -1
- package/cjs/sql-database-dirty-tracker.d.ts +0 -13
- package/cjs/sql-database-dirty-tracker.d.ts.map +0 -1
- package/cjs/sql-database-dirty-tracker.js +0 -14
- package/cjs/sql-database-dirty-tracker.js.map +0 -1
- package/cjs/sync/index.d.ts +0 -12
- package/cjs/sync/index.d.ts.map +0 -1
- package/cjs/sync/model-events.d.ts +0 -62
- package/cjs/sync/model-events.d.ts.map +0 -1
- package/cjs/sync/model-events.js +0 -49
- package/cjs/sync/model-events.js.map +0 -1
- package/cjs/sync/model-sync-operation.d.ts +0 -163
- package/cjs/sync/model-sync-operation.d.ts.map +0 -1
- package/cjs/sync/model-sync-operation.js +0 -292
- package/cjs/sync/model-sync-operation.js.map +0 -1
- package/cjs/sync/model-sync.d.ts +0 -130
- package/cjs/sync/model-sync.d.ts.map +0 -1
- package/cjs/sync/model-sync.js +0 -178
- package/cjs/sync/model-sync.js.map +0 -1
- package/cjs/sync/sync-context.d.ts +0 -70
- package/cjs/sync/sync-context.d.ts.map +0 -1
- package/cjs/sync/sync-context.js +0 -101
- package/cjs/sync/sync-context.js.map +0 -1
- package/cjs/sync/sync-manager.d.ts +0 -213
- package/cjs/sync/sync-manager.d.ts.map +0 -1
- package/cjs/sync/sync-manager.js +0 -689
- package/cjs/sync/sync-manager.js.map +0 -1
- package/cjs/sync/types.d.ts +0 -289
- package/cjs/sync/types.d.ts.map +0 -1
- package/cjs/test-migrations/test-enhanced-features.migration.d.ts +0 -15
- package/cjs/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
- package/cjs/types.d.ts +0 -371
- package/cjs/types.d.ts.map +0 -1
- package/cjs/utils/connect-to-database.d.ts +0 -307
- package/cjs/utils/connect-to-database.d.ts.map +0 -1
- package/cjs/utils/connect-to-database.js +0 -130
- package/cjs/utils/connect-to-database.js.map +0 -1
- package/cjs/utils/database-writer.utils.d.ts +0 -15
- package/cjs/utils/database-writer.utils.d.ts.map +0 -1
- package/cjs/utils/database-writer.utils.js +0 -14
- package/cjs/utils/database-writer.utils.js.map +0 -1
- package/cjs/utils/define-model.js +0 -100
- package/cjs/utils/define-model.js.map +0 -1
- package/cjs/utils/is-valid-date-value.d.ts +0 -5
- package/cjs/utils/is-valid-date-value.d.ts.map +0 -1
- package/cjs/utils/is-valid-date-value.js +0 -25
- package/cjs/utils/is-valid-date-value.js.map +0 -1
- package/cjs/utils/once-connected.d.ts +0 -146
- package/cjs/utils/once-connected.d.ts.map +0 -1
- package/cjs/utils/once-connected.js +0 -251
- package/cjs/utils/once-connected.js.map +0 -1
- package/cjs/validation/database-seal-plugins.d.ts +0 -12
- package/cjs/validation/database-seal-plugins.d.ts.map +0 -1
- package/cjs/validation/database-seal-plugins.js +0 -1
- package/cjs/validation/database-seal-plugins.js.map +0 -1
- package/cjs/validation/database-writer-validation-error.d.ts +0 -97
- package/cjs/validation/database-writer-validation-error.d.ts.map +0 -1
- package/cjs/validation/database-writer-validation-error.js +0 -160
- package/cjs/validation/database-writer-validation-error.js.map +0 -1
- package/cjs/validation/index.d.ts +0 -3
- package/cjs/validation/index.d.ts.map +0 -1
- package/cjs/validation/mutators/embed-mutator.d.ts +0 -9
- package/cjs/validation/mutators/embed-mutator.d.ts.map +0 -1
- package/cjs/validation/mutators/embed-mutator.js +0 -33
- package/cjs/validation/mutators/embed-mutator.js.map +0 -1
- package/cjs/validation/plugins/embed-validator-plugin.d.ts +0 -24
- package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
- package/cjs/validation/plugins/embed-validator-plugin.js +0 -18
- package/cjs/validation/plugins/embed-validator-plugin.js.map +0 -1
- package/cjs/validation/rules/database-model-rule.d.ts +0 -7
- package/cjs/validation/rules/database-model-rule.d.ts.map +0 -1
- package/cjs/validation/rules/database-model-rule.js +0 -27
- package/cjs/validation/rules/database-model-rule.js.map +0 -1
- package/cjs/validation/transformers/embed-model-transformer.d.ts +0 -3
- package/cjs/validation/transformers/embed-model-transformer.d.ts.map +0 -1
- package/cjs/validation/transformers/embed-model-transformer.js +0 -18
- package/cjs/validation/transformers/embed-model-transformer.js.map +0 -1
- package/cjs/validation/validators/embed-validator.d.ts +0 -21
- package/cjs/validation/validators/embed-validator.d.ts.map +0 -1
- package/cjs/validation/validators/embed-validator.js +0 -43
- package/cjs/validation/validators/embed-validator.js.map +0 -1
- package/cjs/writer/database-writer.d.ts +0 -174
- package/cjs/writer/database-writer.d.ts.map +0 -1
- package/cjs/writer/database-writer.js +0 -400
- package/cjs/writer/database-writer.js.map +0 -1
- package/esm/context/database-data-source-context.d.ts +0 -29
- package/esm/context/database-data-source-context.d.ts.map +0 -1
- package/esm/context/database-data-source-context.js +0 -28
- package/esm/context/database-data-source-context.js.map +0 -1
- package/esm/context/database-transaction-context.d.ts +0 -35
- package/esm/context/database-transaction-context.d.ts.map +0 -1
- package/esm/context/database-transaction-context.js +0 -40
- package/esm/context/database-transaction-context.js.map +0 -1
- package/esm/contracts/database-driver.contract.d.ts +0 -450
- package/esm/contracts/database-driver.contract.d.ts.map +0 -1
- package/esm/contracts/database-id-generator.contract.d.ts +0 -109
- package/esm/contracts/database-id-generator.contract.d.ts.map +0 -1
- package/esm/contracts/database-remover.contract.d.ts +0 -104
- package/esm/contracts/database-remover.contract.d.ts.map +0 -1
- package/esm/contracts/database-restorer.contract.d.ts +0 -143
- package/esm/contracts/database-restorer.contract.d.ts.map +0 -1
- package/esm/contracts/database-writer.contract.d.ts +0 -119
- package/esm/contracts/database-writer.contract.d.ts.map +0 -1
- package/esm/contracts/driver-blueprint.contract.d.ts +0 -49
- package/esm/contracts/driver-blueprint.contract.d.ts.map +0 -1
- package/esm/contracts/index.d.ts +0 -10
- package/esm/contracts/index.d.ts.map +0 -1
- package/esm/contracts/migration-driver.contract.d.ts +0 -522
- package/esm/contracts/migration-driver.contract.d.ts.map +0 -1
- package/esm/contracts/query-builder.contract.d.ts +0 -1609
- package/esm/contracts/query-builder.contract.d.ts.map +0 -1
- package/esm/contracts/sync-adapter.contract.d.ts +0 -58
- package/esm/contracts/sync-adapter.contract.d.ts.map +0 -1
- package/esm/data-source/data-source-registry.d.ts +0 -108
- package/esm/data-source/data-source-registry.d.ts.map +0 -1
- package/esm/data-source/data-source-registry.js +0 -145
- package/esm/data-source/data-source-registry.js.map +0 -1
- package/esm/data-source/data-source.d.ts +0 -147
- package/esm/data-source/data-source.d.ts.map +0 -1
- package/esm/data-source/data-source.js +0 -83
- package/esm/data-source/data-source.js.map +0 -1
- package/esm/database-dirty-tracker.d.ts +0 -252
- package/esm/database-dirty-tracker.d.ts.map +0 -1
- package/esm/database-dirty-tracker.js +0 -386
- package/esm/database-dirty-tracker.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
- package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-blueprint.js +0 -51
- package/esm/drivers/mongodb/mongodb-blueprint.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-driver.d.ts +0 -325
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-driver.js +0 -845
- package/esm/drivers/mongodb/mongodb-driver.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
- package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-id-generator.js +0 -149
- package/esm/drivers/mongodb/mongodb-id-generator.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.js +0 -666
- package/esm/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-builder.js +0 -1988
- package/esm/drivers/mongodb/mongodb-query-builder.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
- package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-operations.js +0 -270
- package/esm/drivers/mongodb/mongodb-query-operations.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
- package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-query-parser.js +0 -1351
- package/esm/drivers/mongodb/mongodb-query-parser.js.map +0 -1
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-sync-adapter.js +0 -146
- package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
- package/esm/drivers/mongodb/types.d.ts +0 -43
- package/esm/drivers/mongodb/types.d.ts.map +0 -1
- package/esm/drivers/postgres/index.d.ts +0 -16
- package/esm/drivers/postgres/index.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-blueprint.d.ts +0 -64
- package/esm/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-blueprint.js +0 -121
- package/esm/drivers/postgres/postgres-blueprint.js.map +0 -1
- package/esm/drivers/postgres/postgres-dialect.d.ts +0 -136
- package/esm/drivers/postgres/postgres-dialect.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-dialect.js +0 -268
- package/esm/drivers/postgres/postgres-dialect.js.map +0 -1
- package/esm/drivers/postgres/postgres-driver.d.ts +0 -432
- package/esm/drivers/postgres/postgres-driver.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-driver.js +0 -1008
- package/esm/drivers/postgres/postgres-driver.js.map +0 -1
- package/esm/drivers/postgres/postgres-migration-driver.d.ts +0 -397
- package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-migration-driver.js +0 -900
- package/esm/drivers/postgres/postgres-migration-driver.js.map +0 -1
- package/esm/drivers/postgres/postgres-query-builder.d.ts +0 -254
- package/esm/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-query-builder.js +0 -933
- package/esm/drivers/postgres/postgres-query-builder.js.map +0 -1
- package/esm/drivers/postgres/postgres-query-parser.d.ts +0 -328
- package/esm/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-query-parser.js +0 -868
- package/esm/drivers/postgres/postgres-query-parser.js.map +0 -1
- package/esm/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
- package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-sql-serializer.js +0 -400
- package/esm/drivers/postgres/postgres-sql-serializer.js.map +0 -1
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
- package/esm/drivers/postgres/postgres-sync-adapter.js +0 -204
- package/esm/drivers/postgres/postgres-sync-adapter.js.map +0 -1
- package/esm/drivers/postgres/types.d.ts +0 -144
- package/esm/drivers/postgres/types.d.ts.map +0 -1
- package/esm/drivers/sql/index.d.ts +0 -10
- package/esm/drivers/sql/index.d.ts.map +0 -1
- package/esm/drivers/sql/sql-dialect.contract.d.ts +0 -204
- package/esm/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
- package/esm/drivers/sql/sql-types.d.ts +0 -202
- package/esm/drivers/sql/sql-types.d.ts.map +0 -1
- package/esm/errors/missing-data-source.error.d.ts +0 -22
- package/esm/errors/missing-data-source.error.d.ts.map +0 -1
- package/esm/errors/missing-data-source.error.js +0 -29
- package/esm/errors/missing-data-source.error.js.map +0 -1
- package/esm/errors/transaction-rollback.error.d.ts +0 -20
- package/esm/errors/transaction-rollback.error.d.ts.map +0 -1
- package/esm/errors/transaction-rollback.error.js +0 -27
- package/esm/errors/transaction-rollback.error.js.map +0 -1
- package/esm/events/model-events.d.ts +0 -231
- package/esm/events/model-events.d.ts.map +0 -1
- package/esm/events/model-events.js +0 -259
- package/esm/events/model-events.js.map +0 -1
- package/esm/expressions/aggregate-expressions.d.ts +0 -215
- package/esm/expressions/aggregate-expressions.d.ts.map +0 -1
- package/esm/expressions/aggregate-expressions.js +0 -221
- package/esm/expressions/aggregate-expressions.js.map +0 -1
- package/esm/expressions/index.d.ts +0 -2
- package/esm/expressions/index.d.ts.map +0 -1
- package/esm/index.d.ts +0 -45
- package/esm/index.d.ts.map +0 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +0 -1
- package/esm/migration/column-builder.d.ts +0 -417
- package/esm/migration/column-builder.d.ts.map +0 -1
- package/esm/migration/column-builder.js +0 -586
- package/esm/migration/column-builder.js.map +0 -1
- package/esm/migration/column-helpers.d.ts +0 -275
- package/esm/migration/column-helpers.d.ts.map +0 -1
- package/esm/migration/column-helpers.js +0 -389
- package/esm/migration/column-helpers.js.map +0 -1
- package/esm/migration/foreign-key-builder.d.ts +0 -103
- package/esm/migration/foreign-key-builder.d.ts.map +0 -1
- package/esm/migration/foreign-key-builder.js +0 -121
- package/esm/migration/foreign-key-builder.js.map +0 -1
- package/esm/migration/index.d.ts +0 -7
- package/esm/migration/index.d.ts.map +0 -1
- package/esm/migration/migration-runner.d.ts +0 -278
- package/esm/migration/migration-runner.d.ts.map +0 -1
- package/esm/migration/migration-runner.js +0 -815
- package/esm/migration/migration-runner.js.map +0 -1
- package/esm/migration/migration.d.ts +0 -1988
- package/esm/migration/migration.d.ts.map +0 -1
- package/esm/migration/migration.js +0 -2162
- package/esm/migration/migration.js.map +0 -1
- package/esm/migration/sql-grammar.d.ts +0 -61
- package/esm/migration/sql-grammar.d.ts.map +0 -1
- package/esm/migration/sql-grammar.js +0 -164
- package/esm/migration/sql-grammar.js.map +0 -1
- package/esm/migration/sql-serializer.d.ts +0 -22
- package/esm/migration/sql-serializer.d.ts.map +0 -1
- package/esm/migration/sql-serializer.js +0 -26
- package/esm/migration/sql-serializer.js.map +0 -1
- package/esm/migration/types.d.ts +0 -155
- package/esm/migration/types.d.ts.map +0 -1
- package/esm/model/methods/accessor-methods.d.ts +0 -13
- package/esm/model/methods/accessor-methods.d.ts.map +0 -1
- package/esm/model/methods/accessor-methods.js +0 -51
- package/esm/model/methods/accessor-methods.js.map +0 -1
- package/esm/model/methods/delete-methods.d.ts +0 -10
- package/esm/model/methods/delete-methods.d.ts.map +0 -1
- package/esm/model/methods/delete-methods.js +0 -10
- package/esm/model/methods/delete-methods.js.map +0 -1
- package/esm/model/methods/dirty-methods.d.ts +0 -10
- package/esm/model/methods/dirty-methods.d.ts.map +0 -1
- package/esm/model/methods/dirty-methods.js +0 -15
- package/esm/model/methods/dirty-methods.js.map +0 -1
- package/esm/model/methods/hydration-methods.d.ts +0 -10
- package/esm/model/methods/hydration-methods.d.ts.map +0 -1
- package/esm/model/methods/hydration-methods.js +0 -57
- package/esm/model/methods/hydration-methods.js.map +0 -1
- package/esm/model/methods/instance-event-methods.d.ts +0 -7
- package/esm/model/methods/instance-event-methods.d.ts.map +0 -1
- package/esm/model/methods/instance-event-methods.js +0 -15
- package/esm/model/methods/instance-event-methods.js.map +0 -1
- package/esm/model/methods/meta-methods.d.ts +0 -7
- package/esm/model/methods/meta-methods.d.ts.map +0 -1
- package/esm/model/methods/meta-methods.js +0 -78
- package/esm/model/methods/meta-methods.js.map +0 -1
- package/esm/model/methods/query-methods.d.ts +0 -24
- package/esm/model/methods/query-methods.d.ts.map +0 -1
- package/esm/model/methods/query-methods.js +0 -164
- package/esm/model/methods/query-methods.js.map +0 -1
- package/esm/model/methods/restore-methods.d.ts +0 -10
- package/esm/model/methods/restore-methods.d.ts.map +0 -1
- package/esm/model/methods/restore-methods.js +0 -13
- package/esm/model/methods/restore-methods.js.map +0 -1
- package/esm/model/methods/scope-methods.d.ts +0 -7
- package/esm/model/methods/scope-methods.d.ts.map +0 -1
- package/esm/model/methods/scope-methods.js +0 -15
- package/esm/model/methods/scope-methods.js.map +0 -1
- package/esm/model/methods/serialization-methods.d.ts +0 -3
- package/esm/model/methods/serialization-methods.d.ts.map +0 -1
- package/esm/model/methods/serialization-methods.js +0 -27
- package/esm/model/methods/serialization-methods.js.map +0 -1
- package/esm/model/methods/static-event-methods.d.ts +0 -9
- package/esm/model/methods/static-event-methods.d.ts.map +0 -1
- package/esm/model/methods/static-event-methods.js +0 -29
- package/esm/model/methods/static-event-methods.js.map +0 -1
- package/esm/model/methods/write-methods.d.ts +0 -10
- package/esm/model/methods/write-methods.d.ts.map +0 -1
- package/esm/model/methods/write-methods.js +0 -52
- package/esm/model/methods/write-methods.js.map +0 -1
- package/esm/model/model.d.ts +0 -1647
- package/esm/model/model.d.ts.map +0 -1
- package/esm/model/model.js +0 -1657
- package/esm/model/model.js.map +0 -1
- package/esm/model/model.types.d.ts +0 -44
- package/esm/model/model.types.d.ts.map +0 -1
- package/esm/model/register-model.d.ts +0 -81
- package/esm/model/register-model.d.ts.map +0 -1
- package/esm/model/register-model.js +0 -94
- package/esm/model/register-model.js.map +0 -1
- package/esm/query-builder/query-builder.d.ts +0 -556
- package/esm/query-builder/query-builder.d.ts.map +0 -1
- package/esm/query-builder/query-builder.js +0 -1070
- package/esm/query-builder/query-builder.js.map +0 -1
- package/esm/relations/helpers.d.ts +0 -156
- package/esm/relations/helpers.d.ts.map +0 -1
- package/esm/relations/helpers.js +0 -202
- package/esm/relations/helpers.js.map +0 -1
- package/esm/relations/index.d.ts +0 -35
- package/esm/relations/index.d.ts.map +0 -1
- package/esm/relations/pivot-operations.d.ts +0 -160
- package/esm/relations/pivot-operations.d.ts.map +0 -1
- package/esm/relations/pivot-operations.js +0 -293
- package/esm/relations/pivot-operations.js.map +0 -1
- package/esm/relations/relation-hydrator.d.ts +0 -68
- package/esm/relations/relation-hydrator.d.ts.map +0 -1
- package/esm/relations/relation-hydrator.js +0 -81
- package/esm/relations/relation-hydrator.js.map +0 -1
- package/esm/relations/relation-loader.d.ts +0 -194
- package/esm/relations/relation-loader.d.ts.map +0 -1
- package/esm/relations/relation-loader.js +0 -466
- package/esm/relations/relation-loader.js.map +0 -1
- package/esm/relations/types.d.ts +0 -306
- package/esm/relations/types.d.ts.map +0 -1
- package/esm/remover/database-remover.d.ts +0 -100
- package/esm/remover/database-remover.d.ts.map +0 -1
- package/esm/remover/database-remover.js +0 -214
- package/esm/remover/database-remover.js.map +0 -1
- package/esm/restorer/database-restorer.d.ts +0 -131
- package/esm/restorer/database-restorer.d.ts.map +0 -1
- package/esm/restorer/database-restorer.js +0 -434
- package/esm/restorer/database-restorer.js.map +0 -1
- package/esm/sql-database-dirty-tracker.d.ts +0 -13
- package/esm/sql-database-dirty-tracker.d.ts.map +0 -1
- package/esm/sql-database-dirty-tracker.js +0 -14
- package/esm/sql-database-dirty-tracker.js.map +0 -1
- package/esm/sync/index.d.ts +0 -12
- package/esm/sync/index.d.ts.map +0 -1
- package/esm/sync/model-events.d.ts +0 -62
- package/esm/sync/model-events.d.ts.map +0 -1
- package/esm/sync/model-events.js +0 -49
- package/esm/sync/model-events.js.map +0 -1
- package/esm/sync/model-sync-operation.d.ts +0 -163
- package/esm/sync/model-sync-operation.d.ts.map +0 -1
- package/esm/sync/model-sync-operation.js +0 -292
- package/esm/sync/model-sync-operation.js.map +0 -1
- package/esm/sync/model-sync.d.ts +0 -130
- package/esm/sync/model-sync.d.ts.map +0 -1
- package/esm/sync/model-sync.js +0 -178
- package/esm/sync/model-sync.js.map +0 -1
- package/esm/sync/sync-context.d.ts +0 -70
- package/esm/sync/sync-context.d.ts.map +0 -1
- package/esm/sync/sync-context.js +0 -101
- package/esm/sync/sync-context.js.map +0 -1
- package/esm/sync/sync-manager.d.ts +0 -213
- package/esm/sync/sync-manager.d.ts.map +0 -1
- package/esm/sync/sync-manager.js +0 -689
- package/esm/sync/sync-manager.js.map +0 -1
- package/esm/sync/types.d.ts +0 -289
- package/esm/sync/types.d.ts.map +0 -1
- package/esm/test-migrations/test-enhanced-features.migration.d.ts +0 -15
- package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
- package/esm/types.d.ts +0 -371
- package/esm/types.d.ts.map +0 -1
- package/esm/utils/connect-to-database.d.ts +0 -307
- package/esm/utils/connect-to-database.d.ts.map +0 -1
- package/esm/utils/connect-to-database.js +0 -130
- package/esm/utils/connect-to-database.js.map +0 -1
- package/esm/utils/database-writer.utils.d.ts +0 -15
- package/esm/utils/database-writer.utils.d.ts.map +0 -1
- package/esm/utils/database-writer.utils.js +0 -14
- package/esm/utils/database-writer.utils.js.map +0 -1
- package/esm/utils/define-model.js +0 -100
- package/esm/utils/define-model.js.map +0 -1
- package/esm/utils/is-valid-date-value.d.ts +0 -5
- package/esm/utils/is-valid-date-value.d.ts.map +0 -1
- package/esm/utils/is-valid-date-value.js +0 -25
- package/esm/utils/is-valid-date-value.js.map +0 -1
- package/esm/utils/once-connected.d.ts +0 -146
- package/esm/utils/once-connected.d.ts.map +0 -1
- package/esm/utils/once-connected.js +0 -251
- package/esm/utils/once-connected.js.map +0 -1
- package/esm/validation/database-seal-plugins.d.ts +0 -12
- package/esm/validation/database-seal-plugins.d.ts.map +0 -1
- package/esm/validation/database-seal-plugins.js +0 -1
- package/esm/validation/database-seal-plugins.js.map +0 -1
- package/esm/validation/database-writer-validation-error.d.ts +0 -97
- package/esm/validation/database-writer-validation-error.d.ts.map +0 -1
- package/esm/validation/database-writer-validation-error.js +0 -160
- package/esm/validation/database-writer-validation-error.js.map +0 -1
- package/esm/validation/index.d.ts +0 -3
- package/esm/validation/index.d.ts.map +0 -1
- package/esm/validation/mutators/embed-mutator.d.ts +0 -9
- package/esm/validation/mutators/embed-mutator.d.ts.map +0 -1
- package/esm/validation/mutators/embed-mutator.js +0 -33
- package/esm/validation/mutators/embed-mutator.js.map +0 -1
- package/esm/validation/plugins/embed-validator-plugin.d.ts +0 -24
- package/esm/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
- package/esm/validation/plugins/embed-validator-plugin.js +0 -18
- package/esm/validation/plugins/embed-validator-plugin.js.map +0 -1
- package/esm/validation/rules/database-model-rule.d.ts +0 -7
- package/esm/validation/rules/database-model-rule.d.ts.map +0 -1
- package/esm/validation/rules/database-model-rule.js +0 -27
- package/esm/validation/rules/database-model-rule.js.map +0 -1
- package/esm/validation/transformers/embed-model-transformer.d.ts +0 -3
- package/esm/validation/transformers/embed-model-transformer.d.ts.map +0 -1
- package/esm/validation/transformers/embed-model-transformer.js +0 -18
- package/esm/validation/transformers/embed-model-transformer.js.map +0 -1
- package/esm/validation/validators/embed-validator.d.ts +0 -21
- package/esm/validation/validators/embed-validator.d.ts.map +0 -1
- package/esm/validation/validators/embed-validator.js +0 -43
- package/esm/validation/validators/embed-validator.js.map +0 -1
- package/esm/writer/database-writer.d.ts +0 -174
- package/esm/writer/database-writer.d.ts.map +0 -1
- package/esm/writer/database-writer.js +0 -400
- package/esm/writer/database-writer.js.map +0 -1
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
//#region ../../@warlock.js/cascade/src/migration/column-builder.ts
|
|
2
|
+
/**
|
|
3
|
+
* Fluent builder for defining column properties.
|
|
4
|
+
*
|
|
5
|
+
* Allows chaining modifiers like `.nullable()`, `.unique()`, `.default()`.
|
|
6
|
+
* Each column builder is bound to a parent migration and accumulates
|
|
7
|
+
* the column definition through method chains.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* this.string("email")
|
|
12
|
+
* .nullable()
|
|
13
|
+
* .unique()
|
|
14
|
+
* .default("guest@example.com");
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* this.integer("age")
|
|
20
|
+
* .unsigned()
|
|
21
|
+
* .comment("User's age in years");
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
var ColumnBuilder = class {
|
|
25
|
+
migration;
|
|
26
|
+
/** Mutable column definition being accumulated */
|
|
27
|
+
definition;
|
|
28
|
+
/** Mutable foreign key definition, set when .references() is called */
|
|
29
|
+
fkDefinition;
|
|
30
|
+
/** Temporary storage for generated expression before .stored() or .virtual() is called */
|
|
31
|
+
generatedExpression;
|
|
32
|
+
/**
|
|
33
|
+
* Create a new column builder.
|
|
34
|
+
*
|
|
35
|
+
* @param migration - Parent migration instance for index registration
|
|
36
|
+
* @param name - Column name
|
|
37
|
+
* @param type - Column data type
|
|
38
|
+
* @param options - Optional initial configuration
|
|
39
|
+
*/
|
|
40
|
+
constructor(migration, name, type, options = {}) {
|
|
41
|
+
this.migration = migration;
|
|
42
|
+
this.definition = {
|
|
43
|
+
name,
|
|
44
|
+
type,
|
|
45
|
+
nullable: false,
|
|
46
|
+
...options
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Mark column as nullable (allows NULL values).
|
|
51
|
+
*
|
|
52
|
+
* @returns This builder for chaining
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* this.string("middleName").nullable();
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
nullable() {
|
|
60
|
+
this.definition.nullable = true;
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Mark column as not nullable (disallows NULL values).
|
|
65
|
+
*
|
|
66
|
+
* This is the default, but can be used for clarity.
|
|
67
|
+
*
|
|
68
|
+
* @returns This builder for chaining
|
|
69
|
+
*/
|
|
70
|
+
notNullable() {
|
|
71
|
+
this.definition.nullable = false;
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Set default value for the column as a raw SQL expression.
|
|
76
|
+
*
|
|
77
|
+
* The value will be used as-is in the SQL statement without escaping.
|
|
78
|
+
* Use this for database functions and expressions.
|
|
79
|
+
*
|
|
80
|
+
* @param value - Default value (SQL expression, number, or boolean)
|
|
81
|
+
* @returns This builder for chaining
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* this.uuid("id").default("gen_random_uuid()");
|
|
86
|
+
* this.timestamp("created_at").default("NOW()");
|
|
87
|
+
* this.integer("version").default(1);
|
|
88
|
+
* this.boolean("is_active").default(true);
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
default(value) {
|
|
92
|
+
this.definition.defaultValue = value;
|
|
93
|
+
this.definition.isRawDefault = true;
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Set default value for the column as a literal string.
|
|
98
|
+
*
|
|
99
|
+
* The value will be properly escaped and quoted in the SQL statement.
|
|
100
|
+
* Use this for literal string values, not SQL expressions.
|
|
101
|
+
*
|
|
102
|
+
* @param value - Default string value (will be escaped)
|
|
103
|
+
* @returns This builder for chaining
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* this.text("status").defaultString("active");
|
|
108
|
+
* this.text("greeting").defaultString("Hello, World!");
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
defaultString(value) {
|
|
112
|
+
this.definition.defaultValue = value;
|
|
113
|
+
this.definition.isRawDefault = false;
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Set default value to the current timestamp.
|
|
118
|
+
*
|
|
119
|
+
* Database-agnostic. Generates NOW() / CURRENT_TIMESTAMP / GETDATE() based on driver.
|
|
120
|
+
*
|
|
121
|
+
* @returns This builder for chaining
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* this.timestamp("created_at").useCurrent();
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
useCurrent() {
|
|
129
|
+
this.definition.defaultValue = { __type: "CURRENT_TIMESTAMP" };
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Set column to update to current timestamp on row update.
|
|
134
|
+
*
|
|
135
|
+
* MySQL only. Other databases ignore this.
|
|
136
|
+
*
|
|
137
|
+
* @returns This builder for chaining
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* this.timestamp("updated_at").useCurrent().useCurrentOnUpdate();
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
useCurrentOnUpdate() {
|
|
145
|
+
this.definition.onUpdateCurrent = true;
|
|
146
|
+
return this;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Add unique constraint/index on this column.
|
|
150
|
+
*
|
|
151
|
+
* Registers a pending unique index with the parent migration.
|
|
152
|
+
*
|
|
153
|
+
* @returns This builder for chaining
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* this.string("email").unique();
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
unique() {
|
|
161
|
+
this.migration.addPendingIndex({
|
|
162
|
+
columns: [this.definition.name],
|
|
163
|
+
unique: true
|
|
164
|
+
});
|
|
165
|
+
return this;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Add regular index on this column.
|
|
169
|
+
*
|
|
170
|
+
* Registers a pending index with the parent migration.
|
|
171
|
+
*
|
|
172
|
+
* @returns This builder for chaining
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* this.string("email").index();
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
index() {
|
|
180
|
+
this.migration.addPendingIndex({ columns: [this.definition.name] });
|
|
181
|
+
return this;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Add a vector search index on this column.
|
|
185
|
+
*
|
|
186
|
+
* Registers a pending vector index with the parent migration.
|
|
187
|
+
*
|
|
188
|
+
* @param options - Vector index options
|
|
189
|
+
* @returns This builder for chaining
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```typescript
|
|
193
|
+
* this.vector(1536).vectorIndex({ similarity: "cosine" });
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
vectorIndex(options = {}) {
|
|
197
|
+
if (this.migration.addPendingVectorIndex) this.migration.addPendingVectorIndex(this.definition.name, {
|
|
198
|
+
...options,
|
|
199
|
+
dimensions: this.definition.dimensions || 0
|
|
200
|
+
});
|
|
201
|
+
return this;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Mark as primary key.
|
|
205
|
+
*
|
|
206
|
+
* @returns This builder for chaining
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* ```typescript
|
|
210
|
+
* this.integer("id").primary();
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
primary() {
|
|
214
|
+
this.definition.primary = true;
|
|
215
|
+
return this;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Mark as auto-increment (numeric types only).
|
|
219
|
+
*
|
|
220
|
+
* SQL databases will use native AUTO_INCREMENT/SERIAL.
|
|
221
|
+
* NoSQL databases ignore this.
|
|
222
|
+
*
|
|
223
|
+
* @returns This builder for chaining
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```typescript
|
|
227
|
+
* this.integer("id").primary().autoIncrement();
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
autoIncrement() {
|
|
231
|
+
this.definition.autoIncrement = true;
|
|
232
|
+
return this;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Mark as unsigned (numeric types only).
|
|
236
|
+
*
|
|
237
|
+
* Disallows negative values and doubles the positive range.
|
|
238
|
+
*
|
|
239
|
+
* @returns This builder for chaining
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```typescript
|
|
243
|
+
* this.integer("age").unsigned();
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
unsigned() {
|
|
247
|
+
this.definition.unsigned = true;
|
|
248
|
+
return this;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Add comment/description to column.
|
|
252
|
+
*
|
|
253
|
+
* Stored as column metadata in the database.
|
|
254
|
+
*
|
|
255
|
+
* @param text - Comment text
|
|
256
|
+
* @returns This builder for chaining
|
|
257
|
+
*
|
|
258
|
+
* @example
|
|
259
|
+
* ```typescript
|
|
260
|
+
* this.string("sku").comment("Stock Keeping Unit code");
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
comment(text) {
|
|
264
|
+
this.definition.comment = text;
|
|
265
|
+
return this;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Add a CHECK constraint scoped to this column.
|
|
269
|
+
*
|
|
270
|
+
* @param expression - SQL CHECK expression (can reference the column by name)
|
|
271
|
+
* @param name - Constraint name (defaults to `check_<column>`)
|
|
272
|
+
* @returns This builder for chaining
|
|
273
|
+
*/
|
|
274
|
+
check(expression, name) {
|
|
275
|
+
this.definition.checkConstraint = {
|
|
276
|
+
expression,
|
|
277
|
+
name: name ?? `check_${this.definition.name}`
|
|
278
|
+
};
|
|
279
|
+
return this;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Position this column after another column.
|
|
283
|
+
*
|
|
284
|
+
* MySQL/MariaDB only. Ignored by PostgreSQL and NoSQL drivers.
|
|
285
|
+
*
|
|
286
|
+
* @param columnName - Column to position after
|
|
287
|
+
* @returns This builder for chaining
|
|
288
|
+
*
|
|
289
|
+
* @example
|
|
290
|
+
* ```typescript
|
|
291
|
+
* this.string("middle_name").after("first_name");
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
after(columnName) {
|
|
295
|
+
this.definition.after = columnName;
|
|
296
|
+
return this;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Position this column as the first column in the table.
|
|
300
|
+
*
|
|
301
|
+
* MySQL/MariaDB only. Ignored by PostgreSQL and NoSQL drivers.
|
|
302
|
+
*
|
|
303
|
+
* @returns This builder for chaining
|
|
304
|
+
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```typescript
|
|
307
|
+
* this.integer("id").primary().first();
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
first() {
|
|
311
|
+
this.definition.first = true;
|
|
312
|
+
return this;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Declare a foreign key constraint on this column.
|
|
316
|
+
*
|
|
317
|
+
* Accepts either a raw table-name string or a Model class (anything with a
|
|
318
|
+
* static `table` property). Using a Model class is preferred — it is
|
|
319
|
+
* type-safe and automatically tracks table renames.
|
|
320
|
+
*
|
|
321
|
+
* Pushes an `addForeignKey` operation immediately using a mutable reference —
|
|
322
|
+
* subsequent `.on()`, `.onDelete()`, `.onUpdate()` calls mutate the same
|
|
323
|
+
* definition that is already queued, so no `.add()` terminator is needed.
|
|
324
|
+
*
|
|
325
|
+
* Referenced column defaults to `"id"` — use `.on()` to override.
|
|
326
|
+
*
|
|
327
|
+
* @param tableOrModel - Referenced table name OR a Model class with a static `table` property
|
|
328
|
+
* @returns This builder for chaining
|
|
329
|
+
*
|
|
330
|
+
* @example
|
|
331
|
+
* ```typescript
|
|
332
|
+
* // Preferred — model class reference (type-safe, rename-proof)
|
|
333
|
+
* this.uuid("organization_id").references(Organization).onDelete("cascade");
|
|
334
|
+
*
|
|
335
|
+
* // Also supported — raw table string
|
|
336
|
+
* this.uuid("organization_id").references("organizations").onDelete("cascade");
|
|
337
|
+
* this.uuid("organization_id").references(Organization.table).onDelete("cascade");
|
|
338
|
+
* ```
|
|
339
|
+
*/
|
|
340
|
+
references(tableOrModel) {
|
|
341
|
+
const tableName = typeof tableOrModel === "string" ? tableOrModel : tableOrModel.table;
|
|
342
|
+
this.fkDefinition = {
|
|
343
|
+
column: this.definition.name,
|
|
344
|
+
referencesTable: tableName,
|
|
345
|
+
referencesColumn: "id",
|
|
346
|
+
onDelete: "restrict",
|
|
347
|
+
onUpdate: "restrict"
|
|
348
|
+
};
|
|
349
|
+
this.migration.addForeignKeyOperation(this.fkDefinition);
|
|
350
|
+
return this;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Set the referenced column for the foreign key.
|
|
354
|
+
*
|
|
355
|
+
* Only meaningful after `.references()`. Defaults to `"id"` if omitted.
|
|
356
|
+
*
|
|
357
|
+
* @param column - Referenced column name
|
|
358
|
+
* @returns This builder for chaining
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* ```typescript
|
|
362
|
+
* this.integer("user_id").references("users").on("custom_id");
|
|
363
|
+
* ```
|
|
364
|
+
*/
|
|
365
|
+
on(column) {
|
|
366
|
+
if (this.fkDefinition) this.fkDefinition.referencesColumn = column;
|
|
367
|
+
return this;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Set the ON DELETE action for the foreign key.
|
|
371
|
+
*
|
|
372
|
+
* Only meaningful after `.references()`.
|
|
373
|
+
*
|
|
374
|
+
* @param action - Action when the referenced row is deleted
|
|
375
|
+
* @returns This builder for chaining
|
|
376
|
+
*
|
|
377
|
+
* @example
|
|
378
|
+
* ```typescript
|
|
379
|
+
* this.integer("user_id").references("users").onDelete("cascade");
|
|
380
|
+
* ```
|
|
381
|
+
*/
|
|
382
|
+
onDelete(action) {
|
|
383
|
+
if (this.fkDefinition) this.fkDefinition.onDelete = action;
|
|
384
|
+
return this;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Set the ON UPDATE action for the foreign key.
|
|
388
|
+
*
|
|
389
|
+
* Only meaningful after `.references()`.
|
|
390
|
+
*
|
|
391
|
+
* @param action - Action when the referenced row's key is updated
|
|
392
|
+
* @returns This builder for chaining
|
|
393
|
+
*
|
|
394
|
+
* @example
|
|
395
|
+
* ```typescript
|
|
396
|
+
* this.integer("user_id").references("users").onUpdate("cascade");
|
|
397
|
+
* ```
|
|
398
|
+
*/
|
|
399
|
+
onUpdate(action) {
|
|
400
|
+
if (this.fkDefinition) this.fkDefinition.onUpdate = action;
|
|
401
|
+
return this;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Shorthand for `.onDelete("cascade").onUpdate("cascade")`.
|
|
405
|
+
*
|
|
406
|
+
* Only meaningful after `.references()`.
|
|
407
|
+
*
|
|
408
|
+
* @returns This builder for chaining
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* ```typescript
|
|
412
|
+
* this.integer("user_id").references("users").cascadeAll();
|
|
413
|
+
* ```
|
|
414
|
+
*/
|
|
415
|
+
cascadeAll() {
|
|
416
|
+
if (this.fkDefinition) {
|
|
417
|
+
this.fkDefinition.onDelete = "cascade";
|
|
418
|
+
this.fkDefinition.onUpdate = "cascade";
|
|
419
|
+
}
|
|
420
|
+
return this;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Mark this column definition as a modification of an existing column.
|
|
424
|
+
*
|
|
425
|
+
* Pushes a `modifyColumn` operation instead of `addColumn`.
|
|
426
|
+
* This method breaks the builder chain and returns the parent migration.
|
|
427
|
+
*
|
|
428
|
+
* @returns The parent migration instance (breaks builder chain)
|
|
429
|
+
*
|
|
430
|
+
* @example
|
|
431
|
+
* ```typescript
|
|
432
|
+
* // Make email nullable
|
|
433
|
+
* this.string("email").nullable().change();
|
|
434
|
+
*
|
|
435
|
+
* // Increase length
|
|
436
|
+
* this.string("name", 255).change();
|
|
437
|
+
*
|
|
438
|
+
* // Change type
|
|
439
|
+
* this.text("description").change();
|
|
440
|
+
* ```
|
|
441
|
+
*/
|
|
442
|
+
change() {
|
|
443
|
+
const operations = this.migration.pendingOperations;
|
|
444
|
+
const lastOp = operations[operations.length - 1];
|
|
445
|
+
if (lastOp?.type === "addColumn" && lastOp.payload === this.definition) operations.pop();
|
|
446
|
+
let pendingFkOp;
|
|
447
|
+
if (this.fkDefinition) {
|
|
448
|
+
const tail = operations[operations.length - 1];
|
|
449
|
+
if (tail?.type === "addForeignKey" && tail.payload === this.fkDefinition) pendingFkOp = operations.pop();
|
|
450
|
+
}
|
|
451
|
+
operations.push({
|
|
452
|
+
type: "modifyColumn",
|
|
453
|
+
payload: this.definition
|
|
454
|
+
});
|
|
455
|
+
if (pendingFkOp) operations.push(pendingFkOp);
|
|
456
|
+
return this.migration;
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* @alias change
|
|
460
|
+
*/
|
|
461
|
+
modify() {
|
|
462
|
+
return this.change();
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Mark this column as a generated column with the given SQL expression.
|
|
466
|
+
*
|
|
467
|
+
* Must be followed by `.stored()` or `.virtual()` to specify storage type.
|
|
468
|
+
*
|
|
469
|
+
* PostgreSQL: GENERATED ALWAYS AS (...) STORED
|
|
470
|
+
* MySQL: GENERATED ALWAYS AS (...) STORED | VIRTUAL
|
|
471
|
+
*
|
|
472
|
+
* @param expression - SQL expression to compute the value
|
|
473
|
+
* @returns This builder for chaining
|
|
474
|
+
*
|
|
475
|
+
* @example
|
|
476
|
+
* ```typescript
|
|
477
|
+
* this.string("full_name")
|
|
478
|
+
* .generatedAs("CONCAT(first_name, ' ', last_name)")
|
|
479
|
+
* .stored();
|
|
480
|
+
*
|
|
481
|
+
* this.decimal("price_with_tax")
|
|
482
|
+
* .generatedAs("price * 1.2")
|
|
483
|
+
* .virtual();
|
|
484
|
+
* ```
|
|
485
|
+
*/
|
|
486
|
+
generatedAs(expression) {
|
|
487
|
+
this.generatedExpression = expression;
|
|
488
|
+
return this;
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Mark the generated column as stored (computed and persisted to disk).
|
|
492
|
+
*
|
|
493
|
+
* Must be called after `.generatedAs()`.
|
|
494
|
+
*
|
|
495
|
+
* @returns This builder for chaining
|
|
496
|
+
*/
|
|
497
|
+
stored() {
|
|
498
|
+
if (this.generatedExpression) this.definition.generated = {
|
|
499
|
+
expression: this.generatedExpression,
|
|
500
|
+
stored: true
|
|
501
|
+
};
|
|
502
|
+
return this;
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Mark the generated column as virtual (computed on read, not stored).
|
|
506
|
+
*
|
|
507
|
+
* Must be called after `.generatedAs()`. Not supported by PostgreSQL.
|
|
508
|
+
*
|
|
509
|
+
* @returns This builder for chaining
|
|
510
|
+
*/
|
|
511
|
+
virtual() {
|
|
512
|
+
if (this.generatedExpression) this.definition.generated = {
|
|
513
|
+
expression: this.generatedExpression,
|
|
514
|
+
stored: false
|
|
515
|
+
};
|
|
516
|
+
return this;
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Get the built column definition.
|
|
520
|
+
*
|
|
521
|
+
* Called internally by the Migration class to extract the final definition.
|
|
522
|
+
*
|
|
523
|
+
* @returns The accumulated column definition
|
|
524
|
+
*/
|
|
525
|
+
getDefinition() {
|
|
526
|
+
return this.definition;
|
|
527
|
+
}
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
//#endregion
|
|
531
|
+
export { ColumnBuilder };
|
|
532
|
+
//# sourceMappingURL=column-builder.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-builder.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/migration/column-builder.ts"],"sourcesContent":["import type {\n ColumnDefinition,\n ColumnType,\n ForeignKeyDefinition,\n VectorIndexOptions,\n} from \"../contracts/migration-driver.contract\";\n\n/**\n * Reference to the Migration type to avoid circular imports.\n * The actual type is injected at runtime.\n */\ntype MigrationLike = {\n addPendingIndex(index: { columns: string[]; unique?: boolean }): void;\n addForeignKeyOperation(fk: ForeignKeyDefinition): void;\n addPendingVectorIndex?(column: string, options: Omit<VectorIndexOptions, \"column\">): void;\n};\n\n/**\n * Mutable foreign key definition being built via ColumnBuilder.\n */\ninterface MutableForeignKeyDefinition {\n name?: string;\n column: string;\n referencesTable: string;\n referencesColumn: string;\n onDelete: ForeignKeyDefinition[\"onDelete\"];\n onUpdate: ForeignKeyDefinition[\"onUpdate\"];\n}\n\n/**\n * Fluent builder for defining column properties.\n *\n * Allows chaining modifiers like `.nullable()`, `.unique()`, `.default()`.\n * Each column builder is bound to a parent migration and accumulates\n * the column definition through method chains.\n *\n * @example\n * ```typescript\n * this.string(\"email\")\n * .nullable()\n * .unique()\n * .default(\"guest@example.com\");\n * ```\n *\n * @example\n * ```typescript\n * this.integer(\"age\")\n * .unsigned()\n * .comment(\"User's age in years\");\n * ```\n */\nexport class ColumnBuilder {\n /** Mutable column definition being accumulated */\n private readonly definition: ColumnDefinition;\n\n /** Mutable foreign key definition, set when .references() is called */\n private fkDefinition?: MutableForeignKeyDefinition;\n\n /** Temporary storage for generated expression before .stored() or .virtual() is called */\n private generatedExpression?: string;\n\n /**\n * Create a new column builder.\n *\n * @param migration - Parent migration instance for index registration\n * @param name - Column name\n * @param type - Column data type\n * @param options - Optional initial configuration\n */\n public constructor(\n private readonly migration: MigrationLike,\n name: string,\n type: ColumnType,\n options: Partial<\n Pick<ColumnDefinition, \"length\" | \"precision\" | \"scale\" | \"dimensions\" | \"values\">\n > = {},\n ) {\n this.definition = {\n name,\n type,\n nullable: false,\n ...options,\n };\n }\n\n // ============================================================================\n // NULLABILITY\n // ============================================================================\n\n /**\n * Mark column as nullable (allows NULL values).\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.string(\"middleName\").nullable();\n * ```\n */\n public nullable(): this {\n this.definition.nullable = true;\n return this;\n }\n\n /**\n * Mark column as not nullable (disallows NULL values).\n *\n * This is the default, but can be used for clarity.\n *\n * @returns This builder for chaining\n */\n public notNullable(): this {\n this.definition.nullable = false;\n return this;\n }\n\n // ============================================================================\n // DEFAULT VALUES\n // ============================================================================\n\n /**\n * Set default value for the column as a raw SQL expression.\n *\n * The value will be used as-is in the SQL statement without escaping.\n * Use this for database functions and expressions.\n *\n * @param value - Default value (SQL expression, number, or boolean)\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.uuid(\"id\").default(\"gen_random_uuid()\");\n * this.timestamp(\"created_at\").default(\"NOW()\");\n * this.integer(\"version\").default(1);\n * this.boolean(\"is_active\").default(true);\n * ```\n */\n public default(value: string | number | boolean): this {\n this.definition.defaultValue = value;\n this.definition.isRawDefault = true;\n return this;\n }\n\n /**\n * Set default value for the column as a literal string.\n *\n * The value will be properly escaped and quoted in the SQL statement.\n * Use this for literal string values, not SQL expressions.\n *\n * @param value - Default string value (will be escaped)\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.text(\"status\").defaultString(\"active\");\n * this.text(\"greeting\").defaultString(\"Hello, World!\");\n * ```\n */\n public defaultString(value: string): this {\n this.definition.defaultValue = value;\n this.definition.isRawDefault = false;\n return this;\n }\n\n /**\n * Set default value to the current timestamp.\n *\n * Database-agnostic. Generates NOW() / CURRENT_TIMESTAMP / GETDATE() based on driver.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.timestamp(\"created_at\").useCurrent();\n * ```\n */\n public useCurrent(): this {\n this.definition.defaultValue = { __type: \"CURRENT_TIMESTAMP\" };\n return this;\n }\n\n /**\n * Set column to update to current timestamp on row update.\n *\n * MySQL only. Other databases ignore this.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.timestamp(\"updated_at\").useCurrent().useCurrentOnUpdate();\n * ```\n */\n public useCurrentOnUpdate(): this {\n this.definition.onUpdateCurrent = true;\n return this;\n }\n\n // ============================================================================\n // INDEXES\n // ============================================================================\n\n /**\n * Add unique constraint/index on this column.\n *\n * Registers a pending unique index with the parent migration.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.string(\"email\").unique();\n * ```\n */\n public unique(): this {\n this.migration.addPendingIndex({\n columns: [this.definition.name],\n unique: true,\n });\n return this;\n }\n\n /**\n * Add regular index on this column.\n *\n * Registers a pending index with the parent migration.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.string(\"email\").index();\n * ```\n */\n public index(): this {\n this.migration.addPendingIndex({\n columns: [this.definition.name],\n });\n return this;\n }\n\n /**\n * Add a vector search index on this column.\n *\n * Registers a pending vector index with the parent migration.\n *\n * @param options - Vector index options\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.vector(1536).vectorIndex({ similarity: \"cosine\" });\n * ```\n */\n public vectorIndex(options: Omit<VectorIndexOptions, \"dimensions\"> = {}): this {\n if (this.migration.addPendingVectorIndex) {\n this.migration.addPendingVectorIndex(this.definition.name, {\n ...options,\n dimensions: this.definition.dimensions || 0,\n });\n }\n return this;\n }\n\n // ============================================================================\n // PRIMARY KEY & AUTO INCREMENT\n // ============================================================================\n\n /**\n * Mark as primary key.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.integer(\"id\").primary();\n * ```\n */\n public primary(): this {\n this.definition.primary = true;\n return this;\n }\n\n /**\n * Mark as auto-increment (numeric types only).\n *\n * SQL databases will use native AUTO_INCREMENT/SERIAL.\n * NoSQL databases ignore this.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.integer(\"id\").primary().autoIncrement();\n * ```\n */\n public autoIncrement(): this {\n this.definition.autoIncrement = true;\n return this;\n }\n\n // ============================================================================\n // NUMERIC MODIFIERS\n // ============================================================================\n\n /**\n * Mark as unsigned (numeric types only).\n *\n * Disallows negative values and doubles the positive range.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.integer(\"age\").unsigned();\n * ```\n */\n public unsigned(): this {\n this.definition.unsigned = true;\n return this;\n }\n\n // ============================================================================\n // METADATA\n // ============================================================================\n\n /**\n * Add comment/description to column.\n *\n * Stored as column metadata in the database.\n *\n * @param text - Comment text\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.string(\"sku\").comment(\"Stock Keeping Unit code\");\n * ```\n */\n public comment(text: string): this {\n this.definition.comment = text;\n return this;\n }\n\n // ============================================================================\n // CONSTRAINTS\n // ============================================================================\n\n /**\n * Add a CHECK constraint scoped to this column.\n *\n * @param expression - SQL CHECK expression (can reference the column by name)\n * @param name - Constraint name (defaults to `check_<column>`)\n * @returns This builder for chaining\n */\n public check(expression: string, name?: string): this {\n this.definition.checkConstraint = {\n expression,\n name: name ?? `check_${this.definition.name}`,\n };\n return this;\n }\n\n // ============================================================================\n // COLUMN POSITIONING (MySQL/MariaDB only)\n // ============================================================================\n\n /**\n * Position this column after another column.\n *\n * MySQL/MariaDB only. Ignored by PostgreSQL and NoSQL drivers.\n *\n * @param columnName - Column to position after\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.string(\"middle_name\").after(\"first_name\");\n * ```\n */\n public after(columnName: string): this {\n this.definition.after = columnName;\n return this;\n }\n\n /**\n * Position this column as the first column in the table.\n *\n * MySQL/MariaDB only. Ignored by PostgreSQL and NoSQL drivers.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.integer(\"id\").primary().first();\n * ```\n */\n public first(): this {\n this.definition.first = true;\n return this;\n }\n\n // ============================================================================\n // FOREIGN KEY\n // ============================================================================\n\n /**\n * Declare a foreign key constraint on this column.\n *\n * Accepts either a raw table-name string or a Model class (anything with a\n * static `table` property). Using a Model class is preferred — it is\n * type-safe and automatically tracks table renames.\n *\n * Pushes an `addForeignKey` operation immediately using a mutable reference —\n * subsequent `.on()`, `.onDelete()`, `.onUpdate()` calls mutate the same\n * definition that is already queued, so no `.add()` terminator is needed.\n *\n * Referenced column defaults to `\"id\"` — use `.on()` to override.\n *\n * @param tableOrModel - Referenced table name OR a Model class with a static `table` property\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * // Preferred — model class reference (type-safe, rename-proof)\n * this.uuid(\"organization_id\").references(Organization).onDelete(\"cascade\");\n *\n * // Also supported — raw table string\n * this.uuid(\"organization_id\").references(\"organizations\").onDelete(\"cascade\");\n * this.uuid(\"organization_id\").references(Organization.table).onDelete(\"cascade\");\n * ```\n */\n public references(tableOrModel: string | { table: string }): this {\n const tableName = typeof tableOrModel === \"string\" ? tableOrModel : tableOrModel.table;\n\n this.fkDefinition = {\n column: this.definition.name,\n referencesTable: tableName,\n referencesColumn: \"id\",\n onDelete: \"restrict\",\n onUpdate: \"restrict\",\n };\n this.migration.addForeignKeyOperation(this.fkDefinition as ForeignKeyDefinition);\n return this;\n }\n\n /**\n * Set the referenced column for the foreign key.\n *\n * Only meaningful after `.references()`. Defaults to `\"id\"` if omitted.\n *\n * @param column - Referenced column name\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.integer(\"user_id\").references(\"users\").on(\"custom_id\");\n * ```\n */\n public on(column: string): this {\n if (this.fkDefinition) {\n this.fkDefinition.referencesColumn = column;\n }\n return this;\n }\n\n /**\n * Set the ON DELETE action for the foreign key.\n *\n * Only meaningful after `.references()`.\n *\n * @param action - Action when the referenced row is deleted\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.integer(\"user_id\").references(\"users\").onDelete(\"cascade\");\n * ```\n */\n public onDelete(action: ForeignKeyDefinition[\"onDelete\"]): this {\n if (this.fkDefinition) {\n this.fkDefinition.onDelete = action;\n }\n return this;\n }\n\n /**\n * Set the ON UPDATE action for the foreign key.\n *\n * Only meaningful after `.references()`.\n *\n * @param action - Action when the referenced row's key is updated\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.integer(\"user_id\").references(\"users\").onUpdate(\"cascade\");\n * ```\n */\n public onUpdate(action: ForeignKeyDefinition[\"onUpdate\"]): this {\n if (this.fkDefinition) {\n this.fkDefinition.onUpdate = action;\n }\n return this;\n }\n\n /**\n * Shorthand for `.onDelete(\"cascade\").onUpdate(\"cascade\")`.\n *\n * Only meaningful after `.references()`.\n *\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.integer(\"user_id\").references(\"users\").cascadeAll();\n * ```\n */\n public cascadeAll(): this {\n if (this.fkDefinition) {\n this.fkDefinition.onDelete = \"cascade\";\n this.fkDefinition.onUpdate = \"cascade\";\n }\n return this;\n }\n\n // ============================================================================\n // COLUMN MODIFICATION\n // ============================================================================\n\n /**\n * Mark this column definition as a modification of an existing column.\n *\n * Pushes a `modifyColumn` operation instead of `addColumn`.\n * This method breaks the builder chain and returns the parent migration.\n *\n * @returns The parent migration instance (breaks builder chain)\n *\n * @example\n * ```typescript\n * // Make email nullable\n * this.string(\"email\").nullable().change();\n *\n * // Increase length\n * this.string(\"name\", 255).change();\n *\n * // Change type\n * this.text(\"description\").change();\n * ```\n */\n public change(): unknown {\n const operations = (this.migration as any).pendingOperations;\n\n // Remove the addColumn pushed by the column type method (e.g. uuid(), string())\n const lastOp = operations[operations.length - 1];\n if (lastOp?.type === \"addColumn\" && lastOp.payload === this.definition) {\n operations.pop();\n }\n\n // If .references() was called before .change(), the addForeignKey op is now\n // last in the queue. We must pop it, push modifyColumn first, then re-push\n // the FK — because SQL requires: ALTER COLUMN (type change) → ADD CONSTRAINT (FK).\n let pendingFkOp: (typeof operations)[number] | undefined;\n if (this.fkDefinition) {\n const tail = operations[operations.length - 1];\n if (tail?.type === \"addForeignKey\" && tail.payload === this.fkDefinition) {\n pendingFkOp = operations.pop();\n }\n }\n\n // Push modifyColumn — it must precede the FK constraint\n operations.push({ type: \"modifyColumn\", payload: this.definition });\n\n // Re-queue the FK after the column modification\n if (pendingFkOp) {\n operations.push(pendingFkOp);\n }\n\n return this.migration;\n }\n\n /**\n * @alias change\n */\n public modify(): unknown {\n return this.change();\n }\n\n // ============================================================================\n // GENERATED COLUMNS\n // ============================================================================\n\n /**\n * Mark this column as a generated column with the given SQL expression.\n *\n * Must be followed by `.stored()` or `.virtual()` to specify storage type.\n *\n * PostgreSQL: GENERATED ALWAYS AS (...) STORED\n * MySQL: GENERATED ALWAYS AS (...) STORED | VIRTUAL\n *\n * @param expression - SQL expression to compute the value\n * @returns This builder for chaining\n *\n * @example\n * ```typescript\n * this.string(\"full_name\")\n * .generatedAs(\"CONCAT(first_name, ' ', last_name)\")\n * .stored();\n *\n * this.decimal(\"price_with_tax\")\n * .generatedAs(\"price * 1.2\")\n * .virtual();\n * ```\n */\n public generatedAs(expression: string): this {\n this.generatedExpression = expression;\n return this;\n }\n\n /**\n * Mark the generated column as stored (computed and persisted to disk).\n *\n * Must be called after `.generatedAs()`.\n *\n * @returns This builder for chaining\n */\n public stored(): this {\n if (this.generatedExpression) {\n this.definition.generated = {\n expression: this.generatedExpression,\n stored: true,\n };\n }\n return this;\n }\n\n /**\n * Mark the generated column as virtual (computed on read, not stored).\n *\n * Must be called after `.generatedAs()`. Not supported by PostgreSQL.\n *\n * @returns This builder for chaining\n */\n public virtual(): this {\n if (this.generatedExpression) {\n this.definition.generated = {\n expression: this.generatedExpression,\n stored: false,\n };\n }\n return this;\n }\n\n // ============================================================================\n // ACCESSOR\n // ============================================================================\n\n /**\n * Get the built column definition.\n *\n * Called internally by the Migration class to extract the final definition.\n *\n * @returns The accumulated column definition\n */\n public getDefinition(): ColumnDefinition {\n return this.definition;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmDA,IAAa,gBAAb,MAA2B;CAmBN;;CAjBnB,AAAiB;;CAGjB,AAAQ;;CAGR,AAAQ;;;;;;;;;CAUR,AAAO,YACL,AAAiB,WACjB,MACA,MACA,UAEI,CAAC,GACL;EANiB;EAOjB,KAAK,aAAa;GAChB;GACA;GACA,UAAU;GACV,GAAG;EACL;CACF;;;;;;;;;;;CAgBA,AAAO,WAAiB;EACtB,KAAK,WAAW,WAAW;EAC3B,OAAO;CACT;;;;;;;;CASA,AAAO,cAAoB;EACzB,KAAK,WAAW,WAAW;EAC3B,OAAO;CACT;;;;;;;;;;;;;;;;;;CAuBA,AAAO,QAAQ,OAAwC;EACrD,KAAK,WAAW,eAAe;EAC/B,KAAK,WAAW,eAAe;EAC/B,OAAO;CACT;;;;;;;;;;;;;;;;CAiBA,AAAO,cAAc,OAAqB;EACxC,KAAK,WAAW,eAAe;EAC/B,KAAK,WAAW,eAAe;EAC/B,OAAO;CACT;;;;;;;;;;;;;CAcA,AAAO,aAAmB;EACxB,KAAK,WAAW,eAAe,EAAE,QAAQ,oBAAoB;EAC7D,OAAO;CACT;;;;;;;;;;;;;CAcA,AAAO,qBAA2B;EAChC,KAAK,WAAW,kBAAkB;EAClC,OAAO;CACT;;;;;;;;;;;;;CAkBA,AAAO,SAAe;EACpB,KAAK,UAAU,gBAAgB;GAC7B,SAAS,CAAC,KAAK,WAAW,IAAI;GAC9B,QAAQ;EACV,CAAC;EACD,OAAO;CACT;;;;;;;;;;;;;CAcA,AAAO,QAAc;EACnB,KAAK,UAAU,gBAAgB,EAC7B,SAAS,CAAC,KAAK,WAAW,IAAI,EAChC,CAAC;EACD,OAAO;CACT;;;;;;;;;;;;;;CAeA,AAAO,YAAY,UAAkD,CAAC,GAAS;EAC7E,IAAI,KAAK,UAAU,uBACjB,KAAK,UAAU,sBAAsB,KAAK,WAAW,MAAM;GACzD,GAAG;GACH,YAAY,KAAK,WAAW,cAAc;EAC5C,CAAC;EAEH,OAAO;CACT;;;;;;;;;;;CAgBA,AAAO,UAAgB;EACrB,KAAK,WAAW,UAAU;EAC1B,OAAO;CACT;;;;;;;;;;;;;;CAeA,AAAO,gBAAsB;EAC3B,KAAK,WAAW,gBAAgB;EAChC,OAAO;CACT;;;;;;;;;;;;;CAkBA,AAAO,WAAiB;EACtB,KAAK,WAAW,WAAW;EAC3B,OAAO;CACT;;;;;;;;;;;;;;CAmBA,AAAO,QAAQ,MAAoB;EACjC,KAAK,WAAW,UAAU;EAC1B,OAAO;CACT;;;;;;;;CAaA,AAAO,MAAM,YAAoB,MAAqB;EACpD,KAAK,WAAW,kBAAkB;GAChC;GACA,MAAM,QAAQ,SAAS,KAAK,WAAW;EACzC;EACA,OAAO;CACT;;;;;;;;;;;;;;CAmBA,AAAO,MAAM,YAA0B;EACrC,KAAK,WAAW,QAAQ;EACxB,OAAO;CACT;;;;;;;;;;;;;CAcA,AAAO,QAAc;EACnB,KAAK,WAAW,QAAQ;EACxB,OAAO;CACT;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCA,AAAO,WAAW,cAAgD;EAChE,MAAM,YAAY,OAAO,iBAAiB,WAAW,eAAe,aAAa;EAEjF,KAAK,eAAe;GAClB,QAAQ,KAAK,WAAW;GACxB,iBAAiB;GACjB,kBAAkB;GAClB,UAAU;GACV,UAAU;EACZ;EACA,KAAK,UAAU,uBAAuB,KAAK,YAAoC;EAC/E,OAAO;CACT;;;;;;;;;;;;;;CAeA,AAAO,GAAG,QAAsB;EAC9B,IAAI,KAAK,cACP,KAAK,aAAa,mBAAmB;EAEvC,OAAO;CACT;;;;;;;;;;;;;;CAeA,AAAO,SAAS,QAAgD;EAC9D,IAAI,KAAK,cACP,KAAK,aAAa,WAAW;EAE/B,OAAO;CACT;;;;;;;;;;;;;;CAeA,AAAO,SAAS,QAAgD;EAC9D,IAAI,KAAK,cACP,KAAK,aAAa,WAAW;EAE/B,OAAO;CACT;;;;;;;;;;;;;CAcA,AAAO,aAAmB;EACxB,IAAI,KAAK,cAAc;GACrB,KAAK,aAAa,WAAW;GAC7B,KAAK,aAAa,WAAW;EAC/B;EACA,OAAO;CACT;;;;;;;;;;;;;;;;;;;;;CA0BA,AAAO,SAAkB;EACvB,MAAM,aAAc,KAAK,UAAkB;EAG3C,MAAM,SAAS,WAAW,WAAW,SAAS;EAC9C,IAAI,QAAQ,SAAS,eAAe,OAAO,YAAY,KAAK,YAC1D,WAAW,IAAI;EAMjB,IAAI;EACJ,IAAI,KAAK,cAAc;GACrB,MAAM,OAAO,WAAW,WAAW,SAAS;GAC5C,IAAI,MAAM,SAAS,mBAAmB,KAAK,YAAY,KAAK,cAC1D,cAAc,WAAW,IAAI;EAEjC;EAGA,WAAW,KAAK;GAAE,MAAM;GAAgB,SAAS,KAAK;EAAW,CAAC;EAGlE,IAAI,aACF,WAAW,KAAK,WAAW;EAG7B,OAAO,KAAK;CACd;;;;CAKA,AAAO,SAAkB;EACvB,OAAO,KAAK,OAAO;CACrB;;;;;;;;;;;;;;;;;;;;;;;CA4BA,AAAO,YAAY,YAA0B;EAC3C,KAAK,sBAAsB;EAC3B,OAAO;CACT;;;;;;;;CASA,AAAO,SAAe;EACpB,IAAI,KAAK,qBACP,KAAK,WAAW,YAAY;GAC1B,YAAY,KAAK;GACjB,QAAQ;EACV;EAEF,OAAO;CACT;;;;;;;;CASA,AAAO,UAAgB;EACrB,IAAI,KAAK,qBACP,KAAK,WAAW,YAAY;GAC1B,YAAY,KAAK;GACjB,QAAQ;EACV;EAEF,OAAO;CACT;;;;;;;;CAaA,AAAO,gBAAkC;EACvC,OAAO,KAAK;CACd;AACF"}
|