config

package
v0.0.0-...-5f555b6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ConfigurationKeyComparer = func(a1, a2 any) int {
	x := a1.(string)
	y := a2.(string)

	xParts := strings.Split(x, core.DefaultConfigPathKeyDelimiter)
	yParts := strings.Split(y, core.DefaultConfigPathKeyDelimiter)

	count := math.Min(float64(len(xParts)), float64(len(yParts)))
	for i := 0; i < int(count); i++ {
		innerX := xParts[i]
		innerY := yParts[i]

		xIsInt := false
		yIsInt := false
		value1, err := strconv.ParseInt(innerX, 10, 64)
		if err == nil {
			xIsInt = true
		}

		value2, err := strconv.ParseInt(innerY, 10, 64)
		if err == nil {
			yIsInt = true
		}

		result := 0
		if !xIsInt && !yIsInt {
			result = strings.Compare(innerX, innerY)
		} else if xIsInt && yIsInt {
			result = int(value1) - int(value2)
		} else if xIsInt {
			result = -1
		} else {
			result = 1
		}

		if result != 0 {
			return result
		}
	}

	return len(xParts) - len(yParts)
}

Functions

func NewConfigurationRoot

func NewConfigurationRoot(providers ...core.ConfigurationProvider) core.ConfigurationRoot

func NewConfigurationSection

func NewConfigurationSection(root core.ConfigurationRoot, path string) core.ConfigurationSection

Types

type BinaryConfigurationProvider

type BinaryConfigurationProvider struct {
	ConfigurationProvider
	// contains filtered or unexported fields
}

func NewBinaryConfigurationProvider

func NewBinaryConfigurationProvider(source *BinaryConfigurationSource, binaryLoader func(provider *BinaryConfigurationProvider, reader io.Reader)) *BinaryConfigurationProvider

func (*BinaryConfigurationProvider) Load

func (provider *BinaryConfigurationProvider) Load()

func (*BinaryConfigurationProvider) SetValue

func (provider *BinaryConfigurationProvider) SetValue(path string, k string, v any)

type BinaryConfigurationSource

type BinaryConfigurationSource struct {
	// contains filtered or unexported fields
}

func NewJSONConfigurationSource

func NewJSONConfigurationSource(fileProvider core.FileProvider) *BinaryConfigurationSource

func NewYamlConfigurationSource

func NewYamlConfigurationSource(fileProvider core.FileProvider) *BinaryConfigurationSource

func (*BinaryConfigurationSource) Build

type CmdLineConfigurationProvider

type CmdLineConfigurationProvider struct {
	ConfigurationProvider
	// contains filtered or unexported fields
}

func NewCmdLineConfigurationProvider

func NewCmdLineConfigurationProvider(switchMapping map[string]string, args []string) *CmdLineConfigurationProvider

func (*CmdLineConfigurationProvider) Arguments

func (provider *CmdLineConfigurationProvider) Arguments() []string

func (*CmdLineConfigurationProvider) Load

func (provider *CmdLineConfigurationProvider) Load()

type CmdLineConfigurationSource

type CmdLineConfigurationSource struct {
	// contains filtered or unexported fields
}

func NewCmdLineConfigurationSource

func NewCmdLineConfigurationSource(switchMapping map[string]string, args []string) *CmdLineConfigurationSource

func (*CmdLineConfigurationSource) Build

type ConfigurationBuilder

type ConfigurationBuilder struct {
	// contains filtered or unexported fields
}

func (*ConfigurationBuilder) AddCommandLine

func (builder *ConfigurationBuilder) AddCommandLine(args []string, switchMapping map[string]string)

func (*ConfigurationBuilder) AddDir

func (builder *ConfigurationBuilder) AddDir(path string, recursive bool)

func (*ConfigurationBuilder) AddJSONFile

func (builder *ConfigurationBuilder) AddJSONFile(fileProvider core.FileProvider)

func (*ConfigurationBuilder) AddMemorySource

func (builder *ConfigurationBuilder) AddMemorySource(initialData map[string]string)

extensions

func (*ConfigurationBuilder) AddSource

func (builder *ConfigurationBuilder) AddSource(source core.ConfigurationSource)

func (*ConfigurationBuilder) AddYamlFile

func (builder *ConfigurationBuilder) AddYamlFile(fileProvider core.FileProvider)

func (*ConfigurationBuilder) Build

func (builder *ConfigurationBuilder) Build() (core.ConfigurationRoot, error)

func (*ConfigurationBuilder) Properties

func (builder *ConfigurationBuilder) Properties() map[string]any

func (*ConfigurationBuilder) Sources

func (builder *ConfigurationBuilder) Sources() []core.ConfigurationSource

type ConfigurationProvider

type ConfigurationProvider struct {
	// contains filtered or unexported fields
}

