dynp

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2019 License: Apache-2.0 Imports: 4 Imported by: 2

README

go-dynamic-params

A parameter substitution library with dynamic resolver backends

CircleCI

License

(C) 2019 @aschmidt75, Apache 2 License

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Flatten

func Flatten(m map[string]interface{}) map[string]string

Flatten takes a map from string to anything (e.g. from JSON or YAML), flattens it and returns a map of strings. All entries are in the top, levels separated by '.'

func ResolveFromString

func ResolveFromString(in string, resolvers ResolverChain) (string, error)

ResolveFromString takes a string and a resolver, and resolves all parameter references using the given resolver

Types

type JSONResolver

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

JSONResolver ...

func NewJSONResolverFromString

func NewJSONResolverFromString(jsonIn string) (JSONResolver, error)

NewJSONResolverFromString creates a new JSONResolver from a given input string

func (JSONResolver) Resolve

func (r JSONResolver) Resolve(key string) (string, error)

Resolve looks up given key in the flattened JSON input

type MapResolver

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

func NewMapResolver

func NewMapResolver() MapResolver

func (MapResolver) Resolve

func (r MapResolver) Resolve(key string) (string, error)

func (MapResolver) With

func (r MapResolver) With(in map[string]string) MapResolver

type ResolveError

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

ResolveError has details about resolve errors

func (*ResolveError) Error

func (e *ResolveError) Error() string

type Resolver

type Resolver interface {
	Resolve(key string) (string, error)
}

Resolver is able to get a value for a given key

type ResolverChain

type ResolverChain []Resolver

ResolverChain contains multiple resolvers

type Token

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

Token is a single Token split by the tokenizer

type TokenizeError

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

TokenizeError tells details about an error while tokenzing input

func (*TokenizeError) Error

func (e *TokenizeError) Error() string

type Tokenizer

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

Tokenizer wraps the input

func NewTokenizer

func NewTokenizer(input []byte) *Tokenizer

NewTokenizer creates a new tokenizer from byte slice

func NewTokenizerFromString

func NewTokenizerFromString(inputString string) *Tokenizer

NewTokenizerFromString creates a new tokenizer from string input

func (*Tokenizer) Tokenize

func (t *Tokenizer) Tokenize() ([]*Token, error)

Tokenize splits the given input string into tokens

type YAMLResolver

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

YAMLResolver ...

func NewYAMLResolverFromString

func NewYAMLResolverFromString(yamlIn string) (YAMLResolver, error)

NewYAMLResolverFromString creates a new YAMLResolver from a given input string

func (YAMLResolver) Resolve

func (r YAMLResolver) Resolve(key string) (string, error)

Resolve looks up given key in the flattened YAML input

Jump to

Keyboard shortcuts

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