| ... | @@ -470,6 +470,19 @@ pub const ValueIndex = enum(u32) { | ... | @@ -470,6 +470,19 @@ pub const ValueIndex = enum(u32) { |
| 470 | _, | 470 | _, |
| 471 | }; | 471 | }; |
| 472 | | 472 | |
| | 473 | pub const Value = union(enum(u8)) { |
| | 474 | zero, |
| | 475 | null, |
| | 476 | true, |
| | 477 | false, |
| | 478 | object: ObjectIndex, |
| | 479 | array: ArrayIndex, |
| | 480 | string: StringIndex, |
| | 481 | number: NumberIndex, |
| | 482 | |
| | 483 | const Tag = std.meta.Tag(@This()); |
| | 484 | }; |
| | 485 | |
| 473 | pub const StringIndex = enum(u32) { | 486 | pub const StringIndex = enum(u32) { |
| 474 | _, | 487 | _, |
| 475 | }; | 488 | }; |
| ... | @@ -485,16 +498,3 @@ pub const ObjectIndex = enum(u32) { | ... | @@ -485,16 +498,3 @@ pub const ObjectIndex = enum(u32) { |
| 485 | pub const NumberIndex = enum(u32) { | 498 | pub const NumberIndex = enum(u32) { |
| 486 | _, | 499 | _, |
| 487 | }; | 500 | }; |
| 488 | | | |
| 489 | pub const Value = union(enum(u8)) { | | |
| 490 | zero, | | |
| 491 | null, | | |
| 492 | true, | | |
| 493 | false, | | |
| 494 | object: ObjectIndex, | | |
| 495 | array: ArrayIndex, | | |
| 496 | string: StringIndex, | | |
| 497 | number: NumberIndex, | | |
| 498 | | | |
| 499 | const Tag = std.meta.Tag(@This()); | | |
| 500 | }; | | |