tdl

package
v0.0.34 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cache added in v0.0.33

type Cache interface {
	Get(string) (*CacheItem, error)
	Writer(string) (io.WriteCloser, error)
}

type CacheItem added in v0.0.33

type CacheItem struct {
	io.ReadCloser
	Name string
	Size int
}

type Generator

type Generator interface {
	fmt.Stringer
	Execute(context.Context, *tdlv1alpha1.Spec) (afero.Fs, error)
}

type Input

type Input interface {
	fmt.Stringer
	io.Reader
	MediaType() MediaType
}

type MediaType

type MediaType string

func (MediaType) String

func (m MediaType) String() string

String implements fmt.Stringer.

type Meta added in v0.0.33

type Meta interface {
	Values() iter.Seq2[string, string]
	Value(string) (string, bool)
}

type OS added in v0.0.31

type OS interface {
	Stdin() Stdin
	Stdout() io.Writer
	Stderr() io.Writer
	Fs() afero.Fs
}

type Output added in v0.0.31

type Output interface {
	fmt.Stringer
	Write(afero.Fs) error
}

type ParseResult added in v0.0.31

type ParseResult struct {
	Inputs []Input
	Output Output
}

type Parser added in v0.0.33

type Parser[T any] interface {
	Parse(string) (T, error)
}

type Pipeline

type Pipeline[T, V any] interface {
	Execute(context.Context, T) (V, error)
}

type Plugin

type Plugin interface {
	fmt.Stringer
	Meta() Meta
	Supports(Target) bool
	Prepare(context.Context) error
}

type Stdin added in v0.0.31

type Stdin interface {
	io.Reader
	Stat() (fs.FileInfo, error)
}

type Target

type Target interface {
	fmt.Stringer
	Meta() Meta
	Choose(iter.Seq[Plugin]) (Plugin, error)
}

type Tool added in v0.0.33

type Tool interface {
	fmt.Stringer
	Execute(context.Context, afero.Fs, []string) (afero.Fs, error)
}

Jump to

Keyboard shortcuts

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