mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
22 lines
461 B
Ruby
22 lines
461 B
Ruby
# typed: strong
|
|
# frozen_string_literal: true
|
|
|
|
module Utils
|
|
module Timer
|
|
sig { params(time: T.nilable(Time)).returns(T.any(Float, Integer, NilClass)) }
|
|
def self.remaining(time)
|
|
return unless time
|
|
|
|
[0, time - Time.now].max
|
|
end
|
|
|
|
sig { params(time: T.nilable(Time)).returns(T.any(Float, Integer, NilClass)) }
|
|
def self.remaining!(time)
|
|
r = remaining(time)
|
|
raise Timeout::Error if r && r <= 0
|
|
|
|
r
|
|
end
|
|
end
|
|
end
|