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