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; +}