@warlock.js/cascade 4.0.171 → 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,328 @@
|
|
|
1
|
+
import { DeleteStrategy, MigrationDefaults, ModelDefaults, RelationDefaults } from "../types.mjs";
|
|
2
|
+
import { DriverContract, TransactionContext } from "../contracts/database-driver.contract.mjs";
|
|
3
|
+
import { DataSource } from "../data-source/data-source.mjs";
|
|
4
|
+
|
|
5
|
+
//#region ../../@warlock.js/cascade/src/utils/connect-to-database.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Supported database driver types.
|
|
8
|
+
*/
|
|
9
|
+
type DatabaseDriver = "mongodb" | "postgres" | "mysql";
|
|
10
|
+
/**
|
|
11
|
+
* Default model configuration options.
|
|
12
|
+
*
|
|
13
|
+
* These settings will be applied to all models using this data source,
|
|
14
|
+
* unless overridden by individual model static properties.
|
|
15
|
+
*
|
|
16
|
+
* This is a re-export of Partial<ModelDefaults> for backward compatibility
|
|
17
|
+
* and to provide clearer naming in the connection config context.
|
|
18
|
+
*
|
|
19
|
+
* The full hierarchy is:
|
|
20
|
+
* 1. Model static property (highest priority)
|
|
21
|
+
* 2. Database config modelDefaults (this type)
|
|
22
|
+
* 3. Driver defaults (e.g., snake_case for PostgreSQL, camelCase for MongoDB)
|
|
23
|
+
* 4. Framework defaults (fallback values)
|
|
24
|
+
*
|
|
25
|
+
* @see ModelDefaults for complete type definition and documentation
|
|
26
|
+
*/
|
|
27
|
+
type ModelDefaultConfig = Partial<ModelDefaults>;
|
|
28
|
+
/**
|
|
29
|
+
* Connection options for establishing a database connection.
|
|
30
|
+
*
|
|
31
|
+
* Generic type that separates concerns:
|
|
32
|
+
* - Shared config (driver, name, database, connection details)
|
|
33
|
+
* - Driver options (cascade-next driver-specific settings)
|
|
34
|
+
* - Client options (native database client settings)
|
|
35
|
+
* - Model options (default model behaviors)
|
|
36
|
+
*
|
|
37
|
+
* @template TDriverOptions - Driver-specific options (e.g., MongoDriverOptions)
|
|
38
|
+
* @template TClientOptions - Native client options (e.g., MongoClientOptions from mongodb package)
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* // MongoDB
|
|
43
|
+
* import type { MongoClientOptions } from "mongodb";
|
|
44
|
+
* import type { MongoDriverOptions } from "@warlock.js/cascade";
|
|
45
|
+
*
|
|
46
|
+
* const config: ConnectionOptions<MongoDriverOptions, MongoClientOptions> = {
|
|
47
|
+
* driver: "mongodb",
|
|
48
|
+
* database: "myapp",
|
|
49
|
+
* host: "localhost",
|
|
50
|
+
* port: 27017,
|
|
51
|
+
* driverOptions: {
|
|
52
|
+
* autoGenerateId: true,
|
|
53
|
+
* counterCollection: "counters",
|
|
54
|
+
* },
|
|
55
|
+
* clientOptions: {
|
|
56
|
+
* minPoolSize: 5,
|
|
57
|
+
* maxPoolSize: 10,
|
|
58
|
+
* },
|
|
59
|
+
* modelOptions: {
|
|
60
|
+
* randomIncrement: true,
|
|
61
|
+
* initialId: 1000,
|
|
62
|
+
* },
|
|
63
|
+
* };
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
type ConnectionOptions<TDriverOptions = any, TClientOptions = any> = {
|
|
67
|
+
/**
|
|
68
|
+
* Database driver to use.
|
|
69
|
+
* @default "mongodb"
|
|
70
|
+
*/
|
|
71
|
+
driver?: DatabaseDriver;
|
|
72
|
+
/**
|
|
73
|
+
* Unique name for this data source.
|
|
74
|
+
* Used for registration in DataSourceRegistry.
|
|
75
|
+
* @default "default"
|
|
76
|
+
*/
|
|
77
|
+
name?: string;
|
|
78
|
+
/**
|
|
79
|
+
* Whether this should be the default data source.
|
|
80
|
+
* @default true
|
|
81
|
+
*/
|
|
82
|
+
isDefault?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Database name (required).
|
|
85
|
+
*/
|
|
86
|
+
database: string;
|
|
87
|
+
/**
|
|
88
|
+
* Enable database operation logging (queries, execution time, parameters).
|
|
89
|
+
* Highly recommended to keep this disabled in production to prevent sensitive data leakage.
|
|
90
|
+
*
|
|
91
|
+
* @default false
|
|
92
|
+
*/
|
|
93
|
+
logging?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Database connection URI.
|
|
96
|
+
* Alternative to specifying host/port separately.
|
|
97
|
+
*
|
|
98
|
+
* @example "mongodb://localhost:27017/mydb"
|
|
99
|
+
* @example "postgresql://user:pass@localhost:5432/mydb"
|
|
100
|
+
*/
|
|
101
|
+
uri?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Database host.
|
|
104
|
+
* @default "localhost"
|
|
105
|
+
*/
|
|
106
|
+
host?: string;
|
|
107
|
+
/**
|
|
108
|
+
* Database port.
|
|
109
|
+
* @default 27017 (MongoDB), 5432 (PostgreSQL)
|
|
110
|
+
*/
|
|
111
|
+
port?: number;
|
|
112
|
+
/**
|
|
113
|
+
* Database username for authentication.
|
|
114
|
+
*/
|
|
115
|
+
username?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Database password for authentication.
|
|
118
|
+
*/
|
|
119
|
+
password?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Authentication source database.
|
|
122
|
+
* Typically "admin" for MongoDB.
|
|
123
|
+
*/
|
|
124
|
+
authSource?: string;
|
|
125
|
+
/**
|
|
126
|
+
* Driver-specific options.
|
|
127
|
+
*
|
|
128
|
+
* For MongoDB: { autoGenerateId, counterCollection, transactionOptions }
|
|
129
|
+
* For PostgreSQL: { schema, ... }
|
|
130
|
+
*/
|
|
131
|
+
driverOptions?: TDriverOptions;
|
|
132
|
+
/**
|
|
133
|
+
* Native database client options.
|
|
134
|
+
*
|
|
135
|
+
* For MongoDB: MongoClientOptions from 'mongodb' package
|
|
136
|
+
* For PostgreSQL: PoolConfig from 'pg' package
|
|
137
|
+
*/
|
|
138
|
+
clientOptions?: TClientOptions;
|
|
139
|
+
/**
|
|
140
|
+
* Default model configuration for all models using this data source.
|
|
141
|
+
*
|
|
142
|
+
* These settings override driver defaults but are overridden by
|
|
143
|
+
* individual model static properties.
|
|
144
|
+
*
|
|
145
|
+
* **Configuration Hierarchy (highest to lowest):**
|
|
146
|
+
* 1. Model static property - `User.createdAtColumn = "creation_date"`
|
|
147
|
+
* 2. **modelOptions (this)** - Database-wide overrides
|
|
148
|
+
* 3. Driver defaults - PostgreSQL: snake_case, MongoDB: camelCase
|
|
149
|
+
* 4. Framework defaults - Fallback values
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* // PostgreSQL database with custom settings
|
|
154
|
+
* {
|
|
155
|
+
* driver: "postgres",
|
|
156
|
+
* modelOptions: {
|
|
157
|
+
* // Override PostgreSQL default (snake_case) to use camelCase
|
|
158
|
+
* namingConvention: "camelCase",
|
|
159
|
+
* createdAtColumn: "createdAt",
|
|
160
|
+
* updatedAtColumn: "updatedAt",
|
|
161
|
+
*
|
|
162
|
+
* // ID generation settings (for MongoDB)
|
|
163
|
+
* randomIncrement: true,
|
|
164
|
+
* initialId: 1000,
|
|
165
|
+
*
|
|
166
|
+
* // Deletion settings
|
|
167
|
+
* deleteStrategy: "soft",
|
|
168
|
+
* trashTable: "archive", // All models use same trash table
|
|
169
|
+
* }
|
|
170
|
+
* }
|
|
171
|
+
*
|
|
172
|
+
* // MongoDB database with defaults
|
|
173
|
+
* {
|
|
174
|
+
* driver: "mongodb",
|
|
175
|
+
* modelOptions: {
|
|
176
|
+
* // MongoDB already uses camelCase by default
|
|
177
|
+
* randomIncrement: true,
|
|
178
|
+
* initialId: 10000,
|
|
179
|
+
* deleteStrategy: "trash", // Use RecycleBin
|
|
180
|
+
* }
|
|
181
|
+
* }
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
modelOptions?: ModelDefaultConfig;
|
|
185
|
+
/**
|
|
186
|
+
* Migration-level defaults (UUID strategy, etc.).
|
|
187
|
+
*
|
|
188
|
+
* These defaults override driver migration defaults but can be
|
|
189
|
+
* overridden by individual migration calls.
|
|
190
|
+
*
|
|
191
|
+
* @default undefined (uses driver defaults)
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```typescript
|
|
195
|
+
* migrationDefaults: {
|
|
196
|
+
* uuidStrategy: "v7", // Use UUID v7 for all migrations
|
|
197
|
+
* }
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
migrationOptions?: MigrationDefaults;
|
|
201
|
+
/**
|
|
202
|
+
* Defaults for relation conventions — foreign-key suffix and pivot-table
|
|
203
|
+
* naming order. Controls how `@BelongsTo` / `@HasOne` / `@HasMany` /
|
|
204
|
+
* `@BelongsToMany` infer column / table names when none are explicitly
|
|
205
|
+
* configured on the decorator.
|
|
206
|
+
*
|
|
207
|
+
* @default undefined (uses framework defaults: `"_id"` suffix + alphabetical pivot)
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* ```typescript
|
|
211
|
+
* relationOptions: {
|
|
212
|
+
* foreignKeySuffix: "_id",
|
|
213
|
+
* pivotTableNamingOrder: "alphabetical",
|
|
214
|
+
* }
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
relationOptions?: RelationDefaults;
|
|
218
|
+
/**
|
|
219
|
+
* Default delete strategy for models using this data source.
|
|
220
|
+
*
|
|
221
|
+
* - MongoDB: Typically `"trash"` (uses RecycleBin collection)
|
|
222
|
+
* - PostgreSQL: Typically `"permanent"` or `"soft"`
|
|
223
|
+
*
|
|
224
|
+
* Can be overridden by model static property or destroy() options.
|
|
225
|
+
*
|
|
226
|
+
* @default undefined (falls back to "permanent")
|
|
227
|
+
*/
|
|
228
|
+
defaultDeleteStrategy?: DeleteStrategy;
|
|
229
|
+
/**
|
|
230
|
+
* Default trash table/collection name for "trash" delete strategy.
|
|
231
|
+
*
|
|
232
|
+
* - MongoDB: Typically `"RecycleBin"`
|
|
233
|
+
* - If not set, defaults to `{table}Trash` pattern
|
|
234
|
+
*
|
|
235
|
+
* Can be overridden by Model.trashTable static property.
|
|
236
|
+
*
|
|
237
|
+
* @default undefined (uses {table}Trash pattern)
|
|
238
|
+
*/
|
|
239
|
+
defaultTrashTable?: string;
|
|
240
|
+
/**
|
|
241
|
+
* Migration configuration options.
|
|
242
|
+
*/
|
|
243
|
+
migrations?: {
|
|
244
|
+
/**
|
|
245
|
+
* Whether to wrap migrations in database transactions.
|
|
246
|
+
*
|
|
247
|
+
* Overrides driver defaults:
|
|
248
|
+
* - PostgreSQL default: `true` (DDL is transactional)
|
|
249
|
+
* - MongoDB default: `false` (DDL cannot be transactional)
|
|
250
|
+
*
|
|
251
|
+
* Individual migrations can override this with their own `transactional` property.
|
|
252
|
+
*
|
|
253
|
+
* @default undefined (uses driver default)
|
|
254
|
+
*/
|
|
255
|
+
transactional?: boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Name of the migrations tracking table/collection.
|
|
258
|
+
*
|
|
259
|
+
* @default "_migrations"
|
|
260
|
+
*/
|
|
261
|
+
table?: string;
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* Connect to a database and register the data source.
|
|
266
|
+
*
|
|
267
|
+
* This is a high-level utility function that simplifies database connection
|
|
268
|
+
* for small to medium projects. It handles driver instantiation, connection,
|
|
269
|
+
* data source creation, and automatic registration.
|
|
270
|
+
*
|
|
271
|
+
* **Supported Drivers:**
|
|
272
|
+
* - `mongodb` (default) - MongoDB driver with optional auto ID generation
|
|
273
|
+
* - `postgres` - PostgreSQL driver (not yet implemented)
|
|
274
|
+
* - `mysql` - MySQL driver (not yet implemented)
|
|
275
|
+
*
|
|
276
|
+
* **Features:**
|
|
277
|
+
* - Automatic driver instantiation based on driver name
|
|
278
|
+
* - Connection establishment and error handling
|
|
279
|
+
* - DataSource creation and registration
|
|
280
|
+
* - Support for MongoDB-specific features (ID generation, transactions)
|
|
281
|
+
*
|
|
282
|
+
* @param options - Connection configuration options
|
|
283
|
+
* @returns A connected and registered DataSource instance
|
|
284
|
+
* @throws {Error} If connection fails or driver is not implemented
|
|
285
|
+
*
|
|
286
|
+
* @example
|
|
287
|
+
* ```typescript
|
|
288
|
+
* // MongoDB with new structure
|
|
289
|
+
* const dataSource = await connectToDatabase({
|
|
290
|
+
* driver: "mongodb",
|
|
291
|
+
* database: "myapp",
|
|
292
|
+
* host: "localhost",
|
|
293
|
+
* port: 27017,
|
|
294
|
+
* driverOptions: {
|
|
295
|
+
* autoGenerateId: true,
|
|
296
|
+
* },
|
|
297
|
+
* clientOptions: {
|
|
298
|
+
* minPoolSize: 5,
|
|
299
|
+
* maxPoolSize: 10,
|
|
300
|
+
* },
|
|
301
|
+
* modelOptions: {
|
|
302
|
+
* randomIncrement: true,
|
|
303
|
+
* initialId: 1000,
|
|
304
|
+
* },
|
|
305
|
+
* });
|
|
306
|
+
* ```
|
|
307
|
+
*/
|
|
308
|
+
declare function connectToDatabase<TDriverOptions = any, TClientOptions = any>(options: ConnectionOptions<TDriverOptions, TClientOptions>): Promise<DataSource>;
|
|
309
|
+
/**
|
|
310
|
+
* Get current driver instance.
|
|
311
|
+
*
|
|
312
|
+
* @example
|
|
313
|
+
* ```typescript
|
|
314
|
+
* const driver = getDatabaseDriver();
|
|
315
|
+
*
|
|
316
|
+
* // Pass type to return Postgres driver type
|
|
317
|
+
* const pgDriver = getDatabaseDriver<PostgresDriver>();
|
|
318
|
+
* ```
|
|
319
|
+
*/
|
|
320
|
+
declare function getDatabaseDriver<T extends DriverContract = any>(): T;
|
|
321
|
+
/**
|
|
322
|
+
* Perform database transaction(s)
|
|
323
|
+
* Shorthand to `dataSourceRegister.get().driver.transaction
|
|
324
|
+
*/
|
|
325
|
+
declare function transaction<T = any>(fn: (ctx: TransactionContext) => Promise<T>, options?: Record<string, unknown>): Promise<T>;
|
|
326
|
+
//#endregion
|
|
327
|
+
export { ConnectionOptions, DatabaseDriver, ModelDefaultConfig, connectToDatabase, getDatabaseDriver, transaction };
|
|
328
|
+
//# sourceMappingURL=connect-to-database.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-to-database.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/utils/connect-to-database.ts"],"mappings":";;;;;;;;KAUY,cAAA;;;;AAAc;AAmB1B;;;;AAAsD;AAwCtD;;;;;;;;KAxCY,kBAAA,GAAqB,OAAO,CAAC,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0RhC;AAgDT;;;KAlSY,iBAAA;EAmSiC;;;;EA1R3C,MAAA,GAAS,cAAA;EA2RD;;;;;EApRR,IAAA;EAmRA;;;;EA7QA,SAAA;EA2Wc;;;EAtWd,QAAA;EAsWgC;;;;AAAoC;AAUtE;EAxWE,OAAA;EAwW+B;;;;;;;EA3V/B,GAAA;EA8VQ;;;;EAxVR,IAAA;EAsVyC;;;;EAhVzC,IAAA;EAkVS;;AAAC;EA7UV,QAAA;;;;EAKA,QAAA;;;;;EAMA,UAAA;;;;;;;EAYA,aAAA,GAAgB,cAAA;;;;;;;EAYhB,aAAA,GAAgB,cAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDhB,YAAA,GAAe,kBAAA;;;;;;;;;;;;;;;;EAiBf,gBAAA,GAAmB,iBAAA;;;;;;;;;;;;;;;;;EAkBnB,eAAA,GAAkB,gBAAA;;;;;;;;;;;EAgBlB,qBAAA,GAAwB,cAAA;;;;;;;;;;;EAYxB,iBAAA;;;;EASA,UAAA;;;;;;;;;;;;IAYE,aAAA;;;;;;IAOA,KAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgDkB,iBAAA,4CAAA,CACpB,OAAA,EAAS,iBAAA,CAAkB,cAAA,EAAgB,cAAA,IAC1C,OAAA,CAAQ,UAAA;;;;;;;;;;;;iBA6FK,iBAAA,WAA4B,cAAA,OAAA,CAAA,GAAyB,CAAC;;;;;iBAUhD,WAAA,SAAA,CACpB,EAAA,GAAK,GAAA,EAAK,kBAAA,KAAuB,OAAA,CAAQ,CAAA,GACzC,OAAA,GAAU,MAAA,oBACT,OAAA,CAAQ,CAAA"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { DataSource } from "../data-source/data-source.mjs";
|
|
2
|
+
import { dataSourceRegistry } from "../data-source/data-source-registry.mjs";
|
|
3
|
+
import { MongoDbDriver } from "../drivers/mongodb/mongodb-driver.mjs";
|
|
4
|
+
import { PostgresDriver } from "../drivers/postgres/postgres-driver.mjs";
|
|
5
|
+
import "../drivers/postgres/index.mjs";
|
|
6
|
+
|
|
7
|
+
//#region ../../@warlock.js/cascade/src/utils/connect-to-database.ts
|
|
8
|
+
/**
|
|
9
|
+
* Connect to a database and register the data source.
|
|
10
|
+
*
|
|
11
|
+
* This is a high-level utility function that simplifies database connection
|
|
12
|
+
* for small to medium projects. It handles driver instantiation, connection,
|
|
13
|
+
* data source creation, and automatic registration.
|
|
14
|
+
*
|
|
15
|
+
* **Supported Drivers:**
|
|
16
|
+
* - `mongodb` (default) - MongoDB driver with optional auto ID generation
|
|
17
|
+
* - `postgres` - PostgreSQL driver (not yet implemented)
|
|
18
|
+
* - `mysql` - MySQL driver (not yet implemented)
|
|
19
|
+
*
|
|
20
|
+
* **Features:**
|
|
21
|
+
* - Automatic driver instantiation based on driver name
|
|
22
|
+
* - Connection establishment and error handling
|
|
23
|
+
* - DataSource creation and registration
|
|
24
|
+
* - Support for MongoDB-specific features (ID generation, transactions)
|
|
25
|
+
*
|
|
26
|
+
* @param options - Connection configuration options
|
|
27
|
+
* @returns A connected and registered DataSource instance
|
|
28
|
+
* @throws {Error} If connection fails or driver is not implemented
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // MongoDB with new structure
|
|
33
|
+
* const dataSource = await connectToDatabase({
|
|
34
|
+
* driver: "mongodb",
|
|
35
|
+
* database: "myapp",
|
|
36
|
+
* host: "localhost",
|
|
37
|
+
* port: 27017,
|
|
38
|
+
* driverOptions: {
|
|
39
|
+
* autoGenerateId: true,
|
|
40
|
+
* },
|
|
41
|
+
* clientOptions: {
|
|
42
|
+
* minPoolSize: 5,
|
|
43
|
+
* maxPoolSize: 10,
|
|
44
|
+
* },
|
|
45
|
+
* modelOptions: {
|
|
46
|
+
* randomIncrement: true,
|
|
47
|
+
* initialId: 1000,
|
|
48
|
+
* },
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
async function connectToDatabase(options) {
|
|
53
|
+
const driverType = options.driver ?? "mongodb";
|
|
54
|
+
const dataSourceName = options.name ?? "default";
|
|
55
|
+
const isDefault = options.isDefault ?? true;
|
|
56
|
+
let driver;
|
|
57
|
+
switch (driverType) {
|
|
58
|
+
case "mongodb":
|
|
59
|
+
driver = new MongoDbDriver({
|
|
60
|
+
database: options.database,
|
|
61
|
+
uri: options.uri,
|
|
62
|
+
host: options.host,
|
|
63
|
+
port: options.port,
|
|
64
|
+
username: options.username,
|
|
65
|
+
password: options.password,
|
|
66
|
+
authSource: options.authSource,
|
|
67
|
+
logging: options.logging,
|
|
68
|
+
clientOptions: options.clientOptions
|
|
69
|
+
}, options.driverOptions);
|
|
70
|
+
break;
|
|
71
|
+
case "postgres":
|
|
72
|
+
driver = new PostgresDriver({
|
|
73
|
+
database: options.database,
|
|
74
|
+
connectionString: options.uri,
|
|
75
|
+
host: options.host,
|
|
76
|
+
port: options.port ?? 5432,
|
|
77
|
+
user: options.username,
|
|
78
|
+
password: options.password,
|
|
79
|
+
logging: options.logging,
|
|
80
|
+
...options.clientOptions
|
|
81
|
+
});
|
|
82
|
+
break;
|
|
83
|
+
case "mysql": throw new Error("MySQL driver is not yet implemented. Coming soon!");
|
|
84
|
+
default: throw new Error(`Unknown driver: "${driverType}". Supported drivers: mongodb, postgres, mysql`);
|
|
85
|
+
}
|
|
86
|
+
const dataSource = new DataSource({
|
|
87
|
+
name: dataSourceName,
|
|
88
|
+
driver,
|
|
89
|
+
isDefault,
|
|
90
|
+
defaultDeleteStrategy: options.defaultDeleteStrategy,
|
|
91
|
+
defaultTrashTable: options.defaultTrashTable,
|
|
92
|
+
modelDefaults: options.modelOptions,
|
|
93
|
+
migrationDefaults: options.migrationOptions,
|
|
94
|
+
relationDefaults: options.relationOptions,
|
|
95
|
+
migrations: options.migrations
|
|
96
|
+
});
|
|
97
|
+
dataSourceRegistry.register(dataSource);
|
|
98
|
+
try {
|
|
99
|
+
await driver.connect();
|
|
100
|
+
} catch (error) {
|
|
101
|
+
console.log(error);
|
|
102
|
+
throw new Error(`Failed to connect to ${driverType} database: ${error instanceof Error ? error.message : String(error)}`);
|
|
103
|
+
}
|
|
104
|
+
return dataSource;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get current driver instance.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const driver = getDatabaseDriver();
|
|
112
|
+
*
|
|
113
|
+
* // Pass type to return Postgres driver type
|
|
114
|
+
* const pgDriver = getDatabaseDriver<PostgresDriver>();
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
function getDatabaseDriver() {
|
|
118
|
+
return dataSourceRegistry.get().driver;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Perform database transaction(s)
|
|
122
|
+
* Shorthand to `dataSourceRegister.get().driver.transaction
|
|
123
|
+
*/
|
|
124
|
+
async function transaction(fn, options) {
|
|
125
|
+
return getDatabaseDriver().transaction(fn, options);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
//#endregion
|
|
129
|
+
export { connectToDatabase, getDatabaseDriver, transaction };
|
|
130
|
+
//# sourceMappingURL=connect-to-database.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-to-database.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/utils/connect-to-database.ts"],"sourcesContent":["import { DriverContract, TransactionContext } from \"../contracts\";\nimport { DataSource } from \"../data-source/data-source\";\nimport { dataSourceRegistry } from \"../data-source/data-source-registry\";\nimport { MongoDbDriver } from \"../drivers/mongodb/mongodb-driver\";\nimport { PostgresDriver } from \"../drivers/postgres\";\nimport type { DeleteStrategy, MigrationDefaults, ModelDefaults, RelationDefaults } from \"../types\";\n\n/**\n * Supported database driver types.\n */\nexport type DatabaseDriver = \"mongodb\" | \"postgres\" | \"mysql\";\n\n/**\n * Default model configuration options.\n *\n * These settings will be applied to all models using this data source,\n * unless overridden by individual model static properties.\n *\n * This is a re-export of Partial<ModelDefaults> for backward compatibility\n * and to provide clearer naming in the connection config context.\n *\n * The full hierarchy is:\n * 1. Model static property (highest priority)\n * 2. Database config modelDefaults (this type)\n * 3. Driver defaults (e.g., snake_case for PostgreSQL, camelCase for MongoDB)\n * 4. Framework defaults (fallback values)\n *\n * @see ModelDefaults for complete type definition and documentation\n */\nexport type ModelDefaultConfig = Partial<ModelDefaults>;\n\n/**\n * Connection options for establishing a database connection.\n *\n * Generic type that separates concerns:\n * - Shared config (driver, name, database, connection details)\n * - Driver options (cascade-next driver-specific settings)\n * - Client options (native database client settings)\n * - Model options (default model behaviors)\n *\n * @template TDriverOptions - Driver-specific options (e.g., MongoDriverOptions)\n * @template TClientOptions - Native client options (e.g., MongoClientOptions from mongodb package)\n *\n * @example\n * ```typescript\n * // MongoDB\n * import type { MongoClientOptions } from \"mongodb\";\n * import type { MongoDriverOptions } from \"@warlock.js/cascade\";\n *\n * const config: ConnectionOptions<MongoDriverOptions, MongoClientOptions> = {\n * driver: \"mongodb\",\n * database: \"myapp\",\n * host: \"localhost\",\n * port: 27017,\n * driverOptions: {\n * autoGenerateId: true,\n * counterCollection: \"counters\",\n * },\n * clientOptions: {\n * minPoolSize: 5,\n * maxPoolSize: 10,\n * },\n * modelOptions: {\n * randomIncrement: true,\n * initialId: 1000,\n * },\n * };\n * ```\n */\nexport type ConnectionOptions<TDriverOptions = any, TClientOptions = any> = {\n // ============================================================================\n // SHARED CONFIGURATION (Framework-level)\n // ============================================================================\n\n /**\n * Database driver to use.\n * @default \"mongodb\"\n */\n driver?: DatabaseDriver;\n\n /**\n * Unique name for this data source.\n * Used for registration in DataSourceRegistry.\n * @default \"default\"\n */\n name?: string;\n\n /**\n * Whether this should be the default data source.\n * @default true\n */\n isDefault?: boolean;\n\n /**\n * Database name (required).\n */\n database: string;\n\n /**\n * Enable database operation logging (queries, execution time, parameters).\n * Highly recommended to keep this disabled in production to prevent sensitive data leakage.\n *\n * @default false\n */\n logging?: boolean;\n\n // ============================================================================\n // CONNECTION DETAILS (Shared across drivers)\n // ============================================================================\n\n /**\n * Database connection URI.\n * Alternative to specifying host/port separately.\n *\n * @example \"mongodb://localhost:27017/mydb\"\n * @example \"postgresql://user:pass@localhost:5432/mydb\"\n */\n uri?: string;\n\n /**\n * Database host.\n * @default \"localhost\"\n */\n host?: string;\n\n /**\n * Database port.\n * @default 27017 (MongoDB), 5432 (PostgreSQL)\n */\n port?: number;\n\n /**\n * Database username for authentication.\n */\n username?: string;\n\n /**\n * Database password for authentication.\n */\n password?: string;\n\n /**\n * Authentication source database.\n * Typically \"admin\" for MongoDB.\n */\n authSource?: string;\n\n // ============================================================================\n // DRIVER OPTIONS (Package-level, driver-specific)\n // ============================================================================\n\n /**\n * Driver-specific options.\n *\n * For MongoDB: { autoGenerateId, counterCollection, transactionOptions }\n * For PostgreSQL: { schema, ... }\n */\n driverOptions?: TDriverOptions;\n\n // ============================================================================\n // CLIENT OPTIONS (Native database client library)\n // ============================================================================\n\n /**\n * Native database client options.\n *\n * For MongoDB: MongoClientOptions from 'mongodb' package\n * For PostgreSQL: PoolConfig from 'pg' package\n */\n clientOptions?: TClientOptions;\n\n // ============================================================================\n // MODEL OPTIONS (Model defaults)\n // ============================================================================\n\n /**\n * Default model configuration for all models using this data source.\n *\n * These settings override driver defaults but are overridden by\n * individual model static properties.\n *\n * **Configuration Hierarchy (highest to lowest):**\n * 1. Model static property - `User.createdAtColumn = \"creation_date\"`\n * 2. **modelOptions (this)** - Database-wide overrides\n * 3. Driver defaults - PostgreSQL: snake_case, MongoDB: camelCase\n * 4. Framework defaults - Fallback values\n *\n * @example\n * ```typescript\n * // PostgreSQL database with custom settings\n * {\n * driver: \"postgres\",\n * modelOptions: {\n * // Override PostgreSQL default (snake_case) to use camelCase\n * namingConvention: \"camelCase\",\n * createdAtColumn: \"createdAt\",\n * updatedAtColumn: \"updatedAt\",\n *\n * // ID generation settings (for MongoDB)\n * randomIncrement: true,\n * initialId: 1000,\n *\n * // Deletion settings\n * deleteStrategy: \"soft\",\n * trashTable: \"archive\", // All models use same trash table\n * }\n * }\n *\n * // MongoDB database with defaults\n * {\n * driver: \"mongodb\",\n * modelOptions: {\n * // MongoDB already uses camelCase by default\n * randomIncrement: true,\n * initialId: 10000,\n * deleteStrategy: \"trash\", // Use RecycleBin\n * }\n * }\n * ```\n */\n modelOptions?: ModelDefaultConfig;\n\n /**\n * Migration-level defaults (UUID strategy, etc.).\n *\n * These defaults override driver migration defaults but can be\n * overridden by individual migration calls.\n *\n * @default undefined (uses driver defaults)\n *\n * @example\n * ```typescript\n * migrationDefaults: {\n * uuidStrategy: \"v7\", // Use UUID v7 for all migrations\n * }\n * ```\n */\n migrationOptions?: MigrationDefaults;\n\n /**\n * Defaults for relation conventions — foreign-key suffix and pivot-table\n * naming order. Controls how `@BelongsTo` / `@HasOne` / `@HasMany` /\n * `@BelongsToMany` infer column / table names when none are explicitly\n * configured on the decorator.\n *\n * @default undefined (uses framework defaults: `\"_id\"` suffix + alphabetical pivot)\n *\n * @example\n * ```typescript\n * relationOptions: {\n * foreignKeySuffix: \"_id\",\n * pivotTableNamingOrder: \"alphabetical\",\n * }\n * ```\n */\n relationOptions?: RelationDefaults;\n\n // ============================================================================\n // DATA SOURCE DEFAULTS\n // ============================================================================\n\n /**\n * Default delete strategy for models using this data source.\n *\n * - MongoDB: Typically `\"trash\"` (uses RecycleBin collection)\n * - PostgreSQL: Typically `\"permanent\"` or `\"soft\"`\n *\n * Can be overridden by model static property or destroy() options.\n *\n * @default undefined (falls back to \"permanent\")\n */\n defaultDeleteStrategy?: DeleteStrategy;\n\n /**\n * Default trash table/collection name for \"trash\" delete strategy.\n *\n * - MongoDB: Typically `\"RecycleBin\"`\n * - If not set, defaults to `{table}Trash` pattern\n *\n * Can be overridden by Model.trashTable static property.\n *\n * @default undefined (uses {table}Trash pattern)\n */\n defaultTrashTable?: string;\n\n // ============================================================================\n // MIGRATION OPTIONS\n // ============================================================================\n\n /**\n * Migration configuration options.\n */\n migrations?: {\n /**\n * Whether to wrap migrations in database transactions.\n *\n * Overrides driver defaults:\n * - PostgreSQL default: `true` (DDL is transactional)\n * - MongoDB default: `false` (DDL cannot be transactional)\n *\n * Individual migrations can override this with their own `transactional` property.\n *\n * @default undefined (uses driver default)\n */\n transactional?: boolean;\n\n /**\n * Name of the migrations tracking table/collection.\n *\n * @default \"_migrations\"\n */\n table?: string;\n };\n};\n\n/**\n * Connect to a database and register the data source.\n *\n * This is a high-level utility function that simplifies database connection\n * for small to medium projects. It handles driver instantiation, connection,\n * data source creation, and automatic registration.\n *\n * **Supported Drivers:**\n * - `mongodb` (default) - MongoDB driver with optional auto ID generation\n * - `postgres` - PostgreSQL driver (not yet implemented)\n * - `mysql` - MySQL driver (not yet implemented)\n *\n * **Features:**\n * - Automatic driver instantiation based on driver name\n * - Connection establishment and error handling\n * - DataSource creation and registration\n * - Support for MongoDB-specific features (ID generation, transactions)\n *\n * @param options - Connection configuration options\n * @returns A connected and registered DataSource instance\n * @throws {Error} If connection fails or driver is not implemented\n *\n * @example\n * ```typescript\n * // MongoDB with new structure\n * const dataSource = await connectToDatabase({\n * driver: \"mongodb\",\n * database: \"myapp\",\n * host: \"localhost\",\n * port: 27017,\n * driverOptions: {\n * autoGenerateId: true,\n * },\n * clientOptions: {\n * minPoolSize: 5,\n * maxPoolSize: 10,\n * },\n * modelOptions: {\n * randomIncrement: true,\n * initialId: 1000,\n * },\n * });\n * ```\n */\nexport async function connectToDatabase<TDriverOptions = any, TClientOptions = any>(\n options: ConnectionOptions<TDriverOptions, TClientOptions>,\n): Promise<DataSource> {\n // Default values\n const driverType = options.driver ?? \"mongodb\";\n const dataSourceName = options.name ?? \"default\";\n const isDefault = options.isDefault ?? true;\n\n // Create driver based on type\n let driver: DriverContract;\n\n switch (driverType) {\n case \"mongodb\": {\n driver = new MongoDbDriver(\n {\n database: options.database,\n uri: options.uri,\n host: options.host,\n port: options.port,\n username: options.username,\n password: options.password,\n authSource: options.authSource,\n logging: options.logging,\n clientOptions: options.clientOptions as any,\n },\n options.driverOptions as any,\n );\n break;\n }\n\n case \"postgres\": {\n driver = new PostgresDriver({\n database: options.database,\n connectionString: options.uri,\n host: options.host,\n port: options.port ?? 5432,\n user: options.username,\n password: options.password,\n logging: options.logging,\n // Spread any additional client options (pool settings, SSL, etc.)\n ...(options.clientOptions as object),\n });\n break;\n }\n\n case \"mysql\":\n throw new Error(\"MySQL driver is not yet implemented. Coming soon!\");\n\n default:\n throw new Error(\n `Unknown driver: \"${driverType}\". Supported drivers: mongodb, postgres, mysql`,\n );\n }\n\n // Create data source\n const dataSource = new DataSource({\n name: dataSourceName,\n driver,\n isDefault,\n defaultDeleteStrategy: options.defaultDeleteStrategy,\n defaultTrashTable: options.defaultTrashTable,\n modelDefaults: options.modelOptions,\n migrationDefaults: options.migrationOptions,\n relationDefaults: options.relationOptions,\n migrations: options.migrations,\n });\n\n // Register data source\n dataSourceRegistry.register(dataSource);\n\n // Connect to the database\n try {\n await driver.connect();\n } catch (error) {\n console.log(error);\n\n throw new Error(\n `Failed to connect to ${driverType} database: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n\n return dataSource;\n}\n\n/**\n * Get current driver instance.\n *\n * @example\n * ```typescript\n * const driver = getDatabaseDriver();\n *\n * // Pass type to return Postgres driver type\n * const pgDriver = getDatabaseDriver<PostgresDriver>();\n * ```\n */\nexport function getDatabaseDriver<T extends DriverContract = any>(): T {\n const driver = dataSourceRegistry.get().driver;\n\n return driver as unknown as T;\n}\n\n/**\n * Perform database transaction(s)\n * Shorthand to `dataSourceRegister.get().driver.transaction\n */\nexport async function transaction<T = any>(\n fn: (ctx: TransactionContext) => Promise<T>,\n options?: Record<string, unknown>,\n): Promise<T> {\n return getDatabaseDriver().transaction(fn, options);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuWA,eAAsB,kBACpB,SACqB;CAErB,MAAM,aAAa,QAAQ,UAAU;CACrC,MAAM,iBAAiB,QAAQ,QAAQ;CACvC,MAAM,YAAY,QAAQ,aAAa;CAGvC,IAAI;CAEJ,QAAQ,YAAR;EACE,KAAK;GACH,SAAS,IAAI,cACX;IACE,UAAU,QAAQ;IAClB,KAAK,QAAQ;IACb,MAAM,QAAQ;IACd,MAAM,QAAQ;IACd,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,YAAY,QAAQ;IACpB,SAAS,QAAQ;IACjB,eAAe,QAAQ;GACzB,GACA,QAAQ,aACV;GACA;EAGF,KAAK;GACH,SAAS,IAAI,eAAe;IAC1B,UAAU,QAAQ;IAClB,kBAAkB,QAAQ;IAC1B,MAAM,QAAQ;IACd,MAAM,QAAQ,QAAQ;IACtB,MAAM,QAAQ;IACd,UAAU,QAAQ;IAClB,SAAS,QAAQ;IAEjB,GAAI,QAAQ;GACd,CAAC;GACD;EAGF,KAAK,SACH,MAAM,IAAI,MAAM,mDAAmD;EAErE,SACE,MAAM,IAAI,MACR,oBAAoB,WAAW,+CACjC;CACJ;CAGA,MAAM,aAAa,IAAI,WAAW;EAChC,MAAM;EACN;EACA;EACA,uBAAuB,QAAQ;EAC/B,mBAAmB,QAAQ;EAC3B,eAAe,QAAQ;EACvB,mBAAmB,QAAQ;EAC3B,kBAAkB,QAAQ;EAC1B,YAAY,QAAQ;CACtB,CAAC;CAGD,mBAAmB,SAAS,UAAU;CAGtC,IAAI;EACF,MAAM,OAAO,QAAQ;CACvB,SAAS,OAAO;EACd,QAAQ,IAAI,KAAK;EAEjB,MAAM,IAAI,MACR,wBAAwB,WAAW,aAAa,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACvG;CACF;CAEA,OAAO;AACT;;;;;;;;;;;;AAaA,SAAgB,oBAAuD;CAGrE,OAFe,mBAAmB,IAAI,EAAE;AAG1C;;;;;AAMA,eAAsB,YACpB,IACA,SACY;CACZ,OAAO,kBAAkB,EAAE,YAAY,IAAI,OAAO;AACpD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Model } from "../model/model.mjs";
|
|
2
|
+
|
|
3
|
+
//#region ../../@warlock.js/cascade/src/utils/database-writer.utils.d.ts
|
|
4
|
+
type transformCallbackOptions = {
|
|
5
|
+
model: Model;
|
|
6
|
+
column: string;
|
|
7
|
+
value: any;
|
|
8
|
+
isChanged: boolean;
|
|
9
|
+
isNew: boolean;
|
|
10
|
+
};
|
|
11
|
+
type ModelTransformCallback = (options: transformCallbackOptions) => string;
|
|
12
|
+
/**
|
|
13
|
+
* Transfer value before saving it into the database
|
|
14
|
+
*/
|
|
15
|
+
declare function useModelTransformer(callback: ModelTransformCallback): TransformerCallback;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { ModelTransformCallback, useModelTransformer };
|
|
18
|
+
//# sourceMappingURL=database-writer.utils.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-writer.utils.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/utils/database-writer.utils.ts"],"mappings":";;;KAGK,wBAAA;EACH,KAAA,EAAO,KAAK;EACZ,MAAA;EACA,KAAA;EACA,SAAA;EACA,KAAA;AAAA;AAAA,KAGU,sBAAA,IAA0B,OAAiC,EAAxB,wBAAwB;;;;iBAKvD,mBAAA,CAAoB,QAAA,EAAU,sBAAA,GAAsB,mBAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region ../../@warlock.js/cascade/src/utils/database-writer.utils.ts
|
|
2
|
+
/**
|
|
3
|
+
* Transfer value before saving it into the database
|
|
4
|
+
*/
|
|
5
|
+
function useModelTransformer(callback) {
|
|
6
|
+
const transformCallback = (data, { context }) => {
|
|
7
|
+
const model = context.rootContext?.model;
|
|
8
|
+
const column = context.key;
|
|
9
|
+
const value = data;
|
|
10
|
+
const isChanged = model.isDirty(column);
|
|
11
|
+
const isNew = model.isNew;
|
|
12
|
+
return callback({
|
|
13
|
+
model,
|
|
14
|
+
column,
|
|
15
|
+
value,
|
|
16
|
+
isChanged,
|
|
17
|
+
isNew
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
return transformCallback;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { useModelTransformer };
|
|
25
|
+
//# sourceMappingURL=database-writer.utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-writer.utils.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/utils/database-writer.utils.ts"],"sourcesContent":["import { type TransformerCallback } from \"@warlock.js/seal\";\nimport { type Model } from \"../model/model\";\n\ntype transformCallbackOptions = {\n model: Model;\n column: string;\n value: any;\n isChanged: boolean;\n isNew: boolean;\n};\n\nexport type ModelTransformCallback = (options: transformCallbackOptions) => string;\n\n/**\n * Transfer value before saving it into the database\n */\nexport function useModelTransformer(callback: ModelTransformCallback) {\n const transformCallback: TransformerCallback = (data, { context }) => {\n const model = context.rootContext?.model as Model;\n const column = context.key;\n const value = data;\n const isChanged = model.isDirty(column);\n const isNew = model.isNew;\n return callback({ model, column, value, isChanged, isNew });\n };\n\n return transformCallback;\n}\n"],"mappings":";;;;AAgBA,SAAgB,oBAAoB,UAAkC;CACpE,MAAM,qBAA0C,MAAM,EAAE,cAAc;EACpE,MAAM,QAAQ,QAAQ,aAAa;EACnC,MAAM,SAAS,QAAQ;EACvB,MAAM,QAAQ;EACd,MAAM,YAAY,MAAM,QAAQ,MAAM;EACtC,MAAM,QAAQ,MAAM;EACpB,OAAO,SAAS;GAAE;GAAO;GAAQ;GAAO;GAAW;EAAM,CAAC;CAC5D;CAEA,OAAO;AACT"}
|