diff options
author | 2023-04-14 03:12:40 -0700 | |
---|---|---|
committer | 2023-04-14 03:12:40 -0700 | |
commit | ba057e50c360623b6aa7af39e5e74f26a5cd99e7 (patch) | |
tree | 942d7cd81319cb4c9cd1615dc33a0adf9c512dc5 | |
parent | 1e6dcef0c5e81896141b0518342985bdf3ba4edd (diff) | |
download | bun-ba057e50c360623b6aa7af39e5e74f26a5cd99e7.tar.gz bun-ba057e50c360623b6aa7af39e5e74f26a5cd99e7.tar.zst bun-ba057e50c360623b6aa7af39e5e74f26a5cd99e7.zip |
Update bun.zig
-rw-r--r-- | src/bun.zig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/bun.zig b/src/bun.zig index f5231b72e..9854f7264 100644 --- a/src/bun.zig +++ b/src/bun.zig @@ -875,6 +875,18 @@ pub fn enumMap(comptime T: type, comptime args: anytype) (fn (T) []const u8) { return Map.get; } +pub fn ComptimeEnumMap(comptime T: type) type { + comptime { + var entries: [std.enums.values(T).len].{ string, T } = undefined; + var i: usize = 0; + inline for (std.enums.values(T)) |value| { + entries[i] = .{ .@"0" = @tagName(value), .@"1" = value }; + i += 1; + } + return ComptimeStringMap(T, entries); + } +} + /// Write 0's for every byte in Type /// Ignores default struct values. pub fn zero(comptime Type: type) Type { |