generator

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2026 License: MIT Imports: 17 Imported by: 0

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 an OpenAPI 3.1 specification for the service REST endpoints. This generator requires the design to define the HTTP transport.

Index

Constants

This section is empty.

Variables

This section is empty.

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, debug bool) (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 Loom 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

This section is empty.

Jump to

Keyboard shortcuts

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