local _anon_func_0 = function(items) local _val_0 = 3 for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_1 = function(items) local _val_0 = 10 for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_2 = function(chars) local _val_0 = "b" for _index_0 = 1, #chars do if chars[_index_0] == _val_0 then return true end end return false end local _anon_func_3 = function(chars) local _val_0 = "z" for _index_0 = 1, #chars do if chars[_index_0] == _val_0 then return true end end return false end local _anon_func_4 = function(obj) local _val_0 = "x" for _index_0 = 1, #obj do if obj[_index_0] == _val_0 then return true end end return false end local _anon_func_5 = function(obj) local _val_0 = "y" for _index_0 = 1, #obj do if obj[_index_0] == _val_0 then return true end end return false end local _anon_func_6 = function(obj) local _val_0 = "w" for _index_0 = 1, #obj do if obj[_index_0] == _val_0 then return true end end return false end local _anon_func_7 = function(items) local _val_0 = 1 for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_8 = function(items) local _val_0 = "two" for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_9 = function(items) local _val_0 = true for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_10 = function(items) local _val_0 = false for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_11 = function(empty) local _val_0 = 1 for _index_0 = 1, #empty do if empty[_index_0] == _val_0 then return true end end return false end local _anon_func_12 = function(empty) local _val_0 = "test" for _index_0 = 1, #empty do if empty[_index_0] == _val_0 then return true end end return false end local _anon_func_13 = function(items) local _val_0 = 2 for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_14 = function(items) local _val_0 = 4 for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_15 = function(items) local _val_0 = 2 for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_16 = function(nested) local _val_0 = { 1, 2 } for _index_0 = 1, #nested do if nested[_index_0] == _val_0 then return true end end return false end local _anon_func_17 = function(nested) local _val_0 = { 1, 3 } for _index_0 = 1, #nested do if nested[_index_0] == _val_0 then return true end end return false end local _anon_func_18 = function(bools) local _val_0 = true for _index_0 = 1, #bools do if bools[_index_0] == _val_0 then return true end end return false end local _anon_func_19 = function(bools) local _val_0 = false for _index_0 = 1, #bools do if bools[_index_0] == _val_0 then return true end end return false end local _anon_func_20 = function(i, items) for _index_0 = 1, #items do if items[_index_0] == i then return true end end return false end local _anon_func_21 = function(key1, tb) for _index_0 = 1, #tb do if tb[_index_0] == key1 then return true end end return false end local _anon_func_22 = function(key2, tb) for _index_0 = 1, #tb do if tb[_index_0] == key2 then return true end end return false end local _anon_func_23 = function(get_items) local _check_0 = get_items() local _val_0 = 2 for _index_0 = 1, #_check_0 do if _check_0[_index_0] == _val_0 then return true end end return false end local _anon_func_24 = function(get_items) local _check_0 = get_items() local _val_0 = 5 for _index_0 = 1, #_check_0 do if _check_0[_index_0] == _val_0 then return true end end return false end local _anon_func_25 = function(items) local _val_0 = nil for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_26 = function(items) local _val_0 = 1 for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_27 = function(obj) local _val_0 = "name" for _index_0 = 1, #obj do if obj[_index_0] == _val_0 then return true end end return false end local _anon_func_28 = function(obj) local _val_0 = "value" for _index_0 = 1, #obj do if obj[_index_0] == _val_0 then return true end end return false end local _anon_func_29 = function(obj) local _val_0 = "missing" for _index_0 = 1, #obj do if obj[_index_0] == _val_0 then return true end end return false end local _anon_func_30 = function(items) local _val_0 = 2 for _index_0 = 1, #items do if items[_index_0] == _val_0 then return true end end return false end local _anon_func_31 = function(allowed, item) for _index_0 = 1, #allowed do if allowed[_index_0] == item then return true end end return false end return describe("in expression", function() it("should check value in table", function() local items = { 1, 2, 3, 4, 5 } assert.is_true(_anon_func_0(items)) return assert.is_false(_anon_func_1(items)) end) it("should work with strings", function() local chars = { "a", "b", "c" } assert.is_true(_anon_func_2(chars)) return assert.is_false(_anon_func_3(chars)) end) it("should check keys in table", function() local obj = { x = 1, y = 2, z = 3 } assert.is_true(_anon_func_4(obj)) assert.is_true(_anon_func_5(obj)) return assert.is_false(_anon_func_6(obj)) end) it("should work with mixed types", function() local items = { 1, "two", true, nil } assert.is_true(_anon_func_7(items)) assert.is_true(_anon_func_8(items)) assert.is_true(_anon_func_9(items)) return assert.is_false(_anon_func_10(items)) end) it("should handle empty table", function() local empty = { } assert.is_false(_anon_func_11(empty)) return assert.is_false(_anon_func_12(empty)) end) it("should work in conditional", function() local items = { 1, 2, 3 } local result if _anon_func_13(items) then result = "found" else result = "not found" end return assert.same(result, "found") end) it("should support negation", function() local items = { 1, 2, 3 } assert.is_true(not (_anon_func_14(items))) return assert.is_false(not (_anon_func_15(items))) end) it("should work with nested tables", function() local nested = { { 1, 2 }, { 3, 4 }, { 5, 6 } } assert.is_true(_anon_func_16(nested)) return assert.is_false(_anon_func_17(nested)) end) it("should handle boolean values", function() local bools = { true, false } assert.is_true(_anon_func_18(bools)) return assert.is_true(_anon_func_19(bools)) end) it("should work in loop", function() local items = { 1, 2, 3, 4, 5 } local count = 0 for i = 1, 10 do if (#items > 0 and _anon_func_20(i, items)) then count = count + 1 end end return assert.same(count, 5) end) it("should support table as value", function() local key1 = { a = 1 } local key2 = { b = 2 } local tb = { [key1] = "first", [key2] = "second" } assert.is_true((#tb > 0 and _anon_func_21(key1, tb))) return assert.is_true((#tb > 0 and _anon_func_22(key2, tb))) end) it("should work with function results", function() local get_items get_items = function() return { 1, 2, 3 } end assert.is_true(_anon_func_23(get_items)) return assert.is_false(_anon_func_24(get_items)) end) it("should handle nil in table", function() local items = { 1, nil, 3 } assert.is_true(_anon_func_25(items)) return assert.is_true(_anon_func_26(items)) end) it("should work with string keys", function() local obj = { name = "test", value = 42 } assert.is_true(_anon_func_27(obj)) assert.is_true(_anon_func_28(obj)) return assert.is_false(_anon_func_29(obj)) end) it("should support complex expressions", function() local items = { 1, 2, 3 } local result = (_anon_func_30(items)) and "yes" or "no" return assert.same(result, "yes") end) return it("should work in comprehension", function() local source = { 1, 2, 3, 4, 5 } local allowed = { 2, 4 } local result do local _accum_0 = { } local _len_0 = 1 for _index_0 = 1, #source do local item = source[_index_0] if (#allowed > 0 and _anon_func_31(allowed, item)) then _accum_0[_len_0] = item _len_0 = _len_0 + 1 end end result = _accum_0 end return assert.same(result, { 2, 4 }) end) end)