github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/analytics/context.go (about) 1 package analytics 2 3 import "context" 4 5 type contextKey struct{} 6 7 var analyticsContextKey = contextKey{} 8 9 func WithAnalytics(ctx context.Context, a *TiltAnalytics) context.Context { 10 return context.WithValue(ctx, analyticsContextKey, a) 11 } 12 13 func Get(ctx context.Context) *TiltAnalytics { 14 val := ctx.Value(analyticsContextKey) 15 16 if val != nil { 17 return val.(*TiltAnalytics) 18 } 19 20 // No analytics found in context, something is wrong. 21 panic("Called analytics.Get(ctx) on a context with no analytics attached!") 22 }