generator

package
v3.16.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 18, 2024 License: MIT Imports: 12 Imported by: 3

Documentation

Overview

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

Constants

This section is empty.

Variables

View Source
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.

Functions

func Example

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

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

Generate runs the code generation algorithms.

func OpenAPI

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

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

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.

Types

type Genfunc

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

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL