Sha256: c697448c9b663154b975a6f09c851dee5e376cf75fd6311b66e2fbb9dae9fa64

Contents?: true

Size: 819 Bytes

Versions: 22

Compression:

Stored size: 819 Bytes

Contents

class ::Array
  def deconstruct
    self
  end
end

class ::Hash
  def deconstruct_keys(_)
    self
  end
end

class ::Struct
  alias deconstruct to_a
  # This function is specified in a very weird way...
  def deconstruct_keys(keys)
    return to_h if keys.nil?
    ::Kernel.raise ::TypeError, 'expected Array or nil' unless ::Array === keys
    return {} if keys.length > values.length
    out = {}
    keys.each do |key|
      should_break = case key
                     when ::Integer
                       values.length < key
                     when ::Symbol # Or String? Doesn't matter, we're in Opal.
                       !members.include?(key)
                     end
      break if should_break
      out[key] = self[key]
    end
    out
  end
end

class ::NoMatchingPatternError < ::StandardError; end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
opal-1.8.3.rc1 opal/corelib/pattern_matching/base.rb
opal-1.8.2 opal/corelib/pattern_matching/base.rb
opal-1.8.1 opal/corelib/pattern_matching/base.rb
opal-1.8.0 opal/corelib/pattern_matching/base.rb
opal-1.8.0.beta1 opal/corelib/pattern_matching/base.rb
opal-1.7.4 opal/corelib/pattern_matching/base.rb
opal-1.8.0.alpha1 opal/corelib/pattern_matching/base.rb
opal-1.7.3 opal/corelib/pattern_matching/base.rb
opal-1.7.2 opal/corelib/pattern_matching/base.rb
opal-1.7.1 opal/corelib/pattern_matching/base.rb
opal-1.7.0 opal/corelib/pattern_matching/base.rb
opal-1.7.0.rc1 opal/corelib/pattern_matching/base.rb
opal-1.6.1 opal/corelib/pattern_matching/base.rb
opal-1.6.0 opal/corelib/pattern_matching/base.rb
opal-1.6.0.rc1 opal/corelib/pattern_matching/base.rb
opal-1.6.0.alpha1 opal/corelib/pattern_matching/base.rb
opal-1.5.1 opal/corelib/pattern_matching/base.rb
opal-1.5.0 opal/corelib/pattern_matching/base.rb
opal-1.5.0.rc1 opal/corelib/pattern_matching/base.rb
opal-1.4.1 opal/corelib/pattern_matching/base.rb