Sha256: 8fa24d4fec85f4e4028ed3f9376bd0310b914e8deba88230d7e02f4c04fe54a0
Contents?: true
Size: 699 Bytes
Versions: 3
Compression:
Stored size: 699 Bytes
Contents
# frozen_string_literal: true module Kind class Any FilledArray = ->(value) {value.is_a?(::Array) && !value.empty?} singleton_class.send(:alias_method, :[], :new) attr_reader :values def initialize(*args) array = args.size == 1 ? args[0] : args @values = Kind.of(FilledArray, array, expected: 'filled array') end def ===(other) @values.any? { |value| value == other } end def [](value, label: nil) STRICT.object_is_a(self, value, label) end def |(another_kind) UnionType[self] | another_kind end def name "Kind::Any#{@values}" end alias inspect name private_constant :FilledArray end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
kind-5.9.0 | lib/kind/any.rb |
kind-5.8.1 | lib/kind/any.rb |
kind-5.8.0 | lib/kind/any.rb |