func RegisterDecoder(decoder Decoder) {
	name := strings.TrimLeft(strings.ToLower(decoder.Name()), ".")
	if _, ok := decoders[name]; ok {
		log.Panic("decoder " + name + " is already registered")
	}
	decoders[name] = decoder
}
// RegisterDecoder registers decoder. It should be called during init.
// Duplicate decoders by name are not allowed and will panic.
RegisterDecoder registers decoder. It should be called during init.
Duplicate decoders by name are not allowed and will panic.
// RegisterDecoder registers decoder . It should be called during init . // Duplicate decoders by name are not allowed and will panic .
func RegisterDecoder(decoder Decoder) {
	name := strings.TrimLeft(strings.ToLower(decoder.Name()), ".")
	if _, ok := decoders[name]; ok {
		log.Panic("decoder " + name + " is already registered")
	}
	decoders[name] = decoder
}
func RegisterDecoder ( decoder Decoder ) { name := strings . TrimLeft ( strings . ToLower ( decoder . Name ( ) ) , " " ) if _ , ok := decoders [ name ] ; ok { log . Panic ( " " + name + " " ) } decoders [ name ] = decoder }
RegisterDecoder registers decoder.
RegisterDecoder registers decoder .