const Bridge = @This(); const std = @import("std"); const zlua = @import("zlua"); const gpa = std.heap.c_allocator; pub fn getNestedField(L: *zlua.Lua, path: []u8) bool { var tokens = std.mem.tokenizeScalar(u8, path, '.'); var first = true; while (tokens.next()) |token| { const tok = gpa.dupeZ(u8, token) catch return false; if (first) { _ = L.getGlobal(tok) catch return false; first = false; } else { _ = L.getField(-1, tok); L.remove(-2); } if (L.isNil(-1)) { return false; } } return true; }