Documentation ¶
Index ¶
- type DefaultFieldNamer
- type FieldNamer
- type Generator
- func (g *Generator) Add(obj interface{})
- func (g *Generator) NoStdMarshalers()
- func (g *Generator) OmitEmpty()
- func (g *Generator) Run(out io.Writer) error
- func (g *Generator) SetBuildTags(tags string)
- func (g *Generator) SetFieldNamer(n FieldNamer)
- func (g *Generator) SetPkg(name, path string)
- func (g *Generator) UseSnakeCase()
- type SnakeCaseFieldNamer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultFieldNamer ¶
type DefaultFieldNamer struct{}
DefaultFieldsNamer implements trivial naming policy equivalent to encoding/json.
func (DefaultFieldNamer) GetJSONFieldName ¶
func (DefaultFieldNamer) GetJSONFieldName(t reflect.Type, f reflect.StructField) string
type FieldNamer ¶
type FieldNamer interface {
GetJSONFieldName(t reflect.Type, f reflect.StructField) string
}
FieldNamer defines a policy for generating names for struct fields.
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator generates the requested marshallers/unmarshallers.
func NewGenerator ¶
func NewGenerator() *Generator
NewGenerator initializes and returns a Generator.
func (*Generator) Add ¶
func (g *Generator) Add(obj interface{})
Add requests to generate (un-)marshallers and en-/decoding functions for the type of given object.
func (*Generator) NoStdMarshalers ¶
func (g *Generator) NoStdMarshalers()
NoStdMarshalers instructs not to generate standard MarshalJSON/UnmarshalJSON methods (only the custom interface).
func (*Generator) OmitEmpty ¶
func (g *Generator) OmitEmpty()
OmitEmpty triggers `json=",omitempty"` behaviour by default.
func (*Generator) SetBuildTags ¶
SetBuildTags sets build tags for the output file.
func (*Generator) SetFieldNamer ¶
func (g *Generator) SetFieldNamer(n FieldNamer)
SetFieldNamer sets field naming strategy.
func (*Generator) UseSnakeCase ¶
func (g *Generator) UseSnakeCase()
UseSnakeCase sets snake_case field naming strategy.
type SnakeCaseFieldNamer ¶
type SnakeCaseFieldNamer struct{}
SnakeCaseFieldNamer implements CamelCase to snake_case conversion for fields names.
func (SnakeCaseFieldNamer) GetJSONFieldName ¶
func (SnakeCaseFieldNamer) GetJSONFieldName(t reflect.Type, f reflect.StructField) string