···3068306830693069 return nil
30703070}
30713071+func (t *LabelOp) MarshalCBOR(w io.Writer) error {
30723072+ if t == nil {
30733073+ _, err := w.Write(cbg.CborNull)
30743074+ return err
30753075+ }
30763076+30773077+ cw := cbg.NewCborWriter(w)
30783078+30793079+ if _, err := cw.Write([]byte{165}); err != nil {
30803080+ return err
30813081+ }
30823082+30833083+ // t.Add ([]*tangled.LabelOp_Operand) (slice)
30843084+ if len("add") > 1000000 {
30853085+ return xerrors.Errorf("Value in field \"add\" was too long")
30863086+ }
30873087+30883088+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("add"))); err != nil {
30893089+ return err
30903090+ }
30913091+ if _, err := cw.WriteString(string("add")); err != nil {
30923092+ return err
30933093+ }
30943094+30953095+ if len(t.Add) > 8192 {
30963096+ return xerrors.Errorf("Slice value in field t.Add was too long")
30973097+ }
30983098+30993099+ if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Add))); err != nil {
31003100+ return err
31013101+ }
31023102+ for _, v := range t.Add {
31033103+ if err := v.MarshalCBOR(cw); err != nil {
31043104+ return err
31053105+ }
31063106+31073107+ }
31083108+31093109+ // t.LexiconTypeID (string) (string)
31103110+ if len("$type") > 1000000 {
31113111+ return xerrors.Errorf("Value in field \"$type\" was too long")
31123112+ }
31133113+31143114+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
31153115+ return err
31163116+ }
31173117+ if _, err := cw.WriteString(string("$type")); err != nil {
31183118+ return err
31193119+ }
31203120+31213121+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("sh.tangled.label.op"))); err != nil {
31223122+ return err
31233123+ }
31243124+ if _, err := cw.WriteString(string("sh.tangled.label.op")); err != nil {
31253125+ return err
31263126+ }
31273127+31283128+ // t.Delete ([]*tangled.LabelOp_Operand) (slice)
31293129+ if len("delete") > 1000000 {
31303130+ return xerrors.Errorf("Value in field \"delete\" was too long")
31313131+ }
31323132+31333133+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("delete"))); err != nil {
31343134+ return err
31353135+ }
31363136+ if _, err := cw.WriteString(string("delete")); err != nil {
31373137+ return err
31383138+ }
31393139+31403140+ if len(t.Delete) > 8192 {
31413141+ return xerrors.Errorf("Slice value in field t.Delete was too long")
31423142+ }
31433143+31443144+ if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Delete))); err != nil {
31453145+ return err
31463146+ }
31473147+ for _, v := range t.Delete {
31483148+ if err := v.MarshalCBOR(cw); err != nil {
31493149+ return err
31503150+ }
31513151+31523152+ }
31533153+31543154+ // t.Subject (string) (string)
31553155+ if len("subject") > 1000000 {
31563156+ return xerrors.Errorf("Value in field \"subject\" was too long")
31573157+ }
31583158+31593159+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("subject"))); err != nil {
31603160+ return err
31613161+ }
31623162+ if _, err := cw.WriteString(string("subject")); err != nil {
31633163+ return err
31643164+ }
31653165+31663166+ if len(t.Subject) > 1000000 {
31673167+ return xerrors.Errorf("Value in field t.Subject was too long")
31683168+ }
31693169+31703170+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Subject))); err != nil {
31713171+ return err
31723172+ }
31733173+ if _, err := cw.WriteString(string(t.Subject)); err != nil {
31743174+ return err
31753175+ }
31763176+31773177+ // t.PerformedAt (string) (string)
31783178+ if len("performedAt") > 1000000 {
31793179+ return xerrors.Errorf("Value in field \"performedAt\" was too long")
31803180+ }
31813181+31823182+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("performedAt"))); err != nil {
31833183+ return err
31843184+ }
31853185+ if _, err := cw.WriteString(string("performedAt")); err != nil {
31863186+ return err
31873187+ }
31883188+31893189+ if len(t.PerformedAt) > 1000000 {
31903190+ return xerrors.Errorf("Value in field t.PerformedAt was too long")
31913191+ }
31923192+31933193+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.PerformedAt))); err != nil {
31943194+ return err
31953195+ }
31963196+ if _, err := cw.WriteString(string(t.PerformedAt)); err != nil {
31973197+ return err
31983198+ }
31993199+ return nil
32003200+}
32013201+32023202+func (t *LabelOp) UnmarshalCBOR(r io.Reader) (err error) {
32033203+ *t = LabelOp{}
32043204+32053205+ cr := cbg.NewCborReader(r)
32063206+32073207+ maj, extra, err := cr.ReadHeader()
32083208+ if err != nil {
32093209+ return err
32103210+ }
32113211+ defer func() {
32123212+ if err == io.EOF {
32133213+ err = io.ErrUnexpectedEOF
32143214+ }
32153215+ }()
32163216+32173217+ if maj != cbg.MajMap {
32183218+ return fmt.Errorf("cbor input should be of type map")
32193219+ }
32203220+32213221+ if extra > cbg.MaxLength {
32223222+ return fmt.Errorf("LabelOp: map struct too large (%d)", extra)
32233223+ }
32243224+32253225+ n := extra
32263226+32273227+ nameBuf := make([]byte, 11)
32283228+ for i := uint64(0); i < n; i++ {
32293229+ nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000)
32303230+ if err != nil {
32313231+ return err
32323232+ }
32333233+32343234+ if !ok {
32353235+ // Field doesn't exist on this type, so ignore it
32363236+ if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
32373237+ return err
32383238+ }
32393239+ continue
32403240+ }
32413241+32423242+ switch string(nameBuf[:nameLen]) {
32433243+ // t.Add ([]*tangled.LabelOp_Operand) (slice)
32443244+ case "add":
32453245+32463246+ maj, extra, err = cr.ReadHeader()
32473247+ if err != nil {
32483248+ return err
32493249+ }
32503250+32513251+ if extra > 8192 {
32523252+ return fmt.Errorf("t.Add: array too large (%d)", extra)
32533253+ }
32543254+32553255+ if maj != cbg.MajArray {
32563256+ return fmt.Errorf("expected cbor array")
32573257+ }
32583258+32593259+ if extra > 0 {
32603260+ t.Add = make([]*LabelOp_Operand, extra)
32613261+ }
32623262+32633263+ for i := 0; i < int(extra); i++ {
32643264+ {
32653265+ var maj byte
32663266+ var extra uint64
32673267+ var err error
32683268+ _ = maj
32693269+ _ = extra
32703270+ _ = err
32713271+32723272+ {
32733273+32743274+ b, err := cr.ReadByte()
32753275+ if err != nil {
32763276+ return err
32773277+ }
32783278+ if b != cbg.CborNull[0] {
32793279+ if err := cr.UnreadByte(); err != nil {
32803280+ return err
32813281+ }
32823282+ t.Add[i] = new(LabelOp_Operand)
32833283+ if err := t.Add[i].UnmarshalCBOR(cr); err != nil {
32843284+ return xerrors.Errorf("unmarshaling t.Add[i] pointer: %w", err)
32853285+ }
32863286+ }
32873287+32883288+ }
32893289+32903290+ }
32913291+ }
32923292+ // t.LexiconTypeID (string) (string)
32933293+ case "$type":
32943294+32953295+ {
32963296+ sval, err := cbg.ReadStringWithMax(cr, 1000000)
32973297+ if err != nil {
32983298+ return err
32993299+ }
33003300+33013301+ t.LexiconTypeID = string(sval)
33023302+ }
33033303+ // t.Delete ([]*tangled.LabelOp_Operand) (slice)
33043304+ case "delete":
33053305+33063306+ maj, extra, err = cr.ReadHeader()
33073307+ if err != nil {
33083308+ return err
33093309+ }
33103310+33113311+ if extra > 8192 {
33123312+ return fmt.Errorf("t.Delete: array too large (%d)", extra)
33133313+ }
33143314+33153315+ if maj != cbg.MajArray {
33163316+ return fmt.Errorf("expected cbor array")
33173317+ }
33183318+33193319+ if extra > 0 {
33203320+ t.Delete = make([]*LabelOp_Operand, extra)
33213321+ }
33223322+33233323+ for i := 0; i < int(extra); i++ {
33243324+ {
33253325+ var maj byte
33263326+ var extra uint64
33273327+ var err error
33283328+ _ = maj
33293329+ _ = extra
33303330+ _ = err
33313331+33323332+ {
33333333+33343334+ b, err := cr.ReadByte()
33353335+ if err != nil {
33363336+ return err
33373337+ }
33383338+ if b != cbg.CborNull[0] {
33393339+ if err := cr.UnreadByte(); err != nil {
33403340+ return err
33413341+ }
33423342+ t.Delete[i] = new(LabelOp_Operand)
33433343+ if err := t.Delete[i].UnmarshalCBOR(cr); err != nil {
33443344+ return xerrors.Errorf("unmarshaling t.Delete[i] pointer: %w", err)
33453345+ }
33463346+ }
33473347+33483348+ }
33493349+33503350+ }
33513351+ }
33523352+ // t.Subject (string) (string)
33533353+ case "subject":
33543354+33553355+ {
33563356+ sval, err := cbg.ReadStringWithMax(cr, 1000000)
33573357+ if err != nil {
33583358+ return err
33593359+ }
33603360+33613361+ t.Subject = string(sval)
33623362+ }
33633363+ // t.PerformedAt (string) (string)
33643364+ case "performedAt":
33653365+33663366+ {
33673367+ sval, err := cbg.ReadStringWithMax(cr, 1000000)
33683368+ if err != nil {
33693369+ return err
33703370+ }
33713371+33723372+ t.PerformedAt = string(sval)
33733373+ }
33743374+33753375+ default:
33763376+ // Field doesn't exist on this type, so ignore it
33773377+ if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
33783378+ return err
33793379+ }
33803380+ }
33813381+ }
33823382+33833383+ return nil
33843384+}
33853385+func (t *LabelOp_Operand) MarshalCBOR(w io.Writer) error {
33863386+ if t == nil {
33873387+ _, err := w.Write(cbg.CborNull)
33883388+ return err
33893389+ }
33903390+33913391+ cw := cbg.NewCborWriter(w)
33923392+33933393+ if _, err := cw.Write([]byte{162}); err != nil {
33943394+ return err
33953395+ }
33963396+33973397+ // t.Key (string) (string)
33983398+ if len("key") > 1000000 {
33993399+ return xerrors.Errorf("Value in field \"key\" was too long")
34003400+ }
34013401+34023402+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("key"))); err != nil {
34033403+ return err
34043404+ }
34053405+ if _, err := cw.WriteString(string("key")); err != nil {
34063406+ return err
34073407+ }
34083408+34093409+ if len(t.Key) > 1000000 {
34103410+ return xerrors.Errorf("Value in field t.Key was too long")
34113411+ }
34123412+34133413+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Key))); err != nil {
34143414+ return err
34153415+ }
34163416+ if _, err := cw.WriteString(string(t.Key)); err != nil {
34173417+ return err
34183418+ }
34193419+34203420+ // t.Value (string) (string)
34213421+ if len("value") > 1000000 {
34223422+ return xerrors.Errorf("Value in field \"value\" was too long")
34233423+ }
34243424+34253425+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("value"))); err != nil {
34263426+ return err
34273427+ }
34283428+ if _, err := cw.WriteString(string("value")); err != nil {
34293429+ return err
34303430+ }
34313431+34323432+ if len(t.Value) > 1000000 {
34333433+ return xerrors.Errorf("Value in field t.Value was too long")
34343434+ }
34353435+34363436+ if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Value))); err != nil {
34373437+ return err
34383438+ }
34393439+ if _, err := cw.WriteString(string(t.Value)); err != nil {
34403440+ return err
34413441+ }
34423442+ return nil
34433443+}
34443444+34453445+func (t *LabelOp_Operand) UnmarshalCBOR(r io.Reader) (err error) {
34463446+ *t = LabelOp_Operand{}
34473447+34483448+ cr := cbg.NewCborReader(r)
34493449+34503450+ maj, extra, err := cr.ReadHeader()
34513451+ if err != nil {
34523452+ return err
34533453+ }
34543454+ defer func() {
34553455+ if err == io.EOF {
34563456+ err = io.ErrUnexpectedEOF
34573457+ }
34583458+ }()
34593459+34603460+ if maj != cbg.MajMap {
34613461+ return fmt.Errorf("cbor input should be of type map")
34623462+ }
34633463+34643464+ if extra > cbg.MaxLength {
34653465+ return fmt.Errorf("LabelOp_Operand: map struct too large (%d)", extra)
34663466+ }
34673467+34683468+ n := extra
34693469+34703470+ nameBuf := make([]byte, 5)
34713471+ for i := uint64(0); i < n; i++ {
34723472+ nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000)
34733473+ if err != nil {
34743474+ return err
34753475+ }
34763476+34773477+ if !ok {
34783478+ // Field doesn't exist on this type, so ignore it
34793479+ if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
34803480+ return err
34813481+ }
34823482+ continue
34833483+ }
34843484+34853485+ switch string(nameBuf[:nameLen]) {
34863486+ // t.Key (string) (string)
34873487+ case "key":
34883488+34893489+ {
34903490+ sval, err := cbg.ReadStringWithMax(cr, 1000000)
34913491+ if err != nil {
34923492+ return err
34933493+ }
34943494+34953495+ t.Key = string(sval)
34963496+ }
34973497+ // t.Value (string) (string)
34983498+ case "value":
34993499+35003500+ {
35013501+ sval, err := cbg.ReadStringWithMax(cr, 1000000)
35023502+ if err != nil {
35033503+ return err
35043504+ }
35053505+35063506+ t.Value = string(sval)
35073507+ }
35083508+35093509+ default:
35103510+ // Field doesn't exist on this type, so ignore it
35113511+ if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
35123512+ return err
35133513+ }
35143514+ }
35153515+ }
35163516+35173517+ return nil
35183518+}
30713519func (t *Pipeline) MarshalCBOR(w io.Writer) error {
30723520 if t == nil {
30733521 _, err := w.Write(cbg.CborNull)
+34
api/tangled/labelop.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package tangled
44+55+// schema: sh.tangled.label.op
66+77+import (
88+ "github.com/bluesky-social/indigo/lex/util"
99+)
1010+1111+const (
1212+ LabelOpNSID = "sh.tangled.label.op"
1313+)
1414+1515+func init() {
1616+ util.RegisterType("sh.tangled.label.op", &LabelOp{})
1717+} //
1818+// RECORDTYPE: LabelOp
1919+type LabelOp struct {
2020+ LexiconTypeID string `json:"$type,const=sh.tangled.label.op" cborgen:"$type,const=sh.tangled.label.op"`
2121+ Add []*LabelOp_Operand `json:"add" cborgen:"add"`
2222+ Delete []*LabelOp_Operand `json:"delete" cborgen:"delete"`
2323+ PerformedAt string `json:"performedAt" cborgen:"performedAt"`
2424+ // subject: The subject (task, pull or discussion) of this label. Appviews may apply a `scope` check and refuse this op.
2525+ Subject string `json:"subject" cborgen:"subject"`
2626+}
2727+2828+// LabelOp_Operand is a "operand" in the sh.tangled.label.op schema.
2929+type LabelOp_Operand struct {
3030+ // key: ATURI to the label definition
3131+ Key string `json:"key" cborgen:"key"`
3232+ // value: Stringified value of the label. This is first unstringed by appviews and then interpreted as a concrete value.
3333+ Value string `json:"value" cborgen:"value"`
3434+}