Documentation ¶
Overview ¶
Package config provider load configuration from file
Index ¶
- Variables
- func RegisterEncoder(Encoder Encoder, names ...string) error
- func RegisterProvider(name string, provider Provider) error
- func RegisterProviderCreator(name string, creator ProviderCreator) error
- type ChangeSet
- type Config
- type Encoder
- type EncoderFactory
- type ExampleConfig
- type Option
- type Options
- type Provider
- type ProviderCreator
- type ProviderFactory
- type Watcher
Constants ¶
This section is empty.
Variables ¶
var ( // ErrUnsupportedEncoder is error ErrUnsupportedEncoder = errors.New("unsupported encoder") )
var ( // ErrWatcherStopped defined watcher stoped ErrWatcherStopped = errors.New("watcher stoped") )
Functions ¶
func RegisterEncoder ¶
RegisterEncoder retister a type loader to package level
func RegisterProvider ¶
RegisterProvider register provider
func RegisterProviderCreator ¶
func RegisterProviderCreator(name string, creator ProviderCreator) error
RegisterProviderCreator register a provider creator
Types ¶
type ChangeSet ¶ added in v0.2.1
type ChangeSet struct { Data []byte Checksum string Format string Source string Timestamp time.Time }
ChangeSet represents a set of changes from a source
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config present runtime
type Encoder ¶
type Encoder interface { Decode([]byte, interface{}) error Encode(interface{}) ([]byte, error) String() string }
Encoder handles source encoding formats
Unmarshal []byte to object Marshal object to []byte
type EncoderFactory ¶
EncoderFactory multi encoders
func NewEncoderFactory ¶
func NewEncoderFactory() *EncoderFactory
NewEncoderFactory create a new Encoder factry
func (*EncoderFactory) Decode ¶
func (t *EncoderFactory) Decode(name string, data []byte, out interface{}) error
Decode data to out with special type name
type ExampleConfig ¶
type ExampleConfig struct { // .env file we need to offer Timeout time.Duration // should we need to add all tags? Name string // }
ExampleConfig example configuration
type Option ¶
type Option func(c *Options)
Option present config for C
func WithConfigChanged ¶ added in v0.2.1
func WithConfigChanged(f func(o, n interface{})) Option
WithConfigChanged set on config chaned
type Options ¶
type Options struct {
// contains filtered or unexported fields
}
Options present current params
type Provider ¶
type Provider interface { // load configuraton data from name Read(name string, typs ...string) ([]byte, error) // dumps configuration // will we need to update the conguration Write(name string, data []byte, typs ...string) error // watch the config whilte change Watch(name string, typs ...string) (Watcher, error) // String returns name of provider String() string }
Provider defined how to take payload of configuration file, http, database or something else
source is the interface for sources or we need to use a container for []byte like struct{ Data []byte, Checksum string, Timestamp time.Time }
func NewFSProvider ¶
NewFSProvider return a fs provider
func NewProvider ¶
NewProvider create a provider with name and configuration
func NewProviderFromURI ¶ added in v0.2.0
NewProviderFromURI create a provider with uri string at most time, format schema://config
type ProviderCreator ¶
ProviderCreator function to create provider
type ProviderFactory ¶
type ProviderFactory struct {
// contains filtered or unexported fields
}
ProviderFactory provider factory
func NewProviderFactory ¶
func NewProviderFactory() *ProviderFactory
NewProviderFactory create a factory