代码拉取完成,页面将自动刷新
package generator
import (
"fmt"
str "gitee.com/eden-framework/strings"
"github.com/fatih/color"
"log"
"os"
"path"
"path/filepath"
"strings"
)
func IsGoFile(filename string) bool {
return filepath.Ext(filename) == ".go"
}
func IsGoTextFile(filename string) bool {
return strings.HasSuffix(filepath.Base(filename), "_test.go")
}
func WriteFile(filename string, content string) {
pwd, _ := os.Getwd()
if filepath.IsAbs(filename) {
filename, _ = filepath.Rel(pwd, filename)
}
n3 := mustWriteFile(filename, content)
log.Printf(color.GreenString("Generated file to %s (%d KiB)", color.BlueString(path.Join(pwd, filename)), n3/1024))
}
func PathExist(p string) bool {
_, err := os.Stat(p)
if err != nil {
if os.IsNotExist(err) {
return false
}
}
return true
}
func GetServiceName(projectName string) string {
projectName = strings.TrimPrefix(projectName, "srv-")
projectName = strings.TrimPrefix(projectName, "service-")
return projectName
}
func GeneratedSuffix(filename string) string {
dir := filepath.Dir(filename)
base := filepath.Base(filename)
ext := filepath.Ext(filename)
if IsGoFile(filename) && IsGoTextFile(filename) {
base = strings.Replace(base, "_test.go", "__generated_test.go", -1)
} else {
base = strings.Replace(base, ext, fmt.Sprintf("__generated%s", ext), -1)
}
return fmt.Sprintf("%s/%s", dir, base)
}
func mustWriteFile(filename string, content string) int {
dir := filepath.Dir(filename)
if dir != "" {
os.MkdirAll(dir, os.ModePerm)
}
f, err := os.Create(filename)
if err != nil {
panic(err)
}
defer f.Close()
n3, err := f.WriteString(content)
if err != nil {
panic(err)
}
f.Sync()
return n3
}
func toDefaultTableName(name string) string {
return str.ToLowerSnakeCase("t_" + name)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。