Sha256: 1ef748cdd1c6de99a7d23143fc1998f99e3666eb3f1bf5208f2ec105b910cff8

Contents?: true

Size: 740 Bytes

Versions: 379

Compression:

Stored size: 740 Bytes

Contents

# frozen_string_literal: true
# typed: true

# A marking class for when methods return void.
# Should never appear in types directly.
class T::Private::Types::Void < T::Types::Base
  ERROR_MESSAGE = "Validation is being done on an `Void`. Please report to #dev-productivity."

  # The actual return value of `.void` methods.
  #
  # Uses `module VOID` because this gives it a readable name when someone
  # examines it in Pry or with `#inspect` like:
  #
  #     T::Private::Types::Void::VOID
  #
  module VOID
    freeze
  end

  # @override Base
  def name
    "<VOID>"
  end

  # @override Base
  def valid?(obj)
    raise ERROR_MESSAGE
  end

  # @override Base
  private def subtype_of_single?(other)
    raise ERROR_MESSAGE
  end
end

Version data entries

379 entries across 379 versions & 1 rubygems

Version Path
sorbet-runtime-0.5.9172 lib/types/private/types/void.rb
sorbet-runtime-0.5.9167 lib/types/private/types/void.rb
sorbet-runtime-0.5.9163 lib/types/private/types/void.rb
sorbet-runtime-0.5.9161 lib/types/private/types/void.rb
sorbet-runtime-0.5.9158 lib/types/private/types/void.rb
sorbet-runtime-0.5.9155 lib/types/private/types/void.rb
sorbet-runtime-0.5.9154 lib/types/private/types/void.rb
sorbet-runtime-0.5.9152 lib/types/private/types/void.rb
sorbet-runtime-0.5.9151 lib/types/private/types/void.rb
sorbet-runtime-0.5.9147 lib/types/private/types/void.rb
sorbet-runtime-0.5.9139 lib/types/private/types/void.rb
sorbet-runtime-0.5.9133 lib/types/private/types/void.rb
sorbet-runtime-0.5.9130 lib/types/private/types/void.rb
sorbet-runtime-0.5.9125 lib/types/private/types/void.rb
sorbet-runtime-0.5.9120 lib/types/private/types/void.rb
sorbet-runtime-0.5.9115 lib/types/private/types/void.rb
sorbet-runtime-0.5.9112 lib/types/private/types/void.rb
sorbet-runtime-0.5.9105 lib/types/private/types/void.rb
sorbet-runtime-0.5.9104 lib/types/private/types/void.rb
sorbet-runtime-0.5.9103 lib/types/private/types/void.rb