goldsmith/interface.go
2018-12-09 12:45:06 -08:00

27 lines
392 B
Go

package goldsmith
type Initializer interface {
Initialize(ctx *Context) (Filter, error)
}
type Processor interface {
Process(ctx *Context, file *File) error
}
type Finalizer interface {
Finalize(ctx *Context) error
}
type Component interface {
Name() string
}
type Filter interface {
Component
Accept(ctx *Context, file *File) (bool, error)
}
type Plugin interface {
Component
}