code: func (d Decoder) UnmarshalFileToMap(fs afero.Fs, filename string) (map[string]interface{}, error) {
  	format := FormatFromString(filename)
  	if format == "" {
  		return nil, errors.Errorf("%q is not a valid configuration format", filename)
  	}
  
  	data, err := afero.ReadFile(fs, filename)
  	if err != nil {
  		return nil, err
  	}
  	return d.UnmarshalToMap(data, format)
  }
docs: // UnmarshalFileToMap is the same as UnmarshalToMap, but reads the data from
  // the given filename.