lib/opal/nodes/args/ensure_kwargs_are_kwargs.rb
# frozen_string_literal: true require 'opal/nodes/base' module Opal module Nodes module Args # A utility node responsible for compiling # a runtime validation for kwargs. # # This node is used for both inline and post-kwargs # class EnsureKwargsAreKwargs < Base handle :ensure_kwargs_are_kwargs def compile helper :hash2 line 'if ($kwargs == null) {' line ' $kwargs = $hash2([], {});' line '} else if (!$kwargs.$$is_hash) {' line " throw Opal.ArgumentError.$new('expected kwargs');" line '}' end end end end end