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