class Opal::Nodes::WhileNode
def compile
def compile test_code = js_truthy(test) with_temp do |redo_var| compiler.in_while do while_loop[:closure] = true if wrap_in_closure? while_loop[:redo_var] = redo_var body_code = indent { stmt(body) } if uses_redo? compile_with_redo(test_code, body_code, redo_var) else compile_without_redo(test_code, body_code) end end end if wrap_in_closure? if scope.await_encountered wrap '(await (async function() {', '; return nil; })())' else wrap '(function() {', '; return nil; })()' end end end