xform

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Name       string            `json:"name,omitempty" yaml:"name,omitempty"`
	Meta       map[string]string `json:"meta,omitempty" yaml:"meta,omitempty"`
	Parameters []string          `json:"parameters,omitempty" yaml:"parameters,omitempty"`
}

type Factory

type Factory interface {
	Create(ctx context.Context, config tags.Values, destType reflect.Type, embedFS *embed.FS) (Transformer, error)
}

func NewTransformerFactory

func NewTransformerFactory(name string, constructor func(ctx context.Context, config tags.Values, destType reflect.Type, embedFS *embed.FS) (Transformer, error)) Factory

NewTransformerFactory creates a new transformer factory

type Registry

type Registry struct {
	internal.Map[string, Factory]
}

func NewRegistry

func NewRegistry() *Registry

func (*Registry) Lookup

func (r *Registry) Lookup(name string) (Factory, bool)

Lookup returns a transformer from the registry

func (*Registry) Register

func (r *Registry) Register(name string, factory Factory)

Register adds a transformer to the registry

type Transformer

type Transformer interface {
	Transform(ctx context.Context, resolver locator.Resolver, input interface{}) (interface{}, error)
}

type TransformerBase

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

TransformerBase provides basic transformer functionality

func NewTransformerBase

func NewTransformerBase(name string, destType reflect.Type, config tags.Values, embedFS *embed.FS) TransformerBase

NewTransformerBase creates a new transformer base

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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