From 31ec837a38440ea317bfc967b77c6ea13ec48d87 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sat, 3 Jun 2023 12:20:00 -0700 Subject: [PATCH] add isArrayOf --- src/lib.zig | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib.zig b/src/lib.zig index d3da348222e67d6ec9dcbe646bb000443a08561f..aa73430b90531e67f45838ca8ae7b40614e0d5d1 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -502,3 +502,15 @@ pub fn parse_json(alloc: std.mem.Allocator, input: string) !std.json.ValueTree { var p = std.json.Parser.init(alloc, .alloc_always); return try p.parse(input); } + +pub fn isArrayOf(comptime T: type) std.meta.trait.TraitFn { + const Closure = struct { + pub fn trait(comptime C: type) bool { + return switch (@typeInfo(C)) { + .Array => |ti| ti.child == T, + else => false, + }; + } + }; + return Closure.trait; +} -- 2.54.0