@nestjslatam/ddd-lib 1.0.51 → 1.0.53
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/LICENSE +21 -21
- package/README.md +30 -30
- package/dist/aggregate-root.d.ts +63 -0
- package/dist/aggregate-root.js +154 -0
- package/dist/broken-rules.manager.d.ts +21 -0
- package/dist/broken-rules.manager.js +95 -0
- package/dist/core/aggregate/aggregate-equality.d.ts +16 -0
- package/dist/core/aggregate/aggregate-equality.js +33 -0
- package/dist/core/aggregate/aggregate-identity.d.ts +11 -0
- package/dist/core/aggregate/aggregate-identity.js +40 -0
- package/dist/core/aggregate/aggregate-serializer.d.ts +28 -0
- package/dist/core/aggregate/aggregate-serializer.js +38 -0
- package/dist/core/aggregate/aggregate-validation-orchestrator.d.ts +14 -0
- package/dist/core/aggregate/aggregate-validation-orchestrator.js +36 -0
- package/dist/core/aggregate/index.d.ts +5 -0
- package/dist/core/aggregate/index.js +12 -0
- package/dist/core/business-rules/impl/broken-rule.d.ts +7 -0
- package/dist/core/business-rules/impl/broken-rule.js +15 -0
- package/dist/core/business-rules/impl/broken-rules-extension.d.ts +6 -0
- package/dist/core/business-rules/impl/broken-rules-extension.js +32 -0
- package/dist/core/business-rules/impl/index.d.ts +4 -0
- package/{ddd-core/broken-rules → dist/core/business-rules/impl}/index.js +2 -1
- package/dist/core/business-rules/impl/property-change/index.d.ts +5 -0
- package/dist/core/business-rules/impl/property-change/index.js +21 -0
- package/dist/core/business-rules/impl/property-change/notify-property-changed.base.d.ts +16 -0
- package/dist/core/business-rules/impl/property-change/notify-property-changed.base.js +64 -0
- package/dist/core/business-rules/impl/property-change/notify-property-changed.context-args.d.ts +7 -0
- package/dist/core/business-rules/impl/property-change/notify-property-changed.context-args.js +12 -0
- package/dist/core/business-rules/impl/property-change/notify-property-changed.context.d.ts +11 -0
- package/dist/core/business-rules/impl/property-change/notify-property-changed.context.js +21 -0
- package/dist/core/business-rules/impl/property-change/reflection-type-extensions.d.ts +5 -0
- package/dist/core/business-rules/impl/property-change/reflection-type-extensions.js +23 -0
- package/dist/core/business-rules/index.d.ts +2 -0
- package/dist/core/index.d.ts +6 -0
- package/{ddd-core → dist/core}/index.js +5 -5
- package/dist/core/repositories/index.d.ts +3 -0
- package/dist/core/repositories/index.js +19 -0
- package/dist/core/repositories/repository-read.interface.d.ts +7 -0
- package/{ddd-commands/interfaces/command-handler.interface.js → dist/core/repositories/repository-read.interface.js} +1 -1
- package/{ddd-ports/interfaces/domain-repository-write.interface.d.ts → dist/core/repositories/repository-write.interface.d.ts} +4 -3
- package/{ddd-commands/interfaces/command-metadata.interface.js → dist/core/repositories/repository-write.interface.js} +1 -1
- package/dist/core/tracking-state/impl/index.d.ts +4 -0
- package/{ddd-core → dist/core/tracking-state}/impl/index.js +2 -2
- package/dist/core/tracking-state/impl/nested-property-change-detector.d.ts +8 -0
- package/dist/core/tracking-state/impl/nested-property-change-detector.js +38 -0
- package/{ddd-core → dist/core/tracking-state}/impl/tracking-props.d.ts +3 -0
- package/{ddd-core → dist/core/tracking-state}/impl/tracking-props.js +11 -0
- package/dist/core/tracking-state/impl/tracking-state-transition.d.ts +9 -0
- package/dist/core/tracking-state/impl/tracking-state-transition.js +34 -0
- package/{ddd-commands → dist/core/tracking-state}/index.d.ts +1 -0
- package/dist/core/tracking-state/interfaces/ichange-detector.d.ts +8 -0
- package/{ddd-commands/interfaces/command.interface.js → dist/core/tracking-state/interfaces/ichange-detector.js} +1 -1
- package/dist/core/tracking-state/interfaces/idomain-primitive.d.ts +5 -0
- package/dist/core/tracking-state/interfaces/idomain-primitive.js +3 -0
- package/dist/core/tracking-state/interfaces/index.d.ts +6 -0
- package/dist/core/tracking-state/interfaces/index.js +22 -0
- package/{ddd-core/interfaces/tracking.interface.d.ts → dist/core/tracking-state/interfaces/itracking-props.d.ts} +2 -0
- package/{ddd-core/interfaces/saga.interface.js → dist/core/tracking-state/interfaces/itracking-props.js} +1 -1
- package/dist/core/tracking-state/interfaces/itracking-state-manager.d.ts +12 -0
- package/{ddd-commands/interfaces/command-bus.interface.js → dist/core/tracking-state/interfaces/itracking-state-manager.js} +1 -1
- package/dist/core/tracking-state/interfaces/itracking-state-transitions.d.ts +7 -0
- package/dist/core/tracking-state/interfaces/itracking-state-transitions.js +3 -0
- package/dist/core/validator-rules/impl/abstract-rule-validator.d.ts +13 -0
- package/dist/core/validator-rules/impl/abstract-rule-validator.js +34 -0
- package/dist/core/validator-rules/impl/abstract-validator.d.ts +4 -0
- package/dist/core/validator-rules/impl/abstract-validator.js +7 -0
- package/dist/core/validator-rules/impl/entity-validator.d.ts +5 -0
- package/dist/core/validator-rules/impl/entity-validator.js +12 -0
- package/dist/core/validator-rules/impl/index.d.ts +5 -0
- package/{ddd-core/interfaces → dist/core/validator-rules/impl}/index.js +4 -4
- package/dist/core/validator-rules/impl/value-object-validator.d.ts +7 -0
- package/dist/core/validator-rules/impl/value-object-validator.js +15 -0
- package/{ddd-events → dist/core/validator-rules}/index.d.ts +2 -1
- package/{ddd-events → dist/core/validator-rules}/index.js +1 -1
- package/dist/core/validator-rules/interfaces/index.d.ts +3 -0
- package/{ddd-ports → dist/core/validator-rules/interfaces}/index.js +2 -1
- package/dist/core/validator-rules/interfaces/irule-context.d.ts +5 -0
- package/{ddd-commands/impl/command-types.js → dist/core/validator-rules/interfaces/irule-context.js} +1 -1
- package/dist/core/validator-rules/interfaces/irule-validator.d.ts +8 -0
- package/{ddd-core/interfaces/ddd.options.js → dist/core/validator-rules/interfaces/irule-validator.js} +1 -1
- package/dist/ddd.module.d.ts +6 -0
- package/{ddd.module.js → dist/ddd.module.js} +4 -32
- package/dist/ddd.service.d.ts +7 -0
- package/{ddd.service.js → dist/ddd.service.js} +1 -16
- package/dist/domain-event.d.ts +56 -0
- package/dist/domain-event.js +175 -0
- package/dist/enum.d.ts +28 -0
- package/dist/enum.js +129 -0
- package/dist/exceptions/domain.exception.d.ts +19 -0
- package/dist/exceptions/domain.exception.js +45 -0
- package/{ddd-helpers → dist/helpers}/datetime.helper.d.ts +1 -0
- package/{ddd-helpers → dist/helpers}/datetime.helper.js +1 -1
- package/dist/helpers/domain-object.helper.d.ts +20 -0
- package/{ddd-helpers → dist/helpers}/domain-object.helper.js +14 -19
- package/{ddd-helpers → dist/helpers}/index.d.ts +1 -0
- package/dist/index.d.ts +13 -0
- package/{ddd-events/impl → dist}/index.js +11 -7
- package/dist/state-transition.manager.d.ts +23 -0
- package/dist/state-transition.manager.js +163 -0
- package/dist/tracking-state-manager.d.ts +25 -0
- package/dist/tracking-state-manager.js +70 -0
- package/dist/validator-rule.manager.d.ts +17 -0
- package/dist/validator-rule.manager.js +80 -0
- package/dist/valueobject.d.ts +23 -0
- package/dist/valueobject.js +93 -0
- package/dist/valueobjects/id.valueobject.d.ts +16 -0
- package/dist/valueobjects/id.valueobject.js +52 -0
- package/dist/valueobjects/index.d.ts +7 -0
- package/{ddd-commands/impl → dist/valueobjects}/index.js +6 -5
- package/dist/valueobjects/number-notnull.validator.d.ts +13 -0
- package/dist/valueobjects/number-notnull.validator.js +31 -0
- package/dist/valueobjects/number-positive.validator.d.ts +13 -0
- package/dist/valueobjects/number-positive.validator.js +43 -0
- package/dist/valueobjects/number.valueobject.d.ts +25 -0
- package/dist/valueobjects/number.valueobject.js +67 -0
- package/dist/valueobjects/string-notnullorempty.validator.d.ts +14 -0
- package/dist/valueobjects/string-notnullorempty.validator.js +36 -0
- package/dist/valueobjects/string.valueobject.d.ts +27 -0
- package/dist/valueobjects/string.valueobject.js +86 -0
- package/package.json +52 -26
- package/src/types.d.ts +7 -0
- package/ddd-aggregate-root.d.ts +0 -34
- package/ddd-aggregate-root.js +0 -85
- package/ddd-aggregate-root.js.map +0 -1
- package/ddd-commands/impl/command-types.d.ts +0 -3
- package/ddd-commands/impl/command-types.js.map +0 -1
- package/ddd-commands/impl/command.base.d.ts +0 -7
- package/ddd-commands/impl/command.base.js +0 -15
- package/ddd-commands/impl/command.base.js.map +0 -1
- package/ddd-commands/impl/default-command-publisher.d.ts +0 -7
- package/ddd-commands/impl/default-command-publisher.js +0 -13
- package/ddd-commands/impl/default-command-publisher.js.map +0 -1
- package/ddd-commands/impl/domain-command-bus.d.ts +0 -18
- package/ddd-commands/impl/domain-command-bus.js +0 -71
- package/ddd-commands/impl/domain-command-bus.js.map +0 -1
- package/ddd-commands/impl/index.d.ts +0 -5
- package/ddd-commands/impl/index.js.map +0 -1
- package/ddd-commands/index.js.map +0 -1
- package/ddd-commands/interfaces/command-bus.interface.d.ts +0 -4
- package/ddd-commands/interfaces/command-bus.interface.js.map +0 -1
- package/ddd-commands/interfaces/command-handler.interface.d.ts +0 -4
- package/ddd-commands/interfaces/command-handler.interface.js.map +0 -1
- package/ddd-commands/interfaces/command-metadata.interface.d.ts +0 -4
- package/ddd-commands/interfaces/command-metadata.interface.js.map +0 -1
- package/ddd-commands/interfaces/command-publisher.interface.d.ts +0 -4
- package/ddd-commands/interfaces/command-publisher.interface.js +0 -3
- package/ddd-commands/interfaces/command-publisher.interface.js.map +0 -1
- package/ddd-commands/interfaces/command.interface.d.ts +0 -4
- package/ddd-commands/interfaces/command.interface.js.map +0 -1
- package/ddd-commands/interfaces/index.d.ts +0 -5
- package/ddd-commands/interfaces/index.js +0 -22
- package/ddd-commands/interfaces/index.js.map +0 -1
- package/ddd-core/broken-rules/broken-rule-collection.d.ts +0 -13
- package/ddd-core/broken-rules/broken-rule-collection.js +0 -54
- package/ddd-core/broken-rules/broken-rule-collection.js.map +0 -1
- package/ddd-core/broken-rules/broken-rule.d.ts +0 -5
- package/ddd-core/broken-rules/broken-rule.js +0 -13
- package/ddd-core/broken-rules/broken-rule.js.map +0 -1
- package/ddd-core/broken-rules/index.d.ts +0 -2
- package/ddd-core/broken-rules/index.js.map +0 -1
- package/ddd-core/ddd-base-classes.d.ts +0 -52
- package/ddd-core/ddd-base-classes.js +0 -173
- package/ddd-core/ddd-base-classes.js.map +0 -1
- package/ddd-core/ddd-validators.d.ts +0 -15
- package/ddd-core/ddd-validators.js +0 -70
- package/ddd-core/ddd-validators.js.map +0 -1
- package/ddd-core/impl/index.d.ts +0 -3
- package/ddd-core/impl/index.js.map +0 -1
- package/ddd-core/impl/observable-bus.d.ts +0 -6
- package/ddd-core/impl/observable-bus.js +0 -16
- package/ddd-core/impl/observable-bus.js.map +0 -1
- package/ddd-core/impl/of-type.d.ts +0 -4
- package/ddd-core/impl/of-type.js +0 -9
- package/ddd-core/impl/of-type.js.map +0 -1
- package/ddd-core/impl/tracking-props.js.map +0 -1
- package/ddd-core/index.d.ts +0 -5
- package/ddd-core/index.js.map +0 -1
- package/ddd-core/interfaces/ddd.options.d.ts +0 -7
- package/ddd-core/interfaces/ddd.options.js.map +0 -1
- package/ddd-core/interfaces/index.d.ts +0 -4
- package/ddd-core/interfaces/index.js.map +0 -1
- package/ddd-core/interfaces/message-source.interface.d.ts +0 -5
- package/ddd-core/interfaces/message-source.interface.js +0 -3
- package/ddd-core/interfaces/message-source.interface.js.map +0 -1
- package/ddd-core/interfaces/saga.interface.d.ts +0 -4
- package/ddd-core/interfaces/saga.interface.js.map +0 -1
- package/ddd-core/interfaces/tracking.interface.js +0 -3
- package/ddd-core/interfaces/tracking.interface.js.map +0 -1
- package/ddd-decorators/command-handler.decorator.d.ts +0 -3
- package/ddd-decorators/command-handler.decorator.js +0 -16
- package/ddd-decorators/command-handler.decorator.js.map +0 -1
- package/ddd-decorators/constants.d.ts +0 -5
- package/ddd-decorators/constants.js +0 -9
- package/ddd-decorators/constants.js.map +0 -1
- package/ddd-decorators/events-handler.decorator.d.ts +0 -3
- package/ddd-decorators/events-handler.decorator.js +0 -18
- package/ddd-decorators/events-handler.decorator.js.map +0 -1
- package/ddd-decorators/index.d.ts +0 -6
- package/ddd-decorators/index.js +0 -23
- package/ddd-decorators/index.js.map +0 -1
- package/ddd-decorators/reflect-command.helper.d.ts +0 -6
- package/ddd-decorators/reflect-command.helper.js +0 -25
- package/ddd-decorators/reflect-command.helper.js.map +0 -1
- package/ddd-decorators/reflect-event.helper.d.ts +0 -7
- package/ddd-decorators/reflect-event.helper.js +0 -18
- package/ddd-decorators/reflect-event.helper.js.map +0 -1
- package/ddd-decorators/saga.decorator.d.ts +0 -2
- package/ddd-decorators/saga.decorator.js +0 -13
- package/ddd-decorators/saga.decorator.js.map +0 -1
- package/ddd-events/impl/default-event-publisher.d.ts +0 -9
- package/ddd-events/impl/default-event-publisher.js +0 -16
- package/ddd-events/impl/default-event-publisher.js.map +0 -1
- package/ddd-events/impl/domain-event-bus.d.ts +0 -32
- package/ddd-events/impl/domain-event-bus.js +0 -140
- package/ddd-events/impl/domain-event-bus.js.map +0 -1
- package/ddd-events/impl/domain-event-cli.registry.d.ts +0 -6
- package/ddd-events/impl/domain-event-cli.registry.js +0 -18
- package/ddd-events/impl/domain-event-cli.registry.js.map +0 -1
- package/ddd-events/impl/domain-event-collection.d.ts +0 -11
- package/ddd-events/impl/domain-event-collection.js +0 -33
- package/ddd-events/impl/domain-event-collection.js.map +0 -1
- package/ddd-events/impl/domain-event-publisher.d.ts +0 -12
- package/ddd-events/impl/domain-event-publisher.js +0 -48
- package/ddd-events/impl/domain-event-publisher.js.map +0 -1
- package/ddd-events/impl/domain-event-types.d.ts +0 -3
- package/ddd-events/impl/domain-event-types.js +0 -3
- package/ddd-events/impl/domain-event-types.js.map +0 -1
- package/ddd-events/impl/domain-event.d.ts +0 -19
- package/ddd-events/impl/domain-event.deserializer.d.ts +0 -8
- package/ddd-events/impl/domain-event.deserializer.js +0 -31
- package/ddd-events/impl/domain-event.deserializer.js.map +0 -1
- package/ddd-events/impl/domain-event.js +0 -29
- package/ddd-events/impl/domain-event.js.map +0 -1
- package/ddd-events/impl/domain-event.serializer.d.ts +0 -6
- package/ddd-events/impl/domain-event.serializer.js +0 -45
- package/ddd-events/impl/domain-event.serializer.js.map +0 -1
- package/ddd-events/impl/index.d.ts +0 -8
- package/ddd-events/impl/index.js.map +0 -1
- package/ddd-events/index.js.map +0 -1
- package/ddd-events/interfaces/domain-event-bus.interface.d.ts +0 -5
- package/ddd-events/interfaces/domain-event-bus.interface.js +0 -3
- package/ddd-events/interfaces/domain-event-bus.interface.js.map +0 -1
- package/ddd-events/interfaces/domain-event-handler.interface.d.ts +0 -4
- package/ddd-events/interfaces/domain-event-handler.interface.js +0 -3
- package/ddd-events/interfaces/domain-event-handler.interface.js.map +0 -1
- package/ddd-events/interfaces/domain-event-metadata.interface.d.ts +0 -7
- package/ddd-events/interfaces/domain-event-metadata.interface.js +0 -3
- package/ddd-events/interfaces/domain-event-metadata.interface.js.map +0 -1
- package/ddd-events/interfaces/domain-event-publisher.interface.d.ts +0 -5
- package/ddd-events/interfaces/domain-event-publisher.interface.js +0 -3
- package/ddd-events/interfaces/domain-event-publisher.interface.js.map +0 -1
- package/ddd-events/interfaces/domain-event-serializable.interface.d.ts +0 -11
- package/ddd-events/interfaces/domain-event-serializable.interface.js +0 -3
- package/ddd-events/interfaces/domain-event-serializable.interface.js.map +0 -1
- package/ddd-events/interfaces/domain-event.interface.d.ts +0 -2
- package/ddd-events/interfaces/domain-event.interface.js +0 -3
- package/ddd-events/interfaces/domain-event.interface.js.map +0 -1
- package/ddd-events/interfaces/index.d.ts +0 -6
- package/ddd-events/interfaces/index.js +0 -23
- package/ddd-events/interfaces/index.js.map +0 -1
- package/ddd-exceptions/constants.d.ts +0 -14
- package/ddd-exceptions/constants.js +0 -18
- package/ddd-exceptions/constants.js.map +0 -1
- package/ddd-exceptions/impl/arguments-exception.d.ts +0 -10
- package/ddd-exceptions/impl/arguments-exception.js +0 -27
- package/ddd-exceptions/impl/arguments-exception.js.map +0 -1
- package/ddd-exceptions/impl/broken-rules.exeption.d.ts +0 -6
- package/ddd-exceptions/impl/broken-rules.exeption.js +0 -14
- package/ddd-exceptions/impl/broken-rules.exeption.js.map +0 -1
- package/ddd-exceptions/impl/command-exception.d.ts +0 -7
- package/ddd-exceptions/impl/command-exception.js +0 -20
- package/ddd-exceptions/impl/command-exception.js.map +0 -1
- package/ddd-exceptions/impl/common.exception.d.ts +0 -14
- package/ddd-exceptions/impl/common.exception.js +0 -29
- package/ddd-exceptions/impl/common.exception.js.map +0 -1
- package/ddd-exceptions/impl/domain-bus.exception.d.ts +0 -7
- package/ddd-exceptions/impl/domain-bus.exception.js +0 -20
- package/ddd-exceptions/impl/domain-bus.exception.js.map +0 -1
- package/ddd-exceptions/impl/domain-publisher.exception.d.ts +0 -9
- package/ddd-exceptions/impl/domain-publisher.exception.js +0 -13
- package/ddd-exceptions/impl/domain-publisher.exception.js.map +0 -1
- package/ddd-exceptions/impl/domain-unhandled-bus.exeption.d.ts +0 -16
- package/ddd-exceptions/impl/domain-unhandled-bus.exeption.js +0 -45
- package/ddd-exceptions/impl/domain-unhandled-bus.exeption.js.map +0 -1
- package/ddd-exceptions/impl/index.d.ts +0 -8
- package/ddd-exceptions/impl/index.js +0 -25
- package/ddd-exceptions/impl/index.js.map +0 -1
- package/ddd-exceptions/impl/sagas.exception.d.ts +0 -4
- package/ddd-exceptions/impl/sagas.exception.js +0 -13
- package/ddd-exceptions/impl/sagas.exception.js.map +0 -1
- package/ddd-exceptions/index.d.ts +0 -3
- package/ddd-exceptions/index.js +0 -20
- package/ddd-exceptions/index.js.map +0 -1
- package/ddd-exceptions/interfaces/exception.base.d.ts +0 -17
- package/ddd-exceptions/interfaces/exception.base.js +0 -24
- package/ddd-exceptions/interfaces/exception.base.js.map +0 -1
- package/ddd-exceptions/interfaces/index.d.ts +0 -3
- package/ddd-exceptions/interfaces/index.js +0 -20
- package/ddd-exceptions/interfaces/index.js.map +0 -1
- package/ddd-exceptions/interfaces/unhandled-exception-info.interface.d.ts +0 -6
- package/ddd-exceptions/interfaces/unhandled-exception-info.interface.js +0 -3
- package/ddd-exceptions/interfaces/unhandled-exception-info.interface.js.map +0 -1
- package/ddd-exceptions/interfaces/unhandled-exception-publisher.interface.d.ts +0 -6
- package/ddd-exceptions/interfaces/unhandled-exception-publisher.interface.js +0 -3
- package/ddd-exceptions/interfaces/unhandled-exception-publisher.interface.js.map +0 -1
- package/ddd-helpers/datetime.helper.js.map +0 -1
- package/ddd-helpers/domain-object.helper.d.ts +0 -18
- package/ddd-helpers/domain-object.helper.js.map +0 -1
- package/ddd-helpers/index.js.map +0 -1
- package/ddd-ports/index.d.ts +0 -1
- package/ddd-ports/index.js.map +0 -1
- package/ddd-ports/interfaces/domain-repository-read.interface.d.ts +0 -6
- package/ddd-ports/interfaces/domain-repository-read.interface.js +0 -3
- package/ddd-ports/interfaces/domain-repository-read.interface.js.map +0 -1
- package/ddd-ports/interfaces/domain-repository-write.interface.js +0 -3
- package/ddd-ports/interfaces/domain-repository-write.interface.js.map +0 -1
- package/ddd-ports/interfaces/index.d.ts +0 -2
- package/ddd-ports/interfaces/index.js +0 -19
- package/ddd-ports/interfaces/index.js.map +0 -1
- package/ddd-validators/impl/domain-abstract.validator.d.ts +0 -5
- package/ddd-validators/impl/domain-abstract.validator.js +0 -34
- package/ddd-validators/impl/domain-abstract.validator.js.map +0 -1
- package/ddd-validators/impl/domain-entity.validator.d.ts +0 -5
- package/ddd-validators/impl/domain-entity.validator.js +0 -12
- package/ddd-validators/impl/domain-entity.validator.js.map +0 -1
- package/ddd-validators/impl/domain-value-object.validator.d.ts +0 -11
- package/ddd-validators/impl/domain-value-object.validator.js +0 -41
- package/ddd-validators/impl/domain-value-object.validator.js.map +0 -1
- package/ddd-validators/impl/index.d.ts +0 -3
- package/ddd-validators/impl/index.js +0 -20
- package/ddd-validators/impl/index.js.map +0 -1
- package/ddd-validators/index.d.ts +0 -1
- package/ddd-validators/index.js.map +0 -1
- package/ddd-valueobjects/domain-audit.valueobject.d.ts +0 -21
- package/ddd-valueobjects/domain-audit.valueobject.js +0 -63
- package/ddd-valueobjects/domain-audit.valueobject.js.map +0 -1
- package/ddd-valueobjects/domain-date.valueobject.d.ts +0 -6
- package/ddd-valueobjects/domain-date.valueobject.js +0 -20
- package/ddd-valueobjects/domain-date.valueobject.js.map +0 -1
- package/ddd-valueobjects/domain-enum-base.valueobject.d.ts +0 -5
- package/ddd-valueobjects/domain-enum-base.valueobject.js +0 -11
- package/ddd-valueobjects/domain-enum-base.valueobject.js.map +0 -1
- package/ddd-valueobjects/domain-number-base.valueobject.d.ts +0 -6
- package/ddd-valueobjects/domain-number-base.valueobject.js +0 -22
- package/ddd-valueobjects/domain-number-base.valueobject.js.map +0 -1
- package/ddd-valueobjects/domain-string-base.valueobject.d.ts +0 -6
- package/ddd-valueobjects/domain-string-base.valueobject.js +0 -22
- package/ddd-valueobjects/domain-string-base.valueobject.js.map +0 -1
- package/ddd-valueobjects/domain-uid.valueobject.d.ts +0 -7
- package/ddd-valueobjects/domain-uid.valueobject.js +0 -29
- package/ddd-valueobjects/domain-uid.valueobject.js.map +0 -1
- package/ddd-valueobjects/index.d.ts +0 -6
- package/ddd-valueobjects/index.js +0 -23
- package/ddd-valueobjects/index.js.map +0 -1
- package/ddd.module.d.ts +0 -11
- package/ddd.module.js.map +0 -1
- package/ddd.service.d.ts +0 -14
- package/ddd.service.js.map +0 -1
- package/index.d.ts +0 -14
- package/index.js +0 -31
- package/index.js.map +0 -1
- package/tsconfig.lib.tsbuildinfo +0 -1
- /package/{ddd-validators → dist/core/business-rules}/index.js +0 -0
- /package/{ddd-commands → dist/core/tracking-state}/index.js +0 -0
- /package/{ddd-helpers → dist/helpers}/index.js +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { AggregateIdentity } from './aggregate-identity';
|
|
2
|
+
export { AggregateEquality } from './aggregate-equality';
|
|
3
|
+
export { AggregateValidationOrchestrator } from './aggregate-validation-orchestrator';
|
|
4
|
+
export { AggregateSerializer } from './aggregate-serializer';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AggregateSerializer = exports.AggregateValidationOrchestrator = exports.AggregateEquality = exports.AggregateIdentity = void 0;
|
|
4
|
+
var aggregate_identity_1 = require("./aggregate-identity");
|
|
5
|
+
Object.defineProperty(exports, "AggregateIdentity", { enumerable: true, get: function () { return aggregate_identity_1.AggregateIdentity; } });
|
|
6
|
+
var aggregate_equality_1 = require("./aggregate-equality");
|
|
7
|
+
Object.defineProperty(exports, "AggregateEquality", { enumerable: true, get: function () { return aggregate_equality_1.AggregateEquality; } });
|
|
8
|
+
var aggregate_validation_orchestrator_1 = require("./aggregate-validation-orchestrator");
|
|
9
|
+
Object.defineProperty(exports, "AggregateValidationOrchestrator", { enumerable: true, get: function () { return aggregate_validation_orchestrator_1.AggregateValidationOrchestrator; } });
|
|
10
|
+
var aggregate_serializer_1 = require("./aggregate-serializer");
|
|
11
|
+
Object.defineProperty(exports, "AggregateSerializer", { enumerable: true, get: function () { return aggregate_serializer_1.AggregateSerializer; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrokenRule = void 0;
|
|
4
|
+
class BrokenRule {
|
|
5
|
+
constructor(property, message, severity) {
|
|
6
|
+
this.property = property;
|
|
7
|
+
this.message = message;
|
|
8
|
+
this.severity = severity;
|
|
9
|
+
this.property = property;
|
|
10
|
+
this.message = message;
|
|
11
|
+
this.severity = severity;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.BrokenRule = BrokenRule;
|
|
15
|
+
//# sourceMappingURL=broken-rule.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BrokenRule } from './broken-rule';
|
|
2
|
+
export declare class BrokenRulesExtension {
|
|
3
|
+
private static readonly BrokenRulesPropertyName;
|
|
4
|
+
static getPropertiesBrokenRules<T extends object>(instance: T, properties: Array<keyof T>): ReadonlyArray<BrokenRule>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=broken-rules-extension.d.ts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrokenRulesExtension = void 0;
|
|
4
|
+
class BrokenRulesExtension {
|
|
5
|
+
static getPropertiesBrokenRules(instance, properties) {
|
|
6
|
+
if (instance === null || instance === undefined) {
|
|
7
|
+
throw new Error('ArgumentNullException: instance cannot be null or undefined');
|
|
8
|
+
}
|
|
9
|
+
if (!properties) {
|
|
10
|
+
throw new Error('ArgumentNullException: properties cannot be null');
|
|
11
|
+
}
|
|
12
|
+
const result = [];
|
|
13
|
+
for (const key of properties) {
|
|
14
|
+
const valueObject = instance[key];
|
|
15
|
+
if (valueObject === null || valueObject === undefined) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const brokenRulesManager = valueObject[this.BrokenRulesPropertyName];
|
|
19
|
+
if (brokenRulesManager &&
|
|
20
|
+
typeof brokenRulesManager.getBrokenRules === 'function') {
|
|
21
|
+
const brokenRules = brokenRulesManager.getBrokenRules();
|
|
22
|
+
if (brokenRules.length > 0) {
|
|
23
|
+
result.push(...brokenRules);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return Object.freeze(result);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.BrokenRulesExtension = BrokenRulesExtension;
|
|
31
|
+
BrokenRulesExtension.BrokenRulesPropertyName = 'brokenRules';
|
|
32
|
+
//# sourceMappingURL=broken-rules-extension.js.map
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./broken-rule-collection"), exports);
|
|
18
17
|
__exportStar(require("./broken-rule"), exports);
|
|
18
|
+
__exportStar(require("./broken-rules-extension"), exports);
|
|
19
|
+
__exportStar(require("./property-change"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./notify-property-changed.base"), exports);
|
|
18
|
+
__exportStar(require("./notify-property-changed.context"), exports);
|
|
19
|
+
__exportStar(require("./notify-property-changed.context-args"), exports);
|
|
20
|
+
__exportStar(require("./reflection-type-extensions"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NotifyPropertyChangedContextArgs } from './notify-property-changed.context-args';
|
|
2
|
+
export type NotifyPropertyChangedHandler = (sender: AbstractNotifyPropertyChanged, e: NotifyPropertyChangedContextArgs) => void;
|
|
3
|
+
export declare abstract class AbstractNotifyPropertyChanged {
|
|
4
|
+
private readonly properties;
|
|
5
|
+
protected isCallbackInvokingEnabled: boolean;
|
|
6
|
+
protected isEventInvokingEnabled: boolean;
|
|
7
|
+
onPropertyChanged?: (propertyName: string) => void;
|
|
8
|
+
protected constructor();
|
|
9
|
+
protected registerProperty(name: string, type: any, defaultValue: any, handler?: NotifyPropertyChangedHandler): void;
|
|
10
|
+
registerPropertyChangedCallback(propertyName: string, handler: NotifyPropertyChangedHandler): void;
|
|
11
|
+
protected getValuePropertyChanged(propertyName: string): any;
|
|
12
|
+
protected setValuePropertyChanged(value: any, propertyName: string, force?: boolean): void;
|
|
13
|
+
private getPropertyContext;
|
|
14
|
+
private static validateValueForType;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=notify-property-changed.base.d.ts.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractNotifyPropertyChanged = void 0;
|
|
4
|
+
const notify_property_changed_context_1 = require("./notify-property-changed.context");
|
|
5
|
+
const notify_property_changed_context_args_1 = require("./notify-property-changed.context-args");
|
|
6
|
+
const reflection_type_extensions_1 = require("./reflection-type-extensions");
|
|
7
|
+
class AbstractNotifyPropertyChanged {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.properties = new Map();
|
|
10
|
+
this.isCallbackInvokingEnabled = true;
|
|
11
|
+
this.isEventInvokingEnabled = true;
|
|
12
|
+
}
|
|
13
|
+
registerProperty(name, type, defaultValue, handler) {
|
|
14
|
+
if (this.properties.has(name)) {
|
|
15
|
+
throw new Error(`This class already contains a registered property called '${name}'.`);
|
|
16
|
+
}
|
|
17
|
+
AbstractNotifyPropertyChanged.validateValueForType(defaultValue, type);
|
|
18
|
+
this.properties.set(name, new notify_property_changed_context_1.NotifyPropertyChangedContext(defaultValue, type, handler));
|
|
19
|
+
}
|
|
20
|
+
registerPropertyChangedCallback(propertyName, handler) {
|
|
21
|
+
const context = this.getPropertyContext(propertyName);
|
|
22
|
+
context.addCallback(handler);
|
|
23
|
+
}
|
|
24
|
+
getValuePropertyChanged(propertyName) {
|
|
25
|
+
return this.getPropertyContext(propertyName).value;
|
|
26
|
+
}
|
|
27
|
+
setValuePropertyChanged(value, propertyName, force = false) {
|
|
28
|
+
const context = this.getPropertyContext(propertyName);
|
|
29
|
+
AbstractNotifyPropertyChanged.validateValueForType(value, context.type);
|
|
30
|
+
const oldValue = context.value;
|
|
31
|
+
const valuesEqual = oldValue === value;
|
|
32
|
+
if (force || !valuesEqual) {
|
|
33
|
+
context.value = value;
|
|
34
|
+
if (this.isCallbackInvokingEnabled) {
|
|
35
|
+
context.invokePropertyChangedCallback(this, new notify_property_changed_context_args_1.NotifyPropertyChangedContextArgs(oldValue, value));
|
|
36
|
+
}
|
|
37
|
+
if (this.isEventInvokingEnabled && this.onPropertyChanged) {
|
|
38
|
+
this.onPropertyChanged(propertyName);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
getPropertyContext(propertyName) {
|
|
43
|
+
const context = this.properties.get(propertyName);
|
|
44
|
+
if (!context) {
|
|
45
|
+
throw new Error(`No hay una propiedad registrada llamada '${propertyName}'.`);
|
|
46
|
+
}
|
|
47
|
+
return context;
|
|
48
|
+
}
|
|
49
|
+
static validateValueForType(value, type) {
|
|
50
|
+
if (value === null || value === undefined) {
|
|
51
|
+
const isValueType = reflection_type_extensions_1.ReflectionTypeExtensions.getIsValueType(type);
|
|
52
|
+
if (isValueType) {
|
|
53
|
+
throw new Error(`El tipo '${type.name || type}' no es un tipo nulable.`);
|
|
54
|
+
}
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const sourceType = value.constructor;
|
|
58
|
+
if (!reflection_type_extensions_1.ReflectionTypeExtensions.getIsAssignableFrom(type, sourceType)) {
|
|
59
|
+
throw new Error(`El valor especificado no se puede asignar a una propiedad de tipo (${type.name || type})`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.AbstractNotifyPropertyChanged = AbstractNotifyPropertyChanged;
|
|
64
|
+
//# sourceMappingURL=notify-property-changed.base.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotifyPropertyChangedContextArgs = void 0;
|
|
4
|
+
class NotifyPropertyChangedContextArgs {
|
|
5
|
+
constructor(previousValue, newValue) {
|
|
6
|
+
this.previousValue = previousValue;
|
|
7
|
+
this.newValue = newValue;
|
|
8
|
+
this.handled = false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.NotifyPropertyChangedContextArgs = NotifyPropertyChangedContextArgs;
|
|
12
|
+
//# sourceMappingURL=notify-property-changed.context-args.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NotifyPropertyChangedContextArgs } from './notify-property-changed.context-args';
|
|
2
|
+
import { AbstractNotifyPropertyChanged, NotifyPropertyChangedHandler } from './notify-property-changed.base';
|
|
3
|
+
export declare class NotifyPropertyChangedContext {
|
|
4
|
+
value: any;
|
|
5
|
+
readonly type: any;
|
|
6
|
+
private readonly callbacks;
|
|
7
|
+
constructor(defaultValue: any, type: any, handler?: NotifyPropertyChangedHandler);
|
|
8
|
+
addCallback(handler: NotifyPropertyChangedHandler): void;
|
|
9
|
+
invokePropertyChangedCallback(sender: AbstractNotifyPropertyChanged, e: NotifyPropertyChangedContextArgs): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=notify-property-changed.context.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotifyPropertyChangedContext = void 0;
|
|
4
|
+
class NotifyPropertyChangedContext {
|
|
5
|
+
constructor(defaultValue, type, handler) {
|
|
6
|
+
this.callbacks = new Set();
|
|
7
|
+
this.value = defaultValue;
|
|
8
|
+
this.type = type;
|
|
9
|
+
if (handler) {
|
|
10
|
+
this.callbacks.add(handler);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
addCallback(handler) {
|
|
14
|
+
this.callbacks.add(handler);
|
|
15
|
+
}
|
|
16
|
+
invokePropertyChangedCallback(sender, e) {
|
|
17
|
+
this.callbacks.forEach((callback) => callback(sender, e));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.NotifyPropertyChangedContext = NotifyPropertyChangedContext;
|
|
21
|
+
//# sourceMappingURL=notify-property-changed.context.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReflectionTypeExtensions = void 0;
|
|
4
|
+
class ReflectionTypeExtensions {
|
|
5
|
+
static getIsValueType(type) {
|
|
6
|
+
if (!type)
|
|
7
|
+
return false;
|
|
8
|
+
const valueTypes = [String, Number, Boolean, Symbol, BigInt];
|
|
9
|
+
return valueTypes.includes(type);
|
|
10
|
+
}
|
|
11
|
+
static getIsAssignableFrom(targetType, sourceType) {
|
|
12
|
+
if (!targetType || !sourceType)
|
|
13
|
+
return false;
|
|
14
|
+
if (targetType === sourceType)
|
|
15
|
+
return true;
|
|
16
|
+
if (typeof sourceType === 'function' && typeof targetType === 'function') {
|
|
17
|
+
return sourceType.prototype instanceof targetType;
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.ReflectionTypeExtensions = ReflectionTypeExtensions;
|
|
23
|
+
//# sourceMappingURL=reflection-type-extensions.js.map
|
|
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("
|
|
20
|
-
__exportStar(require("
|
|
21
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./tracking-state"), exports);
|
|
18
|
+
__exportStar(require("./validator-rules"), exports);
|
|
19
|
+
__exportStar(require("./business-rules"), exports);
|
|
20
|
+
__exportStar(require("./repositories"), exports);
|
|
21
|
+
__exportStar(require("./aggregate"), exports);
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./repository-read.interface"), exports);
|
|
18
|
+
__exportStar(require("./repository-write.interface"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DddAggregateRoot } from "../../aggregate-root";
|
|
2
|
+
import { Primitives } from "../tracking-state";
|
|
3
|
+
export interface IDomainReadRepository<TKey extends Primitives, TDomain extends DddAggregateRoot<any, any>> {
|
|
4
|
+
find(): Promise<TDomain[]>;
|
|
5
|
+
findById(id: TKey): Promise<TDomain>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=repository-read.interface.d.ts.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export interface IDomainWriteRepository<TKey extends Primitives, TDomain extends
|
|
1
|
+
import { DddAggregateRoot } from "../../aggregate-root";
|
|
2
|
+
import { Primitives } from "../tracking-state";
|
|
3
|
+
export interface IDomainWriteRepository<TKey extends Primitives, TDomain extends DddAggregateRoot<any, any>> {
|
|
4
4
|
insert(entity: TDomain): Promise<void>;
|
|
5
5
|
insertBatch(entities: TDomain[]): Promise<void>;
|
|
6
6
|
update(id: TKey, entity: TDomain): Promise<void>;
|
|
7
7
|
delete(id: TKey): Promise<void>;
|
|
8
8
|
}
|
|
9
|
+
//# sourceMappingURL=repository-write.interface.d.ts.map
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./observable-bus"), exports);
|
|
18
|
-
__exportStar(require("./of-type"), exports);
|
|
19
17
|
__exportStar(require("./tracking-props"), exports);
|
|
18
|
+
__exportStar(require("./nested-property-change-detector"), exports);
|
|
19
|
+
__exportStar(require("./tracking-state-transition"), exports);
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IChangeDetector, ITrackingStateManager } from '../interfaces';
|
|
2
|
+
export declare class NestedPropertyChangeDetector implements IChangeDetector {
|
|
3
|
+
private static readonly TrackingKeyName;
|
|
4
|
+
private validateProps;
|
|
5
|
+
private processTrackingValue;
|
|
6
|
+
detectChanges<TProp>(props: TProp, trackingStateManager: ITrackingStateManager): ITrackingStateManager;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=nested-property-change-detector.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NestedPropertyChangeDetector = void 0;
|
|
4
|
+
class NestedPropertyChangeDetector {
|
|
5
|
+
validateProps(props) {
|
|
6
|
+
if (!props) {
|
|
7
|
+
throw new Error('ArgumentNullException: props cannot be null');
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
processTrackingValue(value, trackingStateManager) {
|
|
11
|
+
if (value === null || typeof value !== 'object') {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const trackingValue = value[NestedPropertyChangeDetector.TrackingKeyName];
|
|
15
|
+
if (!trackingValue) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (trackingValue.isDirty)
|
|
19
|
+
trackingStateManager.markAsDirty();
|
|
20
|
+
if (trackingValue.isNew)
|
|
21
|
+
trackingStateManager.markAsNew();
|
|
22
|
+
if (trackingValue.isSelfDeleted)
|
|
23
|
+
trackingStateManager.markAsSelfDeleted();
|
|
24
|
+
if (trackingValue.isDeleted)
|
|
25
|
+
trackingStateManager.markAsDeleted();
|
|
26
|
+
}
|
|
27
|
+
detectChanges(props, trackingStateManager) {
|
|
28
|
+
this.validateProps(props);
|
|
29
|
+
trackingStateManager.markAsClean();
|
|
30
|
+
Object.keys(props).forEach((key) => {
|
|
31
|
+
this.processTrackingValue(props[key], trackingStateManager);
|
|
32
|
+
});
|
|
33
|
+
return trackingStateManager;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.NestedPropertyChangeDetector = NestedPropertyChangeDetector;
|
|
37
|
+
NestedPropertyChangeDetector.TrackingKeyName = 'Tracking';
|
|
38
|
+
//# sourceMappingURL=nested-property-change-detector.js.map
|
|
@@ -3,7 +3,10 @@ export declare class TrackingProps implements ITrackingProps {
|
|
|
3
3
|
isDirty: boolean;
|
|
4
4
|
isNew: boolean;
|
|
5
5
|
isDeleted: boolean;
|
|
6
|
+
isSelfDeleted: boolean;
|
|
6
7
|
static setNew(): TrackingProps;
|
|
7
8
|
static setDirty(): TrackingProps;
|
|
8
9
|
static setDeleted(): TrackingProps;
|
|
10
|
+
static setSelfDeleted(): TrackingProps;
|
|
9
11
|
}
|
|
12
|
+
//# sourceMappingURL=tracking-props.d.ts.map
|
|
@@ -7,6 +7,7 @@ class TrackingProps {
|
|
|
7
7
|
isDirty: false,
|
|
8
8
|
isNew: true,
|
|
9
9
|
isDeleted: false,
|
|
10
|
+
isSelfDeleted: false,
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
13
|
static setDirty() {
|
|
@@ -14,6 +15,7 @@ class TrackingProps {
|
|
|
14
15
|
isDirty: true,
|
|
15
16
|
isNew: false,
|
|
16
17
|
isDeleted: false,
|
|
18
|
+
isSelfDeleted: false,
|
|
17
19
|
};
|
|
18
20
|
}
|
|
19
21
|
static setDeleted() {
|
|
@@ -21,6 +23,15 @@ class TrackingProps {
|
|
|
21
23
|
isDirty: false,
|
|
22
24
|
isNew: false,
|
|
23
25
|
isDeleted: true,
|
|
26
|
+
isSelfDeleted: false,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
static setSelfDeleted() {
|
|
30
|
+
return {
|
|
31
|
+
isDirty: false,
|
|
32
|
+
isNew: false,
|
|
33
|
+
isDeleted: false,
|
|
34
|
+
isSelfDeleted: true,
|
|
24
35
|
};
|
|
25
36
|
}
|
|
26
37
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ITrackingStateTransitions } from '../interfaces/itracking-state-transitions';
|
|
2
|
+
export declare class TrackingStateTransition {
|
|
3
|
+
private static applyTransition;
|
|
4
|
+
static toDirty(manager: ITrackingStateTransitions): void;
|
|
5
|
+
static toNew(manager: ITrackingStateTransitions): void;
|
|
6
|
+
static toSelfDeleted(manager: ITrackingStateTransitions): void;
|
|
7
|
+
static toDeleted(manager: ITrackingStateTransitions): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=tracking-state-transition.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrackingStateTransition = void 0;
|
|
4
|
+
class TrackingStateTransition {
|
|
5
|
+
static applyTransition(manager, stateUpdate) {
|
|
6
|
+
manager.setDirty(false);
|
|
7
|
+
manager.setNew(false);
|
|
8
|
+
manager.setSelfDeleted(false);
|
|
9
|
+
manager.setDeleted(false);
|
|
10
|
+
stateUpdate(manager);
|
|
11
|
+
}
|
|
12
|
+
static toDirty(manager) {
|
|
13
|
+
this.applyTransition(manager, (m) => {
|
|
14
|
+
m.setDirty(true);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
static toNew(manager) {
|
|
18
|
+
this.applyTransition(manager, (m) => {
|
|
19
|
+
m.setNew(true);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
static toSelfDeleted(manager) {
|
|
23
|
+
this.applyTransition(manager, (m) => {
|
|
24
|
+
m.setSelfDeleted(true);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
static toDeleted(manager) {
|
|
28
|
+
this.applyTransition(manager, (m) => {
|
|
29
|
+
m.setDeleted(true);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.TrackingStateTransition = TrackingStateTransition;
|
|
34
|
+
//# sourceMappingURL=tracking-state-transition.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ITrackingStateManager } from './itracking-state-manager';
|
|
2
|
+
export interface IProps {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}
|
|
5
|
+
export interface IChangeDetector {
|
|
6
|
+
detectChanges<TProp extends IProps>(props: TProp, trackingStateManager: ITrackingStateManager): ITrackingStateManager;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=ichange-detector.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./itracking-props"), exports);
|
|
18
|
+
__exportStar(require("./idomain-primitive"), exports);
|
|
19
|
+
__exportStar(require("./itracking-state-manager"), exports);
|
|
20
|
+
__exportStar(require("./itracking-state-transitions"), exports);
|
|
21
|
+
__exportStar(require("./ichange-detector"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|