class Opal::Nodes::ModuleNode
def compile
def compile name, base = name_and_base helper :module if body.nil? # Simplified compile for empty body if stmt? unshift '$module(', base, ", '#{name}')" else unshift '($module(', base, ", '#{name}'), nil)" end else line " var self = $module($base, '#{name}');" in_scope do scope.name = name in_closure(Closure::MODULE | Closure::JS_FUNCTION) do compile_body end end if await_encountered await_begin = '(await ' await_end = ')' async = 'async ' parent.await_encountered = true else await_begin, await_end, async = '', '', '' end unshift "#{await_begin}(#{async}function($base#{', $parent_nesting' if @define_nesting}) {" line '})(', base, "#{', ' + scope.nesting if @define_nesting})#{await_end}" end end