gracefull shutdown for unresolvable errors

This commit is contained in:
2025-03-07 21:40:53 +07:00
parent 2fd8b20b77
commit e6f21d1bb2
19 changed files with 181 additions and 133 deletions

View File

@@ -9,30 +9,30 @@ import (
type Field struct {
Name string
Type string
Medatada []Medatada
Medatada []Metadata
}
var PRIMITIVE_TYPES = map[string]string{
"date": "date",
"number": "number",
"string": "string",
"date": "date",
"number": "number",
"string": "string",
"multiple": "multiple",
"boolean": "boolean",
"bool": "boolean",
"int": "number",
"uint": "number",
"float32": "number",
"float64": "number",
"int32": "number",
"int64": "number",
"uint32": "number",
"uint64": "number",
"int8": "number",
"int16": "number",
"uint8": "number",
"uint16": "number",
"byte": "number",
"rune": "number",
"boolean": "boolean",
"bool": "boolean",
"int": "number",
"uint": "number",
"float32": "number",
"float64": "number",
"int32": "number",
"int64": "number",
"uint32": "number",
"uint64": "number",
"int8": "number",
"int16": "number",
"uint8": "number",
"uint16": "number",
"byte": "number",
"rune": "number",
}
func (f *Field) GenerateType() string {

View File

@@ -4,30 +4,30 @@ import (
"strings"
)
type Medatada struct {
type Metadata struct {
Name string
Values []string
}
func NewMetadata(tag string) *Medatada {
func NewMetadata(tag string) *Metadata {
tag = strings.TrimSpace(tag)
tagName := ""
var values []string
if strings.Contains(tag, "=") {
tagName = tag[:strings.Index(tag, "=")]
if tag[strings.Index(tag, "=") + 1] == '[' {
values = append(values, strings.Split(tag[strings.Index(tag, "=") + 2:len(tag)-1], ";")...)
if tag[strings.Index(tag, "=")+1] == '[' {
values = append(values, strings.Split(tag[strings.Index(tag, "=")+2:len(tag)-1], ";")...)
for i := range values {
values[i] = strings.TrimSpace(values[i])
}
} else {
values = append(values, strings.TrimSpace(tag[strings.Index(tag, "=") + 1:]))
values = append(values, strings.TrimSpace(tag[strings.Index(tag, "=")+1:]))
}
} else {
tagName = tag
}
return &Medatada{
Name: strings.TrimSpace(strings.ToLower(tagName)),
return &Metadata{
Name: strings.TrimSpace(strings.ToLower(tagName)),
Values: values,
}
}
}