Version: v0.0.0-...-a0b01fe Latest Latest

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

Go to latest
Published: Feb 3, 2021 License: MIT Imports: 15 Imported by: 0



Package genclient provides a generator for the client tool and package of a goa application. The generator creates a main.go file and a subpackage containing data structures specific to the service.

The generated code includes a client package with:

  • One client method per resource action
  • Helper functions to build the corresponding request paths
  • Structs for the action payloads and dependent types
  • Structs for the action media types and corresponding decoder functions

The generated code also includes a CLI tool with commands for each action and sub-commands for each resource.



This section is empty.


This section is empty.


func Generate

func Generate() (files []string, err error)

Generate is the generator entry point called by the meta generator.


type Generator

type Generator struct {
	API         *design.APIDefinition // The API definition
	OutDir      string                // Path to output directory
	Target      string                // Name of generated package
	ToolDirName string                // Name of tool directory where CLI main is generated once
	Tool        string                // Name of CLI tool
	NoTool      bool                  // Whether to skip tool generation
	// contains filtered or unexported fields

Generator is the application code generator.

func NewGenerator

func NewGenerator(options ...Option) *Generator

NewGenerator returns an initialized instance of a Go Client Generator

func (*Generator) Cleanup

func (g *Generator) Cleanup()

Cleanup removes all the files generated by this generator during the last invokation of Generate.

func (*Generator) Generate

func (g *Generator) Generate() (_ []string, err error)

Generate generats the client package and CLI.

type Option

type Option func(*Generator)

Option a generator option definition

func API

func API(API *design.APIDefinition) Option

API The API definition

func NoTool

func NoTool(noTool bool) Option

NoTool Whether to skip tool generation

func OutDir

func OutDir(outDir string) Option

OutDir Path to output directory

func Target

func Target(target string) Option

Target Name of generated package

func Tool

func Tool(tool string) Option

Tool Name of CLI tool

func ToolDirName

func ToolDirName(toolDirName string) Option

ToolDirName Name of tool directory where CLI main is generated once

Jump to

Keyboard shortcuts

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