@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,282 @@
|
|
|
1
|
+
import { Entity } from "./entity.js";
|
|
2
|
+
import { ValueObject } from "./value-object.js";
|
|
3
|
+
/**
|
|
4
|
+
* Type of collection relationship.
|
|
5
|
+
* - 'owned': Parent owns the children (1:N). Delete parent = delete children.
|
|
6
|
+
* - 'reference': Parent references existing entities (N:N). Delete parent = unlink only.
|
|
7
|
+
*/
|
|
8
|
+
export type CollectionType = "owned" | "reference";
|
|
9
|
+
/**
|
|
10
|
+
* Configuration for a collection (1:N or N:N relationship).
|
|
11
|
+
*/
|
|
12
|
+
export interface CollectionConfig {
|
|
13
|
+
/**
|
|
14
|
+
* Type of relationship.
|
|
15
|
+
* - 'owned': Children are created/deleted with the parent (default for 1:N)
|
|
16
|
+
* - 'reference': Only the link is created/removed (for N:N)
|
|
17
|
+
* @default 'owned'
|
|
18
|
+
*/
|
|
19
|
+
type: CollectionType;
|
|
20
|
+
/**
|
|
21
|
+
* Target entity name (required for 'reference' type).
|
|
22
|
+
* @example 'Tag'
|
|
23
|
+
*/
|
|
24
|
+
entity?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Junction table configuration (optional, for ORMs that need it like Drizzle).
|
|
27
|
+
* Prisma handles this automatically, so it's optional.
|
|
28
|
+
*/
|
|
29
|
+
junction?: {
|
|
30
|
+
/** Junction table name (e.g., 'post_tags', '_PostToTag') */
|
|
31
|
+
table: string;
|
|
32
|
+
/** FK field pointing to the source entity (e.g., 'post_id') */
|
|
33
|
+
sourceKey: string;
|
|
34
|
+
/** FK field pointing to the target entity (e.g., 'tag_id') */
|
|
35
|
+
targetKey: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Mapping schema for a domain entity.
|
|
40
|
+
*/
|
|
41
|
+
export interface EntitySchema {
|
|
42
|
+
/** Entity name in the domain (e.g., 'User', 'Post') */
|
|
43
|
+
entity: string;
|
|
44
|
+
/** Table name in the database (e.g., 'users', 'blog_posts') */
|
|
45
|
+
table: string;
|
|
46
|
+
/**
|
|
47
|
+
* Field mapping: domain → database.
|
|
48
|
+
* Only include fields with different names.
|
|
49
|
+
* @example { email: 'user_email', createdAt: 'created_at' }
|
|
50
|
+
*/
|
|
51
|
+
fields?: Record<string, string>;
|
|
52
|
+
/**
|
|
53
|
+
* FK configuration for parent relation (1:N owned).
|
|
54
|
+
*/
|
|
55
|
+
parentFk?: {
|
|
56
|
+
/** Name of the FK field in the database (e.g., 'author_id') */
|
|
57
|
+
field: string;
|
|
58
|
+
/** Name of the parent entity (e.g., 'User') */
|
|
59
|
+
parentEntity: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Collection configurations for this entity's relations.
|
|
63
|
+
* Key is the property name in the domain entity.
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* collections: {
|
|
67
|
+
* comments: { type: 'owned' },
|
|
68
|
+
* tags: { type: 'reference', entity: 'Tag' }
|
|
69
|
+
* }
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
collections?: Record<string, CollectionConfig>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Result of entity mapping.
|
|
76
|
+
*/
|
|
77
|
+
export interface MappedEntityData {
|
|
78
|
+
[key: string]: any;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Registry for mapping domain entities to database tables and fields.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const registry = new EntitySchemaRegistry()
|
|
86
|
+
* .register({
|
|
87
|
+
* entity: 'User',
|
|
88
|
+
* table: 'users',
|
|
89
|
+
* fields: { email: 'user_email', name: 'user_name' },
|
|
90
|
+
* })
|
|
91
|
+
* .register({
|
|
92
|
+
* entity: 'Post',
|
|
93
|
+
* table: 'blog_posts',
|
|
94
|
+
* fields: { content: 'post_content' },
|
|
95
|
+
* parentFk: { field: 'author_id', parentEntity: 'User' },
|
|
96
|
+
* collections: {
|
|
97
|
+
* comments: { type: 'owned' },
|
|
98
|
+
* tags: { type: 'reference', entity: 'Tag' }
|
|
99
|
+
* }
|
|
100
|
+
* });
|
|
101
|
+
*
|
|
102
|
+
* const table = registry.getTable('Post'); // 'blog_posts'
|
|
103
|
+
* const tagConfig = registry.getCollectionConfig('Post', 'tags');
|
|
104
|
+
* // { type: 'reference', entity: 'Tag' }
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export declare class EntitySchemaRegistry {
|
|
108
|
+
private schemas;
|
|
109
|
+
/**
|
|
110
|
+
* Registers an entity schema.
|
|
111
|
+
* @param schema - Schema to be registered.
|
|
112
|
+
* @returns this (for chaining)
|
|
113
|
+
*/
|
|
114
|
+
register(schema: EntitySchema): this;
|
|
115
|
+
/**
|
|
116
|
+
* Registers multiple schemas at once.
|
|
117
|
+
* @param schemas - Array of schemas.
|
|
118
|
+
* @returns this (for chaining)
|
|
119
|
+
*/
|
|
120
|
+
registerAll(schemas: EntitySchema[]): this;
|
|
121
|
+
/**
|
|
122
|
+
* Gets the schema of an entity.
|
|
123
|
+
* @param entity - Entity name.
|
|
124
|
+
* @throws Error if the entity is not registered.
|
|
125
|
+
*/
|
|
126
|
+
getSchema(entity: string): EntitySchema;
|
|
127
|
+
/**
|
|
128
|
+
* Gets all registered schemas.
|
|
129
|
+
*/
|
|
130
|
+
getAllSchemas(): EntitySchema[];
|
|
131
|
+
/**
|
|
132
|
+
* Tries to get the schema of an entity, returns null if not found.
|
|
133
|
+
* @param entity - Entity name.
|
|
134
|
+
*/
|
|
135
|
+
tryGetSchema(entity: string): EntitySchema | null;
|
|
136
|
+
/**
|
|
137
|
+
* Checks if an entity is registered.
|
|
138
|
+
* @param entity - Entity name.
|
|
139
|
+
*/
|
|
140
|
+
has(entity: string): boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Gets the table name for an entity.
|
|
143
|
+
* @param entity - Entity name.
|
|
144
|
+
*/
|
|
145
|
+
getTable(entity: string): string;
|
|
146
|
+
/**
|
|
147
|
+
* Gets the field mapping for an entity.
|
|
148
|
+
* @param entity - Entity name.
|
|
149
|
+
*/
|
|
150
|
+
getFieldsMap(entity: string): Record<string, string>;
|
|
151
|
+
/**
|
|
152
|
+
* Maps a domain field name to the database field name.
|
|
153
|
+
* @param entity - Entity name.
|
|
154
|
+
* @param fieldName - Domain field name.
|
|
155
|
+
*/
|
|
156
|
+
mapFieldName(entity: string, fieldName: string): string;
|
|
157
|
+
/**
|
|
158
|
+
* Maps fields of a domain object to database field names.
|
|
159
|
+
* Ignores values that are Entity, ValueObject, or Arrays.
|
|
160
|
+
*
|
|
161
|
+
* @param entity - Entity name.
|
|
162
|
+
* @param data - Data to be mapped.
|
|
163
|
+
*/
|
|
164
|
+
mapFields(entity: string, data: Record<string, any>): MappedEntityData;
|
|
165
|
+
/**
|
|
166
|
+
* Maps a complete domain entity to database data.
|
|
167
|
+
* Used for CREATE operations.
|
|
168
|
+
*
|
|
169
|
+
* @param entity - Entity name.
|
|
170
|
+
* @param domainEntity - Domain entity instance.
|
|
171
|
+
*/
|
|
172
|
+
mapEntity(entity: string, domainEntity: Entity<any> | ValueObject<any>): MappedEntityData;
|
|
173
|
+
/**
|
|
174
|
+
* Gets the FK object to relate with the parent.
|
|
175
|
+
*
|
|
176
|
+
* @param entity - Entity name.
|
|
177
|
+
* @param parentId - Parent ID.
|
|
178
|
+
* @returns Object with the FK field or null if there is no parent.
|
|
179
|
+
*/
|
|
180
|
+
getParentFk(entity: string, parentId: string): Record<string, string> | null;
|
|
181
|
+
/**
|
|
182
|
+
* Gets the name of the parent entity.
|
|
183
|
+
* @param entity - Entity name.
|
|
184
|
+
*/
|
|
185
|
+
getParentEntity(entity: string): string | null;
|
|
186
|
+
/**
|
|
187
|
+
* Gets the FK field name.
|
|
188
|
+
* @param entity - Entity name.
|
|
189
|
+
*/
|
|
190
|
+
getParentFkField(entity: string): string | null;
|
|
191
|
+
/**
|
|
192
|
+
* Gets the collection configuration for a specific field.
|
|
193
|
+
*
|
|
194
|
+
* @param entity - Parent entity name (e.g., 'Post')
|
|
195
|
+
* @param fieldName - Collection field name (e.g., 'tags')
|
|
196
|
+
* @returns CollectionConfig or null if not configured
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* const config = registry.getCollectionConfig('Post', 'tags');
|
|
201
|
+
* if (config?.type === 'reference') {
|
|
202
|
+
* // Handle N:N relation - use connect/disconnect
|
|
203
|
+
* } else {
|
|
204
|
+
* // Handle 1:N relation - use create/delete
|
|
205
|
+
* }
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
getCollectionConfig(entity: string, fieldName: string): CollectionConfig | null;
|
|
209
|
+
/**
|
|
210
|
+
* Checks if a collection is a reference type (N:N).
|
|
211
|
+
*
|
|
212
|
+
* @param entity - Parent entity name
|
|
213
|
+
* @param fieldName - Collection field name
|
|
214
|
+
* @returns true if the collection is a reference (N:N), false otherwise
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```typescript
|
|
218
|
+
* if (registry.isReferenceCollection('Post', 'tags')) {
|
|
219
|
+
* // Use connect/disconnect instead of create/delete
|
|
220
|
+
* }
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
isReferenceCollection(entity: string, fieldName: string): boolean;
|
|
224
|
+
/**
|
|
225
|
+
* Checks if a collection is owned (1:N).
|
|
226
|
+
* Returns true if explicitly configured as 'owned' or if not configured at all.
|
|
227
|
+
*
|
|
228
|
+
* @param entity - Parent entity name
|
|
229
|
+
* @param fieldName - Collection field name
|
|
230
|
+
* @returns true if the collection is owned (1:N), false if reference
|
|
231
|
+
*/
|
|
232
|
+
isOwnedCollection(entity: string, fieldName: string): boolean;
|
|
233
|
+
/**
|
|
234
|
+
* Gets all collections configured for an entity.
|
|
235
|
+
*
|
|
236
|
+
* @param entity - Entity name
|
|
237
|
+
* @returns Record of field names to collection configs, or empty object
|
|
238
|
+
*/
|
|
239
|
+
getCollections(entity: string): Record<string, CollectionConfig>;
|
|
240
|
+
/**
|
|
241
|
+
* Gets all reference (N:N) collections for an entity.
|
|
242
|
+
*
|
|
243
|
+
* @param entity - Entity name
|
|
244
|
+
* @returns Array of field names that are reference collections
|
|
245
|
+
*/
|
|
246
|
+
getReferenceCollections(entity: string): string[];
|
|
247
|
+
/**
|
|
248
|
+
* Gets the junction table configuration for a reference collection.
|
|
249
|
+
*
|
|
250
|
+
* @param entity - Parent entity name
|
|
251
|
+
* @param fieldName - Collection field name
|
|
252
|
+
* @returns Junction config or null
|
|
253
|
+
*/
|
|
254
|
+
getJunctionConfig(entity: string, fieldName: string): CollectionConfig["junction"] | null;
|
|
255
|
+
/**
|
|
256
|
+
* Lists all registered entities.
|
|
257
|
+
*/
|
|
258
|
+
getRegisteredEntities(): string[];
|
|
259
|
+
/**
|
|
260
|
+
* Clears all registered schemas.
|
|
261
|
+
*/
|
|
262
|
+
clear(): void;
|
|
263
|
+
/**
|
|
264
|
+
* Checks if a value is Entity, ValueObject, or Array.
|
|
265
|
+
*/
|
|
266
|
+
private isEntityOrCollection;
|
|
267
|
+
/**
|
|
268
|
+
* Normalizes a value for persistence.
|
|
269
|
+
*/
|
|
270
|
+
private normalizeValue;
|
|
271
|
+
/**
|
|
272
|
+
* Validates that a relation field exists in the entity's collections.
|
|
273
|
+
*
|
|
274
|
+
* @param entity - Parent entity name
|
|
275
|
+
* @param relationField - Relation field to validate
|
|
276
|
+
* @throws ConfigurationError if the field doesn't exist
|
|
277
|
+
*
|
|
278
|
+
*/
|
|
279
|
+
validateRelationField(entity: string, relationField: string): void;
|
|
280
|
+
private findSimilarNames;
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=entity-schema-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-schema-registry.d.ts","sourceRoot":"","sources":["../../src/entity-schema-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Entity } from "./entity";
|
|
2
|
-
import { ValueObject } from "./value-object";
|
|
3
|
-
import { Id } from "./id";
|
|
4
|
-
import { ConfigurationError } from "./exceptions";
|
|
5
|
-
import { levenshteinDistance } from "./utils/helpers";
|
|
1
|
+
import { Entity } from "./entity.js";
|
|
2
|
+
import { ValueObject } from "./value-object.js";
|
|
3
|
+
import { Id } from "./id.js";
|
|
4
|
+
import { ConfigurationError } from "./exceptions.js";
|
|
5
|
+
import { levenshteinDistance } from "./utils/helpers.js";
|
|
6
6
|
/**
|
|
7
7
|
* Registry for mapping domain entities to database tables and fields.
|
|
8
8
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-schema-registry.js","sourceRoot":"","sources":["../../src/entity-schema-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseEntity } from "./base-entity.js";
|
|
2
|
+
import { BaseProps } from "./types/index.js";
|
|
3
|
+
export declare class Entity<T extends BaseProps> extends BaseEntity<T> {
|
|
4
|
+
}
|
|
5
|
+
export declare class Aggregate<T extends BaseProps> extends BaseEntity<T> {
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,OAAO,MAA4B,SAAQ,UAAa;CAAG;AACjE,MAAM,OAAO,SAA+B,SAAQ,UAAa;CAAG"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base exception class for all Rich Domain exceptions
|
|
3
|
+
*/
|
|
4
|
+
declare abstract class DomainException extends Error {
|
|
5
|
+
readonly code: string;
|
|
6
|
+
readonly timestamp: Date;
|
|
7
|
+
readonly __isDomainException = true;
|
|
8
|
+
constructor(message: string, code?: string);
|
|
9
|
+
/**
|
|
10
|
+
* Check if an error is a DomainException
|
|
11
|
+
*/
|
|
12
|
+
static isDomainException(error: unknown): error is DomainException;
|
|
13
|
+
/**
|
|
14
|
+
* Convert to JSON for serialization
|
|
15
|
+
*/
|
|
16
|
+
toJSON(): {
|
|
17
|
+
name: string;
|
|
18
|
+
message: string;
|
|
19
|
+
code: string;
|
|
20
|
+
timestamp: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Thrown when a domain rule or business logic is violated
|
|
25
|
+
*/
|
|
26
|
+
export declare class DomainError extends DomainException {
|
|
27
|
+
constructor(message: string, code?: string);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Thrown when an entity or aggregate is not found
|
|
31
|
+
*/
|
|
32
|
+
export declare class EntityNotFoundError extends DomainException {
|
|
33
|
+
readonly entityType: string;
|
|
34
|
+
readonly entityId?: string;
|
|
35
|
+
constructor(entityType: string, entityId?: string, message?: string);
|
|
36
|
+
toJSON(): {
|
|
37
|
+
entityType: string;
|
|
38
|
+
entityId: string | undefined;
|
|
39
|
+
name: string;
|
|
40
|
+
message: string;
|
|
41
|
+
code: string;
|
|
42
|
+
timestamp: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Thrown when trying to create an entity that already exists
|
|
47
|
+
*/
|
|
48
|
+
export declare class EntityAlreadyExistsError extends DomainException {
|
|
49
|
+
readonly entityType: string;
|
|
50
|
+
readonly entityId?: string;
|
|
51
|
+
constructor(entityType: string, entityId?: string, message?: string);
|
|
52
|
+
toJSON(): {
|
|
53
|
+
entityType: string;
|
|
54
|
+
entityId: string | undefined;
|
|
55
|
+
name: string;
|
|
56
|
+
message: string;
|
|
57
|
+
code: string;
|
|
58
|
+
timestamp: string;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Base exception for repository operations
|
|
63
|
+
*/
|
|
64
|
+
export declare class RepositoryError extends DomainException {
|
|
65
|
+
constructor(message: string, code?: string);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Thrown when a persistence operation fails
|
|
69
|
+
*/
|
|
70
|
+
export declare class PersistenceError extends RepositoryError {
|
|
71
|
+
readonly operation: string;
|
|
72
|
+
readonly cause?: Error;
|
|
73
|
+
constructor(operation: string, message?: string, cause?: Error);
|
|
74
|
+
toJSON(): {
|
|
75
|
+
operation: string;
|
|
76
|
+
cause: string | undefined;
|
|
77
|
+
name: string;
|
|
78
|
+
message: string;
|
|
79
|
+
code: string;
|
|
80
|
+
timestamp: string;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Thrown when a concurrency conflict occurs (optimistic locking)
|
|
85
|
+
*/
|
|
86
|
+
export declare class ConcurrencyError extends RepositoryError {
|
|
87
|
+
readonly entityType: string;
|
|
88
|
+
readonly entityId: string;
|
|
89
|
+
constructor(entityType: string, entityId: string, message?: string);
|
|
90
|
+
toJSON(): {
|
|
91
|
+
entityType: string;
|
|
92
|
+
entityId: string;
|
|
93
|
+
name: string;
|
|
94
|
+
message: string;
|
|
95
|
+
code: string;
|
|
96
|
+
timestamp: string;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Thrown when a database constraint is violated
|
|
101
|
+
*/
|
|
102
|
+
export declare class ConstraintViolationError extends RepositoryError {
|
|
103
|
+
readonly constraint: string;
|
|
104
|
+
constructor(constraint: string, message?: string);
|
|
105
|
+
toJSON(): {
|
|
106
|
+
constraint: string;
|
|
107
|
+
name: string;
|
|
108
|
+
message: string;
|
|
109
|
+
code: string;
|
|
110
|
+
timestamp: string;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Thrown when a value object has invalid data
|
|
115
|
+
*/
|
|
116
|
+
export declare class InvalidValueObjectError extends DomainException {
|
|
117
|
+
readonly valueObjectType: string;
|
|
118
|
+
readonly invalidValue?: any;
|
|
119
|
+
constructor(valueObjectType: string, message: string, invalidValue?: any);
|
|
120
|
+
toJSON(): {
|
|
121
|
+
valueObjectType: string;
|
|
122
|
+
invalidValue: any;
|
|
123
|
+
name: string;
|
|
124
|
+
message: string;
|
|
125
|
+
code: string;
|
|
126
|
+
timestamp: string;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Thrown when a domain event operation fails
|
|
131
|
+
*/
|
|
132
|
+
export declare class DomainEventError extends DomainException {
|
|
133
|
+
readonly eventType?: string;
|
|
134
|
+
constructor(message: string, eventType?: string);
|
|
135
|
+
toJSON(): {
|
|
136
|
+
eventType: string | undefined;
|
|
137
|
+
name: string;
|
|
138
|
+
message: string;
|
|
139
|
+
code: string;
|
|
140
|
+
timestamp: string;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Thrown when an event handler fails
|
|
145
|
+
*/
|
|
146
|
+
export declare class EventHandlerError extends DomainEventError {
|
|
147
|
+
readonly handlerName: string;
|
|
148
|
+
readonly cause?: Error;
|
|
149
|
+
constructor(handlerName: string, eventType: string, cause?: Error);
|
|
150
|
+
toJSON(): {
|
|
151
|
+
handlerName: string;
|
|
152
|
+
cause: string | undefined;
|
|
153
|
+
eventType: string | undefined;
|
|
154
|
+
name: string;
|
|
155
|
+
message: string;
|
|
156
|
+
code: string;
|
|
157
|
+
timestamp: string;
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Thrown when a criteria or query is invalid
|
|
162
|
+
*/
|
|
163
|
+
export declare class InvalidCriteriaError extends DomainException {
|
|
164
|
+
readonly field?: string;
|
|
165
|
+
constructor(message: string, field?: string);
|
|
166
|
+
toJSON(): {
|
|
167
|
+
field: string | undefined;
|
|
168
|
+
name: string;
|
|
169
|
+
message: string;
|
|
170
|
+
code: string;
|
|
171
|
+
timestamp: string;
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Thrown when a transaction operation fails
|
|
176
|
+
*/
|
|
177
|
+
export declare class TransactionError extends DomainException {
|
|
178
|
+
readonly operation: string;
|
|
179
|
+
readonly cause?: Error;
|
|
180
|
+
constructor(operation: string, message?: string, cause?: Error);
|
|
181
|
+
toJSON(): {
|
|
182
|
+
operation: string;
|
|
183
|
+
cause: string | undefined;
|
|
184
|
+
name: string;
|
|
185
|
+
message: string;
|
|
186
|
+
code: string;
|
|
187
|
+
timestamp: string;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Thrown when an unexpected or unknown error occurs
|
|
192
|
+
*/
|
|
193
|
+
export declare class UnknownError extends DomainException {
|
|
194
|
+
readonly originalError?: Error;
|
|
195
|
+
constructor(message?: string, originalError?: Error);
|
|
196
|
+
toJSON(): {
|
|
197
|
+
originalError: string | undefined;
|
|
198
|
+
name: string;
|
|
199
|
+
message: string;
|
|
200
|
+
code: string;
|
|
201
|
+
timestamp: string;
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Thrown when a feature is not implemented yet
|
|
206
|
+
*/
|
|
207
|
+
export declare class NotImplementedError extends DomainException {
|
|
208
|
+
readonly feature: string;
|
|
209
|
+
constructor(feature: string, message?: string);
|
|
210
|
+
toJSON(): {
|
|
211
|
+
feature: string;
|
|
212
|
+
name: string;
|
|
213
|
+
message: string;
|
|
214
|
+
code: string;
|
|
215
|
+
timestamp: string;
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Thrown when a required configuration is missing
|
|
220
|
+
*/
|
|
221
|
+
export declare class ConfigurationError extends DomainException {
|
|
222
|
+
readonly configKey?: string;
|
|
223
|
+
constructor(message: string, configKey?: string);
|
|
224
|
+
toJSON(): {
|
|
225
|
+
configKey: string | undefined;
|
|
226
|
+
name: string;
|
|
227
|
+
message: string;
|
|
228
|
+
code: string;
|
|
229
|
+
timestamp: string;
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Thrown when mapping between domain and persistence fails
|
|
234
|
+
*/
|
|
235
|
+
export declare class MapperError extends DomainException {
|
|
236
|
+
readonly direction: "toDomain" | "toPersistence";
|
|
237
|
+
readonly entityType: string;
|
|
238
|
+
readonly cause?: Error;
|
|
239
|
+
constructor(direction: "toDomain" | "toPersistence", entityType: string, message?: string, cause?: Error);
|
|
240
|
+
toJSON(): {
|
|
241
|
+
direction: "toDomain" | "toPersistence";
|
|
242
|
+
entityType: string;
|
|
243
|
+
cause: string | undefined;
|
|
244
|
+
name: string;
|
|
245
|
+
message: string;
|
|
246
|
+
code: string;
|
|
247
|
+
timestamp: string;
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
export {};
|
|
251
|
+
//# sourceMappingURL=exceptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/id.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare class Id {
|
|
2
|
+
private readonly _value;
|
|
3
|
+
private readonly _isNew;
|
|
4
|
+
/**
|
|
5
|
+
* Create a new Id
|
|
6
|
+
* @param value - Optional existing ID value. If not provided, generates a new UUID.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // New entity (generates UUID)
|
|
10
|
+
* const newId = new Id();
|
|
11
|
+
* newuser.isNew() // true
|
|
12
|
+
*
|
|
13
|
+
* // Existing entity (uses provided ID)
|
|
14
|
+
* const existingId = new Id("550e8400-e29b-41d4-a716-446655440000");
|
|
15
|
+
* existinguser.isNew() // false
|
|
16
|
+
*/
|
|
17
|
+
constructor(value: string, isNew?: boolean);
|
|
18
|
+
constructor(value?: string);
|
|
19
|
+
/**
|
|
20
|
+
* Get the string value of the ID
|
|
21
|
+
*/
|
|
22
|
+
get value(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Check if this ID represents a new entity
|
|
25
|
+
*/
|
|
26
|
+
isNew(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Convert to string (for JSON serialization and comparisons)
|
|
29
|
+
*/
|
|
30
|
+
toString(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Convert to JSON (returns the string value)
|
|
33
|
+
*/
|
|
34
|
+
toJSON(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Check equality with another Id or string
|
|
37
|
+
*/
|
|
38
|
+
equals(other: Id | string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Generate a UUID v4
|
|
41
|
+
*/
|
|
42
|
+
private generateUUID;
|
|
43
|
+
/**
|
|
44
|
+
* Create a new Id (convenience static method)
|
|
45
|
+
*/
|
|
46
|
+
static create(): Id;
|
|
47
|
+
/**
|
|
48
|
+
* Create an Id from an existing value
|
|
49
|
+
*/
|
|
50
|
+
static from(value: string): Id;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"AAMA,qBAAa,EAAE;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAGjC;;;;;;;;;;;;MAYE;gBACU,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;gBAC9B,KAAK,CAAC,EAAE,MAAM;IAa1B;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACI,KAAK,IAAI,OAAO;IAIvB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO;IAOnC;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,EAAE;IAInB;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE;CAG/B"}
|