class Opal::Nodes::CaseNode
def compile_code
def compile_code handled_else = false if condition case_stmt[:cond] = true add_local '$case' push '$case = ', expr(condition), ';' end case_parts.each_with_index do |wen, idx| next unless wen line case wen.type when :when wen = compiler.returns(wen) if needs_closure? push 'else ' unless idx == 0 push stmt(wen) else # s(:else) handled_else = true wen = compiler.returns(wen) if needs_closure? push 'else {', stmt(wen), '}' end end # if we are having a closure, we must return a usable value if needs_closure? && !handled_else line push 'else { return nil }' end end