github.com/Cloud-Foundations/Dominator@v0.3.4/lib/decoders/api.go (about) 1 package decoders 2 3 import ( 4 "io" 5 ) 6 7 type Decoder interface { 8 Decode(value interface{}) error 9 } 10 11 type DecoderGenerator func(r io.Reader) Decoder 12 13 func RegisterDecoder(extension string, decoderGenerator DecoderGenerator) { 14 registerDecoder(extension, decoderGenerator) 15 } 16 17 func DecodeFile(filename string, value interface{}) error { 18 return defaultDecoders.decodeFile(filename, value) 19 } 20 21 func FindAndDecodeFile(basename string, value interface{}) error { 22 return defaultDecoders.findAndDecodeFile(basename, value) 23 }