diff --git a/internal/config/config.go b/internal/config/config.go index 8d3c33a..f0ce83a 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,7 +1,5 @@ package config -import "github.com/jwetzell/showbridge-go/internal/processing" - type Config struct { Modules []ModuleConfig `json:"modules"` Routes []RouteConfig `json:"routes"` @@ -14,7 +12,12 @@ type ModuleConfig struct { } type RouteConfig struct { - Input string `json:"input"` - Processors []processing.ProcessorConfig `json:"processors"` - Output string `json:"output"` + Input string `json:"input"` + Processors []ProcessorConfig `json:"processors"` + Output string `json:"output"` +} + +type ProcessorConfig struct { + Type string `json:"type"` + Params map[string]any `json:"params"` } diff --git a/internal/module/mqtt-client.go b/internal/module/mqtt-client.go index c865152..26d4980 100644 --- a/internal/module/mqtt-client.go +++ b/internal/module/mqtt-client.go @@ -7,7 +7,7 @@ import ( mqtt "github.com/eclipse/paho.mqtt.golang" "github.com/jwetzell/showbridge-go/internal/config" - "github.com/jwetzell/showbridge-go/internal/processing" + "github.com/jwetzell/showbridge-go/internal/processor" "github.com/jwetzell/showbridge-go/internal/route" ) @@ -105,7 +105,7 @@ func (mc *MQTTClient) Run() error { } func (mc *MQTTClient) Output(payload any) error { - payloadMessage, ok := payload.(processing.MQTTMessage) + payloadMessage, ok := payload.(processor.MQTTMessage) if !ok { return fmt.Errorf("net.mqtt.client is only able to output a MQTTMessage") diff --git a/internal/module/nats-client.go b/internal/module/nats-client.go index 7015828..2e7d9a0 100644 --- a/internal/module/nats-client.go +++ b/internal/module/nats-client.go @@ -6,7 +6,7 @@ import ( "log/slog" "github.com/jwetzell/showbridge-go/internal/config" - "github.com/jwetzell/showbridge-go/internal/processing" + "github.com/jwetzell/showbridge-go/internal/processor" "github.com/jwetzell/showbridge-go/internal/route" "github.com/nats-io/nats.go" ) @@ -93,7 +93,7 @@ func (nc *NATSClient) Run() error { func (nc *NATSClient) Output(payload any) error { - payloadMessage, ok := payload.(processing.NATSMessage) + payloadMessage, ok := payload.(processor.NATSMessage) if !ok { return fmt.Errorf("net.nats.client is only able to output NATSMessage") diff --git a/internal/processing/debug-log.go b/internal/processor/debug-log.go similarity index 72% rename from internal/processing/debug-log.go rename to internal/processor/debug-log.go index 92bbcaf..125ebec 100644 --- a/internal/processing/debug-log.go +++ b/internal/processor/debug-log.go @@ -1,13 +1,15 @@ -package processing +package processor import ( "context" "fmt" "log/slog" + + "github.com/jwetzell/showbridge-go/internal/config" ) type DebugLog struct { - config ProcessorConfig + config config.ProcessorConfig } func (dl *DebugLog) Process(ctx context.Context, payload any) (any, error) { @@ -22,7 +24,7 @@ func (dl *DebugLog) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "debug.log", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &DebugLog{config: config}, nil }, }) diff --git a/internal/processing/float-parse.go b/internal/processor/float-parse.go similarity index 79% rename from internal/processing/float-parse.go rename to internal/processor/float-parse.go index d325c2e..e399375 100644 --- a/internal/processing/float-parse.go +++ b/internal/processor/float-parse.go @@ -1,13 +1,15 @@ -package processing +package processor import ( "context" "fmt" "strconv" + + "github.com/jwetzell/showbridge-go/internal/config" ) type FloatParse struct { - config ProcessorConfig + config config.ProcessorConfig } func (fp *FloatParse) Process(ctx context.Context, payload any) (any, error) { @@ -32,7 +34,7 @@ func (fp *FloatParse) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "float.parse", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &FloatParse{config: config}, nil }, }) diff --git a/internal/processing/free-d-create.go b/internal/processor/free-d-create.go similarity index 97% rename from internal/processing/free-d-create.go rename to internal/processor/free-d-create.go index 14bfeac..d5a5a00 100644 --- a/internal/processing/free-d-create.go +++ b/internal/processor/free-d-create.go @@ -1,4 +1,4 @@ -package processing +package processor import ( "bytes" @@ -8,10 +8,11 @@ import ( "text/template" freeD "github.com/jwetzell/free-d-go" + "github.com/jwetzell/showbridge-go/internal/config" ) type FreeDCreate struct { - config ProcessorConfig + config config.ProcessorConfig Id *template.Template Pan *template.Template Tilt *template.Template @@ -178,7 +179,7 @@ func (fc *FreeDCreate) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "freed.create", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { // TODO(jwetzell): make some params optional params := config.Params diff --git a/internal/processing/free-d-decode.go b/internal/processor/free-d-decode.go similarity index 80% rename from internal/processing/free-d-decode.go rename to internal/processor/free-d-decode.go index 73575db..1fccd04 100644 --- a/internal/processing/free-d-decode.go +++ b/internal/processor/free-d-decode.go @@ -1,4 +1,4 @@ -package processing +package processor import ( "context" @@ -6,10 +6,11 @@ import ( "log/slog" freeD "github.com/jwetzell/free-d-go" + "github.com/jwetzell/showbridge-go/internal/config" ) type FreeDDecode struct { - config ProcessorConfig + config config.ProcessorConfig } func (fdd *FreeDDecode) Process(ctx context.Context, payload any) (any, error) { @@ -33,7 +34,7 @@ func (fdd *FreeDDecode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "freed.decode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &FreeDDecode{config: config}, nil }, }) diff --git a/internal/processing/free-d-encode.go b/internal/processor/free-d-encode.go similarity index 78% rename from internal/processing/free-d-encode.go rename to internal/processor/free-d-encode.go index 665f6ac..0509eea 100644 --- a/internal/processing/free-d-encode.go +++ b/internal/processor/free-d-encode.go @@ -1,14 +1,15 @@ -package processing +package processor import ( "context" "fmt" freeD "github.com/jwetzell/free-d-go" + "github.com/jwetzell/showbridge-go/internal/config" ) type FreeDEncode struct { - config ProcessorConfig + config config.ProcessorConfig } func (fde *FreeDEncode) Process(ctx context.Context, payload any) (any, error) { @@ -29,7 +30,7 @@ func (fde *FreeDEncode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "freed.encode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &FreeDEncode{config: config}, nil }, }) diff --git a/internal/processing/http-request-create.go b/internal/processor/http-request-create.go similarity index 89% rename from internal/processing/http-request-create.go rename to internal/processor/http-request-create.go index 7b9cf1e..d69e82e 100644 --- a/internal/processing/http-request-create.go +++ b/internal/processor/http-request-create.go @@ -1,4 +1,4 @@ -package processing +package processor import ( "bytes" @@ -6,10 +6,12 @@ import ( "fmt" "net/http" "text/template" + + "github.com/jwetzell/showbridge-go/internal/config" ) type HTTPRequestCreate struct { - config ProcessorConfig + config config.ProcessorConfig Method string URL *template.Template } @@ -42,7 +44,7 @@ func (hre *HTTPRequestCreate) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "http.request.create", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params method, ok := params["method"] diff --git a/internal/processing/http-request-encode.go b/internal/processor/http-request-encode.go similarity index 79% rename from internal/processing/http-request-encode.go rename to internal/processor/http-request-encode.go index 266cbdd..549560e 100644 --- a/internal/processing/http-request-encode.go +++ b/internal/processor/http-request-encode.go @@ -1,14 +1,16 @@ -package processing +package processor import ( "context" "fmt" "io" "net/http" + + "github.com/jwetzell/showbridge-go/internal/config" ) type HTTPRequestEncode struct { - config ProcessorConfig + config config.ProcessorConfig } func (hre *HTTPRequestEncode) Process(ctx context.Context, payload any) (any, error) { @@ -33,7 +35,7 @@ func (hre *HTTPRequestEncode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "http.request.encode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &HTTPRequestEncode{config: config}, nil }, }) diff --git a/internal/processing/http-request-filter.go b/internal/processor/http-request-filter.go similarity index 89% rename from internal/processing/http-request-filter.go rename to internal/processor/http-request-filter.go index 6eb26c1..13cd135 100644 --- a/internal/processing/http-request-filter.go +++ b/internal/processor/http-request-filter.go @@ -1,14 +1,16 @@ -package processing +package processor import ( "context" "fmt" "net/http" "regexp" + + "github.com/jwetzell/showbridge-go/internal/config" ) type HTTPRequestFilter struct { - config ProcessorConfig + config config.ProcessorConfig Path *regexp.Regexp Method string } @@ -41,7 +43,7 @@ func (hrf *HTTPRequestFilter) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "http.request.filter", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params path, ok := params["path"] diff --git a/internal/processing/http-response-encode.go b/internal/processor/http-response-encode.go similarity index 80% rename from internal/processing/http-response-encode.go rename to internal/processor/http-response-encode.go index ee96c7d..9441f70 100644 --- a/internal/processing/http-response-encode.go +++ b/internal/processor/http-response-encode.go @@ -1,14 +1,16 @@ -package processing +package processor import ( "context" "fmt" "io" "net/http" + + "github.com/jwetzell/showbridge-go/internal/config" ) type HTTPResponseEncode struct { - config ProcessorConfig + config config.ProcessorConfig } func (hre *HTTPResponseEncode) Process(ctx context.Context, payload any) (any, error) { @@ -34,7 +36,7 @@ func (hre *HTTPResponseEncode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "http.response.encode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &HTTPResponseEncode{config: config}, nil }, }) diff --git a/internal/processing/int-parse.go b/internal/processor/int-parse.go similarity index 79% rename from internal/processing/int-parse.go rename to internal/processor/int-parse.go index 9702ddb..f5e0fab 100644 --- a/internal/processing/int-parse.go +++ b/internal/processor/int-parse.go @@ -1,13 +1,15 @@ -package processing +package processor import ( "context" "fmt" "strconv" + + "github.com/jwetzell/showbridge-go/internal/config" ) type IntParse struct { - config ProcessorConfig + config config.ProcessorConfig } func (ip *IntParse) Process(ctx context.Context, payload any) (any, error) { @@ -32,7 +34,7 @@ func (ip *IntParse) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "int.parse", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &IntParse{config: config}, nil }, }) diff --git a/internal/processing/midi-message-decode.go b/internal/processor/midi-message-decode.go similarity index 79% rename from internal/processing/midi-message-decode.go rename to internal/processor/midi-message-decode.go index d3b9556..a6fccec 100644 --- a/internal/processing/midi-message-decode.go +++ b/internal/processor/midi-message-decode.go @@ -1,16 +1,17 @@ //go:build cgo -package processing +package processor import ( "context" "fmt" + "github.com/jwetzell/showbridge-go/internal/config" "gitlab.com/gomidi/midi/v2" ) type MIDIMessageDecode struct { - config ProcessorConfig + config config.ProcessorConfig } func (mmd *MIDIMessageDecode) Process(ctx context.Context, payload any) (any, error) { @@ -32,7 +33,7 @@ func (mmd *MIDIMessageDecode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "midi.message.decode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &MIDIMessageDecode{config: config}, nil }, }) diff --git a/internal/processing/midi-message-encode.go b/internal/processor/midi-message-encode.go similarity index 78% rename from internal/processing/midi-message-encode.go rename to internal/processor/midi-message-encode.go index 56a7da1..4c0f2d4 100644 --- a/internal/processing/midi-message-encode.go +++ b/internal/processor/midi-message-encode.go @@ -1,16 +1,17 @@ //go:build cgo -package processing +package processor import ( "context" "fmt" + "github.com/jwetzell/showbridge-go/internal/config" "gitlab.com/gomidi/midi/v2" ) type MIDIMessageEncode struct { - config ProcessorConfig + config config.ProcessorConfig } func (mme *MIDIMessageEncode) Process(ctx context.Context, payload any) (any, error) { @@ -30,7 +31,7 @@ func (mme *MIDIMessageEncode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "midi.message.encode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &MIDIMessageEncode{config: config}, nil }, }) diff --git a/internal/processing/mqtt-message-create.go b/internal/processor/mqtt-message-create.go similarity index 91% rename from internal/processing/mqtt-message-create.go rename to internal/processor/mqtt-message-create.go index a7db56d..ef9996e 100644 --- a/internal/processing/mqtt-message-create.go +++ b/internal/processor/mqtt-message-create.go @@ -1,8 +1,10 @@ -package processing +package processor import ( "context" "fmt" + + "github.com/jwetzell/showbridge-go/internal/config" ) type MQTTMessage struct { @@ -13,7 +15,7 @@ type MQTTMessage struct { } type MQTTMessageCreate struct { - config ProcessorConfig + config config.ProcessorConfig Topic string QoS byte Retained bool @@ -39,7 +41,7 @@ func (mmc *MQTTMessageCreate) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "mqtt.message.create", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params topic, ok := params["topic"] diff --git a/internal/processing/mqtt-message-encode.go b/internal/processor/mqtt-message-encode.go similarity index 78% rename from internal/processing/mqtt-message-encode.go rename to internal/processor/mqtt-message-encode.go index 0dbc6e0..7ec7b4b 100644 --- a/internal/processing/mqtt-message-encode.go +++ b/internal/processor/mqtt-message-encode.go @@ -1,14 +1,15 @@ -package processing +package processor import ( "context" "fmt" mqtt "github.com/eclipse/paho.mqtt.golang" + "github.com/jwetzell/showbridge-go/internal/config" ) type MQTTMessageEncode struct { - config ProcessorConfig + config config.ProcessorConfig } func (mme *MQTTMessageEncode) Process(ctx context.Context, payload any) (any, error) { @@ -28,7 +29,7 @@ func (mme *MQTTMessageEncode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "mqtt.message.encode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &MQTTMessageEncode{config: config}, nil }, }) diff --git a/internal/processing/nats-message-create.go b/internal/processor/nats-message-create.go similarity index 90% rename from internal/processing/nats-message-create.go rename to internal/processor/nats-message-create.go index 54bbb0a..58deec3 100644 --- a/internal/processing/nats-message-create.go +++ b/internal/processor/nats-message-create.go @@ -1,10 +1,12 @@ -package processing +package processor import ( "bytes" "context" "fmt" "text/template" + + "github.com/jwetzell/showbridge-go/internal/config" ) type NATSMessage struct { @@ -13,7 +15,7 @@ type NATSMessage struct { } type NATSMessageCreate struct { - config ProcessorConfig + config config.ProcessorConfig Subject string Payload *template.Template } @@ -44,7 +46,7 @@ func (nmc *NATSMessageCreate) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "nats.message.create", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params // TODO(jwetzell): support template for subject subject, ok := params["subject"] diff --git a/internal/processing/nats-message-encode.go b/internal/processor/nats-message-encode.go similarity index 77% rename from internal/processing/nats-message-encode.go rename to internal/processor/nats-message-encode.go index f36aa2c..f1357a0 100644 --- a/internal/processing/nats-message-encode.go +++ b/internal/processor/nats-message-encode.go @@ -1,14 +1,15 @@ -package processing +package processor import ( "context" "fmt" + "github.com/jwetzell/showbridge-go/internal/config" "github.com/nats-io/nats.go" ) type NATSMessageEncode struct { - config ProcessorConfig + config config.ProcessorConfig } func (nme *NATSMessageEncode) Process(ctx context.Context, payload any) (any, error) { @@ -28,7 +29,7 @@ func (nme *NATSMessageEncode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "nats.message.encode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &NATSMessageEncode{config: config}, nil }, }) diff --git a/internal/processing/osc-message-create.go b/internal/processor/osc-message-create.go similarity index 96% rename from internal/processing/osc-message-create.go rename to internal/processor/osc-message-create.go index 5f3869e..6dbf1d2 100644 --- a/internal/processing/osc-message-create.go +++ b/internal/processor/osc-message-create.go @@ -1,4 +1,4 @@ -package processing +package processor import ( "bytes" @@ -9,10 +9,11 @@ import ( "text/template" "github.com/jwetzell/osc-go" + "github.com/jwetzell/showbridge-go/internal/config" ) type OSCMessageCreate struct { - config ProcessorConfig + config config.ProcessorConfig Address *template.Template Args []*template.Template Types string @@ -76,7 +77,7 @@ func (o *OSCMessageCreate) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "osc.message.create", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params address, ok := params["address"] diff --git a/internal/processing/osc-message-decode.go b/internal/processor/osc-message-decode.go similarity index 84% rename from internal/processing/osc-message-decode.go rename to internal/processor/osc-message-decode.go index 7bdaf40..cd08e6b 100644 --- a/internal/processing/osc-message-decode.go +++ b/internal/processor/osc-message-decode.go @@ -1,14 +1,15 @@ -package processing +package processor import ( "context" "fmt" osc "github.com/jwetzell/osc-go" + "github.com/jwetzell/showbridge-go/internal/config" ) type OSCMessageDecode struct { - config ProcessorConfig + config config.ProcessorConfig } func (o *OSCMessageDecode) Process(ctx context.Context, payload any) (any, error) { @@ -40,7 +41,7 @@ func (o *OSCMessageDecode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "osc.message.decode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &OSCMessageDecode{config: config}, nil }, }) diff --git a/internal/processing/osc-message-encode.go b/internal/processor/osc-message-encode.go similarity index 78% rename from internal/processing/osc-message-encode.go rename to internal/processor/osc-message-encode.go index 76390a5..6b16526 100644 --- a/internal/processing/osc-message-encode.go +++ b/internal/processor/osc-message-encode.go @@ -1,14 +1,15 @@ -package processing +package processor import ( "context" "fmt" osc "github.com/jwetzell/osc-go" + "github.com/jwetzell/showbridge-go/internal/config" ) type OSCMessageEncode struct { - config ProcessorConfig + config config.ProcessorConfig } func (o *OSCMessageEncode) Process(ctx context.Context, payload any) (any, error) { @@ -29,7 +30,7 @@ func (o *OSCMessageEncode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "osc.message.encode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &OSCMessageEncode{config: config}, nil }, }) diff --git a/internal/processing/osc-message-filter.go b/internal/processor/osc-message-filter.go similarity index 90% rename from internal/processing/osc-message-filter.go rename to internal/processor/osc-message-filter.go index da1bc9e..8ddd6ef 100644 --- a/internal/processing/osc-message-filter.go +++ b/internal/processor/osc-message-filter.go @@ -1,4 +1,4 @@ -package processing +package processor import ( "context" @@ -7,10 +7,11 @@ import ( "strings" "github.com/jwetzell/osc-go" + "github.com/jwetzell/showbridge-go/internal/config" ) type OSCMessageFilter struct { - config ProcessorConfig + config config.ProcessorConfig Address *regexp.Regexp } @@ -36,7 +37,7 @@ func (o *OSCMessageFilter) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "osc.message.filter", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params address, ok := params["address"] diff --git a/internal/processing/osc-message-transform.go b/internal/processor/osc-message-transform.go similarity index 90% rename from internal/processing/osc-message-transform.go rename to internal/processor/osc-message-transform.go index db8f746..03fd242 100644 --- a/internal/processing/osc-message-transform.go +++ b/internal/processor/osc-message-transform.go @@ -1,4 +1,4 @@ -package processing +package processor import ( "bytes" @@ -7,10 +7,11 @@ import ( "text/template" osc "github.com/jwetzell/osc-go" + "github.com/jwetzell/showbridge-go/internal/config" ) type OSCMessageTransform struct { - config ProcessorConfig + config config.ProcessorConfig Address *template.Template } @@ -51,7 +52,7 @@ func (o *OSCMessageTransform) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "osc.message.transform", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params address, ok := params["address"] diff --git a/internal/processing/processor.go b/internal/processor/processor.go similarity index 81% rename from internal/processing/processor.go rename to internal/processor/processor.go index 16e362f..026b481 100644 --- a/internal/processing/processor.go +++ b/internal/processor/processor.go @@ -1,9 +1,11 @@ -package processing +package processor import ( "context" "fmt" "sync" + + "github.com/jwetzell/showbridge-go/internal/config" ) type Processor interface { @@ -11,14 +13,9 @@ type Processor interface { Process(context.Context, any) (any, error) } -type ProcessorConfig struct { - Type string `json:"type"` - Params map[string]any `json:"params"` -} - type ProcessorRegistration struct { Type string `json:"type"` - New func(ProcessorConfig) (Processor, error) + New func(config.ProcessorConfig) (Processor, error) } func RegisterProcessor(processor ProcessorRegistration) { diff --git a/internal/processing/script-expr.go b/internal/processor/script-expr.go similarity index 86% rename from internal/processing/script-expr.go rename to internal/processor/script-expr.go index 112dfeb..380a0d5 100644 --- a/internal/processing/script-expr.go +++ b/internal/processor/script-expr.go @@ -1,4 +1,4 @@ -package processing +package processor import ( "context" @@ -6,11 +6,12 @@ import ( "github.com/expr-lang/expr" "github.com/expr-lang/expr/vm" + "github.com/jwetzell/showbridge-go/internal/config" ) // NOTE(jwetzell): see language definition https://expr-lang.org/docs/language-definition type ScriptExpr struct { - config ProcessorConfig + config config.ProcessorConfig Program *vm.Program } @@ -31,7 +32,7 @@ func (se *ScriptExpr) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "script.expr", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params expression, ok := params["expression"] diff --git a/internal/processing/script-js.go b/internal/processor/script-js.go similarity index 89% rename from internal/processing/script-js.go rename to internal/processor/script-js.go index e23dd7a..36da56c 100644 --- a/internal/processing/script-js.go +++ b/internal/processor/script-js.go @@ -1,15 +1,16 @@ -package processing +package processor import ( "context" "encoding/json" "fmt" + "github.com/jwetzell/showbridge-go/internal/config" "modernc.org/quickjs" ) type ScriptJS struct { - config ProcessorConfig + config config.ProcessorConfig Program string } @@ -67,7 +68,7 @@ func (sj *ScriptJS) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "script.js", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params program, ok := params["program"] diff --git a/internal/processing/string-create.go b/internal/processor/string-create.go similarity index 85% rename from internal/processing/string-create.go rename to internal/processor/string-create.go index ba9e257..089d917 100644 --- a/internal/processing/string-create.go +++ b/internal/processor/string-create.go @@ -1,14 +1,16 @@ -package processing +package processor import ( "bytes" "context" "fmt" "text/template" + + "github.com/jwetzell/showbridge-go/internal/config" ) type StringCreate struct { - config ProcessorConfig + config config.ProcessorConfig Template *template.Template } @@ -32,7 +34,7 @@ func (sc *StringCreate) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "string.create", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params tmpl, ok := params["template"] diff --git a/internal/processing/string-decode.go b/internal/processor/string-decode.go similarity index 76% rename from internal/processing/string-decode.go rename to internal/processor/string-decode.go index 22d984c..1750cfe 100644 --- a/internal/processing/string-decode.go +++ b/internal/processor/string-decode.go @@ -1,12 +1,14 @@ -package processing +package processor import ( "context" "fmt" + + "github.com/jwetzell/showbridge-go/internal/config" ) type StringDecode struct { - config ProcessorConfig + config config.ProcessorConfig } func (sd *StringDecode) Process(ctx context.Context, payload any) (any, error) { @@ -28,7 +30,7 @@ func (sd *StringDecode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "string.decode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &StringDecode{config: config}, nil }, }) diff --git a/internal/processing/string-decode_test.go b/internal/processor/string-decode_test.go similarity index 82% rename from internal/processing/string-decode_test.go rename to internal/processor/string-decode_test.go index 453fbd3..f2aca97 100644 --- a/internal/processing/string-decode_test.go +++ b/internal/processor/string-decode_test.go @@ -1,15 +1,15 @@ -package processing_test +package processor_test import ( "testing" - "github.com/jwetzell/showbridge-go/internal/processing" + "github.com/jwetzell/showbridge-go/internal/processor" ) func TestGoodStringDecode(t *testing.T) { - stringDecoder := processing.StringDecode{} + stringDecoder := processor.StringDecode{} tests := []struct { - processor processing.Processor + processor processor.Processor name string payload any expected string diff --git a/internal/processing/string-encode.go b/internal/processor/string-encode.go similarity index 76% rename from internal/processing/string-encode.go rename to internal/processor/string-encode.go index 8966d7f..cac2b70 100644 --- a/internal/processing/string-encode.go +++ b/internal/processor/string-encode.go @@ -1,12 +1,14 @@ -package processing +package processor import ( "context" "fmt" + + "github.com/jwetzell/showbridge-go/internal/config" ) type StringEncode struct { - config ProcessorConfig + config config.ProcessorConfig } func (se *StringEncode) Process(ctx context.Context, payload any) (any, error) { @@ -28,7 +30,7 @@ func (se *StringEncode) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "string.encode", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &StringEncode{config: config}, nil }, }) diff --git a/internal/processing/string-encode_test.go b/internal/processor/string-encode_test.go similarity index 82% rename from internal/processing/string-encode_test.go rename to internal/processor/string-encode_test.go index 2bc9ba9..cc34351 100644 --- a/internal/processing/string-encode_test.go +++ b/internal/processor/string-encode_test.go @@ -1,16 +1,16 @@ -package processing_test +package processor_test import ( "slices" "testing" - "github.com/jwetzell/showbridge-go/internal/processing" + "github.com/jwetzell/showbridge-go/internal/processor" ) func TestGoodStringEncode(t *testing.T) { - stringEncoder := processing.StringEncode{} + stringEncoder := processor.StringEncode{} tests := []struct { - processor processing.Processor + processor processor.Processor name string payload any expected []byte diff --git a/internal/processing/string-filter.go b/internal/processor/string-filter.go similarity index 86% rename from internal/processing/string-filter.go rename to internal/processor/string-filter.go index 35a2eeb..c9a0f29 100644 --- a/internal/processing/string-filter.go +++ b/internal/processor/string-filter.go @@ -1,13 +1,15 @@ -package processing +package processor import ( "context" "fmt" "regexp" + + "github.com/jwetzell/showbridge-go/internal/config" ) type StringFilter struct { - config ProcessorConfig + config config.ProcessorConfig Pattern *regexp.Regexp } @@ -32,7 +34,7 @@ func (se *StringFilter) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "string.filter", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params pattern, ok := params["pattern"] diff --git a/internal/processing/string-split.go b/internal/processor/string-split.go similarity index 83% rename from internal/processing/string-split.go rename to internal/processor/string-split.go index 140611d..3dbd0c9 100644 --- a/internal/processing/string-split.go +++ b/internal/processor/string-split.go @@ -1,13 +1,15 @@ -package processing +package processor import ( "context" "fmt" "strings" + + "github.com/jwetzell/showbridge-go/internal/config" ) type StringSplit struct { - config ProcessorConfig + config config.ProcessorConfig Separator string } @@ -30,7 +32,7 @@ func (se *StringSplit) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "string.split", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { params := config.Params separator, ok := params["separator"] diff --git a/internal/processing/uint-parse.go b/internal/processor/uint-parse.go similarity index 79% rename from internal/processing/uint-parse.go rename to internal/processor/uint-parse.go index d5476ff..b145647 100644 --- a/internal/processing/uint-parse.go +++ b/internal/processor/uint-parse.go @@ -1,13 +1,15 @@ -package processing +package processor import ( "context" "fmt" "strconv" + + "github.com/jwetzell/showbridge-go/internal/config" ) type UintParse struct { - config ProcessorConfig + config config.ProcessorConfig } func (up *UintParse) Process(ctx context.Context, payload any) (any, error) { @@ -32,7 +34,7 @@ func (up *UintParse) Type() string { func init() { RegisterProcessor(ProcessorRegistration{ Type: "uint.parse", - New: func(config ProcessorConfig) (Processor, error) { + New: func(config config.ProcessorConfig) (Processor, error) { return &UintParse{config: config}, nil }, }) diff --git a/internal/route/route.go b/internal/route/route.go index 99ef4fc..2ca4d89 100644 --- a/internal/route/route.go +++ b/internal/route/route.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/jwetzell/showbridge-go/internal/config" - "github.com/jwetzell/showbridge-go/internal/processing" + "github.com/jwetzell/showbridge-go/internal/processor" ) type RouteError struct { @@ -33,16 +33,16 @@ type Route interface { type ProcessorRoute struct { input string - processors []processing.Processor + processors []processor.Processor output string } func NewRoute(config config.RouteConfig) (Route, error) { - processors := []processing.Processor{} + processors := []processor.Processor{} if len(config.Processors) > 0 { for _, processorDecl := range config.Processors { - processorInfo, ok := processing.ProcessorRegistry[processorDecl.Type] + processorInfo, ok := processor.ProcessorRegistry[processorDecl.Type] if !ok { return nil, fmt.Errorf("problem loading processor registration for processor type: %s", processorDecl.Type) }