Files
sonr/pkg/vault/embed/utils.go
T

48 lines
772 B
Go
Raw Normal View History

package embed
2024-10-02 01:40:49 -04:00
2024-10-04 01:57:43 -04:00
import (
2024-12-16 15:29:54 -05:00
_ "embed"
2024-10-04 01:57:43 -04:00
"reflect"
"strings"
)
2024-12-16 15:29:54 -05:00
//go:embed index.html
var IndexHTML []byte
//go:embed main.js
var MainJS []byte
//go:embed sw.js
var WorkerJS []byte
2024-10-04 01:57:43 -04:00
func getSchema(structType interface{}) string {
2024-10-04 01:57:43 -04:00
t := reflect.TypeOf(structType)
if t.Kind() == reflect.Ptr {
t = t.Elem()
}
if t.Kind() != reflect.Struct {
return ""
}
var fields []string
for i := 0; i < t.NumField(); i++ {
field := t.Field(i)
fieldName := toCamelCase(field.Name)
fields = append(fields, fieldName)
}
// Add "++" at the beginning, separated by a comma
return "++, " + strings.Join(fields, ", ")
2024-10-02 01:40:49 -04:00
}
func toCamelCase(s string) string {
if s == "" {
return s
}
if len(s) == 1 {
return strings.ToLower(s)
}
return strings.ToLower(s[:1]) + s[1:]
}