Sha256: 3bc6b8d7f2714a6bb30c1232067849235b8cc5940783d75f09bfa561a93909e7

Contents?: true

Size: 683 Bytes

Versions: 401

Compression:

Stored size: 683 Bytes

Contents

# frozen_string_literal: true
# typed: true

# Use as a mixin with extend (`extend T::Generic`).
# Docs at https://hackpad.corp.stripe.com/Type-Validation-in-pay-server-1JaoTHir5Mo.
module T::Generic
  include T::Helpers
  include Kernel

  ### Class/Module Helpers ###

  def [](*types)
    self
  end

  def type_member(variance=:invariant, fixed: nil, lower: T.untyped, upper: BasicObject)
    T::Types::TypeMember.new(variance) # rubocop:disable PrisonGuard/UseOpusTypesShortcut
  end

  def type_template(variance=:invariant, fixed: nil, lower: T.untyped, upper: BasicObject)
    T::Types::TypeTemplate.new(variance) # rubocop:disable PrisonGuard/UseOpusTypesShortcut
  end
end

Version data entries

401 entries across 401 versions & 1 rubygems

Version Path
sorbet-runtime-0.5.5585 lib/types/generic.rb
sorbet-runtime-0.5.5579 lib/types/generic.rb
sorbet-runtime-0.5.5576 lib/types/generic.rb
sorbet-runtime-0.5.5575 lib/types/generic.rb
sorbet-runtime-0.5.5571 lib/types/generic.rb
sorbet-runtime-0.5.5569 lib/types/generic.rb
sorbet-runtime-0.5.5566 lib/types/generic.rb
sorbet-runtime-0.5.5564 lib/types/generic.rb
sorbet-runtime-0.5.5563 lib/types/generic.rb
sorbet-runtime-0.5.5560 lib/types/generic.rb
sorbet-runtime-0.5.5555 lib/types/generic.rb
sorbet-runtime-0.5.5551 lib/types/generic.rb
sorbet-runtime-0.5.5549 lib/types/generic.rb
sorbet-runtime-0.5.5544 lib/types/generic.rb
sorbet-runtime-0.5.5532 lib/types/generic.rb
sorbet-runtime-0.5.5525 lib/types/generic.rb
sorbet-runtime-0.5.5519 lib/types/generic.rb
sorbet-runtime-0.5.5516 lib/types/generic.rb
sorbet-runtime-0.5.5510 lib/types/generic.rb
sorbet-runtime-0.5.5507 lib/types/generic.rb