Sha256: 57fd41af5899f069aa69688b30d0713c373d97c244a33c71f3bc7114031f1bf8

Contents?: true

Size: 637 Bytes

Versions: 16

Compression:

Stored size: 637 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'

          helper :extract_kwargs

          push '$kwargs = $extract_kwargs($post_args)'
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
opal-1.8.3.rc1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.8.2 lib/opal/nodes/args/extract_kwargs.rb
opal-1.8.1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.8.0 lib/opal/nodes/args/extract_kwargs.rb
opal-1.8.0.beta1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.7.4 lib/opal/nodes/args/extract_kwargs.rb
opal-1.8.0.alpha1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.7.3 lib/opal/nodes/args/extract_kwargs.rb
opal-1.7.2 lib/opal/nodes/args/extract_kwargs.rb
opal-1.7.1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.7.0 lib/opal/nodes/args/extract_kwargs.rb
opal-1.7.0.rc1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.6.1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.6.0 lib/opal/nodes/args/extract_kwargs.rb
opal-1.6.0.rc1 lib/opal/nodes/args/extract_kwargs.rb
opal-1.6.0.alpha1 lib/opal/nodes/args/extract_kwargs.rb