2025-05-14 22:00:38 -04:00
|
|
|
package files
|
|
|
|
|
|
2026-04-07 09:09:12 -04:00
|
|
|
import "strings"
|
|
|
|
|
|
2025-05-14 22:00:38 -04:00
|
|
|
type FileType int32
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
JSON FileType = iota
|
|
|
|
|
XML
|
|
|
|
|
YAML
|
|
|
|
|
TEXT
|
2026-04-07 09:09:12 -04:00
|
|
|
GREPPABLE
|
2025-05-16 15:33:29 -04:00
|
|
|
UNKNOWN
|
2025-05-14 22:00:38 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func GetFileType(filetype string) FileType {
|
2026-04-07 09:09:12 -04:00
|
|
|
switch strings.ToLower(strings.TrimSpace(filetype)) {
|
2025-05-14 22:00:38 -04:00
|
|
|
case "json":
|
|
|
|
|
return JSON
|
|
|
|
|
case "xml":
|
|
|
|
|
return XML
|
|
|
|
|
case "yaml":
|
|
|
|
|
return YAML
|
2026-04-07 09:09:12 -04:00
|
|
|
case "txt", "text":
|
2025-05-14 22:00:38 -04:00
|
|
|
return TEXT
|
2026-04-07 09:09:12 -04:00
|
|
|
case "grep", "greppable":
|
|
|
|
|
return GREPPABLE
|
2025-05-14 22:00:38 -04:00
|
|
|
default:
|
|
|
|
|
return JSON
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (ft FileType) String() string {
|
|
|
|
|
switch ft {
|
|
|
|
|
case JSON:
|
|
|
|
|
return "json"
|
|
|
|
|
case XML:
|
|
|
|
|
return "xml"
|
|
|
|
|
case YAML:
|
|
|
|
|
return "yaml"
|
|
|
|
|
case TEXT:
|
|
|
|
|
return "txt"
|
2026-04-07 09:09:12 -04:00
|
|
|
case GREPPABLE:
|
|
|
|
|
return "grep"
|
2025-05-14 22:00:38 -04:00
|
|
|
default:
|
|
|
|
|
return "json"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (ft FileType) Extension() string {
|
|
|
|
|
return "." + ft.String()
|
|
|
|
|
}
|