From b406d68abb013d32d84cc1b285209df457ac2560 Mon Sep 17 00:00:00 2001 From: opbnq-q Date: Tue, 18 Feb 2025 20:56:33 +0700 Subject: [PATCH] fix --- utils/find_frontend_path.go | 2 +- utils/get_struct_fields.go | 8 +++++--- utils/split_struct_field.go | 15 ++++++++------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/utils/find_frontend_path.go b/utils/find_frontend_path.go index 069b4d8..5b787c3 100644 --- a/utils/find_frontend_path.go +++ b/utils/find_frontend_path.go @@ -21,7 +21,7 @@ func FindFrontendPath() string { currentPath = filepath.Clean(dir) } - if len(dirs) < 2 || dirs[len(dirs)-2]+"/"+dirs[len(dirs)-1] != "frontend/src" { + if len(dirs) < 2 || dirs[len(dirs)-2] + "/" + dirs[len(dirs)-1] != "frontend/src" { panic(errors.New("You're not in frontend/src")) } diff --git a/utils/get_struct_fields.go b/utils/get_struct_fields.go index c8b5580..49a2c30 100644 --- a/utils/get_struct_fields.go +++ b/utils/get_struct_fields.go @@ -24,7 +24,10 @@ func GetStructFields(file *os.File, structName string) []entities.Field { bracketsCount += strings.Count(line, "{") bracketsCount -= strings.Count(line, "}") line = strings.TrimSpace(line) - newField := SplitStructField(line) + newField, err := SplitStructField(line) + if err != nil { + return structFields + } if newField != nil { structFields = append(structFields, *newField) } @@ -34,6 +37,5 @@ func GetStructFields(file *os.File, structName string) []entities.Field { if err := scanner.Err(); err != nil { panic(err) } - return structFields -} \ No newline at end of file +} diff --git a/utils/split_struct_field.go b/utils/split_struct_field.go index 790e9ce..631805d 100644 --- a/utils/split_struct_field.go +++ b/utils/split_struct_field.go @@ -1,15 +1,19 @@ package utils import ( + "errors" "nto_cli/entities" "strings" "github.com/fatih/structtag" ) -func SplitStructField(field string) *entities.Field { - if strings.Contains(field, "type") { - return nil +func SplitStructField(field string) (*entities.Field, error) { + if strings.Contains(field, "type") { + return nil, nil + } + if len(strings.TrimSpace(field)) < 2 { + return nil, errors.New("End") } startBacktip := strings.Index(field, "`") endBacktip := -1 @@ -42,9 +46,6 @@ func SplitStructField(field string) *entities.Field { data := SplitBySingleSpace(field) - if len(data) < 2 { - return nil - } name := data[0] dataType := data[1] @@ -52,5 +53,5 @@ func SplitStructField(field string) *entities.Field { Medatada: metadata, Type: dataType, Name: name, - } + }, nil } \ No newline at end of file