func NewConfigurationProvider

func NewConfigurationProvider() *ConfigurationProvider

func (*ConfigurationProvider) GetChildKeys

func (provider *ConfigurationProvider) GetChildKeys(earlierKeys []string, parentPath string) []string

func (*ConfigurationProvider) Load

func (provider *ConfigurationProvider) Load()

func (*ConfigurationProvider) Map

func (provider *ConfigurationProvider) Map() map[string]string

func (*ConfigurationProvider) Set

func (provider *ConfigurationProvider) Set(k string, v string)

func (*ConfigurationProvider) TryGet

type ConfigurationRoot

type ConfigurationRoot struct {
	// contains filtered or unexported fields
}

func (*ConfigurationRoot) GetChildren

func (root *ConfigurationRoot) GetChildren() []core.ConfigurationSection

func (*ConfigurationRoot) GetChildrenImplementation

func (root *ConfigurationRoot) GetChildrenImplementation(path string) []core.ConfigurationSection

func (*ConfigurationRoot) GetConfiguration

func (root *ConfigurationRoot) GetConfiguration(providers []core.ConfigurationProvider, k string) string

func (*ConfigurationRoot) GetSection

func (root *ConfigurationRoot) GetSection(k string) core.ConfigurationSection

Configuration Implementations

func (*ConfigurationRoot) GetString

func (root *ConfigurationRoot) GetString(k string) string

func (*ConfigurationRoot) Providers

func (root *ConfigurationRoot) Providers() []core.ConfigurationProvider

func (*ConfigurationRoot) Reload

func (root *ConfigurationRoot) Reload() error

ConfigurationRoot Implementations

func (*ConfigurationRoot) SetConfiguration

func (root *ConfigurationRoot) SetConfiguration(providers []core.ConfigurationProvider, k, v string)

func (*ConfigurationRoot) TryGetConfiguration

func (root *ConfigurationRoot) TryGetConfiguration(providers []core.ConfigurationProvider, k string) (string, bool)

func (*ConfigurationRoot) TryGetString

func (root *ConfigurationRoot) TryGetString(k string) (string, bool)

type ConfigurationSection

type ConfigurationSection struct {
	// contains filtered or unexported fields
}

func (*ConfigurationSection) GetChildren

func (section *ConfigurationSection) GetChildren() []core.ConfigurationSection

func (*ConfigurationSection) GetSection

func (section *ConfigurationSection) GetSection(k string) core.ConfigurationSection

func (*ConfigurationSection) GetString

func (section *ConfigurationSection) GetString(k string) string

func (*ConfigurationSection) HasValue

func (section *ConfigurationSection) HasValue() bool

func (*ConfigurationSection) Key

func (section *ConfigurationSection) Key() string

ConfigurationSection Implementations

func (*ConfigurationSection) Path

func (section *ConfigurationSection) Path() string

func (*ConfigurationSection) TryGetString

func (section *ConfigurationSection) TryGetString(k string) (string, bool)

Configuration Implementations

func (*ConfigurationSection) Value

func (section *ConfigurationSection) Value() string

type EnvironmentConfigurationProvider

type EnvironmentConfigurationProvider struct {
	ConfigurationProvider
	// contains filtered or unexported fields
}

func (*EnvironmentConfigurationProvider) Load

func (provider *EnvironmentConfigurationProvider) Load()

type EnvironmentConfigurationSource

type EnvironmentConfigurationSource struct {
	// contains filtered or unexported fields
}

func (*EnvironmentConfigurationSource) Build

type JSONConfigurationProvider

type JSONConfigurationProvider struct {
	BinaryConfigurationProvider
}

func NewJSONConfigurationProvider

func NewJSONConfigurationProvider(source *BinaryConfigurationSource) *JSONConfigurationProvider

type MemoryConfigurationProvider

type MemoryConfigurationProvider struct {
	ConfigurationProvider
	// contains filtered or unexported fields
}

func NewMemoryConfigurationProvider

func NewMemoryConfigurationProvider(source *MemoryConfigurationSource) *MemoryConfigurationProvider

func (*MemoryConfigurationProvider) Add

func (provider *MemoryConfigurationProvider) Add(k, v string)

type MemoryConfigurationSource

type MemoryConfigurationSource struct {
	// contains filtered or unexported fields
}

func NewMemoryConfigurationSource

func NewMemoryConfigurationSource(initialData map[string]string) *MemoryConfigurationSource

func (*MemoryConfigurationSource) Build

type YamlConfigurationProvider

type YamlConfigurationProvider struct {
	BinaryConfigurationProvider
}

func NewYamlConfigurationProvider

func NewYamlConfigurationProvider(source *BinaryConfigurationSource) *YamlConfigurationProvider

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL