代码拉取完成,页面将自动刷新
package generator
import (
"fmt"
"goa.design/goa/codegen"
"goa.design/goa/codegen/service"
"goa.design/goa/eval"
"goa.design/goa/expr"
)
// Service iterates through the roots and returns the files needed to render
// the service code. It returns an error if the roots slice does not include
// a goa design.
func Service(genpkg string, roots []eval.Root) ([]*codegen.File, error) {
var files []*codegen.File
for _, root := range roots {
switch r := root.(type) {
case *expr.RootExpr:
for _, s := range r.Services {
// Make sure service is first so name scope is
// properly initialized.
files = append(files, service.File(genpkg, s))
files = append(files, service.EndpointFile(genpkg, s))
files = append(files, service.ClientFile(s))
if f := service.ViewsFile(genpkg, s); f != nil {
files = append(files, f)
}
for _, f := range files {
if len(f.SectionTemplates) > 0 {
service.AddServiceDataMetaTypeImports(f.SectionTemplates[0], s)
}
}
f, err := service.ConvertFile(r, s)
if err != nil {
return nil, err
}
if f != nil {
files = append(files, f)
}
}
}
}
if len(files) == 0 {
return nil, fmt.Errorf("design must define at least one service")
}
return files, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。