Versions in this module Expand all Collapse all v1 v1.0.0 Mar 26, 2023 Changes in this version + var ErrFirstArgHasInvalidType = errors.New("first input argument must have context.Context type") + var ErrInvalidUseCaseRunnerSignature = errors.New("useCaseRunner must have 3 input params") + var ErrResultTypeMismatch = errors.New("result type mismatch") + var ErrSecondArgHasInvalidType = errors.New("second input argument must implement Request interface") + var ErrThirdArgHasInvalidType = errors.New("third input argument must implement Response interface") + var ErrUseCaseRunnerIsNotAFunction = errors.New("useCaseRunner is not a function") + var ErrUseCaseRunnerNotFound = errors.New("use case runner not registered for the given request type") + type Dispatcher struct + func NewDispatcher() *Dispatcher + func (d *Dispatcher) Register(request Request, runner UseCaseRunnerFn) + func (d *Dispatcher) Run(ctx context.Context, req Request, resp Response) error + type Request interface + type Response interface + type UseCaseRunner interface + Run func(ctx context.Context, req Request, resp Response) error + type UseCaseRunnerFn func(ctx context.Context, req Request, resp Response) error + func Adapt(fn interface{}) (UseCaseRunnerFn, error) + func MustAdapt(fn interface{}) UseCaseRunnerFn + func (fn UseCaseRunnerFn) Run(ctx context.Context, req Request, resp Response) error Other modules containing this package github.com/screwyprof/interactor/v2