fork of indigo with slightly nicer lexgen
at main 12 kB view raw
1// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT. 2 3package repo 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 *SignedCommit) 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 := 6 29 30 if t.Rev == "" { 31 fieldCount-- 32 } 33 34 if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil { 35 return err 36 } 37 38 // t.Did (string) (string) 39 if len("did") > 1000000 { 40 return xerrors.Errorf("Value in field \"did\" was too long") 41 } 42 43 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("did"))); err != nil { 44 return err 45 } 46 if _, err := cw.WriteString(string("did")); err != nil { 47 return err 48 } 49 50 if len(t.Did) > 1000000 { 51 return xerrors.Errorf("Value in field t.Did was too long") 52 } 53 54 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Did))); err != nil { 55 return err 56 } 57 if _, err := cw.WriteString(string(t.Did)); err != nil { 58 return err 59 } 60 61 // t.Rev (string) (string) 62 if t.Rev != "" { 63 64 if len("rev") > 1000000 { 65 return xerrors.Errorf("Value in field \"rev\" was too long") 66 } 67 68 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("rev"))); err != nil { 69 return err 70 } 71 if _, err := cw.WriteString(string("rev")); err != nil { 72 return err 73 } 74 75 if len(t.Rev) > 1000000 { 76 return xerrors.Errorf("Value in field t.Rev was too long") 77 } 78 79 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Rev))); err != nil { 80 return err 81 } 82 if _, err := cw.WriteString(string(t.Rev)); err != nil { 83 return err 84 } 85 } 86 87 // t.Sig ([]uint8) (slice) 88 if len("sig") > 1000000 { 89 return xerrors.Errorf("Value in field \"sig\" was too long") 90 } 91 92 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("sig"))); err != nil { 93 return err 94 } 95 if _, err := cw.WriteString(string("sig")); err != nil { 96 return err 97 } 98 99 if len(t.Sig) > 2097152 { 100 return xerrors.Errorf("Byte array in field t.Sig was too long") 101 } 102 103 if err := cw.WriteMajorTypeHeader(cbg.MajByteString, uint64(len(t.Sig))); err != nil { 104 return err 105 } 106 107 if _, err := cw.Write(t.Sig); err != nil { 108 return err 109 } 110 111 // t.Data (cid.Cid) (struct) 112 if len("data") > 1000000 { 113 return xerrors.Errorf("Value in field \"data\" was too long") 114 } 115 116 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("data"))); err != nil { 117 return err 118 } 119 if _, err := cw.WriteString(string("data")); err != nil { 120 return err 121 } 122 123 if err := cbg.WriteCid(cw, t.Data); err != nil { 124 return xerrors.Errorf("failed to write cid field t.Data: %w", err) 125 } 126 127 // t.Prev (cid.Cid) (struct) 128 if len("prev") > 1000000 { 129 return xerrors.Errorf("Value in field \"prev\" was too long") 130 } 131 132 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("prev"))); err != nil { 133 return err 134 } 135 if _, err := cw.WriteString(string("prev")); err != nil { 136 return err 137 } 138 139 if t.Prev == nil { 140 if _, err := cw.Write(cbg.CborNull); err != nil { 141 return err 142 } 143 } else { 144 if err := cbg.WriteCid(cw, *t.Prev); err != nil { 145 return xerrors.Errorf("failed to write cid field t.Prev: %w", err) 146 } 147 } 148 149 // t.Version (int64) (int64) 150 if len("version") > 1000000 { 151 return xerrors.Errorf("Value in field \"version\" was too long") 152 } 153 154 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("version"))); err != nil { 155 return err 156 } 157 if _, err := cw.WriteString(string("version")); err != nil { 158 return err 159 } 160 161 if t.Version >= 0 { 162 if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.Version)); err != nil { 163 return err 164 } 165 } else { 166 if err := cw.WriteMajorTypeHeader(cbg.MajNegativeInt, uint64(-t.Version-1)); err != nil { 167 return err 168 } 169 } 170 171 return nil 172} 173 174func (t *SignedCommit) UnmarshalCBOR(r io.Reader) (err error) { 175 *t = SignedCommit{} 176 177 cr := cbg.NewCborReader(r) 178 179 maj, extra, err := cr.ReadHeader() 180 if err != nil { 181 return err 182 } 183 defer func() { 184 if err == io.EOF { 185 err = io.ErrUnexpectedEOF 186 } 187 }() 188 189 if maj != cbg.MajMap { 190 return fmt.Errorf("cbor input should be of type map") 191 } 192 193 if extra > cbg.MaxLength { 194 return fmt.Errorf("SignedCommit: map struct too large (%d)", extra) 195 } 196 197 n := extra 198 199 nameBuf := make([]byte, 7) 200 for i := uint64(0); i < n; i++ { 201 nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000) 202 if err != nil { 203 return err 204 } 205 206 if !ok { 207 // Field doesn't exist on this type, so ignore it 208 if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil { 209 return err 210 } 211 continue 212 } 213 214 switch string(nameBuf[:nameLen]) { 215 // t.Did (string) (string) 216 case "did": 217 218 { 219 sval, err := cbg.ReadStringWithMax(cr, 1000000) 220 if err != nil { 221 return err 222 } 223 224 t.Did = string(sval) 225 } 226 // t.Rev (string) (string) 227 case "rev": 228 229 { 230 sval, err := cbg.ReadStringWithMax(cr, 1000000) 231 if err != nil { 232 return err 233 } 234 235 t.Rev = string(sval) 236 } 237 // t.Sig ([]uint8) (slice) 238 case "sig": 239 240 maj, extra, err = cr.ReadHeader() 241 if err != nil { 242 return err 243 } 244 245 if extra > 2097152 { 246 return fmt.Errorf("t.Sig: byte array too large (%d)", extra) 247 } 248 if maj != cbg.MajByteString { 249 return fmt.Errorf("expected byte array") 250 } 251 252 if extra > 0 { 253 t.Sig = make([]uint8, extra) 254 } 255 256 if _, err := io.ReadFull(cr, t.Sig); err != nil { 257 return err 258 } 259 260 // t.Data (cid.Cid) (struct) 261 case "data": 262 263 { 264 265 c, err := cbg.ReadCid(cr) 266 if err != nil { 267 return xerrors.Errorf("failed to read cid field t.Data: %w", err) 268 } 269 270 t.Data = c 271 272 } 273 // t.Prev (cid.Cid) (struct) 274 case "prev": 275 276 { 277 278 b, err := cr.ReadByte() 279 if err != nil { 280 return err 281 } 282 if b != cbg.CborNull[0] { 283 if err := cr.UnreadByte(); err != nil { 284 return err 285 } 286 287 c, err := cbg.ReadCid(cr) 288 if err != nil { 289 return xerrors.Errorf("failed to read cid field t.Prev: %w", err) 290 } 291 292 t.Prev = &c 293 } 294 295 } 296 // t.Version (int64) (int64) 297 case "version": 298 { 299 maj, extra, err := cr.ReadHeader() 300 if err != nil { 301 return err 302 } 303 var extraI int64 304 switch maj { 305 case cbg.MajUnsignedInt: 306 extraI = int64(extra) 307 if extraI < 0 { 308 return fmt.Errorf("int64 positive overflow") 309 } 310 case cbg.MajNegativeInt: 311 extraI = int64(extra) 312 if extraI < 0 { 313 return fmt.Errorf("int64 negative overflow") 314 } 315 extraI = -1 - extraI 316 default: 317 return fmt.Errorf("wrong type for int64 field: %d", maj) 318 } 319 320 t.Version = int64(extraI) 321 } 322 323 default: 324 // Field doesn't exist on this type, so ignore it 325 if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil { 326 return err 327 } 328 } 329 } 330 331 return nil 332} 333func (t *UnsignedCommit) MarshalCBOR(w io.Writer) error { 334 if t == nil { 335 _, err := w.Write(cbg.CborNull) 336 return err 337 } 338 339 cw := cbg.NewCborWriter(w) 340 fieldCount := 5 341 342 if t.Rev == "" { 343 fieldCount-- 344 } 345 346 if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil { 347 return err 348 } 349 350 // t.Did (string) (string) 351 if len("did") > 1000000 { 352 return xerrors.Errorf("Value in field \"did\" was too long") 353 } 354 355 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("did"))); err != nil { 356 return err 357 } 358 if _, err := cw.WriteString(string("did")); err != nil { 359 return err 360 } 361 362 if len(t.Did) > 1000000 { 363 return xerrors.Errorf("Value in field t.Did was too long") 364 } 365 366 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Did))); err != nil { 367 return err 368 } 369 if _, err := cw.WriteString(string(t.Did)); err != nil { 370 return err 371 } 372 373 // t.Rev (string) (string) 374 if t.Rev != "" { 375 376 if len("rev") > 1000000 { 377 return xerrors.Errorf("Value in field \"rev\" was too long") 378 } 379 380 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("rev"))); err != nil { 381 return err 382 } 383 if _, err := cw.WriteString(string("rev")); err != nil { 384 return err 385 } 386 387 if len(t.Rev) > 1000000 { 388 return xerrors.Errorf("Value in field t.Rev was too long") 389 } 390 391 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Rev))); err != nil { 392 return err 393 } 394 if _, err := cw.WriteString(string(t.Rev)); err != nil { 395 return err 396 } 397 } 398 399 // t.Data (cid.Cid) (struct) 400 if len("data") > 1000000 { 401 return xerrors.Errorf("Value in field \"data\" was too long") 402 } 403 404 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("data"))); err != nil { 405 return err 406 } 407 if _, err := cw.WriteString(string("data")); err != nil { 408 return err 409 } 410 411 if err := cbg.WriteCid(cw, t.Data); err != nil { 412 return xerrors.Errorf("failed to write cid field t.Data: %w", err) 413 } 414 415 // t.Prev (cid.Cid) (struct) 416 if len("prev") > 1000000 { 417 return xerrors.Errorf("Value in field \"prev\" was too long") 418 } 419 420 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("prev"))); err != nil { 421 return err 422 } 423 if _, err := cw.WriteString(string("prev")); err != nil { 424 return err 425 } 426 427 if t.Prev == nil { 428 if _, err := cw.Write(cbg.CborNull); err != nil { 429 return err 430 } 431 } else { 432 if err := cbg.WriteCid(cw, *t.Prev); err != nil { 433 return xerrors.Errorf("failed to write cid field t.Prev: %w", err) 434 } 435 } 436 437 // t.Version (int64) (int64) 438 if len("version") > 1000000 { 439 return xerrors.Errorf("Value in field \"version\" was too long") 440 } 441 442 if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("version"))); err != nil { 443 return err 444 } 445 if _, err := cw.WriteString(string("version")); err != nil { 446 return err 447 } 448 449 if t.Version >= 0 { 450 if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.Version)); err != nil { 451 return err 452 } 453 } else { 454 if err := cw.WriteMajorTypeHeader(cbg.MajNegativeInt, uint64(-t.Version-1)); err != nil { 455 return err 456 } 457 } 458 459 return nil 460} 461 462func (t *UnsignedCommit) UnmarshalCBOR(r io.Reader) (err error) { 463 *t = UnsignedCommit{} 464 465 cr := cbg.NewCborReader(r) 466 467 maj, extra, err := cr.ReadHeader() 468 if err != nil { 469 return err 470 } 471 defer func() { 472 if err == io.EOF { 473 err = io.ErrUnexpectedEOF 474 } 475 }() 476 477 if maj != cbg.MajMap { 478 return fmt.Errorf("cbor input should be of type map") 479 } 480 481 if extra > cbg.MaxLength { 482 return fmt.Errorf("UnsignedCommit: map struct too large (%d)", extra) 483 } 484 485 n := extra 486 487 nameBuf := make([]byte, 7) 488 for i := uint64(0); i < n; i++ { 489 nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000) 490 if err != nil { 491 return err 492 } 493 494 if !ok { 495 // Field doesn't exist on this type, so ignore it 496 if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil { 497 return err 498 } 499 continue 500 } 501 502 switch string(nameBuf[:nameLen]) { 503 // t.Did (string) (string) 504 case "did": 505 506 { 507 sval, err := cbg.ReadStringWithMax(cr, 1000000) 508 if err != nil { 509 return err 510 } 511 512 t.Did = string(sval) 513 } 514 // t.Rev (string) (string) 515 case "rev": 516 517 { 518 sval, err := cbg.ReadStringWithMax(cr, 1000000) 519 if err != nil { 520 return err 521 } 522 523 t.Rev = string(sval) 524 } 525 // t.Data (cid.Cid) (struct) 526 case "data": 527 528 { 529 530 c, err := cbg.ReadCid(cr) 531 if err != nil { 532 return xerrors.Errorf("failed to read cid field t.Data: %w", err) 533 } 534 535 t.Data = c 536 537 } 538 // t.Prev (cid.Cid) (struct) 539 case "prev": 540 541 { 542 543 b, err := cr.ReadByte() 544 if err != nil { 545 return err 546 } 547 if b != cbg.CborNull[0] { 548 if err := cr.UnreadByte(); err != nil { 549 return err 550 } 551 552 c, err := cbg.ReadCid(cr) 553 if err != nil { 554 return xerrors.Errorf("failed to read cid field t.Prev: %w", err) 555 } 556 557 t.Prev = &c 558 } 559 560 } 561 // t.Version (int64) (int64) 562 case "version": 563 { 564 maj, extra, err := cr.ReadHeader() 565 if err != nil { 566 return err 567 } 568 var extraI int64 569 switch maj { 570 case cbg.MajUnsignedInt: 571 extraI = int64(extra) 572 if extraI < 0 { 573 return fmt.Errorf("int64 positive overflow") 574 } 575 case cbg.MajNegativeInt: 576 extraI = int64(extra) 577 if extraI < 0 { 578 return fmt.Errorf("int64 negative overflow") 579 } 580 extraI = -1 - extraI 581 default: 582 return fmt.Errorf("wrong type for int64 field: %d", maj) 583 } 584 585 t.Version = int64(extraI) 586 } 587 588 default: 589 // Field doesn't exist on this type, so ignore it 590 if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil { 591 return err 592 } 593 } 594 } 595 596 return nil 597}