fork of indigo with slightly nicer lexgen

lexgen+cborgen for atproto branches reply-qp-moderation at 2d661f71e411e9e8de1ad1a15b5cceef08bcce8b divy/video at 92d6c6b1da73c6e7a243ae0f059a220e781fbd36

authored by Brian Olson and committed by Brian Olson ec58866e f1d2fda3

+494 -1
api/bsky/cbor_gen.go
··· 5426 5426 } 5427 5427 5428 5428 cw := cbg.NewCborWriter(w) 5429 - fieldCount := 4 5429 + fieldCount := 5 5430 5430 5431 5431 if t.Allow == nil { 5432 + fieldCount-- 5433 + } 5434 + 5435 + if t.HiddenReplies == nil { 5432 5436 fieldCount-- 5433 5437 } 5434 5438 ··· 5529 5533 if _, err := cw.WriteString(string(t.CreatedAt)); err != nil { 5530 5534 return err 5531 5535 } 5536 + 5537 + // t.HiddenReplies ([]string) (slice) 5538 + if t.HiddenReplies != nil { 5539 + 5540 + if len("hiddenReplies") > 1000000 { 5541 + return xerrors.Errorf("Value in field \"hiddenReplies\" was too long") 5542 + } 5543 + 5544 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("hiddenReplies"))); err != nil { 5545 + return err 5546 + } 5547 + if _, err := cw.WriteString(string("hiddenReplies")); err != nil { 5548 + return err 5549 + } 5550 + 5551 + if len(t.HiddenReplies) > 8192 { 5552 + return xerrors.Errorf("Slice value in field t.HiddenReplies was too long") 5553 + } 5554 + 5555 + if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.HiddenReplies))); err != nil { 5556 + return err 5557 + } 5558 + for _, v := range t.HiddenReplies { 5559 + if len(v) > 1000000 { 5560 + return xerrors.Errorf("Value in field v was too long") 5561 + } 5562 + 5563 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil { 5564 + return err 5565 + } 5566 + if _, err := cw.WriteString(string(v)); err != nil { 5567 + return err 5568 + } 5569 + 5570 + } 5571 + } 5532 5572 return nil 5533 5573 } 5534 5574 ··· 5651 5691 } 5652 5692 5653 5693 t.CreatedAt = string(sval) 5694 + } 5695 + // t.HiddenReplies ([]string) (slice) 5696 + case "hiddenReplies": 5697 + 5698 + maj, extra, err = cr.ReadHeader() 5699 + if err != nil { 5700 + return err 5701 + } 5702 + 5703 + if extra > 8192 { 5704 + return fmt.Errorf("t.HiddenReplies: array too large (%d)", extra) 5705 + } 5706 + 5707 + if maj != cbg.MajArray { 5708 + return fmt.Errorf("expected cbor array") 5709 + } 5710 + 5711 + if extra > 0 { 5712 + t.HiddenReplies = make([]string, extra) 5713 + } 5714 + 5715 + for i := 0; i < int(extra); i++ { 5716 + { 5717 + var maj byte 5718 + var extra uint64 5719 + var err error 5720 + _ = maj 5721 + _ = extra 5722 + _ = err 5723 + 5724 + { 5725 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 5726 + if err != nil { 5727 + return err 5728 + } 5729 + 5730 + t.HiddenReplies[i] = string(sval) 5731 + } 5732 + 5733 + } 5654 5734 } 5655 5735 5656 5736 default: ··· 7357 7437 7358 7438 return nil 7359 7439 } 7440 + func (t *FeedPostgate) MarshalCBOR(w io.Writer) error { 7441 + if t == nil { 7442 + _, err := w.Write(cbg.CborNull) 7443 + return err 7444 + } 7445 + 7446 + cw := cbg.NewCborWriter(w) 7447 + fieldCount := 5 7448 + 7449 + if t.DetachedEmbeddingUris == nil { 7450 + fieldCount-- 7451 + } 7452 + 7453 + if t.EmbeddingRules == nil { 7454 + fieldCount-- 7455 + } 7456 + 7457 + if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil { 7458 + return err 7459 + } 7460 + 7461 + // t.Post (string) (string) 7462 + if len("post") > 1000000 { 7463 + return xerrors.Errorf("Value in field \"post\" was too long") 7464 + } 7465 + 7466 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("post"))); err != nil { 7467 + return err 7468 + } 7469 + if _, err := cw.WriteString(string("post")); err != nil { 7470 + return err 7471 + } 7472 + 7473 + if len(t.Post) > 1000000 { 7474 + return xerrors.Errorf("Value in field t.Post was too long") 7475 + } 7476 + 7477 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Post))); err != nil { 7478 + return err 7479 + } 7480 + if _, err := cw.WriteString(string(t.Post)); err != nil { 7481 + return err 7482 + } 7483 + 7484 + // t.LexiconTypeID (string) (string) 7485 + if len("$type") > 1000000 { 7486 + return xerrors.Errorf("Value in field \"$type\" was too long") 7487 + } 7488 + 7489 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil { 7490 + return err 7491 + } 7492 + if _, err := cw.WriteString(string("$type")); err != nil { 7493 + return err 7494 + } 7495 + 7496 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("app.bsky.feed.postgate"))); err != nil { 7497 + return err 7498 + } 7499 + if _, err := cw.WriteString(string("app.bsky.feed.postgate")); err != nil { 7500 + return err 7501 + } 7502 + 7503 + // t.CreatedAt (string) (string) 7504 + if len("createdAt") > 1000000 { 7505 + return xerrors.Errorf("Value in field \"createdAt\" was too long") 7506 + } 7507 + 7508 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("createdAt"))); err != nil { 7509 + return err 7510 + } 7511 + if _, err := cw.WriteString(string("createdAt")); err != nil { 7512 + return err 7513 + } 7514 + 7515 + if len(t.CreatedAt) > 1000000 { 7516 + return xerrors.Errorf("Value in field t.CreatedAt was too long") 7517 + } 7518 + 7519 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.CreatedAt))); err != nil { 7520 + return err 7521 + } 7522 + if _, err := cw.WriteString(string(t.CreatedAt)); err != nil { 7523 + return err 7524 + } 7525 + 7526 + // t.EmbeddingRules ([]*bsky.FeedPostgate_EmbeddingRules_Elem) (slice) 7527 + if t.EmbeddingRules != nil { 7528 + 7529 + if len("embeddingRules") > 1000000 { 7530 + return xerrors.Errorf("Value in field \"embeddingRules\" was too long") 7531 + } 7532 + 7533 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("embeddingRules"))); err != nil { 7534 + return err 7535 + } 7536 + if _, err := cw.WriteString(string("embeddingRules")); err != nil { 7537 + return err 7538 + } 7539 + 7540 + if len(t.EmbeddingRules) > 8192 { 7541 + return xerrors.Errorf("Slice value in field t.EmbeddingRules was too long") 7542 + } 7543 + 7544 + if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.EmbeddingRules))); err != nil { 7545 + return err 7546 + } 7547 + for _, v := range t.EmbeddingRules { 7548 + if err := v.MarshalCBOR(cw); err != nil { 7549 + return err 7550 + } 7551 + 7552 + } 7553 + } 7554 + 7555 + // t.DetachedEmbeddingUris ([]string) (slice) 7556 + if t.DetachedEmbeddingUris != nil { 7557 + 7558 + if len("detachedEmbeddingUris") > 1000000 { 7559 + return xerrors.Errorf("Value in field \"detachedEmbeddingUris\" was too long") 7560 + } 7561 + 7562 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("detachedEmbeddingUris"))); err != nil { 7563 + return err 7564 + } 7565 + if _, err := cw.WriteString(string("detachedEmbeddingUris")); err != nil { 7566 + return err 7567 + } 7568 + 7569 + if len(t.DetachedEmbeddingUris) > 8192 { 7570 + return xerrors.Errorf("Slice value in field t.DetachedEmbeddingUris was too long") 7571 + } 7572 + 7573 + if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.DetachedEmbeddingUris))); err != nil { 7574 + return err 7575 + } 7576 + for _, v := range t.DetachedEmbeddingUris { 7577 + if len(v) > 1000000 { 7578 + return xerrors.Errorf("Value in field v was too long") 7579 + } 7580 + 7581 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil { 7582 + return err 7583 + } 7584 + if _, err := cw.WriteString(string(v)); err != nil { 7585 + return err 7586 + } 7587 + 7588 + } 7589 + } 7590 + return nil 7591 + } 7592 + 7593 + func (t *FeedPostgate) UnmarshalCBOR(r io.Reader) (err error) { 7594 + *t = FeedPostgate{} 7595 + 7596 + cr := cbg.NewCborReader(r) 7597 + 7598 + maj, extra, err := cr.ReadHeader() 7599 + if err != nil { 7600 + return err 7601 + } 7602 + defer func() { 7603 + if err == io.EOF { 7604 + err = io.ErrUnexpectedEOF 7605 + } 7606 + }() 7607 + 7608 + if maj != cbg.MajMap { 7609 + return fmt.Errorf("cbor input should be of type map") 7610 + } 7611 + 7612 + if extra > cbg.MaxLength { 7613 + return fmt.Errorf("FeedPostgate: map struct too large (%d)", extra) 7614 + } 7615 + 7616 + var name string 7617 + n := extra 7618 + 7619 + for i := uint64(0); i < n; i++ { 7620 + 7621 + { 7622 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 7623 + if err != nil { 7624 + return err 7625 + } 7626 + 7627 + name = string(sval) 7628 + } 7629 + 7630 + switch name { 7631 + // t.Post (string) (string) 7632 + case "post": 7633 + 7634 + { 7635 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 7636 + if err != nil { 7637 + return err 7638 + } 7639 + 7640 + t.Post = string(sval) 7641 + } 7642 + // t.LexiconTypeID (string) (string) 7643 + case "$type": 7644 + 7645 + { 7646 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 7647 + if err != nil { 7648 + return err 7649 + } 7650 + 7651 + t.LexiconTypeID = string(sval) 7652 + } 7653 + // t.CreatedAt (string) (string) 7654 + case "createdAt": 7655 + 7656 + { 7657 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 7658 + if err != nil { 7659 + return err 7660 + } 7661 + 7662 + t.CreatedAt = string(sval) 7663 + } 7664 + // t.EmbeddingRules ([]*bsky.FeedPostgate_EmbeddingRules_Elem) (slice) 7665 + case "embeddingRules": 7666 + 7667 + maj, extra, err = cr.ReadHeader() 7668 + if err != nil { 7669 + return err 7670 + } 7671 + 7672 + if extra > 8192 { 7673 + return fmt.Errorf("t.EmbeddingRules: array too large (%d)", extra) 7674 + } 7675 + 7676 + if maj != cbg.MajArray { 7677 + return fmt.Errorf("expected cbor array") 7678 + } 7679 + 7680 + if extra > 0 { 7681 + t.EmbeddingRules = make([]*FeedPostgate_EmbeddingRules_Elem, extra) 7682 + } 7683 + 7684 + for i := 0; i < int(extra); i++ { 7685 + { 7686 + var maj byte 7687 + var extra uint64 7688 + var err error 7689 + _ = maj 7690 + _ = extra 7691 + _ = err 7692 + 7693 + { 7694 + 7695 + b, err := cr.ReadByte() 7696 + if err != nil { 7697 + return err 7698 + } 7699 + if b != cbg.CborNull[0] { 7700 + if err := cr.UnreadByte(); err != nil { 7701 + return err 7702 + } 7703 + t.EmbeddingRules[i] = new(FeedPostgate_EmbeddingRules_Elem) 7704 + if err := t.EmbeddingRules[i].UnmarshalCBOR(cr); err != nil { 7705 + return xerrors.Errorf("unmarshaling t.EmbeddingRules[i] pointer: %w", err) 7706 + } 7707 + } 7708 + 7709 + } 7710 + 7711 + } 7712 + } 7713 + // t.DetachedEmbeddingUris ([]string) (slice) 7714 + case "detachedEmbeddingUris": 7715 + 7716 + maj, extra, err = cr.ReadHeader() 7717 + if err != nil { 7718 + return err 7719 + } 7720 + 7721 + if extra > 8192 { 7722 + return fmt.Errorf("t.DetachedEmbeddingUris: array too large (%d)", extra) 7723 + } 7724 + 7725 + if maj != cbg.MajArray { 7726 + return fmt.Errorf("expected cbor array") 7727 + } 7728 + 7729 + if extra > 0 { 7730 + t.DetachedEmbeddingUris = make([]string, extra) 7731 + } 7732 + 7733 + for i := 0; i < int(extra); i++ { 7734 + { 7735 + var maj byte 7736 + var extra uint64 7737 + var err error 7738 + _ = maj 7739 + _ = extra 7740 + _ = err 7741 + 7742 + { 7743 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 7744 + if err != nil { 7745 + return err 7746 + } 7747 + 7748 + t.DetachedEmbeddingUris[i] = string(sval) 7749 + } 7750 + 7751 + } 7752 + } 7753 + 7754 + default: 7755 + // Field doesn't exist on this type, so ignore it 7756 + cbg.ScanForLinks(r, func(cid.Cid) {}) 7757 + } 7758 + } 7759 + 7760 + return nil 7761 + } 7762 + func (t *FeedPostgate_DisableRule) MarshalCBOR(w io.Writer) error { 7763 + if t == nil { 7764 + _, err := w.Write(cbg.CborNull) 7765 + return err 7766 + } 7767 + 7768 + cw := cbg.NewCborWriter(w) 7769 + 7770 + if _, err := cw.Write([]byte{161}); err != nil { 7771 + return err 7772 + } 7773 + 7774 + // t.LexiconTypeID (string) (string) 7775 + if len("$type") > 1000000 { 7776 + return xerrors.Errorf("Value in field \"$type\" was too long") 7777 + } 7778 + 7779 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil { 7780 + return err 7781 + } 7782 + if _, err := cw.WriteString(string("$type")); err != nil { 7783 + return err 7784 + } 7785 + 7786 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("app.bsky.feed.postgate#disableRule"))); err != nil { 7787 + return err 7788 + } 7789 + if _, err := cw.WriteString(string("app.bsky.feed.postgate#disableRule")); err != nil { 7790 + return err 7791 + } 7792 + return nil 7793 + } 7794 + 7795 + func (t *FeedPostgate_DisableRule) UnmarshalCBOR(r io.Reader) (err error) { 7796 + *t = FeedPostgate_DisableRule{} 7797 + 7798 + cr := cbg.NewCborReader(r) 7799 + 7800 + maj, extra, err := cr.ReadHeader() 7801 + if err != nil { 7802 + return err 7803 + } 7804 + defer func() { 7805 + if err == io.EOF { 7806 + err = io.ErrUnexpectedEOF 7807 + } 7808 + }() 7809 + 7810 + if maj != cbg.MajMap { 7811 + return fmt.Errorf("cbor input should be of type map") 7812 + } 7813 + 7814 + if extra > cbg.MaxLength { 7815 + return fmt.Errorf("FeedPostgate_DisableRule: map struct too large (%d)", extra) 7816 + } 7817 + 7818 + var name string 7819 + n := extra 7820 + 7821 + for i := uint64(0); i < n; i++ { 7822 + 7823 + { 7824 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 7825 + if err != nil { 7826 + return err 7827 + } 7828 + 7829 + name = string(sval) 7830 + } 7831 + 7832 + switch name { 7833 + // t.LexiconTypeID (string) (string) 7834 + case "$type": 7835 + 7836 + { 7837 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 7838 + if err != nil { 7839 + return err 7840 + } 7841 + 7842 + t.LexiconTypeID = string(sval) 7843 + } 7844 + 7845 + default: 7846 + // Field doesn't exist on this type, so ignore it 7847 + cbg.ScanForLinks(r, func(cid.Cid) {}) 7848 + } 7849 + } 7850 + 7851 + return nil 7852 + }
+17
api/bsky/embedrecord.go
··· 39 39 Uri string `json:"uri" cborgen:"uri"` 40 40 } 41 41 42 + // EmbedRecord_ViewDetached is a "viewDetached" in the app.bsky.embed.record schema. 43 + // 44 + // RECORDTYPE: EmbedRecord_ViewDetached 45 + type EmbedRecord_ViewDetached struct { 46 + LexiconTypeID string `json:"$type,const=app.bsky.embed.record#viewDetached" cborgen:"$type,const=app.bsky.embed.record#viewDetached"` 47 + Detached bool `json:"detached" cborgen:"detached"` 48 + Uri string `json:"uri" cborgen:"uri"` 49 + } 50 + 42 51 // EmbedRecord_ViewNotFound is a "viewNotFound" in the app.bsky.embed.record schema. 43 52 // 44 53 // RECORDTYPE: EmbedRecord_ViewNotFound ··· 129 138 EmbedRecord_ViewRecord *EmbedRecord_ViewRecord 130 139 EmbedRecord_ViewNotFound *EmbedRecord_ViewNotFound 131 140 EmbedRecord_ViewBlocked *EmbedRecord_ViewBlocked 141 + EmbedRecord_ViewDetached *EmbedRecord_ViewDetached 132 142 FeedDefs_GeneratorView *FeedDefs_GeneratorView 133 143 GraphDefs_ListView *GraphDefs_ListView 134 144 LabelerDefs_LabelerView *LabelerDefs_LabelerView ··· 147 157 if t.EmbedRecord_ViewBlocked != nil { 148 158 t.EmbedRecord_ViewBlocked.LexiconTypeID = "app.bsky.embed.record#viewBlocked" 149 159 return json.Marshal(t.EmbedRecord_ViewBlocked) 160 + } 161 + if t.EmbedRecord_ViewDetached != nil { 162 + t.EmbedRecord_ViewDetached.LexiconTypeID = "app.bsky.embed.record#viewDetached" 163 + return json.Marshal(t.EmbedRecord_ViewDetached) 150 164 } 151 165 if t.FeedDefs_GeneratorView != nil { 152 166 t.FeedDefs_GeneratorView.LexiconTypeID = "app.bsky.feed.defs#generatorView" ··· 182 196 case "app.bsky.embed.record#viewBlocked": 183 197 t.EmbedRecord_ViewBlocked = new(EmbedRecord_ViewBlocked) 184 198 return json.Unmarshal(b, t.EmbedRecord_ViewBlocked) 199 + case "app.bsky.embed.record#viewDetached": 200 + t.EmbedRecord_ViewDetached = new(EmbedRecord_ViewDetached) 201 + return json.Unmarshal(b, t.EmbedRecord_ViewDetached) 185 202 case "app.bsky.feed.defs#generatorView": 186 203 t.FeedDefs_GeneratorView = new(FeedDefs_GeneratorView) 187 204 return json.Unmarshal(b, t.FeedDefs_GeneratorView)
+5 -4
api/bsky/feeddefs.go
··· 438 438 // 439 439 // Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests. 440 440 type FeedDefs_ViewerState struct { 441 - Like *string `json:"like,omitempty" cborgen:"like,omitempty"` 442 - ReplyDisabled *bool `json:"replyDisabled,omitempty" cborgen:"replyDisabled,omitempty"` 443 - Repost *string `json:"repost,omitempty" cborgen:"repost,omitempty"` 444 - ThreadMuted *bool `json:"threadMuted,omitempty" cborgen:"threadMuted,omitempty"` 441 + EmbeddingDisabled *bool `json:"embeddingDisabled,omitempty" cborgen:"embeddingDisabled,omitempty"` 442 + Like *string `json:"like,omitempty" cborgen:"like,omitempty"` 443 + ReplyDisabled *bool `json:"replyDisabled,omitempty" cborgen:"replyDisabled,omitempty"` 444 + Repost *string `json:"repost,omitempty" cborgen:"repost,omitempty"` 445 + ThreadMuted *bool `json:"threadMuted,omitempty" cborgen:"threadMuted,omitempty"` 445 446 }
+92
api/bsky/feedpostgate.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package bsky 4 + 5 + // schema: app.bsky.feed.postgate 6 + 7 + import ( 8 + "bytes" 9 + "encoding/json" 10 + "fmt" 11 + "io" 12 + 13 + "github.com/bluesky-social/indigo/lex/util" 14 + cbg "github.com/whyrusleeping/cbor-gen" 15 + ) 16 + 17 + func init() { 18 + util.RegisterType("app.bsky.feed.postgate", &FeedPostgate{}) 19 + } // 20 + // RECORDTYPE: FeedPostgate 21 + type FeedPostgate struct { 22 + LexiconTypeID string `json:"$type,const=app.bsky.feed.postgate" cborgen:"$type,const=app.bsky.feed.postgate"` 23 + CreatedAt string `json:"createdAt" cborgen:"createdAt"` 24 + // detachedEmbeddingUris: List of AT-URIs embedding this post that the author has detached from. 25 + DetachedEmbeddingUris []string `json:"detachedEmbeddingUris,omitempty" cborgen:"detachedEmbeddingUris,omitempty"` 26 + EmbeddingRules []*FeedPostgate_EmbeddingRules_Elem `json:"embeddingRules,omitempty" cborgen:"embeddingRules,omitempty"` 27 + // post: Reference (AT-URI) to the post record. 28 + Post string `json:"post" cborgen:"post"` 29 + } 30 + 31 + // FeedPostgate_DisableRule is a "disableRule" in the app.bsky.feed.postgate schema. 32 + // 33 + // Disables embedding of this post. 34 + // 35 + // RECORDTYPE: FeedPostgate_DisableRule 36 + type FeedPostgate_DisableRule struct { 37 + LexiconTypeID string `json:"$type,const=app.bsky.feed.postgate#disableRule" cborgen:"$type,const=app.bsky.feed.postgate#disableRule"` 38 + } 39 + 40 + type FeedPostgate_EmbeddingRules_Elem struct { 41 + FeedPostgate_DisableRule *FeedPostgate_DisableRule 42 + } 43 + 44 + func (t *FeedPostgate_EmbeddingRules_Elem) MarshalJSON() ([]byte, error) { 45 + if t.FeedPostgate_DisableRule != nil { 46 + t.FeedPostgate_DisableRule.LexiconTypeID = "app.bsky.feed.postgate#disableRule" 47 + return json.Marshal(t.FeedPostgate_DisableRule) 48 + } 49 + return nil, fmt.Errorf("cannot marshal empty enum") 50 + } 51 + func (t *FeedPostgate_EmbeddingRules_Elem) UnmarshalJSON(b []byte) error { 52 + typ, err := util.TypeExtract(b) 53 + if err != nil { 54 + return err 55 + } 56 + 57 + switch typ { 58 + case "app.bsky.feed.postgate#disableRule": 59 + t.FeedPostgate_DisableRule = new(FeedPostgate_DisableRule) 60 + return json.Unmarshal(b, t.FeedPostgate_DisableRule) 61 + 62 + default: 63 + return nil 64 + } 65 + } 66 + 67 + func (t *FeedPostgate_EmbeddingRules_Elem) MarshalCBOR(w io.Writer) error { 68 + 69 + if t == nil { 70 + _, err := w.Write(cbg.CborNull) 71 + return err 72 + } 73 + if t.FeedPostgate_DisableRule != nil { 74 + return t.FeedPostgate_DisableRule.MarshalCBOR(w) 75 + } 76 + return fmt.Errorf("cannot cbor marshal empty enum") 77 + } 78 + func (t *FeedPostgate_EmbeddingRules_Elem) UnmarshalCBOR(r io.Reader) error { 79 + typ, b, err := util.CborTypeExtractReader(r) 80 + if err != nil { 81 + return err 82 + } 83 + 84 + switch typ { 85 + case "app.bsky.feed.postgate#disableRule": 86 + t.FeedPostgate_DisableRule = new(FeedPostgate_DisableRule) 87 + return t.FeedPostgate_DisableRule.UnmarshalCBOR(bytes.NewReader(b)) 88 + 89 + default: 90 + return nil 91 + } 92 + }
+2
api/bsky/feedthreadgate.go
··· 22 22 LexiconTypeID string `json:"$type,const=app.bsky.feed.threadgate" cborgen:"$type,const=app.bsky.feed.threadgate"` 23 23 Allow []*FeedThreadgate_Allow_Elem `json:"allow,omitempty" cborgen:"allow,omitempty"` 24 24 CreatedAt string `json:"createdAt" cborgen:"createdAt"` 25 + // hiddenReplies: List of hidden reply URIs. 26 + HiddenReplies []string `json:"hiddenReplies,omitempty" cborgen:"hiddenReplies,omitempty"` 25 27 // post: Reference (AT-URI) to the post record. 26 28 Post string `json:"post" cborgen:"post"` 27 29 }
+2
gen/main.go
··· 68 68 bsky.LabelerService{}, 69 69 bsky.LabelerDefs_LabelerPolicies{}, 70 70 bsky.EmbedVideo{}, bsky.EmbedVideo_Caption{}, 71 + bsky.FeedPostgate{}, 72 + bsky.FeedPostgate_DisableRule{}, 71 73 /*bsky.EmbedImages_View{}, 72 74 bsky.EmbedRecord_View{}, bsky.EmbedRecordWithMedia_View{}, 73 75 bsky.EmbedExternal_View{}, bsky.EmbedImages_ViewImage{},