middlewares

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2023 License: MIT Imports: 4 Imported by: 40

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JqObjectMiddleware added in v0.2.33

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

func NewJqObjectMiddleware added in v0.2.33

func NewJqObjectMiddleware(
	expression string,
) (*JqObjectMiddleware, error)

func (*JqObjectMiddleware) Process added in v0.2.33

func (jqm *JqObjectMiddleware) Process(
	ctx context.Context,
	object types.Row,
) ([]types.Row, error)

type JqTableMiddleware added in v0.2.33

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

func NewJqTableMiddleware added in v0.2.33

func NewJqTableMiddleware(
	fieldExpressions map[types.FieldName]string,
) (*JqTableMiddleware, error)

func (*JqTableMiddleware) Process added in v0.2.33

func (jqm *JqTableMiddleware) Process(ctx context.Context, table *types.Table) (*types.Table, error)

type ObjectMiddleware

type ObjectMiddleware interface {
	// Process transforms each individual object. Each object can return multiple
	// objects which will get processed individually downstream.
	Process(ctx context.Context, object types.Row) ([]types.Row, error)
}

type Processor added in v0.3.0

type Processor struct {
	TableMiddlewares  []TableMiddleware
	ObjectMiddlewares []ObjectMiddleware
	RowMiddlewares    []RowMiddleware

	Table *types.Table
}

func NewProcessor added in v0.3.0

func NewProcessor(options ...ProcessorOption) *Processor

func (*Processor) AddObjectMiddleware added in v0.3.0

func (p *Processor) AddObjectMiddleware(mw ...ObjectMiddleware)

func (*Processor) AddObjectMiddlewareAtIndex added in v0.3.0

func (p *Processor) AddObjectMiddlewareAtIndex(i int, mw ...ObjectMiddleware)

func (*Processor) AddObjectMiddlewareInFront added in v0.3.0

func (p *Processor) AddObjectMiddlewareInFront(mw ...ObjectMiddleware)

func (*Processor) AddRow added in v0.3.0

func (p *Processor) AddRow(ctx context.Context, row types.Row) error

AddRow runs row through the chain of ObjectMiddlewares, then RowMiddlewares and adds the resulting rows to the table.

func (*Processor) AddRowMiddleware added in v0.3.0

func (p *Processor) AddRowMiddleware(mw ...RowMiddleware)

func (*Processor) AddRowMiddlewareAtIndex added in v0.3.0

func (p *Processor) AddRowMiddlewareAtIndex(i int, mw ...RowMiddleware)

func (*Processor) AddRowMiddlewareInFront added in v0.3.0

func (p *Processor) AddRowMiddlewareInFront(mw ...RowMiddleware)

func (*Processor) AddTableMiddleware added in v0.3.0

func (p *Processor) AddTableMiddleware(mw ...TableMiddleware)

func (*Processor) AddTableMiddlewareAtIndex added in v0.3.0

func (p *Processor) AddTableMiddlewareAtIndex(i int, mw ...TableMiddleware)

func (*Processor) AddTableMiddlewareInFront added in v0.3.0

func (p *Processor) AddTableMiddlewareInFront(mw ...TableMiddleware)

func (*Processor) Finalize added in v0.3.0

func (p *Processor) Finalize(ctx context.Context) error

func (*Processor) GetTable added in v0.3.0

func (p *Processor) GetTable() *types.Table

type ProcessorOption added in v0.3.0

type ProcessorOption func(*Processor)

func WIthPrependTableMiddleware added in v0.3.0

func WIthPrependTableMiddleware(tm ...TableMiddleware) ProcessorOption

func WithObjectMiddleware added in v0.3.0

func WithObjectMiddleware(om ...ObjectMiddleware) ProcessorOption

func WithPrependObjectMiddleware added in v0.3.0

func WithPrependObjectMiddleware(om ...ObjectMiddleware) ProcessorOption

func WithPrependRowMiddleware added in v0.3.0

func WithPrependRowMiddleware(rm ...RowMiddleware) ProcessorOption

func WithRowMiddleware added in v0.3.0

func WithRowMiddleware(rm ...RowMiddleware) ProcessorOption

func WithTableMiddleware added in v0.3.0

func WithTableMiddleware(tm ...TableMiddleware) ProcessorOption

type RowMiddleware added in v0.3.0

type RowMiddleware interface {
	Process(ctx context.Context, row types.Row) ([]types.Row, error)
}

type TableMiddleware

type TableMiddleware interface {
	// Process transforms a full table
	Process(ctx context.Context, table *types.Table) (*types.Table, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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