lib/opal/nodes/args/kwarg.rb
require 'opal/nodes/args/initialize_kwargs' module Opal module Nodes # A node responsible for extracting a # single *required* keyword argument # # def m(kw: ) # class KwargNode < InitializeKwargsNode handle :kwarg def compile initialize_kw_args_if_needed kwarg_name = @sexp[1].to_sym var_name = variable(kwarg_name) add_temp var_name line "if (!$kwargs.$$smap.hasOwnProperty('#{kwarg_name}')) {" line " throw Opal.ArgumentError.$new('missing keyword: #{kwarg_name}');" line "}" line "#{var_name} = $kwargs.$$smap['#{kwarg_name}'];" scope.used_kwargs << kwarg_name end end end end