@warlock.js/cascade 4.0.162 → 4.0.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/context/database-data-source-context.d.ts +29 -0
- package/cjs/context/database-data-source-context.d.ts.map +1 -0
- package/cjs/context/database-data-source-context.js +28 -0
- package/cjs/context/database-data-source-context.js.map +1 -0
- package/cjs/context/database-transaction-context.d.ts +35 -0
- package/cjs/context/database-transaction-context.d.ts.map +1 -0
- package/cjs/context/database-transaction-context.js +40 -0
- package/cjs/context/database-transaction-context.js.map +1 -0
- package/cjs/contracts/database-driver.contract.d.ts +450 -0
- package/cjs/contracts/database-driver.contract.d.ts.map +1 -0
- package/cjs/contracts/database-id-generator.contract.d.ts +109 -0
- package/cjs/contracts/database-id-generator.contract.d.ts.map +1 -0
- package/cjs/contracts/database-remover.contract.d.ts +104 -0
- package/cjs/contracts/database-remover.contract.d.ts.map +1 -0
- package/cjs/contracts/database-restorer.contract.d.ts +143 -0
- package/cjs/contracts/database-restorer.contract.d.ts.map +1 -0
- package/cjs/contracts/database-writer.contract.d.ts +119 -0
- package/cjs/contracts/database-writer.contract.d.ts.map +1 -0
- package/cjs/contracts/driver-blueprint.contract.d.ts +49 -0
- package/cjs/contracts/driver-blueprint.contract.d.ts.map +1 -0
- package/cjs/contracts/index.d.ts +10 -0
- package/cjs/contracts/index.d.ts.map +1 -0
- package/cjs/contracts/migration-driver.contract.d.ts +522 -0
- package/cjs/contracts/migration-driver.contract.d.ts.map +1 -0
- package/cjs/contracts/query-builder.contract.d.ts +1609 -0
- package/cjs/contracts/query-builder.contract.d.ts.map +1 -0
- package/cjs/contracts/sync-adapter.contract.d.ts +58 -0
- package/cjs/contracts/sync-adapter.contract.d.ts.map +1 -0
- package/cjs/data-source/data-source-registry.d.ts +108 -0
- package/cjs/data-source/data-source-registry.d.ts.map +1 -0
- package/cjs/data-source/data-source-registry.js +145 -0
- package/cjs/data-source/data-source-registry.js.map +1 -0
- package/cjs/data-source/data-source.d.ts +147 -0
- package/cjs/data-source/data-source.d.ts.map +1 -0
- package/cjs/data-source/data-source.js +83 -0
- package/cjs/data-source/data-source.js.map +1 -0
- package/cjs/database-dirty-tracker.d.ts +252 -0
- package/cjs/database-dirty-tracker.d.ts.map +1 -0
- package/cjs/database-dirty-tracker.js +386 -0
- package/cjs/database-dirty-tracker.js.map +1 -0
- package/cjs/drivers/mongodb/mongodb-blueprint.d.ts +30 -0
- package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-blueprint.js +51 -0
- package/cjs/drivers/mongodb/mongodb-blueprint.js.map +1 -0
- package/cjs/drivers/mongodb/mongodb-driver.d.ts +325 -0
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-driver.js +838 -0
- package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -0
- package/cjs/drivers/mongodb/mongodb-id-generator.d.ts +116 -0
- package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-id-generator.js +149 -0
- package/cjs/drivers/mongodb/mongodb-id-generator.js.map +1 -0
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +317 -0
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-migration-driver.js +666 -0
- package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +1122 -0
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-query-builder.js +1988 -0
- package/cjs/drivers/mongodb/mongodb-query-builder.js.map +1 -0
- package/cjs/drivers/mongodb/mongodb-query-operations.d.ts +226 -0
- package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-query-operations.js +270 -0
- package/cjs/drivers/mongodb/mongodb-query-operations.js.map +1 -0
- package/cjs/drivers/mongodb/mongodb-query-parser.d.ts +262 -0
- package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-query-parser.js +1351 -0
- package/cjs/drivers/mongodb/mongodb-query-parser.js.map +1 -0
- package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts +79 -0
- package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-sync-adapter.js +146 -0
- package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
- package/cjs/drivers/mongodb/types.d.ts +43 -0
- package/cjs/drivers/mongodb/types.d.ts.map +1 -0
- package/cjs/drivers/postgres/index.d.ts +16 -0
- package/cjs/drivers/postgres/index.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-blueprint.d.ts +64 -0
- package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-blueprint.js +121 -0
- package/cjs/drivers/postgres/postgres-blueprint.js.map +1 -0
- package/cjs/drivers/postgres/postgres-dialect.d.ts +136 -0
- package/cjs/drivers/postgres/postgres-dialect.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-dialect.js +268 -0
- package/cjs/drivers/postgres/postgres-dialect.js.map +1 -0
- package/cjs/drivers/postgres/postgres-driver.d.ts +432 -0
- package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-driver.js +1010 -0
- package/cjs/drivers/postgres/postgres-driver.js.map +1 -0
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts +397 -0
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-migration-driver.js +900 -0
- package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -0
- package/cjs/drivers/postgres/postgres-query-builder.d.ts +254 -0
- package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-query-builder.js +933 -0
- package/cjs/drivers/postgres/postgres-query-builder.js.map +1 -0
- package/cjs/drivers/postgres/postgres-query-parser.d.ts +328 -0
- package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-query-parser.js +868 -0
- package/cjs/drivers/postgres/postgres-query-parser.js.map +1 -0
- package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
- package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-sql-serializer.js +400 -0
- package/cjs/drivers/postgres/postgres-sql-serializer.js.map +1 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.js +197 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.js.map +1 -0
- package/cjs/drivers/postgres/types.d.ts +144 -0
- package/cjs/drivers/postgres/types.d.ts.map +1 -0
- package/cjs/drivers/sql/index.d.ts +10 -0
- package/cjs/drivers/sql/index.d.ts.map +1 -0
- package/cjs/drivers/sql/sql-dialect.contract.d.ts +204 -0
- package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
- package/cjs/drivers/sql/sql-types.d.ts +202 -0
- package/cjs/drivers/sql/sql-types.d.ts.map +1 -0
- package/cjs/errors/missing-data-source.error.d.ts +22 -0
- package/cjs/errors/missing-data-source.error.d.ts.map +1 -0
- package/cjs/errors/missing-data-source.error.js +29 -0
- package/cjs/errors/missing-data-source.error.js.map +1 -0
- package/cjs/errors/transaction-rollback.error.d.ts +20 -0
- package/cjs/errors/transaction-rollback.error.d.ts.map +1 -0
- package/cjs/errors/transaction-rollback.error.js +27 -0
- package/cjs/errors/transaction-rollback.error.js.map +1 -0
- package/cjs/events/model-events.d.ts +231 -0
- package/cjs/events/model-events.d.ts.map +1 -0
- package/cjs/events/model-events.js +259 -0
- package/cjs/events/model-events.js.map +1 -0
- package/cjs/expressions/aggregate-expressions.d.ts +215 -0
- package/cjs/expressions/aggregate-expressions.d.ts.map +1 -0
- package/cjs/expressions/aggregate-expressions.js +221 -0
- package/cjs/expressions/aggregate-expressions.js.map +1 -0
- package/cjs/expressions/index.d.ts +2 -0
- package/cjs/expressions/index.d.ts.map +1 -0
- package/cjs/index.d.ts +45 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -0
- package/cjs/migration/column-builder.d.ts +417 -0
- package/cjs/migration/column-builder.d.ts.map +1 -0
- package/cjs/migration/column-builder.js +586 -0
- package/cjs/migration/column-builder.js.map +1 -0
- package/cjs/migration/column-helpers.d.ts +275 -0
- package/cjs/migration/column-helpers.d.ts.map +1 -0
- package/cjs/migration/column-helpers.js +389 -0
- package/cjs/migration/column-helpers.js.map +1 -0
- package/cjs/migration/foreign-key-builder.d.ts +103 -0
- package/cjs/migration/foreign-key-builder.d.ts.map +1 -0
- package/cjs/migration/foreign-key-builder.js +121 -0
- package/cjs/migration/foreign-key-builder.js.map +1 -0
- package/cjs/migration/index.d.ts +7 -0
- package/cjs/migration/index.d.ts.map +1 -0
- package/cjs/migration/migration-runner.d.ts +278 -0
- package/cjs/migration/migration-runner.d.ts.map +1 -0
- package/cjs/migration/migration-runner.js +815 -0
- package/cjs/migration/migration-runner.js.map +1 -0
- package/cjs/migration/migration.d.ts +1992 -0
- package/cjs/migration/migration.d.ts.map +1 -0
- package/cjs/migration/migration.js +2162 -0
- package/cjs/migration/migration.js.map +1 -0
- package/cjs/migration/sql-grammar.d.ts +61 -0
- package/cjs/migration/sql-grammar.d.ts.map +1 -0
- package/cjs/migration/sql-grammar.js +164 -0
- package/cjs/migration/sql-grammar.js.map +1 -0
- package/cjs/migration/sql-serializer.d.ts +22 -0
- package/cjs/migration/sql-serializer.d.ts.map +1 -0
- package/cjs/migration/sql-serializer.js +26 -0
- package/cjs/migration/sql-serializer.js.map +1 -0
- package/cjs/migration/types.d.ts +155 -0
- package/cjs/migration/types.d.ts.map +1 -0
- package/cjs/model/methods/accessor-methods.d.ts +13 -0
- package/cjs/model/methods/accessor-methods.d.ts.map +1 -0
- package/cjs/model/methods/accessor-methods.js +51 -0
- package/cjs/model/methods/accessor-methods.js.map +1 -0
- package/cjs/model/methods/delete-methods.d.ts +10 -0
- package/cjs/model/methods/delete-methods.d.ts.map +1 -0
- package/cjs/model/methods/delete-methods.js +10 -0
- package/cjs/model/methods/delete-methods.js.map +1 -0
- package/cjs/model/methods/dirty-methods.d.ts +10 -0
- package/cjs/model/methods/dirty-methods.d.ts.map +1 -0
- package/cjs/model/methods/dirty-methods.js +15 -0
- package/cjs/model/methods/dirty-methods.js.map +1 -0
- package/cjs/model/methods/hydration-methods.d.ts +10 -0
- package/cjs/model/methods/hydration-methods.d.ts.map +1 -0
- package/cjs/model/methods/hydration-methods.js +57 -0
- package/cjs/model/methods/hydration-methods.js.map +1 -0
- package/cjs/model/methods/instance-event-methods.d.ts +7 -0
- package/cjs/model/methods/instance-event-methods.d.ts.map +1 -0
- package/cjs/model/methods/instance-event-methods.js +15 -0
- package/cjs/model/methods/instance-event-methods.js.map +1 -0
- package/cjs/model/methods/meta-methods.d.ts +7 -0
- package/cjs/model/methods/meta-methods.d.ts.map +1 -0
- package/cjs/model/methods/meta-methods.js +78 -0
- package/cjs/model/methods/meta-methods.js.map +1 -0
- package/cjs/model/methods/query-methods.d.ts +24 -0
- package/cjs/model/methods/query-methods.d.ts.map +1 -0
- package/cjs/model/methods/query-methods.js +164 -0
- package/cjs/model/methods/query-methods.js.map +1 -0
- package/cjs/model/methods/restore-methods.d.ts +10 -0
- package/cjs/model/methods/restore-methods.d.ts.map +1 -0
- package/cjs/model/methods/restore-methods.js +13 -0
- package/cjs/model/methods/restore-methods.js.map +1 -0
- package/cjs/model/methods/scope-methods.d.ts +7 -0
- package/cjs/model/methods/scope-methods.d.ts.map +1 -0
- package/cjs/model/methods/scope-methods.js +15 -0
- package/cjs/model/methods/scope-methods.js.map +1 -0
- package/cjs/model/methods/serialization-methods.d.ts +3 -0
- package/cjs/model/methods/serialization-methods.d.ts.map +1 -0
- package/cjs/model/methods/serialization-methods.js +27 -0
- package/cjs/model/methods/serialization-methods.js.map +1 -0
- package/cjs/model/methods/static-event-methods.d.ts +9 -0
- package/cjs/model/methods/static-event-methods.d.ts.map +1 -0
- package/cjs/model/methods/static-event-methods.js +29 -0
- package/cjs/model/methods/static-event-methods.js.map +1 -0
- package/cjs/model/methods/write-methods.d.ts +10 -0
- package/cjs/model/methods/write-methods.d.ts.map +1 -0
- package/cjs/model/methods/write-methods.js +52 -0
- package/cjs/model/methods/write-methods.js.map +1 -0
- package/cjs/model/model.d.ts +1647 -0
- package/cjs/model/model.d.ts.map +1 -0
- package/cjs/model/model.js +1657 -0
- package/cjs/model/model.js.map +1 -0
- package/cjs/model/model.types.d.ts +44 -0
- package/cjs/model/model.types.d.ts.map +1 -0
- package/cjs/model/register-model.d.ts +81 -0
- package/cjs/model/register-model.d.ts.map +1 -0
- package/cjs/model/register-model.js +94 -0
- package/cjs/model/register-model.js.map +1 -0
- package/cjs/query-builder/query-builder.d.ts +556 -0
- package/cjs/query-builder/query-builder.d.ts.map +1 -0
- package/cjs/query-builder/query-builder.js +1070 -0
- package/cjs/query-builder/query-builder.js.map +1 -0
- package/cjs/relations/helpers.d.ts +156 -0
- package/cjs/relations/helpers.d.ts.map +1 -0
- package/cjs/relations/helpers.js +202 -0
- package/cjs/relations/helpers.js.map +1 -0
- package/cjs/relations/index.d.ts +35 -0
- package/cjs/relations/index.d.ts.map +1 -0
- package/cjs/relations/pivot-operations.d.ts +160 -0
- package/cjs/relations/pivot-operations.d.ts.map +1 -0
- package/cjs/relations/pivot-operations.js +293 -0
- package/cjs/relations/pivot-operations.js.map +1 -0
- package/cjs/relations/relation-hydrator.d.ts +68 -0
- package/cjs/relations/relation-hydrator.d.ts.map +1 -0
- package/cjs/relations/relation-hydrator.js +81 -0
- package/cjs/relations/relation-hydrator.js.map +1 -0
- package/cjs/relations/relation-loader.d.ts +194 -0
- package/cjs/relations/relation-loader.d.ts.map +1 -0
- package/cjs/relations/relation-loader.js +466 -0
- package/cjs/relations/relation-loader.js.map +1 -0
- package/cjs/relations/types.d.ts +306 -0
- package/cjs/relations/types.d.ts.map +1 -0
- package/cjs/remover/database-remover.d.ts +100 -0
- package/cjs/remover/database-remover.d.ts.map +1 -0
- package/cjs/remover/database-remover.js +214 -0
- package/cjs/remover/database-remover.js.map +1 -0
- package/cjs/restorer/database-restorer.d.ts +131 -0
- package/cjs/restorer/database-restorer.d.ts.map +1 -0
- package/cjs/restorer/database-restorer.js +434 -0
- package/cjs/restorer/database-restorer.js.map +1 -0
- package/cjs/sql-database-dirty-tracker.d.ts +13 -0
- package/cjs/sql-database-dirty-tracker.d.ts.map +1 -0
- package/cjs/sql-database-dirty-tracker.js +14 -0
- package/cjs/sql-database-dirty-tracker.js.map +1 -0
- package/cjs/sync/index.d.ts +12 -0
- package/cjs/sync/index.d.ts.map +1 -0
- package/cjs/sync/model-events.d.ts +62 -0
- package/cjs/sync/model-events.d.ts.map +1 -0
- package/cjs/sync/model-events.js +49 -0
- package/cjs/sync/model-events.js.map +1 -0
- package/cjs/sync/model-sync-operation.d.ts +163 -0
- package/cjs/sync/model-sync-operation.d.ts.map +1 -0
- package/cjs/sync/model-sync-operation.js +292 -0
- package/cjs/sync/model-sync-operation.js.map +1 -0
- package/cjs/sync/model-sync.d.ts +130 -0
- package/cjs/sync/model-sync.d.ts.map +1 -0
- package/cjs/sync/model-sync.js +178 -0
- package/cjs/sync/model-sync.js.map +1 -0
- package/cjs/sync/sync-context.d.ts +70 -0
- package/cjs/sync/sync-context.d.ts.map +1 -0
- package/cjs/sync/sync-context.js +101 -0
- package/cjs/sync/sync-context.js.map +1 -0
- package/cjs/sync/sync-manager.d.ts +213 -0
- package/cjs/sync/sync-manager.d.ts.map +1 -0
- package/cjs/sync/sync-manager.js +689 -0
- package/cjs/sync/sync-manager.js.map +1 -0
- package/cjs/sync/types.d.ts +289 -0
- package/cjs/sync/types.d.ts.map +1 -0
- package/cjs/test-migrations/test-enhanced-features.migration.d.ts +15 -0
- package/cjs/test-migrations/test-enhanced-features.migration.d.ts.map +1 -0
- package/cjs/types.d.ts +371 -0
- package/cjs/types.d.ts.map +1 -0
- package/cjs/utils/connect-to-database.d.ts +307 -0
- package/cjs/utils/connect-to-database.d.ts.map +1 -0
- package/cjs/utils/connect-to-database.js +130 -0
- package/cjs/utils/connect-to-database.js.map +1 -0
- package/cjs/utils/database-writer.utils.d.ts +15 -0
- package/cjs/utils/database-writer.utils.d.ts.map +1 -0
- package/cjs/utils/database-writer.utils.js +14 -0
- package/cjs/utils/database-writer.utils.js.map +1 -0
- package/cjs/utils/define-model.js +100 -0
- package/cjs/utils/define-model.js.map +1 -0
- package/cjs/utils/is-valid-date-value.d.ts +5 -0
- package/cjs/utils/is-valid-date-value.d.ts.map +1 -0
- package/cjs/utils/is-valid-date-value.js +25 -0
- package/cjs/utils/is-valid-date-value.js.map +1 -0
- package/cjs/utils/once-connected.d.ts +146 -0
- package/cjs/utils/once-connected.d.ts.map +1 -0
- package/cjs/utils/once-connected.js +251 -0
- package/cjs/utils/once-connected.js.map +1 -0
- package/cjs/validation/database-seal-plugins.d.ts +12 -0
- package/cjs/validation/database-seal-plugins.d.ts.map +1 -0
- package/cjs/validation/database-seal-plugins.js +1 -0
- package/cjs/validation/database-seal-plugins.js.map +1 -0
- package/cjs/validation/database-writer-validation-error.d.ts +97 -0
- package/cjs/validation/database-writer-validation-error.d.ts.map +1 -0
- package/cjs/validation/database-writer-validation-error.js +160 -0
- package/cjs/validation/database-writer-validation-error.js.map +1 -0
- package/cjs/validation/index.d.ts +3 -0
- package/cjs/validation/index.d.ts.map +1 -0
- package/cjs/validation/mutators/embed-mutator.d.ts +9 -0
- package/cjs/validation/mutators/embed-mutator.d.ts.map +1 -0
- package/cjs/validation/mutators/embed-mutator.js +33 -0
- package/cjs/validation/mutators/embed-mutator.js.map +1 -0
- package/cjs/validation/plugins/embed-validator-plugin.d.ts +24 -0
- package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
- package/cjs/validation/plugins/embed-validator-plugin.js +18 -0
- package/cjs/validation/plugins/embed-validator-plugin.js.map +1 -0
- package/cjs/validation/rules/database-model-rule.d.ts +7 -0
- package/cjs/validation/rules/database-model-rule.d.ts.map +1 -0
- package/cjs/validation/rules/database-model-rule.js +27 -0
- package/cjs/validation/rules/database-model-rule.js.map +1 -0
- package/cjs/validation/transformers/embed-model-transformer.d.ts +3 -0
- package/cjs/validation/transformers/embed-model-transformer.d.ts.map +1 -0
- package/cjs/validation/transformers/embed-model-transformer.js +18 -0
- package/cjs/validation/transformers/embed-model-transformer.js.map +1 -0
- package/cjs/validation/validators/embed-validator.d.ts +21 -0
- package/cjs/validation/validators/embed-validator.d.ts.map +1 -0
- package/cjs/validation/validators/embed-validator.js +43 -0
- package/cjs/validation/validators/embed-validator.js.map +1 -0
- package/cjs/writer/database-writer.d.ts +181 -0
- package/cjs/writer/database-writer.d.ts.map +1 -0
- package/cjs/writer/database-writer.js +407 -0
- package/cjs/writer/database-writer.js.map +1 -0
- package/esm/data-source/data-source-registry.d.ts +108 -0
- package/esm/data-source/data-source-registry.d.ts.map +1 -0
- package/esm/data-source/data-source-registry.js +145 -0
- package/esm/data-source/data-source-registry.js.map +1 -0
- package/esm/data-source/data-source.d.ts +147 -0
- package/esm/data-source/data-source.d.ts.map +1 -0
- package/esm/data-source/data-source.js +83 -0
- package/esm/data-source/data-source.js.map +1 -0
- package/esm/database-dirty-tracker.d.ts +252 -0
- package/esm/database-dirty-tracker.d.ts.map +1 -0
- package/esm/database-dirty-tracker.js +386 -0
- package/esm/database-dirty-tracker.js.map +1 -0
- package/esm/drivers/mongodb/mongodb-blueprint.d.ts +30 -0
- package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-blueprint.js +51 -0
- package/esm/drivers/mongodb/mongodb-blueprint.js.map +1 -0
- package/esm/drivers/mongodb/mongodb-driver.d.ts +325 -0
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-driver.js +838 -0
- package/esm/drivers/mongodb/mongodb-driver.js.map +1 -0
- package/esm/drivers/mongodb/mongodb-id-generator.d.ts +116 -0
- package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-id-generator.js +149 -0
- package/esm/drivers/mongodb/mongodb-id-generator.js.map +1 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +317 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.js +666 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts +1122 -0
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-builder.js +1988 -0
- package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-operations.d.ts +226 -0
- package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-operations.js +270 -0
- package/esm/drivers/mongodb/mongodb-query-operations.js.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-parser.d.ts +262 -0
- package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-query-parser.js +1351 -0
- package/esm/drivers/mongodb/mongodb-query-parser.js.map +1 -0
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +79 -0
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-sync-adapter.js +146 -0
- package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
- package/esm/drivers/mongodb/types.d.ts +43 -0
- package/esm/drivers/mongodb/types.d.ts.map +1 -0
- package/esm/drivers/postgres/index.d.ts +16 -0
- package/esm/drivers/postgres/index.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-blueprint.d.ts +64 -0
- package/esm/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-blueprint.js +121 -0
- package/esm/drivers/postgres/postgres-blueprint.js.map +1 -0
- package/esm/drivers/postgres/postgres-dialect.d.ts +136 -0
- package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-dialect.js +268 -0
- package/esm/drivers/postgres/postgres-dialect.js.map +1 -0
- package/esm/drivers/postgres/postgres-driver.d.ts +432 -0
- package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-driver.js +1010 -0
- package/esm/drivers/postgres/postgres-driver.js.map +1 -0
- package/esm/drivers/postgres/postgres-migration-driver.d.ts +397 -0
- package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-migration-driver.js +900 -0
- package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -0
- package/esm/drivers/postgres/postgres-query-builder.d.ts +254 -0
- package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-query-builder.js +933 -0
- package/esm/drivers/postgres/postgres-query-builder.js.map +1 -0
- package/esm/drivers/postgres/postgres-query-parser.d.ts +328 -0
- package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-query-parser.js +868 -0
- package/esm/drivers/postgres/postgres-query-parser.js.map +1 -0
- package/esm/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
- package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-sql-serializer.js +400 -0
- package/esm/drivers/postgres/postgres-sql-serializer.js.map +1 -0
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-sync-adapter.js +197 -0
- package/esm/drivers/postgres/postgres-sync-adapter.js.map +1 -0
- package/esm/drivers/postgres/types.d.ts +144 -0
- package/esm/drivers/postgres/types.d.ts.map +1 -0
- package/esm/drivers/sql/index.d.ts +10 -0
- package/esm/drivers/sql/index.d.ts.map +1 -0
- package/esm/drivers/sql/sql-dialect.contract.d.ts +204 -0
- package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
- package/esm/drivers/sql/sql-types.d.ts +202 -0
- package/esm/drivers/sql/sql-types.d.ts.map +1 -0
- package/esm/errors/missing-data-source.error.d.ts +22 -0
- package/esm/errors/missing-data-source.error.d.ts.map +1 -0
- package/esm/errors/missing-data-source.error.js +29 -0
- package/esm/errors/missing-data-source.error.js.map +1 -0
- package/esm/errors/transaction-rollback.error.d.ts +20 -0
- package/esm/errors/transaction-rollback.error.d.ts.map +1 -0
- package/esm/errors/transaction-rollback.error.js +27 -0
- package/esm/errors/transaction-rollback.error.js.map +1 -0
- package/esm/events/model-events.d.ts +231 -0
- package/esm/events/model-events.d.ts.map +1 -0
- package/esm/events/model-events.js +259 -0
- package/esm/events/model-events.js.map +1 -0
- package/esm/expressions/aggregate-expressions.d.ts +215 -0
- package/esm/expressions/aggregate-expressions.d.ts.map +1 -0
- package/esm/expressions/aggregate-expressions.js +221 -0
- package/esm/expressions/aggregate-expressions.js.map +1 -0
- package/esm/expressions/index.d.ts +2 -0
- package/esm/expressions/index.d.ts.map +1 -0
- package/esm/index.d.ts +45 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/esm/migration/column-builder.d.ts +417 -0
- package/esm/migration/column-builder.d.ts.map +1 -0
- package/esm/migration/column-builder.js +586 -0
- package/esm/migration/column-builder.js.map +1 -0
- package/esm/migration/column-helpers.d.ts +275 -0
- package/esm/migration/column-helpers.d.ts.map +1 -0
- package/esm/migration/column-helpers.js +389 -0
- package/esm/migration/column-helpers.js.map +1 -0
- package/esm/migration/foreign-key-builder.d.ts +103 -0
- package/esm/migration/foreign-key-builder.d.ts.map +1 -0
- package/esm/migration/foreign-key-builder.js +121 -0
- package/esm/migration/foreign-key-builder.js.map +1 -0
- package/esm/migration/index.d.ts +7 -0
- package/esm/migration/index.d.ts.map +1 -0
- package/esm/migration/migration-runner.d.ts +278 -0
- package/esm/migration/migration-runner.d.ts.map +1 -0
- package/esm/migration/migration-runner.js +815 -0
- package/esm/migration/migration-runner.js.map +1 -0
- package/esm/migration/migration.d.ts +1992 -0
- package/esm/migration/migration.d.ts.map +1 -0
- package/esm/migration/migration.js +2162 -0
- package/esm/migration/migration.js.map +1 -0
- package/esm/migration/sql-grammar.d.ts +61 -0
- package/esm/migration/sql-grammar.d.ts.map +1 -0
- package/esm/migration/sql-grammar.js +164 -0
- package/esm/migration/sql-grammar.js.map +1 -0
- package/esm/migration/sql-serializer.d.ts +22 -0
- package/esm/migration/sql-serializer.d.ts.map +1 -0
- package/esm/migration/sql-serializer.js +26 -0
- package/esm/migration/sql-serializer.js.map +1 -0
- package/esm/migration/types.d.ts +155 -0
- package/esm/migration/types.d.ts.map +1 -0
- package/esm/model/methods/accessor-methods.d.ts +13 -0
- package/esm/model/methods/accessor-methods.d.ts.map +1 -0
- package/esm/model/methods/accessor-methods.js +51 -0
- package/esm/model/methods/accessor-methods.js.map +1 -0
- package/esm/model/methods/delete-methods.d.ts +10 -0
- package/esm/model/methods/delete-methods.d.ts.map +1 -0
- package/esm/model/methods/delete-methods.js +10 -0
- package/esm/model/methods/delete-methods.js.map +1 -0
- package/esm/model/methods/dirty-methods.d.ts +10 -0
- package/esm/model/methods/dirty-methods.d.ts.map +1 -0
- package/esm/model/methods/dirty-methods.js +15 -0
- package/esm/model/methods/dirty-methods.js.map +1 -0
- package/esm/model/methods/hydration-methods.d.ts +10 -0
- package/esm/model/methods/hydration-methods.d.ts.map +1 -0
- package/esm/model/methods/hydration-methods.js +57 -0
- package/esm/model/methods/hydration-methods.js.map +1 -0
- package/esm/model/methods/instance-event-methods.d.ts +7 -0
- package/esm/model/methods/instance-event-methods.d.ts.map +1 -0
- package/esm/model/methods/instance-event-methods.js +15 -0
- package/esm/model/methods/instance-event-methods.js.map +1 -0
- package/esm/model/methods/meta-methods.d.ts +7 -0
- package/esm/model/methods/meta-methods.d.ts.map +1 -0
- package/esm/model/methods/meta-methods.js +78 -0
- package/esm/model/methods/meta-methods.js.map +1 -0
- package/esm/model/methods/query-methods.d.ts +24 -0
- package/esm/model/methods/query-methods.d.ts.map +1 -0
- package/esm/model/methods/query-methods.js +164 -0
- package/esm/model/methods/query-methods.js.map +1 -0
- package/esm/model/methods/restore-methods.d.ts +10 -0
- package/esm/model/methods/restore-methods.d.ts.map +1 -0
- package/esm/model/methods/restore-methods.js +13 -0
- package/esm/model/methods/restore-methods.js.map +1 -0
- package/esm/model/methods/scope-methods.d.ts +7 -0
- package/esm/model/methods/scope-methods.d.ts.map +1 -0
- package/esm/model/methods/scope-methods.js +15 -0
- package/esm/model/methods/scope-methods.js.map +1 -0
- package/esm/model/methods/serialization-methods.d.ts +3 -0
- package/esm/model/methods/serialization-methods.d.ts.map +1 -0
- package/esm/model/methods/serialization-methods.js +27 -0
- package/esm/model/methods/serialization-methods.js.map +1 -0
- package/esm/model/methods/static-event-methods.d.ts +9 -0
- package/esm/model/methods/static-event-methods.d.ts.map +1 -0
- package/esm/model/methods/static-event-methods.js +29 -0
- package/esm/model/methods/static-event-methods.js.map +1 -0
- package/esm/model/methods/write-methods.d.ts +10 -0
- package/esm/model/methods/write-methods.d.ts.map +1 -0
- package/esm/model/methods/write-methods.js +52 -0
- package/esm/model/methods/write-methods.js.map +1 -0
- package/esm/model/model.d.ts +1647 -0
- package/esm/model/model.d.ts.map +1 -0
- package/esm/model/model.js +1657 -0
- package/esm/model/model.js.map +1 -0
- package/esm/model/model.types.d.ts +44 -0
- package/esm/model/model.types.d.ts.map +1 -0
- package/esm/model/register-model.d.ts +81 -0
- package/esm/model/register-model.d.ts.map +1 -0
- package/esm/model/register-model.js +94 -0
- package/esm/model/register-model.js.map +1 -0
- package/esm/query-builder/query-builder.d.ts +556 -0
- package/esm/query-builder/query-builder.d.ts.map +1 -0
- package/esm/query-builder/query-builder.js +1070 -0
- package/esm/query-builder/query-builder.js.map +1 -0
- package/esm/relations/helpers.d.ts +156 -0
- package/esm/relations/helpers.d.ts.map +1 -0
- package/esm/relations/helpers.js +202 -0
- package/esm/relations/helpers.js.map +1 -0
- package/esm/relations/index.d.ts +35 -0
- package/esm/relations/index.d.ts.map +1 -0
- package/esm/relations/pivot-operations.d.ts +160 -0
- package/esm/relations/pivot-operations.d.ts.map +1 -0
- package/esm/relations/pivot-operations.js +293 -0
- package/esm/relations/pivot-operations.js.map +1 -0
- package/esm/relations/relation-hydrator.d.ts +68 -0
- package/esm/relations/relation-hydrator.d.ts.map +1 -0
- package/esm/relations/relation-hydrator.js +81 -0
- package/esm/relations/relation-hydrator.js.map +1 -0
- package/esm/relations/relation-loader.d.ts +194 -0
- package/esm/relations/relation-loader.d.ts.map +1 -0
- package/esm/relations/relation-loader.js +466 -0
- package/esm/relations/relation-loader.js.map +1 -0
- package/esm/relations/types.d.ts +306 -0
- package/esm/relations/types.d.ts.map +1 -0
- package/esm/remover/database-remover.d.ts +100 -0
- package/esm/remover/database-remover.d.ts.map +1 -0
- package/esm/remover/database-remover.js +214 -0
- package/esm/remover/database-remover.js.map +1 -0
- package/esm/restorer/database-restorer.d.ts +131 -0
- package/esm/restorer/database-restorer.d.ts.map +1 -0
- package/esm/restorer/database-restorer.js +434 -0
- package/esm/restorer/database-restorer.js.map +1 -0
- package/esm/sql-database-dirty-tracker.d.ts +13 -0
- package/esm/sql-database-dirty-tracker.d.ts.map +1 -0
- package/esm/sql-database-dirty-tracker.js +14 -0
- package/esm/sql-database-dirty-tracker.js.map +1 -0
- package/esm/sync/index.d.ts +12 -0
- package/esm/sync/index.d.ts.map +1 -0
- package/esm/sync/model-events.d.ts +62 -0
- package/esm/sync/model-events.d.ts.map +1 -0
- package/esm/sync/model-events.js +49 -0
- package/esm/sync/model-events.js.map +1 -0
- package/esm/sync/model-sync-operation.d.ts +163 -0
- package/esm/sync/model-sync-operation.d.ts.map +1 -0
- package/esm/sync/model-sync-operation.js +292 -0
- package/esm/sync/model-sync-operation.js.map +1 -0
- package/esm/sync/model-sync.d.ts +130 -0
- package/esm/sync/model-sync.d.ts.map +1 -0
- package/esm/sync/model-sync.js +178 -0
- package/esm/sync/model-sync.js.map +1 -0
- package/esm/sync/sync-context.d.ts +70 -0
- package/esm/sync/sync-context.d.ts.map +1 -0
- package/esm/sync/sync-context.js +101 -0
- package/esm/sync/sync-context.js.map +1 -0
- package/esm/sync/sync-manager.d.ts +213 -0
- package/esm/sync/sync-manager.d.ts.map +1 -0
- package/esm/sync/sync-manager.js +689 -0
- package/esm/sync/sync-manager.js.map +1 -0
- package/esm/sync/types.d.ts +289 -0
- package/esm/sync/types.d.ts.map +1 -0
- package/esm/test-migrations/test-enhanced-features.migration.d.ts +15 -0
- package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +1 -0
- package/esm/types.d.ts +371 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/utils/connect-to-database.d.ts +307 -0
- package/esm/utils/connect-to-database.d.ts.map +1 -0
- package/esm/utils/connect-to-database.js +130 -0
- package/esm/utils/connect-to-database.js.map +1 -0
- package/esm/utils/database-writer.utils.d.ts +15 -0
- package/esm/utils/database-writer.utils.d.ts.map +1 -0
- package/esm/utils/database-writer.utils.js +14 -0
- package/esm/utils/database-writer.utils.js.map +1 -0
- package/esm/utils/define-model.js +100 -0
- package/esm/utils/define-model.js.map +1 -0
- package/esm/utils/is-valid-date-value.d.ts +5 -0
- package/esm/utils/is-valid-date-value.d.ts.map +1 -0
- package/esm/utils/is-valid-date-value.js +25 -0
- package/esm/utils/is-valid-date-value.js.map +1 -0
- package/esm/utils/once-connected.d.ts +146 -0
- package/esm/utils/once-connected.d.ts.map +1 -0
- package/esm/utils/once-connected.js +251 -0
- package/esm/utils/once-connected.js.map +1 -0
- package/esm/validation/database-seal-plugins.d.ts +12 -0
- package/esm/validation/database-seal-plugins.d.ts.map +1 -0
- package/esm/validation/database-seal-plugins.js +1 -0
- package/esm/validation/database-seal-plugins.js.map +1 -0
- package/esm/validation/database-writer-validation-error.d.ts +97 -0
- package/esm/validation/database-writer-validation-error.d.ts.map +1 -0
- package/esm/validation/database-writer-validation-error.js +160 -0
- package/esm/validation/database-writer-validation-error.js.map +1 -0
- package/esm/validation/index.d.ts +3 -0
- package/esm/validation/index.d.ts.map +1 -0
- package/esm/validation/mutators/embed-mutator.d.ts +9 -0
- package/esm/validation/mutators/embed-mutator.d.ts.map +1 -0
- package/esm/validation/mutators/embed-mutator.js +33 -0
- package/esm/validation/mutators/embed-mutator.js.map +1 -0
- package/esm/validation/plugins/embed-validator-plugin.d.ts +24 -0
- package/esm/validation/plugins/embed-validator-plugin.d.ts.map +1 -0
- package/esm/validation/plugins/embed-validator-plugin.js +18 -0
- package/esm/validation/plugins/embed-validator-plugin.js.map +1 -0
- package/esm/validation/rules/database-model-rule.d.ts +7 -0
- package/esm/validation/rules/database-model-rule.d.ts.map +1 -0
- package/esm/validation/rules/database-model-rule.js +27 -0
- package/esm/validation/rules/database-model-rule.js.map +1 -0
- package/esm/validation/transformers/embed-model-transformer.d.ts +3 -0
- package/esm/validation/transformers/embed-model-transformer.d.ts.map +1 -0
- package/esm/validation/transformers/embed-model-transformer.js +18 -0
- package/esm/validation/transformers/embed-model-transformer.js.map +1 -0
- package/esm/validation/validators/embed-validator.d.ts +21 -0
- package/esm/validation/validators/embed-validator.d.ts.map +1 -0
- package/esm/validation/validators/embed-validator.js +43 -0
- package/esm/validation/validators/embed-validator.js.map +1 -0
- package/esm/writer/database-writer.d.ts +181 -0
- package/esm/writer/database-writer.d.ts.map +1 -0
- package/esm/writer/database-writer.js +407 -0
- package/esm/writer/database-writer.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
'use strict';var dataSourceRegistry=require('../data-source/data-source-registry.js');/**
|
|
2
|
+
* Execute a callback once the driver is connected.
|
|
3
|
+
*
|
|
4
|
+
* If the driver is already connected, the callback is executed immediately.
|
|
5
|
+
* Otherwise, it waits for the "connected" event.
|
|
6
|
+
*
|
|
7
|
+
* **Use Case:**
|
|
8
|
+
* Useful for ensuring database-dependent operations only run after connection
|
|
9
|
+
* is established, especially in small to medium projects with a single data source.
|
|
10
|
+
*
|
|
11
|
+
* @param dataSourceOrNameOrCallback - Data source instance, name, or callback function
|
|
12
|
+
* @param callback - Function to execute once connected (optional if first param is callback)
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // With default data source (just callback)
|
|
17
|
+
* await connectToDatabase({ database: "myapp" });
|
|
18
|
+
*
|
|
19
|
+
* onceConnected((ds) => {
|
|
20
|
+
* console.log("Database is ready!");
|
|
21
|
+
* console.log("Connected to:", ds.name);
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* // With data source name
|
|
28
|
+
* onceConnected("primary", (ds) => {
|
|
29
|
+
* console.log("Primary database is ready!");
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* // With data source instance
|
|
36
|
+
* const dataSource = await connectToDatabase({ database: "myapp" });
|
|
37
|
+
*
|
|
38
|
+
* onceConnected(dataSource, (ds) => {
|
|
39
|
+
* console.log("Database is ready!");
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // With driver instance
|
|
46
|
+
* const driver = new MongoDbDriver(config);
|
|
47
|
+
* const dataSource = new DataSource({ name: "primary", driver });
|
|
48
|
+
*
|
|
49
|
+
* onceConnected(dataSource, () => {
|
|
50
|
+
* // Start application server
|
|
51
|
+
* app.listen(3000);
|
|
52
|
+
* });
|
|
53
|
+
*
|
|
54
|
+
* // Connect after setting up the callback
|
|
55
|
+
* await driver.connect();
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* // Chaining operations
|
|
61
|
+
* onceConnected(async (ds) => {
|
|
62
|
+
* // Seed database
|
|
63
|
+
* await seedDatabase();
|
|
64
|
+
*
|
|
65
|
+
* // Run migrations
|
|
66
|
+
* await runMigrations();
|
|
67
|
+
*
|
|
68
|
+
* console.log("Database ready!");
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
function onceConnected(dataSourceOrNameOrCallback, callback) {
|
|
73
|
+
// Determine if first parameter is a callback
|
|
74
|
+
let targetDataSource;
|
|
75
|
+
let actualCallback;
|
|
76
|
+
if (typeof dataSourceOrNameOrCallback === "function") {
|
|
77
|
+
// First param is callback, use default data source
|
|
78
|
+
actualCallback = dataSourceOrNameOrCallback;
|
|
79
|
+
targetDataSource = "default";
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// First param is data source name or instance
|
|
83
|
+
if (!callback) {
|
|
84
|
+
throw new Error("Callback is required when providing a data source name or instance.");
|
|
85
|
+
}
|
|
86
|
+
actualCallback = callback;
|
|
87
|
+
targetDataSource = dataSourceOrNameOrCallback;
|
|
88
|
+
}
|
|
89
|
+
// Try to get the data source if it's a string
|
|
90
|
+
let resolvedDataSource;
|
|
91
|
+
if (typeof targetDataSource === "string") {
|
|
92
|
+
try {
|
|
93
|
+
resolvedDataSource =
|
|
94
|
+
targetDataSource === "default"
|
|
95
|
+
? dataSourceRegistry.dataSourceRegistry.get()
|
|
96
|
+
: dataSourceRegistry.dataSourceRegistry.get(targetDataSource);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Data source not registered yet, will wait for event
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
resolvedDataSource = targetDataSource;
|
|
104
|
+
}
|
|
105
|
+
// If data source is resolved and already connected, fire immediately
|
|
106
|
+
if (resolvedDataSource && resolvedDataSource.driver.isConnected) {
|
|
107
|
+
actualCallback(resolvedDataSource);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
// Otherwise, wait for the connected event
|
|
111
|
+
const listener = (ds) => {
|
|
112
|
+
const matches = typeof targetDataSource === "string"
|
|
113
|
+
? targetDataSource === "default"
|
|
114
|
+
? ds.isDefault
|
|
115
|
+
: ds.name === targetDataSource
|
|
116
|
+
: ds === targetDataSource;
|
|
117
|
+
if (matches) {
|
|
118
|
+
// Remove the listener once our condition is met
|
|
119
|
+
dataSourceRegistry.dataSourceRegistry.off("connected", listener);
|
|
120
|
+
actualCallback(ds);
|
|
121
|
+
}
|
|
122
|
+
// If it doesn't match, we do nothing and just wait for the next "connected" event targeting our DB
|
|
123
|
+
};
|
|
124
|
+
dataSourceRegistry.dataSourceRegistry.on("connected", listener);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Execute a callback once the driver is disconnected.
|
|
128
|
+
*
|
|
129
|
+
* If the driver is already disconnected, the callback is executed immediately.
|
|
130
|
+
* Otherwise, it waits for the "disconnected" event.
|
|
131
|
+
*
|
|
132
|
+
* **Use Case:**
|
|
133
|
+
* Useful for cleanup operations, graceful shutdown, or reconnection logic.
|
|
134
|
+
*
|
|
135
|
+
* @param dataSourceOrNameOrCallback - Data source instance, name, or callback function
|
|
136
|
+
* @param callback - Function to execute once disconnected (optional if first param is callback)
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* // With default data source (just callback)
|
|
141
|
+
* await connectToDatabase({ database: "myapp" });
|
|
142
|
+
*
|
|
143
|
+
* onceDisconnected((ds) => {
|
|
144
|
+
* console.log("Database disconnected!");
|
|
145
|
+
* console.log("Attempting reconnection...");
|
|
146
|
+
* });
|
|
147
|
+
* ```
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* // With data source name
|
|
152
|
+
* onceDisconnected("primary", (ds) => {
|
|
153
|
+
* console.log("Primary database disconnected!");
|
|
154
|
+
* });
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* // With data source instance
|
|
160
|
+
* const dataSource = await connectToDatabase({ database: "myapp" });
|
|
161
|
+
*
|
|
162
|
+
* onceDisconnected(dataSource, (ds) => {
|
|
163
|
+
* console.log("Database disconnected!");
|
|
164
|
+
* });
|
|
165
|
+
* ```
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* // Graceful shutdown with default data source
|
|
170
|
+
* process.on("SIGTERM", async () => {
|
|
171
|
+
* console.log("Shutting down...");
|
|
172
|
+
*
|
|
173
|
+
* onceDisconnected(() => {
|
|
174
|
+
* console.log("Database closed, exiting process");
|
|
175
|
+
* process.exit(0);
|
|
176
|
+
* });
|
|
177
|
+
*
|
|
178
|
+
* const dataSource = DataSourceRegistry.getDefault();
|
|
179
|
+
* await dataSource?.driver.disconnect();
|
|
180
|
+
* });
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* // Cleanup resources on disconnect
|
|
186
|
+
* onceDisconnected(async (ds) => {
|
|
187
|
+
* // Close file handles
|
|
188
|
+
* await closeFileHandles();
|
|
189
|
+
*
|
|
190
|
+
* // Clear caches
|
|
191
|
+
* clearCaches();
|
|
192
|
+
*
|
|
193
|
+
* console.log("Cleanup complete");
|
|
194
|
+
* });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
function onceDisconnected(dataSourceOrNameOrCallback, callback) {
|
|
198
|
+
// Determine if first parameter is a callback
|
|
199
|
+
let targetDataSource;
|
|
200
|
+
let actualCallback;
|
|
201
|
+
if (typeof dataSourceOrNameOrCallback === "function") {
|
|
202
|
+
// First param is callback, use default data source
|
|
203
|
+
actualCallback = dataSourceOrNameOrCallback;
|
|
204
|
+
targetDataSource = "default";
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
// First param is data source name or instance
|
|
208
|
+
if (!callback) {
|
|
209
|
+
throw new Error("Callback is required when providing a data source name or instance.");
|
|
210
|
+
}
|
|
211
|
+
actualCallback = callback;
|
|
212
|
+
targetDataSource = dataSourceOrNameOrCallback;
|
|
213
|
+
}
|
|
214
|
+
// Try to get the data source if it's a string
|
|
215
|
+
let resolvedDataSource;
|
|
216
|
+
if (typeof targetDataSource === "string") {
|
|
217
|
+
try {
|
|
218
|
+
resolvedDataSource =
|
|
219
|
+
targetDataSource === "default"
|
|
220
|
+
? dataSourceRegistry.dataSourceRegistry.get()
|
|
221
|
+
: dataSourceRegistry.dataSourceRegistry.get(targetDataSource);
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
// Data source not registered yet, will wait for event
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
resolvedDataSource = targetDataSource;
|
|
229
|
+
}
|
|
230
|
+
// If data source is resolved and already disconnected, fire immediately
|
|
231
|
+
if (resolvedDataSource && !resolvedDataSource.driver.isConnected) {
|
|
232
|
+
actualCallback(resolvedDataSource);
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
// Otherwise, wait for the disconnected event
|
|
236
|
+
const listener = (ds) => {
|
|
237
|
+
const matches = typeof targetDataSource === "string"
|
|
238
|
+
? targetDataSource === "default"
|
|
239
|
+
? ds.isDefault
|
|
240
|
+
: ds.name === targetDataSource
|
|
241
|
+
: ds === targetDataSource;
|
|
242
|
+
if (matches) {
|
|
243
|
+
actualCallback(ds);
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
// Not the one we're looking for, keep listening
|
|
247
|
+
dataSourceRegistry.dataSourceRegistry.once("disconnected", listener);
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
dataSourceRegistry.dataSourceRegistry.once("disconnected", listener);
|
|
251
|
+
}exports.onceConnected=onceConnected;exports.onceDisconnected=onceDisconnected;//# sourceMappingURL=once-connected.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"once-connected.js","sources":["../../src/utils/once-connected.ts"],"sourcesContent":[null],"names":["dataSourceRegistry"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { embedValidator } from "./plugins/embed-validator-plugin";
|
|
2
|
+
/**
|
|
3
|
+
* This file registers database seal plugins as a side effect.
|
|
4
|
+
* Import this file to ensure the plugins are registered.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import "./validation/database-seal-plugins";
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export type DatabaseSealPlugins = typeof embedValidator;
|
|
12
|
+
//# sourceMappingURL=database-seal-plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-seal-plugins.d.ts","sourceRoot":"","sources":["../../src/validation/database-seal-plugins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIlE;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var seal=require('@warlock.js/seal'),embedValidatorPlugin=require('./plugins/embed-validator-plugin.js');seal.registerPlugin(embedValidatorPlugin.embedValidator);//# sourceMappingURL=database-seal-plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-seal-plugins.js","sources":["../../src/validation/database-seal-plugins.ts"],"sourcesContent":[null],"names":["registerPlugin","embedValidator"],"mappings":"sHAGAA,mBAAc,CAACC,mCAAc,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { ValidationResult } from "@warlock.js/seal";
|
|
2
|
+
/**
|
|
3
|
+
* Error thrown when model validation fails during database write operations.
|
|
4
|
+
*
|
|
5
|
+
* Contains detailed information about all validation errors,
|
|
6
|
+
* including field paths, error messages, and validation rules that failed.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* try {
|
|
11
|
+
* const user = new User({ name: "", age: -5 });
|
|
12
|
+
* await user.save();
|
|
13
|
+
* } catch (error) {
|
|
14
|
+
* if (error instanceof DatabaseWriterValidationError) {
|
|
15
|
+
* console.log(error.message); // "Validation failed"
|
|
16
|
+
* console.log(error.errors);
|
|
17
|
+
* // [
|
|
18
|
+
* // { path: "name", error: "name is required", rule: "required" },
|
|
19
|
+
* // { path: "age", error: "age must be at least 0", rule: "min" }
|
|
20
|
+
* // ]
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare class DatabaseWriterValidationError extends Error {
|
|
26
|
+
/**
|
|
27
|
+
* Array of validation errors from @warlock.js/seal.
|
|
28
|
+
*
|
|
29
|
+
* Each error contains:
|
|
30
|
+
* - `path`: Dot-notation path to the field (e.g., "address.city")
|
|
31
|
+
* - `error`: Human-readable error message
|
|
32
|
+
* - `rule`: The validation rule that failed (e.g., "required", "email")
|
|
33
|
+
* - Additional context depending on the rule
|
|
34
|
+
*/
|
|
35
|
+
readonly errors: ValidationResult["errors"];
|
|
36
|
+
/**
|
|
37
|
+
* Create a new DatabaseWriterValidationError.
|
|
38
|
+
*
|
|
39
|
+
* @param message - Error message (typically "Validation failed")
|
|
40
|
+
* @param errors - Array of validation errors from seal
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const error = new DatabaseWriterValidationError("Validation failed", [
|
|
45
|
+
* { path: "email", error: "email must be valid", rule: "email" }
|
|
46
|
+
* ]);
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
constructor(message: string, errors: ValidationResult["errors"]);
|
|
50
|
+
/**
|
|
51
|
+
* Get a formatted string representation of all validation errors.
|
|
52
|
+
*
|
|
53
|
+
* Provides beautiful, colored terminal output with clear field-by-field breakdown.
|
|
54
|
+
*
|
|
55
|
+
* @returns Multi-line string with all errors, formatted for terminal
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* console.log(error.toString());
|
|
60
|
+
* // ❌ Validation Error: UserModel
|
|
61
|
+
* //
|
|
62
|
+
* // Field: email
|
|
63
|
+
* // Error: Email already exists
|
|
64
|
+
* // Value: "john@example.com"
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
toString(): string;
|
|
68
|
+
/**
|
|
69
|
+
* Get validation errors for a specific field.
|
|
70
|
+
*
|
|
71
|
+
* @param fieldPath - Dot-notation path to the field
|
|
72
|
+
* @returns Array of errors for that field
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const emailErrors = error.getFieldErrors("email");
|
|
77
|
+
* console.log(emailErrors);
|
|
78
|
+
* // [{ path: "email", error: "email must be valid", rule: "email" }]
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
getFieldErrors(fieldPath: string): ValidationResult["errors"];
|
|
82
|
+
/**
|
|
83
|
+
* Check if a specific field has validation errors.
|
|
84
|
+
*
|
|
85
|
+
* @param fieldPath - Dot-notation path to the field
|
|
86
|
+
* @returns True if the field has errors
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* if (error.hasFieldError("email")) {
|
|
91
|
+
* console.log("Email is invalid");
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
hasFieldError(fieldPath: string): boolean;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=database-writer-validation-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-writer-validation-error.d.ts","sourceRoot":"","sources":["../../src/validation/database-writer-validation-error.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD;;;;;;;;OAQG;IACH,SAAgB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAEnD;;;;;;;;;;;;OAYG;gBACgB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC;IAyBtE;;;;;;;;;;;;;;;;OAgBG;IACI,QAAQ,IAAI,MAAM;IAqDzB;;;;;;;;;;;;OAYG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IAIpE;;;;;;;;;;;;OAYG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAGjD"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
'use strict';var copper=require('@mongez/copper');/**
|
|
2
|
+
* Error thrown when model validation fails during database write operations.
|
|
3
|
+
*
|
|
4
|
+
* Contains detailed information about all validation errors,
|
|
5
|
+
* including field paths, error messages, and validation rules that failed.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* try {
|
|
10
|
+
* const user = new User({ name: "", age: -5 });
|
|
11
|
+
* await user.save();
|
|
12
|
+
* } catch (error) {
|
|
13
|
+
* if (error instanceof DatabaseWriterValidationError) {
|
|
14
|
+
* console.log(error.message); // "Validation failed"
|
|
15
|
+
* console.log(error.errors);
|
|
16
|
+
* // [
|
|
17
|
+
* // { path: "name", error: "name is required", rule: "required" },
|
|
18
|
+
* // { path: "age", error: "age must be at least 0", rule: "min" }
|
|
19
|
+
* // ]
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
class DatabaseWriterValidationError extends Error {
|
|
25
|
+
/**
|
|
26
|
+
* Array of validation errors from @warlock.js/seal.
|
|
27
|
+
*
|
|
28
|
+
* Each error contains:
|
|
29
|
+
* - `path`: Dot-notation path to the field (e.g., "address.city")
|
|
30
|
+
* - `error`: Human-readable error message
|
|
31
|
+
* - `rule`: The validation rule that failed (e.g., "required", "email")
|
|
32
|
+
* - Additional context depending on the rule
|
|
33
|
+
*/
|
|
34
|
+
errors;
|
|
35
|
+
/**
|
|
36
|
+
* Create a new DatabaseWriterValidationError.
|
|
37
|
+
*
|
|
38
|
+
* @param message - Error message (typically "Validation failed")
|
|
39
|
+
* @param errors - Array of validation errors from seal
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const error = new DatabaseWriterValidationError("Validation failed", [
|
|
44
|
+
* { path: "email", error: "email must be valid", rule: "email" }
|
|
45
|
+
* ]);
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
constructor(message, errors) {
|
|
49
|
+
super(message);
|
|
50
|
+
this.name = "DatabaseWriterValidationError";
|
|
51
|
+
this.errors = errors;
|
|
52
|
+
// Maintain proper stack trace for where error was thrown (V8 only)
|
|
53
|
+
if (Error.captureStackTrace) {
|
|
54
|
+
Error.captureStackTrace(this, DatabaseWriterValidationError);
|
|
55
|
+
}
|
|
56
|
+
// Override Node.js inspect to use our formatted output
|
|
57
|
+
Object.defineProperty(this, "inspect", {
|
|
58
|
+
value: () => this.toString(),
|
|
59
|
+
enumerable: false,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Custom inspect method for Node.js console output.
|
|
64
|
+
* This makes console.log and error logging use our beautiful format.
|
|
65
|
+
*/
|
|
66
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
67
|
+
return this.toString();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get a formatted string representation of all validation errors.
|
|
71
|
+
*
|
|
72
|
+
* Provides beautiful, colored terminal output with clear field-by-field breakdown.
|
|
73
|
+
*
|
|
74
|
+
* @returns Multi-line string with all errors, formatted for terminal
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* console.log(error.toString());
|
|
79
|
+
* // ❌ Validation Error: UserModel
|
|
80
|
+
* //
|
|
81
|
+
* // Field: email
|
|
82
|
+
* // Error: Email already exists
|
|
83
|
+
* // Value: "john@example.com"
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
toString() {
|
|
87
|
+
// Extract model name from message (e.g., "[UserModel Model]")
|
|
88
|
+
const modelMatch = this.message.match(/\[(\w+)\s+Model\]/);
|
|
89
|
+
const modelName = modelMatch ? modelMatch[1] : "Model";
|
|
90
|
+
const operation = this.message.includes("Insert") ? "Insert" : "Update";
|
|
91
|
+
// Build header
|
|
92
|
+
const lines = [];
|
|
93
|
+
lines.push("");
|
|
94
|
+
lines.push(copper.colors.red(`❌ Validation Error: ${modelName} (${operation})`));
|
|
95
|
+
lines.push("");
|
|
96
|
+
// Group errors by field for better readability
|
|
97
|
+
const errorsByField = new Map();
|
|
98
|
+
for (const err of this.errors) {
|
|
99
|
+
const fieldName = err.input || "unknown";
|
|
100
|
+
if (!errorsByField.has(fieldName)) {
|
|
101
|
+
errorsByField.set(fieldName, []);
|
|
102
|
+
}
|
|
103
|
+
errorsByField.get(fieldName).push({
|
|
104
|
+
error: err.error,
|
|
105
|
+
type: err.type,
|
|
106
|
+
value: err.value,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
// Format each field's errors
|
|
110
|
+
for (const [fieldName, fieldErrors] of errorsByField) {
|
|
111
|
+
lines.push(copper.colors.yellow(` Field: ${fieldName}`));
|
|
112
|
+
for (const fieldError of fieldErrors) {
|
|
113
|
+
lines.push(copper.colors.white(` Error: ${fieldError.error}`));
|
|
114
|
+
if (fieldError.value !== undefined) {
|
|
115
|
+
const valueStr = typeof fieldError.value === "string"
|
|
116
|
+
? `"${fieldError.value}"`
|
|
117
|
+
: JSON.stringify(fieldError.value);
|
|
118
|
+
lines.push(copper.colors.gray(` Value: ${valueStr}`));
|
|
119
|
+
}
|
|
120
|
+
if (fieldError.type) {
|
|
121
|
+
lines.push(copper.colors.cyan(` Type: ${fieldError.type}`));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
lines.push(""); // Blank line between fields
|
|
125
|
+
}
|
|
126
|
+
return lines.join("\n");
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get validation errors for a specific field.
|
|
130
|
+
*
|
|
131
|
+
* @param fieldPath - Dot-notation path to the field
|
|
132
|
+
* @returns Array of errors for that field
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* const emailErrors = error.getFieldErrors("email");
|
|
137
|
+
* console.log(emailErrors);
|
|
138
|
+
* // [{ path: "email", error: "email must be valid", rule: "email" }]
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
getFieldErrors(fieldPath) {
|
|
142
|
+
return this.errors.filter((err) => err.input === fieldPath);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Check if a specific field has validation errors.
|
|
146
|
+
*
|
|
147
|
+
* @param fieldPath - Dot-notation path to the field
|
|
148
|
+
* @returns True if the field has errors
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* if (error.hasFieldError("email")) {
|
|
153
|
+
* console.log("Email is invalid");
|
|
154
|
+
* }
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
hasFieldError(fieldPath) {
|
|
158
|
+
return this.errors.some((err) => err.input === fieldPath);
|
|
159
|
+
}
|
|
160
|
+
}exports.DatabaseWriterValidationError=DatabaseWriterValidationError;//# sourceMappingURL=database-writer-validation-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-writer-validation-error.js","sources":["../../src/validation/database-writer-validation-error.ts"],"sourcesContent":[null],"names":["colors"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,OAAO,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Mutator } from "@warlock.js/seal";
|
|
2
|
+
import { ChildModel } from "../../model/model";
|
|
3
|
+
type DatabaseModelMutatorOptions = {
|
|
4
|
+
model: ChildModel<any> | string;
|
|
5
|
+
};
|
|
6
|
+
export declare const databaseModelMutator: Mutator<DatabaseModelMutatorOptions>;
|
|
7
|
+
export declare const databaseModelsMutator: Mutator<DatabaseModelMutatorOptions>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=embed-mutator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed-mutator.d.ts","sourceRoot":"","sources":["../../../src/validation/mutators/embed-mutator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAS,MAAM,mBAAmB,CAAC;AAGtD,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,2BAA2B,CAuBrE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,2BAA2B,CAsBtE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';var model=require('../../model/model.js'),registerModel=require('../../model/register-model.js');const databaseModelMutator = async (value, context) => {
|
|
2
|
+
let { model: ModelClass } = context?.options || {};
|
|
3
|
+
if (typeof ModelClass === "string") {
|
|
4
|
+
ModelClass = registerModel.getModelFromRegistry(ModelClass);
|
|
5
|
+
}
|
|
6
|
+
if (!ModelClass) {
|
|
7
|
+
throw new Error(`Model ${ModelClass} not found in registry`);
|
|
8
|
+
}
|
|
9
|
+
if (value instanceof model.Model)
|
|
10
|
+
return value;
|
|
11
|
+
if (typeof value === "object" && value?.id) {
|
|
12
|
+
value = Number(value.id);
|
|
13
|
+
}
|
|
14
|
+
if (typeof value !== "number")
|
|
15
|
+
return value;
|
|
16
|
+
return await ModelClass.find(value);
|
|
17
|
+
};
|
|
18
|
+
const databaseModelsMutator = async (value, context) => {
|
|
19
|
+
if (!Array.isArray(value))
|
|
20
|
+
return value;
|
|
21
|
+
let { model: ModelClass } = context?.options || {};
|
|
22
|
+
if (typeof ModelClass === "string") {
|
|
23
|
+
ModelClass = registerModel.getModelFromRegistry(ModelClass);
|
|
24
|
+
}
|
|
25
|
+
if (!ModelClass) {
|
|
26
|
+
throw new Error(`Model ${ModelClass} not found in registry`);
|
|
27
|
+
}
|
|
28
|
+
// first, if all values are list of models, then return them.
|
|
29
|
+
if (value.every((item) => item instanceof model.Model))
|
|
30
|
+
return value;
|
|
31
|
+
const ids = value.map((item) => item?.id || item).filter((item) => item !== undefined);
|
|
32
|
+
return await ModelClass.query().whereIn("id", ids).get();
|
|
33
|
+
};exports.databaseModelMutator=databaseModelMutator;exports.databaseModelsMutator=databaseModelsMutator;//# sourceMappingURL=embed-mutator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed-mutator.js","sources":["../../../src/validation/mutators/embed-mutator.ts"],"sourcesContent":[null],"names":["getModelFromRegistry","Model"],"mappings":"8GAQa,MAAA,oBAAoB,GAAyC,OACxE,KAAK,EACL,OAAO,KACL;IACF,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;AAEnD,IAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AAClC,QAAA,UAAU,GAAGA,kCAAoB,CAAC,UAAU,CAAE,CAAC;AAChD,KAAA;IAED,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,SAAS,UAAU,CAAA,sBAAA,CAAwB,CAAC,CAAC;AAC9D,KAAA;IAED,IAAI,KAAK,YAAYC,WAAK;AAAE,QAAA,OAAO,KAAK,CAAC;IAEzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,EAAE,EAAE;AAC1C,QAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC1B,KAAA;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ;AAAE,QAAA,OAAO,KAAK,CAAC;AAE5C,IAAA,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,EAAE;AAEW,MAAA,qBAAqB,GAAyC,OACzE,KAAK,EACL,OAAO,KACL;AACF,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;IAExC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;AAEnD,IAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AAClC,QAAA,UAAU,GAAGD,kCAAoB,CAAC,UAAU,CAAE,CAAC;AAChD,KAAA;IAED,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,SAAS,UAAU,CAAA,sBAAA,CAAwB,CAAC,CAAC;AAC9D,KAAA;;AAGD,IAAA,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,YAAYC,WAAK,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;AAE/D,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,SAAS,CAAC,CAAC;AAEvF,IAAA,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AAC3D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Validator Plugin
|
|
3
|
+
*
|
|
4
|
+
* Adds file validation to Seal v factory
|
|
5
|
+
*/
|
|
6
|
+
import type { SealPlugin } from "@warlock.js/seal";
|
|
7
|
+
import type { ChildModel } from "../../model/model";
|
|
8
|
+
import { EmbedModelValidator } from "../validators/embed-validator";
|
|
9
|
+
type EmbedOptions = {
|
|
10
|
+
errorMessage?: string;
|
|
11
|
+
embed?: string | string[];
|
|
12
|
+
};
|
|
13
|
+
declare module "@warlock.js/seal" {
|
|
14
|
+
interface ValidatorV {
|
|
15
|
+
embed(model: ChildModel<any> | string, options?: EmbedOptions): EmbedModelValidator;
|
|
16
|
+
embedMany(model: ChildModel<any> | string, options?: EmbedOptions): EmbedModelValidator;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* File validation plugin for Seal
|
|
21
|
+
*/
|
|
22
|
+
export declare const embedValidator: SealPlugin;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=embed-validator-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed-validator-plugin.d.ts","sourceRoot":"","sources":["../../../src/validation/plugins/embed-validator-plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,KAAK,YAAY,GAAG;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,UAAU;QAClB,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC;QACpF,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC;KACzF;CACF;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAY5B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';var seal=require('@warlock.js/seal'),embedValidator$1=require('../validators/embed-validator.js');/**
|
|
2
|
+
* File Validator Plugin
|
|
3
|
+
*
|
|
4
|
+
* Adds file validation to Seal v factory
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* File validation plugin for Seal
|
|
8
|
+
*/
|
|
9
|
+
const embedValidator = {
|
|
10
|
+
name: "embed",
|
|
11
|
+
version: "1.0.0",
|
|
12
|
+
description: "Adds file upload validation (v.file())",
|
|
13
|
+
install() {
|
|
14
|
+
// Inject file() method into v factory
|
|
15
|
+
seal.v.embed = (model, options) => new embedValidator$1.EmbedModelValidator().model(model).embed(options?.embed);
|
|
16
|
+
seal.v.embedMany = (model, options) => new embedValidator$1.EmbedModelValidator().models(model).embed(options?.embed);
|
|
17
|
+
},
|
|
18
|
+
};exports.embedValidator=embedValidator;//# sourceMappingURL=embed-validator-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed-validator-plugin.js","sources":["../../../src/validation/plugins/embed-validator-plugin.ts"],"sourcesContent":[null],"names":["v","EmbedModelValidator"],"mappings":"+GAAA;;;;AAIG;AAmBH;;AAEG;AACU,MAAA,cAAc,GAAe;AACxC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,WAAW,EAAE,wCAAwC;IAErD,OAAO,GAAA;;QAELA,MAAC,CAAC,KAAK,GAAG,CAAC,KAA+B,EAAE,OAAsB,KAChE,IAAIC,oCAAmB,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/DD,MAAC,CAAC,SAAS,GAAG,CAAC,KAA+B,EAAE,OAAsB,KACpE,IAAIC,oCAAmB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KACjE;"}
|