Sha256: f7e62174e7a23bad68bf2bf6019d012fbc25cf58aacc9ae713aef3ad1c471f5d

Contents?: true

Size: 644 Bytes

Versions: 2

Compression:

Stored size: 644 Bytes

Contents

# typed: strict
# frozen_string_literal: true

module Typed
  # A monad representing either a success or a failure. Contains payload and error information as well.
  class Result
    extend T::Sig
    extend T::Helpers
    extend T::Generic

    abstract!

    Payload = type_member
    Error = type_member

    sig { abstract.returns(T::Boolean) }
    def success?; end

    sig { abstract.returns(T::Boolean) }
    def failure?; end

    sig { abstract.returns(T.nilable(Payload)) }
    def payload; end

    sig { abstract.returns(T.nilable(Error)) }
    def error; end

    sig { abstract.returns(Payload) }
    def payload!; end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sorbet-result-0.2.1 lib/typed/result.rb
sorbet-result-0.2.0 lib/typed/result.rb