Documentation
¶
Overview ¶
Package featureflags provides a feature flag evaluation interface for controlling feature availability per user, with implementations for LaunchDarkly and PostHog.
Index ¶
- type FeatureFlagManager
- type NoopFeatureFlagManager
- func (*NoopFeatureFlagManager) CanUseFeature(context.Context, string, string) (bool, error)
- func (*NoopFeatureFlagManager) Close() error
- func (*NoopFeatureFlagManager) GetInt64Value(context.Context, string, string) (int64, error)
- func (*NoopFeatureFlagManager) GetStringValue(context.Context, string, string) (string, error)
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FeatureFlagManager ¶
type FeatureFlagManager interface {
CanUseFeature(ctx context.Context, userID, feature string) (bool, error)
GetStringValue(ctx context.Context, userID, feature string) (string, error)
GetInt64Value(ctx context.Context, userID, feature string) (int64, error)
Close() error
}
FeatureFlagManager manages feature flags.
func NewNoopFeatureFlagManager ¶
func NewNoopFeatureFlagManager() FeatureFlagManager
NewNoopFeatureFlagManager returns a FeatureFlagManager that always returns zero values.
Example ¶
package main
import (
"context"
"fmt"
"github.com/verygoodsoftwarenotvirus/platform/v2/featureflags"
)
func main() {
mgr := featureflags.NewNoopFeatureFlagManager()
defer mgr.Close()
canUse, err := mgr.CanUseFeature(context.Background(), "user-1", "dark-mode")
if err != nil {
panic(err)
}
fmt.Println(canUse)
}
Output: false
type NoopFeatureFlagManager ¶
type NoopFeatureFlagManager struct{}
NoopFeatureFlagManager is a no-op FeatureFlagManager.
func (*NoopFeatureFlagManager) CanUseFeature ¶
CanUseFeature implements the FeatureFlagManager interface.
func (*NoopFeatureFlagManager) Close ¶
func (*NoopFeatureFlagManager) Close() error
Close implements the FeatureFlagManager interface.
func (*NoopFeatureFlagManager) GetInt64Value ¶
GetInt64Value implements the FeatureFlagManager interface.
func (*NoopFeatureFlagManager) GetStringValue ¶
GetStringValue implements the FeatureFlagManager interface.
Click to show internal directories.
Click to hide internal directories.