Sha256: dd0e95187cc6d4ba36eb54aead77126907a7917aaa5e85772e9ce23009bd6bbe

Contents?: true

Size: 625 Bytes

Versions: 1

Compression:

Stored size: 625 Bytes

Contents

# typed: strict
# frozen_string_literal: true

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

    abstract!

    Payload = type_member
    Error = type_member

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

    sig { abstract.returns(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

1 entries across 1 versions & 1 rubygems

Version Path
sorbet-result-0.1.1 lib/t/result.rb