diff options
Diffstat (limited to 'src/jq/execute.zig')
| -rw-r--r-- | src/jq/execute.zig | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/jq/execute.zig b/src/jq/execute.zig index 0565004..282a35c 100644 --- a/src/jq/execute.zig +++ b/src/jq/execute.zig @@ -187,12 +187,7 @@ pub const Runtime = struct { std.debug.assert(self.values.ensureSize(1)); const value = self.values.pop(); - const is_falsy = switch (value) { - .null => true, - .bool => |b| !b, - else => false, - }; - if (is_falsy) { + if (jv.ops.isFalsy(value)) { self.pc += offset - 1; } // FIXME: optimize pop and push @@ -334,12 +329,7 @@ pub const Runtime = struct { _ = self.values.pop(); const lhs = self.values.pop(); const rhs = self.values.pop(); - const is_falsy = switch (lhs) { - .null => true, - .bool => |b| !b, - else => false, - }; - try self.values.push(if (is_falsy) rhs else lhs); + try self.values.push(if (jv.ops.isFalsy(lhs)) rhs else lhs); }, .@"const" => |idx| { std.debug.assert(self.values.ensureSize(1)); |
