goa: goa.design/goa/codegen/generator Index | Files

package generator

import "goa.design/goa/codegen/generator"

Package generator contains the code generation algorithms for a service server, client, and OpenAPI specification.

Server and Client

The code generated for the service server and client includes:

- A `service` package that contains the declarations for the service
  interfaces and endpoints which wrap the service methods.
- A `views` package that contains code to render a result type using a view.
- transport specific packages for each of the transports defined in the
  design.
- An example implementation of the client, server, and the service.

OpenAPI

The OpenAPI generator generates a OpenAPI v2 specification for the service REST endpoints. This generator requires the design to define the HTTP transport.

Index

Package Files

docs.go example.go generate.go generators.go openapi.go service.go transport.go

Variables

var Generators = generators

Generators returns the qualified paths (including the package name) to the code generator functions for the given command, an error if the command is not supported. Generators is a public variable so that external code (e.g. plugins) may override the default generators.

func Example Uses

func Example(genpkg string, roots []eval.Root) ([]*codegen.File, error)

Example iterates through the roots and returns files that implement an example service, server, and client.

func Generate Uses

func Generate(dir, cmd string) ([]string, error)

Generate runs the code generation algorithms.

func OpenAPI Uses

func OpenAPI(_ string, roots []eval.Root) ([]*codegen.File, error)

OpenAPI iterates through the roots and returns the files needed to render the service OpenAPI spec. It produces OpenAPI specifications only if the roots define a HTTP service.

func Service Uses

func Service(genpkg string, roots []eval.Root) ([]*codegen.File, error)

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 Transport Uses

func Transport(genpkg string, roots []eval.Root) ([]*codegen.File, error)

Transport iterates through the roots and returns the files needed to render the transport code. It returns an error if the roots slice does not include at least one transport design.

type Genfunc Uses

type Genfunc func(genpkg string, roots []eval.Root) ([]*codegen.File, error)

Genfunc is the type of the functions invoked to generate code.

Package generator imports 12 packages (graph). Updated 2019-11-05. Refresh now. Tools for package owners.