package gen
import "github.com/mailru/easyjson/gen"
Index ¶
- type DefaultFieldNamer
- type FieldNamer
- type Generator
- func NewGenerator(filename string) *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) SimpleBytes()
- func (g *Generator) SkipMemberNameUnescaping()
- func (g *Generator) UseLowerCamelCase()
- func (g *Generator) UseSnakeCase()
- type LowerCamelCaseFieldNamer
- type SnakeCaseFieldNamer
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) Run ¶
Run runs the generator and outputs generated code to out.
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) SetPkg ¶
SetPkg sets the name and path of output package.
func (*Generator) SimpleBytes ¶
func (g *Generator) SimpleBytes()
SimpleBytes triggers generate output bytes as slice byte
func (*Generator) SkipMemberNameUnescaping ¶
func (g *Generator) SkipMemberNameUnescaping()
SkipMemberNameUnescaping instructs to skip member names unescaping to improve performance
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 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
Source Files ¶
decoder.go encoder.go generator.go
- Version
- v0.9.0 (latest)
- Published
- Dec 14, 2024
- Platform
- linux/amd64
- Imports
- 14 packages
- Last checked
- 2 weeks ago –
Tools for package owners.