Files
opencloud/services/collaboration/pkg/proofkeys/option.go
2024-07-25 13:16:07 +02:00

36 lines
788 B
Go

package proofkeys
import (
"github.com/rs/zerolog"
)
// VerifyOption defines a single option function.
type VerifyOption func(o *VerifyOptions)
// VerifyOptions defines the available options for the Verify function.
type VerifyOptions struct {
Logger *zerolog.Logger
}
// newOptions initializes the available default options.
func newOptions(opts ...VerifyOption) VerifyOptions {
defaultLog := zerolog.Nop()
opt := VerifyOptions{
//Logger: log.NopLogger(), // use a NopLogger by default
Logger: &defaultLog, // use a NopLogger by default
}
for _, o := range opts {
o(&opt)
}
return opt
}
// VerifyWithLogger provides a function to set the Logger option.
func VerifyWithLogger(val *zerolog.Logger) VerifyOption {
return func(o *VerifyOptions) {
o.Logger = val
}
}