Sha256: a7ced0a783eb1a78f8fba5eb0e4759fb5abff00401b2ada1325c0f51f96098ab

Contents?: true

Size: 838 Bytes

Versions: 1

Compression:

Stored size: 838 Bytes

Contents

# frozen_string_literal: true

module Dry
  module Effects
    module Constructors
      extend self

      # @api public
      def CurrentTime(**kwargs)
        if kwargs.empty?
          Effects::CurrentTime::CurrentTime
        else
          Effects::CurrentTime::CurrentTime.(**kwargs)
        end
      end

      # @api public
      def Resolve(identifier)
        Effects::Resolve::Resolve.(identifier)
      end

      # @api public
      def Retry(scope)
        Effects::Retry::Retry.new(type: :retry, scope: scope)
      end

      # @api public
      def Read(scope)
        Effects::State::State.new(type: :state, name: :read, scope: scope)
      end

      # @api public
      def Write(scope, value)
        Effects::State::State.new(type: :state, name: :write, scope: scope, payload: [value])
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-effects-0.3.1 lib/dry/effects/constructors.rb