evaluator

package
v2.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package evaluator //

Package evaluator //

Package evaluator //

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckIfUserInAudience added in v2.2.1

func CheckIfUserInAudience(experiment *entities.Experiment, userContext entities.UserContext, projectConfig config.ProjectConfig, audienceEvaluator TreeEvaluator, options *decide.Options, logger logging.OptimizelyLogProducer) (bool, decide.DecisionReasons)

CheckIfUserInAudience evaluates if user meets experiment audience conditions

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

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

Directories

Path Synopsis
Package matchers //
Package matchers //
utils
Package utils //
Package utils //

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL