Sha256: abab8da32abaa67aa327bd213a133cefeac6fdf65402535444036a6595066579
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module Dry module Types # Implication type # # @api public class Implication include Composition def self.operator = :> # @param [Object] input # # @return [Object] # # @api private def call_unsafe(input) if left.try(input).success? right.call_unsafe(input) else input end end # @param [Object] input # # @return [Object] # # @api private def call_safe(input, &) if left.try(input).success? right.call_safe(input, &) else input end end # @param [Object] input # # @api public def try(input, &) if left.try(input).success? right.try(input, &) else Result::Success.new(input) end end # @param [Object] value # # @return [Boolean] # # @api private def primitive?(value) if left.primitive?(value) right.primitive?(value) else true end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dry-types-1.8.2 | lib/dry/types/implication.rb |
dry-types-1.8.1 | lib/dry/types/implication.rb |