Sha256: d2d32afe5c1cfc99669cb3347533bf2dc302eb72b510303ce1b7794184745fe1

Contents?: true

Size: 538 Bytes

Versions: 4

Compression:

Stored size: 538 Bytes

Contents

module Ruby2JS
  class Converter

    # (cvasgn :@@a
    #   (int 1))

    handle :cvasgn do |var, expression=nil|
      multi_assign_declarations if @state == :statement

      prefix = es2020 ? '#' : '_'

      if @class_name
        parse @class_name
        put var.to_s.sub('@@', ".#{prefix}")
      elsif @prototype
        put var.to_s.sub('@@', "this.#{prefix}")
      else
        put var.to_s.sub('@@', "this.constructor.#{prefix}")
      end

      if expression
        put " = "; parse expression
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruby2js-3.2.0 lib/ruby2js/converter/cvasgn.rb
ruby2js-3.1.2 lib/ruby2js/converter/cvasgn.rb
ruby2js-3.1.1 lib/ruby2js/converter/cvasgn.rb
ruby2js-3.1.0 lib/ruby2js/converter/cvasgn.rb