fluent

package
v1.0.69 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2026 License: Apache-2.0 Imports: 9 Imported by: 3

Documentation

Index

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

func TranscodeJson2Yaml[T any](in *T, w io.Writer) error

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 CopyModeMerge(param ...CopyParam) CopyMode

func CopyModeReplace added in v1.0.66

func CopyModeReplace(param ...CopyParam) CopyMode

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 WithCodec added in v1.0.68

func WithCodec[T any](codec dom.FormatBiCodec) Opt[T]

func WithInitialData added in v1.0.68

func WithInitialData[T any](data dom.ContainerBuilder) Opt[T]

Jump to

Keyboard shortcuts

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