Add Markdown HTML publication
This commit is contained in:
30
internal/transform/registry.go
Normal file
30
internal/transform/registry.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package transform
|
||||
|
||||
import "fmt"
|
||||
|
||||
type Registry struct {
|
||||
transformers map[string]Transformer
|
||||
}
|
||||
|
||||
func NewRegistry() *Registry {
|
||||
return &Registry{transformers: make(map[string]Transformer)}
|
||||
}
|
||||
|
||||
func (r *Registry) Register(name string, transformer Transformer) error {
|
||||
if name == "" {
|
||||
return fmt.Errorf("transform name is required")
|
||||
}
|
||||
if transformer == nil {
|
||||
return fmt.Errorf("transformer %s is nil", name)
|
||||
}
|
||||
if _, exists := r.transformers[name]; exists {
|
||||
return fmt.Errorf("transform %s is already registered", name)
|
||||
}
|
||||
r.transformers[name] = transformer
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *Registry) Get(name string) (Transformer, bool) {
|
||||
transformer, ok := r.transformers[name]
|
||||
return transformer, ok
|
||||
}
|
||||
Reference in New Issue
Block a user