class Opal::Nodes::ArityCheckNode

def arity_checks

error caused by arity check
Returns an array of JS conditions for raising and argument
def arity_checks
  return @arity_checks if defined?(@arity_checks)
  arity = all_args.size
  arity -= @optargs.size
  arity -= 1 if @restarg
  arity -= kwargs.size
  arity = -arity - 1 if !@optargs.empty? || !kwargs.empty? || @restarg
  @arity_checks = []
  if arity < 0 # splat or opt args
    min_arity = -(arity + 1)
    max_arity = all_args.size
    @arity_checks << "$arity < #{min_arity}" if min_arity > 0
    @arity_checks << "$arity > #{max_arity}" unless @restarg
  else
    @arity_checks << "$arity !== #{arity}"
  end
  @arity_checks
end