tailscale/cmd/fastjson/testcodegen/json_gen.go

142 lines
3.6 KiB
Go

// Code generated by TODO; DO NOT EDIT.
package testcodegen
import (
"encoding/base64"
"strconv"
)
// MarshalJSONInto marshals this PingRequest into JSON in the provided buffer.
func (self *PingRequest) MarshalJSONInto(buf []byte) ([]byte, error) {
var err error
_ = err
buf = append(buf, '{')
// Encode field URL of type "string"
buf = append(buf, []byte("\"URL\":")...)
buf = strconv.AppendQuote(buf, self.URL)
buf = append(buf, ',')
// Encode field URLIsNoise of type "bool"
buf = append(buf, []byte("\"URLIsNoise\":")...)
if self.URLIsNoise {
buf = append(buf, []byte("true")...)
} else {
buf = append(buf, []byte("false")...)
}
buf = append(buf, ',')
// Encode field Log of type "bool"
buf = append(buf, []byte("\"Log\":")...)
if self.Log {
buf = append(buf, []byte("true")...)
} else {
buf = append(buf, []byte("false")...)
}
buf = append(buf, ',')
// Encode field Types of type "string"
buf = append(buf, []byte("\"Types\":")...)
buf = strconv.AppendQuote(buf, self.Types)
buf = append(buf, ',')
// Encode field IP of type "string"
buf = append(buf, []byte("\"IP\":")...)
buf = strconv.AppendQuote(buf, self.IP)
buf = append(buf, ',')
// Encode field Payload of type "[]byte"
buf = append(buf, []byte("\"Payload\":")...)
buf = append(buf, '"')
{
encodedLen := base64.StdEncoding.EncodedLen(len(self.Payload))
offset := len(buf)
buf = append(buf, make([]byte, encodedLen)...)
base64.StdEncoding.Encode(buf[offset:], self.Payload)
}
buf = append(buf, '"')
buf = append(buf, ',')
// Encode field IntList of type "[]int"
buf = append(buf, []byte("\"IntList\":")...)
buf = append(buf, '[')
for i, elem := range self.IntList {
if i > 0 {
buf = append(buf, ',')
}
buf = strconv.AppendInt(buf, int64(elem), 10)
}
buf = append(buf, ']')
buf = append(buf, ',')
// Encode field Uint32List of type "[]uint32"
buf = append(buf, []byte("\"Uint32List\":")...)
buf = append(buf, '[')
for i, elem := range self.Uint32List {
if i > 0 {
buf = append(buf, ',')
}
buf = strconv.AppendUint(buf, uint64(elem), 10)
}
buf = append(buf, ']')
buf = append(buf, ',')
// Encode field StringPtr of type "*string"
buf = append(buf, []byte("\"StringPtr\":")...)
if self.StringPtr != nil {
buf = strconv.AppendQuote(buf, (*self.StringPtr))
} else {
buf = append(buf, []byte("null")...)
}
buf = append(buf, ',')
// Encode field StructPtr of type "*tailscale.com/cmd/fastjson/testcodegen.OtherStruct"
buf = append(buf, []byte("\"StructPtr\":")...)
if self.StructPtr != nil {
buf, err = self.StructPtr.MarshalJSONInto(buf)
if err != nil {
return nil, err
}
} else {
buf = append(buf, []byte("null")...)
}
buf = append(buf, ',')
// Encode field MultiPtr of type "***int"
buf = append(buf, []byte("\"MultiPtr\":")...)
if self.MultiPtr != nil {
if (*self.MultiPtr) != nil {
if (*(*self.MultiPtr)) != nil {
buf = strconv.AppendInt(buf, int64((*(*(*self.MultiPtr)))), 10)
} else {
buf = append(buf, []byte("null")...)
}
} else {
buf = append(buf, []byte("null")...)
}
} else {
buf = append(buf, []byte("null")...)
}
buf = append(buf, '}')
return buf, nil
}
// MarshalJSONInto marshals this OtherStruct into JSON in the provided buffer.
func (self *OtherStruct) MarshalJSONInto(buf []byte) ([]byte, error) {
var err error
_ = err
buf = append(buf, '{')
// Encode field Name of type "string"
buf = append(buf, []byte("\"Name\":")...)
buf = strconv.AppendQuote(buf, self.Name)
buf = append(buf, ',')
// Encode field Age of type "int"
buf = append(buf, []byte("\"Age\":")...)
buf = strconv.AppendInt(buf, int64(self.Age), 10)
buf = append(buf, '}')
return buf, nil
}