Sha256: 1eabb5d8b941ac70b17d72a307b65da90ef64e500fee9b03ad977096135e2977

Contents?: true

Size: 607 Bytes

Versions: 24

Compression:

Stored size: 607 Bytes

Contents

# frozen_string_literal: true

require 'opal/nodes/base'

module Opal
  module Nodes
    module Args
      # A utility node responsible for extracting
      # post-kwargs from post-arguments.
      #
      # This node is used when kwargs cannot be inlined:
      #   def m(a = 1, kw:); end
      #
      # This node is NOT used when kwargs can be inlined:
      #   def m(a, kw:); end
      #
      class ExtractKwargs < Base
        handle :extract_kwargs

        def compile
          add_temp '$kwargs'

          line '$kwargs = Opal.extract_kwargs($post_args)'
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
opal-1.5.1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.5.0 lib/opal/nodes/args/extract_kwargs.rb
opal-1.5.0.rc1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.4.1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.4.0 lib/opal/nodes/args/extract_kwargs.rb
opal-1.4.0.alpha1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.3.2 lib/opal/nodes/args/extract_kwargs.rb
opal-1.3.1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.3.0 lib/opal/nodes/args/extract_kwargs.rb
opal-1.3.0.rc1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.3.0.alpha1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.2.0 lib/opal/nodes/args/extract_kwargs.rb
opal-1.2.0.beta1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.1.1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.1.1.rc1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.1.0 lib/opal/nodes/args/extract_kwargs.rb
opal-1.1.0.rc1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.0.5 lib/opal/nodes/args/extract_kwargs.rb
opal-1.0.4 lib/opal/nodes/args/extract_kwargs.rb
opal-1.0.3 lib/opal/nodes/args/extract_kwargs.rb