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  }