Documentation

Overview

    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.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func Generate

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

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

      Types

      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