From 056b89c2a3541bd371b13e915c06e28b7a7d42bf Mon Sep 17 00:00:00 2001 From: ascandone Date: Wed, 23 Oct 2024 11:58:01 +0200 Subject: [PATCH] chore: simplify WithUpdateParser option --- internal/controller/system/controller.go | 7 ++---- internal/controller/system/module.go | 32 ++++++++---------------- 2 files changed, 12 insertions(+), 27 deletions(-) diff --git a/internal/controller/system/controller.go b/internal/controller/system/controller.go index 0d19c34f9..86b6b63d7 100644 --- a/internal/controller/system/controller.go +++ b/internal/controller/system/controller.go @@ -142,9 +142,9 @@ func NewDefaultController(store Store, listener ledgercontroller.Listener, opts type Option func(ctrl *DefaultController) -func WithUpdateParser(updateParser func(oldParser ledgercontroller.NumscriptParser) ledgercontroller.NumscriptParser) Option { +func WithParser(parser ledgercontroller.NumscriptParser) Option { return func(ctrl *DefaultController) { - ctrl.parser = updateParser(ctrl.parser) + ctrl.parser = parser } } @@ -173,9 +173,6 @@ func WithEnableFeatures(v bool) Option { } var defaultOptions = []Option{ - WithUpdateParser(func(oldParser ledgercontroller.NumscriptParser) ledgercontroller.NumscriptParser { - return ledgercontroller.NewDefaultNumscriptParser() - }), WithMeter(noopmetrics.Meter{}), WithTracer(nooptracer.Tracer{}), } diff --git a/internal/controller/system/module.go b/internal/controller/system/module.go index f735724dc..b8d4b5691 100644 --- a/internal/controller/system/module.go +++ b/internal/controller/system/module.go @@ -32,37 +32,25 @@ func NewFXModule(configuration ModuleConfiguration) fx.Option { meterProvider metric.MeterProvider, tracerProvider trace.TracerProvider, ) *DefaultController { - options := make([]Option, 0) - + var parser ledgercontroller.NumscriptParser = ledgercontroller.NewDefaultNumscriptParser() if configuration.NumscriptInterpreter { - options = append(options, WithUpdateParser(func(ledgercontroller.NumscriptParser) ledgercontroller.NumscriptParser { - return ledgercontroller.NewInterpreterNumscriptParser() - })) + parser = ledgercontroller.NewInterpreterNumscriptParser() } if configuration.NSCacheConfiguration.MaxCount != 0 { - options = append(options, WithUpdateParser(func(oldParser ledgercontroller.NumscriptParser) ledgercontroller.NumscriptParser { - if oldParser == nil { - oldParser = ledgercontroller.NewDefaultNumscriptParser() - } - - return ledgercontroller.NewCachedNumscriptParser( - oldParser, - configuration.NSCacheConfiguration, - ) - - })) + parser = ledgercontroller.NewCachedNumscriptParser(parser, ledgercontroller.CacheConfiguration{ + MaxCount: configuration.NSCacheConfiguration.MaxCount, + }) } return NewDefaultController( store, listener, - append(options, - WithDatabaseRetryConfiguration(configuration.DatabaseRetryConfiguration), - WithMeter(meterProvider.Meter("core")), - WithTracer(tracerProvider.Tracer("core")), - WithEnableFeatures(configuration.EnableFeatures), - )..., + WithParser(parser), + WithDatabaseRetryConfiguration(configuration.DatabaseRetryConfiguration), + WithMeter(meterProvider.Meter("core")), + WithTracer(tracerProvider.Tracer("core")), + WithEnableFeatures(configuration.EnableFeatures), ) }), )