Sha256: 6b66f5216a4918fa7de287e28e4fbbad07fe2bbc5b0be9257e0176dafea4c1b4

Contents?: true

Size: 1.32 KB

Versions: 7

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true
# typed: true
# rubocop:disable PrisonGuard/NoTopLevelDeclarations, PrisonGuard/PackageMatchesDirectory

# Used as a mixin to any class so that you can call `sig`.
# Docs at http://go/types
module T::Sig
  module WithoutRuntime
    # At runtime, does nothing, but statically it is treated exactly the same
    # as T::Sig#sig. Only use it in cases where you can't use T::Sig#sig.
    def self.sig(&blk); end # rubocop:disable PrisonGuard/BanBuiltinMethodOverride

    # At runtime, does nothing, but statically it is treated exactly the same
    # as T::Sig#sig. Only use it in cases where you can't use T::Sig#sig.
    T::Sig::WithoutRuntime.sig {params(blk: T.proc.bind(T::Private::Methods::DeclBuilder).void).void} # rubocop:disable PrisonGuard/PrivateModule
    def self.sig(&blk); end # rubocop:disable PrisonGuard/BanBuiltinMethodOverride, Lint/DuplicateMethods
  end

  # Declares a method with type signatures and/or
  # abstract/override/... helpers. See the documentation URL on
  # {T::Helpers}
  T::Sig::WithoutRuntime.sig {params(blk: T.proc.bind(T::Private::Methods::DeclBuilder).void).void}
  def sig(&blk) # rubocop:disable PrisonGuard/BanBuiltinMethodOverride
    T::Private::Methods.declare_sig(self, &blk)
  end
end

# rubocop:enable PrisonGuard/NoTopLevelDeclarations, PrisonGuard/PackageMatchesDirectory

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sorbet-runtime-0.4.4259 lib/types/sig.rb
sorbet-runtime-0.4.4258 lib/types/sig.rb
sorbet-runtime-0.4.4257 lib/types/sig.rb
sorbet-runtime-0.4.4256 lib/types/sig.rb
sorbet-runtime-0.4.4255 lib/types/sig.rb
sorbet-runtime-0.4.4254 lib/types/sig.rb
sorbet-runtime-0.4.4253 lib/types/sig.rb