Documentation ¶
Overview ¶
Package evaluator //
Package evaluator //
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AudienceConditionEvaluator ¶
type AudienceConditionEvaluator struct {
// contains filtered or unexported fields
}
AudienceConditionEvaluator evaluates conditions with audience condition
func NewAudienceConditionEvaluator ¶
func NewAudienceConditionEvaluator(logger logging.OptimizelyLogProducer) *AudienceConditionEvaluator
NewAudienceConditionEvaluator creates a audience condition evaluator
func (AudienceConditionEvaluator) Evaluate ¶
func (c AudienceConditionEvaluator) Evaluate(audienceID string, condTreeParams *entities.TreeParameters, options *decide.Options) (bool, decide.DecisionReasons, error)
Evaluate returns true if the given user's attributes match the condition
type CustomAttributeConditionEvaluator ¶
type CustomAttributeConditionEvaluator struct {
// contains filtered or unexported fields
}
CustomAttributeConditionEvaluator evaluates conditions with custom attributes
func NewCustomAttributeConditionEvaluator ¶
func NewCustomAttributeConditionEvaluator(logger logging.OptimizelyLogProducer) *CustomAttributeConditionEvaluator
NewCustomAttributeConditionEvaluator creates a custom attribute condition
func (CustomAttributeConditionEvaluator) Evaluate ¶
func (c CustomAttributeConditionEvaluator) Evaluate(condition entities.Condition, condTreeParams *entities.TreeParameters, options *decide.Options) (bool, decide.DecisionReasons, error)
Evaluate returns true if the given user's attributes match the condition
type ItemEvaluator ¶
type ItemEvaluator interface {
Evaluate(interface{}, *entities.TreeParameters, *decide.Options) (bool, decide.DecisionReasons, error)
}
ItemEvaluator evaluates a condition against the given user's attributes
type MixedTreeEvaluator ¶
type MixedTreeEvaluator struct {
// contains filtered or unexported fields
}
MixedTreeEvaluator evaluates a tree of mixed node types (condition node or audience nodes)
func NewMixedTreeEvaluator ¶
func NewMixedTreeEvaluator(logger logging.OptimizelyLogProducer) *MixedTreeEvaluator
NewMixedTreeEvaluator creates a condition tree evaluator with the out-of-the-box condition evaluators
func (MixedTreeEvaluator) Evaluate ¶
func (c MixedTreeEvaluator) Evaluate(node *entities.TreeNode, condTreeParams *entities.TreeParameters, options *decide.Options) (evalResult, isValid bool, reasons decide.DecisionReasons)
Evaluate returns whether the userAttributes satisfy the given condition tree and the evaluation of the condition is valid or not (to handle null bubbling)
type TreeEvaluator ¶
type TreeEvaluator interface {
Evaluate(*entities.TreeNode, *entities.TreeParameters, *decide.Options) (evalResult, isValid bool, reasons decide.DecisionReasons)
}
TreeEvaluator evaluates a tree