lib/spoom/sorbet/lsp/errors.rb in spoom-1.1.8 vs lib/spoom/sorbet/lsp/errors.rb in spoom-1.1.9
- old
+ new
@@ -1,41 +1,60 @@
-# typed: true
+# typed: strict
# frozen_string_literal: true
module Spoom
module LSP
class Error < StandardError
class AlreadyOpen < Error; end
class BadHeaders < Error; end
class Diagnostics < Error
- attr_reader :uri, :diagnostics
+ extend T::Sig
+ sig { returns(String) }
+ attr_reader :uri
+
+ sig { returns(T::Array[Diagnostic]) }
+ attr_reader :diagnostics
+
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(Diagnostics) }
def self.from_json(json)
Diagnostics.new(
json['uri'],
json['diagnostics'].map { |d| Diagnostic.from_json(d) }
)
end
+ sig { params(uri: String, diagnostics: T::Array[Diagnostic]).void }
def initialize(uri, diagnostics)
@uri = uri
@diagnostics = diagnostics
end
end
end
class ResponseError < Error
- attr_reader :code, :message, :data
+ extend T::Sig
+ sig { returns(Integer) }
+ attr_reader :code
+
+ sig { returns(String) }
+ attr_reader :message
+
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
+ attr_reader :data
+
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(ResponseError) }
def self.from_json(json)
ResponseError.new(
json['code'],
json['message'],
json['data']
)
end
+ sig { params(code: Integer, message: String, data: T::Hash[T.untyped, T.untyped]).void }
def initialize(code, message, data)
@code = code
@message = message
@data = data
end