// Code generated by ogen, DO NOT EDIT.
package api
import (
"github.com/go-faster/errors"
"github.com/go-faster/jx"
)
// Encode encodes string as json.
func (o OptNilString) Encode(e *jx.Encoder) {
if !o.Set {
return
}
if o.Null {
e.Null()
return
}
e.Str(string(o.Value))
}
// Decode decodes string from json.
func (o *OptNilString) Decode(d *jx.Decoder) error {
if o == nil {
return errors.New("invalid: unable to decode OptNilString to nil")
}
if d.Next() == jx.Null {
if err := d.Null(); err != nil {
return err
}
var v string
o.Value = v
o.Set = true
o.Null = true
return nil
}
o.Set = true
o.Null = false
v, err := d.Str()
if err != nil {
return err
}
o.Value = string(v)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s OptNilString) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *OptNilString) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes string as json.
func (o OptString) Encode(e *jx.Encoder) {
if !o.Set {
return
}
e.Str(string(o.Value))
}
// Decode decodes string from json.
func (o *OptString) Decode(d *jx.Decoder) error {
if o == nil {
return errors.New("invalid: unable to decode OptString to nil")
}
o.Set = true
v, err := d.Str()
if err != nil {
return err
}
o.Value = string(v)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s OptString) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *OptString) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *Task) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *Task) encodeFields(e *jx.Encoder) {
{
if s.ID.Set {
e.FieldStart("id")
s.ID.Encode(e)
}
}
{
if s.Title.Set {
e.FieldStart("title")
s.Title.Encode(e)
}
}
{
if s.Notes.Set {
e.FieldStart("notes")
s.Notes.Encode(e)
}
}
{
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
}
{
if s.Due.Set {
e.FieldStart("due")
s.Due.Encode(e)
}
}
{
if s.Completed.Set {
e.FieldStart("completed")
s.Completed.Encode(e)
}
}
{
if s.Parent.Set {
e.FieldStart("parent")
s.Parent.Encode(e)
}
}
{
if s.Position.Set {
e.FieldStart("position")
s.Position.Encode(e)
}
}
{
if s.Updated.Set {
e.FieldStart("updated")
s.Updated.Encode(e)
}
}
{
if s.SelfLink.Set {
e.FieldStart("selfLink")
s.SelfLink.Encode(e)
}
}
{
if s.Kind.Set {
e.FieldStart("kind")
s.Kind.Encode(e)
}
}
}
var jsonFieldsNameOfTask = [11]string{
0: "id",
1: "title",
2: "notes",
3: "status",
4: "due",
5: "completed",
6: "parent",
7: "position",
8: "updated",
9: "selfLink",
10: "kind",
}
// Decode decodes Task from json.
func (s *Task) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode Task to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
if err := func() error {
s.ID.Reset()
if err := s.ID.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "title":
if err := func() error {
s.Title.Reset()
if err := s.Title.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"title\"")
}
case "notes":
if err := func() error {
s.Notes.Reset()
if err := s.Notes.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"notes\"")
}
case "status":
if err := func() error {
s.Status.Reset()
if err := s.Status.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"status\"")
}
case "due":
if err := func() error {
s.Due.Reset()
if err := s.Due.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"due\"")
}
case "completed":
if err := func() error {
s.Completed.Reset()
if err := s.Completed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"completed\"")
}
case "parent":
if err := func() error {
s.Parent.Reset()
if err := s.Parent.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"parent\"")
}
case "position":
if err := func() error {
s.Position.Reset()
if err := s.Position.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"position\"")
}
case "updated":
if err := func() error {
s.Updated.Reset()
if err := s.Updated.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated\"")
}
case "selfLink":
if err := func() error {
s.SelfLink.Reset()
if err := s.SelfLink.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"selfLink\"")
}
case "kind":
if err := func() error {
s.Kind.Reset()
if err := s.Kind.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"kind\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode Task")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *Task) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *Task) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *TaskList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *TaskList) encodeFields(e *jx.Encoder) {
{
if s.ID.Set {
e.FieldStart("id")
s.ID.Encode(e)
}
}
{
if s.Title.Set {
e.FieldStart("title")
s.Title.Encode(e)
}
}
{
if s.Updated.Set {
e.FieldStart("updated")
s.Updated.Encode(e)
}
}
{
if s.SelfLink.Set {
e.FieldStart("selfLink")
s.SelfLink.Encode(e)
}
}
{
if s.Kind.Set {
e.FieldStart("kind")
s.Kind.Encode(e)
}
}
}
var jsonFieldsNameOfTaskList = [5]string{
0: "id",
1: "title",
2: "updated",
3: "selfLink",
4: "kind",
}
// Decode decodes TaskList from json.
func (s *TaskList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode TaskList to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
if err := func() error {
s.ID.Reset()
if err := s.ID.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "title":
if err := func() error {
s.Title.Reset()
if err := s.Title.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"title\"")
}
case "updated":
if err := func() error {
s.Updated.Reset()
if err := s.Updated.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated\"")
}
case "selfLink":
if err := func() error {
s.SelfLink.Reset()
if err := s.SelfLink.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"selfLink\"")
}
case "kind":
if err := func() error {
s.Kind.Reset()
if err := s.Kind.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"kind\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode TaskList")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *TaskList) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *TaskList) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *TaskListsResponse) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *TaskListsResponse) encodeFields(e *jx.Encoder) {
{
if s.Kind.Set {
e.FieldStart("kind")
s.Kind.Encode(e)
}
}
{
if s.Items != nil {
e.FieldStart("items")
e.ArrStart()
for _, elem := range s.Items {
elem.Encode(e)
}
e.ArrEnd()
}
}
}
var jsonFieldsNameOfTaskListsResponse = [2]string{
0: "kind",
1: "items",
}
// Decode decodes TaskListsResponse from json.
func (s *TaskListsResponse) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode TaskListsResponse to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "kind":
if err := func() error {
s.Kind.Reset()
if err := s.Kind.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"kind\"")
}
case "items":
if err := func() error {
s.Items = make([]TaskList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem TaskList
if err := elem.Decode(d); err != nil {
return err
}
s.Items = append(s.Items, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"items\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode TaskListsResponse")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *TaskListsResponse) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *TaskListsResponse) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *TaskRequest) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *TaskRequest) encodeFields(e *jx.Encoder) {
{
if s.Title.Set {
e.FieldStart("title")
s.Title.Encode(e)
}
}
{
if s.Notes.Set {
e.FieldStart("notes")
s.Notes.Encode(e)
}
}
{
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
}
{
if s.Due.Set {
e.FieldStart("due")
s.Due.Encode(e)
}
}
{
if s.Completed.Set {
e.FieldStart("completed")
s.Completed.Encode(e)
}
}
}
var jsonFieldsNameOfTaskRequest = [5]string{
0: "title",
1: "notes",
2: "status",
3: "due",
4: "completed",
}
// Decode decodes TaskRequest from json.
func (s *TaskRequest) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode TaskRequest to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "title":
if err := func() error {
s.Title.Reset()
if err := s.Title.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"title\"")
}
case "notes":
if err := func() error {
s.Notes.Reset()
if err := s.Notes.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"notes\"")
}
case "status":
if err := func() error {
s.Status.Reset()
if err := s.Status.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"status\"")
}
case "due":
if err := func() error {
s.Due.Reset()
if err := s.Due.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"due\"")
}
case "completed":
if err := func() error {
s.Completed.Reset()
if err := s.Completed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"completed\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode TaskRequest")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *TaskRequest) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *TaskRequest) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *TasksResponse) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *TasksResponse) encodeFields(e *jx.Encoder) {
{
if s.Kind.Set {
e.FieldStart("kind")
s.Kind.Encode(e)
}
}
{
if s.Items != nil {
e.FieldStart("items")
e.ArrStart()
for _, elem := range s.Items {
elem.Encode(e)
}
e.ArrEnd()
}
}
{
if s.NextPageToken.Set {
e.FieldStart("nextPageToken")
s.NextPageToken.Encode(e)
}
}
}
var jsonFieldsNameOfTasksResponse = [3]string{
0: "kind",
1: "items",
2: "nextPageToken",
}
// Decode decodes TasksResponse from json.
func (s *TasksResponse) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode TasksResponse to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "kind":
if err := func() error {
s.Kind.Reset()
if err := s.Kind.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"kind\"")
}
case "items":
if err := func() error {
s.Items = make([]Task, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem Task
if err := elem.Decode(d); err != nil {
return err
}
s.Items = append(s.Items, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"items\"")
}
case "nextPageToken":
if err := func() error {
s.NextPageToken.Reset()
if err := s.NextPageToken.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"nextPageToken\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode TasksResponse")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *TasksResponse) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *TasksResponse) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}