30 lines
587 B
Go
30 lines
587 B
Go
// Copyright 2024 Matthew Rich <matthewrich.conf@gmail.com>. All rights reserved.
|
|
|
|
package data
|
|
|
|
import (
|
|
"errors"
|
|
)
|
|
|
|
var (
|
|
ErrUnknownConfigurationType = errors.New("Unknown configuration type")
|
|
ErrUnknownConfigurationKey = errors.New("Unknown configuration key")
|
|
)
|
|
|
|
type ConfigurationValueGetter interface {
|
|
GetValue(key string) (any, error)
|
|
}
|
|
|
|
type ConfigurationValueChecker interface {
|
|
Has(key string) bool
|
|
}
|
|
|
|
type Configuration interface {
|
|
Identifier
|
|
Type() string
|
|
Reader
|
|
ConfigurationValueGetter
|
|
ConfigurationValueChecker
|
|
Clone() Configuration
|
|
}
|