class Dry::Types::Sum
def call(input)
-
(Object)
-
Parameters:
-
input
(Object
) --
def call(input) try(input).input end
def constrained?
-
(false)
-
def constrained? false end
def default?
-
(false)
-
def default? false end
def initialize(left, right, options = {})
-
options
(Hash
) -- -
right
(Type
) -- -
left
(Type
) --
def initialize(left, right, options = {}) super @left, @right = left, right freeze end
def maybe?
-
(false)
-
def maybe? false end
def name
-
(String)
-
def name [left, right].map(&:name).join(' | ') end
def primitive?(value)
-
(Boolean)
-
Parameters:
-
value
(Object
) --
def primitive?(value) left.primitive?(value) || right.primitive?(value) end
def try(input, &block)
def try(input, &block) result = left.try(input) do right.try(input) end return result if result.success? if block yield(result) else result end end
def valid?(value)
-
(Boolean)
-
Parameters:
-
value
(Object
) --
def valid?(value) left.valid?(value) || right.valid?(value) end