Typecheck some utils
This commit is contained in:
parent
76671ef555
commit
9446db7720
@ -1,4 +1,4 @@
|
||||
# typed: false
|
||||
# typed: true
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Utils
|
||||
@ -25,7 +25,7 @@ module Utils
|
||||
def formulae_with_no_formula_dependents(formulae)
|
||||
return [] if formulae.blank?
|
||||
|
||||
dependents = []
|
||||
dependents = T.let([], T::Array[Formula])
|
||||
formulae.each do |formula|
|
||||
dependents += formula.runtime_formula_dependencies
|
||||
|
||||
@ -33,7 +33,7 @@ module Utils
|
||||
next if Tab.for_keg(formula.any_installed_keg).poured_from_bottle
|
||||
|
||||
formula.deps.select(&:build?).each do |dep|
|
||||
suppress(FormulaUnavailableError) { dependents << dep.to_formula }
|
||||
Kernel.suppress(FormulaUnavailableError) { dependents << dep.to_formula }
|
||||
end
|
||||
end
|
||||
formulae - dependents
|
||||
|
@ -1,4 +1,4 @@
|
||||
# typed: false
|
||||
# typed: true
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "open3"
|
||||
@ -243,8 +243,8 @@ module Utils
|
||||
return unless url.start_with? "http"
|
||||
|
||||
secure_url = url.sub(/\Ahttp:/, "https:")
|
||||
secure_details = nil
|
||||
hash_needed = false
|
||||
secure_details = T.let(nil, T.nilable(T::Hash[Symbol, T.untyped]))
|
||||
hash_needed = T.let(false, T::Boolean)
|
||||
if url != secure_url
|
||||
user_agents.each do |user_agent|
|
||||
secure_details = begin
|
||||
@ -267,7 +267,7 @@ module Utils
|
||||
end
|
||||
end
|
||||
|
||||
details = nil
|
||||
details = T.let(nil, T.nilable(T::Hash[Symbol, T.untyped]))
|
||||
user_agents.each do |user_agent|
|
||||
details =
|
||||
curl_http_content_headers_and_checksum(
|
||||
@ -414,7 +414,7 @@ module Utils
|
||||
# Unknown charset in Content-Type header
|
||||
end
|
||||
end
|
||||
file_contents = File.read(file.path, **open_args)
|
||||
file_contents = File.read(T.must(file.path), **open_args)
|
||||
file_hash = Digest::SHA2.hexdigest(file_contents) if hash_needed
|
||||
end
|
||||
|
||||
@ -430,7 +430,7 @@ module Utils
|
||||
responses: responses,
|
||||
}
|
||||
ensure
|
||||
file.unlink
|
||||
T.must(file).unlink
|
||||
end
|
||||
|
||||
def curl_supports_tls13?
|
||||
@ -547,7 +547,7 @@ module Utils
|
||||
return response unless response_text.match?(HTTP_STATUS_LINE_REGEX)
|
||||
|
||||
# Parse the status line and remove it
|
||||
match = response_text.match(HTTP_STATUS_LINE_REGEX)
|
||||
match = T.must(response_text.match(HTTP_STATUS_LINE_REGEX))
|
||||
response[:status_code] = match["code"] if match["code"].present?
|
||||
response[:status_text] = match["text"] if match["text"].present?
|
||||
response_text = response_text.sub(%r{^HTTP/.* (\d+).*$\s*}, "")
|
||||
|
6
Library/Homebrew/utils/curl.rbi
Normal file
6
Library/Homebrew/utils/curl.rbi
Normal file
@ -0,0 +1,6 @@
|
||||
# typed: strict
|
||||
|
||||
module Utils::Curl
|
||||
include Kernel
|
||||
requires_ancestor { SystemCommand::Mixin }
|
||||
end
|
@ -1,4 +1,4 @@
|
||||
# typed: false
|
||||
# typed: true
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "utils/tty"
|
||||
@ -91,11 +91,11 @@ module Formatter
|
||||
end
|
||||
|
||||
fallback.call if objects.empty?
|
||||
fallback.call if respond_to?(:tty?) ? !tty? : !$stdout.tty?
|
||||
fallback.call if respond_to?(:tty?) ? !T.unsafe(self).tty? : !$stdout.tty?
|
||||
|
||||
console_width = Tty.width
|
||||
object_lengths = objects.map { |obj| Tty.strip_ansi(obj).length }
|
||||
cols = (console_width + gap_size) / (object_lengths.max + gap_size)
|
||||
cols = (console_width + gap_size) / (T.must(object_lengths.max) + gap_size)
|
||||
|
||||
fallback.call if cols < 2
|
||||
|
||||
@ -109,14 +109,14 @@ module Formatter
|
||||
output = +""
|
||||
|
||||
rows.times do |row_index|
|
||||
item_indices_for_row = row_index.step(objects.size - 1, rows).to_a
|
||||
item_indices_for_row = T.cast(row_index.step(objects.size - 1, rows).to_a, T::Array[Integer])
|
||||
|
||||
first_n = item_indices_for_row[0...-1].map do |index|
|
||||
objects[index] + "".rjust(col_width - object_lengths[index])
|
||||
first_n = T.must(item_indices_for_row[0...-1]).map do |index|
|
||||
objects[index] + "".rjust(col_width - object_lengths.fetch(index))
|
||||
end
|
||||
|
||||
# don't add trailing whitespace to last column
|
||||
last = objects.values_at(item_indices_for_row.last)
|
||||
last = objects.values_at(item_indices_for_row.fetch(-1))
|
||||
|
||||
output.concat((first_n + last)
|
||||
.join(gap_string))
|
||||
|
5
Library/Homebrew/utils/formatter.rbi
Normal file
5
Library/Homebrew/utils/formatter.rbi
Normal file
@ -0,0 +1,5 @@
|
||||
# typed: strict
|
||||
|
||||
module Formatter
|
||||
include Kernel
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user