minor improvements and simplifications

This commit is contained in:
Helmut Merz 2023-07-25 19:32:49 +02:00
parent d0f2fbc346
commit cd8982ada0
3 changed files with 5 additions and 8 deletions

View file

@ -21,13 +21,14 @@ func (spec *baseSpec) Receivers() []lib.Addressable {
return spec.receivers return spec.receivers
} }
func (spec *baseSpec) AddReceiver(rcv lib.Addressable) { func (spec *baseSpec) AddReceiver(rcv lib.Addressable) lib.ActionSpec {
for _, r := range spec.receivers { for _, r := range spec.receivers {
if r == rcv { if r == rcv {
return return spec
} }
} }
spec.receivers = append(spec.receivers, rcv) spec.receivers = append(spec.receivers, rcv)
return spec
} }
func Base(hdlr lib.ActionHandler, rcvs ...string) *baseSpec { func Base(hdlr lib.ActionHandler, rcvs ...string) *baseSpec {
@ -38,10 +39,6 @@ func Base(hdlr lib.ActionHandler, rcvs ...string) *baseSpec {
return &spec return &spec
} }
func BaseA(hdlr lib.ActionHandler, rcvs ...lib.Addressable) *baseSpec {
return &baseSpec{hdlr, rcvs}
}
// action selection // action selection
func Select(ctx lib.Context, msg lib.Message) []lib.Action { func Select(ctx lib.Context, msg lib.Message) []lib.Action {

View file

@ -40,7 +40,7 @@ func connect(src, tgt lib.Context, msg lib.Message) {
} }
} }
} }
cfg.AddAction(pattern, action.BaseA(handle, tgt)) cfg.AddAction(pattern, action.Base(handle).AddReceiver(tgt))
} }
func handle(act lib.Action) bool { func handle(act lib.Action) bool {

View file

@ -83,7 +83,7 @@ type Action interface {
type ActionSpec interface { type ActionSpec interface {
Handler() ActionHandler Handler() ActionHandler
Receivers() []Addressable Receivers() []Addressable
AddReceiver(Addressable) AddReceiver(Addressable) ActionSpec
} }
// procedures and handlers // procedures and handlers