goldsmith/interface.go
2018-12-09 17:00:46 -08:00

27 lines
408 B
Go

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