Documentation
¶
Index ¶
- func DefaultFileDecoderProvider(file string) dom.DecoderFunc
- func DefaultFileEncoderProvider(file string) dom.EncoderFunc
- func MustTransform[T any](in any, codec dom.FormatBiCodec) *T
- func MustTransformSlice[F any, T any](in []F, codec dom.FormatBiCodec) []*T
- func Transcode[T any](in *T, enc dom.EncoderFunc, dec dom.DecoderFunc, outEnc dom.EncoderFunc, ...) error
- func TranscodeJson2Yaml[T any](in *T, w io.Writer) error
- func TranscodeWithCodec[T any](in *T, codec dom.FormatBiCodec, enc dom.EncoderFunc, w io.Writer) error
- func Transform[T any](in any, codec dom.FormatBiCodec) (*T, error)
- func TransformSlice[F any, T any](in []F, codec dom.FormatBiCodec) ([]*T, error)
- type ConfigHelper
- type CopyMode
- type CopyParam
- type FileDecoderProvider
- type Morpher
- type Opt
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultFileDecoderProvider ¶ added in v1.0.66
func DefaultFileDecoderProvider(file string) dom.DecoderFunc
DefaultFileDecoderProvider is FileDecoderProvider that uses file suffix to choose dom.DecoderFunc
func DefaultFileEncoderProvider ¶ added in v1.0.66
func DefaultFileEncoderProvider(file string) dom.EncoderFunc
DefaultFileEncoderProvider is FileEncoderProvider that uses file suffix to choose dom.EncoderFunc
func MustTransform ¶ added in v1.0.68
func MustTransform[T any](in any, codec dom.FormatBiCodec) *T
func MustTransformSlice ¶ added in v1.0.68
func MustTransformSlice[F any, T any](in []F, codec dom.FormatBiCodec) []*T
func Transcode ¶ added in v1.0.68
func Transcode[T any](in *T, enc dom.EncoderFunc, dec dom.DecoderFunc, outEnc dom.EncoderFunc, w io.Writer) error
Transcode type into one serialized form then to another. Common use case for this code is when you have a type that has JSON tags with custom serialized names, no YAML tags. When you serialize such object directly into YAML, custom field names are lost.
func TranscodeJson2Yaml ¶ added in v1.0.68
TranscodeJson2Yaml takes T and encodes it into JSON form, then decodes it into intermediate object which is then serialized into YAML form.
func TranscodeWithCodec ¶ added in v1.0.68
func TranscodeWithCodec[T any](in *T, codec dom.FormatBiCodec, enc dom.EncoderFunc, w io.Writer) error
func Transform ¶ added in v1.0.68
func Transform[T any](in any, codec dom.FormatBiCodec) (*T, error)
Transform can transform arbitrary object to specific type, using provided codec. Common use case is to transform i.e. []interface{} to []MyType
func TransformSlice ¶ added in v1.0.68
func TransformSlice[F any, T any](in []F, codec dom.FormatBiCodec) ([]*T, error)
Types ¶
type ConfigHelper ¶
type ConfigHelper[T any] interface { // Add adds any object. Add(doc any) ConfigHelper[T] // Read reads given io.Reader and process it into T using configured codec Read(reader io.Reader) ConfigHelper[T] // Load loads given file and merge it into current object Load(file string) ConfigHelper[T] // Save saves current object into file Save(file string) ConfigHelper[T] // Mutate performs inline operations on current object Mutate(fn func(builder dom.ContainerBuilder)) ConfigHelper[T] // Result Get current object Result() *T }
ConfigHelper allows to load, mutate and save configuration object
func NewConfigHelper ¶
func NewConfigHelper[T any](opts ...Opt[T]) ConfigHelper[T]
type CopyMode ¶ added in v1.0.66
type CopyMode func(*copier)
func CopyModeMerge ¶ added in v1.0.66
func CopyModeReplace ¶ added in v1.0.66
CopyModeReplace Copies source container and removes anything that existed
type CopyParam ¶ added in v1.0.66
type CopyParam func(*copier)
func CopyParamFilterFunc ¶ added in v1.0.66
func CopyParamFilterFunc(fn dom.NodeVisitorFn) CopyParam
func CopyParamMergeOptions ¶ added in v1.0.66
func CopyParamMergeOptions(mOpts ...dom.MergeOption) CopyParam
type FileDecoderProvider ¶ added in v1.0.66
type FileDecoderProvider func(file string) dom.DecoderFunc
FileDecoderProvider resolves dom.DecoderFunc for given file. If file is not recognized, nil is returned.
type Morpher ¶ added in v1.0.65
type Morpher interface {
// Mutate invokes provided callback to modify dom.Container
Mutate(func(dom.ContainerBuilder)) Morpher
// Copy copies content of src dom.Container into Morpher.
Copy(src dom.Container, mode CopyMode) Morpher
// Result gets a fresh copy of result. Subsequent invocation of this method will always produce a new copy.
Result() dom.ContainerBuilder
}
Morpher allows fluent modification of document(s)
func NewMorpher ¶ added in v1.0.65
func NewMorpher() Morpher
type Opt ¶ added in v1.0.68
type Opt[T any] func(helper *configHelper[T])
func WithInitialData ¶ added in v1.0.68
func WithInitialData[T any](data dom.ContainerBuilder) Opt[T]