Versions in this module Expand all Collapse all v0 v0.1.0 Aug 16, 2024 Changes in this version + type Chain struct + func New[I, O any](input *I, output *O) *Chain[I, O] + func (c *Chain[I, O]) Execute() (*O, error) + func (c *Chain[I, O]) Parallel(fns ...HandleFunc[I, O]) *Chain[I, O] + func (c *Chain[I, O]) Serial(fns ...HandleFunc[I, O]) *Chain[I, O] + func (c *Chain[I, O]) Use(interceptors ...Interceptor[I, O]) *Chain[I, O] + func (c *Chain[I, O]) WithContext(ctx context.Context) *Chain[I, O] + func (c *Chain[I, O]) WithMaxGoroutines(max int) *Chain[I, O] + func (c *Chain[I, O]) WithTimeout(d time.Duration) *Chain[I, O] + type HandleFunc func(context.Context, *State[I, O]) error + func LogInterceptor[I, O any](fn HandleFunc[I, O]) HandleFunc[I, O] + func RecoverInterceptor[I, O any](fn HandleFunc[I, O]) HandleFunc[I, O] + type Interceptor func(HandleFunc[I, O]) HandleFunc[I, O] + type State struct + func (s *State[I, O]) Input() I + func (s *State[I, O]) Output() O + func (s *State[I, O]) SetOutput(fn func(*O))