diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-01-26 23:42:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-01-26 23:42:01 +0900 |
| commit | 225cb99c09ec01fac5cfecf858040f53ee5cc32b (patch) | |
| tree | 53ef2ecb5d9ff6800e9ac8893187cbd3a8b4460e /src/jq/execute.zig | |
| parent | c2a92de7fa1af4fc058f8e5e8317fb67a6df18ef (diff) | |
| download | zgjq-225cb99c09ec01fac5cfecf858040f53ee5cc32b.tar.gz zgjq-225cb99c09ec01fac5cfecf858040f53ee5cc32b.tar.zst zgjq-225cb99c09ec01fac5cfecf858040f53ee5cc32b.zip | |
refactor isFalsy/isTruthy
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)); |
