package registry type Converter struct { data map[string][]Conversion } func NewConverter() *Converter { return &Converter{data: map[string][]Conversion{}} } func (g *Converter) Add(c Conversion) { conversionsFromIn, ok := g.data[c.InType()] if !ok { conversionsFromIn = []Conversion{} } conversionsFromIn = append(conversionsFromIn, c) g.data[c.InType()] = conversionsFromIn } func (g *Converter) ConversionsFrom(t string) []Conversion { return g.data[t] }