Module: TypedOperation::Result

Defined in:
lib/typed_operation/result.rb,
lib/typed_operation/result/mixin.rb,
lib/typed_operation/result/failure.rb,
lib/typed_operation/result/success.rb,
lib/typed_operation/result/adapters/built_in.rb,
lib/typed_operation/result/adapters/dry_monads.rb

Overview

Result types for representing success and failure outcomes.

TypedOperation provides built-in Success and Failure types that work out of the box. You can also configure it to use Dry::Monads or a custom adapter.

Examples:

Default usage (built-in types)

result = MyPipeline.call(input)
result.success?  # => true or false
result.value!    # => the value (raises on failure)

Configure to use Dry::Monads

TypedOperation.configure do |config|
  config.result_adapter = :dry_monads
end

Pattern matching

case result
in Success[value]
  handle_success(value)
in Failure[error]
  handle_failure(error)
end

Defined Under Namespace

Modules: Adapters, Mixin Classes: Failure, Success

Constant Summary collapse

UnwrapError =

Alias for easy access to UnwrapError from Result module

TypedOperation::UnwrapError