+18
-4
Makefile
+18
-4
Makefile
···
1
-
.PHONY: lexgen-types
2
-
lexgen-types:
1
+
.PHONY: go-lexicons
2
+
go-lexicons:
3
3
rm -rf ../atproto \
4
4
&& rm -rf ./api/cbor/cbor_gen.go \
5
5
&& git clone git@github.com:bluesky-social/atproto ../atproto \
6
-
&& go run github.com/bluesky-social/indigo/cmd/lexgen \
6
+
&& rm -rf ./api/teal \
7
+
&& mkdir -p ./api/teal \
8
+
&& $(MAKE) lexgen \
9
+
&& sed -i .bak 's/\tutil/\/\/\tutil/' $$(find ./api/teal -type f) \
10
+
&& go run golang.org/x/tools/cmd/goimports@latest -w $$(find ./api/teal -type f) \
11
+
&& go run ./util/gencbor/gencbor.go \
12
+
&& $(MAKE) lexgen \
13
+
&& find . | grep bak$$ | xargs rm
14
+
15
+
.PHONY: lexgen
16
+
lexgen:
17
+
$(MAKE) lexgen-types
18
+
19
+
.PHONY: lexgen-types
20
+
lexgen-types:
21
+
go run github.com/bluesky-social/indigo/cmd/lexgen \
7
22
--build-file ./lexcfg.json \
8
23
../atproto/lexicons \
9
24
./lexicons/teal \
10
-
&& go run ./util/gencbor/gencbor.go
+889
api/teal/cbor_gen.go
+889
api/teal/cbor_gen.go
···
1
+
// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
2
+
3
+
package teal
4
+
5
+
import (
6
+
"fmt"
7
+
"io"
8
+
"math"
9
+
"sort"
10
+
11
+
cid "github.com/ipfs/go-cid"
12
+
cbg "github.com/whyrusleeping/cbor-gen"
13
+
xerrors "golang.org/x/xerrors"
14
+
)
15
+
16
+
var _ = xerrors.Errorf
17
+
var _ = cid.Undef
18
+
var _ = math.E
19
+
var _ = sort.Sort
20
+
21
+
func (t *AlphaFeedPlay) MarshalCBOR(w io.Writer) error {
22
+
if t == nil {
23
+
_, err := w.Write(cbg.CborNull)
24
+
return err
25
+
}
26
+
27
+
cw := cbg.NewCborWriter(w)
28
+
fieldCount := 14
29
+
30
+
if t.ArtistMbIds == nil {
31
+
fieldCount--
32
+
}
33
+
34
+
if t.Duration == nil {
35
+
fieldCount--
36
+
}
37
+
38
+
if t.Isrc == nil {
39
+
fieldCount--
40
+
}
41
+
42
+
if t.MusicServiceBaseDomain == nil {
43
+
fieldCount--
44
+
}
45
+
46
+
if t.OriginUrl == nil {
47
+
fieldCount--
48
+
}
49
+
50
+
if t.PlayedTime == nil {
51
+
fieldCount--
52
+
}
53
+
54
+
if t.RecordingMbId == nil {
55
+
fieldCount--
56
+
}
57
+
58
+
if t.ReleaseMbId == nil {
59
+
fieldCount--
60
+
}
61
+
62
+
if t.ReleaseName == nil {
63
+
fieldCount--
64
+
}
65
+
66
+
if t.SubmissionClientAgent == nil {
67
+
fieldCount--
68
+
}
69
+
70
+
if t.TrackMbId == nil {
71
+
fieldCount--
72
+
}
73
+
74
+
if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil {
75
+
return err
76
+
}
77
+
78
+
// t.Isrc (string) (string)
79
+
if t.Isrc != nil {
80
+
81
+
if len("isrc") > 1000000 {
82
+
return xerrors.Errorf("Value in field \"isrc\" was too long")
83
+
}
84
+
85
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("isrc"))); err != nil {
86
+
return err
87
+
}
88
+
if _, err := cw.WriteString(string("isrc")); err != nil {
89
+
return err
90
+
}
91
+
92
+
if t.Isrc == nil {
93
+
if _, err := cw.Write(cbg.CborNull); err != nil {
94
+
return err
95
+
}
96
+
} else {
97
+
if len(*t.Isrc) > 1000000 {
98
+
return xerrors.Errorf("Value in field t.Isrc was too long")
99
+
}
100
+
101
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.Isrc))); err != nil {
102
+
return err
103
+
}
104
+
if _, err := cw.WriteString(string(*t.Isrc)); err != nil {
105
+
return err
106
+
}
107
+
}
108
+
}
109
+
110
+
// t.LexiconTypeID (string) (string)
111
+
if len("$type") > 1000000 {
112
+
return xerrors.Errorf("Value in field \"$type\" was too long")
113
+
}
114
+
115
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
116
+
return err
117
+
}
118
+
if _, err := cw.WriteString(string("$type")); err != nil {
119
+
return err
120
+
}
121
+
122
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("fm.teal.alpha.feed.play"))); err != nil {
123
+
return err
124
+
}
125
+
if _, err := cw.WriteString(string("fm.teal.alpha.feed.play")); err != nil {
126
+
return err
127
+
}
128
+
129
+
// t.Duration (int64) (int64)
130
+
if t.Duration != nil {
131
+
132
+
if len("duration") > 1000000 {
133
+
return xerrors.Errorf("Value in field \"duration\" was too long")
134
+
}
135
+
136
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("duration"))); err != nil {
137
+
return err
138
+
}
139
+
if _, err := cw.WriteString(string("duration")); err != nil {
140
+
return err
141
+
}
142
+
143
+
if t.Duration == nil {
144
+
if _, err := cw.Write(cbg.CborNull); err != nil {
145
+
return err
146
+
}
147
+
} else {
148
+
if *t.Duration >= 0 {
149
+
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(*t.Duration)); err != nil {
150
+
return err
151
+
}
152
+
} else {
153
+
if err := cw.WriteMajorTypeHeader(cbg.MajNegativeInt, uint64(-*t.Duration-1)); err != nil {
154
+
return err
155
+
}
156
+
}
157
+
}
158
+
159
+
}
160
+
161
+
// t.OriginUrl (string) (string)
162
+
if t.OriginUrl != nil {
163
+
164
+
if len("originUrl") > 1000000 {
165
+
return xerrors.Errorf("Value in field \"originUrl\" was too long")
166
+
}
167
+
168
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("originUrl"))); err != nil {
169
+
return err
170
+
}
171
+
if _, err := cw.WriteString(string("originUrl")); err != nil {
172
+
return err
173
+
}
174
+
175
+
if t.OriginUrl == nil {
176
+
if _, err := cw.Write(cbg.CborNull); err != nil {
177
+
return err
178
+
}
179
+
} else {
180
+
if len(*t.OriginUrl) > 1000000 {
181
+
return xerrors.Errorf("Value in field t.OriginUrl was too long")
182
+
}
183
+
184
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.OriginUrl))); err != nil {
185
+
return err
186
+
}
187
+
if _, err := cw.WriteString(string(*t.OriginUrl)); err != nil {
188
+
return err
189
+
}
190
+
}
191
+
}
192
+
193
+
// t.TrackMbId (string) (string)
194
+
if t.TrackMbId != nil {
195
+
196
+
if len("trackMbId") > 1000000 {
197
+
return xerrors.Errorf("Value in field \"trackMbId\" was too long")
198
+
}
199
+
200
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("trackMbId"))); err != nil {
201
+
return err
202
+
}
203
+
if _, err := cw.WriteString(string("trackMbId")); err != nil {
204
+
return err
205
+
}
206
+
207
+
if t.TrackMbId == nil {
208
+
if _, err := cw.Write(cbg.CborNull); err != nil {
209
+
return err
210
+
}
211
+
} else {
212
+
if len(*t.TrackMbId) > 1000000 {
213
+
return xerrors.Errorf("Value in field t.TrackMbId was too long")
214
+
}
215
+
216
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.TrackMbId))); err != nil {
217
+
return err
218
+
}
219
+
if _, err := cw.WriteString(string(*t.TrackMbId)); err != nil {
220
+
return err
221
+
}
222
+
}
223
+
}
224
+
225
+
// t.TrackName (string) (string)
226
+
if len("trackName") > 1000000 {
227
+
return xerrors.Errorf("Value in field \"trackName\" was too long")
228
+
}
229
+
230
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("trackName"))); err != nil {
231
+
return err
232
+
}
233
+
if _, err := cw.WriteString(string("trackName")); err != nil {
234
+
return err
235
+
}
236
+
237
+
if len(t.TrackName) > 1000000 {
238
+
return xerrors.Errorf("Value in field t.TrackName was too long")
239
+
}
240
+
241
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.TrackName))); err != nil {
242
+
return err
243
+
}
244
+
if _, err := cw.WriteString(string(t.TrackName)); err != nil {
245
+
return err
246
+
}
247
+
248
+
// t.PlayedTime (string) (string)
249
+
if t.PlayedTime != nil {
250
+
251
+
if len("playedTime") > 1000000 {
252
+
return xerrors.Errorf("Value in field \"playedTime\" was too long")
253
+
}
254
+
255
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("playedTime"))); err != nil {
256
+
return err
257
+
}
258
+
if _, err := cw.WriteString(string("playedTime")); err != nil {
259
+
return err
260
+
}
261
+
262
+
if t.PlayedTime == nil {
263
+
if _, err := cw.Write(cbg.CborNull); err != nil {
264
+
return err
265
+
}
266
+
} else {
267
+
if len(*t.PlayedTime) > 1000000 {
268
+
return xerrors.Errorf("Value in field t.PlayedTime was too long")
269
+
}
270
+
271
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.PlayedTime))); err != nil {
272
+
return err
273
+
}
274
+
if _, err := cw.WriteString(string(*t.PlayedTime)); err != nil {
275
+
return err
276
+
}
277
+
}
278
+
}
279
+
280
+
// t.ArtistMbIds ([]string) (slice)
281
+
if t.ArtistMbIds != nil {
282
+
283
+
if len("artistMbIds") > 1000000 {
284
+
return xerrors.Errorf("Value in field \"artistMbIds\" was too long")
285
+
}
286
+
287
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("artistMbIds"))); err != nil {
288
+
return err
289
+
}
290
+
if _, err := cw.WriteString(string("artistMbIds")); err != nil {
291
+
return err
292
+
}
293
+
294
+
if len(t.ArtistMbIds) > 8192 {
295
+
return xerrors.Errorf("Slice value in field t.ArtistMbIds was too long")
296
+
}
297
+
298
+
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.ArtistMbIds))); err != nil {
299
+
return err
300
+
}
301
+
for _, v := range t.ArtistMbIds {
302
+
if len(v) > 1000000 {
303
+
return xerrors.Errorf("Value in field v was too long")
304
+
}
305
+
306
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
307
+
return err
308
+
}
309
+
if _, err := cw.WriteString(string(v)); err != nil {
310
+
return err
311
+
}
312
+
313
+
}
314
+
}
315
+
316
+
// t.ArtistNames ([]string) (slice)
317
+
if len("artistNames") > 1000000 {
318
+
return xerrors.Errorf("Value in field \"artistNames\" was too long")
319
+
}
320
+
321
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("artistNames"))); err != nil {
322
+
return err
323
+
}
324
+
if _, err := cw.WriteString(string("artistNames")); err != nil {
325
+
return err
326
+
}
327
+
328
+
if len(t.ArtistNames) > 8192 {
329
+
return xerrors.Errorf("Slice value in field t.ArtistNames was too long")
330
+
}
331
+
332
+
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.ArtistNames))); err != nil {
333
+
return err
334
+
}
335
+
for _, v := range t.ArtistNames {
336
+
if len(v) > 1000000 {
337
+
return xerrors.Errorf("Value in field v was too long")
338
+
}
339
+
340
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
341
+
return err
342
+
}
343
+
if _, err := cw.WriteString(string(v)); err != nil {
344
+
return err
345
+
}
346
+
347
+
}
348
+
349
+
// t.ReleaseMbId (string) (string)
350
+
if t.ReleaseMbId != nil {
351
+
352
+
if len("releaseMbId") > 1000000 {
353
+
return xerrors.Errorf("Value in field \"releaseMbId\" was too long")
354
+
}
355
+
356
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("releaseMbId"))); err != nil {
357
+
return err
358
+
}
359
+
if _, err := cw.WriteString(string("releaseMbId")); err != nil {
360
+
return err
361
+
}
362
+
363
+
if t.ReleaseMbId == nil {
364
+
if _, err := cw.Write(cbg.CborNull); err != nil {
365
+
return err
366
+
}
367
+
} else {
368
+
if len(*t.ReleaseMbId) > 1000000 {
369
+
return xerrors.Errorf("Value in field t.ReleaseMbId was too long")
370
+
}
371
+
372
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.ReleaseMbId))); err != nil {
373
+
return err
374
+
}
375
+
if _, err := cw.WriteString(string(*t.ReleaseMbId)); err != nil {
376
+
return err
377
+
}
378
+
}
379
+
}
380
+
381
+
// t.ReleaseName (string) (string)
382
+
if t.ReleaseName != nil {
383
+
384
+
if len("releaseName") > 1000000 {
385
+
return xerrors.Errorf("Value in field \"releaseName\" was too long")
386
+
}
387
+
388
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("releaseName"))); err != nil {
389
+
return err
390
+
}
391
+
if _, err := cw.WriteString(string("releaseName")); err != nil {
392
+
return err
393
+
}
394
+
395
+
if t.ReleaseName == nil {
396
+
if _, err := cw.Write(cbg.CborNull); err != nil {
397
+
return err
398
+
}
399
+
} else {
400
+
if len(*t.ReleaseName) > 1000000 {
401
+
return xerrors.Errorf("Value in field t.ReleaseName was too long")
402
+
}
403
+
404
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.ReleaseName))); err != nil {
405
+
return err
406
+
}
407
+
if _, err := cw.WriteString(string(*t.ReleaseName)); err != nil {
408
+
return err
409
+
}
410
+
}
411
+
}
412
+
413
+
// t.RecordingMbId (string) (string)
414
+
if t.RecordingMbId != nil {
415
+
416
+
if len("recordingMbId") > 1000000 {
417
+
return xerrors.Errorf("Value in field \"recordingMbId\" was too long")
418
+
}
419
+
420
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("recordingMbId"))); err != nil {
421
+
return err
422
+
}
423
+
if _, err := cw.WriteString(string("recordingMbId")); err != nil {
424
+
return err
425
+
}
426
+
427
+
if t.RecordingMbId == nil {
428
+
if _, err := cw.Write(cbg.CborNull); err != nil {
429
+
return err
430
+
}
431
+
} else {
432
+
if len(*t.RecordingMbId) > 1000000 {
433
+
return xerrors.Errorf("Value in field t.RecordingMbId was too long")
434
+
}
435
+
436
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.RecordingMbId))); err != nil {
437
+
return err
438
+
}
439
+
if _, err := cw.WriteString(string(*t.RecordingMbId)); err != nil {
440
+
return err
441
+
}
442
+
}
443
+
}
444
+
445
+
// t.SubmissionClientAgent (string) (string)
446
+
if t.SubmissionClientAgent != nil {
447
+
448
+
if len("submissionClientAgent") > 1000000 {
449
+
return xerrors.Errorf("Value in field \"submissionClientAgent\" was too long")
450
+
}
451
+
452
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("submissionClientAgent"))); err != nil {
453
+
return err
454
+
}
455
+
if _, err := cw.WriteString(string("submissionClientAgent")); err != nil {
456
+
return err
457
+
}
458
+
459
+
if t.SubmissionClientAgent == nil {
460
+
if _, err := cw.Write(cbg.CborNull); err != nil {
461
+
return err
462
+
}
463
+
} else {
464
+
if len(*t.SubmissionClientAgent) > 1000000 {
465
+
return xerrors.Errorf("Value in field t.SubmissionClientAgent was too long")
466
+
}
467
+
468
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.SubmissionClientAgent))); err != nil {
469
+
return err
470
+
}
471
+
if _, err := cw.WriteString(string(*t.SubmissionClientAgent)); err != nil {
472
+
return err
473
+
}
474
+
}
475
+
}
476
+
477
+
// t.MusicServiceBaseDomain (string) (string)
478
+
if t.MusicServiceBaseDomain != nil {
479
+
480
+
if len("musicServiceBaseDomain") > 1000000 {
481
+
return xerrors.Errorf("Value in field \"musicServiceBaseDomain\" was too long")
482
+
}
483
+
484
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("musicServiceBaseDomain"))); err != nil {
485
+
return err
486
+
}
487
+
if _, err := cw.WriteString(string("musicServiceBaseDomain")); err != nil {
488
+
return err
489
+
}
490
+
491
+
if t.MusicServiceBaseDomain == nil {
492
+
if _, err := cw.Write(cbg.CborNull); err != nil {
493
+
return err
494
+
}
495
+
} else {
496
+
if len(*t.MusicServiceBaseDomain) > 1000000 {
497
+
return xerrors.Errorf("Value in field t.MusicServiceBaseDomain was too long")
498
+
}
499
+
500
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.MusicServiceBaseDomain))); err != nil {
501
+
return err
502
+
}
503
+
if _, err := cw.WriteString(string(*t.MusicServiceBaseDomain)); err != nil {
504
+
return err
505
+
}
506
+
}
507
+
}
508
+
return nil
509
+
}
510
+
511
+
func (t *AlphaFeedPlay) UnmarshalCBOR(r io.Reader) (err error) {
512
+
*t = AlphaFeedPlay{}
513
+
514
+
cr := cbg.NewCborReader(r)
515
+
516
+
maj, extra, err := cr.ReadHeader()
517
+
if err != nil {
518
+
return err
519
+
}
520
+
defer func() {
521
+
if err == io.EOF {
522
+
err = io.ErrUnexpectedEOF
523
+
}
524
+
}()
525
+
526
+
if maj != cbg.MajMap {
527
+
return fmt.Errorf("cbor input should be of type map")
528
+
}
529
+
530
+
if extra > cbg.MaxLength {
531
+
return fmt.Errorf("AlphaFeedPlay: map struct too large (%d)", extra)
532
+
}
533
+
534
+
n := extra
535
+
536
+
nameBuf := make([]byte, 22)
537
+
for i := uint64(0); i < n; i++ {
538
+
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000)
539
+
if err != nil {
540
+
return err
541
+
}
542
+
543
+
if !ok {
544
+
// Field doesn't exist on this type, so ignore it
545
+
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
546
+
return err
547
+
}
548
+
continue
549
+
}
550
+
551
+
switch string(nameBuf[:nameLen]) {
552
+
// t.Isrc (string) (string)
553
+
case "isrc":
554
+
555
+
{
556
+
b, err := cr.ReadByte()
557
+
if err != nil {
558
+
return err
559
+
}
560
+
if b != cbg.CborNull[0] {
561
+
if err := cr.UnreadByte(); err != nil {
562
+
return err
563
+
}
564
+
565
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
566
+
if err != nil {
567
+
return err
568
+
}
569
+
570
+
t.Isrc = (*string)(&sval)
571
+
}
572
+
}
573
+
// t.LexiconTypeID (string) (string)
574
+
case "$type":
575
+
576
+
{
577
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
578
+
if err != nil {
579
+
return err
580
+
}
581
+
582
+
t.LexiconTypeID = string(sval)
583
+
}
584
+
// t.Duration (int64) (int64)
585
+
case "duration":
586
+
{
587
+
588
+
b, err := cr.ReadByte()
589
+
if err != nil {
590
+
return err
591
+
}
592
+
if b != cbg.CborNull[0] {
593
+
if err := cr.UnreadByte(); err != nil {
594
+
return err
595
+
}
596
+
maj, extra, err := cr.ReadHeader()
597
+
if err != nil {
598
+
return err
599
+
}
600
+
var extraI int64
601
+
switch maj {
602
+
case cbg.MajUnsignedInt:
603
+
extraI = int64(extra)
604
+
if extraI < 0 {
605
+
return fmt.Errorf("int64 positive overflow")
606
+
}
607
+
case cbg.MajNegativeInt:
608
+
extraI = int64(extra)
609
+
if extraI < 0 {
610
+
return fmt.Errorf("int64 negative overflow")
611
+
}
612
+
extraI = -1 - extraI
613
+
default:
614
+
return fmt.Errorf("wrong type for int64 field: %d", maj)
615
+
}
616
+
617
+
t.Duration = (*int64)(&extraI)
618
+
}
619
+
}
620
+
// t.OriginUrl (string) (string)
621
+
case "originUrl":
622
+
623
+
{
624
+
b, err := cr.ReadByte()
625
+
if err != nil {
626
+
return err
627
+
}
628
+
if b != cbg.CborNull[0] {
629
+
if err := cr.UnreadByte(); err != nil {
630
+
return err
631
+
}
632
+
633
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
634
+
if err != nil {
635
+
return err
636
+
}
637
+
638
+
t.OriginUrl = (*string)(&sval)
639
+
}
640
+
}
641
+
// t.TrackMbId (string) (string)
642
+
case "trackMbId":
643
+
644
+
{
645
+
b, err := cr.ReadByte()
646
+
if err != nil {
647
+
return err
648
+
}
649
+
if b != cbg.CborNull[0] {
650
+
if err := cr.UnreadByte(); err != nil {
651
+
return err
652
+
}
653
+
654
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
655
+
if err != nil {
656
+
return err
657
+
}
658
+
659
+
t.TrackMbId = (*string)(&sval)
660
+
}
661
+
}
662
+
// t.TrackName (string) (string)
663
+
case "trackName":
664
+
665
+
{
666
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
667
+
if err != nil {
668
+
return err
669
+
}
670
+
671
+
t.TrackName = string(sval)
672
+
}
673
+
// t.PlayedTime (string) (string)
674
+
case "playedTime":
675
+
676
+
{
677
+
b, err := cr.ReadByte()
678
+
if err != nil {
679
+
return err
680
+
}
681
+
if b != cbg.CborNull[0] {
682
+
if err := cr.UnreadByte(); err != nil {
683
+
return err
684
+
}
685
+
686
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
687
+
if err != nil {
688
+
return err
689
+
}
690
+
691
+
t.PlayedTime = (*string)(&sval)
692
+
}
693
+
}
694
+
// t.ArtistMbIds ([]string) (slice)
695
+
case "artistMbIds":
696
+
697
+
maj, extra, err = cr.ReadHeader()
698
+
if err != nil {
699
+
return err
700
+
}
701
+
702
+
if extra > 8192 {
703
+
return fmt.Errorf("t.ArtistMbIds: array too large (%d)", extra)
704
+
}
705
+
706
+
if maj != cbg.MajArray {
707
+
return fmt.Errorf("expected cbor array")
708
+
}
709
+
710
+
if extra > 0 {
711
+
t.ArtistMbIds = make([]string, extra)
712
+
}
713
+
714
+
for i := 0; i < int(extra); i++ {
715
+
{
716
+
var maj byte
717
+
var extra uint64
718
+
var err error
719
+
_ = maj
720
+
_ = extra
721
+
_ = err
722
+
723
+
{
724
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
725
+
if err != nil {
726
+
return err
727
+
}
728
+
729
+
t.ArtistMbIds[i] = string(sval)
730
+
}
731
+
732
+
}
733
+
}
734
+
// t.ArtistNames ([]string) (slice)
735
+
case "artistNames":
736
+
737
+
maj, extra, err = cr.ReadHeader()
738
+
if err != nil {
739
+
return err
740
+
}
741
+
742
+
if extra > 8192 {
743
+
return fmt.Errorf("t.ArtistNames: array too large (%d)", extra)
744
+
}
745
+
746
+
if maj != cbg.MajArray {
747
+
return fmt.Errorf("expected cbor array")
748
+
}
749
+
750
+
if extra > 0 {
751
+
t.ArtistNames = make([]string, extra)
752
+
}
753
+
754
+
for i := 0; i < int(extra); i++ {
755
+
{
756
+
var maj byte
757
+
var extra uint64
758
+
var err error
759
+
_ = maj
760
+
_ = extra
761
+
_ = err
762
+
763
+
{
764
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
765
+
if err != nil {
766
+
return err
767
+
}
768
+
769
+
t.ArtistNames[i] = string(sval)
770
+
}
771
+
772
+
}
773
+
}
774
+
// t.ReleaseMbId (string) (string)
775
+
case "releaseMbId":
776
+
777
+
{
778
+
b, err := cr.ReadByte()
779
+
if err != nil {
780
+
return err
781
+
}
782
+
if b != cbg.CborNull[0] {
783
+
if err := cr.UnreadByte(); err != nil {
784
+
return err
785
+
}
786
+
787
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
788
+
if err != nil {
789
+
return err
790
+
}
791
+
792
+
t.ReleaseMbId = (*string)(&sval)
793
+
}
794
+
}
795
+
// t.ReleaseName (string) (string)
796
+
case "releaseName":
797
+
798
+
{
799
+
b, err := cr.ReadByte()
800
+
if err != nil {
801
+
return err
802
+
}
803
+
if b != cbg.CborNull[0] {
804
+
if err := cr.UnreadByte(); err != nil {
805
+
return err
806
+
}
807
+
808
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
809
+
if err != nil {
810
+
return err
811
+
}
812
+
813
+
t.ReleaseName = (*string)(&sval)
814
+
}
815
+
}
816
+
// t.RecordingMbId (string) (string)
817
+
case "recordingMbId":
818
+
819
+
{
820
+
b, err := cr.ReadByte()
821
+
if err != nil {
822
+
return err
823
+
}
824
+
if b != cbg.CborNull[0] {
825
+
if err := cr.UnreadByte(); err != nil {
826
+
return err
827
+
}
828
+
829
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
830
+
if err != nil {
831
+
return err
832
+
}
833
+
834
+
t.RecordingMbId = (*string)(&sval)
835
+
}
836
+
}
837
+
// t.SubmissionClientAgent (string) (string)
838
+
case "submissionClientAgent":
839
+
840
+
{
841
+
b, err := cr.ReadByte()
842
+
if err != nil {
843
+
return err
844
+
}
845
+
if b != cbg.CborNull[0] {
846
+
if err := cr.UnreadByte(); err != nil {
847
+
return err
848
+
}
849
+
850
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
851
+
if err != nil {
852
+
return err
853
+
}
854
+
855
+
t.SubmissionClientAgent = (*string)(&sval)
856
+
}
857
+
}
858
+
// t.MusicServiceBaseDomain (string) (string)
859
+
case "musicServiceBaseDomain":
860
+
861
+
{
862
+
b, err := cr.ReadByte()
863
+
if err != nil {
864
+
return err
865
+
}
866
+
if b != cbg.CborNull[0] {
867
+
if err := cr.UnreadByte(); err != nil {
868
+
return err
869
+
}
870
+
871
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
872
+
if err != nil {
873
+
return err
874
+
}
875
+
876
+
t.MusicServiceBaseDomain = (*string)(&sval)
877
+
}
878
+
}
879
+
880
+
default:
881
+
// Field doesn't exist on this type, so ignore it
882
+
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
883
+
return err
884
+
}
885
+
}
886
+
}
887
+
888
+
return nil
889
+
}
+19
-16
util/gencbor/gencbor.go
+19
-16
util/gencbor/gencbor.go
···
1
1
package main
2
2
3
3
import (
4
-
"reflect"
4
+
"reflect"
5
5
6
-
"github.com/bluesky-social/indigo/mst"
7
-
"github.com/teal-fm/piper/api/teal"
6
+
"github.com/bluesky-social/indigo/mst"
7
+
"github.com/teal-fm/piper/api/teal"
8
8
9
-
cbg "github.com/whyrusleeping/cbor-gen"
9
+
cbg "github.com/whyrusleeping/cbor-gen"
10
10
)
11
11
12
12
func main() {
13
-
var typeVals []any
14
-
for _, typ := range mst.CBORTypes() {
15
-
typeVals = append(typeVals, reflect.New(typ).ELem().Interface())
16
-
}
13
+
var typVals []any
14
+
for _, typ := range mst.CBORTypes() {
15
+
typVals = append(typVals,
16
+
reflect.New(typ).Elem().Interface())
17
+
}
17
18
18
-
genCfg := cbg.Gen{
19
-
MaxStringLength: 1_000_000,
20
-
}
19
+
genCfg := cbg.Gen{
20
+
MaxStringLength: 1_000_000,
21
+
}
21
22
22
-
if err := genCfg.WriteMapEncodersToFile("api/cbor/cbor_gen.go", "teal",
23
-
teal.AlphaFeedPlay{},
24
-
); err != nil {
25
-
panic(err)
26
-
}
23
+
if err :=
24
+
genCfg.WriteMapEncodersToFile("api/teal/cbor_gen.go",
25
+
"teal",
26
+
teal.AlphaFeedPlay{},
27
+
); err != nil {
28
+
panic(err)
29
+
}
27
30
}