func (l Loader) normalizeField(fieldName string, normalization string) error { if normalization == "filepath" { value, _ := reflections.GetField(l.Config, fieldName) fieldKind, _ := reflections.GetFieldKind(l.Config, fieldName) // Make sure we're normalizing a string filed if fieldKind != reflect.String { return fmt.Errorf("filepath normalization only works on string fields") } // Normalize the field to be a filepath if valueAsString, ok := value.(string); ok { normalizedPath := utils.NormalizeFilePath(valueAsString) if err := reflections.SetField(l.Config, fieldName, normalizedPath); err != nil { return err } } } else { return fmt.Errorf("Unknown normalization `%s`", normalization) } return nil }
func (f File) AbsolutePath() string { return utils.NormalizeFilePath(f.Path) }