Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
e909d656d9 | |||
0971f60c30
|
@@ -293,15 +293,7 @@ func fmtOutput(cs string, enums []EnumDef, pkgname string) string {
|
|||||||
str += "" + "\n"
|
str += "" + "\n"
|
||||||
|
|
||||||
str += "func (e " + enumdef.EnumTypeName + ") ValuesMeta() []EnumMetaValue {" + "\n"
|
str += "func (e " + enumdef.EnumTypeName + ") ValuesMeta() []EnumMetaValue {" + "\n"
|
||||||
str += " return []EnumMetaValue{" + "\n"
|
str += " return " + enumdef.EnumTypeName + "ValuesMeta()"
|
||||||
for _, v := range enumdef.Values {
|
|
||||||
if hasDescr {
|
|
||||||
str += " " + fmt.Sprintf("EnumMetaValue{VarName: \"%s\", Value: %s, Description: langext.Ptr(\"%s\")},", v.VarName, v.VarName, strings.TrimSpace(*v.Description)) + "\n"
|
|
||||||
} else {
|
|
||||||
str += " " + fmt.Sprintf("EnumMetaValue{VarName: \"%s\", Value: %s, Description: nil},", v.VarName, v.VarName) + "\n"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
str += " }" + "\n"
|
|
||||||
str += "}" + "\n"
|
str += "}" + "\n"
|
||||||
str += "" + "\n"
|
str += "" + "\n"
|
||||||
|
|
||||||
@@ -330,6 +322,15 @@ func fmtOutput(cs string, enums []EnumDef, pkgname string) string {
|
|||||||
str += "}" + "\n"
|
str += "}" + "\n"
|
||||||
str += "" + "\n"
|
str += "" + "\n"
|
||||||
|
|
||||||
|
str += "func (e " + enumdef.EnumTypeName + ") Meta() EnumMetaValue {" + "\n"
|
||||||
|
if hasDescr {
|
||||||
|
str += " return EnumMetaValue{VarName: e.VarName(), Value: e, Description: langext.Ptr(e.Description())}"
|
||||||
|
} else {
|
||||||
|
str += " return EnumMetaValue{VarName: e.VarName(), Value: e, Description: nil}"
|
||||||
|
}
|
||||||
|
str += "}" + "\n"
|
||||||
|
str += "" + "\n"
|
||||||
|
|
||||||
str += "func Parse" + enumdef.EnumTypeName + "(vv string) (" + enumdef.EnumTypeName + ", bool) {" + "\n"
|
str += "func Parse" + enumdef.EnumTypeName + "(vv string) (" + enumdef.EnumTypeName + ", bool) {" + "\n"
|
||||||
str += " for _, ev := range __" + enumdef.EnumTypeName + "Values {" + "\n"
|
str += " for _, ev := range __" + enumdef.EnumTypeName + "Values {" + "\n"
|
||||||
str += " if string(ev) == vv {" + "\n"
|
str += " if string(ev) == vv {" + "\n"
|
||||||
@@ -348,11 +349,7 @@ func fmtOutput(cs string, enums []EnumDef, pkgname string) string {
|
|||||||
str += "func " + enumdef.EnumTypeName + "ValuesMeta() []EnumMetaValue {" + "\n"
|
str += "func " + enumdef.EnumTypeName + "ValuesMeta() []EnumMetaValue {" + "\n"
|
||||||
str += " return []EnumMetaValue{" + "\n"
|
str += " return []EnumMetaValue{" + "\n"
|
||||||
for _, v := range enumdef.Values {
|
for _, v := range enumdef.Values {
|
||||||
if hasDescr {
|
str += " " + v.VarName + ".Meta(),\n"
|
||||||
str += " " + fmt.Sprintf("EnumMetaValue{VarName: \"%s\", Value: %s, Description: langext.Ptr(\"%s\")},", v.VarName, v.VarName, strings.TrimSpace(*v.Description)) + "\n"
|
|
||||||
} else {
|
|
||||||
str += " " + fmt.Sprintf("EnumMetaValue{VarName: \"%s\", Value: %s, Description: nil},", v.VarName, v.VarName) + "\n"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
str += " }" + "\n"
|
str += " }" + "\n"
|
||||||
str += "}" + "\n"
|
str += "}" + "\n"
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
package goext
|
package goext
|
||||||
|
|
||||||
const GoextVersion = "0.0.184"
|
const GoextVersion = "0.0.186"
|
||||||
|
|
||||||
const GoextVersionTimestamp = "2023-07-19T19:29:59+0200"
|
const GoextVersionTimestamp = "2023-07-24T09:13:19+0200"
|
||||||
|
@@ -459,3 +459,11 @@ func ArrExcept[T comparable](arr []T, needles ...T) []T {
|
|||||||
}
|
}
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ArrayToInterface[T any](t []T) []interface{} {
|
||||||
|
res := make([]interface{}, 0, len(t))
|
||||||
|
for i, _ := range t {
|
||||||
|
res = append(res, t[i])
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
@@ -15,3 +15,14 @@ func (c *Coll[TData]) InsertOne(ctx context.Context, valueIn TData) (TData, erro
|
|||||||
|
|
||||||
return c.decodeSingle(ctx, mongoRes)
|
return c.decodeSingle(ctx, mongoRes)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Coll[TData]) InsertMany(ctx context.Context, valueIn []TData) (TData, error) {
|
||||||
|
insRes, err := c.coll.InsertMany(ctx, langext.TovalueIn)
|
||||||
|
if err != nil {
|
||||||
|
return *new(TData), err
|
||||||
|
}
|
||||||
|
|
||||||
|
mongoRes := c.coll.FindOne(ctx, bson.M{"_id": insRes.InsertedID})
|
||||||
|
|
||||||
|
return c.decodeSingle(ctx, mongoRes)
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user