Move to a selector package
This commit is contained in:
34
selector/options.go
Normal file
34
selector/options.go
Normal file
@@ -0,0 +1,34 @@
|
||||
package selector
|
||||
|
||||
import (
|
||||
"github.com/micro/go-micro/registry"
|
||||
)
|
||||
|
||||
type Options struct {
|
||||
Registry registry.Registry
|
||||
}
|
||||
|
||||
type SelectOptions struct {
|
||||
Filters []SelectFilter
|
||||
}
|
||||
|
||||
// Option used to initialise the selector
|
||||
type Option func(*Options)
|
||||
|
||||
// SelectOption used when making a select call
|
||||
type SelectOption func(*SelectOptions)
|
||||
|
||||
// Registry sets the registry used by the selector
|
||||
func Registry(r registry.Registry) Option {
|
||||
return func(o *Options) {
|
||||
o.Registry = r
|
||||
}
|
||||
}
|
||||
|
||||
// Filter adds a filter function to the list of filters
|
||||
// used during the Select call.
|
||||
func Filter(fn SelectFilter) SelectOption {
|
||||
return func(o *SelectOptions) {
|
||||
o.Filters = append(o.Filters, fn)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user