transform

package
v0.0.0-...-42d6f5d Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2023 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 BytesReader

type BytesReader interface {
	// The slice given by Bytes is valid for use only until the next buffer modification.
	// That is, if you want to use this value outside of the current transformer step,
	// you need to take a copy.
	Bytes() []byte

	io.Reader
}

BytesReader wraps the Bytes method, usually implemented by bytes.Buffer, and an io.Reader.

type Chain

type Chain []Transformer

Chain is an ordered processing chain. The next transform operation will receive the output from the previous.

func New

func New(trs ...Transformer) Chain

New creates a content transformer chain given the provided transform funcs.

func NewEmpty

func NewEmpty() Chain

NewEmpty creates a new slice of transformers with a capacity of 20.

func (*Chain) Apply

func (c *Chain) Apply(to io.Writer, from io.Reader) error

Apply passes the given from io.Reader through the transformation chain. The result is written to to.

type FromTo

type FromTo interface {
	From() BytesReader
	To() io.Writer
}

FromTo is sent to each transformation step in the chain.

type Transformer

type Transformer func(ft FromTo) error

Transformer is the func that needs to be implemented by a transformation step.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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