Documentation ¶
Index ¶
- Constants
- type DefaultFieldNamer
- type FieldNamer
- type Generator
- func (g *Generator) Add(obj interface{})
- func (g *Generator) DisallowUnknownFields()
- 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) UseLowerCamelCase()
- func (g *Generator) UseSnakeCase()
- type LowerCamelCaseFieldNamer
- type PartialGenerator
- type SnakeCaseFieldNamer
Constants ¶
const PartialSetKey = "PartialSet"
const PartialValidKey = "PartialValid"
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 marshaler/unmarshalers.
func NewGenerator ¶
NewGenerator initializes and returns a Generator.
func (*Generator) Add ¶
func (g *Generator) Add(obj interface{})
Add requests to generate marshaler/unmarshalers and encoding/decoding funcs for the type of given object.
func (*Generator) DisallowUnknownFields ¶
func (g *Generator) DisallowUnknownFields()
DisallowUnknownFields instructs not to skip unknown fields in json and return error.
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) UseLowerCamelCase ¶
func (g *Generator) UseLowerCamelCase()
UseLowerCamelCase sets lowerCamelCase field naming strategy.
func (*Generator) UseSnakeCase ¶
func (g *Generator) UseSnakeCase()
UseSnakeCase sets snake_case field naming strategy.
type LowerCamelCaseFieldNamer ¶
type LowerCamelCaseFieldNamer struct{}
LowerCamelCaseFieldNamer
func (LowerCamelCaseFieldNamer) GetJSONFieldName ¶
func (LowerCamelCaseFieldNamer) GetJSONFieldName(t reflect.Type, f reflect.StructField) string
type PartialGenerator ¶
type PartialGenerator struct {
// contains filtered or unexported fields
}
PartialGenerator generates the requested marshaler/unmarshalers.
func NewPartialGenerator ¶
func NewPartialGenerator(filename string) *PartialGenerator
func (*PartialGenerator) Add ¶
func (g *PartialGenerator) Add(obj interface{})
Add requests to generate marshaler/unmarshalers and encoding/decoding funcs for the type of given object.
func (*PartialGenerator) Run ¶
func (g *PartialGenerator) Run(out io.Writer) error
Run runs the generator and outputs generated code to out.
func (*PartialGenerator) SetBuildTags ¶
func (g *PartialGenerator) SetBuildTags(tags string)
SetBuildTags sets build tags for the output file.
func (*PartialGenerator) SetPkg ¶
func (g *PartialGenerator) SetPkg(name, path string)
SetPkg sets the name and path of output package.
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