本文整理汇总了Golang中github.com/goadesign/goa/dslengine.Caller函数的典型用法代码示例。如果您正苦于以下问题:Golang Caller函数的具体用法?Golang Caller怎么用?Golang Caller使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Caller函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: responseDefinition
// responseDefinition returns true and current context if it is a ResponseDefinition,
// nil and false otherwise.
func responseDefinition(failIfNotResponse bool) (*design.ResponseDefinition, bool) {
r, ok := dslengine.CurrentDefinition().(*design.ResponseDefinition)
if !ok && failIfNotResponse {
dslengine.IncompatibleDSL(dslengine.Caller())
}
return r, ok
}
开发者ID:stuartweir,项目名称:goa,代码行数:9,代码来源:api.go
示例2: attributeDefinition
// attribute returns true and current context if it is an Attribute,
// nil and false otherwise.
func attributeDefinition(failIfNotAttribute bool) (*design.AttributeDefinition, bool) {
a, ok := dslengine.CurrentDefinition().(*design.AttributeDefinition)
if !ok && failIfNotAttribute {
dslengine.IncompatibleDSL(dslengine.Caller())
}
return a, ok
}
开发者ID:stuartweir,项目名称:goa,代码行数:9,代码来源:api.go
示例3: actionDefinition
// actionDefinition returns true and current context if it is an ActionDefinition,
// nil and false otherwise.
func actionDefinition(failIfNotAction bool) (*design.ActionDefinition, bool) {
a, ok := dslengine.CurrentDefinition().(*design.ActionDefinition)
if !ok && failIfNotAction {
dslengine.IncompatibleDSL(dslengine.Caller())
}
return a, ok
}
开发者ID:stuartweir,项目名称:goa,代码行数:9,代码来源:api.go
示例4: typeDefinition
// typeDefinition returns true and current context if it is a UserTypeDefinition,
// nil and false otherwise.
func typeDefinition(failIfNotMT bool) (*design.UserTypeDefinition, bool) {
m, ok := dslengine.CurrentDefinition().(*design.UserTypeDefinition)
if !ok && failIfNotMT {
dslengine.IncompatibleDSL(dslengine.Caller())
}
return m, ok
}
开发者ID:stuartweir,项目名称:goa,代码行数:9,代码来源:api.go
示例5: docsDefinition
// docsDefinition returns true and current context if it is a DocsDefinition,
// nil and false otherwise.
func docsDefinition(failIfNotDocs bool) (*design.DocsDefinition, bool) {
a, ok := dslengine.CurrentDefinition().(*design.DocsDefinition)
if !ok && failIfNotDocs {
dslengine.IncompatibleDSL(dslengine.Caller())
}
return a, ok
}
开发者ID:stuartweir,项目名称:goa,代码行数:9,代码来源:api.go
示例6: licenseDefinition
// licenseDefinition returns true and current context if it is an APIDefinition,
// nil and false otherwise.
func licenseDefinition(failIfNotLicense bool) (*design.LicenseDefinition, bool) {
l, ok := dslengine.CurrentDefinition().(*design.LicenseDefinition)
if !ok && failIfNotLicense {
dslengine.IncompatibleDSL(dslengine.Caller())
}
return l, ok
}
开发者ID:stuartweir,项目名称:goa,代码行数:9,代码来源:api.go
示例7: contactDefinition
// contactDefinition returns true and current context if it is an ContactDefinition,
// nil and false otherwise.
func contactDefinition(failIfNotContact bool) (*design.ContactDefinition, bool) {
a, ok := dslengine.CurrentDefinition().(*design.ContactDefinition)
if !ok && failIfNotContact {
dslengine.IncompatibleDSL(dslengine.Caller())
}
return a, ok
}
开发者ID:stuartweir,项目名称:goa,代码行数:9,代码来源:api.go
示例8: encodingDefinition
// encodingDefinition returns true and current context if it is an EncodingDefinition,
// nil and false otherwise.
func encodingDefinition(failIfNotEnc bool) (*design.EncodingDefinition, bool) {
e, ok := dslengine.CurrentDefinition().(*design.EncodingDefinition)
if !ok && failIfNotEnc {
dslengine.IncompatibleDSL(dslengine.Caller())
}
return e, ok
}
开发者ID:stuartweir,项目名称:goa,代码行数:9,代码来源:api.go
示例9: Attribute
// Attribute implements the attribute definition DSL. An attribute describes a data structure
// recursively. Attributes are used for describing request headers, parameters and payloads -
// response bodies and headers - media types and types. An attribute definition is recursive:
// attributes may include other attributes. At the basic level an attribute has a name,
// a type and optionally a default value and validation rules. The type of an attribute can be one of:
//
// * The primitive types Boolean, Integer, Number or String.
//
// * A type defined via the Type function.
//
// * A media type defined via the MediaType function.
//
// * An object described recursively with child attributes.
//
// * An array defined using the ArrayOf function.
//
// * An hashmap defined using the HashOf function.
//
// Attributes can be defined using the Attribute, Param, Member or Header functions depending
// on where the definition appears. The syntax for all these DSL is the same.
// Here are some examples:
//
// Attribute("name") // Defines an attribute of type String
//
// Attribute("name", func() {
// Pattern("^foo") // Adds a validation rule to the attribute
// })
//
// Attribute("name", Integer) // Defines an attribute of type Integer
//
// Attribute("name", Integer, func() {
// Default(42) // With a default value
// })
//
// Attribute("name", Integer, "description") // Specifies a description
//
// Attribute("name", Integer, "description", func() {
// Enum(1, 2) // And validation rules
// })
//
// Nested attributes:
//
// Attribute("nested", func() {
// Description("description")
// Attribute("child")
// Attribute("child2", func() {
// // ....
// })
// Required("child")
// })
//
// Here are all the valid usage of the Attribute function:
//
// Attribute(name string, dataType DataType, description string, dsl func())
//
// Attribute(name string, dataType DataType, description string)
//
// Attribute(name string, dataType DataType, dsl func())
//
// Attribute(name string, dataType DataType)
//
// Attribute(name string, dsl func()) // dataType is String or Object (if DSL defines child attributes)
//
// Attribute(name string) // dataType is String
func Attribute(name string, args ...interface{}) {
var parent *design.AttributeDefinition
if at, ok := attributeDefinition(false); ok {
parent = at
} else if mt, ok := mediaTypeDefinition(false); ok {
parent = mt.AttributeDefinition
} else if c, ok := dslengine.CurrentDefinition().(design.ContainerDefinition); ok {
parent = c.Attribute()
} else {
dslengine.IncompatibleDSL(dslengine.Caller())
}
if parent != nil {
if parent.Type == nil {
parent.Type = design.Object{}
}
if _, ok := parent.Type.(design.Object); !ok {
dslengine.ReportError("can't define child attributes on attribute of type %s", parent.Type.Name())
return
}
var baseAttr *design.AttributeDefinition
if parent.Reference != nil {
if att, ok := parent.Reference.ToObject()[name]; ok {
baseAttr = design.DupAtt(att)
}
}
dataType, description, dsl := parseAttributeArgs(baseAttr, args...)
if baseAttr != nil {
if description != "" {
baseAttr.Description = description
}
if dataType != nil {
baseAttr.Type = dataType
}
//.........这里部分代码省略.........
开发者ID:RouGang,项目名称:goa,代码行数:101,代码来源:attribute.go
注:本文中的github.com/goadesign/goa/dslengine.Caller函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论