fork of indigo with slightly nicer lexgen
1// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
2
3package plc
4
5import (
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
16var _ = xerrors.Errorf
17var _ = cid.Undef
18var _ = math.E
19var _ = sort.Sort
20
21func (t *CreateOp) 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 := 7
29
30 if t.Sig == "" {
31 fieldCount--
32 }
33
34 if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil {
35 return err
36 }
37
38 // t.Sig (string) (string)
39 if t.Sig != "" {
40
41 if len("sig") > 1000000 {
42 return xerrors.Errorf("Value in field \"sig\" was too long")
43 }
44
45 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("sig"))); err != nil {
46 return err
47 }
48 if _, err := cw.WriteString(string("sig")); err != nil {
49 return err
50 }
51
52 if len(t.Sig) > 1000000 {
53 return xerrors.Errorf("Value in field t.Sig was too long")
54 }
55
56 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Sig))); err != nil {
57 return err
58 }
59 if _, err := cw.WriteString(string(t.Sig)); err != nil {
60 return err
61 }
62 }
63
64 // t.Prev (string) (string)
65 if len("prev") > 1000000 {
66 return xerrors.Errorf("Value in field \"prev\" was too long")
67 }
68
69 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("prev"))); err != nil {
70 return err
71 }
72 if _, err := cw.WriteString(string("prev")); err != nil {
73 return err
74 }
75
76 if t.Prev == nil {
77 if _, err := cw.Write(cbg.CborNull); err != nil {
78 return err
79 }
80 } else {
81 if len(*t.Prev) > 1000000 {
82 return xerrors.Errorf("Value in field t.Prev was too long")
83 }
84
85 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.Prev))); err != nil {
86 return err
87 }
88 if _, err := cw.WriteString(string(*t.Prev)); err != nil {
89 return err
90 }
91 }
92
93 // t.Type (string) (string)
94 if len("type") > 1000000 {
95 return xerrors.Errorf("Value in field \"type\" was too long")
96 }
97
98 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("type"))); err != nil {
99 return err
100 }
101 if _, err := cw.WriteString(string("type")); err != nil {
102 return err
103 }
104
105 if len(t.Type) > 1000000 {
106 return xerrors.Errorf("Value in field t.Type was too long")
107 }
108
109 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
110 return err
111 }
112 if _, err := cw.WriteString(string(t.Type)); err != nil {
113 return err
114 }
115
116 // t.Handle (string) (string)
117 if len("handle") > 1000000 {
118 return xerrors.Errorf("Value in field \"handle\" was too long")
119 }
120
121 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("handle"))); err != nil {
122 return err
123 }
124 if _, err := cw.WriteString(string("handle")); err != nil {
125 return err
126 }
127
128 if len(t.Handle) > 1000000 {
129 return xerrors.Errorf("Value in field t.Handle was too long")
130 }
131
132 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Handle))); err != nil {
133 return err
134 }
135 if _, err := cw.WriteString(string(t.Handle)); err != nil {
136 return err
137 }
138
139 // t.Service (string) (string)
140 if len("service") > 1000000 {
141 return xerrors.Errorf("Value in field \"service\" was too long")
142 }
143
144 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("service"))); err != nil {
145 return err
146 }
147 if _, err := cw.WriteString(string("service")); err != nil {
148 return err
149 }
150
151 if len(t.Service) > 1000000 {
152 return xerrors.Errorf("Value in field t.Service was too long")
153 }
154
155 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Service))); err != nil {
156 return err
157 }
158 if _, err := cw.WriteString(string(t.Service)); err != nil {
159 return err
160 }
161
162 // t.SigningKey (string) (string)
163 if len("signingKey") > 1000000 {
164 return xerrors.Errorf("Value in field \"signingKey\" was too long")
165 }
166
167 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("signingKey"))); err != nil {
168 return err
169 }
170 if _, err := cw.WriteString(string("signingKey")); err != nil {
171 return err
172 }
173
174 if len(t.SigningKey) > 1000000 {
175 return xerrors.Errorf("Value in field t.SigningKey was too long")
176 }
177
178 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.SigningKey))); err != nil {
179 return err
180 }
181 if _, err := cw.WriteString(string(t.SigningKey)); err != nil {
182 return err
183 }
184
185 // t.RecoveryKey (string) (string)
186 if len("recoveryKey") > 1000000 {
187 return xerrors.Errorf("Value in field \"recoveryKey\" was too long")
188 }
189
190 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("recoveryKey"))); err != nil {
191 return err
192 }
193 if _, err := cw.WriteString(string("recoveryKey")); err != nil {
194 return err
195 }
196
197 if len(t.RecoveryKey) > 1000000 {
198 return xerrors.Errorf("Value in field t.RecoveryKey was too long")
199 }
200
201 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.RecoveryKey))); err != nil {
202 return err
203 }
204 if _, err := cw.WriteString(string(t.RecoveryKey)); err != nil {
205 return err
206 }
207 return nil
208}
209
210func (t *CreateOp) UnmarshalCBOR(r io.Reader) (err error) {
211 *t = CreateOp{}
212
213 cr := cbg.NewCborReader(r)
214
215 maj, extra, err := cr.ReadHeader()
216 if err != nil {
217 return err
218 }
219 defer func() {
220 if err == io.EOF {
221 err = io.ErrUnexpectedEOF
222 }
223 }()
224
225 if maj != cbg.MajMap {
226 return fmt.Errorf("cbor input should be of type map")
227 }
228
229 if extra > cbg.MaxLength {
230 return fmt.Errorf("CreateOp: map struct too large (%d)", extra)
231 }
232
233 n := extra
234
235 nameBuf := make([]byte, 11)
236 for i := uint64(0); i < n; i++ {
237 nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000)
238 if err != nil {
239 return err
240 }
241
242 if !ok {
243 // Field doesn't exist on this type, so ignore it
244 if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
245 return err
246 }
247 continue
248 }
249
250 switch string(nameBuf[:nameLen]) {
251 // t.Sig (string) (string)
252 case "sig":
253
254 {
255 sval, err := cbg.ReadStringWithMax(cr, 1000000)
256 if err != nil {
257 return err
258 }
259
260 t.Sig = string(sval)
261 }
262 // t.Prev (string) (string)
263 case "prev":
264
265 {
266 b, err := cr.ReadByte()
267 if err != nil {
268 return err
269 }
270 if b != cbg.CborNull[0] {
271 if err := cr.UnreadByte(); err != nil {
272 return err
273 }
274
275 sval, err := cbg.ReadStringWithMax(cr, 1000000)
276 if err != nil {
277 return err
278 }
279
280 t.Prev = (*string)(&sval)
281 }
282 }
283 // t.Type (string) (string)
284 case "type":
285
286 {
287 sval, err := cbg.ReadStringWithMax(cr, 1000000)
288 if err != nil {
289 return err
290 }
291
292 t.Type = string(sval)
293 }
294 // t.Handle (string) (string)
295 case "handle":
296
297 {
298 sval, err := cbg.ReadStringWithMax(cr, 1000000)
299 if err != nil {
300 return err
301 }
302
303 t.Handle = string(sval)
304 }
305 // t.Service (string) (string)
306 case "service":
307
308 {
309 sval, err := cbg.ReadStringWithMax(cr, 1000000)
310 if err != nil {
311 return err
312 }
313
314 t.Service = string(sval)
315 }
316 // t.SigningKey (string) (string)
317 case "signingKey":
318
319 {
320 sval, err := cbg.ReadStringWithMax(cr, 1000000)
321 if err != nil {
322 return err
323 }
324
325 t.SigningKey = string(sval)
326 }
327 // t.RecoveryKey (string) (string)
328 case "recoveryKey":
329
330 {
331 sval, err := cbg.ReadStringWithMax(cr, 1000000)
332 if err != nil {
333 return err
334 }
335
336 t.RecoveryKey = string(sval)
337 }
338
339 default:
340 // Field doesn't exist on this type, so ignore it
341 if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
342 return err
343 }
344 }
345 }
346
347 return nil
348}