consts/file_type.go

77 lines
1.5 KiB
Go

// Package consts ...
//
// Description : consts ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2023-08-11 10:59
package consts
type FileType string
func (ft FileType) String() string {
return string(ft)
}
func (ft FileType) MarshalJSON() ([]byte, error) {
return []byte(`"` + ft.String() + `"`), nil
}
func (ft FileType) IsValid() bool {
for _, fileType := range SupportFileTypeList {
if fileType.Value == ft || fileType.Value.String() == ft.String() {
return true
}
}
return false
}
const (
FileTypeJson FileType = "json" // json格式文件
FileTypeIni FileType = "ini" // ini格式文件
FileTypeYml FileType = "yml" // yml 格式文件
FileTypeYaml FileType = "yaml" // yaml格式文件
FileTypeToml FileType = "toml" // toml格式文件
FileTypeXml FileType = "xml" // xml格式文件
FileTypeTxt FileType = "txt" // txt格式文件
FileTypeUnknown FileType = "unknown" // 未知格式
)
type FileTypeDesc struct {
Value FileType
Desc string
}
var (
SupportFileTypeList = []FileTypeDesc{
{
Value: FileTypeJson,
Desc: "json格式文件",
},
{
Value: FileTypeIni,
Desc: "init格式文件",
},
{
Value: FileTypeYml,
Desc: "yml格式文件",
},
{
Value: FileTypeYaml,
Desc: "yaml格式文件",
},
{
Value: FileTypeToml,
Desc: "toml格式文件",
},
{
Value: FileTypeTxt,
Desc: "txt格式文件",
},
{
Value: FileTypeXml,
Desc: "xml格式文件",
},
}
)