Versions in this module Expand all Collapse all v1 v1.8.7 Apr 17, 2023 v1.8.6 Apr 17, 2023 Changes in this version + type OptimizelyClient struct + ConfigManager config.ProjectConfigManager + DecisionService decision.Service + EventProcessor event.Processor + func (o *OptimizelyClient) Activate(experimentKey string, userContext entities.UserContext) (result string, err error) + func (o *OptimizelyClient) Close() + func (o *OptimizelyClient) CreateUserContext(userID string, attributes map[string]interface{}) OptimizelyUserContext + func (o *OptimizelyClient) GetAllFeatureVariables(featureKey string, userContext entities.UserContext) (optlyJSON *optimizelyjson.OptimizelyJSON, err error) + func (o *OptimizelyClient) GetAllFeatureVariablesWithDecision(featureKey string, userContext entities.UserContext) (enabled bool, variableMap map[string]interface{}, err error) + func (o *OptimizelyClient) GetDetailedFeatureDecisionUnsafe(featureKey string, userContext entities.UserContext, disableTracking bool) (decisionInfo decision.UnsafeFeatureDecisionInfo, err error) + func (o *OptimizelyClient) GetEnabledFeatures(userContext entities.UserContext) (enabledFeatures []string, err error) + func (o *OptimizelyClient) GetFeatureVariable(featureKey, variableKey string, userContext entities.UserContext) (string, entities.VariableType, error) + func (o *OptimizelyClient) GetFeatureVariableBoolean(featureKey, variableKey string, userContext entities.UserContext) (convertedValue bool, err error) + func (o *OptimizelyClient) GetFeatureVariableDouble(featureKey, variableKey string, userContext entities.UserContext) (convertedValue float64, err error) + func (o *OptimizelyClient) GetFeatureVariableInteger(featureKey, variableKey string, userContext entities.UserContext) (convertedValue int, err error) + func (o *OptimizelyClient) GetFeatureVariableJSON(featureKey, variableKey string, userContext entities.UserContext) (optlyJSON *optimizelyjson.OptimizelyJSON, err error) + func (o *OptimizelyClient) GetFeatureVariableString(featureKey, variableKey string, userContext entities.UserContext) (stringValue string, err error) + func (o *OptimizelyClient) GetOptimizelyConfig() (optimizelyConfig *config.OptimizelyConfig) + func (o *OptimizelyClient) GetVariation(experimentKey string, userContext entities.UserContext) (result string, err error) + func (o *OptimizelyClient) IsFeatureEnabled(featureKey string, userContext entities.UserContext) (result bool, err error) + func (o *OptimizelyClient) OnTrack(callback func(eventKey string, userContext entities.UserContext, ...)) (int, error) + func (o *OptimizelyClient) RemoveOnTrack(id int) error + func (o *OptimizelyClient) Track(eventKey string, userContext entities.UserContext, ...) (err error) + type OptimizelyDecision struct + Enabled bool + Experiment entities.Experiment + FlagKey string + Reasons []string + RuleKey string + UserContext OptimizelyUserContext + Variables *optimizelyjson.OptimizelyJSON + VariationKey string + func NewErrorDecision(key string, user OptimizelyUserContext, err error) OptimizelyDecision + func NewOptimizelyDecision(variationKey, ruleKey, flagKey string, enabled bool, ...) OptimizelyDecision + type OptimizelyFactory struct + Datafile []byte + DatafileAccessToken string + SDKKey string + func (f *OptimizelyFactory) Client(clientOptions ...OptionFunc) (*OptimizelyClient, error) + func (f *OptimizelyFactory) StaticClient(clientOptions ...OptionFunc) (optlyClient *OptimizelyClient, err error) + type OptimizelyUserContext struct + Attributes map[string]interface{} + UserID string + func (o *OptimizelyUserContext) Decide(key string, options []decide.OptimizelyDecideOptions) OptimizelyDecision + func (o *OptimizelyUserContext) DecideAll(options []decide.OptimizelyDecideOptions) map[string]OptimizelyDecision + func (o *OptimizelyUserContext) DecideForKeys(keys []string, options []decide.OptimizelyDecideOptions) map[string]OptimizelyDecision + func (o *OptimizelyUserContext) GetForcedDecision(context pkgDecision.OptimizelyDecisionContext) (pkgDecision.OptimizelyForcedDecision, error) + func (o *OptimizelyUserContext) RemoveAllForcedDecisions() bool + func (o *OptimizelyUserContext) RemoveForcedDecision(context pkgDecision.OptimizelyDecisionContext) bool + func (o *OptimizelyUserContext) SetAttribute(key string, value interface{}) + func (o *OptimizelyUserContext) SetForcedDecision(context pkgDecision.OptimizelyDecisionContext, ...) bool + func (o *OptimizelyUserContext) TrackEvent(eventKey string, eventTags map[string]interface{}) (err error) + func (o OptimizelyUserContext) GetOptimizely() *OptimizelyClient + func (o OptimizelyUserContext) GetUserAttributes() map[string]interface{} + func (o OptimizelyUserContext) GetUserID() string + type OptionFunc func(*OptimizelyFactory) + func WithBatchEventProcessor(batchSize, queueSize int, flushInterval time.Duration) OptionFunc + func WithConfigManager(configManager config.ProjectConfigManager) OptionFunc + func WithContext(ctx context.Context) OptionFunc + func WithDatafileAccessToken(datafileAccessToken string) OptionFunc + func WithDecisionService(decisionService decision.Service) OptionFunc + func WithDefaultDecideOptions(decideOptions []decide.OptimizelyDecideOptions) OptionFunc + func WithEventDispatcher(eventDispatcher event.Dispatcher) OptionFunc + func WithEventProcessor(eventProcessor event.Processor) OptionFunc + func WithExperimentOverrides(overrideStore decision.ExperimentOverrideStore) OptionFunc + func WithMetricsRegistry(metricsRegistry metrics.Registry) OptionFunc + func WithPollingConfigManager(pollingInterval time.Duration, initDataFile []byte) OptionFunc + func WithPollingConfigManagerDatafileAccessToken(pollingInterval time.Duration, initDataFile []byte, datafileAccessToken string) OptionFunc + func WithUserProfileService(userProfileService decision.UserProfileService) OptionFunc