mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-09-21 01:34:16 +00:00
1036 lines
22 KiB
Go
1036 lines
22 KiB
Go
// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
|
|
|
|
package atproto
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"math"
|
|
"sort"
|
|
|
|
cid "github.com/ipfs/go-cid"
|
|
cbg "github.com/whyrusleeping/cbor-gen"
|
|
xerrors "golang.org/x/xerrors"
|
|
)
|
|
|
|
var _ = xerrors.Errorf
|
|
var _ = cid.Undef
|
|
var _ = math.E
|
|
var _ = sort.Sort
|
|
|
|
func (t *CrewRecord) MarshalCBOR(w io.Writer) error {
|
|
if t == nil {
|
|
_, err := w.Write(cbg.CborNull)
|
|
return err
|
|
}
|
|
|
|
cw := cbg.NewCborWriter(w)
|
|
|
|
if _, err := cw.Write([]byte{165}); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Role (string) (string)
|
|
if len("role") > 8192 {
|
|
return xerrors.Errorf("Value in field \"role\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("role"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("role")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Role) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Role was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Role))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Role)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Type (string) (string)
|
|
if len("$type") > 8192 {
|
|
return xerrors.Errorf("Value in field \"$type\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("$type")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Type) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Type was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Type)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Member (string) (string)
|
|
if len("member") > 8192 {
|
|
return xerrors.Errorf("Value in field \"member\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("member"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("member")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Member) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Member was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Member))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Member)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.AddedAt (string) (string)
|
|
if len("addedAt") > 8192 {
|
|
return xerrors.Errorf("Value in field \"addedAt\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("addedAt"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("addedAt")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.AddedAt) > 8192 {
|
|
return xerrors.Errorf("Value in field t.AddedAt was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.AddedAt))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.AddedAt)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Permissions ([]string) (slice)
|
|
if len("permissions") > 8192 {
|
|
return xerrors.Errorf("Value in field \"permissions\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("permissions"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("permissions")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Permissions) > 8192 {
|
|
return xerrors.Errorf("Slice value in field t.Permissions was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Permissions))); err != nil {
|
|
return err
|
|
}
|
|
for _, v := range t.Permissions {
|
|
if len(v) > 8192 {
|
|
return xerrors.Errorf("Value in field v was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(v)); err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *CrewRecord) UnmarshalCBOR(r io.Reader) (err error) {
|
|
*t = CrewRecord{}
|
|
|
|
cr := cbg.NewCborReader(r)
|
|
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer func() {
|
|
if err == io.EOF {
|
|
err = io.ErrUnexpectedEOF
|
|
}
|
|
}()
|
|
|
|
if maj != cbg.MajMap {
|
|
return fmt.Errorf("cbor input should be of type map")
|
|
}
|
|
|
|
if extra > cbg.MaxLength {
|
|
return fmt.Errorf("CrewRecord: map struct too large (%d)", extra)
|
|
}
|
|
|
|
n := extra
|
|
|
|
nameBuf := make([]byte, 11)
|
|
for i := uint64(0); i < n; i++ {
|
|
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if !ok {
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
continue
|
|
}
|
|
|
|
switch string(nameBuf[:nameLen]) {
|
|
// t.Role (string) (string)
|
|
case "role":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Role = string(sval)
|
|
}
|
|
// t.Type (string) (string)
|
|
case "$type":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Type = string(sval)
|
|
}
|
|
// t.Member (string) (string)
|
|
case "member":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Member = string(sval)
|
|
}
|
|
// t.AddedAt (string) (string)
|
|
case "addedAt":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.AddedAt = string(sval)
|
|
}
|
|
// t.Permissions ([]string) (slice)
|
|
case "permissions":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if extra > 8192 {
|
|
return fmt.Errorf("t.Permissions: array too large (%d)", extra)
|
|
}
|
|
|
|
if maj != cbg.MajArray {
|
|
return fmt.Errorf("expected cbor array")
|
|
}
|
|
|
|
if extra > 0 {
|
|
t.Permissions = make([]string, extra)
|
|
}
|
|
|
|
for i := 0; i < int(extra); i++ {
|
|
{
|
|
var maj byte
|
|
var extra uint64
|
|
var err error
|
|
_ = maj
|
|
_ = extra
|
|
_ = err
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Permissions[i] = string(sval)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
default:
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
func (t *CaptainRecord) MarshalCBOR(w io.Writer) error {
|
|
if t == nil {
|
|
_, err := w.Write(cbg.CborNull)
|
|
return err
|
|
}
|
|
|
|
cw := cbg.NewCborWriter(w)
|
|
fieldCount := 7
|
|
|
|
if t.Region == "" {
|
|
fieldCount--
|
|
}
|
|
|
|
if t.Provider == "" {
|
|
fieldCount--
|
|
}
|
|
|
|
if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Type (string) (string)
|
|
if len("$type") > 8192 {
|
|
return xerrors.Errorf("Value in field \"$type\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("$type")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Type) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Type was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Type)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Owner (string) (string)
|
|
if len("owner") > 8192 {
|
|
return xerrors.Errorf("Value in field \"owner\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("owner"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("owner")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Owner) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Owner was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Owner))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Owner)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Public (bool) (bool)
|
|
if len("public") > 8192 {
|
|
return xerrors.Errorf("Value in field \"public\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("public"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("public")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := cbg.WriteBool(w, t.Public); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Region (string) (string)
|
|
if t.Region != "" {
|
|
|
|
if len("region") > 8192 {
|
|
return xerrors.Errorf("Value in field \"region\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("region"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("region")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Region) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Region was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Region))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Region)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.Provider (string) (string)
|
|
if t.Provider != "" {
|
|
|
|
if len("provider") > 8192 {
|
|
return xerrors.Errorf("Value in field \"provider\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("provider"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("provider")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Provider) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Provider was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Provider))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Provider)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.DeployedAt (string) (string)
|
|
if len("deployedAt") > 8192 {
|
|
return xerrors.Errorf("Value in field \"deployedAt\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("deployedAt"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("deployedAt")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.DeployedAt) > 8192 {
|
|
return xerrors.Errorf("Value in field t.DeployedAt was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.DeployedAt))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.DeployedAt)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.AllowAllCrew (bool) (bool)
|
|
if len("allowAllCrew") > 8192 {
|
|
return xerrors.Errorf("Value in field \"allowAllCrew\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("allowAllCrew"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("allowAllCrew")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := cbg.WriteBool(w, t.AllowAllCrew); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *CaptainRecord) UnmarshalCBOR(r io.Reader) (err error) {
|
|
*t = CaptainRecord{}
|
|
|
|
cr := cbg.NewCborReader(r)
|
|
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer func() {
|
|
if err == io.EOF {
|
|
err = io.ErrUnexpectedEOF
|
|
}
|
|
}()
|
|
|
|
if maj != cbg.MajMap {
|
|
return fmt.Errorf("cbor input should be of type map")
|
|
}
|
|
|
|
if extra > cbg.MaxLength {
|
|
return fmt.Errorf("CaptainRecord: map struct too large (%d)", extra)
|
|
}
|
|
|
|
n := extra
|
|
|
|
nameBuf := make([]byte, 12)
|
|
for i := uint64(0); i < n; i++ {
|
|
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if !ok {
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
continue
|
|
}
|
|
|
|
switch string(nameBuf[:nameLen]) {
|
|
// t.Type (string) (string)
|
|
case "$type":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Type = string(sval)
|
|
}
|
|
// t.Owner (string) (string)
|
|
case "owner":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Owner = string(sval)
|
|
}
|
|
// t.Public (bool) (bool)
|
|
case "public":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if maj != cbg.MajOther {
|
|
return fmt.Errorf("booleans must be major type 7")
|
|
}
|
|
switch extra {
|
|
case 20:
|
|
t.Public = false
|
|
case 21:
|
|
t.Public = true
|
|
default:
|
|
return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
|
|
}
|
|
// t.Region (string) (string)
|
|
case "region":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Region = string(sval)
|
|
}
|
|
// t.Provider (string) (string)
|
|
case "provider":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Provider = string(sval)
|
|
}
|
|
// t.DeployedAt (string) (string)
|
|
case "deployedAt":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.DeployedAt = string(sval)
|
|
}
|
|
// t.AllowAllCrew (bool) (bool)
|
|
case "allowAllCrew":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if maj != cbg.MajOther {
|
|
return fmt.Errorf("booleans must be major type 7")
|
|
}
|
|
switch extra {
|
|
case 20:
|
|
t.AllowAllCrew = false
|
|
case 21:
|
|
t.AllowAllCrew = true
|
|
default:
|
|
return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
|
|
}
|
|
|
|
default:
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
func (t *TangledProfileRecord) MarshalCBOR(w io.Writer) error {
|
|
if t == nil {
|
|
_, err := w.Write(cbg.CborNull)
|
|
return err
|
|
}
|
|
|
|
cw := cbg.NewCborWriter(w)
|
|
|
|
if _, err := cw.Write([]byte{167}); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Type (string) (string)
|
|
if len("$type") > 8192 {
|
|
return xerrors.Errorf("Value in field \"$type\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("$type")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Type) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Type was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Type)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Links ([]string) (slice)
|
|
if len("links") > 8192 {
|
|
return xerrors.Errorf("Value in field \"links\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("links"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("links")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Links) > 8192 {
|
|
return xerrors.Errorf("Slice value in field t.Links was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Links))); err != nil {
|
|
return err
|
|
}
|
|
for _, v := range t.Links {
|
|
if len(v) > 8192 {
|
|
return xerrors.Errorf("Value in field v was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(v)); err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
// t.Stats ([]string) (slice)
|
|
if len("stats") > 8192 {
|
|
return xerrors.Errorf("Value in field \"stats\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("stats"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("stats")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Stats) > 8192 {
|
|
return xerrors.Errorf("Slice value in field t.Stats was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Stats))); err != nil {
|
|
return err
|
|
}
|
|
for _, v := range t.Stats {
|
|
if len(v) > 8192 {
|
|
return xerrors.Errorf("Value in field v was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(v)); err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
// t.Bluesky (bool) (bool)
|
|
if len("bluesky") > 8192 {
|
|
return xerrors.Errorf("Value in field \"bluesky\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("bluesky"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("bluesky")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := cbg.WriteBool(w, t.Bluesky); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Location (string) (string)
|
|
if len("location") > 8192 {
|
|
return xerrors.Errorf("Value in field \"location\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("location"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("location")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Location) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Location was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Location))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Location)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Description (string) (string)
|
|
if len("description") > 8192 {
|
|
return xerrors.Errorf("Value in field \"description\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("description"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("description")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Description) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Description was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Description))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Description)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.PinnedRepositories ([]string) (slice)
|
|
if len("pinnedRepositories") > 8192 {
|
|
return xerrors.Errorf("Value in field \"pinnedRepositories\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("pinnedRepositories"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("pinnedRepositories")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.PinnedRepositories) > 8192 {
|
|
return xerrors.Errorf("Slice value in field t.PinnedRepositories was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.PinnedRepositories))); err != nil {
|
|
return err
|
|
}
|
|
for _, v := range t.PinnedRepositories {
|
|
if len(v) > 8192 {
|
|
return xerrors.Errorf("Value in field v was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(v)); err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *TangledProfileRecord) UnmarshalCBOR(r io.Reader) (err error) {
|
|
*t = TangledProfileRecord{}
|
|
|
|
cr := cbg.NewCborReader(r)
|
|
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer func() {
|
|
if err == io.EOF {
|
|
err = io.ErrUnexpectedEOF
|
|
}
|
|
}()
|
|
|
|
if maj != cbg.MajMap {
|
|
return fmt.Errorf("cbor input should be of type map")
|
|
}
|
|
|
|
if extra > cbg.MaxLength {
|
|
return fmt.Errorf("TangledProfileRecord: map struct too large (%d)", extra)
|
|
}
|
|
|
|
n := extra
|
|
|
|
nameBuf := make([]byte, 18)
|
|
for i := uint64(0); i < n; i++ {
|
|
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if !ok {
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
continue
|
|
}
|
|
|
|
switch string(nameBuf[:nameLen]) {
|
|
// t.Type (string) (string)
|
|
case "$type":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Type = string(sval)
|
|
}
|
|
// t.Links ([]string) (slice)
|
|
case "links":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if extra > 8192 {
|
|
return fmt.Errorf("t.Links: array too large (%d)", extra)
|
|
}
|
|
|
|
if maj != cbg.MajArray {
|
|
return fmt.Errorf("expected cbor array")
|
|
}
|
|
|
|
if extra > 0 {
|
|
t.Links = make([]string, extra)
|
|
}
|
|
|
|
for i := 0; i < int(extra); i++ {
|
|
{
|
|
var maj byte
|
|
var extra uint64
|
|
var err error
|
|
_ = maj
|
|
_ = extra
|
|
_ = err
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Links[i] = string(sval)
|
|
}
|
|
|
|
}
|
|
}
|
|
// t.Stats ([]string) (slice)
|
|
case "stats":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if extra > 8192 {
|
|
return fmt.Errorf("t.Stats: array too large (%d)", extra)
|
|
}
|
|
|
|
if maj != cbg.MajArray {
|
|
return fmt.Errorf("expected cbor array")
|
|
}
|
|
|
|
if extra > 0 {
|
|
t.Stats = make([]string, extra)
|
|
}
|
|
|
|
for i := 0; i < int(extra); i++ {
|
|
{
|
|
var maj byte
|
|
var extra uint64
|
|
var err error
|
|
_ = maj
|
|
_ = extra
|
|
_ = err
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Stats[i] = string(sval)
|
|
}
|
|
|
|
}
|
|
}
|
|
// t.Bluesky (bool) (bool)
|
|
case "bluesky":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if maj != cbg.MajOther {
|
|
return fmt.Errorf("booleans must be major type 7")
|
|
}
|
|
switch extra {
|
|
case 20:
|
|
t.Bluesky = false
|
|
case 21:
|
|
t.Bluesky = true
|
|
default:
|
|
return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
|
|
}
|
|
// t.Location (string) (string)
|
|
case "location":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Location = string(sval)
|
|
}
|
|
// t.Description (string) (string)
|
|
case "description":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Description = string(sval)
|
|
}
|
|
// t.PinnedRepositories ([]string) (slice)
|
|
case "pinnedRepositories":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if extra > 8192 {
|
|
return fmt.Errorf("t.PinnedRepositories: array too large (%d)", extra)
|
|
}
|
|
|
|
if maj != cbg.MajArray {
|
|
return fmt.Errorf("expected cbor array")
|
|
}
|
|
|
|
if extra > 0 {
|
|
t.PinnedRepositories = make([]string, extra)
|
|
}
|
|
|
|
for i := 0; i < int(extra); i++ {
|
|
{
|
|
var maj byte
|
|
var extra uint64
|
|
var err error
|
|
_ = maj
|
|
_ = extra
|
|
_ = err
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.PinnedRepositories[i] = string(sval)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
default:
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|