databricks-cli/libs/cmdio/context.go

21 lines
506 B
Go

package cmdio
import (
"context"
)
type progressLogger int
var progressLoggerKey progressLogger
// NewContext returns a new Context that carries the specified progress logger.
func NewContext(ctx context.Context, logger *Logger) context.Context {
return context.WithValue(ctx, progressLoggerKey, logger)
}
// FromContext returns the progress logger value stored in ctx, if any.
func FromContext(ctx context.Context) (*Logger, bool) {
u, ok := ctx.Value(progressLoggerKey).(*Logger)
return u, ok
}