1
0
api/ent/ogent/oas_json_gen.go

21662 lines
433 KiB
Go
Raw Normal View History

2022-08-31 06:18:14 +00:00
// Code generated by ogen, DO NOT EDIT.
package ogent
import (
"math/bits"
"strconv"
"time"
"github.com/go-faster/errors"
"github.com/go-faster/jx"
2022-08-31 07:49:08 +00:00
2022-08-31 06:18:14 +00:00
"github.com/ogen-go/ogen/json"
"github.com/ogen-go/ogen/validate"
)
// Encode implements json.Marshaler.
2022-08-31 07:49:08 +00:00
func (s *CardCreate) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
func (s *CardCreate) encodeFields(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
e.FieldStart("id")
e.Int(s.ID)
2022-08-31 06:18:14 +00:00
}
{
2022-08-31 07:49:08 +00:00
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
2022-08-31 06:18:14 +00:00
}
}
2023-04-05 06:05:14 +00:00
{
if s.Skill.Set {
e.FieldStart("skill")
s.Skill.Encode(e)
}
}
2022-08-31 06:18:14 +00:00
{
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
}
{
2022-08-31 07:49:08 +00:00
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
2022-08-31 06:18:14 +00:00
}
}
{
if s.URL.Set {
e.FieldStart("url")
s.URL.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
2022-08-31 07:49:08 +00:00
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfCardCreate = [9]string{
2022-08-31 07:49:08 +00:00
0: "id",
1: "card",
2023-04-05 06:05:14 +00:00
2: "skill",
3: "status",
4: "cp",
5: "url",
6: "count",
7: "author",
8: "created_at",
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
// Decode decodes CardCreate from json.
func (s *CardCreate) Decode(d *jx.Decoder) error {
2022-08-31 06:18:14 +00:00
if s == nil {
2022-08-31 07:49:08 +00:00
return errors.New("invalid: unable to decode CardCreate to nil")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [2]uint8
2022-08-31 06:18:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2022-08-31 07:49:08 +00:00
case "id":
2022-08-31 06:18:14 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
2022-08-31 07:49:08 +00:00
v, err := d.Int()
s.ID = int(v)
2022-08-31 06:18:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"id\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "card":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"card\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "skill":
if err := func() error {
s.Skill.Reset()
if err := s.Skill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"skill\"")
}
2022-08-31 07:49:08 +00:00
case "status":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Status.Reset()
if err := s.Status.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"status\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "cp":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"cp\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "url":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.URL.Reset()
if err := s.URL.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"url\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
2022-08-31 07:49:08 +00:00
case "created_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode CardCreate")
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [2]uint8{
2022-08-31 07:49:08 +00:00
0b00000001,
2023-04-05 06:05:14 +00:00
0b00000000,
2022-08-31 07:49:08 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfCardCreate) {
name = jsonFieldsNameOfCardCreate[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *CardCreate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CardCreate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *CardList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *CardList) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Skill.Set {
e.FieldStart("skill")
s.Skill.Encode(e)
}
}
2022-08-31 07:49:08 +00:00
{
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.URL.Set {
e.FieldStart("url")
s.URL.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
2022-08-31 07:49:08 +00:00
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfCardList = [9]string{
2022-08-31 07:49:08 +00:00
0: "id",
1: "card",
2023-04-05 06:05:14 +00:00
2: "skill",
3: "status",
4: "cp",
5: "url",
6: "count",
7: "author",
8: "created_at",
2022-08-31 07:49:08 +00:00
}
// Decode decodes CardList from json.
func (s *CardList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode CardList to nil")
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [2]uint8
2022-08-31 07:49:08 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"id\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "card":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"card\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "skill":
if err := func() error {
s.Skill.Reset()
if err := s.Skill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"skill\"")
}
2022-08-31 06:18:14 +00:00
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\"")
}
2022-08-31 07:49:08 +00:00
case "cp":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"cp\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "url":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.URL.Reset()
if err := s.URL.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"url\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
2022-08-31 07:49:08 +00:00
case "created_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2022-08-31 06:18:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode CardList")
2022-08-31 06:18:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [2]uint8{
2022-08-31 06:18:14 +00:00
0b00000001,
2023-04-05 06:05:14 +00:00
0b00000000,
2022-08-31 06:18:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2022-08-31 07:49:08 +00:00
if fieldIdx < len(jsonFieldsNameOfCardList) {
name = jsonFieldsNameOfCardList[fieldIdx]
2022-08-31 06:18:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
func (s *CardList) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CardList) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
2022-08-31 06:18:14 +00:00
}
// Encode implements json.Marshaler.
2022-08-31 07:49:08 +00:00
func (s *CardOwnerRead) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
func (s *CardOwnerRead) encodeFields(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
e.FieldStart("id")
e.Int(s.ID)
2022-08-31 06:18:14 +00:00
}
{
2022-08-31 07:49:08 +00:00
e.FieldStart("username")
e.Str(s.Username)
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
2023-04-05 06:05:14 +00:00
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
2022-08-31 07:49:08 +00:00
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
2022-08-31 06:18:14 +00:00
}
}
2023-04-05 06:05:14 +00:00
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
}
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
}
{
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
}
{
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
}
{
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
}
}
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfCardOwnerRead = [49]string{
0: "id",
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
// Decode decodes CardOwnerRead from json.
func (s *CardOwnerRead) Decode(d *jx.Decoder) error {
2022-08-31 06:18:14 +00:00
if s == nil {
2022-08-31 07:49:08 +00:00
return errors.New("invalid: unable to decode CardOwnerRead to nil")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [7]uint8
2022-08-31 06:18:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2022-08-31 07:49:08 +00:00
case "id":
2022-08-31 06:18:14 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
2022-08-31 07:49:08 +00:00
s.ID = int(v)
2022-08-31 06:18:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"id\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "username":
2022-08-31 06:18:14 +00:00
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
2022-08-31 07:49:08 +00:00
s.Username = string(v)
2022-08-31 06:18:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"username\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
2022-08-31 07:49:08 +00:00
case "created_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
2023-04-05 06:05:14 +00:00
case "raid_at":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"raid_at\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
}
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
}
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
}
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
}
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
}
case "ten_at":
if err := func() error {
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_at\"")
}
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
}
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
}
case "model_limit":
if err := func() error {
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_limit\"")
}
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
}
case "model_mode":
if err := func() error {
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_mode\"")
}
case "model_critical":
if err := func() error {
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_end\"")
}
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
}
case "game_lv":
if err := func() error {
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_lv\"")
}
case "coin":
if err := func() error {
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin\"")
}
case "coin_open":
if err := func() error {
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
}
default:
return d.Skip()
}
return nil
2022-08-31 06:18:14 +00:00
}); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode CardOwnerRead")
2022-08-31 06:18:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [7]uint8{
2022-08-31 06:18:14 +00:00
0b00000011,
2023-04-05 06:05:14 +00:00
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
2022-08-31 06:18:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2022-08-31 07:49:08 +00:00
if fieldIdx < len(jsonFieldsNameOfCardOwnerRead) {
name = jsonFieldsNameOfCardOwnerRead[fieldIdx]
2022-08-31 06:18:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
func (s *CardOwnerRead) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CardOwnerRead) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2022-08-31 06:18:14 +00:00
// Encode implements json.Marshaler.
2022-08-31 07:49:08 +00:00
func (s *CardRead) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
func (s *CardRead) encodeFields(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
e.FieldStart("id")
e.Int(s.ID)
2022-08-31 06:18:14 +00:00
}
{
2022-08-31 07:49:08 +00:00
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Skill.Set {
e.FieldStart("skill")
s.Skill.Encode(e)
}
}
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.URL.Set {
e.FieldStart("url")
s.URL.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
2022-08-31 07:49:08 +00:00
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
2022-08-31 06:18:14 +00:00
}
}
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfCardRead = [9]string{
2022-08-31 07:49:08 +00:00
0: "id",
1: "card",
2023-04-05 06:05:14 +00:00
2: "skill",
3: "status",
4: "cp",
5: "url",
6: "count",
7: "author",
8: "created_at",
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
// Decode decodes CardRead from json.
func (s *CardRead) Decode(d *jx.Decoder) error {
2022-08-31 06:18:14 +00:00
if s == nil {
2022-08-31 07:49:08 +00:00
return errors.New("invalid: unable to decode CardRead to nil")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [2]uint8
2022-08-31 06:18:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2022-08-31 07:49:08 +00:00
case "id":
2022-08-31 06:18:14 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
2022-08-31 07:49:08 +00:00
s.ID = int(v)
2022-08-31 06:18:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"id\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "skill":
if err := func() error {
s.Skill.Reset()
if err := s.Skill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"skill\"")
}
2022-08-31 06:18:14 +00:00
case "status":
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Status.Reset()
if err := s.Status.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"status\"")
}
2022-08-31 07:49:08 +00:00
case "cp":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"cp\"")
}
case "url":
if err := func() error {
s.URL.Reset()
if err := s.URL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"url\"")
}
2023-04-05 06:05:14 +00:00
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
2022-08-31 07:49:08 +00:00
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
2022-08-31 06:18:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode CardRead")
2022-08-31 06:18:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [2]uint8{
2022-08-31 07:49:08 +00:00
0b00000001,
2023-04-05 06:05:14 +00:00
0b00000000,
2022-08-31 06:18:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2022-08-31 07:49:08 +00:00
if fieldIdx < len(jsonFieldsNameOfCardRead) {
name = jsonFieldsNameOfCardRead[fieldIdx]
2022-08-31 06:18:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
func (s *CardRead) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CardRead) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2022-08-31 06:18:14 +00:00
// Encode implements json.Marshaler.
2022-08-31 07:49:08 +00:00
func (s *CardUpdate) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
func (s *CardUpdate) encodeFields(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
e.FieldStart("id")
e.Int(s.ID)
2022-08-31 06:18:14 +00:00
}
{
2022-08-31 07:49:08 +00:00
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Skill.Set {
e.FieldStart("skill")
s.Skill.Encode(e)
}
}
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.URL.Set {
e.FieldStart("url")
s.URL.Encode(e)
}
}
{
2023-04-05 06:05:14 +00:00
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
2022-08-31 06:18:14 +00:00
}
}
2023-04-05 06:05:14 +00:00
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
2022-08-31 06:18:14 +00:00
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfCardUpdate = [9]string{
2022-08-31 07:49:08 +00:00
0: "id",
1: "card",
2023-04-05 06:05:14 +00:00
2: "skill",
3: "status",
4: "cp",
5: "url",
6: "count",
7: "author",
8: "created_at",
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
// Decode decodes CardUpdate from json.
func (s *CardUpdate) Decode(d *jx.Decoder) error {
2022-08-31 06:18:14 +00:00
if s == nil {
2022-08-31 07:49:08 +00:00
return errors.New("invalid: unable to decode CardUpdate to nil")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [2]uint8
2022-08-31 06:18:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2022-08-31 07:49:08 +00:00
case "id":
2022-08-31 06:18:14 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
2022-08-31 07:49:08 +00:00
s.ID = int(v)
2022-08-31 06:18:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"id\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "skill":
if err := func() error {
s.Skill.Reset()
if err := s.Skill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"skill\"")
}
2022-08-31 06:18:14 +00:00
case "status":
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Status.Reset()
if err := s.Status.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"status\"")
}
2022-08-31 07:49:08 +00:00
case "cp":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"cp\"")
}
case "url":
if err := func() error {
s.URL.Reset()
if err := s.URL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"url\"")
}
2023-04-05 06:05:14 +00:00
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
2022-08-31 07:49:08 +00:00
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
2022-08-31 06:18:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode CardUpdate")
2022-08-31 06:18:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [2]uint8{
2022-08-31 07:49:08 +00:00
0b00000001,
2023-04-05 06:05:14 +00:00
0b00000000,
2022-08-31 06:18:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2022-08-31 07:49:08 +00:00
if fieldIdx < len(jsonFieldsNameOfCardUpdate) {
name = jsonFieldsNameOfCardUpdate[fieldIdx]
2022-08-31 06:18:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
func (s *CardUpdate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CardUpdate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2022-08-31 06:18:14 +00:00
// Encode implements json.Marshaler.
2022-08-31 07:49:08 +00:00
func (s *CreateCardReq) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
func (s *CreateCardReq) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
e.FieldStart("password")
e.Str(s.Password)
}
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Skill.Set {
e.FieldStart("skill")
s.Skill.Encode(e)
}
}
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
}
}
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.URL.Set {
e.FieldStart("url")
s.URL.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
2022-08-31 07:49:08 +00:00
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
2022-08-31 06:18:14 +00:00
}
}
2022-08-31 07:49:08 +00:00
{
e.FieldStart("owner")
e.Int(s.Owner)
}
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfCreateCardReq = [11]string{
0: "password",
1: "card",
2: "skill",
3: "status",
4: "token",
5: "cp",
6: "url",
7: "count",
8: "author",
9: "created_at",
10: "owner",
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
// Decode decodes CreateCardReq from json.
func (s *CreateCardReq) Decode(d *jx.Decoder) error {
2022-08-31 06:18:14 +00:00
if s == nil {
2022-08-31 07:49:08 +00:00
return errors.New("invalid: unable to decode CreateCardReq to nil")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [2]uint8
2022-08-31 06:18:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2023-04-05 06:05:14 +00:00
case "password":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Str()
s.Password = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"password\"")
}
2022-08-31 07:49:08 +00:00
case "card":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"card\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "skill":
if err := func() error {
s.Skill.Reset()
if err := s.Skill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"skill\"")
}
2022-08-31 06:18:14 +00:00
case "status":
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Status.Reset()
if err := s.Status.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"status\"")
}
2023-04-05 06:05:14 +00:00
case "token":
if err := func() error {
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"token\"")
}
2022-08-31 07:49:08 +00:00
case "cp":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "url":
if err := func() error {
s.URL.Reset()
if err := s.URL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"url\"")
}
2023-04-05 06:05:14 +00:00
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
2022-08-31 07:49:08 +00:00
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
case "owner":
2023-04-05 06:05:14 +00:00
requiredBitSet[1] |= 1 << 2
2022-08-31 07:49:08 +00:00
if err := func() error {
v, err := d.Int()
s.Owner = int(v)
2022-08-31 06:18:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"owner\"")
2022-08-31 06:18:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode CreateCardReq")
2022-08-31 06:18:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [2]uint8{
0b00000001,
0b00000100,
2022-08-31 06:18:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2022-08-31 07:49:08 +00:00
if fieldIdx < len(jsonFieldsNameOfCreateCardReq) {
name = jsonFieldsNameOfCreateCardReq[fieldIdx]
2022-08-31 06:18:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
func (s *CreateCardReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CreateCardReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2022-08-31 06:18:14 +00:00
// Encode implements json.Marshaler.
2022-08-31 07:49:08 +00:00
func (s *CreateGroupReq) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
func (s *CreateGroupReq) encodeFields(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
e.FieldStart("name")
e.Str(s.Name)
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
{
e.FieldStart("password")
e.Str(s.Password)
}
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
if s.Users != nil {
e.FieldStart("users")
e.ArrStart()
for _, elem := range s.Users {
e.Int(elem)
}
e.ArrEnd()
2022-08-31 06:18:14 +00:00
}
}
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfCreateGroupReq = [3]string{
2022-08-31 07:49:08 +00:00
0: "name",
2023-04-05 06:05:14 +00:00
1: "password",
2: "users",
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
// Decode decodes CreateGroupReq from json.
func (s *CreateGroupReq) Decode(d *jx.Decoder) error {
2022-08-31 06:18:14 +00:00
if s == nil {
2022-08-31 07:49:08 +00:00
return errors.New("invalid: unable to decode CreateGroupReq to nil")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
var requiredBitSet [1]uint8
2022-08-31 06:18:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2022-08-31 07:49:08 +00:00
case "name":
requiredBitSet[0] |= 1 << 0
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
v, err := d.Str()
s.Name = string(v)
if err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"name\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "password":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Password = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"password\"")
}
2022-08-31 07:49:08 +00:00
case "users":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Users = make([]int, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
s.Users = append(s.Users, elem)
return nil
}); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"users\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode CreateGroupReq")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
2023-04-05 06:05:14 +00:00
0b00000011,
2022-08-31 07:49:08 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfCreateGroupReq) {
name = jsonFieldsNameOfCreateGroupReq[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
2022-08-31 06:18:14 +00:00
}
}
2022-08-31 07:49:08 +00:00
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
2022-08-31 06:18:14 +00:00
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
func (s *CreateGroupReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CreateGroupReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2022-08-31 06:18:14 +00:00
// Encode implements json.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *CreateMaReq) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
2023-04-05 06:05:14 +00:00
func (s *CreateMaReq) encodeFields(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
{
2023-04-05 06:05:14 +00:00
e.FieldStart("password")
e.Str(s.Password)
2022-08-31 06:18:14 +00:00
}
{
2023-04-05 06:05:14 +00:00
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
}
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Text.Set {
e.FieldStart("text")
s.Text.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Avatar.Set {
e.FieldStart("avatar")
s.Avatar.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.URI.Set {
e.FieldStart("uri")
s.URI.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.CidRoot.Set {
e.FieldStart("cid_root")
s.CidRoot.Encode(e)
}
}
{
if s.URIRoot.Set {
e.FieldStart("uri_root")
s.URIRoot.Encode(e)
}
}
{
if s.Root.Set {
e.FieldStart("root")
s.Root.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Rkey.Set {
e.FieldStart("rkey")
s.Rkey.Encode(e)
}
}
{
if s.BskyURL.Set {
e.FieldStart("bsky_url")
s.BskyURL.Encode(e)
2022-08-31 06:18:14 +00:00
}
}
2024-04-11 16:54:12 +00:00
{
if s.Comment.Set {
e.FieldStart("comment")
s.Comment.Encode(e)
}
}
{
if s.Blog.Set {
e.FieldStart("blog")
s.Blog.Encode(e)
}
}
{
if s.BlogURL.Set {
e.FieldStart("blog_url")
s.BlogURL.Encode(e)
}
}
{
if s.Domain.Set {
e.FieldStart("domain")
s.Domain.Encode(e)
}
}
{
if s.Host.Set {
e.FieldStart("host")
s.Host.Encode(e)
}
}
{
if s.Feed.Set {
e.FieldStart("feed")
s.Feed.Encode(e)
}
}
2022-08-31 06:18:14 +00:00
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
2023-04-05 06:05:14 +00:00
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
2022-08-31 07:49:08 +00:00
}
}
{
2023-04-05 06:05:14 +00:00
e.FieldStart("owner")
e.Int(s.Owner)
2022-08-31 06:18:14 +00:00
}
}
2024-04-11 16:54:12 +00:00
var jsonFieldsNameOfCreateMaReq = [24]string{
2023-04-05 06:05:14 +00:00
0: "password",
1: "token",
2: "limit",
3: "count",
4: "handle",
5: "text",
6: "did",
7: "avatar",
8: "cid",
9: "uri",
2024-04-11 16:54:12 +00:00
10: "cid_root",
11: "uri_root",
12: "root",
13: "rkey",
14: "bsky_url",
15: "comment",
16: "blog",
17: "blog_url",
18: "domain",
19: "host",
20: "feed",
21: "updated_at",
22: "created_at",
23: "owner",
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
// Decode decodes CreateMaReq from json.
func (s *CreateMaReq) Decode(d *jx.Decoder) error {
2022-08-31 06:18:14 +00:00
if s == nil {
2023-04-05 06:05:14 +00:00
return errors.New("invalid: unable to decode CreateMaReq to nil")
2022-08-31 06:18:14 +00:00
}
2024-04-11 16:54:12 +00:00
var requiredBitSet [3]uint8
2022-08-31 06:18:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2023-04-05 06:05:14 +00:00
case "password":
2022-08-31 06:18:14 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Str()
2023-04-05 06:05:14 +00:00
s.Password = string(v)
2022-08-31 06:18:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"password\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "token":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"token\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "text":
if err := func() error {
s.Text.Reset()
if err := s.Text.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"text\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "avatar":
if err := func() error {
s.Avatar.Reset()
if err := s.Avatar.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"avatar\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "uri":
if err := func() error {
s.URI.Reset()
if err := s.URI.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri\"")
}
2024-04-11 16:54:12 +00:00
case "cid_root":
if err := func() error {
s.CidRoot.Reset()
if err := s.CidRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid_root\"")
}
case "uri_root":
if err := func() error {
s.URIRoot.Reset()
if err := s.URIRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri_root\"")
}
case "root":
if err := func() error {
s.Root.Reset()
if err := s.Root.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"root\"")
}
2023-04-05 06:05:14 +00:00
case "rkey":
if err := func() error {
s.Rkey.Reset()
if err := s.Rkey.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"rkey\"")
}
case "bsky_url":
if err := func() error {
s.BskyURL.Reset()
if err := s.BskyURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky_url\"")
2022-08-31 06:18:14 +00:00
}
2024-04-11 16:54:12 +00:00
case "comment":
if err := func() error {
s.Comment.Reset()
if err := s.Comment.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"comment\"")
}
case "blog":
if err := func() error {
s.Blog.Reset()
if err := s.Blog.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog\"")
}
case "blog_url":
if err := func() error {
s.BlogURL.Reset()
if err := s.BlogURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog_url\"")
}
case "domain":
if err := func() error {
s.Domain.Reset()
if err := s.Domain.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"domain\"")
}
case "host":
if err := func() error {
s.Host.Reset()
if err := s.Host.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"host\"")
}
case "feed":
if err := func() error {
s.Feed.Reset()
if err := s.Feed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"feed\"")
}
2022-08-31 07:49:08 +00:00
case "updated_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"updated_at\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "created_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "owner":
2024-04-11 16:54:12 +00:00
requiredBitSet[2] |= 1 << 7
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
v, err := d.Int()
s.Owner = int(v)
if err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"owner\"")
2022-08-31 06:18:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode CreateMaReq")
2022-08-31 06:18:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-11 16:54:12 +00:00
for i, mask := range [3]uint8{
2022-08-31 07:49:08 +00:00
0b00000001,
2024-04-11 16:54:12 +00:00
0b00000000,
0b10000000,
2022-08-31 06:18:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2023-04-05 06:05:14 +00:00
if fieldIdx < len(jsonFieldsNameOfCreateMaReq) {
name = jsonFieldsNameOfCreateMaReq[fieldIdx]
2022-08-31 06:18:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *CreateMaReq) MarshalJSON() ([]byte, error) {
2022-08-31 07:49:08 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2023-04-05 06:05:14 +00:00
func (s *CreateMaReq) UnmarshalJSON(data []byte) error {
2022-08-31 07:49:08 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2022-08-31 06:18:14 +00:00
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *CreateSevReq) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *CreateSevReq) encodeFields(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
{
2023-04-05 06:05:14 +00:00
e.FieldStart("password")
e.Str(s.Password)
}
{
2024-04-10 21:11:26 +00:00
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.UID.Set {
e.FieldStart("uid")
s.UID.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
2024-04-10 21:11:26 +00:00
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
2023-04-05 06:05:14 +00:00
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
2022-08-31 06:18:14 +00:00
}
{
2023-04-05 06:05:14 +00:00
e.FieldStart("owner")
e.Int(s.Owner)
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
}
2024-04-10 21:11:26 +00:00
var jsonFieldsNameOfCreateSevReq = [13]string{
0: "password",
1: "token",
2: "limit",
3: "count",
4: "handle",
5: "did",
6: "uid",
7: "cid",
8: "cp",
9: "card",
10: "updated_at",
11: "created_at",
12: "owner",
2022-08-31 07:49:08 +00:00
}
2024-04-10 21:11:26 +00:00
// Decode decodes CreateSevReq from json.
func (s *CreateSevReq) Decode(d *jx.Decoder) error {
2022-08-31 07:49:08 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode CreateSevReq to nil")
2022-08-31 07:49:08 +00:00
}
2024-04-10 21:11:26 +00:00
var requiredBitSet [2]uint8
2022-08-31 07:49:08 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2023-04-05 06:05:14 +00:00
case "password":
2024-04-10 21:11:26 +00:00
requiredBitSet[0] |= 1 << 0
2022-08-31 07:49:08 +00:00
if err := func() error {
v, err := d.Str()
2023-04-05 06:05:14 +00:00
s.Password = string(v)
2022-08-31 07:49:08 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"password\"")
}
2024-04-10 21:11:26 +00:00
case "token":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"token\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "limit":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"limit\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "count":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"count\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "handle":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"handle\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "did":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"did\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "uid":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UID.Reset()
if err := s.UID.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"uid\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "cid":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"cid\"")
2023-04-05 06:05:14 +00:00
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
2024-04-10 21:11:26 +00:00
case "card":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"card\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "updated_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"updated_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "created_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "owner":
requiredBitSet[1] |= 1 << 4
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.Owner = int(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"owner\"")
2022-08-31 07:49:08 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode CreateSevReq")
2022-08-31 07:49:08 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-10 21:11:26 +00:00
for i, mask := range [2]uint8{
0b00000001,
0b00010000,
2022-08-31 07:49:08 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2024-04-10 21:11:26 +00:00
if fieldIdx < len(jsonFieldsNameOfCreateSevReq) {
name = jsonFieldsNameOfCreateSevReq[fieldIdx]
2022-08-31 07:49:08 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *CreateSevReq) MarshalJSON() ([]byte, error) {
2022-08-31 07:49:08 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *CreateSevReq) UnmarshalJSON(data []byte) error {
2022-08-31 07:49:08 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *CreateUeReq) Encode(e *jx.Encoder) {
2022-08-31 07:49:08 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *CreateUeReq) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
2024-04-10 21:11:26 +00:00
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.LimitBoss.Set {
e.FieldStart("limit_boss")
s.LimitBoss.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.LimitItem.Set {
e.FieldStart("limit_item")
s.LimitItem.Encode(e)
2023-04-05 06:05:14 +00:00
}
2022-08-31 07:49:08 +00:00
}
{
2023-04-05 06:05:14 +00:00
e.FieldStart("password")
e.Str(s.Password)
}
{
2024-04-10 21:11:26 +00:00
if s.Lv.Set {
e.FieldStart("lv")
s.Lv.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.LvPoint.Set {
e.FieldStart("lv_point")
s.LvPoint.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Sword.Set {
e.FieldStart("sword")
s.Sword.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Mode.Set {
e.FieldStart("mode")
s.Mode.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.LocationX.Set {
e.FieldStart("location_x")
s.LocationX.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.LocationY.Set {
e.FieldStart("location_y")
s.LocationY.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.LocationZ.Set {
e.FieldStart("location_z")
s.LocationZ.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.LocationN.Set {
e.FieldStart("location_n")
s.LocationN.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
e.FieldStart("owner")
e.Int(s.Owner)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
}
var jsonFieldsNameOfCreateUeReq = [20]string{
0: "limit",
1: "limit_boss",
2: "limit_item",
3: "password",
4: "lv",
5: "lv_point",
6: "model",
7: "sword",
8: "card",
9: "mode",
10: "token",
11: "cp",
12: "count",
13: "location_x",
14: "location_y",
15: "location_z",
16: "location_n",
17: "author",
18: "created_at",
19: "owner",
}
// Decode decodes CreateUeReq from json.
func (s *CreateUeReq) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode CreateUeReq to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
var requiredBitSet [3]uint8
2023-04-05 06:05:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2024-04-10 21:11:26 +00:00
case "limit":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"limit\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "limit_boss":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LimitBoss.Reset()
if err := s.LimitBoss.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"limit_boss\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "limit_item":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LimitItem.Reset()
if err := s.LimitItem.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"limit_item\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "password":
requiredBitSet[0] |= 1 << 3
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Str()
s.Password = string(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"password\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "lv":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Lv.Reset()
if err := s.Lv.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"lv\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "lv_point":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LvPoint.Reset()
if err := s.LvPoint.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"lv_point\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "sword":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Sword.Reset()
if err := s.Sword.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"sword\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "card":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"card\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "mode":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Mode.Reset()
if err := s.Mode.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"mode\"")
2023-04-05 06:05:14 +00:00
}
case "token":
if err := func() error {
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"token\"")
}
2024-04-10 21:11:26 +00:00
case "cp":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"cp\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "count":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"count\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "location_x":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LocationX.Reset()
if err := s.LocationX.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"location_x\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "location_y":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LocationY.Reset()
if err := s.LocationY.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"location_y\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "location_z":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LocationZ.Reset()
if err := s.LocationZ.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"location_z\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "location_n":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LocationN.Reset()
if err := s.LocationN.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"location_n\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "author":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"author\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "created_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "owner":
requiredBitSet[2] |= 1 << 3
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.Owner = int(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"owner\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode CreateUeReq")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [3]uint8{
0b00001000,
0b00000000,
0b00001000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfCreateUeReq) {
name = jsonFieldsNameOfCreateUeReq[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *CreateUeReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CreateUeReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *CreateUserReq) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *CreateUserReq) encodeFields(e *jx.Encoder) {
{
e.FieldStart("username")
e.Str(s.Username)
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
}
}
{
e.FieldStart("password")
e.Str(s.Password)
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
}
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
}
{
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
}
{
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
}
{
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Card != nil {
e.FieldStart("card")
e.ArrStart()
for _, elem := range s.Card {
e.Int(elem)
}
e.ArrEnd()
}
}
{
if s.Ue != nil {
e.FieldStart("ue")
e.ArrStart()
for _, elem := range s.Ue {
e.Int(elem)
}
e.ArrEnd()
}
}
{
if s.Ma != nil {
e.FieldStart("ma")
e.ArrStart()
for _, elem := range s.Ma {
e.Int(elem)
}
e.ArrEnd()
}
}
{
if s.Sev != nil {
e.FieldStart("sev")
e.ArrStart()
for _, elem := range s.Sev {
e.Int(elem)
}
e.ArrEnd()
}
}
}
var jsonFieldsNameOfCreateUserReq = [54]string{
0: "username",
1: "did",
2: "member",
3: "book",
4: "manga",
5: "badge",
6: "bsky",
7: "mastodon",
8: "delete",
9: "handle",
10: "token",
11: "password",
12: "created_at",
13: "updated_at",
14: "raid_at",
15: "server_at",
16: "egg_at",
17: "luck",
18: "luck_at",
19: "like",
20: "like_rank",
21: "like_at",
22: "fav",
23: "ten",
24: "ten_su",
25: "ten_kai",
26: "aiten",
27: "ten_card",
28: "ten_delete",
29: "ten_post",
30: "ten_get",
31: "ten_at",
32: "next",
33: "room",
34: "model",
35: "model_at",
36: "model_attack",
37: "model_limit",
38: "model_skill",
39: "model_mode",
40: "model_critical",
41: "model_critical_d",
42: "game",
43: "game_test",
44: "game_end",
45: "game_account",
46: "game_lv",
47: "coin",
48: "coin_open",
49: "coin_at",
50: "card",
51: "ue",
52: "ma",
53: "sev",
}
// Decode decodes CreateUserReq from json.
func (s *CreateUserReq) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode CreateUserReq to nil")
}
var requiredBitSet [7]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "username":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Str()
s.Username = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"username\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "token":
if err := func() error {
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"token\"")
}
case "password":
requiredBitSet[1] |= 1 << 3
if err := func() error {
v, err := d.Str()
s.Password = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"password\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "raid_at":
if err := func() error {
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"raid_at\"")
}
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
}
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
}
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
}
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
}
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
}
case "ten_at":
if err := func() error {
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_at\"")
}
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
}
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
}
case "model_limit":
if err := func() error {
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_limit\"")
}
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
}
case "model_mode":
if err := func() error {
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_mode\"")
}
case "model_critical":
if err := func() error {
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_end\"")
}
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
}
case "game_lv":
if err := func() error {
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_lv\"")
}
case "coin":
if err := func() error {
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin\"")
}
case "coin_open":
if err := func() error {
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
}
case "card":
if err := func() error {
s.Card = make([]int, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
s.Card = append(s.Card, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "ue":
if err := func() error {
s.Ue = make([]int, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
s.Ue = append(s.Ue, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ue\"")
}
case "ma":
if err := func() error {
s.Ma = make([]int, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
s.Ma = append(s.Ma, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ma\"")
}
case "sev":
if err := func() error {
s.Sev = make([]int, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
s.Sev = append(s.Sev, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"sev\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode CreateUserReq")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [7]uint8{
0b00000001,
0b00001000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfCreateUserReq) {
name = jsonFieldsNameOfCreateUserReq[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *CreateUserReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *CreateUserReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *GroupCreate) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *GroupCreate) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("name")
e.Str(s.Name)
}
}
var jsonFieldsNameOfGroupCreate = [2]string{
0: "id",
1: "name",
}
// Decode decodes GroupCreate from json.
func (s *GroupCreate) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode GroupCreate to nil")
}
var requiredBitSet [1]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "name":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Name = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"name\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode GroupCreate")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
0b00000011,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfGroupCreate) {
name = jsonFieldsNameOfGroupCreate[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *GroupCreate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *GroupCreate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *GroupList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *GroupList) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("name")
e.Str(s.Name)
}
}
var jsonFieldsNameOfGroupList = [2]string{
0: "id",
1: "name",
}
// Decode decodes GroupList from json.
func (s *GroupList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode GroupList to nil")
}
var requiredBitSet [1]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "name":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Name = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"name\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode GroupList")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
0b00000011,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfGroupList) {
name = jsonFieldsNameOfGroupList[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *GroupList) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *GroupList) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *GroupRead) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *GroupRead) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("name")
e.Str(s.Name)
}
}
var jsonFieldsNameOfGroupRead = [2]string{
0: "id",
1: "name",
}
// Decode decodes GroupRead from json.
func (s *GroupRead) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode GroupRead to nil")
}
var requiredBitSet [1]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "name":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Name = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"name\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode GroupRead")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
0b00000011,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfGroupRead) {
name = jsonFieldsNameOfGroupRead[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *GroupRead) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *GroupRead) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *GroupUpdate) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *GroupUpdate) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("name")
e.Str(s.Name)
}
}
var jsonFieldsNameOfGroupUpdate = [2]string{
0: "id",
1: "name",
}
// Decode decodes GroupUpdate from json.
func (s *GroupUpdate) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode GroupUpdate to nil")
}
var requiredBitSet [1]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "name":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Name = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"name\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode GroupUpdate")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
0b00000011,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfGroupUpdate) {
name = jsonFieldsNameOfGroupUpdate[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *GroupUpdate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *GroupUpdate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *GroupUsersList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *GroupUsersList) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("username")
e.Str(s.Username)
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
}
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
}
{
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
}
{
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
}
{
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfGroupUsersList = [49]string{
0: "id",
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
}
// Decode decodes GroupUsersList from json.
func (s *GroupUsersList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode GroupUsersList to nil")
}
var requiredBitSet [7]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "username":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Username = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"username\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "raid_at":
if err := func() error {
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"raid_at\"")
}
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
}
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
}
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
}
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
}
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
}
case "ten_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_at\"")
}
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
}
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
}
case "model_limit":
if err := func() error {
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_limit\"")
}
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
}
case "model_mode":
if err := func() error {
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_mode\"")
}
case "model_critical":
if err := func() error {
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_end\"")
}
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
}
case "game_lv":
if err := func() error {
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_lv\"")
}
case "coin":
if err := func() error {
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin\"")
}
case "coin_open":
if err := func() error {
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
}
2024-04-10 21:11:26 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode GroupUsersList")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [7]uint8{
0b00000011,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfGroupUsersList) {
name = jsonFieldsNameOfGroupUsersList[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *GroupUsersList) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *GroupUsersList) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListCardOKApplicationJSON as json.
func (s ListCardOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []CardList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
}
e.ArrEnd()
}
// Decode decodes ListCardOKApplicationJSON from json.
func (s *ListCardOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListCardOKApplicationJSON to nil")
}
var unwrapped []CardList
if err := func() error {
unwrapped = make([]CardList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem CardList
if err := elem.Decode(d); err != nil {
return err
}
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
}
*s = ListCardOKApplicationJSON(unwrapped)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s ListCardOKApplicationJSON) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *ListCardOKApplicationJSON) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListGroupOKApplicationJSON as json.
func (s ListGroupOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []GroupList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
}
e.ArrEnd()
}
// Decode decodes ListGroupOKApplicationJSON from json.
func (s *ListGroupOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListGroupOKApplicationJSON to nil")
}
var unwrapped []GroupList
if err := func() error {
unwrapped = make([]GroupList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem GroupList
if err := elem.Decode(d); err != nil {
return err
}
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
}
*s = ListGroupOKApplicationJSON(unwrapped)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s ListGroupOKApplicationJSON) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *ListGroupOKApplicationJSON) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListGroupUsersOKApplicationJSON as json.
func (s ListGroupUsersOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []GroupUsersList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
}
e.ArrEnd()
}
// Decode decodes ListGroupUsersOKApplicationJSON from json.
func (s *ListGroupUsersOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListGroupUsersOKApplicationJSON to nil")
}
var unwrapped []GroupUsersList
if err := func() error {
unwrapped = make([]GroupUsersList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem GroupUsersList
if err := elem.Decode(d); err != nil {
return err
}
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
}
*s = ListGroupUsersOKApplicationJSON(unwrapped)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s ListGroupUsersOKApplicationJSON) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *ListGroupUsersOKApplicationJSON) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListMaOKApplicationJSON as json.
func (s ListMaOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []MaList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
}
e.ArrEnd()
}
// Decode decodes ListMaOKApplicationJSON from json.
func (s *ListMaOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListMaOKApplicationJSON to nil")
}
var unwrapped []MaList
if err := func() error {
unwrapped = make([]MaList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem MaList
if err := elem.Decode(d); err != nil {
return err
}
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
}
*s = ListMaOKApplicationJSON(unwrapped)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s ListMaOKApplicationJSON) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *ListMaOKApplicationJSON) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListSevOKApplicationJSON as json.
func (s ListSevOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []SevList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
}
e.ArrEnd()
}
// Decode decodes ListSevOKApplicationJSON from json.
func (s *ListSevOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListSevOKApplicationJSON to nil")
}
var unwrapped []SevList
if err := func() error {
unwrapped = make([]SevList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem SevList
if err := elem.Decode(d); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
}
*s = ListSevOKApplicationJSON(unwrapped)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s ListSevOKApplicationJSON) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *ListSevOKApplicationJSON) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListUeOKApplicationJSON as json.
func (s ListUeOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []UeList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
}
e.ArrEnd()
}
// Decode decodes ListUeOKApplicationJSON from json.
func (s *ListUeOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListUeOKApplicationJSON to nil")
}
var unwrapped []UeList
if err := func() error {
unwrapped = make([]UeList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem UeList
if err := elem.Decode(d); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
}
*s = ListUeOKApplicationJSON(unwrapped)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s ListUeOKApplicationJSON) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *ListUeOKApplicationJSON) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListUserCardOKApplicationJSON as json.
func (s ListUserCardOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []UserCardList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
}
e.ArrEnd()
}
// Decode decodes ListUserCardOKApplicationJSON from json.
func (s *ListUserCardOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListUserCardOKApplicationJSON to nil")
}
var unwrapped []UserCardList
if err := func() error {
unwrapped = make([]UserCardList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem UserCardList
if err := elem.Decode(d); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
return nil
2024-04-10 21:11:26 +00:00
}(); err != nil {
return errors.Wrap(err, "alias")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
*s = ListUserCardOKApplicationJSON(unwrapped)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s ListUserCardOKApplicationJSON) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *ListUserCardOKApplicationJSON) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListUserMaOKApplicationJSON as json.
func (s ListUserMaOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []UserMaList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
}
e.ArrEnd()
}
// Decode decodes ListUserMaOKApplicationJSON from json.
func (s *ListUserMaOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListUserMaOKApplicationJSON to nil")
}
var unwrapped []UserMaList
if err := func() error {
unwrapped = make([]UserMaList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem UserMaList
if err := elem.Decode(d); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
*s = ListUserMaOKApplicationJSON(unwrapped)
2023-04-05 06:05:14 +00:00
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s ListUserMaOKApplicationJSON) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *ListUserMaOKApplicationJSON) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2024-04-10 21:11:26 +00:00
// Encode encodes ListUserOKApplicationJSON as json.
func (s ListUserOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []UserList(s)
2023-04-05 06:05:14 +00:00
2024-04-10 21:11:26 +00:00
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
e.ArrEnd()
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// Decode decodes ListUserOKApplicationJSON from json.
func (s *ListUserOKApplicationJSON) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode ListUserOKApplicationJSON to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
var unwrapped []UserList
if err := func() error {
unwrapped = make([]UserList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem UserList
if err := elem.Decode(d); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
return nil
2024-04-10 21:11:26 +00:00
}(); err != nil {
return errors.Wrap(err, "alias")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
*s = ListUserOKApplicationJSON(unwrapped)
2023-04-05 06:05:14 +00:00
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s ListUserOKApplicationJSON) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *ListUserOKApplicationJSON) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2024-04-10 21:11:26 +00:00
// Encode encodes ListUserSevOKApplicationJSON as json.
func (s ListUserSevOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []UserSevList(s)
2023-04-05 06:05:14 +00:00
2024-04-10 21:11:26 +00:00
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
e.ArrEnd()
}
2023-04-05 06:05:14 +00:00
2024-04-10 21:11:26 +00:00
// Decode decodes ListUserSevOKApplicationJSON from json.
func (s *ListUserSevOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListUserSevOKApplicationJSON to nil")
}
var unwrapped []UserSevList
if err := func() error {
unwrapped = make([]UserSevList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem UserSevList
if err := elem.Decode(d); err != nil {
return err
}
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
*s = ListUserSevOKApplicationJSON(unwrapped)
return nil
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// MarshalJSON implements stdjson.Marshaler.
func (s ListUserSevOKApplicationJSON) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *ListUserSevOKApplicationJSON) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes ListUserUeOKApplicationJSON as json.
func (s ListUserUeOKApplicationJSON) Encode(e *jx.Encoder) {
unwrapped := []UserUeList(s)
e.ArrStart()
for _, elem := range unwrapped {
elem.Encode(e)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
e.ArrEnd()
}
2023-04-05 06:05:14 +00:00
2024-04-10 21:11:26 +00:00
// Decode decodes ListUserUeOKApplicationJSON from json.
func (s *ListUserUeOKApplicationJSON) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode ListUserUeOKApplicationJSON to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
var unwrapped []UserUeList
if err := func() error {
unwrapped = make([]UserUeList, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem UserUeList
if err := elem.Decode(d); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
unwrapped = append(unwrapped, elem)
return nil
}); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "alias")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
*s = ListUserUeOKApplicationJSON(unwrapped)
2023-04-05 06:05:14 +00:00
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s ListUserUeOKApplicationJSON) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *ListUserUeOKApplicationJSON) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaCreate) Encode(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *MaCreate) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
e.FieldStart("id")
e.Int(s.ID)
}
{
2024-04-10 21:11:26 +00:00
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Text.Set {
e.FieldStart("text")
s.Text.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Avatar.Set {
e.FieldStart("avatar")
s.Avatar.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.URI.Set {
e.FieldStart("uri")
s.URI.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.CidRoot.Set {
e.FieldStart("cid_root")
s.CidRoot.Encode(e)
}
}
{
if s.URIRoot.Set {
e.FieldStart("uri_root")
s.URIRoot.Encode(e)
}
}
{
if s.Root.Set {
e.FieldStart("root")
s.Root.Encode(e)
}
}
2024-04-10 21:11:26 +00:00
{
if s.Rkey.Set {
e.FieldStart("rkey")
s.Rkey.Encode(e)
}
}
{
if s.BskyURL.Set {
e.FieldStart("bsky_url")
s.BskyURL.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.Comment.Set {
e.FieldStart("comment")
s.Comment.Encode(e)
}
}
{
if s.Blog.Set {
e.FieldStart("blog")
s.Blog.Encode(e)
}
}
{
if s.BlogURL.Set {
e.FieldStart("blog_url")
s.BlogURL.Encode(e)
}
}
{
if s.Domain.Set {
e.FieldStart("domain")
s.Domain.Encode(e)
}
}
{
if s.Host.Set {
e.FieldStart("host")
s.Host.Encode(e)
}
}
{
if s.Feed.Set {
e.FieldStart("feed")
s.Feed.Encode(e)
}
}
2024-04-10 21:11:26 +00:00
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
2023-04-05 06:05:14 +00:00
}
}
2024-04-11 16:54:12 +00:00
var jsonFieldsNameOfMaCreate = [22]string{
2024-04-10 21:11:26 +00:00
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "text",
5: "did",
6: "avatar",
7: "cid",
8: "uri",
2024-04-11 16:54:12 +00:00
9: "cid_root",
10: "uri_root",
11: "root",
12: "rkey",
13: "bsky_url",
14: "comment",
15: "blog",
16: "blog_url",
17: "domain",
18: "host",
19: "feed",
20: "updated_at",
21: "created_at",
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// Decode decodes MaCreate from json.
func (s *MaCreate) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode MaCreate to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-11 16:54:12 +00:00
var requiredBitSet [3]uint8
2023-04-05 06:05:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "text":
if err := func() error {
s.Text.Reset()
if err := s.Text.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"text\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "avatar":
if err := func() error {
s.Avatar.Reset()
if err := s.Avatar.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"avatar\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "uri":
if err := func() error {
s.URI.Reset()
if err := s.URI.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri\"")
}
2024-04-11 16:54:12 +00:00
case "cid_root":
if err := func() error {
s.CidRoot.Reset()
if err := s.CidRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid_root\"")
}
case "uri_root":
if err := func() error {
s.URIRoot.Reset()
if err := s.URIRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri_root\"")
}
case "root":
if err := func() error {
s.Root.Reset()
if err := s.Root.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"root\"")
}
2024-04-10 21:11:26 +00:00
case "rkey":
if err := func() error {
s.Rkey.Reset()
if err := s.Rkey.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"rkey\"")
}
case "bsky_url":
if err := func() error {
s.BskyURL.Reset()
if err := s.BskyURL.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"bsky_url\"")
2023-04-05 06:05:14 +00:00
}
2024-04-11 16:54:12 +00:00
case "comment":
if err := func() error {
s.Comment.Reset()
if err := s.Comment.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"comment\"")
}
case "blog":
if err := func() error {
s.Blog.Reset()
if err := s.Blog.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog\"")
}
case "blog_url":
if err := func() error {
s.BlogURL.Reset()
if err := s.BlogURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog_url\"")
}
case "domain":
if err := func() error {
s.Domain.Reset()
if err := s.Domain.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"domain\"")
}
case "host":
if err := func() error {
s.Host.Reset()
if err := s.Host.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"host\"")
}
case "feed":
if err := func() error {
s.Feed.Reset()
if err := s.Feed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"feed\"")
}
2024-04-10 21:11:26 +00:00
case "updated_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode MaCreate")
2023-04-05 06:05:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-11 16:54:12 +00:00
for i, mask := range [3]uint8{
2024-04-10 21:11:26 +00:00
0b00000001,
0b00000000,
2024-04-11 16:54:12 +00:00
0b00000000,
2023-04-05 06:05:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2024-04-10 21:11:26 +00:00
if fieldIdx < len(jsonFieldsNameOfMaCreate) {
name = jsonFieldsNameOfMaCreate[fieldIdx]
2023-04-05 06:05:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaCreate) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *MaCreate) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaList) Encode(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *MaList) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
e.FieldStart("id")
e.Int(s.ID)
}
{
2024-04-10 21:11:26 +00:00
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Text.Set {
e.FieldStart("text")
s.Text.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Avatar.Set {
e.FieldStart("avatar")
s.Avatar.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.URI.Set {
e.FieldStart("uri")
s.URI.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.CidRoot.Set {
e.FieldStart("cid_root")
s.CidRoot.Encode(e)
}
}
{
if s.URIRoot.Set {
e.FieldStart("uri_root")
s.URIRoot.Encode(e)
}
}
{
if s.Root.Set {
e.FieldStart("root")
s.Root.Encode(e)
}
}
2024-04-10 21:11:26 +00:00
{
if s.Rkey.Set {
e.FieldStart("rkey")
s.Rkey.Encode(e)
}
}
{
if s.BskyURL.Set {
e.FieldStart("bsky_url")
s.BskyURL.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.Comment.Set {
e.FieldStart("comment")
s.Comment.Encode(e)
}
}
{
if s.Blog.Set {
e.FieldStart("blog")
s.Blog.Encode(e)
}
}
{
if s.BlogURL.Set {
e.FieldStart("blog_url")
s.BlogURL.Encode(e)
}
}
{
if s.Domain.Set {
e.FieldStart("domain")
s.Domain.Encode(e)
}
}
{
if s.Host.Set {
e.FieldStart("host")
s.Host.Encode(e)
}
}
{
if s.Feed.Set {
e.FieldStart("feed")
s.Feed.Encode(e)
}
}
2024-04-10 21:11:26 +00:00
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
2023-04-05 06:05:14 +00:00
}
}
2024-04-11 16:54:12 +00:00
var jsonFieldsNameOfMaList = [22]string{
2024-04-10 21:11:26 +00:00
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "text",
5: "did",
6: "avatar",
7: "cid",
8: "uri",
2024-04-11 16:54:12 +00:00
9: "cid_root",
10: "uri_root",
11: "root",
12: "rkey",
13: "bsky_url",
14: "comment",
15: "blog",
16: "blog_url",
17: "domain",
18: "host",
19: "feed",
20: "updated_at",
21: "created_at",
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// Decode decodes MaList from json.
func (s *MaList) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode MaList to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-11 16:54:12 +00:00
var requiredBitSet [3]uint8
2023-04-05 06:05:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
2024-04-10 21:11:26 +00:00
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "text":
if err := func() error {
s.Text.Reset()
if err := s.Text.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"text\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "avatar":
if err := func() error {
s.Avatar.Reset()
if err := s.Avatar.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"avatar\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "uri":
if err := func() error {
s.URI.Reset()
if err := s.URI.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri\"")
}
2024-04-11 16:54:12 +00:00
case "cid_root":
if err := func() error {
s.CidRoot.Reset()
if err := s.CidRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid_root\"")
}
case "uri_root":
if err := func() error {
s.URIRoot.Reset()
if err := s.URIRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri_root\"")
}
case "root":
if err := func() error {
s.Root.Reset()
if err := s.Root.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"root\"")
}
2024-04-10 21:11:26 +00:00
case "rkey":
if err := func() error {
s.Rkey.Reset()
if err := s.Rkey.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"rkey\"")
}
case "bsky_url":
if err := func() error {
s.BskyURL.Reset()
if err := s.BskyURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky_url\"")
}
2024-04-11 16:54:12 +00:00
case "comment":
if err := func() error {
s.Comment.Reset()
if err := s.Comment.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"comment\"")
}
case "blog":
if err := func() error {
s.Blog.Reset()
if err := s.Blog.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog\"")
}
case "blog_url":
if err := func() error {
s.BlogURL.Reset()
if err := s.BlogURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog_url\"")
}
case "domain":
if err := func() error {
s.Domain.Reset()
if err := s.Domain.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"domain\"")
}
case "host":
if err := func() error {
s.Host.Reset()
if err := s.Host.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"host\"")
}
case "feed":
if err := func() error {
s.Feed.Reset()
if err := s.Feed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"feed\"")
}
2024-04-10 21:11:26 +00:00
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "created_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode MaList")
2023-04-05 06:05:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-11 16:54:12 +00:00
for i, mask := range [3]uint8{
2024-04-10 21:11:26 +00:00
0b00000001,
0b00000000,
2024-04-11 16:54:12 +00:00
0b00000000,
2023-04-05 06:05:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2024-04-10 21:11:26 +00:00
if fieldIdx < len(jsonFieldsNameOfMaList) {
name = jsonFieldsNameOfMaList[fieldIdx]
2023-04-05 06:05:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaList) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *MaList) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaOwnerRead) Encode(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *MaOwnerRead) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("username")
e.Str(s.Username)
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
}
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
}
{
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
}
{
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
}
{
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
}
}
}
2024-04-10 21:11:26 +00:00
var jsonFieldsNameOfMaOwnerRead = [49]string{
2023-04-05 06:05:14 +00:00
0: "id",
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
}
2024-04-10 21:11:26 +00:00
// Decode decodes MaOwnerRead from json.
func (s *MaOwnerRead) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode MaOwnerRead to nil")
2023-04-05 06:05:14 +00:00
}
var requiredBitSet [7]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "username":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Username = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"username\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "raid_at":
if err := func() error {
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"raid_at\"")
}
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
}
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"ten_kai\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "aiten":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"aiten\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "ten_card":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"ten_card\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "ten_at":
if err := func() error {
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
}
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_limit":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_limit\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_skill":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_skill\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_mode":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_mode\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_critical":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_critical\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_critical_d":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_critical_d\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "game":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"game\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "game_test":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"game_test\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "game_end":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"game_end\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "game_account":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"game_account\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "game_lv":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"game_lv\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "coin":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"coin\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "coin_open":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"coin_open\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "coin_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"coin_at\"")
2023-04-05 06:05:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode MaOwnerRead")
2023-04-05 06:05:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-10 21:11:26 +00:00
for i, mask := range [7]uint8{
0b00000011,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
2023-04-05 06:05:14 +00:00
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2024-04-10 21:11:26 +00:00
if fieldIdx < len(jsonFieldsNameOfMaOwnerRead) {
name = jsonFieldsNameOfMaOwnerRead[fieldIdx]
2023-04-05 06:05:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaOwnerRead) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *MaOwnerRead) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaRead) Encode(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *MaRead) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Text.Set {
e.FieldStart("text")
s.Text.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Avatar.Set {
e.FieldStart("avatar")
s.Avatar.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.URI.Set {
e.FieldStart("uri")
s.URI.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.CidRoot.Set {
e.FieldStart("cid_root")
s.CidRoot.Encode(e)
}
}
{
if s.URIRoot.Set {
e.FieldStart("uri_root")
s.URIRoot.Encode(e)
}
}
{
if s.Root.Set {
e.FieldStart("root")
s.Root.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Rkey.Set {
e.FieldStart("rkey")
s.Rkey.Encode(e)
}
}
{
if s.BskyURL.Set {
e.FieldStart("bsky_url")
s.BskyURL.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.Comment.Set {
e.FieldStart("comment")
s.Comment.Encode(e)
}
}
{
if s.Blog.Set {
e.FieldStart("blog")
s.Blog.Encode(e)
}
}
{
if s.BlogURL.Set {
e.FieldStart("blog_url")
s.BlogURL.Encode(e)
}
}
{
if s.Domain.Set {
e.FieldStart("domain")
s.Domain.Encode(e)
}
}
{
if s.Host.Set {
e.FieldStart("host")
s.Host.Encode(e)
}
}
{
if s.Feed.Set {
e.FieldStart("feed")
s.Feed.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
2024-04-11 16:54:12 +00:00
var jsonFieldsNameOfMaRead = [22]string{
2023-04-05 06:05:14 +00:00
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "text",
5: "did",
6: "avatar",
7: "cid",
8: "uri",
2024-04-11 16:54:12 +00:00
9: "cid_root",
10: "uri_root",
11: "root",
12: "rkey",
13: "bsky_url",
14: "comment",
15: "blog",
16: "blog_url",
17: "domain",
18: "host",
19: "feed",
20: "updated_at",
21: "created_at",
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// Decode decodes MaRead from json.
func (s *MaRead) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode MaRead to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-11 16:54:12 +00:00
var requiredBitSet [3]uint8
2023-04-05 06:05:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "text":
if err := func() error {
s.Text.Reset()
if err := s.Text.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"text\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "avatar":
if err := func() error {
s.Avatar.Reset()
if err := s.Avatar.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"avatar\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "uri":
if err := func() error {
s.URI.Reset()
if err := s.URI.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri\"")
}
2024-04-11 16:54:12 +00:00
case "cid_root":
if err := func() error {
s.CidRoot.Reset()
if err := s.CidRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid_root\"")
}
case "uri_root":
if err := func() error {
s.URIRoot.Reset()
if err := s.URIRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri_root\"")
}
case "root":
if err := func() error {
s.Root.Reset()
if err := s.Root.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"root\"")
}
2023-04-05 06:05:14 +00:00
case "rkey":
if err := func() error {
s.Rkey.Reset()
if err := s.Rkey.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"rkey\"")
}
case "bsky_url":
if err := func() error {
s.BskyURL.Reset()
if err := s.BskyURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky_url\"")
}
2024-04-11 16:54:12 +00:00
case "comment":
if err := func() error {
s.Comment.Reset()
if err := s.Comment.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"comment\"")
}
case "blog":
if err := func() error {
s.Blog.Reset()
if err := s.Blog.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog\"")
}
case "blog_url":
if err := func() error {
s.BlogURL.Reset()
if err := s.BlogURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog_url\"")
}
case "domain":
if err := func() error {
s.Domain.Reset()
if err := s.Domain.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"domain\"")
}
case "host":
if err := func() error {
s.Host.Reset()
if err := s.Host.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"host\"")
}
case "feed":
if err := func() error {
s.Feed.Reset()
if err := s.Feed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"feed\"")
}
2023-04-05 06:05:14 +00:00
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode MaRead")
2023-04-05 06:05:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-11 16:54:12 +00:00
for i, mask := range [3]uint8{
2023-04-05 06:05:14 +00:00
0b00000001,
0b00000000,
2024-04-11 16:54:12 +00:00
0b00000000,
2023-04-05 06:05:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2024-04-10 21:11:26 +00:00
if fieldIdx < len(jsonFieldsNameOfMaRead) {
name = jsonFieldsNameOfMaRead[fieldIdx]
2023-04-05 06:05:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaRead) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *MaRead) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *MaUpdate) Encode(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *MaUpdate) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
e.FieldStart("id")
e.Int(s.ID)
}
{
2024-04-10 21:11:26 +00:00
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Text.Set {
e.FieldStart("text")
s.Text.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Avatar.Set {
e.FieldStart("avatar")
s.Avatar.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.URI.Set {
e.FieldStart("uri")
s.URI.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
2024-04-11 16:54:12 +00:00
{
if s.CidRoot.Set {
e.FieldStart("cid_root")
s.CidRoot.Encode(e)
}
}
{
if s.URIRoot.Set {
e.FieldStart("uri_root")
s.URIRoot.Encode(e)
}
}
{
if s.Root.Set {
e.FieldStart("root")
s.Root.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
2024-04-10 21:11:26 +00:00
if s.Rkey.Set {
e.FieldStart("rkey")
s.Rkey.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.BskyURL.Set {
e.FieldStart("bsky_url")
s.BskyURL.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
2024-04-11 16:54:12 +00:00
{
if s.Comment.Set {
e.FieldStart("comment")
s.Comment.Encode(e)
}
}
{
if s.Blog.Set {
e.FieldStart("blog")
s.Blog.Encode(e)
}
}
{
if s.BlogURL.Set {
e.FieldStart("blog_url")
s.BlogURL.Encode(e)
}
}
{
if s.Domain.Set {
e.FieldStart("domain")
s.Domain.Encode(e)
}
}
{
if s.Host.Set {
e.FieldStart("host")
s.Host.Encode(e)
}
}
{
if s.Feed.Set {
e.FieldStart("feed")
s.Feed.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
2024-04-10 21:11:26 +00:00
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
2023-04-05 06:05:14 +00:00
}
}
2024-04-10 21:11:26 +00:00
}
2024-04-11 16:54:12 +00:00
var jsonFieldsNameOfMaUpdate = [22]string{
2024-04-10 21:11:26 +00:00
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "text",
5: "did",
6: "avatar",
7: "cid",
8: "uri",
2024-04-11 16:54:12 +00:00
9: "cid_root",
10: "uri_root",
11: "root",
12: "rkey",
13: "bsky_url",
14: "comment",
15: "blog",
16: "blog_url",
17: "domain",
18: "host",
19: "feed",
20: "updated_at",
21: "created_at",
2024-04-10 21:11:26 +00:00
}
// Decode decodes MaUpdate from json.
func (s *MaUpdate) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode MaUpdate to nil")
}
2024-04-11 16:54:12 +00:00
var requiredBitSet [3]uint8
2024-04-10 21:11:26 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "text":
if err := func() error {
s.Text.Reset()
if err := s.Text.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"text\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "avatar":
if err := func() error {
s.Avatar.Reset()
if err := s.Avatar.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"avatar\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "uri":
if err := func() error {
s.URI.Reset()
if err := s.URI.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri\"")
}
2024-04-11 16:54:12 +00:00
case "cid_root":
if err := func() error {
s.CidRoot.Reset()
if err := s.CidRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid_root\"")
}
case "uri_root":
if err := func() error {
s.URIRoot.Reset()
if err := s.URIRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri_root\"")
}
case "root":
if err := func() error {
s.Root.Reset()
if err := s.Root.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"root\"")
}
2024-04-10 21:11:26 +00:00
case "rkey":
if err := func() error {
s.Rkey.Reset()
if err := s.Rkey.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"rkey\"")
}
case "bsky_url":
if err := func() error {
s.BskyURL.Reset()
if err := s.BskyURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky_url\"")
}
2024-04-11 16:54:12 +00:00
case "comment":
if err := func() error {
s.Comment.Reset()
if err := s.Comment.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"comment\"")
}
case "blog":
if err := func() error {
s.Blog.Reset()
if err := s.Blog.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog\"")
}
case "blog_url":
if err := func() error {
s.BlogURL.Reset()
if err := s.BlogURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog_url\"")
}
case "domain":
if err := func() error {
s.Domain.Reset()
if err := s.Domain.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"domain\"")
}
case "host":
if err := func() error {
s.Host.Reset()
if err := s.Host.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"host\"")
}
case "feed":
if err := func() error {
s.Feed.Reset()
if err := s.Feed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"feed\"")
}
2024-04-10 21:11:26 +00:00
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode MaUpdate")
}
// Validate required fields.
var failures []validate.FieldError
2024-04-11 16:54:12 +00:00
for i, mask := range [3]uint8{
2024-04-10 21:11:26 +00:00
0b00000001,
0b00000000,
2024-04-11 16:54:12 +00:00
0b00000000,
2024-04-10 21:11:26 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfMaUpdate) {
name = jsonFieldsNameOfMaUpdate[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
2023-04-05 06:05:14 +00:00
}
}
2024-04-10 21:11:26 +00:00
if len(failures) > 0 {
return &validate.Error{Fields: failures}
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *MaUpdate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *MaUpdate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes bool as json.
func (o OptBool) Encode(e *jx.Encoder) {
if !o.Set {
return
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
e.Bool(bool(o.Value))
}
// Decode decodes bool from json.
func (o *OptBool) Decode(d *jx.Decoder) error {
if o == nil {
return errors.New("invalid: unable to decode OptBool to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
o.Set = true
v, err := d.Bool()
if err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
o.Value = bool(v)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s OptBool) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *OptBool) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode encodes time.Time as json.
func (o OptDateTime) Encode(e *jx.Encoder, format func(*jx.Encoder, time.Time)) {
if !o.Set {
return
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
format(e, o.Value)
}
// Decode decodes time.Time from json.
func (o *OptDateTime) Decode(d *jx.Decoder, format func(*jx.Decoder) (time.Time, error)) error {
if o == nil {
return errors.New("invalid: unable to decode OptDateTime to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
o.Set = true
v, err := format(d)
if err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
o.Value = v
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s OptDateTime) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e, json.EncodeDateTime)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *OptDateTime) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d, json.DecodeDateTime)
}
// Encode encodes int as json.
func (o OptInt) Encode(e *jx.Encoder) {
if !o.Set {
return
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
e.Int(int(o.Value))
}
// Decode decodes int from json.
func (o *OptInt) Decode(d *jx.Decoder) error {
if o == nil {
return errors.New("invalid: unable to decode OptInt to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
o.Set = true
v, err := d.Int()
if err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
o.Value = int(v)
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s OptInt) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *OptInt) 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
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
e.Str(string(o.Value))
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// 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 *R400) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// encodeFields encodes fields.
func (s *R400) encodeFields(e *jx.Encoder) {
{
e.FieldStart("code")
e.Int(s.Code)
}
{
e.FieldStart("status")
e.Str(s.Status)
}
{
if len(s.Errors) != 0 {
e.FieldStart("errors")
e.Raw(s.Errors)
}
}
}
var jsonFieldsNameOfR400 = [3]string{
0: "code",
1: "status",
2: "errors",
}
// Decode decodes R400 from json.
func (s *R400) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode R400 to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
var requiredBitSet [1]uint8
2023-04-05 06:05:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2024-04-10 21:11:26 +00:00
case "code":
2023-04-05 06:05:14 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
2024-04-10 21:11:26 +00:00
s.Code = int(v)
2023-04-05 06:05:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"code\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "status":
2023-04-05 06:05:14 +00:00
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
2024-04-10 21:11:26 +00:00
s.Status = string(v)
2023-04-05 06:05:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"status\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "errors":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.RawAppend(nil)
s.Errors = jx.Raw(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"errors\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode R400")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
0b00000011,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfR400) {
name = jsonFieldsNameOfR400[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *R400) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *R400) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *R404) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *R404) encodeFields(e *jx.Encoder) {
{
e.FieldStart("code")
e.Int(s.Code)
}
{
e.FieldStart("status")
e.Str(s.Status)
}
{
if len(s.Errors) != 0 {
e.FieldStart("errors")
e.Raw(s.Errors)
}
}
}
var jsonFieldsNameOfR404 = [3]string{
0: "code",
1: "status",
2: "errors",
}
// Decode decodes R404 from json.
func (s *R404) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode R404 to nil")
}
var requiredBitSet [1]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "code":
requiredBitSet[0] |= 1 << 0
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.Code = int(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"code\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "status":
requiredBitSet[0] |= 1 << 1
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Str()
s.Status = string(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"status\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "errors":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.RawAppend(nil)
s.Errors = jx.Raw(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"errors\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode R404")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
0b00000011,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfR404) {
name = jsonFieldsNameOfR404[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *R404) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *R404) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *R409) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *R409) encodeFields(e *jx.Encoder) {
{
e.FieldStart("code")
e.Int(s.Code)
}
{
e.FieldStart("status")
e.Str(s.Status)
}
{
if len(s.Errors) != 0 {
e.FieldStart("errors")
e.Raw(s.Errors)
}
}
}
var jsonFieldsNameOfR409 = [3]string{
0: "code",
1: "status",
2: "errors",
}
// Decode decodes R409 from json.
func (s *R409) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode R409 to nil")
}
var requiredBitSet [1]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "code":
requiredBitSet[0] |= 1 << 0
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.Code = int(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"code\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "status":
requiredBitSet[0] |= 1 << 1
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Str()
s.Status = string(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"status\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "errors":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.RawAppend(nil)
s.Errors = jx.Raw(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"errors\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode R409")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
0b00000011,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfR409) {
name = jsonFieldsNameOfR409[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *R409) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *R409) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *R500) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *R500) encodeFields(e *jx.Encoder) {
{
e.FieldStart("code")
e.Int(s.Code)
}
{
e.FieldStart("status")
e.Str(s.Status)
}
{
if len(s.Errors) != 0 {
e.FieldStart("errors")
e.Raw(s.Errors)
}
}
}
var jsonFieldsNameOfR500 = [3]string{
0: "code",
1: "status",
2: "errors",
}
// Decode decodes R500 from json.
func (s *R500) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode R500 to nil")
}
var requiredBitSet [1]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "code":
requiredBitSet[0] |= 1 << 0
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.Code = int(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"code\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "status":
requiredBitSet[0] |= 1 << 1
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Str()
s.Status = string(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"status\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "errors":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.RawAppend(nil)
s.Errors = jx.Raw(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"errors\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode R500")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [1]uint8{
0b00000011,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfR500) {
name = jsonFieldsNameOfR500[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *R500) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *R500) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *SevCreate) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *SevCreate) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.UID.Set {
e.FieldStart("uid")
s.UID.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfSevCreate = [11]string{
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "did",
5: "uid",
6: "cid",
7: "cp",
8: "card",
9: "updated_at",
10: "created_at",
}
// Decode decodes SevCreate from json.
func (s *SevCreate) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode SevCreate to nil")
}
var requiredBitSet [2]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"id\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "limit":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"limit\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "count":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"count\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "handle":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"handle\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "did":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"did\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "uid":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UID.Reset()
if err := s.UID.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"uid\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"cid\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "cp":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"cp\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "card":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"card\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "updated_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"updated_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "created_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode SevCreate")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [2]uint8{
0b00000001,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfSevCreate) {
name = jsonFieldsNameOfSevCreate[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *SevCreate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *SevCreate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *SevList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *SevList) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.UID.Set {
e.FieldStart("uid")
s.UID.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfSevList = [11]string{
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "did",
5: "uid",
6: "cid",
7: "cp",
8: "card",
9: "updated_at",
10: "created_at",
}
// Decode decodes SevList from json.
func (s *SevList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode SevList to nil")
}
var requiredBitSet [2]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"id\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "limit":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"limit\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "count":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"count\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "handle":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"handle\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "did":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"did\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "uid":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UID.Reset()
if err := s.UID.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"uid\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "cid":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"cid\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "cp":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"cp\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "card":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"card\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "updated_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"updated_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "created_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
default:
return d.Skip()
}
2024-04-10 21:11:26 +00:00
return nil
}); err != nil {
return errors.Wrap(err, "decode SevList")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [2]uint8{
0b00000001,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfSevList) {
name = jsonFieldsNameOfSevList[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *SevList) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *SevList) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *SevOwnerRead) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *SevOwnerRead) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("username")
e.Str(s.Username)
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
2023-04-05 06:05:14 +00:00
}
}
2024-04-10 21:11:26 +00:00
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
2023-04-05 06:05:14 +00:00
}
{
2024-04-10 21:11:26 +00:00
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
2023-04-05 06:05:14 +00:00
}
{
2024-04-10 21:11:26 +00:00
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
2023-04-05 06:05:14 +00:00
}
}
{
2024-04-10 21:11:26 +00:00
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
2023-04-05 06:05:14 +00:00
}
}
}
2024-04-10 21:11:26 +00:00
var jsonFieldsNameOfSevOwnerRead = [49]string{
2023-04-05 06:05:14 +00:00
0: "id",
2024-04-10 21:11:26 +00:00
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// Decode decodes SevOwnerRead from json.
func (s *SevOwnerRead) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode SevOwnerRead to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
var requiredBitSet [7]uint8
2023-04-05 06:05:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
2024-04-10 21:11:26 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "username":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Username = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"username\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"book\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "manga":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"manga\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "badge":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
2023-04-05 06:05:14 +00:00
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
2024-04-10 21:11:26 +00:00
case "created_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "updated_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"updated_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "raid_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"raid_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "server_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"server_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "egg_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"egg_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "luck":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"luck\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "luck_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"luck_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "like":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"like\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "like_rank":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"like_rank\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
}
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
}
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
}
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "ten_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"ten_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "next":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"next\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "room":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"room\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_at\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_attack":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_attack\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_limit":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_limit\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_skill":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_skill\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_mode":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_mode\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_critical":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_critical\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "model_critical_d":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"model_critical_d\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"game_end\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "game_account":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"game_account\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "game_lv":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"game_lv\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "coin":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"coin\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "coin_open":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
2023-04-05 06:05:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode SevOwnerRead")
2023-04-05 06:05:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-10 21:11:26 +00:00
for i, mask := range [7]uint8{
2023-04-05 06:05:14 +00:00
0b00000011,
2024-04-10 21:11:26 +00:00
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
2023-04-05 06:05:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2024-04-10 21:11:26 +00:00
if fieldIdx < len(jsonFieldsNameOfSevOwnerRead) {
name = jsonFieldsNameOfSevOwnerRead[fieldIdx]
2023-04-05 06:05:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *SevOwnerRead) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *SevOwnerRead) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *SevRead) Encode(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *SevRead) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
2024-04-10 21:11:26 +00:00
e.FieldStart("id")
e.Int(s.ID)
2023-04-05 06:05:14 +00:00
}
{
2024-04-10 21:11:26 +00:00
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
2023-04-05 06:05:14 +00:00
}
{
2024-04-10 21:11:26 +00:00
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.UID.Set {
e.FieldStart("uid")
s.UID.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
2023-04-05 06:05:14 +00:00
}
}
}
2024-04-10 21:11:26 +00:00
var jsonFieldsNameOfSevRead = [11]string{
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "did",
5: "uid",
6: "cid",
7: "cp",
8: "card",
9: "updated_at",
10: "created_at",
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// Decode decodes SevRead from json.
func (s *SevRead) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode SevRead to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
var requiredBitSet [2]uint8
2023-04-05 06:05:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2024-04-10 21:11:26 +00:00
case "id":
2023-04-05 06:05:14 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
2024-04-10 21:11:26 +00:00
s.ID = int(v)
2023-04-05 06:05:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"id\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "limit":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"limit\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "count":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"handle\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "did":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"did\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "uid":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.UID.Reset()
if err := s.UID.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"uid\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode SevRead")
2023-04-05 06:05:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-10 21:11:26 +00:00
for i, mask := range [2]uint8{
0b00000001,
0b00000000,
2023-04-05 06:05:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2024-04-10 21:11:26 +00:00
if fieldIdx < len(jsonFieldsNameOfSevRead) {
name = jsonFieldsNameOfSevRead[fieldIdx]
2023-04-05 06:05:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *SevRead) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *SevRead) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *SevUpdate) Encode(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2024-04-10 21:11:26 +00:00
func (s *SevUpdate) encodeFields(e *jx.Encoder) {
2023-04-05 06:05:14 +00:00
{
2024-04-10 21:11:26 +00:00
e.FieldStart("id")
e.Int(s.ID)
2023-04-05 06:05:14 +00:00
}
{
2024-04-10 21:11:26 +00:00
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
2023-04-05 06:05:14 +00:00
}
{
2024-04-10 21:11:26 +00:00
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.UID.Set {
e.FieldStart("uid")
s.UID.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
2023-04-05 06:05:14 +00:00
}
}
}
2024-04-10 21:11:26 +00:00
var jsonFieldsNameOfSevUpdate = [11]string{
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "did",
5: "uid",
6: "cid",
7: "cp",
8: "card",
9: "updated_at",
10: "created_at",
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
// Decode decodes SevUpdate from json.
func (s *SevUpdate) Decode(d *jx.Decoder) error {
2023-04-05 06:05:14 +00:00
if s == nil {
2024-04-10 21:11:26 +00:00
return errors.New("invalid: unable to decode SevUpdate to nil")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
var requiredBitSet [2]uint8
2023-04-05 06:05:14 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2024-04-10 21:11:26 +00:00
case "id":
2023-04-05 06:05:14 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
2024-04-10 21:11:26 +00:00
s.ID = int(v)
2023-04-05 06:05:14 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"id\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "limit":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"limit\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "uid":
if err := func() error {
s.UID.Reset()
if err := s.UID.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uid\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "created_at":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2023-04-05 06:05:14 +00:00
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2023-04-05 06:05:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode SevUpdate")
2023-04-05 06:05:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-10 21:11:26 +00:00
for i, mask := range [2]uint8{
0b00000001,
0b00000000,
2023-04-05 06:05:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2024-04-10 21:11:26 +00:00
if fieldIdx < len(jsonFieldsNameOfSevUpdate) {
name = jsonFieldsNameOfSevUpdate[fieldIdx]
2023-04-05 06:05:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *SevUpdate) MarshalJSON() ([]byte, error) {
2023-04-05 06:05:14 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2024-04-10 21:11:26 +00:00
func (s *SevUpdate) UnmarshalJSON(data []byte) error {
2023-04-05 06:05:14 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UeCreate) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UeCreate) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.LimitBoss.Set {
e.FieldStart("limit_boss")
s.LimitBoss.Encode(e)
}
}
{
if s.LimitItem.Set {
e.FieldStart("limit_item")
s.LimitItem.Encode(e)
}
}
{
if s.Lv.Set {
e.FieldStart("lv")
s.Lv.Encode(e)
}
}
{
if s.LvPoint.Set {
e.FieldStart("lv_point")
s.LvPoint.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.Sword.Set {
e.FieldStart("sword")
s.Sword.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.Mode.Set {
e.FieldStart("mode")
s.Mode.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.LocationX.Set {
e.FieldStart("location_x")
s.LocationX.Encode(e)
}
}
{
if s.LocationY.Set {
e.FieldStart("location_y")
s.LocationY.Encode(e)
}
}
{
if s.LocationZ.Set {
e.FieldStart("location_z")
s.LocationZ.Encode(e)
}
}
{
if s.LocationN.Set {
e.FieldStart("location_n")
s.LocationN.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUeCreate = [18]string{
0: "id",
1: "limit",
2: "limit_boss",
3: "limit_item",
4: "lv",
5: "lv_point",
6: "model",
7: "sword",
8: "card",
9: "mode",
10: "cp",
11: "count",
12: "location_x",
13: "location_y",
14: "location_z",
15: "location_n",
16: "author",
17: "created_at",
}
// Decode decodes UeCreate from json.
func (s *UeCreate) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UeCreate to nil")
}
var requiredBitSet [3]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "limit_boss":
if err := func() error {
s.LimitBoss.Reset()
if err := s.LimitBoss.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_boss\"")
}
case "limit_item":
if err := func() error {
s.LimitItem.Reset()
if err := s.LimitItem.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_item\"")
}
case "lv":
if err := func() error {
s.Lv.Reset()
if err := s.Lv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv\"")
}
case "lv_point":
if err := func() error {
s.LvPoint.Reset()
if err := s.LvPoint.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv_point\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "sword":
if err := func() error {
s.Sword.Reset()
if err := s.Sword.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"sword\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "mode":
if err := func() error {
s.Mode.Reset()
if err := s.Mode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mode\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "location_x":
if err := func() error {
s.LocationX.Reset()
if err := s.LocationX.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_x\"")
}
case "location_y":
if err := func() error {
s.LocationY.Reset()
if err := s.LocationY.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_y\"")
}
case "location_z":
if err := func() error {
s.LocationZ.Reset()
if err := s.LocationZ.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_z\"")
}
case "location_n":
if err := func() error {
s.LocationN.Reset()
if err := s.LocationN.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_n\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UeCreate")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [3]uint8{
0b00000001,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUeCreate) {
name = jsonFieldsNameOfUeCreate[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UeCreate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UeCreate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UeList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UeList) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.LimitBoss.Set {
e.FieldStart("limit_boss")
s.LimitBoss.Encode(e)
}
}
{
if s.LimitItem.Set {
e.FieldStart("limit_item")
s.LimitItem.Encode(e)
}
}
{
if s.Lv.Set {
e.FieldStart("lv")
s.Lv.Encode(e)
}
}
{
if s.LvPoint.Set {
e.FieldStart("lv_point")
s.LvPoint.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.Sword.Set {
e.FieldStart("sword")
s.Sword.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.Mode.Set {
e.FieldStart("mode")
s.Mode.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.LocationX.Set {
e.FieldStart("location_x")
s.LocationX.Encode(e)
}
}
{
if s.LocationY.Set {
e.FieldStart("location_y")
s.LocationY.Encode(e)
}
}
{
if s.LocationZ.Set {
e.FieldStart("location_z")
s.LocationZ.Encode(e)
}
}
{
if s.LocationN.Set {
e.FieldStart("location_n")
s.LocationN.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUeList = [18]string{
0: "id",
1: "limit",
2: "limit_boss",
3: "limit_item",
4: "lv",
5: "lv_point",
6: "model",
7: "sword",
8: "card",
9: "mode",
10: "cp",
11: "count",
12: "location_x",
13: "location_y",
14: "location_z",
15: "location_n",
16: "author",
17: "created_at",
}
// Decode decodes UeList from json.
func (s *UeList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UeList to nil")
}
var requiredBitSet [3]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "limit_boss":
if err := func() error {
s.LimitBoss.Reset()
if err := s.LimitBoss.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_boss\"")
}
case "limit_item":
if err := func() error {
s.LimitItem.Reset()
if err := s.LimitItem.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_item\"")
}
case "lv":
if err := func() error {
s.Lv.Reset()
if err := s.Lv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv\"")
}
case "lv_point":
if err := func() error {
s.LvPoint.Reset()
if err := s.LvPoint.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv_point\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "sword":
if err := func() error {
s.Sword.Reset()
if err := s.Sword.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"sword\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "mode":
if err := func() error {
s.Mode.Reset()
if err := s.Mode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mode\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "location_x":
if err := func() error {
s.LocationX.Reset()
if err := s.LocationX.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_x\"")
}
case "location_y":
if err := func() error {
s.LocationY.Reset()
if err := s.LocationY.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_y\"")
}
case "location_z":
if err := func() error {
s.LocationZ.Reset()
if err := s.LocationZ.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_z\"")
}
case "location_n":
if err := func() error {
s.LocationN.Reset()
if err := s.LocationN.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_n\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UeList")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [3]uint8{
0b00000001,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUeList) {
name = jsonFieldsNameOfUeList[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UeList) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UeList) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UeOwnerRead) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UeOwnerRead) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("username")
e.Str(s.Username)
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
}
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
}
{
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
}
{
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
}
{
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUeOwnerRead = [49]string{
0: "id",
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
}
// Decode decodes UeOwnerRead from json.
func (s *UeOwnerRead) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UeOwnerRead to nil")
}
var requiredBitSet [7]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "username":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Username = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"username\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "raid_at":
if err := func() error {
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"raid_at\"")
}
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
}
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
}
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
}
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
}
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
}
case "ten_at":
if err := func() error {
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_at\"")
}
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
}
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
}
case "model_limit":
if err := func() error {
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_limit\"")
}
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
}
case "model_mode":
if err := func() error {
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_mode\"")
}
case "model_critical":
if err := func() error {
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_end\"")
}
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
}
case "game_lv":
if err := func() error {
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_lv\"")
}
case "coin":
if err := func() error {
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin\"")
}
case "coin_open":
if err := func() error {
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UeOwnerRead")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [7]uint8{
0b00000011,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUeOwnerRead) {
name = jsonFieldsNameOfUeOwnerRead[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UeOwnerRead) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UeOwnerRead) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UeRead) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UeRead) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.LimitBoss.Set {
e.FieldStart("limit_boss")
s.LimitBoss.Encode(e)
}
}
{
if s.LimitItem.Set {
e.FieldStart("limit_item")
s.LimitItem.Encode(e)
}
}
{
if s.Lv.Set {
e.FieldStart("lv")
s.Lv.Encode(e)
}
}
{
if s.LvPoint.Set {
e.FieldStart("lv_point")
s.LvPoint.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.Sword.Set {
e.FieldStart("sword")
s.Sword.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.Mode.Set {
e.FieldStart("mode")
s.Mode.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.LocationX.Set {
e.FieldStart("location_x")
s.LocationX.Encode(e)
}
}
{
if s.LocationY.Set {
e.FieldStart("location_y")
s.LocationY.Encode(e)
}
}
{
if s.LocationZ.Set {
e.FieldStart("location_z")
s.LocationZ.Encode(e)
}
}
{
if s.LocationN.Set {
e.FieldStart("location_n")
s.LocationN.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUeRead = [18]string{
0: "id",
1: "limit",
2: "limit_boss",
3: "limit_item",
4: "lv",
5: "lv_point",
6: "model",
7: "sword",
8: "card",
9: "mode",
10: "cp",
11: "count",
12: "location_x",
13: "location_y",
14: "location_z",
15: "location_n",
16: "author",
17: "created_at",
}
// Decode decodes UeRead from json.
func (s *UeRead) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UeRead to nil")
}
var requiredBitSet [3]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "limit_boss":
if err := func() error {
s.LimitBoss.Reset()
if err := s.LimitBoss.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_boss\"")
}
case "limit_item":
if err := func() error {
s.LimitItem.Reset()
if err := s.LimitItem.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_item\"")
}
case "lv":
if err := func() error {
s.Lv.Reset()
if err := s.Lv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv\"")
}
case "lv_point":
if err := func() error {
s.LvPoint.Reset()
if err := s.LvPoint.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv_point\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "sword":
if err := func() error {
s.Sword.Reset()
if err := s.Sword.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"sword\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "mode":
if err := func() error {
s.Mode.Reset()
if err := s.Mode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mode\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "location_x":
if err := func() error {
s.LocationX.Reset()
if err := s.LocationX.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_x\"")
}
case "location_y":
if err := func() error {
s.LocationY.Reset()
if err := s.LocationY.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_y\"")
}
case "location_z":
if err := func() error {
s.LocationZ.Reset()
if err := s.LocationZ.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_z\"")
}
case "location_n":
if err := func() error {
s.LocationN.Reset()
if err := s.LocationN.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_n\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UeRead")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [3]uint8{
0b00000001,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUeRead) {
name = jsonFieldsNameOfUeRead[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UeRead) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UeRead) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UeUpdate) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UeUpdate) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.LimitBoss.Set {
e.FieldStart("limit_boss")
s.LimitBoss.Encode(e)
}
}
{
if s.LimitItem.Set {
e.FieldStart("limit_item")
s.LimitItem.Encode(e)
}
}
{
if s.Lv.Set {
e.FieldStart("lv")
s.Lv.Encode(e)
}
}
{
if s.LvPoint.Set {
e.FieldStart("lv_point")
s.LvPoint.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.Sword.Set {
e.FieldStart("sword")
s.Sword.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.Mode.Set {
e.FieldStart("mode")
s.Mode.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.LocationX.Set {
e.FieldStart("location_x")
s.LocationX.Encode(e)
}
}
{
if s.LocationY.Set {
e.FieldStart("location_y")
s.LocationY.Encode(e)
}
}
{
if s.LocationZ.Set {
e.FieldStart("location_z")
s.LocationZ.Encode(e)
}
}
{
if s.LocationN.Set {
e.FieldStart("location_n")
s.LocationN.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUeUpdate = [18]string{
0: "id",
1: "limit",
2: "limit_boss",
3: "limit_item",
4: "lv",
5: "lv_point",
6: "model",
7: "sword",
8: "card",
9: "mode",
10: "cp",
11: "count",
12: "location_x",
13: "location_y",
14: "location_z",
15: "location_n",
16: "author",
17: "created_at",
}
// Decode decodes UeUpdate from json.
func (s *UeUpdate) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UeUpdate to nil")
}
var requiredBitSet [3]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "limit_boss":
if err := func() error {
s.LimitBoss.Reset()
if err := s.LimitBoss.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_boss\"")
}
case "limit_item":
if err := func() error {
s.LimitItem.Reset()
if err := s.LimitItem.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_item\"")
}
case "lv":
if err := func() error {
s.Lv.Reset()
if err := s.Lv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv\"")
}
case "lv_point":
if err := func() error {
s.LvPoint.Reset()
if err := s.LvPoint.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv_point\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "sword":
if err := func() error {
s.Sword.Reset()
if err := s.Sword.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"sword\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "mode":
if err := func() error {
s.Mode.Reset()
if err := s.Mode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mode\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "location_x":
if err := func() error {
s.LocationX.Reset()
if err := s.LocationX.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_x\"")
}
case "location_y":
if err := func() error {
s.LocationY.Reset()
if err := s.LocationY.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_y\"")
}
case "location_z":
if err := func() error {
s.LocationZ.Reset()
if err := s.LocationZ.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_z\"")
}
case "location_n":
if err := func() error {
s.LocationN.Reset()
if err := s.LocationN.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_n\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UeUpdate")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [3]uint8{
0b00000001,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUeUpdate) {
name = jsonFieldsNameOfUeUpdate[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UeUpdate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UeUpdate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UpdateCardReq) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UpdateCardReq) encodeFields(e *jx.Encoder) {
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.Skill.Set {
e.FieldStart("skill")
s.Skill.Encode(e)
}
}
{
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
}
{
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.URL.Set {
e.FieldStart("url")
s.URL.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
{
if s.Owner.Set {
e.FieldStart("owner")
s.Owner.Encode(e)
}
}
}
var jsonFieldsNameOfUpdateCardReq = [9]string{
0: "card",
1: "skill",
2: "status",
3: "token",
4: "cp",
5: "url",
6: "count",
7: "author",
8: "owner",
}
// Decode decodes UpdateCardReq from json.
func (s *UpdateCardReq) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UpdateCardReq to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "skill":
if err := func() error {
s.Skill.Reset()
if err := s.Skill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"skill\"")
}
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 "token":
if err := func() error {
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"token\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "url":
if err := func() error {
s.URL.Reset()
if err := s.URL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"url\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
case "owner":
if err := func() error {
s.Owner.Reset()
if err := s.Owner.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"owner\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UpdateCardReq")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UpdateCardReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UpdateCardReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UpdateGroupReq) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UpdateGroupReq) encodeFields(e *jx.Encoder) {
{
if s.Name.Set {
e.FieldStart("name")
s.Name.Encode(e)
}
}
{
if s.Users != nil {
e.FieldStart("users")
e.ArrStart()
for _, elem := range s.Users {
e.Int(elem)
}
e.ArrEnd()
}
}
}
var jsonFieldsNameOfUpdateGroupReq = [2]string{
0: "name",
1: "users",
}
// Decode decodes UpdateGroupReq from json.
func (s *UpdateGroupReq) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UpdateGroupReq to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "name":
if err := func() error {
s.Name.Reset()
if err := s.Name.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"name\"")
}
case "users":
if err := func() error {
s.Users = make([]int, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
s.Users = append(s.Users, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"users\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UpdateGroupReq")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UpdateGroupReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UpdateGroupReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UpdateMaReq) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UpdateMaReq) encodeFields(e *jx.Encoder) {
{
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
}
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Text.Set {
e.FieldStart("text")
s.Text.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Avatar.Set {
e.FieldStart("avatar")
s.Avatar.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.URI.Set {
e.FieldStart("uri")
s.URI.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.CidRoot.Set {
e.FieldStart("cid_root")
s.CidRoot.Encode(e)
}
}
{
if s.URIRoot.Set {
e.FieldStart("uri_root")
s.URIRoot.Encode(e)
}
}
{
if s.Root.Set {
e.FieldStart("root")
s.Root.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Rkey.Set {
e.FieldStart("rkey")
s.Rkey.Encode(e)
}
}
{
if s.BskyURL.Set {
e.FieldStart("bsky_url")
s.BskyURL.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.Comment.Set {
e.FieldStart("comment")
s.Comment.Encode(e)
}
}
{
if s.Blog.Set {
e.FieldStart("blog")
s.Blog.Encode(e)
}
}
{
if s.BlogURL.Set {
e.FieldStart("blog_url")
s.BlogURL.Encode(e)
}
}
{
if s.Domain.Set {
e.FieldStart("domain")
s.Domain.Encode(e)
}
}
{
if s.Host.Set {
e.FieldStart("host")
s.Host.Encode(e)
}
}
{
if s.Feed.Set {
e.FieldStart("feed")
s.Feed.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Owner.Set {
e.FieldStart("owner")
s.Owner.Encode(e)
}
}
}
2024-04-11 16:54:12 +00:00
var jsonFieldsNameOfUpdateMaReq = [22]string{
2023-04-05 06:05:14 +00:00
0: "token",
1: "limit",
2: "count",
3: "handle",
4: "text",
5: "did",
6: "avatar",
7: "cid",
8: "uri",
2024-04-11 16:54:12 +00:00
9: "cid_root",
10: "uri_root",
11: "root",
12: "rkey",
13: "bsky_url",
14: "comment",
15: "blog",
16: "blog_url",
17: "domain",
18: "host",
19: "feed",
20: "updated_at",
21: "owner",
2023-04-05 06:05:14 +00:00
}
// Decode decodes UpdateMaReq from json.
func (s *UpdateMaReq) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UpdateMaReq to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "token":
if err := func() error {
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"token\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "text":
if err := func() error {
s.Text.Reset()
if err := s.Text.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"text\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "avatar":
if err := func() error {
s.Avatar.Reset()
if err := s.Avatar.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"avatar\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "uri":
if err := func() error {
s.URI.Reset()
if err := s.URI.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri\"")
}
2024-04-11 16:54:12 +00:00
case "cid_root":
if err := func() error {
s.CidRoot.Reset()
if err := s.CidRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid_root\"")
}
case "uri_root":
if err := func() error {
s.URIRoot.Reset()
if err := s.URIRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri_root\"")
}
case "root":
if err := func() error {
s.Root.Reset()
if err := s.Root.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"root\"")
}
2023-04-05 06:05:14 +00:00
case "rkey":
if err := func() error {
s.Rkey.Reset()
if err := s.Rkey.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"rkey\"")
}
case "bsky_url":
if err := func() error {
s.BskyURL.Reset()
if err := s.BskyURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky_url\"")
}
2024-04-11 16:54:12 +00:00
case "comment":
if err := func() error {
s.Comment.Reset()
if err := s.Comment.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"comment\"")
}
case "blog":
if err := func() error {
s.Blog.Reset()
if err := s.Blog.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog\"")
}
case "blog_url":
if err := func() error {
s.BlogURL.Reset()
if err := s.BlogURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog_url\"")
}
case "domain":
if err := func() error {
s.Domain.Reset()
if err := s.Domain.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"domain\"")
}
case "host":
if err := func() error {
s.Host.Reset()
if err := s.Host.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"host\"")
}
case "feed":
if err := func() error {
s.Feed.Reset()
if err := s.Feed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"feed\"")
}
2023-04-05 06:05:14 +00:00
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "owner":
if err := func() error {
s.Owner.Reset()
if err := s.Owner.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"owner\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UpdateMaReq")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UpdateMaReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UpdateMaReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2024-04-10 21:11:26 +00:00
// Encode implements json.Marshaler.
func (s *UpdateSevReq) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UpdateSevReq) encodeFields(e *jx.Encoder) {
{
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
}
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.UID.Set {
e.FieldStart("uid")
s.UID.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Owner.Set {
e.FieldStart("owner")
s.Owner.Encode(e)
}
}
}
var jsonFieldsNameOfUpdateSevReq = [11]string{
0: "token",
1: "limit",
2: "count",
3: "handle",
4: "did",
5: "uid",
6: "cid",
7: "cp",
8: "card",
9: "updated_at",
10: "owner",
}
// Decode decodes UpdateSevReq from json.
func (s *UpdateSevReq) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UpdateSevReq to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "token":
if err := func() error {
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"token\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "uid":
if err := func() error {
s.UID.Reset()
if err := s.UID.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uid\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "owner":
if err := func() error {
s.Owner.Reset()
if err := s.Owner.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"owner\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UpdateSevReq")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UpdateSevReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UpdateSevReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2023-04-05 06:05:14 +00:00
// Encode implements json.Marshaler.
func (s *UpdateUeReq) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UpdateUeReq) encodeFields(e *jx.Encoder) {
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.LimitBoss.Set {
e.FieldStart("limit_boss")
s.LimitBoss.Encode(e)
}
}
{
if s.LimitItem.Set {
e.FieldStart("limit_item")
s.LimitItem.Encode(e)
}
}
{
if s.Lv.Set {
e.FieldStart("lv")
s.Lv.Encode(e)
}
}
{
if s.LvPoint.Set {
e.FieldStart("lv_point")
s.LvPoint.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.Sword.Set {
e.FieldStart("sword")
s.Sword.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.Mode.Set {
e.FieldStart("mode")
s.Mode.Encode(e)
}
}
{
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.LocationX.Set {
e.FieldStart("location_x")
s.LocationX.Encode(e)
}
}
{
if s.LocationY.Set {
e.FieldStart("location_y")
s.LocationY.Encode(e)
}
}
{
if s.LocationZ.Set {
e.FieldStart("location_z")
s.LocationZ.Encode(e)
}
}
{
if s.LocationN.Set {
e.FieldStart("location_n")
s.LocationN.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
{
if s.Owner.Set {
e.FieldStart("owner")
s.Owner.Encode(e)
}
}
}
var jsonFieldsNameOfUpdateUeReq = [18]string{
0: "limit",
1: "limit_boss",
2: "limit_item",
3: "lv",
4: "lv_point",
5: "model",
6: "sword",
7: "card",
8: "mode",
9: "token",
10: "cp",
11: "count",
12: "location_x",
13: "location_y",
14: "location_z",
15: "location_n",
16: "author",
17: "owner",
}
// Decode decodes UpdateUeReq from json.
func (s *UpdateUeReq) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UpdateUeReq to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "limit_boss":
if err := func() error {
s.LimitBoss.Reset()
if err := s.LimitBoss.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_boss\"")
}
case "limit_item":
if err := func() error {
s.LimitItem.Reset()
if err := s.LimitItem.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_item\"")
}
case "lv":
if err := func() error {
s.Lv.Reset()
if err := s.Lv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv\"")
}
case "lv_point":
if err := func() error {
s.LvPoint.Reset()
if err := s.LvPoint.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv_point\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "sword":
if err := func() error {
s.Sword.Reset()
if err := s.Sword.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"sword\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "mode":
if err := func() error {
s.Mode.Reset()
if err := s.Mode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mode\"")
}
case "token":
if err := func() error {
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"token\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "location_x":
if err := func() error {
s.LocationX.Reset()
if err := s.LocationX.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_x\"")
}
case "location_y":
if err := func() error {
s.LocationY.Reset()
if err := s.LocationY.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_y\"")
}
case "location_z":
if err := func() error {
s.LocationZ.Reset()
if err := s.LocationZ.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_z\"")
}
case "location_n":
if err := func() error {
s.LocationN.Reset()
if err := s.LocationN.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_n\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
case "owner":
if err := func() error {
s.Owner.Reset()
if err := s.Owner.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"owner\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UpdateUeReq")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UpdateUeReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UpdateUeReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UpdateUserReq) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UpdateUserReq) encodeFields(e *jx.Encoder) {
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Token.Set {
e.FieldStart("token")
s.Token.Encode(e)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
}
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
}
{
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
}
{
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
}
{
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Card != nil {
e.FieldStart("card")
e.ArrStart()
for _, elem := range s.Card {
e.Int(elem)
}
e.ArrEnd()
}
}
{
if s.Ue != nil {
e.FieldStart("ue")
e.ArrStart()
for _, elem := range s.Ue {
e.Int(elem)
}
e.ArrEnd()
}
}
{
if s.Ma != nil {
e.FieldStart("ma")
e.ArrStart()
for _, elem := range s.Ma {
e.Int(elem)
}
e.ArrEnd()
}
}
2024-04-10 21:11:26 +00:00
{
if s.Sev != nil {
e.FieldStart("sev")
e.ArrStart()
for _, elem := range s.Sev {
e.Int(elem)
}
e.ArrEnd()
}
}
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
var jsonFieldsNameOfUpdateUserReq = [51]string{
2023-04-05 06:05:14 +00:00
0: "did",
1: "member",
2: "book",
3: "manga",
4: "badge",
5: "bsky",
6: "mastodon",
7: "delete",
8: "handle",
9: "token",
10: "updated_at",
11: "raid_at",
12: "server_at",
13: "egg_at",
14: "luck",
15: "luck_at",
16: "like",
17: "like_rank",
18: "like_at",
19: "fav",
20: "ten",
21: "ten_su",
22: "ten_kai",
23: "aiten",
24: "ten_card",
25: "ten_delete",
26: "ten_post",
27: "ten_get",
28: "ten_at",
29: "next",
30: "room",
31: "model",
32: "model_at",
33: "model_attack",
34: "model_limit",
35: "model_skill",
36: "model_mode",
37: "model_critical",
38: "model_critical_d",
39: "game",
40: "game_test",
41: "game_end",
42: "game_account",
43: "game_lv",
44: "coin",
45: "coin_open",
46: "coin_at",
47: "card",
48: "ue",
49: "ma",
2024-04-10 21:11:26 +00:00
50: "sev",
2023-04-05 06:05:14 +00:00
}
// Decode decodes UpdateUserReq from json.
func (s *UpdateUserReq) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UpdateUserReq to nil")
}
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "token":
if err := func() error {
s.Token.Reset()
if err := s.Token.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"token\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "raid_at":
if err := func() error {
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"raid_at\"")
}
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
}
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
}
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
}
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
}
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
}
case "ten_at":
if err := func() error {
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_at\"")
}
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
}
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
}
case "model_limit":
if err := func() error {
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_limit\"")
}
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
}
case "model_mode":
if err := func() error {
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_mode\"")
}
case "model_critical":
if err := func() error {
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_end\"")
}
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
}
case "game_lv":
if err := func() error {
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_lv\"")
}
case "coin":
if err := func() error {
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin\"")
}
case "coin_open":
if err := func() error {
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
}
case "card":
if err := func() error {
s.Card = make([]int, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
s.Card = append(s.Card, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
2024-04-10 21:11:26 +00:00
case "ue":
if err := func() error {
s.Ue = make([]int, 0)
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
s.Ue = append(s.Ue, elem)
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ue\"")
}
case "ma":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Ma = make([]int, 0)
2023-04-05 06:05:14 +00:00
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
2024-04-10 21:11:26 +00:00
s.Ma = append(s.Ma, elem)
2023-04-05 06:05:14 +00:00
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"ma\"")
2023-04-05 06:05:14 +00:00
}
2024-04-10 21:11:26 +00:00
case "sev":
2023-04-05 06:05:14 +00:00
if err := func() error {
2024-04-10 21:11:26 +00:00
s.Sev = make([]int, 0)
2023-04-05 06:05:14 +00:00
if err := d.Arr(func(d *jx.Decoder) error {
var elem int
v, err := d.Int()
elem = int(v)
if err != nil {
return err
}
2024-04-10 21:11:26 +00:00
s.Sev = append(s.Sev, elem)
2023-04-05 06:05:14 +00:00
return nil
}); err != nil {
return err
}
return nil
}(); err != nil {
2024-04-10 21:11:26 +00:00
return errors.Wrap(err, "decode field \"sev\"")
2023-04-05 06:05:14 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UpdateUserReq")
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UpdateUserReq) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UpdateUserReq) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UserCardList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UserCardList) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.Skill.Set {
e.FieldStart("skill")
s.Skill.Encode(e)
}
}
{
if s.Status.Set {
e.FieldStart("status")
s.Status.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.URL.Set {
e.FieldStart("url")
s.URL.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUserCardList = [9]string{
0: "id",
1: "card",
2: "skill",
3: "status",
4: "cp",
5: "url",
6: "count",
7: "author",
8: "created_at",
}
// Decode decodes UserCardList from json.
func (s *UserCardList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UserCardList to nil")
}
var requiredBitSet [2]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "skill":
if err := func() error {
s.Skill.Reset()
if err := s.Skill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"skill\"")
}
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 "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "url":
if err := func() error {
s.URL.Reset()
if err := s.URL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"url\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UserCardList")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [2]uint8{
0b00000001,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUserCardList) {
name = jsonFieldsNameOfUserCardList[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UserCardList) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UserCardList) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UserCreate) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UserCreate) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("username")
e.Str(s.Username)
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
}
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
}
{
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
}
{
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
}
{
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUserCreate = [49]string{
0: "id",
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
}
// Decode decodes UserCreate from json.
func (s *UserCreate) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UserCreate to nil")
}
var requiredBitSet [7]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "username":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Username = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"username\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "raid_at":
if err := func() error {
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"raid_at\"")
}
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
}
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
}
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
}
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
}
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
}
case "ten_at":
if err := func() error {
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_at\"")
}
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
}
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
}
case "model_limit":
if err := func() error {
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_limit\"")
}
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
}
case "model_mode":
if err := func() error {
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_mode\"")
}
case "model_critical":
if err := func() error {
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_end\"")
}
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
}
case "game_lv":
if err := func() error {
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_lv\"")
}
case "coin":
if err := func() error {
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin\"")
}
case "coin_open":
if err := func() error {
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UserCreate")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [7]uint8{
0b00000011,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUserCreate) {
name = jsonFieldsNameOfUserCreate[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UserCreate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UserCreate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
func (s *UserList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UserList) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
e.FieldStart("username")
e.Str(s.Username)
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
}
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
}
{
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
}
{
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
}
{
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUserList = [49]string{
0: "id",
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
}
// Decode decodes UserList from json.
func (s *UserList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UserList to nil")
}
var requiredBitSet [7]uint8
2022-08-31 07:49:08 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
2023-04-05 06:05:14 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "username":
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
s.Username = string(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"username\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "raid_at":
if err := func() error {
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"raid_at\"")
}
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
}
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
}
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
}
case "ten_delete":
if err := func() error {
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_delete\"")
}
case "ten_post":
if err := func() error {
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_post\"")
}
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
}
case "ten_at":
if err := func() error {
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_at\"")
}
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
}
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"model_attack\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "model_limit":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"model_limit\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "model_mode":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"model_mode\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "model_critical":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_end\"")
}
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
}
case "game_lv":
if err := func() error {
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_lv\"")
}
case "coin":
if err := func() error {
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin\"")
}
case "coin_open":
if err := func() error {
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
2022-08-31 07:49:08 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode UserList")
2022-08-31 07:49:08 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [7]uint8{
2022-08-31 07:49:08 +00:00
0b00000011,
2023-04-05 06:05:14 +00:00
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
2022-08-31 07:49:08 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2023-04-05 06:05:14 +00:00
if fieldIdx < len(jsonFieldsNameOfUserList) {
name = jsonFieldsNameOfUserList[fieldIdx]
2022-08-31 07:49:08 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *UserList) MarshalJSON() ([]byte, error) {
2022-08-31 07:49:08 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2023-04-05 06:05:14 +00:00
func (s *UserList) UnmarshalJSON(data []byte) error {
2022-08-31 07:49:08 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *UserMaList) Encode(e *jx.Encoder) {
2022-08-31 07:49:08 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2023-04-05 06:05:14 +00:00
func (s *UserMaList) encodeFields(e *jx.Encoder) {
2022-08-31 07:49:08 +00:00
{
e.FieldStart("id")
e.Int(s.ID)
}
{
2023-04-05 06:05:14 +00:00
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
{
2023-04-05 06:05:14 +00:00
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Text.Set {
e.FieldStart("text")
s.Text.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Avatar.Set {
e.FieldStart("avatar")
s.Avatar.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.URI.Set {
e.FieldStart("uri")
s.URI.Encode(e)
}
}
2024-04-11 16:54:12 +00:00
{
if s.CidRoot.Set {
e.FieldStart("cid_root")
s.CidRoot.Encode(e)
}
}
{
if s.URIRoot.Set {
e.FieldStart("uri_root")
s.URIRoot.Encode(e)
}
}
{
if s.Root.Set {
e.FieldStart("root")
s.Root.Encode(e)
}
}
2023-04-05 06:05:14 +00:00
{
if s.Rkey.Set {
e.FieldStart("rkey")
s.Rkey.Encode(e)
}
}
{
if s.BskyURL.Set {
e.FieldStart("bsky_url")
s.BskyURL.Encode(e)
2022-08-31 07:49:08 +00:00
}
}
2024-04-11 16:54:12 +00:00
{
if s.Comment.Set {
e.FieldStart("comment")
s.Comment.Encode(e)
}
}
{
if s.Blog.Set {
e.FieldStart("blog")
s.Blog.Encode(e)
}
}
{
if s.BlogURL.Set {
e.FieldStart("blog_url")
s.BlogURL.Encode(e)
}
}
{
if s.Domain.Set {
e.FieldStart("domain")
s.Domain.Encode(e)
}
}
{
if s.Host.Set {
e.FieldStart("host")
s.Host.Encode(e)
}
}
{
if s.Feed.Set {
e.FieldStart("feed")
s.Feed.Encode(e)
}
}
2022-08-31 07:49:08 +00:00
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
2023-04-05 06:05:14 +00:00
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
2022-08-31 07:49:08 +00:00
}
}
}
2024-04-11 16:54:12 +00:00
var jsonFieldsNameOfUserMaList = [22]string{
2023-04-05 06:05:14 +00:00
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "text",
5: "did",
6: "avatar",
7: "cid",
8: "uri",
2024-04-11 16:54:12 +00:00
9: "cid_root",
10: "uri_root",
11: "root",
12: "rkey",
13: "bsky_url",
14: "comment",
15: "blog",
16: "blog_url",
17: "domain",
18: "host",
19: "feed",
20: "updated_at",
21: "created_at",
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
// Decode decodes UserMaList from json.
func (s *UserMaList) Decode(d *jx.Decoder) error {
2022-08-31 07:49:08 +00:00
if s == nil {
2023-04-05 06:05:14 +00:00
return errors.New("invalid: unable to decode UserMaList to nil")
2022-08-31 07:49:08 +00:00
}
2024-04-11 16:54:12 +00:00
var requiredBitSet [3]uint8
2022-08-31 07:49:08 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
2023-04-05 06:05:14 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "text":
if err := func() error {
s.Text.Reset()
if err := s.Text.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"text\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "did":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"did\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "avatar":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Avatar.Reset()
if err := s.Avatar.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"avatar\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "uri":
if err := func() error {
s.URI.Reset()
if err := s.URI.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri\"")
}
2024-04-11 16:54:12 +00:00
case "cid_root":
if err := func() error {
s.CidRoot.Reset()
if err := s.CidRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid_root\"")
}
case "uri_root":
if err := func() error {
s.URIRoot.Reset()
if err := s.URIRoot.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uri_root\"")
}
case "root":
if err := func() error {
s.Root.Reset()
if err := s.Root.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"root\"")
}
2023-04-05 06:05:14 +00:00
case "rkey":
if err := func() error {
s.Rkey.Reset()
if err := s.Rkey.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"rkey\"")
}
case "bsky_url":
if err := func() error {
s.BskyURL.Reset()
if err := s.BskyURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky_url\"")
2022-08-31 07:49:08 +00:00
}
2024-04-11 16:54:12 +00:00
case "comment":
if err := func() error {
s.Comment.Reset()
if err := s.Comment.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"comment\"")
}
case "blog":
if err := func() error {
s.Blog.Reset()
if err := s.Blog.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog\"")
}
case "blog_url":
if err := func() error {
s.BlogURL.Reset()
if err := s.BlogURL.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"blog_url\"")
}
case "domain":
if err := func() error {
s.Domain.Reset()
if err := s.Domain.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"domain\"")
}
case "host":
if err := func() error {
s.Host.Reset()
if err := s.Host.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"host\"")
}
case "feed":
if err := func() error {
s.Feed.Reset()
if err := s.Feed.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"feed\"")
}
2022-08-31 07:49:08 +00:00
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
2023-04-05 06:05:14 +00:00
case "created_at":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2022-08-31 07:49:08 +00:00
}
default:
return d.Skip()
}
return nil
}); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode UserMaList")
2022-08-31 07:49:08 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2024-04-11 16:54:12 +00:00
for i, mask := range [3]uint8{
2023-04-05 06:05:14 +00:00
0b00000001,
0b00000000,
2024-04-11 16:54:12 +00:00
0b00000000,
2022-08-31 07:49:08 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2023-04-05 06:05:14 +00:00
if fieldIdx < len(jsonFieldsNameOfUserMaList) {
name = jsonFieldsNameOfUserMaList[fieldIdx]
2022-08-31 07:49:08 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
2023-04-05 06:05:14 +00:00
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
2022-08-31 07:49:08 +00:00
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *UserMaList) MarshalJSON() ([]byte, error) {
2022-08-31 07:49:08 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2023-04-05 06:05:14 +00:00
func (s *UserMaList) UnmarshalJSON(data []byte) error {
2022-08-31 07:49:08 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2023-04-05 06:05:14 +00:00
// Encode implements json.Marshaler.
func (s *UserRead) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
2023-04-05 06:05:14 +00:00
// encodeFields encodes fields.
func (s *UserRead) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
2022-08-31 07:49:08 +00:00
2023-04-05 06:05:14 +00:00
e.FieldStart("username")
e.Str(s.Username)
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
}
}
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
{
2023-04-05 06:05:14 +00:00
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
2022-08-31 06:18:14 +00:00
}
{
2023-04-05 06:05:14 +00:00
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
}
2022-08-31 06:18:14 +00:00
}
{
2023-04-05 06:05:14 +00:00
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
}
}
{
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
2022-08-31 07:49:08 +00:00
}
}
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfUserRead = [49]string{
0: "id",
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
// Decode decodes UserRead from json.
func (s *UserRead) Decode(d *jx.Decoder) error {
2022-08-31 07:49:08 +00:00
if s == nil {
2023-04-05 06:05:14 +00:00
return errors.New("invalid: unable to decode UserRead to nil")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [7]uint8
2022-08-31 07:49:08 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
2023-04-05 06:05:14 +00:00
case "id":
2022-08-31 07:49:08 +00:00
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
2023-04-05 06:05:14 +00:00
s.ID = int(v)
2022-08-31 07:49:08 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"id\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "username":
2022-08-31 07:49:08 +00:00
requiredBitSet[0] |= 1 << 1
if err := func() error {
v, err := d.Str()
2023-04-05 06:05:14 +00:00
s.Username = string(v)
2022-08-31 07:49:08 +00:00
if err != nil {
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"username\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "did":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"did\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "raid_at":
if err := func() error {
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"raid_at\"")
}
case "server_at":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"server_at\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "egg_at":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"egg_at\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "luck":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"luck\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "like":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"like\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "like_rank":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"like_rank\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "like_at":
2022-08-31 07:49:08 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 07:49:08 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"like_at\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "fav":
if err := func() error {
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
return err
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"fav\"")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten":
if err := func() error {
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten\"")
}
case "ten_su":
if err := func() error {
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_su\"")
}
case "ten_kai":
if err := func() error {
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_kai\"")
}
case "aiten":
if err := func() error {
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"aiten\"")
}
case "ten_card":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_card\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_delete":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_delete\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_post":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_post\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_get":
if err := func() error {
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
return err
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_get\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_at\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "next":
if err := func() error {
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"next\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "room":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"room\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "model":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
}
case "model_limit":
if err := func() error {
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_limit\"")
}
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
}
case "model_mode":
if err := func() error {
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_mode\"")
}
case "model_critical":
if err := func() error {
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"game_end\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "game_lv":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"game_lv\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "coin":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"coin\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "coin_open":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode UserRead")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [7]uint8{
0b00000011,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUserRead) {
name = jsonFieldsNameOfUserRead[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
2022-08-31 07:49:08 +00:00
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *UserRead) MarshalJSON() ([]byte, error) {
2022-08-31 07:49:08 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2023-04-05 06:05:14 +00:00
func (s *UserRead) UnmarshalJSON(data []byte) error {
2022-08-31 07:49:08 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2024-04-10 21:11:26 +00:00
func (s *UserSevList) Encode(e *jx.Encoder) {
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
func (s *UserSevList) encodeFields(e *jx.Encoder) {
{
e.FieldStart("id")
e.Int(s.ID)
}
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.UID.Set {
e.FieldStart("uid")
s.UID.Encode(e)
}
}
{
if s.Cid.Set {
e.FieldStart("cid")
s.Cid.Encode(e)
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
var jsonFieldsNameOfUserSevList = [11]string{
0: "id",
1: "limit",
2: "count",
3: "handle",
4: "did",
5: "uid",
6: "cid",
7: "cp",
8: "card",
9: "updated_at",
10: "created_at",
}
// Decode decodes UserSevList from json.
func (s *UserSevList) Decode(d *jx.Decoder) error {
if s == nil {
return errors.New("invalid: unable to decode UserSevList to nil")
}
var requiredBitSet [2]uint8
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
if err := func() error {
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "count":
if err := func() error {
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"count\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "uid":
if err := func() error {
s.UID.Reset()
if err := s.UID.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"uid\"")
}
case "cid":
if err := func() error {
s.Cid.Reset()
if err := s.Cid.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cid\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"cp\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
default:
return d.Skip()
}
return nil
}); err != nil {
return errors.Wrap(err, "decode UserSevList")
}
// Validate required fields.
var failures []validate.FieldError
for i, mask := range [2]uint8{
0b00000001,
0b00000000,
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
if fieldIdx < len(jsonFieldsNameOfUserSevList) {
name = jsonFieldsNameOfUserSevList[fieldIdx]
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
// MarshalJSON implements stdjson.Marshaler.
func (s *UserSevList) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UserSevList) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}
// Encode implements json.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *UserUeList) Encode(e *jx.Encoder) {
2022-08-31 07:49:08 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
// encodeFields encodes fields.
2023-04-05 06:05:14 +00:00
func (s *UserUeList) encodeFields(e *jx.Encoder) {
2022-08-31 07:49:08 +00:00
{
e.FieldStart("id")
e.Int(s.ID)
}
2023-04-05 06:05:14 +00:00
{
if s.Limit.Set {
e.FieldStart("limit")
s.Limit.Encode(e)
}
}
{
if s.LimitBoss.Set {
e.FieldStart("limit_boss")
s.LimitBoss.Encode(e)
}
}
{
if s.LimitItem.Set {
e.FieldStart("limit_item")
s.LimitItem.Encode(e)
}
}
{
if s.Lv.Set {
e.FieldStart("lv")
s.Lv.Encode(e)
}
}
{
if s.LvPoint.Set {
e.FieldStart("lv_point")
s.LvPoint.Encode(e)
}
}
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
}
}
{
if s.Sword.Set {
e.FieldStart("sword")
s.Sword.Encode(e)
}
}
2022-08-31 07:49:08 +00:00
{
if s.Card.Set {
e.FieldStart("card")
s.Card.Encode(e)
}
}
{
2023-04-05 06:05:14 +00:00
if s.Mode.Set {
e.FieldStart("mode")
s.Mode.Encode(e)
2022-08-31 07:49:08 +00:00
}
}
{
if s.Cp.Set {
e.FieldStart("cp")
s.Cp.Encode(e)
}
}
{
2023-04-05 06:05:14 +00:00
if s.Count.Set {
e.FieldStart("count")
s.Count.Encode(e)
}
}
{
if s.LocationX.Set {
e.FieldStart("location_x")
s.LocationX.Encode(e)
}
}
{
if s.LocationY.Set {
e.FieldStart("location_y")
s.LocationY.Encode(e)
}
}
{
if s.LocationZ.Set {
e.FieldStart("location_z")
s.LocationZ.Encode(e)
}
}
{
if s.LocationN.Set {
e.FieldStart("location_n")
s.LocationN.Encode(e)
}
}
{
if s.Author.Set {
e.FieldStart("author")
s.Author.Encode(e)
2022-08-31 07:49:08 +00:00
}
}
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfUserUeList = [18]string{
0: "id",
1: "limit",
2: "limit_boss",
3: "limit_item",
4: "lv",
5: "lv_point",
6: "model",
7: "sword",
8: "card",
9: "mode",
10: "cp",
11: "count",
12: "location_x",
13: "location_y",
14: "location_z",
15: "location_n",
16: "author",
17: "created_at",
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
// Decode decodes UserUeList from json.
func (s *UserUeList) Decode(d *jx.Decoder) error {
2022-08-31 07:49:08 +00:00
if s == nil {
2023-04-05 06:05:14 +00:00
return errors.New("invalid: unable to decode UserUeList to nil")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [3]uint8
2022-08-31 07:49:08 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"id\"")
}
case "limit":
if err := func() error {
s.Limit.Reset()
if err := s.Limit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit\"")
}
case "limit_boss":
if err := func() error {
s.LimitBoss.Reset()
if err := s.LimitBoss.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_boss\"")
}
case "limit_item":
if err := func() error {
s.LimitItem.Reset()
if err := s.LimitItem.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"limit_item\"")
}
case "lv":
if err := func() error {
s.Lv.Reset()
if err := s.Lv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv\"")
}
case "lv_point":
if err := func() error {
s.LvPoint.Reset()
if err := s.LvPoint.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"lv_point\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "sword":
if err := func() error {
s.Sword.Reset()
if err := s.Sword.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"sword\"")
}
case "card":
if err := func() error {
s.Card.Reset()
if err := s.Card.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"card\"")
}
case "mode":
if err := func() error {
s.Mode.Reset()
if err := s.Mode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mode\"")
}
case "cp":
if err := func() error {
s.Cp.Reset()
if err := s.Cp.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"cp\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "count":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Count.Reset()
if err := s.Count.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"count\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "location_x":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.LocationX.Reset()
if err := s.LocationX.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"location_x\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "location_y":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.LocationY.Reset()
if err := s.LocationY.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"location_y\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "location_z":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.LocationZ.Reset()
if err := s.LocationZ.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"location_z\"")
}
case "location_n":
if err := func() error {
s.LocationN.Reset()
if err := s.LocationN.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"location_n\"")
}
case "author":
if err := func() error {
s.Author.Reset()
if err := s.Author.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"author\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "created_at":
if err := func() error {
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"created_at\"")
}
2022-08-31 06:18:14 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode UserUeList")
2022-08-31 06:18:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [3]uint8{
2022-08-31 07:49:08 +00:00
0b00000001,
2023-04-05 06:05:14 +00:00
0b00000000,
0b00000000,
2022-08-31 06:18:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2023-04-05 06:05:14 +00:00
if fieldIdx < len(jsonFieldsNameOfUserUeList) {
name = jsonFieldsNameOfUserUeList[fieldIdx]
2022-08-31 06:18:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *UserUeList) MarshalJSON() ([]byte, error) {
2022-08-31 07:49:08 +00:00
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
2023-04-05 06:05:14 +00:00
func (s *UserUeList) UnmarshalJSON(data []byte) error {
2022-08-31 07:49:08 +00:00
d := jx.DecodeBytes(data)
return s.Decode(d)
}
2022-08-31 06:18:14 +00:00
// Encode implements json.Marshaler.
2023-04-05 06:05:14 +00:00
func (s *UserUpdate) Encode(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
e.ObjStart()
s.encodeFields(e)
e.ObjEnd()
}
2022-08-31 07:49:08 +00:00
// encodeFields encodes fields.
2023-04-05 06:05:14 +00:00
func (s *UserUpdate) encodeFields(e *jx.Encoder) {
2022-08-31 06:18:14 +00:00
{
e.FieldStart("id")
e.Int(s.ID)
}
{
2022-08-31 07:49:08 +00:00
e.FieldStart("username")
e.Str(s.Username)
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Did.Set {
e.FieldStart("did")
s.Did.Encode(e)
}
}
{
if s.Member.Set {
e.FieldStart("member")
s.Member.Encode(e)
}
}
{
if s.Book.Set {
e.FieldStart("book")
s.Book.Encode(e)
}
}
{
if s.Manga.Set {
e.FieldStart("manga")
s.Manga.Encode(e)
}
}
{
if s.Badge.Set {
e.FieldStart("badge")
s.Badge.Encode(e)
}
}
{
if s.Bsky.Set {
e.FieldStart("bsky")
s.Bsky.Encode(e)
}
}
{
if s.Mastodon.Set {
e.FieldStart("mastodon")
s.Mastodon.Encode(e)
}
}
{
if s.Delete.Set {
e.FieldStart("delete")
s.Delete.Encode(e)
}
}
{
if s.Handle.Set {
e.FieldStart("handle")
s.Handle.Encode(e)
}
}
2022-08-31 06:18:14 +00:00
{
if s.CreatedAt.Set {
e.FieldStart("created_at")
s.CreatedAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.UpdatedAt.Set {
e.FieldStart("updated_at")
s.UpdatedAt.Encode(e, json.EncodeDateTime)
}
}
2023-04-05 06:05:14 +00:00
{
if s.RaidAt.Set {
e.FieldStart("raid_at")
s.RaidAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.ServerAt.Set {
e.FieldStart("server_at")
s.ServerAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.EggAt.Set {
e.FieldStart("egg_at")
s.EggAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Luck.Set {
e.FieldStart("luck")
s.Luck.Encode(e)
}
}
{
if s.LuckAt.Set {
e.FieldStart("luck_at")
s.LuckAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Like.Set {
e.FieldStart("like")
s.Like.Encode(e)
}
}
{
if s.LikeRank.Set {
e.FieldStart("like_rank")
s.LikeRank.Encode(e)
}
}
{
if s.LikeAt.Set {
e.FieldStart("like_at")
s.LikeAt.Encode(e, json.EncodeDateTime)
}
}
{
if s.Fav.Set {
e.FieldStart("fav")
s.Fav.Encode(e)
}
}
{
if s.Ten.Set {
e.FieldStart("ten")
s.Ten.Encode(e)
}
}
{
if s.TenSu.Set {
e.FieldStart("ten_su")
s.TenSu.Encode(e)
}
}
{
if s.TenKai.Set {
e.FieldStart("ten_kai")
s.TenKai.Encode(e)
}
}
{
if s.Aiten.Set {
e.FieldStart("aiten")
s.Aiten.Encode(e)
}
}
{
if s.TenCard.Set {
e.FieldStart("ten_card")
s.TenCard.Encode(e)
}
}
{
if s.TenDelete.Set {
e.FieldStart("ten_delete")
s.TenDelete.Encode(e)
}
}
{
if s.TenPost.Set {
e.FieldStart("ten_post")
s.TenPost.Encode(e)
}
}
{
if s.TenGet.Set {
e.FieldStart("ten_get")
s.TenGet.Encode(e)
}
}
{
if s.TenAt.Set {
e.FieldStart("ten_at")
s.TenAt.Encode(e, json.EncodeDateTime)
}
}
2022-08-31 06:18:14 +00:00
{
2022-08-31 07:49:08 +00:00
if s.Next.Set {
e.FieldStart("next")
s.Next.Encode(e)
2022-08-31 06:18:14 +00:00
}
}
2023-04-05 06:05:14 +00:00
{
if s.Room.Set {
e.FieldStart("room")
s.Room.Encode(e)
}
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
{
if s.Model.Set {
e.FieldStart("model")
s.Model.Encode(e)
2022-08-31 07:49:08 +00:00
}
}
2023-04-05 06:05:14 +00:00
{
if s.ModelAt.Set {
e.FieldStart("model_at")
s.ModelAt.Encode(e, json.EncodeDateTime)
2022-08-31 07:49:08 +00:00
}
}
2023-04-05 06:05:14 +00:00
{
if s.ModelAttack.Set {
e.FieldStart("model_attack")
s.ModelAttack.Encode(e)
}
}
{
if s.ModelLimit.Set {
e.FieldStart("model_limit")
s.ModelLimit.Encode(e)
}
}
{
if s.ModelSkill.Set {
e.FieldStart("model_skill")
s.ModelSkill.Encode(e)
}
}
{
if s.ModelMode.Set {
e.FieldStart("model_mode")
s.ModelMode.Encode(e)
}
}
{
if s.ModelCritical.Set {
e.FieldStart("model_critical")
s.ModelCritical.Encode(e)
}
}
{
if s.ModelCriticalD.Set {
e.FieldStart("model_critical_d")
s.ModelCriticalD.Encode(e)
}
}
{
if s.Game.Set {
e.FieldStart("game")
s.Game.Encode(e)
}
}
{
if s.GameTest.Set {
e.FieldStart("game_test")
s.GameTest.Encode(e)
}
}
{
if s.GameEnd.Set {
e.FieldStart("game_end")
s.GameEnd.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
{
2023-04-05 06:05:14 +00:00
if s.GameAccount.Set {
e.FieldStart("game_account")
s.GameAccount.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
{
2023-04-05 06:05:14 +00:00
if s.GameLv.Set {
e.FieldStart("game_lv")
s.GameLv.Encode(e)
}
2022-08-31 07:49:08 +00:00
}
{
2023-04-05 06:05:14 +00:00
if s.Coin.Set {
e.FieldStart("coin")
s.Coin.Encode(e)
2022-08-31 07:49:08 +00:00
}
}
{
2023-04-05 06:05:14 +00:00
if s.CoinOpen.Set {
e.FieldStart("coin_open")
s.CoinOpen.Encode(e)
2022-08-31 07:49:08 +00:00
}
}
{
2023-04-05 06:05:14 +00:00
if s.CoinAt.Set {
e.FieldStart("coin_at")
s.CoinAt.Encode(e, json.EncodeDateTime)
2022-08-31 07:49:08 +00:00
}
}
}
2023-04-05 06:05:14 +00:00
var jsonFieldsNameOfUserUpdate = [49]string{
0: "id",
1: "username",
2: "did",
3: "member",
4: "book",
5: "manga",
6: "badge",
7: "bsky",
8: "mastodon",
9: "delete",
10: "handle",
11: "created_at",
12: "updated_at",
13: "raid_at",
14: "server_at",
15: "egg_at",
16: "luck",
17: "luck_at",
18: "like",
19: "like_rank",
20: "like_at",
21: "fav",
22: "ten",
23: "ten_su",
24: "ten_kai",
25: "aiten",
26: "ten_card",
27: "ten_delete",
28: "ten_post",
29: "ten_get",
30: "ten_at",
31: "next",
32: "room",
33: "model",
34: "model_at",
35: "model_attack",
36: "model_limit",
37: "model_skill",
38: "model_mode",
39: "model_critical",
40: "model_critical_d",
41: "game",
42: "game_test",
43: "game_end",
44: "game_account",
45: "game_lv",
46: "coin",
47: "coin_open",
48: "coin_at",
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
// Decode decodes UserUpdate from json.
func (s *UserUpdate) Decode(d *jx.Decoder) error {
2022-08-31 07:49:08 +00:00
if s == nil {
2023-04-05 06:05:14 +00:00
return errors.New("invalid: unable to decode UserUpdate to nil")
2022-08-31 07:49:08 +00:00
}
2023-04-05 06:05:14 +00:00
var requiredBitSet [7]uint8
2022-08-31 07:49:08 +00:00
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
switch string(k) {
case "id":
requiredBitSet[0] |= 1 << 0
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
v, err := d.Int()
s.ID = int(v)
if err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"id\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "username":
requiredBitSet[0] |= 1 << 1
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
v, err := d.Str()
s.Username = string(v)
if err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"username\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "did":
if err := func() error {
s.Did.Reset()
if err := s.Did.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"did\"")
}
case "member":
if err := func() error {
s.Member.Reset()
if err := s.Member.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"member\"")
}
case "book":
if err := func() error {
s.Book.Reset()
if err := s.Book.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"book\"")
}
case "manga":
if err := func() error {
s.Manga.Reset()
if err := s.Manga.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"manga\"")
}
case "badge":
if err := func() error {
s.Badge.Reset()
if err := s.Badge.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"badge\"")
}
case "bsky":
if err := func() error {
s.Bsky.Reset()
if err := s.Bsky.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"bsky\"")
}
case "mastodon":
if err := func() error {
s.Mastodon.Reset()
if err := s.Mastodon.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"mastodon\"")
}
case "delete":
if err := func() error {
s.Delete.Reset()
if err := s.Delete.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"delete\"")
}
case "handle":
if err := func() error {
s.Handle.Reset()
if err := s.Handle.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"handle\"")
}
2022-08-31 07:49:08 +00:00
case "created_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.CreatedAt.Reset()
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"created_at\"")
2022-08-31 06:18:14 +00:00
}
case "updated_at":
if err := func() error {
s.UpdatedAt.Reset()
if err := s.UpdatedAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"updated_at\"")
}
2023-04-05 06:05:14 +00:00
case "raid_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.RaidAt.Reset()
if err := s.RaidAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"raid_at\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "server_at":
if err := func() error {
s.ServerAt.Reset()
if err := s.ServerAt.Decode(d, json.DecodeDateTime); err != nil {
return err
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"server_at\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "egg_at":
if err := func() error {
s.EggAt.Reset()
if err := s.EggAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"egg_at\"")
}
case "luck":
if err := func() error {
s.Luck.Reset()
if err := s.Luck.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck\"")
}
case "luck_at":
if err := func() error {
s.LuckAt.Reset()
if err := s.LuckAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"luck_at\"")
}
case "like":
if err := func() error {
s.Like.Reset()
if err := s.Like.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like\"")
}
case "like_rank":
if err := func() error {
s.LikeRank.Reset()
if err := s.LikeRank.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_rank\"")
}
case "like_at":
if err := func() error {
s.LikeAt.Reset()
if err := s.LikeAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"like_at\"")
}
case "fav":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Fav.Reset()
if err := s.Fav.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"fav\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Ten.Reset()
if err := s.Ten.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_su":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenSu.Reset()
if err := s.TenSu.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_su\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_kai":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenKai.Reset()
if err := s.TenKai.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_kai\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "aiten":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.Aiten.Reset()
if err := s.Aiten.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"aiten\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_card":
if err := func() error {
s.TenCard.Reset()
if err := s.TenCard.Decode(d); err != nil {
return err
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"ten_card\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_delete":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenDelete.Reset()
if err := s.TenDelete.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_delete\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_post":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenPost.Reset()
if err := s.TenPost.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_post\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_get":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenGet.Reset()
if err := s.TenGet.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_get\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "ten_at":
2022-08-31 06:18:14 +00:00
if err := func() error {
2023-04-05 06:05:14 +00:00
s.TenAt.Reset()
if err := s.TenAt.Decode(d, json.DecodeDateTime); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2023-04-05 06:05:14 +00:00
return errors.Wrap(err, "decode field \"ten_at\"")
2022-08-31 06:18:14 +00:00
}
2022-08-31 07:49:08 +00:00
case "next":
2022-08-31 06:18:14 +00:00
if err := func() error {
2022-08-31 07:49:08 +00:00
s.Next.Reset()
if err := s.Next.Decode(d); err != nil {
2022-08-31 06:18:14 +00:00
return err
}
return nil
}(); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode field \"next\"")
2022-08-31 06:18:14 +00:00
}
2023-04-05 06:05:14 +00:00
case "room":
if err := func() error {
s.Room.Reset()
if err := s.Room.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"room\"")
}
case "model":
if err := func() error {
s.Model.Reset()
if err := s.Model.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model\"")
}
case "model_at":
if err := func() error {
s.ModelAt.Reset()
if err := s.ModelAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_at\"")
}
case "model_attack":
if err := func() error {
s.ModelAttack.Reset()
if err := s.ModelAttack.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_attack\"")
}
case "model_limit":
if err := func() error {
s.ModelLimit.Reset()
if err := s.ModelLimit.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_limit\"")
}
case "model_skill":
if err := func() error {
s.ModelSkill.Reset()
if err := s.ModelSkill.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_skill\"")
}
case "model_mode":
if err := func() error {
s.ModelMode.Reset()
if err := s.ModelMode.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_mode\"")
}
case "model_critical":
if err := func() error {
s.ModelCritical.Reset()
if err := s.ModelCritical.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical\"")
}
case "model_critical_d":
if err := func() error {
s.ModelCriticalD.Reset()
if err := s.ModelCriticalD.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"model_critical_d\"")
}
case "game":
if err := func() error {
s.Game.Reset()
if err := s.Game.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game\"")
}
case "game_test":
if err := func() error {
s.GameTest.Reset()
if err := s.GameTest.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_test\"")
}
case "game_end":
if err := func() error {
s.GameEnd.Reset()
if err := s.GameEnd.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_end\"")
}
case "game_account":
if err := func() error {
s.GameAccount.Reset()
if err := s.GameAccount.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_account\"")
}
case "game_lv":
if err := func() error {
s.GameLv.Reset()
if err := s.GameLv.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"game_lv\"")
}
case "coin":
if err := func() error {
s.Coin.Reset()
if err := s.Coin.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin\"")
}
case "coin_open":
if err := func() error {
s.CoinOpen.Reset()
if err := s.CoinOpen.Decode(d); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_open\"")
}
case "coin_at":
if err := func() error {
s.CoinAt.Reset()
if err := s.CoinAt.Decode(d, json.DecodeDateTime); err != nil {
return err
}
return nil
}(); err != nil {
return errors.Wrap(err, "decode field \"coin_at\"")
}
2022-08-31 06:18:14 +00:00
default:
return d.Skip()
}
return nil
}); err != nil {
2022-08-31 07:49:08 +00:00
return errors.Wrap(err, "decode UserUpdate")
2022-08-31 06:18:14 +00:00
}
// Validate required fields.
var failures []validate.FieldError
2023-04-05 06:05:14 +00:00
for i, mask := range [7]uint8{
2022-08-31 06:18:14 +00:00
0b00000011,
2023-04-05 06:05:14 +00:00
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
2022-08-31 06:18:14 +00:00
} {
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
// Mask only required fields and check equality to mask using XOR.
//
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
// Bits of fields which would be set are actually bits of missed fields.
missed := bits.OnesCount8(result)
for bitN := 0; bitN < missed; bitN++ {
bitIdx := bits.TrailingZeros8(result)
fieldIdx := i*8 + bitIdx
var name string
2022-08-31 07:49:08 +00:00
if fieldIdx < len(jsonFieldsNameOfUserUpdate) {
name = jsonFieldsNameOfUserUpdate[fieldIdx]
2022-08-31 06:18:14 +00:00
} else {
name = strconv.Itoa(fieldIdx)
}
failures = append(failures, validate.FieldError{
Name: name,
Error: validate.ErrFieldRequired,
})
// Reset bit.
result &^= 1 << bitIdx
}
}
}
if len(failures) > 0 {
return &validate.Error{Fields: failures}
}
return nil
}
2022-08-31 07:49:08 +00:00
// MarshalJSON implements stdjson.Marshaler.
func (s *UserUpdate) MarshalJSON() ([]byte, error) {
e := jx.Encoder{}
s.Encode(&e)
return e.Bytes(), nil
}
// UnmarshalJSON implements stdjson.Unmarshaler.
func (s *UserUpdate) UnmarshalJSON(data []byte) error {
d := jx.DecodeBytes(data)
return s.Decode(d)
}