github.com/k0marov/go-socnet@v0.0.0-20220715154813-90d07867c782/core/abstract/table_name/table_name.go (about) 1 package table_name 2 3 import ( 4 "fmt" 5 "strings" 6 "unicode" 7 ) 8 9 type TableName struct { 10 value string 11 isValid bool 12 } 13 14 func NewTableName(name string) TableName { 15 if name != "" && len(strings.FieldsFunc(name, unicode.IsLetter)) == 0 { 16 return TableName{name, true} 17 } else { 18 return TableName{"", false} 19 } 20 } 21 22 func (t TableName) Value() (string, error) { 23 if t.isValid { 24 return t.value, nil 25 } else { 26 return "", fmt.Errorf("the provided table name is not valid") 27 } 28 }