Sha256: 26c5a488bfa789b7c7ac5ece3021af99331f797cb3e1270f61d9723798621d09

Contents?: true

Size: 627 Bytes

Versions: 1

Compression:

Stored size: 627 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.
  module Result
    extend Sig
    extend Helpers
    extend Generic

    interface!

    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.0 lib/t/result.rb