本文整理汇总了Golang中github.com/goadesign/goa/design.MediaTypeDefinition.ToObject方法的典型用法代码示例。如果您正苦于以下问题:Golang MediaTypeDefinition.ToObject方法的具体用法?Golang MediaTypeDefinition.ToObject怎么用?Golang MediaTypeDefinition.ToObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/goadesign/goa/design.MediaTypeDefinition
的用法示例。
在下文中一共展示了MediaTypeDefinition.ToObject方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: fieldAssignmentModelToType
func fieldAssignmentModelToType(model *RelationalModelDefinition, ut *design.MediaTypeDefinition, mtype, utype string) string {
//utPackage := "app"
var fieldAssignments []string
// type.Field = model.Field
for fname, field := range model.RelationalFields {
if field.Datatype == "" {
continue
}
var mpointer, upointer bool
mpointer = field.Nullable
obj := ut.ToObject()
definition := ut.Definition()
for key := range obj {
gfield := obj[key]
if field.Underscore() == key || field.DatabaseFieldName == key {
// this is our field
if gfield.Type.IsObject() || definition.IsPrimitivePointer(key) {
upointer = true
} else {
// set it explicity because we're reusing the same bool
upointer = false
}
var prefix string
if upointer && !mpointer {
// ufield = &mfield
prefix = "&"
} else if mpointer && !upointer {
// ufield = *mfield (rare if never?)
prefix = "*"
}
fa := fmt.Sprintf("\t%s.%s = %s%s.%s", utype, codegen.Goify(key, true), prefix, mtype, fname)
fieldAssignments = append(fieldAssignments, fa)
}
}
}
return strings.Join(fieldAssignments, "\n")
}