summaryrefslogtreecommitdiff
path: root/src/util.zig
diff options
context:
space:
mode:
authorChristian Segundo2023-06-11 22:09:15 +0200
committerChristian Segundo2023-06-11 22:09:15 +0200
commit3bd3f432a95da405634cdbd2a662d79a3a5ba7af (patch)
treeed7ac24e3309d8c6b4f43d1051d95b18a7165a2c /src/util.zig
downloadzmission-3bd3f432a95da405634cdbd2a662d79a3a5ba7af.tar.gz
wip
Diffstat (limited to 'src/util.zig')
-rw-r--r--src/util.zig14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/util.zig b/src/util.zig
new file mode 100644
index 0000000..b701ff6
--- /dev/null
+++ b/src/util.zig
@@ -0,0 +1,14 @@
+const std = @import("std");
+
+// Returns an array of all the fields in the given
+// type replacing all '_' with '-'.
+pub fn RPCFields(comptime E: type) []const []const u8 {
+ @setEvalBranchQuota(10000);
+ var names: []const []const u8 = &[_][]const u8{};
+ for (std.meta.fields(E)) |field| {
+ var name: [field.name.len]u8 = undefined;
+ _ = std.mem.replace(u8, field.name, &[_]u8{'_'}, &[_]u8{'-'}, &name);
+ names = names ++ &[_][]const u8{&name};
+ }
+ return names;
+}