...
1 package evaluation
2
3 import "github.com/launchdarkly/go-sdk-common/v3/ldlog"
4
5
6 type EvaluatorOption interface {
7 apply(e *evaluator)
8 }
9
10 type evaluatorOptionBigSegmentProvider struct{ bigSegmentProvider BigSegmentProvider }
11
12
13
14
15
16 func EvaluatorOptionBigSegmentProvider(bigSegmentProvider BigSegmentProvider) EvaluatorOption {
17 return evaluatorOptionBigSegmentProvider{bigSegmentProvider: bigSegmentProvider}
18 }
19
20 func (o evaluatorOptionBigSegmentProvider) apply(e *evaluator) {
21 e.bigSegmentProvider = o.bigSegmentProvider
22 }
23
24 type evaluatorOptionEnableSecondaryKey struct{ enable bool }
25
26
27
28
29
30
31
32 func EvaluatorOptionEnableSecondaryKey(enable bool) EvaluatorOption {
33 return evaluatorOptionEnableSecondaryKey{enable: enable}
34 }
35
36 func (o evaluatorOptionEnableSecondaryKey) apply(e *evaluator) {
37 e.enableSecondaryKey = o.enable
38 }
39
40 type evaluatorOptionErrorLogger struct{ errorLogger ldlog.BaseLogger }
41
42
43
44
45
46 func EvaluatorOptionErrorLogger(errorLogger ldlog.BaseLogger) EvaluatorOption {
47 return evaluatorOptionErrorLogger{errorLogger: errorLogger}
48 }
49
50 func (o evaluatorOptionErrorLogger) apply(e *evaluator) {
51 e.errorLogger = o.errorLogger
52 }
53
View as plain text