Module: Remap::Types

Includes:
Dry::Logic::Operations
Defined in:
lib/remap/types.rb

Defined Under Namespace

Modules: Report

Constant Summary collapse

Enumerable =
Any.constrained(type: Enumerable)
Mapper =

Class.constrained(lt: Remap::Mapper) | Instance(Remap::Mapper).constructor { |v, &e| Instance(Remap::Mapper::Binary).call(v, &e) }

Interface(:call!)
Nothing =
Constant(Remap::Nothing)
Maybe =
Instance(Dry::Monads::Maybe).fallback(&Dry::Monads::Maybe)
Proc =

Remap = Class.constrained(lt: Remap)

Instance(Proc)
Key =
Interface(:hash) | Integer
Value =

.constrained(not_eql: nil)

Any
State =
Hash.constructor do |value, type, &error|
  type[value, &error]._(&error)
end
Selectors =
Array.of(Remap::Selector)