fork of indigo with slightly nicer lexgen

Add starterpack types

Changed files
+543 -1
api
gen
+511 -1
api/bsky/cbor_gen.go
··· 5868 5868 5869 5869 return nil 5870 5870 } 5871 + func (t *GraphStarterpack_FeedItem) MarshalCBOR(w io.Writer) error { 5872 + if t == nil { 5873 + _, err := w.Write(cbg.CborNull) 5874 + return err 5875 + } 5876 + 5877 + cw := cbg.NewCborWriter(w) 5878 + 5879 + if _, err := cw.Write([]byte{161}); err != nil { 5880 + return err 5881 + } 5882 + 5883 + // t.Uri (string) (string) 5884 + if len("uri") > 1000000 { 5885 + return xerrors.Errorf("Value in field \"uri\" was too long") 5886 + } 5887 + 5888 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("uri"))); err != nil { 5889 + return err 5890 + } 5891 + if _, err := cw.WriteString(string("uri")); err != nil { 5892 + return err 5893 + } 5894 + 5895 + if len(t.Uri) > 1000000 { 5896 + return xerrors.Errorf("Value in field t.Uri was too long") 5897 + } 5898 + 5899 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Uri))); err != nil { 5900 + return err 5901 + } 5902 + if _, err := cw.WriteString(string(t.Uri)); err != nil { 5903 + return err 5904 + } 5905 + return nil 5906 + } 5907 + 5908 + func (t *GraphStarterpack_FeedItem) UnmarshalCBOR(r io.Reader) (err error) { 5909 + *t = GraphStarterpack_FeedItem{} 5910 + 5911 + cr := cbg.NewCborReader(r) 5912 + 5913 + maj, extra, err := cr.ReadHeader() 5914 + if err != nil { 5915 + return err 5916 + } 5917 + defer func() { 5918 + if err == io.EOF { 5919 + err = io.ErrUnexpectedEOF 5920 + } 5921 + }() 5922 + 5923 + if maj != cbg.MajMap { 5924 + return fmt.Errorf("cbor input should be of type map") 5925 + } 5926 + 5927 + if extra > cbg.MaxLength { 5928 + return fmt.Errorf("GraphStarterpack_FeedItem: map struct too large (%d)", extra) 5929 + } 5930 + 5931 + var name string 5932 + n := extra 5933 + 5934 + for i := uint64(0); i < n; i++ { 5935 + 5936 + { 5937 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 5938 + if err != nil { 5939 + return err 5940 + } 5941 + 5942 + name = string(sval) 5943 + } 5944 + 5945 + switch name { 5946 + // t.Uri (string) (string) 5947 + case "uri": 5948 + 5949 + { 5950 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 5951 + if err != nil { 5952 + return err 5953 + } 5954 + 5955 + t.Uri = string(sval) 5956 + } 5957 + 5958 + default: 5959 + // Field doesn't exist on this type, so ignore it 5960 + cbg.ScanForLinks(r, func(cid.Cid) {}) 5961 + } 5962 + } 5963 + 5964 + return nil 5965 + } 5966 + func (t *GraphStarterpack) MarshalCBOR(w io.Writer) error { 5967 + if t == nil { 5968 + _, err := w.Write(cbg.CborNull) 5969 + return err 5970 + } 5971 + 5972 + cw := cbg.NewCborWriter(w) 5973 + fieldCount := 7 5974 + 5975 + if t.Description == nil { 5976 + fieldCount-- 5977 + } 5978 + 5979 + if t.DescriptionFacets == nil { 5980 + fieldCount-- 5981 + } 5982 + 5983 + if t.Feeds == nil { 5984 + fieldCount-- 5985 + } 5986 + 5987 + if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil { 5988 + return err 5989 + } 5990 + 5991 + // t.List (string) (string) 5992 + if len("list") > 1000000 { 5993 + return xerrors.Errorf("Value in field \"list\" was too long") 5994 + } 5995 + 5996 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("list"))); err != nil { 5997 + return err 5998 + } 5999 + if _, err := cw.WriteString(string("list")); err != nil { 6000 + return err 6001 + } 6002 + 6003 + if len(t.List) > 1000000 { 6004 + return xerrors.Errorf("Value in field t.List was too long") 6005 + } 6006 + 6007 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.List))); err != nil { 6008 + return err 6009 + } 6010 + if _, err := cw.WriteString(string(t.List)); err != nil { 6011 + return err 6012 + } 6013 + 6014 + // t.Name (string) (string) 6015 + if len("name") > 1000000 { 6016 + return xerrors.Errorf("Value in field \"name\" was too long") 6017 + } 6018 + 6019 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("name"))); err != nil { 6020 + return err 6021 + } 6022 + if _, err := cw.WriteString(string("name")); err != nil { 6023 + return err 6024 + } 6025 + 6026 + if len(t.Name) > 1000000 { 6027 + return xerrors.Errorf("Value in field t.Name was too long") 6028 + } 6029 + 6030 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Name))); err != nil { 6031 + return err 6032 + } 6033 + if _, err := cw.WriteString(string(t.Name)); err != nil { 6034 + return err 6035 + } 6036 + 6037 + // t.LexiconTypeID (string) (string) 6038 + if len("$type") > 1000000 { 6039 + return xerrors.Errorf("Value in field \"$type\" was too long") 6040 + } 6041 + 6042 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil { 6043 + return err 6044 + } 6045 + if _, err := cw.WriteString(string("$type")); err != nil { 6046 + return err 6047 + } 6048 + 6049 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("app.bsky.graph.starterpack"))); err != nil { 6050 + return err 6051 + } 6052 + if _, err := cw.WriteString(string("app.bsky.graph.starterpack")); err != nil { 6053 + return err 6054 + } 6055 + 6056 + // t.Feeds ([]*bsky.GraphStarterpack_FeedItem) (slice) 6057 + if t.Feeds != nil { 6058 + 6059 + if len("feeds") > 1000000 { 6060 + return xerrors.Errorf("Value in field \"feeds\" was too long") 6061 + } 6062 + 6063 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("feeds"))); err != nil { 6064 + return err 6065 + } 6066 + if _, err := cw.WriteString(string("feeds")); err != nil { 6067 + return err 6068 + } 6069 + 6070 + if len(t.Feeds) > 8192 { 6071 + return xerrors.Errorf("Slice value in field t.Feeds was too long") 6072 + } 6073 + 6074 + if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Feeds))); err != nil { 6075 + return err 6076 + } 6077 + for _, v := range t.Feeds { 6078 + if err := v.MarshalCBOR(cw); err != nil { 6079 + return err 6080 + } 6081 + 6082 + } 6083 + } 6084 + 6085 + // t.CreatedAt (string) (string) 6086 + if len("createdAt") > 1000000 { 6087 + return xerrors.Errorf("Value in field \"createdAt\" was too long") 6088 + } 6089 + 6090 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("createdAt"))); err != nil { 6091 + return err 6092 + } 6093 + if _, err := cw.WriteString(string("createdAt")); err != nil { 6094 + return err 6095 + } 6096 + 6097 + if len(t.CreatedAt) > 1000000 { 6098 + return xerrors.Errorf("Value in field t.CreatedAt was too long") 6099 + } 6100 + 6101 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.CreatedAt))); err != nil { 6102 + return err 6103 + } 6104 + if _, err := cw.WriteString(string(t.CreatedAt)); err != nil { 6105 + return err 6106 + } 6107 + 6108 + // t.Description (string) (string) 6109 + if t.Description != nil { 6110 + 6111 + if len("description") > 1000000 { 6112 + return xerrors.Errorf("Value in field \"description\" was too long") 6113 + } 6114 + 6115 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("description"))); err != nil { 6116 + return err 6117 + } 6118 + if _, err := cw.WriteString(string("description")); err != nil { 6119 + return err 6120 + } 6121 + 6122 + if t.Description == nil { 6123 + if _, err := cw.Write(cbg.CborNull); err != nil { 6124 + return err 6125 + } 6126 + } else { 6127 + if len(*t.Description) > 1000000 { 6128 + return xerrors.Errorf("Value in field t.Description was too long") 6129 + } 6130 + 6131 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.Description))); err != nil { 6132 + return err 6133 + } 6134 + if _, err := cw.WriteString(string(*t.Description)); err != nil { 6135 + return err 6136 + } 6137 + } 6138 + } 6139 + 6140 + // t.DescriptionFacets ([]*bsky.RichtextFacet) (slice) 6141 + if t.DescriptionFacets != nil { 6142 + 6143 + if len("descriptionFacets") > 1000000 { 6144 + return xerrors.Errorf("Value in field \"descriptionFacets\" was too long") 6145 + } 6146 + 6147 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("descriptionFacets"))); err != nil { 6148 + return err 6149 + } 6150 + if _, err := cw.WriteString(string("descriptionFacets")); err != nil { 6151 + return err 6152 + } 6153 + 6154 + if len(t.DescriptionFacets) > 8192 { 6155 + return xerrors.Errorf("Slice value in field t.DescriptionFacets was too long") 6156 + } 6157 + 6158 + if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.DescriptionFacets))); err != nil { 6159 + return err 6160 + } 6161 + for _, v := range t.DescriptionFacets { 6162 + if err := v.MarshalCBOR(cw); err != nil { 6163 + return err 6164 + } 6165 + 6166 + } 6167 + } 6168 + return nil 6169 + } 6170 + 6171 + func (t *GraphStarterpack) UnmarshalCBOR(r io.Reader) (err error) { 6172 + *t = GraphStarterpack{} 6173 + 6174 + cr := cbg.NewCborReader(r) 6175 + 6176 + maj, extra, err := cr.ReadHeader() 6177 + if err != nil { 6178 + return err 6179 + } 6180 + defer func() { 6181 + if err == io.EOF { 6182 + err = io.ErrUnexpectedEOF 6183 + } 6184 + }() 6185 + 6186 + if maj != cbg.MajMap { 6187 + return fmt.Errorf("cbor input should be of type map") 6188 + } 6189 + 6190 + if extra > cbg.MaxLength { 6191 + return fmt.Errorf("GraphStarterpack: map struct too large (%d)", extra) 6192 + } 6193 + 6194 + var name string 6195 + n := extra 6196 + 6197 + for i := uint64(0); i < n; i++ { 6198 + 6199 + { 6200 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6201 + if err != nil { 6202 + return err 6203 + } 6204 + 6205 + name = string(sval) 6206 + } 6207 + 6208 + switch name { 6209 + // t.List (string) (string) 6210 + case "list": 6211 + 6212 + { 6213 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6214 + if err != nil { 6215 + return err 6216 + } 6217 + 6218 + t.List = string(sval) 6219 + } 6220 + // t.Name (string) (string) 6221 + case "name": 6222 + 6223 + { 6224 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6225 + if err != nil { 6226 + return err 6227 + } 6228 + 6229 + t.Name = string(sval) 6230 + } 6231 + // t.LexiconTypeID (string) (string) 6232 + case "$type": 6233 + 6234 + { 6235 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6236 + if err != nil { 6237 + return err 6238 + } 6239 + 6240 + t.LexiconTypeID = string(sval) 6241 + } 6242 + // t.Feeds ([]*bsky.GraphStarterpack_FeedItem) (slice) 6243 + case "feeds": 6244 + 6245 + maj, extra, err = cr.ReadHeader() 6246 + if err != nil { 6247 + return err 6248 + } 6249 + 6250 + if extra > 8192 { 6251 + return fmt.Errorf("t.Feeds: array too large (%d)", extra) 6252 + } 6253 + 6254 + if maj != cbg.MajArray { 6255 + return fmt.Errorf("expected cbor array") 6256 + } 6257 + 6258 + if extra > 0 { 6259 + t.Feeds = make([]*GraphStarterpack_FeedItem, extra) 6260 + } 6261 + 6262 + for i := 0; i < int(extra); i++ { 6263 + { 6264 + var maj byte 6265 + var extra uint64 6266 + var err error 6267 + _ = maj 6268 + _ = extra 6269 + _ = err 6270 + 6271 + { 6272 + 6273 + b, err := cr.ReadByte() 6274 + if err != nil { 6275 + return err 6276 + } 6277 + if b != cbg.CborNull[0] { 6278 + if err := cr.UnreadByte(); err != nil { 6279 + return err 6280 + } 6281 + t.Feeds[i] = new(GraphStarterpack_FeedItem) 6282 + if err := t.Feeds[i].UnmarshalCBOR(cr); err != nil { 6283 + return xerrors.Errorf("unmarshaling t.Feeds[i] pointer: %w", err) 6284 + } 6285 + } 6286 + 6287 + } 6288 + 6289 + } 6290 + } 6291 + // t.CreatedAt (string) (string) 6292 + case "createdAt": 6293 + 6294 + { 6295 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6296 + if err != nil { 6297 + return err 6298 + } 6299 + 6300 + t.CreatedAt = string(sval) 6301 + } 6302 + // t.Description (string) (string) 6303 + case "description": 6304 + 6305 + { 6306 + b, err := cr.ReadByte() 6307 + if err != nil { 6308 + return err 6309 + } 6310 + if b != cbg.CborNull[0] { 6311 + if err := cr.UnreadByte(); err != nil { 6312 + return err 6313 + } 6314 + 6315 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6316 + if err != nil { 6317 + return err 6318 + } 6319 + 6320 + t.Description = (*string)(&sval) 6321 + } 6322 + } 6323 + // t.DescriptionFacets ([]*bsky.RichtextFacet) (slice) 6324 + case "descriptionFacets": 6325 + 6326 + maj, extra, err = cr.ReadHeader() 6327 + if err != nil { 6328 + return err 6329 + } 6330 + 6331 + if extra > 8192 { 6332 + return fmt.Errorf("t.DescriptionFacets: array too large (%d)", extra) 6333 + } 6334 + 6335 + if maj != cbg.MajArray { 6336 + return fmt.Errorf("expected cbor array") 6337 + } 6338 + 6339 + if extra > 0 { 6340 + t.DescriptionFacets = make([]*RichtextFacet, extra) 6341 + } 6342 + 6343 + for i := 0; i < int(extra); i++ { 6344 + { 6345 + var maj byte 6346 + var extra uint64 6347 + var err error 6348 + _ = maj 6349 + _ = extra 6350 + _ = err 6351 + 6352 + { 6353 + 6354 + b, err := cr.ReadByte() 6355 + if err != nil { 6356 + return err 6357 + } 6358 + if b != cbg.CborNull[0] { 6359 + if err := cr.UnreadByte(); err != nil { 6360 + return err 6361 + } 6362 + t.DescriptionFacets[i] = new(RichtextFacet) 6363 + if err := t.DescriptionFacets[i].UnmarshalCBOR(cr); err != nil { 6364 + return xerrors.Errorf("unmarshaling t.DescriptionFacets[i] pointer: %w", err) 6365 + } 6366 + } 6367 + 6368 + } 6369 + 6370 + } 6371 + } 6372 + 6373 + default: 6374 + // Field doesn't exist on this type, so ignore it 6375 + cbg.ScanForLinks(r, func(cid.Cid) {}) 6376 + } 6377 + } 6378 + 6379 + return nil 6380 + } 5871 6381 func (t *LabelerService) MarshalCBOR(w io.Writer) error { 5872 6382 if t == nil { 5873 6383 _, err := w.Write(cbg.CborNull) ··· 6233 6743 return err 6234 6744 } 6235 6745 6236 - t.LabelValues[i] = &sval 6746 + t.LabelValues[i] = &(sval) 6237 6747 } 6238 6748 6239 6749 }
+30
api/bsky/graphstarterpack.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package bsky 4 + 5 + // schema: app.bsky.graph.starterpack 6 + 7 + import ( 8 + "github.com/bluesky-social/indigo/lex/util" 9 + ) 10 + 11 + func init() { 12 + util.RegisterType("app.bsky.graph.starterpack", &GraphStarterpack{}) 13 + } // 14 + // RECORDTYPE: GraphStarterpack 15 + type GraphStarterpack struct { 16 + LexiconTypeID string `json:"$type,const=app.bsky.graph.starterpack" cborgen:"$type,const=app.bsky.graph.starterpack"` 17 + CreatedAt string `json:"createdAt" cborgen:"createdAt"` 18 + Description *string `json:"description,omitempty" cborgen:"description,omitempty"` 19 + DescriptionFacets []*RichtextFacet `json:"descriptionFacets,omitempty" cborgen:"descriptionFacets,omitempty"` 20 + Feeds []*GraphStarterpack_FeedItem `json:"feeds,omitempty" cborgen:"feeds,omitempty"` 21 + // list: Reference (AT-URI) to the list record. 22 + List string `json:"list" cborgen:"list"` 23 + // name: Display name for starter pack; can not be empty. 24 + Name string `json:"name" cborgen:"name"` 25 + } 26 + 27 + // GraphStarterpack_FeedItem is a "feedItem" in the app.bsky.graph.starterpack schema. 28 + type GraphStarterpack_FeedItem struct { 29 + Uri string `json:"uri" cborgen:"uri"` 30 + }
+2
gen/main.go
··· 63 63 bsky.FeedThreadgate_ListRule{}, 64 64 bsky.FeedThreadgate_MentionRule{}, 65 65 bsky.FeedThreadgate_FollowingRule{}, 66 + bsky.GraphStarterpack_FeedItem{}, 67 + bsky.GraphStarterpack{}, 66 68 bsky.LabelerService{}, 67 69 bsky.LabelerDefs_LabelerPolicies{}, 68 70 /*bsky.EmbedImages_View{},