CodelyTV/typescript-ddd-example

[Question] - Error de dependencia circular en application service con commandBus

DiV666 opened this issue · 2 comments

Tengo un commandBus en el controller y además necesito un commandBus en el aplication service para poder lanzar un caso de uso de otro módulo dentro del mismo context, pero al añadir ese segundo commandBus me salta el error: RangeError: Maximum call stack size exceeded

No estoy muy familiarizado con la inyección de dependencias y no sabría como solucionar este problema de dependencia circular,
¿Hay alguna forma de solucionarlo?

Muchas gracias.

Parece que está dependencia circular está al inyectar el caso de uso en el commandHandler y el CommandBus en el caso de uso:

  Mooc.courses.CourseCreator:
    class: ../../../../../Contexts/Mooc/Courses/application/CourseCreator
    arguments: ['@Mooc.courses.CourseRepository', '@Shared.CommandBus', '@Shared.EventBus']

  Mooc.courses.CreateCourseCommandHandler:
    class: ../../../../../Contexts/Mooc/Courses/application/CreateCourseCommandHandler
    arguments: ['@Mooc.courses.CourseCreator']
    tags:
      - { name: 'commandHandler' }

¿Cómo sería la mejor forma de hacer esta inyección de dependencias dentro del caso de uso?

En las issues de la propia librería se abrió este mismo caso, te dejo la solución por acá
zazoomauro/node-dependency-injection#167