auth/vendor/github.com/lestrrat-go/option/option.go

33 lines
626 B
Go
Raw Normal View History

2022-06-09 17:35:23 +00:00
package option
// Interface defines the minimum interface that an option must fulfill
type Interface interface {
// Ident returns the "indentity" of this option, a unique identifier that
// can be used to differentiate between options
Ident() interface{}
// Value returns the corresponding value.
Value() interface{}
}
type pair struct {
ident interface{}
value interface{}
}
// New creates a new Option
func New(ident, value interface{}) Interface {
return &pair{
ident: ident,
value: value,
}
}
func (p *pair) Ident() interface{} {
return p.ident
}
func (p *pair) Value() interface{} {
return p.value
}