@woltz/rich-domain 1.3.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/{aggregate-changes.d.ts → cjs/aggregate-changes.d.ts} +2 -2
- package/dist/cjs/aggregate-changes.d.ts.map +1 -0
- package/dist/cjs/aggregate-changes.js +365 -0
- package/dist/cjs/aggregate-changes.js.map +1 -0
- package/dist/{base-entity.d.ts → cjs/base-entity.d.ts} +5 -5
- package/dist/cjs/base-entity.d.ts.map +1 -0
- package/dist/cjs/base-entity.js +328 -0
- package/dist/cjs/base-entity.js.map +1 -0
- package/dist/{change-tracker.d.ts → cjs/change-tracker.d.ts} +2 -2
- package/dist/cjs/change-tracker.d.ts.map +1 -0
- package/dist/cjs/change-tracker.js +789 -0
- package/dist/cjs/change-tracker.js.map +1 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +74 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/{criteria.d.ts → cjs/criteria.d.ts} +1 -1
- package/dist/cjs/criteria.d.ts.map +1 -0
- package/dist/cjs/criteria.js +335 -0
- package/dist/{criteria.js.map → cjs/criteria.js.map} +1 -1
- package/dist/cjs/crypto.d.ts.map +1 -0
- package/dist/cjs/crypto.js +32 -0
- package/dist/cjs/crypto.js.map +1 -0
- package/dist/cjs/domain-event-bus.d.ts.map +1 -0
- package/dist/cjs/domain-event-bus.js +108 -0
- package/dist/cjs/domain-event-bus.js.map +1 -0
- package/dist/{domain-event.d.ts → cjs/domain-event.d.ts} +1 -1
- package/dist/cjs/domain-event.d.ts.map +1 -0
- package/dist/cjs/domain-event.js +47 -0
- package/dist/cjs/domain-event.js.map +1 -0
- package/dist/{entity-changes.d.ts → cjs/entity-changes.d.ts} +1 -1
- package/dist/cjs/entity-changes.d.ts.map +1 -0
- package/dist/cjs/entity-changes.js +136 -0
- package/dist/cjs/entity-changes.js.map +1 -0
- package/dist/{entity-schema-registry.d.ts → cjs/entity-schema-registry.d.ts} +2 -2
- package/dist/cjs/entity-schema-registry.d.ts.map +1 -0
- package/dist/cjs/entity-schema-registry.js +370 -0
- package/dist/cjs/entity-schema-registry.js.map +1 -0
- package/dist/{entity.d.ts → cjs/entity.d.ts} +2 -2
- package/dist/cjs/entity.d.ts.map +1 -0
- package/dist/cjs/entity.js +11 -0
- package/dist/cjs/entity.js.map +1 -0
- package/dist/cjs/exceptions.d.ts.map +1 -0
- package/dist/cjs/exceptions.js +365 -0
- package/dist/cjs/exceptions.js.map +1 -0
- package/dist/cjs/id.d.ts.map +1 -0
- package/dist/cjs/id.js +80 -0
- package/dist/cjs/id.js.map +1 -0
- package/dist/{index.d.ts → cjs/index.d.ts} +16 -16
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mapper.d.ts.map +1 -0
- package/dist/cjs/mapper.js +7 -0
- package/dist/cjs/mapper.js.map +1 -0
- package/dist/{paginated-result.d.ts → cjs/paginated-result.d.ts} +2 -2
- package/dist/cjs/paginated-result.d.ts.map +1 -0
- package/dist/cjs/paginated-result.js +194 -0
- package/dist/cjs/paginated-result.js.map +1 -0
- package/dist/{repository → cjs/repository}/base-repository.d.ts +4 -4
- package/dist/cjs/repository/base-repository.d.ts.map +1 -0
- package/dist/cjs/repository/base-repository.js +16 -0
- package/dist/cjs/repository/base-repository.js.map +1 -0
- package/dist/cjs/repository/index.d.ts +4 -0
- package/dist/cjs/repository/index.d.ts.map +1 -0
- package/dist/cjs/repository/index.js +24 -0
- package/dist/cjs/repository/index.js.map +1 -0
- package/dist/{repository → cjs/repository}/unit-of-work.d.ts +1 -1
- package/dist/cjs/repository/unit-of-work.d.ts.map +1 -0
- package/dist/cjs/repository/unit-of-work.js +60 -0
- package/dist/cjs/repository/unit-of-work.js.map +1 -0
- package/dist/cjs/types/change-tracker.d.ts +226 -0
- package/dist/cjs/types/change-tracker.d.ts.map +1 -0
- package/dist/cjs/types/change-tracker.js +3 -0
- package/dist/cjs/types/change-tracker.js.map +1 -0
- package/dist/cjs/types/criteria.d.ts +60 -0
- package/dist/cjs/types/criteria.d.ts.map +1 -0
- package/dist/cjs/types/criteria.js +20 -0
- package/dist/cjs/types/criteria.js.map +1 -0
- package/dist/cjs/types/domain-event.d.ts +32 -0
- package/dist/cjs/types/domain-event.d.ts.map +1 -0
- package/dist/cjs/types/domain-event.js +3 -0
- package/dist/{types → cjs/types}/domain-event.js.map +1 -1
- package/dist/{types → cjs/types}/domain.d.ts +2 -2
- package/dist/cjs/types/domain.d.ts.map +1 -0
- package/dist/cjs/types/domain.js +3 -0
- package/dist/{types → cjs/types}/domain.js.map +1 -1
- package/dist/cjs/types/index.d.ts +8 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +24 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/standard-schema.d.ts.map +1 -0
- package/dist/cjs/types/standard-schema.js +3 -0
- package/dist/cjs/types/standard-schema.js.map +1 -0
- package/dist/{types → cjs/types}/unit-of-work.d.ts +2 -2
- package/dist/cjs/types/unit-of-work.d.ts.map +1 -0
- package/dist/cjs/types/unit-of-work.js +3 -0
- package/dist/{types → cjs/types}/unit-of-work.js.map +1 -1
- package/dist/{types → cjs/types}/utils.d.ts +1 -1
- package/dist/cjs/types/utils.d.ts.map +1 -0
- package/dist/cjs/types/utils.js +3 -0
- package/dist/{types → cjs/types}/utils.js.map +1 -1
- package/dist/{utils → cjs/utils}/criteria-operator-validation.d.ts +1 -1
- package/dist/cjs/utils/criteria-operator-validation.d.ts.map +1 -0
- package/dist/cjs/utils/criteria-operator-validation.js +171 -0
- package/dist/cjs/utils/criteria-operator-validation.js.map +1 -0
- package/dist/cjs/utils/helpers.d.ts.map +1 -0
- package/dist/cjs/utils/helpers.js +37 -0
- package/dist/cjs/utils/helpers.js.map +1 -0
- package/dist/cjs/validation-error.d.ts.map +1 -0
- package/dist/cjs/validation-error.js +117 -0
- package/dist/cjs/validation-error.js.map +1 -0
- package/dist/{value-object.d.ts → cjs/value-object.d.ts} +2 -2
- package/dist/cjs/value-object.d.ts.map +1 -0
- package/dist/cjs/value-object.js +192 -0
- package/dist/cjs/value-object.js.map +1 -0
- package/dist/esm/aggregate-changes.d.ts +206 -0
- package/dist/esm/aggregate-changes.d.ts.map +1 -0
- package/dist/{aggregate-changes.js → esm/aggregate-changes.js} +1 -1
- package/dist/esm/aggregate-changes.js.map +1 -0
- package/dist/esm/base-entity.d.ts +91 -0
- package/dist/esm/base-entity.d.ts.map +1 -0
- package/dist/{base-entity.js → esm/base-entity.js} +5 -5
- package/dist/esm/base-entity.js.map +1 -0
- package/dist/esm/change-tracker.d.ts +98 -0
- package/dist/esm/change-tracker.d.ts.map +1 -0
- package/dist/{change-tracker.js → esm/change-tracker.js} +4 -4
- package/dist/esm/change-tracker.js.map +1 -0
- package/dist/esm/constants.d.ts +9 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/criteria.d.ts +62 -0
- package/dist/esm/criteria.d.ts.map +1 -0
- package/dist/{criteria.js → esm/criteria.js} +3 -3
- package/dist/esm/criteria.js.map +1 -0
- package/dist/esm/crypto.d.ts +3 -0
- package/dist/esm/crypto.d.ts.map +1 -0
- package/dist/esm/crypto.js.map +1 -0
- package/dist/esm/domain-event-bus.d.ts +56 -0
- package/dist/esm/domain-event-bus.d.ts.map +1 -0
- package/dist/esm/domain-event-bus.js.map +1 -0
- package/dist/esm/domain-event.d.ts +25 -0
- package/dist/esm/domain-event.d.ts.map +1 -0
- package/dist/{domain-event.js → esm/domain-event.js} +1 -1
- package/dist/esm/domain-event.js.map +1 -0
- package/dist/esm/entity-changes.d.ts +84 -0
- package/dist/esm/entity-changes.d.ts.map +1 -0
- package/dist/esm/entity-changes.js.map +1 -0
- package/dist/esm/entity-schema-registry.d.ts +282 -0
- package/dist/esm/entity-schema-registry.d.ts.map +1 -0
- package/dist/{entity-schema-registry.js → esm/entity-schema-registry.js} +5 -5
- package/dist/esm/entity-schema-registry.js.map +1 -0
- package/dist/esm/entity.d.ts +7 -0
- package/dist/esm/entity.d.ts.map +1 -0
- package/dist/{entity.js → esm/entity.js} +1 -1
- package/dist/esm/entity.js.map +1 -0
- package/dist/esm/exceptions.d.ts +251 -0
- package/dist/esm/exceptions.d.ts.map +1 -0
- package/dist/esm/exceptions.js.map +1 -0
- package/dist/esm/id.d.ts +52 -0
- package/dist/esm/id.d.ts.map +1 -0
- package/dist/{id.js → esm/id.js} +1 -1
- package/dist/esm/id.js.map +1 -0
- package/dist/esm/index.d.ts +17 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/mapper.d.ts +4 -0
- package/dist/esm/mapper.d.ts.map +1 -0
- package/dist/esm/mapper.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/paginated-result.d.ts +62 -0
- package/dist/esm/paginated-result.d.ts.map +1 -0
- package/dist/{paginated-result.js → esm/paginated-result.js} +1 -1
- package/dist/esm/paginated-result.js.map +1 -0
- package/dist/esm/repository/base-repository.d.ts +28 -0
- package/dist/esm/repository/base-repository.d.ts.map +1 -0
- package/dist/esm/repository/base-repository.js.map +1 -0
- package/dist/esm/repository/index.d.ts +4 -0
- package/dist/esm/repository/index.d.ts.map +1 -0
- package/dist/esm/repository/index.js +4 -0
- package/dist/esm/repository/index.js.map +1 -0
- package/dist/esm/repository/unit-of-work.d.ts +34 -0
- package/dist/esm/repository/unit-of-work.d.ts.map +1 -0
- package/dist/esm/repository/unit-of-work.js.map +1 -0
- package/dist/esm/types/change-tracker.d.ts +226 -0
- package/dist/esm/types/change-tracker.d.ts.map +1 -0
- package/dist/esm/types/change-tracker.js.map +1 -0
- package/dist/esm/types/criteria.d.ts +60 -0
- package/dist/esm/types/criteria.d.ts.map +1 -0
- package/dist/esm/types/criteria.js.map +1 -0
- package/dist/esm/types/domain-event.d.ts +32 -0
- package/dist/esm/types/domain-event.d.ts.map +1 -0
- package/dist/esm/types/domain-event.js.map +1 -0
- package/dist/esm/types/domain.d.ts +29 -0
- package/dist/esm/types/domain.d.ts.map +1 -0
- package/dist/esm/types/domain.js.map +1 -0
- package/dist/esm/types/index.d.ts +8 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +8 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/standard-schema.d.ts +15 -0
- package/dist/esm/types/standard-schema.d.ts.map +1 -0
- package/dist/esm/types/standard-schema.js.map +1 -0
- package/dist/esm/types/unit-of-work.d.ts +39 -0
- package/dist/esm/types/unit-of-work.d.ts.map +1 -0
- package/dist/esm/types/unit-of-work.js.map +1 -0
- package/dist/esm/types/utils.d.ts +13 -0
- package/dist/esm/types/utils.d.ts.map +1 -0
- package/dist/esm/types/utils.js.map +1 -0
- package/dist/esm/utils/criteria-operator-validation.d.ts +6 -0
- package/dist/esm/utils/criteria-operator-validation.d.ts.map +1 -0
- package/dist/{utils → esm/utils}/criteria-operator-validation.js +1 -1
- package/dist/esm/utils/criteria-operator-validation.js.map +1 -0
- package/dist/esm/utils/helpers.d.ts +3 -0
- package/dist/esm/utils/helpers.d.ts.map +1 -0
- package/dist/esm/utils/helpers.js.map +1 -0
- package/dist/esm/validation-error.d.ts +56 -0
- package/dist/esm/validation-error.d.ts.map +1 -0
- package/dist/esm/validation-error.js.map +1 -0
- package/dist/esm/value-object.d.ts +96 -0
- package/dist/esm/value-object.d.ts.map +1 -0
- package/dist/{value-object.js → esm/value-object.js} +3 -3
- package/dist/esm/value-object.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.types.tsbuildinfo +1 -0
- package/dist/types/aggregate-changes.d.ts +206 -0
- package/dist/types/aggregate-changes.d.ts.map +1 -0
- package/dist/types/base-entity.d.ts +91 -0
- package/dist/types/base-entity.d.ts.map +1 -0
- package/dist/types/change-tracker.d.ts +90 -218
- package/dist/types/change-tracker.d.ts.map +1 -1
- package/dist/types/constants.d.ts +9 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/criteria.d.ts +59 -57
- package/dist/types/criteria.d.ts.map +1 -1
- package/dist/types/crypto.d.ts +3 -0
- package/dist/types/crypto.d.ts.map +1 -0
- package/dist/types/domain-event-bus.d.ts +56 -0
- package/dist/types/domain-event-bus.d.ts.map +1 -0
- package/dist/types/domain-event.d.ts +14 -21
- package/dist/types/domain-event.d.ts.map +1 -1
- package/dist/types/entity-changes.d.ts +84 -0
- package/dist/types/entity-changes.d.ts.map +1 -0
- package/dist/types/entity-schema-registry.d.ts +282 -0
- package/dist/types/entity-schema-registry.d.ts.map +1 -0
- package/dist/types/entity.d.ts +7 -0
- package/dist/types/entity.d.ts.map +1 -0
- package/dist/types/exceptions.d.ts +251 -0
- package/dist/types/exceptions.d.ts.map +1 -0
- package/dist/types/id.d.ts +52 -0
- package/dist/types/id.d.ts.map +1 -0
- package/dist/types/index.d.ts +16 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mapper.d.ts +4 -0
- package/dist/types/mapper.d.ts.map +1 -0
- package/dist/types/paginated-result.d.ts +62 -0
- package/dist/types/paginated-result.d.ts.map +1 -0
- package/dist/types/repository/base-repository.d.ts +28 -0
- package/dist/types/repository/base-repository.d.ts.map +1 -0
- package/dist/types/repository/index.d.ts +4 -0
- package/dist/types/repository/index.d.ts.map +1 -0
- package/dist/types/repository/unit-of-work.d.ts +34 -0
- package/dist/types/repository/unit-of-work.d.ts.map +1 -0
- package/dist/types/types/change-tracker.d.ts +226 -0
- package/dist/types/types/change-tracker.d.ts.map +1 -0
- package/dist/types/types/criteria.d.ts +60 -0
- package/dist/types/types/criteria.d.ts.map +1 -0
- package/dist/types/types/domain-event.d.ts +32 -0
- package/dist/types/types/domain-event.d.ts.map +1 -0
- package/dist/types/types/domain.d.ts +29 -0
- package/dist/types/types/domain.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +8 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/standard-schema.d.ts +15 -0
- package/dist/types/types/standard-schema.d.ts.map +1 -0
- package/dist/types/types/unit-of-work.d.ts +39 -0
- package/dist/types/types/unit-of-work.d.ts.map +1 -0
- package/dist/types/types/utils.d.ts +13 -0
- package/dist/types/types/utils.d.ts.map +1 -0
- package/dist/types/utils/criteria-operator-validation.d.ts +6 -0
- package/dist/types/utils/criteria-operator-validation.d.ts.map +1 -0
- package/dist/types/utils/helpers.d.ts +3 -0
- package/dist/types/utils/helpers.d.ts.map +1 -0
- package/dist/types/validation-error.d.ts +56 -0
- package/dist/types/validation-error.d.ts.map +1 -0
- package/dist/types/value-object.d.ts +96 -0
- package/dist/types/value-object.d.ts.map +1 -0
- package/package.json +13 -8
- package/dist/aggregate-changes.d.ts.map +0 -1
- package/dist/aggregate-changes.js.map +0 -1
- package/dist/base-entity.d.ts.map +0 -1
- package/dist/base-entity.js.map +0 -1
- package/dist/change-tracker.d.ts.map +0 -1
- package/dist/change-tracker.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/criteria.d.ts.map +0 -1
- package/dist/crypto.d.ts.map +0 -1
- package/dist/crypto.js.map +0 -1
- package/dist/domain-event-bus.d.ts.map +0 -1
- package/dist/domain-event-bus.js.map +0 -1
- package/dist/domain-event.d.ts.map +0 -1
- package/dist/domain-event.js.map +0 -1
- package/dist/entity-changes.d.ts.map +0 -1
- package/dist/entity-changes.js.map +0 -1
- package/dist/entity-schema-registry.d.ts.map +0 -1
- package/dist/entity-schema-registry.js.map +0 -1
- package/dist/entity.d.ts.map +0 -1
- package/dist/entity.js.map +0 -1
- package/dist/exceptions.d.ts.map +0 -1
- package/dist/exceptions.js.map +0 -1
- package/dist/id.d.ts.map +0 -1
- package/dist/id.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -16
- package/dist/index.js.map +0 -1
- package/dist/mapper.d.ts.map +0 -1
- package/dist/mapper.js.map +0 -1
- package/dist/paginated-result.d.ts.map +0 -1
- package/dist/paginated-result.js.map +0 -1
- package/dist/repository/base-repository.d.ts.map +0 -1
- package/dist/repository/base-repository.js.map +0 -1
- package/dist/repository/index.d.ts +0 -4
- package/dist/repository/index.d.ts.map +0 -1
- package/dist/repository/index.js +0 -4
- package/dist/repository/index.js.map +0 -1
- package/dist/repository/unit-of-work.d.ts.map +0 -1
- package/dist/repository/unit-of-work.js.map +0 -1
- package/dist/types/change-tracker.js.map +0 -1
- package/dist/types/criteria.js.map +0 -1
- package/dist/types/domain.d.ts.map +0 -1
- package/dist/types/index.js +0 -8
- package/dist/types/index.js.map +0 -1
- package/dist/types/standard-schema.d.ts.map +0 -1
- package/dist/types/standard-schema.js.map +0 -1
- package/dist/types/unit-of-work.d.ts.map +0 -1
- package/dist/types/utils.d.ts.map +0 -1
- package/dist/utils/criteria-operator-validation.d.ts.map +0 -1
- package/dist/utils/criteria-operator-validation.js.map +0 -1
- package/dist/utils/helpers.d.ts.map +0 -1
- package/dist/utils/helpers.js.map +0 -1
- package/dist/validation-error.d.ts.map +0 -1
- package/dist/validation-error.js.map +0 -1
- package/dist/value-object.d.ts.map +0 -1
- package/dist/value-object.js.map +0 -1
- /package/dist/{constants.d.ts → cjs/constants.d.ts} +0 -0
- /package/dist/{crypto.d.ts → cjs/crypto.d.ts} +0 -0
- /package/dist/{domain-event-bus.d.ts → cjs/domain-event-bus.d.ts} +0 -0
- /package/dist/{exceptions.d.ts → cjs/exceptions.d.ts} +0 -0
- /package/dist/{id.d.ts → cjs/id.d.ts} +0 -0
- /package/dist/{mapper.d.ts → cjs/mapper.d.ts} +0 -0
- /package/dist/{types → cjs/types}/standard-schema.d.ts +0 -0
- /package/dist/{utils → cjs/utils}/helpers.d.ts +0 -0
- /package/dist/{validation-error.d.ts → cjs/validation-error.d.ts} +0 -0
- /package/dist/{constants.js → esm/constants.js} +0 -0
- /package/dist/{crypto.js → esm/crypto.js} +0 -0
- /package/dist/{domain-event-bus.js → esm/domain-event-bus.js} +0 -0
- /package/dist/{entity-changes.js → esm/entity-changes.js} +0 -0
- /package/dist/{exceptions.js → esm/exceptions.js} +0 -0
- /package/dist/{mapper.js → esm/mapper.js} +0 -0
- /package/dist/{repository → esm/repository}/base-repository.js +0 -0
- /package/dist/{repository → esm/repository}/unit-of-work.js +0 -0
- /package/dist/{types → esm/types}/change-tracker.js +0 -0
- /package/dist/{types → esm/types}/criteria.js +0 -0
- /package/dist/{types → esm/types}/domain-event.js +0 -0
- /package/dist/{types → esm/types}/domain.js +0 -0
- /package/dist/{types → esm/types}/standard-schema.js +0 -0
- /package/dist/{types → esm/types}/unit-of-work.js +0 -0
- /package/dist/{types → esm/types}/utils.js +0 -0
- /package/dist/{utils → esm/utils}/helpers.js +0 -0
- /package/dist/{validation-error.js → esm/validation-error.js} +0 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntitySchemaRegistry = void 0;
|
|
4
|
+
const entity_js_1 = require("./entity.js");
|
|
5
|
+
const value_object_js_1 = require("./value-object.js");
|
|
6
|
+
const id_js_1 = require("./id.js");
|
|
7
|
+
const exceptions_js_1 = require("./exceptions.js");
|
|
8
|
+
const helpers_js_1 = require("./utils/helpers.js");
|
|
9
|
+
/**
|
|
10
|
+
* Registry for mapping domain entities to database tables and fields.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const registry = new EntitySchemaRegistry()
|
|
15
|
+
* .register({
|
|
16
|
+
* entity: 'User',
|
|
17
|
+
* table: 'users',
|
|
18
|
+
* fields: { email: 'user_email', name: 'user_name' },
|
|
19
|
+
* })
|
|
20
|
+
* .register({
|
|
21
|
+
* entity: 'Post',
|
|
22
|
+
* table: 'blog_posts',
|
|
23
|
+
* fields: { content: 'post_content' },
|
|
24
|
+
* parentFk: { field: 'author_id', parentEntity: 'User' },
|
|
25
|
+
* collections: {
|
|
26
|
+
* comments: { type: 'owned' },
|
|
27
|
+
* tags: { type: 'reference', entity: 'Tag' }
|
|
28
|
+
* }
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* const table = registry.getTable('Post'); // 'blog_posts'
|
|
32
|
+
* const tagConfig = registry.getCollectionConfig('Post', 'tags');
|
|
33
|
+
* // { type: 'reference', entity: 'Tag' }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
class EntitySchemaRegistry {
|
|
37
|
+
schemas = new Map();
|
|
38
|
+
/**
|
|
39
|
+
* Registers an entity schema.
|
|
40
|
+
* @param schema - Schema to be registered.
|
|
41
|
+
* @returns this (for chaining)
|
|
42
|
+
*/
|
|
43
|
+
register(schema) {
|
|
44
|
+
if (this.schemas.has(schema.entity)) {
|
|
45
|
+
console.warn(`EntitySchemaRegistry: Schema for '${schema.entity}' is being overwritten`);
|
|
46
|
+
}
|
|
47
|
+
this.schemas.set(schema.entity, schema);
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Registers multiple schemas at once.
|
|
52
|
+
* @param schemas - Array of schemas.
|
|
53
|
+
* @returns this (for chaining)
|
|
54
|
+
*/
|
|
55
|
+
registerAll(schemas) {
|
|
56
|
+
schemas.forEach((schema) => this.register(schema));
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Gets the schema of an entity.
|
|
61
|
+
* @param entity - Entity name.
|
|
62
|
+
* @throws Error if the entity is not registered.
|
|
63
|
+
*/
|
|
64
|
+
getSchema(entity) {
|
|
65
|
+
const schema = this.schemas.get(entity);
|
|
66
|
+
if (!schema) {
|
|
67
|
+
throw new exceptions_js_1.ConfigurationError(`EntitySchemaRegistry: No schema registered for entity '${entity}'. ` +
|
|
68
|
+
`Available entities: ${Array.from(this.schemas.keys()).join(", ") || "none"}`);
|
|
69
|
+
}
|
|
70
|
+
return schema;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Gets all registered schemas.
|
|
74
|
+
*/
|
|
75
|
+
getAllSchemas() {
|
|
76
|
+
return Array.from(this.schemas.values());
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Tries to get the schema of an entity, returns null if not found.
|
|
80
|
+
* @param entity - Entity name.
|
|
81
|
+
*/
|
|
82
|
+
tryGetSchema(entity) {
|
|
83
|
+
return this.schemas.get(entity) ?? null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Checks if an entity is registered.
|
|
87
|
+
* @param entity - Entity name.
|
|
88
|
+
*/
|
|
89
|
+
has(entity) {
|
|
90
|
+
return this.schemas.has(entity);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Gets the table name for an entity.
|
|
94
|
+
* @param entity - Entity name.
|
|
95
|
+
*/
|
|
96
|
+
getTable(entity) {
|
|
97
|
+
return this.getSchema(entity).table;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Gets the field mapping for an entity.
|
|
101
|
+
* @param entity - Entity name.
|
|
102
|
+
*/
|
|
103
|
+
getFieldsMap(entity) {
|
|
104
|
+
return this.getSchema(entity).fields || {};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Maps a domain field name to the database field name.
|
|
108
|
+
* @param entity - Entity name.
|
|
109
|
+
* @param fieldName - Domain field name.
|
|
110
|
+
*/
|
|
111
|
+
mapFieldName(entity, fieldName) {
|
|
112
|
+
const fields = this.getFieldsMap(entity);
|
|
113
|
+
return fields[fieldName] ?? fieldName;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Maps fields of a domain object to database field names.
|
|
117
|
+
* Ignores values that are Entity, ValueObject, or Arrays.
|
|
118
|
+
*
|
|
119
|
+
* @param entity - Entity name.
|
|
120
|
+
* @param data - Data to be mapped.
|
|
121
|
+
*/
|
|
122
|
+
mapFields(entity, data) {
|
|
123
|
+
const fields = this.getFieldsMap(entity);
|
|
124
|
+
const result = {};
|
|
125
|
+
for (const [key, value] of Object.entries(data)) {
|
|
126
|
+
if (this.isEntityOrCollection(value))
|
|
127
|
+
continue;
|
|
128
|
+
const mappedKey = fields[key] ?? key;
|
|
129
|
+
result[mappedKey] = this.normalizeValue(value);
|
|
130
|
+
}
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Maps a complete domain entity to database data.
|
|
135
|
+
* Used for CREATE operations.
|
|
136
|
+
*
|
|
137
|
+
* @param entity - Entity name.
|
|
138
|
+
* @param domainEntity - Domain entity instance.
|
|
139
|
+
*/
|
|
140
|
+
mapEntity(entity, domainEntity) {
|
|
141
|
+
const fields = this.getFieldsMap(entity);
|
|
142
|
+
const result = {};
|
|
143
|
+
const hasId = domainEntity.id;
|
|
144
|
+
if (hasId) {
|
|
145
|
+
const idValue = hasId.value ?? hasId;
|
|
146
|
+
result["id"] = idValue;
|
|
147
|
+
}
|
|
148
|
+
const props = domainEntity.props || domainEntity;
|
|
149
|
+
for (const [key, value] of Object.entries(props)) {
|
|
150
|
+
if (key === "id")
|
|
151
|
+
continue;
|
|
152
|
+
if (this.isEntityOrCollection(value))
|
|
153
|
+
continue;
|
|
154
|
+
const mappedKey = fields[key] ?? key;
|
|
155
|
+
result[mappedKey] = this.normalizeValue(value);
|
|
156
|
+
}
|
|
157
|
+
return result;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Gets the FK object to relate with the parent.
|
|
161
|
+
*
|
|
162
|
+
* @param entity - Entity name.
|
|
163
|
+
* @param parentId - Parent ID.
|
|
164
|
+
* @returns Object with the FK field or null if there is no parent.
|
|
165
|
+
*/
|
|
166
|
+
getParentFk(entity, parentId) {
|
|
167
|
+
const schema = this.getSchema(entity);
|
|
168
|
+
if (!schema.parentFk)
|
|
169
|
+
return null;
|
|
170
|
+
return { [schema.parentFk.field]: parentId };
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Gets the name of the parent entity.
|
|
174
|
+
* @param entity - Entity name.
|
|
175
|
+
*/
|
|
176
|
+
getParentEntity(entity) {
|
|
177
|
+
const schema = this.getSchema(entity);
|
|
178
|
+
return schema.parentFk?.parentEntity ?? null;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Gets the FK field name.
|
|
182
|
+
* @param entity - Entity name.
|
|
183
|
+
*/
|
|
184
|
+
getParentFkField(entity) {
|
|
185
|
+
const schema = this.getSchema(entity);
|
|
186
|
+
return schema.parentFk?.field ?? null;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Gets the collection configuration for a specific field.
|
|
190
|
+
*
|
|
191
|
+
* @param entity - Parent entity name (e.g., 'Post')
|
|
192
|
+
* @param fieldName - Collection field name (e.g., 'tags')
|
|
193
|
+
* @returns CollectionConfig or null if not configured
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```typescript
|
|
197
|
+
* const config = registry.getCollectionConfig('Post', 'tags');
|
|
198
|
+
* if (config?.type === 'reference') {
|
|
199
|
+
* // Handle N:N relation - use connect/disconnect
|
|
200
|
+
* } else {
|
|
201
|
+
* // Handle 1:N relation - use create/delete
|
|
202
|
+
* }
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
getCollectionConfig(entity, fieldName) {
|
|
206
|
+
const schema = this.tryGetSchema(entity);
|
|
207
|
+
if (!schema?.collections)
|
|
208
|
+
return null;
|
|
209
|
+
return schema.collections[fieldName] ?? null;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Checks if a collection is a reference type (N:N).
|
|
213
|
+
*
|
|
214
|
+
* @param entity - Parent entity name
|
|
215
|
+
* @param fieldName - Collection field name
|
|
216
|
+
* @returns true if the collection is a reference (N:N), false otherwise
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* if (registry.isReferenceCollection('Post', 'tags')) {
|
|
221
|
+
* // Use connect/disconnect instead of create/delete
|
|
222
|
+
* }
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
isReferenceCollection(entity, fieldName) {
|
|
226
|
+
const config = this.getCollectionConfig(entity, fieldName);
|
|
227
|
+
return config?.type === "reference";
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Checks if a collection is owned (1:N).
|
|
231
|
+
* Returns true if explicitly configured as 'owned' or if not configured at all.
|
|
232
|
+
*
|
|
233
|
+
* @param entity - Parent entity name
|
|
234
|
+
* @param fieldName - Collection field name
|
|
235
|
+
* @returns true if the collection is owned (1:N), false if reference
|
|
236
|
+
*/
|
|
237
|
+
isOwnedCollection(entity, fieldName) {
|
|
238
|
+
const config = this.getCollectionConfig(entity, fieldName);
|
|
239
|
+
// Default to owned if not configured
|
|
240
|
+
return config?.type !== "reference";
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Gets all collections configured for an entity.
|
|
244
|
+
*
|
|
245
|
+
* @param entity - Entity name
|
|
246
|
+
* @returns Record of field names to collection configs, or empty object
|
|
247
|
+
*/
|
|
248
|
+
getCollections(entity) {
|
|
249
|
+
const schema = this.tryGetSchema(entity);
|
|
250
|
+
return schema?.collections ?? {};
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Gets all reference (N:N) collections for an entity.
|
|
254
|
+
*
|
|
255
|
+
* @param entity - Entity name
|
|
256
|
+
* @returns Array of field names that are reference collections
|
|
257
|
+
*/
|
|
258
|
+
getReferenceCollections(entity) {
|
|
259
|
+
const collections = this.getCollections(entity);
|
|
260
|
+
return Object.entries(collections)
|
|
261
|
+
.filter(([_, config]) => config.type === "reference")
|
|
262
|
+
.map(([field]) => field);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Gets the junction table configuration for a reference collection.
|
|
266
|
+
*
|
|
267
|
+
* @param entity - Parent entity name
|
|
268
|
+
* @param fieldName - Collection field name
|
|
269
|
+
* @returns Junction config or null
|
|
270
|
+
*/
|
|
271
|
+
getJunctionConfig(entity, fieldName) {
|
|
272
|
+
const config = this.getCollectionConfig(entity, fieldName);
|
|
273
|
+
return config?.junction ?? null;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Lists all registered entities.
|
|
277
|
+
*/
|
|
278
|
+
getRegisteredEntities() {
|
|
279
|
+
return Array.from(this.schemas.keys());
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Clears all registered schemas.
|
|
283
|
+
*/
|
|
284
|
+
clear() {
|
|
285
|
+
this.schemas.clear();
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Checks if a value is Entity, ValueObject, or Array.
|
|
289
|
+
*/
|
|
290
|
+
isEntityOrCollection(value) {
|
|
291
|
+
if (value === null || value === undefined)
|
|
292
|
+
return false;
|
|
293
|
+
if (Array.isArray(value))
|
|
294
|
+
return true;
|
|
295
|
+
if (value instanceof entity_js_1.Entity)
|
|
296
|
+
return true;
|
|
297
|
+
if (value instanceof value_object_js_1.ValueObject)
|
|
298
|
+
return true;
|
|
299
|
+
if (typeof value === "object" &&
|
|
300
|
+
value.id &&
|
|
301
|
+
typeof value.id === "object" &&
|
|
302
|
+
"value" in value.id) {
|
|
303
|
+
return true;
|
|
304
|
+
}
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Normalizes a value for persistence.
|
|
309
|
+
*/
|
|
310
|
+
normalizeValue(value) {
|
|
311
|
+
if (value === null || value === undefined)
|
|
312
|
+
return value;
|
|
313
|
+
if (value instanceof id_js_1.Id)
|
|
314
|
+
return value.value;
|
|
315
|
+
if (value instanceof Date)
|
|
316
|
+
return value;
|
|
317
|
+
if (typeof value === "object" && "value" in value) {
|
|
318
|
+
return value.value;
|
|
319
|
+
}
|
|
320
|
+
return value;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Validates that a relation field exists in the entity's collections.
|
|
324
|
+
*
|
|
325
|
+
* @param entity - Parent entity name
|
|
326
|
+
* @param relationField - Relation field to validate
|
|
327
|
+
* @throws ConfigurationError if the field doesn't exist
|
|
328
|
+
*
|
|
329
|
+
*/
|
|
330
|
+
validateRelationField(entity, relationField) {
|
|
331
|
+
const schema = this.tryGetSchema(entity);
|
|
332
|
+
const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
333
|
+
if (uuidPattern.test(entity)) {
|
|
334
|
+
throw new exceptions_js_1.ConfigurationError(`EntitySchemaRegistry: Received an ID '${entity}' instead of an entity name. ` +
|
|
335
|
+
`This usually means 'parentEntity' is not being set correctly in the ChangeTracker. ` +
|
|
336
|
+
`Check that addDelete/addCreate are receiving the entity NAME (e.g., 'Post'), not the ID.`);
|
|
337
|
+
}
|
|
338
|
+
if (!schema) {
|
|
339
|
+
throw new exceptions_js_1.ConfigurationError(`EntitySchemaRegistry: Cannot validate relation '${relationField}' - ` +
|
|
340
|
+
`entity '${entity}' is not registered. ` +
|
|
341
|
+
`Available entities: ${this.getRegisteredEntities().join(", ") || "none"}`);
|
|
342
|
+
}
|
|
343
|
+
const collections = schema.collections ?? {};
|
|
344
|
+
const availableCollections = Object.keys(collections);
|
|
345
|
+
if (availableCollections.length === 0) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
if (!collections[relationField]) {
|
|
349
|
+
const suggestions = this.findSimilarNames(relationField, availableCollections);
|
|
350
|
+
const suggestionText = suggestions.length > 0
|
|
351
|
+
? ` Did you mean: '${suggestions.join("' or '")}'?`
|
|
352
|
+
: "";
|
|
353
|
+
throw new exceptions_js_1.ConfigurationError(`EntitySchemaRegistry: Unknown relation '${relationField}' for entity '${entity}'. ` +
|
|
354
|
+
`Available collections: ${availableCollections.join(", ")}.${suggestionText}`);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
findSimilarNames(input, candidates) {
|
|
358
|
+
return candidates
|
|
359
|
+
.map((candidate) => ({
|
|
360
|
+
name: candidate,
|
|
361
|
+
distance: (0, helpers_js_1.levenshteinDistance)(input.toLowerCase(), candidate.toLowerCase()),
|
|
362
|
+
}))
|
|
363
|
+
.filter(({ distance }) => distance <= 3)
|
|
364
|
+
.sort((a, b) => a.distance - b.distance)
|
|
365
|
+
.slice(0, 2)
|
|
366
|
+
.map(({ name }) => name);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
exports.EntitySchemaRegistry = EntitySchemaRegistry;
|
|
370
|
+
//# sourceMappingURL=entity-schema-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-schema-registry.js","sourceRoot":"","sources":["../../src/entity-schema-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseEntity } from "./base-entity";
|
|
2
|
-
import { BaseProps } from "./types";
|
|
1
|
+
import { BaseEntity } from "./base-entity.js";
|
|
2
|
+
import { BaseProps } from "./types/index.js";
|
|
3
3
|
export declare class Entity<T extends BaseProps> extends BaseEntity<T> {
|
|
4
4
|
}
|
|
5
5
|
export declare class Aggregate<T extends BaseProps> extends BaseEntity<T> {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBAAa,MAAM,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;CAAG;AACjE,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;CAAG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Aggregate = exports.Entity = void 0;
|
|
4
|
+
const base_entity_js_1 = require("./base-entity.js");
|
|
5
|
+
class Entity extends base_entity_js_1.BaseEntity {
|
|
6
|
+
}
|
|
7
|
+
exports.Entity = Entity;
|
|
8
|
+
class Aggregate extends base_entity_js_1.BaseEntity {
|
|
9
|
+
}
|
|
10
|
+
exports.Aggregate = Aggregate;
|
|
11
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAG9C,MAAa,MAA4B,SAAQ,2BAAa;CAAG;AAAjE,wBAAiE;AACjE,MAAa,SAA+B,SAAQ,2BAAa;CAAG;AAApE,8BAAoE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"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"}
|