@warlock.js/cascade 4.0.157 → 4.0.158
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/package.json +4 -4
- 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 -324
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
- package/cjs/drivers/mongodb/mongodb-driver.js +0 -799
- 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 -965
- 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 -864
- 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 -197
- package/cjs/drivers/postgres/postgres-sync-adapter.js.map +0 -1
- package/cjs/drivers/postgres/types.d.ts +0 -142
- 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 -1992
- 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 -161
- 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 -1650
- 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 -201
- 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 -300
- package/cjs/utils/connect-to-database.d.ts.map +0 -1
- package/cjs/utils/connect-to-database.js +0 -128
- 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 -181
- package/cjs/writer/database-writer.d.ts.map +0 -1
- package/cjs/writer/database-writer.js +0 -407
- 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 -324
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
- package/esm/drivers/mongodb/mongodb-driver.js +0 -799
- 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 -965
- 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 -864
- 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 -197
- package/esm/drivers/postgres/postgres-sync-adapter.js.map +0 -1
- package/esm/drivers/postgres/types.d.ts +0 -142
- 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 -1992
- 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 -161
- 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 -1650
- 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 -201
- 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 -300
- package/esm/utils/connect-to-database.d.ts.map +0 -1
- package/esm/utils/connect-to-database.js +0 -128
- 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 -181
- package/esm/writer/database-writer.d.ts.map +0 -1
- package/esm/writer/database-writer.js +0 -407
- package/esm/writer/database-writer.js.map +0 -1
package/esm/sync/model-sync.d.ts
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ModelSync facade for registering sync operations.
|
|
3
|
-
*
|
|
4
|
-
* Provides a clean API for defining sync relationships between models
|
|
5
|
-
* with automatic cleanup support for HMR (Hot Module Replacement).
|
|
6
|
-
*
|
|
7
|
-
* @module cascade-next/sync/model-sync
|
|
8
|
-
*/
|
|
9
|
-
import type { ChildModel, Model } from "../model/model";
|
|
10
|
-
import type { ModelSyncContract, ModelSyncOperationContract } from "./types";
|
|
11
|
-
/**
|
|
12
|
-
* ModelSync facade implementation.
|
|
13
|
-
*
|
|
14
|
-
* Manages sync operation registration with scoped cleanup support.
|
|
15
|
-
* Uses a registration stack to track operations created during
|
|
16
|
-
* a `register()` callback for proper HMR cleanup.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* // In events file
|
|
21
|
-
* export const cleanup = modelSync.register(() => {
|
|
22
|
-
* Category.sync(Product, "category");
|
|
23
|
-
* Tag.syncMany(Post, "tags").identifyBy("id");
|
|
24
|
-
* });
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
declare class ModelSyncFacade implements ModelSyncContract {
|
|
28
|
-
/**
|
|
29
|
-
* All active sync operations.
|
|
30
|
-
*/
|
|
31
|
-
private readonly operations;
|
|
32
|
-
/**
|
|
33
|
-
* Stack for tracking operations during register() callbacks.
|
|
34
|
-
* Each element is an array of operations created in that scope.
|
|
35
|
-
*/
|
|
36
|
-
private readonly registrationStack;
|
|
37
|
-
/**
|
|
38
|
-
* Create a sync operation for a single embedded document.
|
|
39
|
-
*
|
|
40
|
-
* When the source model is updated, the target model's field
|
|
41
|
-
* will be updated with the embedded data.
|
|
42
|
-
*
|
|
43
|
-
* @param source - Source model class that triggers sync
|
|
44
|
-
* @param target - Target model class that receives data
|
|
45
|
-
* @param field - Field path in target model
|
|
46
|
-
* @returns Sync operation for chaining configuration
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```typescript
|
|
50
|
-
* // When Category updates, update Product.category
|
|
51
|
-
* modelSync.sync(Category, Product, "category");
|
|
52
|
-
*
|
|
53
|
-
* // With configuration
|
|
54
|
-
* modelSync.sync(Category, Product, "category")
|
|
55
|
-
* .embed("embedMinimal")
|
|
56
|
-
* .watchFields(["name", "slug"]);
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
sync(source: ChildModel<Model>, target: ChildModel<Model>, field: string): ModelSyncOperationContract;
|
|
60
|
-
/**
|
|
61
|
-
* Create a sync operation for an array of embedded documents.
|
|
62
|
-
*
|
|
63
|
-
* When the source model is updated, the corresponding element
|
|
64
|
-
* in the target model's array field will be updated.
|
|
65
|
-
*
|
|
66
|
-
* @param source - Source model class that triggers sync
|
|
67
|
-
* @param target - Target model class that receives data
|
|
68
|
-
* @param field - Array field path in target model
|
|
69
|
-
* @returns Sync operation for chaining configuration
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* // When Tag updates, update Post.tags[i] where tags[i].id matches
|
|
74
|
-
* modelSync.syncMany(Tag, Post, "tags").identifyBy("id");
|
|
75
|
-
* ```
|
|
76
|
-
*/
|
|
77
|
-
syncMany(source: ChildModel<Model>, target: ChildModel<Model>, field: string): ModelSyncOperationContract;
|
|
78
|
-
/**
|
|
79
|
-
* Register sync operations with automatic cleanup.
|
|
80
|
-
*
|
|
81
|
-
* Executes the callback function which should contain sync registrations.
|
|
82
|
-
* Returns a cleanup function that unsubscribes all operations created
|
|
83
|
-
* during the callback - perfect for HMR module cleanup.
|
|
84
|
-
*
|
|
85
|
-
* @param callback - Function that registers sync operations
|
|
86
|
-
* @returns Cleanup function that unsubscribes all registered operations
|
|
87
|
-
*
|
|
88
|
-
* @example
|
|
89
|
-
* ```typescript
|
|
90
|
-
* // In src/app/blog/events/sync.ts
|
|
91
|
-
* export const cleanup = modelSync.register(() => {
|
|
92
|
-
* Category.sync(Product, "category");
|
|
93
|
-
* Tag.syncMany(Post, "tags").identifyBy("id");
|
|
94
|
-
* Author.sync(Article, "author").unsetOnDelete();
|
|
95
|
-
* });
|
|
96
|
-
* ```
|
|
97
|
-
*/
|
|
98
|
-
register(callback: () => void): () => void;
|
|
99
|
-
/**
|
|
100
|
-
* Clear all registered sync operations.
|
|
101
|
-
* Useful for testing or complete reset.
|
|
102
|
-
*/
|
|
103
|
-
clear(): void;
|
|
104
|
-
/**
|
|
105
|
-
* Get count of active sync operations.
|
|
106
|
-
* Useful for debugging and testing.
|
|
107
|
-
*/
|
|
108
|
-
get count(): number;
|
|
109
|
-
/**
|
|
110
|
-
* Track a new operation in global list and current registration scope.
|
|
111
|
-
*/
|
|
112
|
-
private trackOperation;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Global modelSync facade instance.
|
|
116
|
-
*
|
|
117
|
-
* Use this to register sync operations between models.
|
|
118
|
-
*
|
|
119
|
-
* @example
|
|
120
|
-
* ```typescript
|
|
121
|
-
* import { modelSync } from "@warlock.js/cascade";
|
|
122
|
-
*
|
|
123
|
-
* export const cleanup = modelSync.register(() => {
|
|
124
|
-
* Category.sync(Product, "category");
|
|
125
|
-
* });
|
|
126
|
-
* ```
|
|
127
|
-
*/
|
|
128
|
-
export declare const modelSync: ModelSyncFacade;
|
|
129
|
-
export {};
|
|
130
|
-
//# sourceMappingURL=model-sync.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-sync.d.ts","sourceRoot":"","sources":["../../src/sync/model-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,cAAM,eAAgB,YAAW,iBAAiB;IAChD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAMhE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,IAAI,CACT,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EACzB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EACzB,KAAK,EAAE,MAAM,GACZ,0BAA0B;IAM7B;;;;;;;;;;;;;;;;OAgBG;IACI,QAAQ,CACb,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EACzB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EACzB,KAAK,EAAE,MAAM,GACZ,0BAA0B;IAM7B;;;;;;;;;;;;;;;;;;;OAmBG;IACI,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IA2BjD;;;OAGG;IACI,KAAK,IAAI,IAAI;IAOpB;;;OAGG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAMD;;OAEG;IACH,OAAO,CAAC,cAAc;CAUvB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,iBAAwB,CAAC"}
|
package/esm/sync/model-sync.js
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import {ModelSyncOperation}from'./model-sync-operation.js';/**
|
|
2
|
-
* ModelSync facade for registering sync operations.
|
|
3
|
-
*
|
|
4
|
-
* Provides a clean API for defining sync relationships between models
|
|
5
|
-
* with automatic cleanup support for HMR (Hot Module Replacement).
|
|
6
|
-
*
|
|
7
|
-
* @module cascade-next/sync/model-sync
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* ModelSync facade implementation.
|
|
11
|
-
*
|
|
12
|
-
* Manages sync operation registration with scoped cleanup support.
|
|
13
|
-
* Uses a registration stack to track operations created during
|
|
14
|
-
* a `register()` callback for proper HMR cleanup.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* // In events file
|
|
19
|
-
* export const cleanup = modelSync.register(() => {
|
|
20
|
-
* Category.sync(Product, "category");
|
|
21
|
-
* Tag.syncMany(Post, "tags").identifyBy("id");
|
|
22
|
-
* });
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
class ModelSyncFacade {
|
|
26
|
-
/**
|
|
27
|
-
* All active sync operations.
|
|
28
|
-
*/
|
|
29
|
-
operations = [];
|
|
30
|
-
/**
|
|
31
|
-
* Stack for tracking operations during register() callbacks.
|
|
32
|
-
* Each element is an array of operations created in that scope.
|
|
33
|
-
*/
|
|
34
|
-
registrationStack = [];
|
|
35
|
-
// ============================================================================
|
|
36
|
-
// PUBLIC API
|
|
37
|
-
// ============================================================================
|
|
38
|
-
/**
|
|
39
|
-
* Create a sync operation for a single embedded document.
|
|
40
|
-
*
|
|
41
|
-
* When the source model is updated, the target model's field
|
|
42
|
-
* will be updated with the embedded data.
|
|
43
|
-
*
|
|
44
|
-
* @param source - Source model class that triggers sync
|
|
45
|
-
* @param target - Target model class that receives data
|
|
46
|
-
* @param field - Field path in target model
|
|
47
|
-
* @returns Sync operation for chaining configuration
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
* ```typescript
|
|
51
|
-
* // When Category updates, update Product.category
|
|
52
|
-
* modelSync.sync(Category, Product, "category");
|
|
53
|
-
*
|
|
54
|
-
* // With configuration
|
|
55
|
-
* modelSync.sync(Category, Product, "category")
|
|
56
|
-
* .embed("embedMinimal")
|
|
57
|
-
* .watchFields(["name", "slug"]);
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
sync(source, target, field) {
|
|
61
|
-
const operation = new ModelSyncOperation(source, target, field, false);
|
|
62
|
-
this.trackOperation(operation);
|
|
63
|
-
return operation;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Create a sync operation for an array of embedded documents.
|
|
67
|
-
*
|
|
68
|
-
* When the source model is updated, the corresponding element
|
|
69
|
-
* in the target model's array field will be updated.
|
|
70
|
-
*
|
|
71
|
-
* @param source - Source model class that triggers sync
|
|
72
|
-
* @param target - Target model class that receives data
|
|
73
|
-
* @param field - Array field path in target model
|
|
74
|
-
* @returns Sync operation for chaining configuration
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* ```typescript
|
|
78
|
-
* // When Tag updates, update Post.tags[i] where tags[i].id matches
|
|
79
|
-
* modelSync.syncMany(Tag, Post, "tags").identifyBy("id");
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
syncMany(source, target, field) {
|
|
83
|
-
const operation = new ModelSyncOperation(source, target, field, true);
|
|
84
|
-
this.trackOperation(operation);
|
|
85
|
-
return operation;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Register sync operations with automatic cleanup.
|
|
89
|
-
*
|
|
90
|
-
* Executes the callback function which should contain sync registrations.
|
|
91
|
-
* Returns a cleanup function that unsubscribes all operations created
|
|
92
|
-
* during the callback - perfect for HMR module cleanup.
|
|
93
|
-
*
|
|
94
|
-
* @param callback - Function that registers sync operations
|
|
95
|
-
* @returns Cleanup function that unsubscribes all registered operations
|
|
96
|
-
*
|
|
97
|
-
* @example
|
|
98
|
-
* ```typescript
|
|
99
|
-
* // In src/app/blog/events/sync.ts
|
|
100
|
-
* export const cleanup = modelSync.register(() => {
|
|
101
|
-
* Category.sync(Product, "category");
|
|
102
|
-
* Tag.syncMany(Post, "tags").identifyBy("id");
|
|
103
|
-
* Author.sync(Article, "author").unsetOnDelete();
|
|
104
|
-
* });
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
register(callback) {
|
|
108
|
-
// Create a new scope for tracking operations
|
|
109
|
-
const scopedOperations = [];
|
|
110
|
-
this.registrationStack.push(scopedOperations);
|
|
111
|
-
try {
|
|
112
|
-
// Execute callback - operations are tracked via trackOperation()
|
|
113
|
-
callback();
|
|
114
|
-
}
|
|
115
|
-
finally {
|
|
116
|
-
// Remove the scope from stack
|
|
117
|
-
this.registrationStack.pop();
|
|
118
|
-
}
|
|
119
|
-
// Return cleanup function for just these scoped operations
|
|
120
|
-
return () => {
|
|
121
|
-
for (const operation of scopedOperations) {
|
|
122
|
-
operation.unsubscribe();
|
|
123
|
-
// Remove from global operations array
|
|
124
|
-
const index = this.operations.indexOf(operation);
|
|
125
|
-
if (index !== -1) {
|
|
126
|
-
this.operations.splice(index, 1);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Clear all registered sync operations.
|
|
133
|
-
* Useful for testing or complete reset.
|
|
134
|
-
*/
|
|
135
|
-
clear() {
|
|
136
|
-
for (const operation of this.operations) {
|
|
137
|
-
operation.unsubscribe();
|
|
138
|
-
}
|
|
139
|
-
this.operations.length = 0;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Get count of active sync operations.
|
|
143
|
-
* Useful for debugging and testing.
|
|
144
|
-
*/
|
|
145
|
-
get count() {
|
|
146
|
-
return this.operations.length;
|
|
147
|
-
}
|
|
148
|
-
// ============================================================================
|
|
149
|
-
// PRIVATE HELPERS
|
|
150
|
-
// ============================================================================
|
|
151
|
-
/**
|
|
152
|
-
* Track a new operation in global list and current registration scope.
|
|
153
|
-
*/
|
|
154
|
-
trackOperation(operation) {
|
|
155
|
-
// Always add to global operations
|
|
156
|
-
this.operations.push(operation);
|
|
157
|
-
// If inside a register() callback, also track in the current scope
|
|
158
|
-
const currentScope = this.registrationStack[this.registrationStack.length - 1];
|
|
159
|
-
if (currentScope) {
|
|
160
|
-
currentScope.push(operation);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Global modelSync facade instance.
|
|
166
|
-
*
|
|
167
|
-
* Use this to register sync operations between models.
|
|
168
|
-
*
|
|
169
|
-
* @example
|
|
170
|
-
* ```typescript
|
|
171
|
-
* import { modelSync } from "@warlock.js/cascade";
|
|
172
|
-
*
|
|
173
|
-
* export const cleanup = modelSync.register(() => {
|
|
174
|
-
* Category.sync(Product, "category");
|
|
175
|
-
* });
|
|
176
|
-
* ```
|
|
177
|
-
*/
|
|
178
|
-
const modelSync = new ModelSyncFacade();export{modelSync};//# sourceMappingURL=model-sync.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-sync.js","sources":["../../src/sync/model-sync.ts"],"sourcesContent":[null],"names":[],"mappings":"2DAAA;;;;;;;AAOG;AAMH;;;;;;;;;;;;;;;AAeG;AACH,MAAM,eAAe,CAAA;AACnB;;AAEG;IACc,UAAU,GAAyB,EAAE,CAAC;AAEvD;;;AAGG;IACc,iBAAiB,GAA2B,EAAE,CAAC;;;;AAMhE;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,IAAA,IAAI,CACT,MAAyB,EACzB,MAAyB,EACzB,KAAa,EAAA;AAEb,QAAA,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC/B,QAAA,OAAO,SAAS,CAAC;KAClB;AAED;;;;;;;;;;;;;;;;AAgBG;AACI,IAAA,QAAQ,CACb,MAAyB,EACzB,MAAyB,EACzB,KAAa,EAAA;AAEb,QAAA,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC/B,QAAA,OAAO,SAAS,CAAC;KAClB;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACI,IAAA,QAAQ,CAAC,QAAoB,EAAA;;QAElC,MAAM,gBAAgB,GAAyB,EAAE,CAAC;AAClD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE9C,IAAI;;AAEF,YAAA,QAAQ,EAAE,CAAC;AACZ,SAAA;AAAS,gBAAA;;AAER,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;AAC9B,SAAA;;AAGD,QAAA,OAAO,MAAK;AACV,YAAA,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE;gBACxC,SAAS,CAAC,WAAW,EAAE,CAAC;;gBAGxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjD,gBAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAClC,iBAAA;AACF,aAAA;AACH,SAAC,CAAC;KACH;AAED;;;AAGG;IACI,KAAK,GAAA;AACV,QAAA,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,SAAS,CAAC,WAAW,EAAE,CAAC;AACzB,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;KAC5B;AAED;;;AAGG;AACH,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;KAC/B;;;;AAMD;;AAEG;AACK,IAAA,cAAc,CAAC,SAA6B,EAAA;;AAElD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;AAGhC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/E,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9B,SAAA;KACF;AACF,CAAA;AAED;;;;;;;;;;;;;AAaG;AACU,MAAA,SAAS,GAAG,IAAI,eAAe"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync context management and validation.
|
|
3
|
-
*
|
|
4
|
-
* @module cascade-next/sync/sync-context
|
|
5
|
-
*/
|
|
6
|
-
import type { SyncContext, SyncInstruction } from "./types";
|
|
7
|
-
/**
|
|
8
|
-
* Default maximum sync depth.
|
|
9
|
-
* Prevents infinite sync chains.
|
|
10
|
-
*/
|
|
11
|
-
export declare const DEFAULT_MAX_SYNC_DEPTH = 3;
|
|
12
|
-
/**
|
|
13
|
-
* Manages sync context and provides validation utilities.
|
|
14
|
-
*/
|
|
15
|
-
export declare class SyncContextManager {
|
|
16
|
-
/**
|
|
17
|
-
* Creates a new sync context from a sync instruction.
|
|
18
|
-
*
|
|
19
|
-
* @param instruction - The sync instruction to create context from
|
|
20
|
-
* @param affectedCount - Number of documents affected
|
|
21
|
-
* @returns A new sync context
|
|
22
|
-
*/
|
|
23
|
-
static createContext(instruction: SyncInstruction, affectedCount: number): SyncContext;
|
|
24
|
-
/**
|
|
25
|
-
* Validates if a sync operation can proceed based on depth and cycle detection.
|
|
26
|
-
*
|
|
27
|
-
* @param depth - Current sync depth
|
|
28
|
-
* @param chain - Current sync chain
|
|
29
|
-
* @param targetModel - Target model name
|
|
30
|
-
* @param maxDepth - Maximum allowed depth
|
|
31
|
-
* @param preventCircular - Whether to prevent circular references
|
|
32
|
-
* @returns Validation result with success flag and optional error message
|
|
33
|
-
*/
|
|
34
|
-
static validate(depth: number, chain: string[], targetModel: string, maxDepth: number, preventCircular: boolean): {
|
|
35
|
-
valid: boolean;
|
|
36
|
-
error?: string;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Checks if adding a target model would create a cycle in the sync chain.
|
|
40
|
-
*
|
|
41
|
-
* @param chain - Current sync chain
|
|
42
|
-
* @param targetModel - Model to be added to the chain
|
|
43
|
-
* @returns True if adding the model would create a cycle
|
|
44
|
-
*/
|
|
45
|
-
static hasCycle(chain: string[], targetModel: string): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Creates a new sync chain by appending a model name.
|
|
48
|
-
*
|
|
49
|
-
* @param chain - Current sync chain
|
|
50
|
-
* @param modelName - Model name to append
|
|
51
|
-
* @returns New sync chain array
|
|
52
|
-
*/
|
|
53
|
-
static extendChain(chain: string[], modelName: string): string[];
|
|
54
|
-
/**
|
|
55
|
-
* Formats a sync chain for display.
|
|
56
|
-
*
|
|
57
|
-
* @param chain - Sync chain to format
|
|
58
|
-
* @returns Formatted string (e.g., "Category → Product → Module")
|
|
59
|
-
*/
|
|
60
|
-
static formatChain(chain: string[]): string;
|
|
61
|
-
/**
|
|
62
|
-
* Checks if the current depth allows for further syncing.
|
|
63
|
-
*
|
|
64
|
-
* @param currentDepth - Current depth in the chain
|
|
65
|
-
* @param maxDepth - Maximum allowed depth
|
|
66
|
-
* @returns True if more syncing is allowed
|
|
67
|
-
*/
|
|
68
|
-
static canSyncDeeper(currentDepth: number, maxDepth: number): boolean;
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=sync-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-context.d.ts","sourceRoot":"","sources":["../../src/sync/sync-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;;;;;OAMG;WACW,aAAa,CACzB,WAAW,EAAE,eAAe,EAC5B,aAAa,EAAE,MAAM,GACpB,WAAW;IAcd;;;;;;;;;OASG;WACW,QAAQ,CACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,OAAO,GACvB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAoBrC;;;;;;OAMG;WACW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAIrE;;;;;;OAMG;WACW,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAIvE;;;;;OAKG;WACW,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAIlD;;;;;;OAMG;WACW,aAAa,CACzB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO;CAGX"}
|
package/esm/sync/sync-context.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync context management and validation.
|
|
3
|
-
*
|
|
4
|
-
* @module cascade-next/sync/sync-context
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Default maximum sync depth.
|
|
8
|
-
* Prevents infinite sync chains.
|
|
9
|
-
*/
|
|
10
|
-
const DEFAULT_MAX_SYNC_DEPTH = 3;
|
|
11
|
-
/**
|
|
12
|
-
* Manages sync context and provides validation utilities.
|
|
13
|
-
*/
|
|
14
|
-
class SyncContextManager {
|
|
15
|
-
/**
|
|
16
|
-
* Creates a new sync context from a sync instruction.
|
|
17
|
-
*
|
|
18
|
-
* @param instruction - The sync instruction to create context from
|
|
19
|
-
* @param affectedCount - Number of documents affected
|
|
20
|
-
* @returns A new sync context
|
|
21
|
-
*/
|
|
22
|
-
static createContext(instruction, affectedCount) {
|
|
23
|
-
return {
|
|
24
|
-
sourceModel: instruction.sourceModel,
|
|
25
|
-
sourceId: instruction.sourceId,
|
|
26
|
-
currentDepth: instruction.depth,
|
|
27
|
-
syncChain: [...instruction.chain],
|
|
28
|
-
targetModel: instruction.targetModel,
|
|
29
|
-
filter: { ...instruction.filter },
|
|
30
|
-
update: { ...instruction.update },
|
|
31
|
-
affectedCount,
|
|
32
|
-
timestamp: new Date(),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Validates if a sync operation can proceed based on depth and cycle detection.
|
|
37
|
-
*
|
|
38
|
-
* @param depth - Current sync depth
|
|
39
|
-
* @param chain - Current sync chain
|
|
40
|
-
* @param targetModel - Target model name
|
|
41
|
-
* @param maxDepth - Maximum allowed depth
|
|
42
|
-
* @param preventCircular - Whether to prevent circular references
|
|
43
|
-
* @returns Validation result with success flag and optional error message
|
|
44
|
-
*/
|
|
45
|
-
static validate(depth, chain, targetModel, maxDepth, preventCircular) {
|
|
46
|
-
// Check depth limit
|
|
47
|
-
if (depth > maxDepth) {
|
|
48
|
-
return {
|
|
49
|
-
valid: false,
|
|
50
|
-
error: `Sync depth limit exceeded: ${depth} > ${maxDepth}. Chain: ${chain.join(" → ")}`,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
// Check for circular references
|
|
54
|
-
if (preventCircular && this.hasCycle(chain, targetModel)) {
|
|
55
|
-
return {
|
|
56
|
-
valid: false,
|
|
57
|
-
error: `Circular sync detected: ${targetModel} already exists in chain [${chain.join(" → ")}]`,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
return { valid: true };
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Checks if adding a target model would create a cycle in the sync chain.
|
|
64
|
-
*
|
|
65
|
-
* @param chain - Current sync chain
|
|
66
|
-
* @param targetModel - Model to be added to the chain
|
|
67
|
-
* @returns True if adding the model would create a cycle
|
|
68
|
-
*/
|
|
69
|
-
static hasCycle(chain, targetModel) {
|
|
70
|
-
return chain.includes(targetModel);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Creates a new sync chain by appending a model name.
|
|
74
|
-
*
|
|
75
|
-
* @param chain - Current sync chain
|
|
76
|
-
* @param modelName - Model name to append
|
|
77
|
-
* @returns New sync chain array
|
|
78
|
-
*/
|
|
79
|
-
static extendChain(chain, modelName) {
|
|
80
|
-
return [...chain, modelName];
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Formats a sync chain for display.
|
|
84
|
-
*
|
|
85
|
-
* @param chain - Sync chain to format
|
|
86
|
-
* @returns Formatted string (e.g., "Category → Product → Module")
|
|
87
|
-
*/
|
|
88
|
-
static formatChain(chain) {
|
|
89
|
-
return chain.join(" → ");
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Checks if the current depth allows for further syncing.
|
|
93
|
-
*
|
|
94
|
-
* @param currentDepth - Current depth in the chain
|
|
95
|
-
* @param maxDepth - Maximum allowed depth
|
|
96
|
-
* @returns True if more syncing is allowed
|
|
97
|
-
*/
|
|
98
|
-
static canSyncDeeper(currentDepth, maxDepth) {
|
|
99
|
-
return currentDepth < maxDepth;
|
|
100
|
-
}
|
|
101
|
-
}export{DEFAULT_MAX_SYNC_DEPTH,SyncContextManager};//# sourceMappingURL=sync-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-context.js","sources":["../../src/sync/sync-context.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;AAIG;AAIH;;;AAGG;AACI,MAAM,sBAAsB,GAAG,EAAE;AAExC;;AAEG;MACU,kBAAkB,CAAA;AAC7B;;;;;;AAMG;AACI,IAAA,OAAO,aAAa,CACzB,WAA4B,EAC5B,aAAqB,EAAA;QAErB,OAAO;YACL,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,YAAY,EAAE,WAAW,CAAC,KAAK;AAC/B,YAAA,SAAS,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;YACjC,WAAW,EAAE,WAAW,CAAC,WAAW;AACpC,YAAA,MAAM,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE;AACjC,YAAA,MAAM,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE;YACjC,aAAa;YACb,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;KACH;AAED;;;;;;;;;AASG;IACI,OAAO,QAAQ,CACpB,KAAa,EACb,KAAe,EACf,WAAmB,EACnB,QAAgB,EAChB,eAAwB,EAAA;;QAGxB,IAAI,KAAK,GAAG,QAAQ,EAAE;YACpB,OAAO;AACL,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,KAAK,EAAE,CAAA,2BAAA,EAA8B,KAAK,CAAA,GAAA,EAAM,QAAQ,CAAA,SAAA,EAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAA;aACxF,CAAC;AACH,SAAA;;QAGD,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;YACxD,OAAO;AACL,gBAAA,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAA2B,wBAAA,EAAA,WAAW,CAA6B,0BAAA,EAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAG,CAAA,CAAA;aAC/F,CAAC;AACH,SAAA;AAED,QAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACxB;AAED;;;;;;AAMG;AACI,IAAA,OAAO,QAAQ,CAAC,KAAe,EAAE,WAAmB,EAAA;AACzD,QAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;KACpC;AAED;;;;;;AAMG;AACI,IAAA,OAAO,WAAW,CAAC,KAAe,EAAE,SAAiB,EAAA;AAC1D,QAAA,OAAO,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9B;AAED;;;;;AAKG;IACI,OAAO,WAAW,CAAC,KAAe,EAAA;AACvC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;AAED;;;;;;AAMG;AACI,IAAA,OAAO,aAAa,CACzB,YAAoB,EACpB,QAAgB,EAAA;QAEhB,OAAO,YAAY,GAAG,QAAQ,CAAC;KAChC;AACF"}
|