A SpaceTraders Agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

clean up

Altagos 777bb9b7 d4890ee5

+10 -21
-2
src/main.zig
··· 57 57 58 58 var client = Client.init(allocator, io, .{ 59 59 .auth = config.auth, 60 - // .base_url = "http://localhost:4000/test", 61 - // .base_url = "https://api.staging.spacetraders.io/v2", 62 60 }); 63 61 defer client.deinit(); 64 62
+10 -19
src/meta/root.zig
··· 1 1 pub fn CombinedEnum(comptime parent: type) type { 2 2 const parent_info = @typeInfo(parent).@"struct"; 3 3 4 - var num_fields = 0; 5 - var num_enums = 0; 4 + comptime var num_fields = 0; 5 + comptime var num_enums = 0; 6 6 7 - for (parent_info.decls) |partial| { 7 + inline for (parent_info.decls) |partial| { 8 8 switch (@typeInfo(@field(parent, partial.name))) { 9 9 .@"enum" => |e| { 10 10 num_fields += e.fields.len; ··· 20 20 T: type, 21 21 }; 22 22 23 - var combined: [num_fields][:0]const u8 = undefined; 24 - var combined_values: [num_fields]u8 = undefined; 25 - var conv_map: [num_enums]ConversionMap = undefined; 23 + comptime var combined: [num_fields][:0]const u8 = undefined; 24 + comptime var combined_values: [num_fields]u8 = undefined; 25 + comptime var conv_map: [num_enums]ConversionMap = undefined; 26 26 27 - var idx = 0; 28 - var i = 0; 27 + comptime var idx = 0; 28 + comptime var i = 0; 29 29 30 - for (parent_info.decls) |partial| { 30 + inline for (parent_info.decls) |partial| { 31 31 switch (@typeInfo(@field(parent, partial.name))) { 32 32 .@"enum" => |e| { 33 33 conv_map[idx] = .{ ··· 48 48 } 49 49 } 50 50 51 - // const combined_enum = @Enum(std.builtin.Type{ .@"enum" = .{ 52 - // .decls = &.{}, 53 - // .fields = &combined, 54 - // .tag_type = u8, 55 - // .is_exhaustive = true, 56 - // } }); 57 51 const combined_enum = @Enum( 58 52 u8, 59 53 .nonexhaustive, ··· 61 55 &combined_values, 62 56 ); 63 57 64 - const combined_enums = num_enums; 65 - const conv_map_const = conv_map; 66 - 67 58 return struct { 68 59 pub const Combined = combined_enum; 69 60 70 - const conversion_map: [combined_enums]ConversionMap = conv_map_const; 61 + const conversion_map: [num_enums]ConversionMap = conv_map; 71 62 72 63 pub fn originalType(value: @TypeOf(Combined)) type { 73 64 const int_rep: u8 = @intFromEnum(value);