Transfer first library files
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
package ersteller_lib
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"regexp"
|
||||
"strings"
|
||||
"text/template"
|
||||
)
|
||||
|
||||
func FirstLetterToUpper(name string) string {
|
||||
return strings.ToUpper(name[:1]) + name[1:]
|
||||
}
|
||||
|
||||
func FirstLetterToLower(name string) string {
|
||||
return strings.ToLower(name[:1]) + name[1:]
|
||||
}
|
||||
|
||||
func InlineTemplate(templateString string, data any) string {
|
||||
dollarRegex := regexp.MustCompile(`\$(\w+)\$`)
|
||||
templateString = dollarRegex.ReplaceAllStringFunc(templateString, func(s string) string {
|
||||
if strings.HasPrefix(s, "$.") || strings.HasPrefix(s, "$end") || strings.HasPrefix(s, "$else") {
|
||||
return s
|
||||
}
|
||||
return dollarRegex.ReplaceAllString(s, "$.$1$")
|
||||
})
|
||||
tmpl, err := template.New("inline").Delims("$", "$").Parse(templateString)
|
||||
if err != nil {
|
||||
return fmt.Sprint("Failed to parse template ", err)
|
||||
}
|
||||
var buf bytes.Buffer
|
||||
err = tmpl.Execute(&buf, data)
|
||||
if err != nil {
|
||||
return fmt.Sprint("Failed to execute template ", err)
|
||||
}
|
||||
return buf.String()
|
||||
}
|
||||
Reference in New Issue
Block a user