本文整理汇总了Golang中github.com/go-swagger/go-swagger/swag.ToGoName函数的典型用法代码示例。如果您正苦于以下问题:Golang ToGoName函数的具体用法?Golang ToGoName怎么用?Golang ToGoName使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ToGoName函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: makeNewStruct
func (sg *schemaGenContext) makeNewStruct(name string, schema spec.Schema) *schemaGenContext {
sp := sg.TypeResolver.Doc.Spec()
name = swag.ToGoName(name)
if sg.TypeResolver.ModelName != sg.Name {
name = swag.ToGoName(sg.TypeResolver.ModelName + " " + name)
}
if sp.Definitions == nil {
sp.Definitions = make(spec.Definitions)
}
sp.Definitions[name] = schema
pg := schemaGenContext{
Path: "",
Name: name,
Receiver: "m",
IndexVar: "i",
ValueExpr: "m",
Schema: schema,
Required: false,
Named: true,
ExtraSchemas: make(map[string]GenSchema),
Discrimination: sg.Discrimination,
}
if schema.Ref.String() == "" {
pg.TypeResolver = &typeResolver{
Doc: sg.TypeResolver.Doc,
ModelName: sg.TypeResolver.ModelName,
ModelsPackage: "",
}
}
pg.GenSchema.IsVirtual = true
sg.ExtraSchemas[name] = pg.GenSchema
return &pg
}
开发者ID:florindragos,项目名称:go-swagger,代码行数:34,代码来源:model.go
示例2: makeNewStruct
func (sg *schemaGenContext) makeNewStruct(name string, schema spec.Schema) *schemaGenContext {
//fmt.Println("making new struct", name, sg.Container)
sp := sg.TypeResolver.Doc.Spec()
name = swag.ToGoName(name)
if sg.TypeResolver.ModelName != sg.Name {
name = swag.ToGoName(sg.TypeResolver.ModelName + " " + name)
}
if sp.Definitions == nil {
sp.Definitions = make(spec.Definitions)
}
sp.Definitions[name] = schema
pg := schemaGenContext{
Path: "",
Name: name,
Receiver: sg.Receiver,
IndexVar: "i",
ValueExpr: sg.Receiver,
Schema: schema,
Required: false,
Named: true,
ExtraSchemas: make(map[string]GenSchema),
Discrimination: sg.Discrimination,
Container: sg.Container,
}
if schema.Ref.String() == "" {
resolver := newTypeResolver(sg.TypeResolver.ModelsPackage, sg.TypeResolver.Doc)
resolver.ModelName = sg.TypeResolver.ModelName
pg.TypeResolver = resolver
}
pg.GenSchema.IsVirtual = true
sg.ExtraSchemas[name] = pg.GenSchema
return &pg
}
开发者ID:jerbob92,项目名称:go-swagger,代码行数:34,代码来源:model.go
示例3: pascalize
func pascalize(arg string) string {
if len(arg) == 0 || arg[0] > '9' {
return swag.ToGoName(arg)
}
return swag.ToGoName("Nr " + arg)
}
开发者ID:jacobxk,项目名称:go-swagger,代码行数:7,代码来源:shared.go
示例4: generateMain
func (a *appGenerator) generateMain(app *GenApp) error {
buf := bytes.NewBuffer(nil)
if err := mainTemplate.Execute(buf, app); err != nil {
return err
}
log.Println("rendered main template:", "server."+swag.ToGoName(app.Name))
return writeToFile(filepath.Join(a.Target, "cmd", swag.ToCommandName(swag.ToGoName(app.Name)+"Server")), "main", buf.Bytes())
}
开发者ID:wangfeiping,项目名称:go-swagger,代码行数:8,代码来源:support.go
示例5: generateAPIBuilder
func (a *appGenerator) generateAPIBuilder(app *GenApp) error {
buf := bytes.NewBuffer(nil)
if err := builderTemplate.Execute(buf, app); err != nil {
return err
}
log.Println("rendered builder template:", app.Package+"."+swag.ToGoName(app.Name))
return writeToFile(filepath.Join(a.Target, a.ServerPackage, app.Package), swag.ToGoName(app.Name)+"Api", buf.Bytes())
}
开发者ID:wangfeiping,项目名称:go-swagger,代码行数:8,代码来源:support.go
示例6: makeCodegenModel
func makeCodegenModel(name, pkg string, schema spec.Schema, specDoc *spec.Document) *genModel {
receiver := "m"
props := make(map[string]genModelProperty)
for pn, p := range schema.Properties {
var required bool
for _, v := range schema.Required {
if v == pn {
required = true
break
}
}
props[swag.ToJSONName(pn)] = makeGenModelProperty(
"\""+pn+"\"",
swag.ToJSONName(pn),
swag.ToGoName(pn),
receiver,
"i",
receiver+"."+swag.ToGoName(pn),
p,
required)
}
for _, p := range schema.AllOf {
if p.Ref.GetURL() != nil {
tn := filepath.Base(p.Ref.GetURL().Fragment)
p = specDoc.Spec().Definitions[tn]
}
mod := makeCodegenModel(name, pkg, p, specDoc)
if mod != nil {
for _, prop := range mod.Properties {
props[prop.ParamName] = prop
}
}
}
var properties []genModelProperty
var hasValidations bool
for _, v := range props {
if v.HasValidations {
hasValidations = v.HasValidations
}
properties = append(properties, v)
}
sort.Sort(genModelPropertySlice(properties))
return &genModel{
Package: filepath.Base(pkg),
ClassName: swag.ToGoName(name),
Name: swag.ToJSONName(name),
ReceiverName: receiver,
Properties: properties,
Description: schema.Description,
DocString: modelDocString(swag.ToGoName(name), schema.Description),
HumanClassName: swag.ToHumanNameLower(swag.ToGoName(name)),
DefaultImports: []string{"github.com/go-swagger/go-swagger/strfmt"},
HasValidations: hasValidations,
}
}
开发者ID:chakrit,项目名称:go-swagger,代码行数:58,代码来源:model.go
示例7: goTypeName
func (t *typeResolver) goTypeName(nm string) string {
if t.ModelsPackage == "" {
return swag.ToGoName(nm)
}
if _, ok := t.KnownDefs[nm]; ok {
return strings.Join([]string{t.ModelsPackage, swag.ToGoName(nm)}, ".")
}
return swag.ToGoName(nm)
}
开发者ID:jonathaningram,项目名称:go-swagger,代码行数:9,代码来源:types.go
示例8: generateEmbeddedSwaggerJSON
func (a *appGenerator) generateEmbeddedSwaggerJSON(app *GenApp) error {
buf := bytes.NewBuffer(nil)
appc := *app
appc.Package = "main"
if err := embeddedSpecTemplate.Execute(buf, &appc); err != nil {
return err
}
log.Println("rendered embedded Swagger JSON template:", "server."+swag.ToGoName(app.Name))
return writeToFile(filepath.Join(a.Target, "cmd", swag.ToCommandName(swag.ToGoName(app.Name)+"Server")), "embedded_spec", buf.Bytes())
}
开发者ID:wangfeiping,项目名称:go-swagger,代码行数:10,代码来源:support.go
示例9: makeCodegenParameter
func makeCodegenParameter(receiver, modelsPkg string, param spec.Parameter) genParameter {
var ctx sharedParam
var child *genParameterItem
if param.In == "body" {
ctx = makeGenValidations(modelValidations(
"\""+swag.ToJSONName(param.Name)+"\"",
swag.ToJSONName(param.Name),
swag.ToGoName(param.Name),
"i",
receiver+"."+swag.ToGoName(param.Name),
modelsPkg,
param.Required,
*param.Schema))
} else {
ctx = makeGenValidations(paramValidations(receiver, param))
thisItem := genParameterItem{}
thisItem.sharedParam = ctx
thisItem.ValueExpression = ctx.IndexVar + "c"
thisItem.CollectionFormat = param.CollectionFormat
thisItem.Converter = stringConverters[ctx.Type]
thisItem.Location = param.In
if param.Items != nil {
it := makeCodegenParamItem(
"fmt.Sprintf(\"%s.%v\", "+ctx.Path+", "+ctx.IndexVar+")",
ctx.ParamName,
ctx.PropertyName,
ctx.IndexVar+"i",
ctx.IndexVar+"c["+ctx.IndexVar+"]",
thisItem,
*param.Items,
)
child = &it
}
}
return genParameter{
sharedParam: ctx,
Description: param.Description,
ReceiverName: receiver,
IsQueryParam: param.In == "query",
IsBodyParam: param.In == "body",
IsHeaderParam: param.In == "header",
IsPathParam: param.In == "path",
IsFormParam: param.In == "formData",
IsFileParam: param.Type == "file",
CollectionFormat: param.CollectionFormat,
Child: child,
Location: param.In,
Converter: stringConverters[ctx.Type],
}
}
开发者ID:berngp,项目名称:go-swagger,代码行数:55,代码来源:operation.go
示例10: generateEmbeddedSwaggerJSON
func (c *clientGenerator) generateEmbeddedSwaggerJSON(app *GenApp) error {
buf := bytes.NewBuffer(nil)
if err := embeddedSpecTemplate.Execute(buf, app); err != nil {
return err
}
log.Println("rendered client embedded swagger JSON template:", c.ClientPackage+"."+swag.ToGoName(app.Name)+"Client")
fp := filepath.Join(c.Target, c.ClientPackage)
return writeToFile(fp, swag.ToGoName(app.Name)+"EmbeddedSpec", buf.Bytes())
}
开发者ID:jak-atx,项目名称:vic,代码行数:11,代码来源:client.go
示例11: generateFacade
func (c *clientGenerator) generateFacade(app *GenApp) error {
buf := bytes.NewBuffer(nil)
if err := clientFacadeTemplate.Execute(buf, app); err != nil {
return err
}
log.Println("rendered client facade template:", c.ClientPackage+"."+swag.ToGoName(app.Name)+"Client")
fp := filepath.Join(c.ClientPackage, c.Target)
return writeToFile(fp, swag.ToGoName(app.Name)+"Client", buf.Bytes())
}
开发者ID:sxhao,项目名称:go-swagger,代码行数:11,代码来源:client.go
示例12: generateGroupClient
func (c *clientGenerator) generateGroupClient(opGroup GenOperationGroup) error {
buf := bytes.NewBuffer(nil)
if err := clientTemplate.Execute(buf, opGroup); err != nil {
return err
}
log.Println("rendered operation group client template:", opGroup.Name+"."+swag.ToGoName(opGroup.Name)+"Client")
fp := filepath.Join(c.ClientPackage, c.Target, opGroup.Name)
return writeToFile(fp, swag.ToGoName(opGroup.Name)+"Client", buf.Bytes())
}
开发者ID:sxhao,项目名称:go-swagger,代码行数:11,代码来源:client.go
示例13: generateMain
func (a *appGenerator) generateMain(app *GenApp) error {
pth := filepath.Join(a.Target, "cmd", swag.ToCommandName(swag.ToGoName(app.Name)+"Server"))
if fileExists(pth, "main") && !a.GenOpts.IncludeMain {
log.Println("skipped (already exists) main template:", app.Package+".Main")
return nil
}
buf := bytes.NewBuffer(nil)
if err := mainTemplate.Execute(buf, app); err != nil {
return err
}
log.Println("rendered main template:", "server."+swag.ToGoName(app.Name))
return writeToFile(pth, "main", buf.Bytes())
}
开发者ID:RobertJGabriel,项目名称:go-swagger,代码行数:13,代码来源:support.go
示例14: generateParameters
func (c *clientGenerator) generateParameters(op *GenOperation) error {
buf := bytes.NewBuffer(nil)
if err := clientParamTemplate.Execute(buf, op); err != nil {
return err
}
log.Println("rendered client parameters template:", op.Package+"."+swag.ToGoName(op.Name)+"Parameters")
fp := filepath.Join(c.ClientPackage, c.Target)
if len(op.Package) > 0 {
fp = filepath.Join(fp, op.Package)
}
return writeToFile(fp, swag.ToGoName(op.Name)+"Parameters", buf.Bytes())
}
开发者ID:sxhao,项目名称:go-swagger,代码行数:14,代码来源:client.go
示例15: discriminatorInfo
func discriminatorInfo(doc *spec.Document) *discInfo {
baseTypes := make(map[string]discor)
for _, sch := range doc.AllDefinitions() {
if sch.Schema.Discriminator != "" {
tpe, _ := sch.Schema.Extensions.GetString("x-go-name")
if tpe == "" {
tpe = swag.ToGoName(sch.Name)
}
baseTypes[sch.Ref.String()] = discor{
FieldName: sch.Schema.Discriminator,
GoType: tpe,
JSONName: sch.Name,
}
}
}
subTypes := make(map[string]discee)
for _, sch := range doc.SchemasWithAllOf() {
for _, ao := range sch.Schema.AllOf {
if ao.Ref.String() != "" {
if bt, ok := baseTypes[ao.Ref.String()]; ok {
name, _ := sch.Schema.Extensions.GetString("x-class")
if name == "" {
name, _ = sch.Schema.Extensions.GetString("x-go-name")
}
if name == "" {
name = swag.ToGoName(sch.Name)
}
tpe, _ := sch.Schema.Extensions.GetString("x-go-name")
if tpe == "" {
tpe = swag.ToGoName(sch.Name)
}
dce := discee{
FieldName: bt.FieldName,
FieldValue: name,
Ref: sch.Ref,
ParentRef: ao.Ref,
JSONName: sch.Name,
GoType: tpe,
}
subTypes[sch.Ref.String()] = dce
bt.Children = append(bt.Children, dce)
baseTypes[ao.Ref.String()] = bt
}
}
}
}
return &discInfo{Discriminators: baseTypes, Discriminated: subTypes}
}
开发者ID:hartsock,项目名称:go-swagger,代码行数:49,代码来源:discriminators.go
示例16: generateConfigureAPI
func (a *appGenerator) generateConfigureAPI(app *GenApp) error {
pth := filepath.Join(a.Target, "cmd", swag.ToCommandName(swag.ToGoName(app.Name)+"Server"))
nm := "Configure" + swag.ToGoName(app.Name)
if fileExists(pth, nm) {
log.Println("skipped (already exists) configure api template:", app.Package+".Configure"+swag.ToGoName(app.Name))
return nil
}
buf := bytes.NewBuffer(nil)
if err := configureAPITemplate.Execute(buf, app); err != nil {
return err
}
log.Println("rendered configure api template:", app.Package+".Configure"+swag.ToGoName(app.Name))
return writeToFileIfNotExist(pth, nm, buf.Bytes())
}
开发者ID:wangfeiping,项目名称:go-swagger,代码行数:15,代码来源:support.go
示例17: TestSchemaValidation_RequiredProps
func TestSchemaValidation_RequiredProps(t *testing.T) {
specDoc, err := spec.Load("../fixtures/codegen/todolist.schemavalidation.yml")
if assert.NoError(t, err) {
k := "RequiredProps"
schema := specDoc.Spec().Definitions[k]
gm, err := makeGenDefinition(k, "models", schema, specDoc)
if assert.NoError(t, err) {
assert.Len(t, gm.Properties, 6)
for _, p := range gm.Properties {
if assert.True(t, p.Required) {
buf := bytes.NewBuffer(nil)
err := modelTemplate.Execute(buf, gm)
if assert.NoError(t, err) {
formatted, err := formatGoFile("required_props.go", buf.Bytes())
if assert.NoError(t, err) {
res := string(formatted)
assertInCode(t, k+") Validate(formats", res)
assertInCode(t, "validate"+swag.ToGoName(p.Name), res)
assertInCode(t, "err := validate.Required", res)
assertInCode(t, "errors.CompositeValidationError(res...)", res)
}
}
}
}
}
}
}
开发者ID:rgbkrk,项目名称:go-swagger,代码行数:28,代码来源:schemavalidation_test.go
示例18: modelValidations
func modelValidations(gs GenSchema) commonValidations {
return commonValidations{
propertyDescriptor: propertyDescriptor{
PropertyName: swag.ToGoName(gs.Name),
ParamName: gs.Name,
ValueExpression: gs.ValueExpression,
IndexVar: gs.IndexVar,
Path: gs.Path,
IsContainer: gs.IsArray,
IsPrimitive: gs.IsPrimitive,
IsCustomFormatter: gs.IsCustomFormatter,
IsMap: gs.IsMap,
},
sharedValidations: sharedValidations{
Required: gs.Required,
Maximum: gs.Maximum,
ExclusiveMaximum: gs.ExclusiveMaximum,
Minimum: gs.Minimum,
ExclusiveMinimum: gs.ExclusiveMinimum,
MaxLength: gs.MaxLength,
MinLength: gs.MinLength,
Pattern: gs.Pattern,
MaxItems: gs.MaxItems,
MinItems: gs.MinItems,
UniqueItems: gs.UniqueItems,
MultipleOf: gs.MultipleOf,
Enum: gs.Enum,
},
Type: gs.GoType,
Format: gs.SwaggerFormat,
//Default: model.Default,
}
}
开发者ID:florindragos,项目名称:go-swagger,代码行数:34,代码来源:operation.go
示例19: NewAdditionalItems
func (sg *schemaGenContext) NewAdditionalItems(schema *spec.Schema) *schemaGenContext {
pg := sg.shallowClone()
indexVar := pg.IndexVar
pg.Name = sg.Name + " items"
itemsLen := 0
if sg.Schema.Items != nil {
itemsLen = sg.Schema.Items.Len()
}
var mod string
if itemsLen > 0 {
mod = "+" + strconv.Itoa(itemsLen)
}
if pg.Path == "" {
pg.Path = "strconv.Itoa(" + indexVar + mod + ")"
} else {
pg.Path = pg.Path + "+ \".\" + strconv.Itoa(" + indexVar + mod + ")"
}
pg.IndexVar = indexVar
pg.ValueExpr = sg.ValueExpr + "." + swag.ToGoName(sg.Name) + "Items[" + indexVar + "]"
pg.Schema = spec.Schema{}
if schema != nil {
pg.Schema = *schema
}
pg.Required = false
return pg
}
开发者ID:florindragos,项目名称:go-swagger,代码行数:26,代码来源:model.go
示例20: resolveSchemaRef
func (t *typeResolver) resolveSchemaRef(schema *spec.Schema) (returns bool, result resolvedType, err error) {
if schema.Ref.String() != "" {
returns = true
ref, er := spec.ResolveRef(t.Doc.Spec(), &schema.Ref)
if er != nil {
err = er
return
}
var nm = filepath.Base(schema.Ref.GetURL().Fragment)
var tn string
if gn, ok := ref.Extensions["x-go-name"]; ok {
tn = gn.(string)
} else {
tn = swag.ToGoName(nm)
}
res, er := t.ResolveSchema(ref, false)
if er != nil {
err = er
return
}
result = res
result.GoType = tn
result.HasDiscriminator = ref.Discriminator != ""
result.IsNullable = t.isNullable(ref)
if t.ModelsPackage != "" {
result.GoType = t.ModelsPackage + "." + tn
}
return
}
return
}
开发者ID:hartsock,项目名称:go-swagger,代码行数:33,代码来源:types.go
注:本文中的github.com/go-swagger/go-swagger/swag.ToGoName函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论