Sha256: 75257cd240846b65533ac132d865a6aef4bddb36db4134cf81a47472378f3912
Contents?: true
Size: 1.14 KB
Versions: 3
Compression:
Stored size: 1.14 KB
Contents
# frozen_string_literal: true module Dry module Types # Implication type # # @api public class Implication include Composition def self.operator :> end # @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, &block) if left.try(input).success? right.call_safe(input, &block) 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-types-1.7.2 | lib/dry/types/implication.rb |
dry-types-1.7.1 | lib/dry/types/implication.rb |
dry-types-1.7.0 | lib/dry/types/implication.rb |