a lil bit refactoring

This commit is contained in:
Egor Aristov 2025-11-08 09:52:14 +03:00
parent 3373d9a841
commit e04edeb2ed
Signed by: egor3f
GPG Key ID: 40482A264AAEC85F

View File

@ -31,42 +31,41 @@ func main() {
flag.Parse() flag.Parse()
if *src == "" || *dest == "" { if *src == "" || *dest == "" {
log.Panic("source and destination must be set") log.Fatalln("source and destination must be set")
} }
srcAbs, err := filepath.Abs(*src) srcAbs, err := filepath.Abs(*src)
if err != nil { if err != nil {
log.Panic(err) log.Fatalln(err)
} }
destAbs, err := filepath.Abs(*dest) destAbs, err := filepath.Abs(*dest)
if err != nil { if err != nil {
log.Panic(err) log.Fatalln(err)
} }
apiParser, err := apiParserByPath(srcAbs) apiParser, err := apiParserByPath(srcAbs)
if err != nil { if err != nil {
log.Panic(err) log.Fatalln(err)
}
apis, err := apiParser.Parse()
if err != nil {
log.Panic(err)
} }
apiGenerator, err := apiGeneratorByPath(destAbs, *pkgName) apiGenerator, err := apiGeneratorByPath(destAbs, *pkgName)
if err != nil { if err != nil {
log.Panic(err) log.Fatalln(err)
}
apis, err := apiParser.Parse()
if err != nil {
log.Fatalln(err)
} }
if err := apiGenerator.Generate(apis, destAbs); err != nil { if err := apiGenerator.Generate(apis, destAbs); err != nil {
log.Panic(err) log.Fatalln(err)
} }
} }
func apiParserByPath(src string) (ApiParser, error) { func apiParserByPath(src string) (ApiParser, error) {
pathFI, err := os.Stat(src)
s, err := os.Stat(src)
if err != nil { if err != nil {
return nil, fmt.Errorf("stat src: %w", err) return nil, fmt.Errorf("stat src: %w", err)
} }
@ -74,21 +73,21 @@ func apiParserByPath(src string) (ApiParser, error) {
var parser ApiParser var parser ApiParser
var ext string var ext string
if s.IsDir() { if pathFI.IsDir() {
if err := filepath.Walk(src, func(curPath string, i fs.FileInfo, err error) error { if err := filepath.Walk(src, func(curPath string, fileinfo fs.FileInfo, err error) error {
if err != nil { if err != nil {
return err return err
} }
if i.IsDir() { if fileinfo.IsDir() {
return nil return nil
} }
p, err := apiParserByFilePath(i.Name()) p, err := apiParserByFilePath(fileinfo.Name())
if err == nil { if err == nil {
if parser == nil { if parser == nil {
parser = p parser = p
ext = path.Ext(i.Name()) ext = path.Ext(fileinfo.Name())
} else if path.Ext(i.Name()) != ext { } else if path.Ext(fileinfo.Name()) != ext {
return fmt.Errorf("path contain multiple supported filetypes") return fmt.Errorf("path contain multiple supported filetypes")
} }
parser.AddFile(curPath) parser.AddFile(curPath)