| ... | @@ -642,6 +642,19 @@ pub const ObjectIndex = enum(u32) { | ... | @@ -642,6 +642,19 @@ pub const ObjectIndex = enum(u32) { |
| 642 | return .{ k[0..len], v[0..len] }; | 642 | return .{ k[0..len], v[0..len] }; |
| 643 | } | 643 | } |
| 644 | | 644 | |
| | 645 | pub fn getAny(this: ObjectIndex, needle: []const u8) ?ValueIndex { |
| | 646 | const keys, const values = this.to(); |
| | 647 | for (keys, values) |k, v| { |
| | 648 | if (std.mem.eql(u8, needle, k.to())) { |
| | 649 | if (v.v() == .null) { |
| | 650 | return null; |
| | 651 | } |
| | 652 | return v; |
| | 653 | } |
| | 654 | } |
| | 655 | return null; |
| | 656 | } |
| | 657 | |
| 645 | pub fn get(this: ObjectIndex, needle: []const u8, comptime tag: Value.Tag) ?ValueIndex { | 658 | pub fn get(this: ObjectIndex, needle: []const u8, comptime tag: Value.Tag) ?ValueIndex { |
| 646 | const keys, const values = this.to(); | 659 | const keys, const values = this.to(); |
| 647 | for (keys, values) |k, v| { | 660 | for (keys, values) |k, v| { |