add initial function signatures

This commit is contained in:
2023-11-02 00:01:52 -07:00
parent 0b91893d31
commit 2c27fa61dc

143
env.go
View File

@@ -1,50 +1,163 @@
package config package config
import "errors" import (
"errors"
"fmt"
"time"
)
type ConfigManager struct{} type ConfigType string
var ConfigFileNotFoundError = errors.New("config File Not Found") const (
ConfigTypeTOML ConfigType = "toml"
ConfigTypeYAML ConfigType = "yaml"
ConfigTypeJSON ConfigType = "json"
)
type ConfigManager struct {
configFileUsed string
configType ConfigType
autoEnvEnabled bool
envPrefix string
mapConfig map[string]any
defaultConfig map[string]any
}
var (
ErrConfigFileNotFound = errors.New("config File Not Found")
defaultConfigManager = NewConfigManager()
)
func NewConfigManager() *ConfigManager { func NewConfigManager() *ConfigManager {
return &ConfigManager{} return &ConfigManager{}
} }
func AutoMaticEnv() { func AutoMaticEnv(enabled bool) {
defaultConfigManager.autoEnvEnabled = enabled
} }
func ConfigFileUsed() { func (c *ConfigManager) ConfigFileUsed() string {
return c.configFileUsed
} }
func GetDuration() { func ConfigFileUsed() string {
return defaultConfigManager.ConfigFileUsed()
} }
func GetString() { func (c *ConfigManager) GetBool(key string) bool {
} }
func GetStringMap() { func GetBool(key string) bool {
return defaultConfigManager.GetBool(key)
} }
func GetStringSlice() { func (c *ConfigManager) GetDuration(key string) time.Duration {
} }
func ReadInConfig() { func GetDuration(key string) time.Duration {
return defaultConfigManager.GetDuration(key)
} }
func SetConfigFile() { func (c *ConfigManager) GetString(key string) string {
} }
func SetConfigName() { func GetString(key string) string {
return defaultConfigManager.GetString(key)
} }
func SetConfigType() { func (c *ConfigManager) GetStringMap(key string) map[string]any {
} }
func SetDefault() { func GetStringMap(key string) map[string]any {
return defaultConfigManager.GetStringMap(key)
} }
func Set() { func (c *ConfigManager) GetStringSlice(key string) []string {
}
func GetStringSlice(key string) []string {
return defaultConfigManager.GetStringSlice(key)
}
func (c *ConfigManager) GetInt(key string) int {
}
func GetInt(key string) int {
return defaultConfigManager.GetInt(key)
}
func (c *ConfigManager) GetIntSlice(key string) []int {
}
func GetIntSlice(key string) []int {
return defaultConfigManager.GetIntSlice(key)
}
func (c *ConfigManager) ReadInConfig() error {
return nil
}
func ReadInConfig() error {
return defaultConfigManager.ReadInConfig()
}
func (c *ConfigManager) SetConfigFile(file string) {
c.configFileUsed = file
}
func SetConfigFile(file string) {
defaultConfigManager.SetConfigFile(file)
}
func (c *ConfigManager) SetConfigName(name string) {
}
func SetConfigName(name string) {
defaultConfigManager.SetConfigName(name)
}
func (c *ConfigManager) SetConfigType(configType string) error {
switch configType {
case "toml":
c.configType = ConfigTypeTOML
case "yaml":
c.configType = ConfigTypeYAML
case "json":
c.configType = ConfigTypeJSON
default:
return fmt.Errorf("config type %s not supported", configType)
}
return nil
}
func SetConfigType(configType string) error {
return defaultConfigManager.SetConfigType(configType)
}
func (c *ConfigManager) SetDefault(key string, value any) {
}
func SetDefault(key string, value any) {
defaultConfigManager.SetDefault(key, value)
}
func (c *ConfigManager) SetEnvPrefix(prefix string) {
}
func SetEnvPrefix(prefix string) {
defaultConfigManager.SetEnvPrefix(prefix)
}
func (c *ConfigManager) Set(key string, value any) {
}
func Set(key string, value any) {
defaultConfigManager.Set(key, value)
}
func (c *ConfigManager) WriteConfig() {
} }
func WriteConfig() { func WriteConfig() {
defaultConfigManager.WriteConfig()
} }