Skip to content

Commit

Permalink
Strict typing
Browse files Browse the repository at this point in the history
  • Loading branch information
ursm committed Jul 8, 2024
1 parent 50f27e3 commit b6257ee
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 37 deletions.
2 changes: 1 addition & 1 deletion lib/fetch/form_data.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def initialize
attr_reader :entries

def append(key, value)
@entries.push [key.to_s, value.is_a?(File) ? value : value.to_s]
@entries.push [key.to_s, File === value ? value : value.to_s]
end

def delete(key)
Expand Down
4 changes: 0 additions & 4 deletions sig/fetch.rbs
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
module Fetch
interface _StringLike
def to_str: () -> String
end

VERSION: String
end
2 changes: 1 addition & 1 deletion sig/fetch/_client.rbs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Fetch
class Client
def to_response: (_StringLike, Net::HTTPResponse, bool) -> Response
def to_response: (string, Net::HTTPResponse, bool) -> Response
end
end
4 changes: 2 additions & 2 deletions sig/fetch/api.rbs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
module Fetch
class API
def self?.fetch: (
_StringLike,
string,
?method: String | Symbol,
?headers: Enumerable[[Object, Object]],
?headers: _Each[[_ToS, _ToS]],
?body: (String | FormData | URLSearchParams)?,
?redirect: 'follow' | 'error' | 'manual' | :follow | :error | :manual,
) -> Response
Expand Down
4 changes: 2 additions & 2 deletions sig/fetch/client.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ module Fetch
include Singleton

def fetch: (
_StringLike,
string,
?method: String | Symbol,
?headers: Enumerable[[Object, Object]],
?headers: _Each[[_ToS, _ToS]],
?body: (String | FormData | URLSearchParams)?,
?redirect: 'follow' | 'error' | 'manual' | :follow | :error | :manual,
?_redirected: bool
Expand Down
26 changes: 13 additions & 13 deletions sig/fetch/form_data.rbs
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
module Fetch
class FormData
type value = String | File

include Enumerable[[String, value]]
include Enumerable[[String, String | File]]

extend Forwardable

attr_reader entries: Array[[String, value]]
attr_reader entries: Array[[String, String | File]]

def self.build: (Enumerable[[Object, Object]]) -> FormData
def self.build: (_Each[[_ToS, _ToS | File]]) -> FormData

def initialize: () -> void
def append: (Object, Object) -> void
def delete: (Object) -> void
def get: (Object) -> value?
def get_all: (Object) -> Array[value]
def has: (Object) -> bool
def append: (_ToS, _ToS | File) -> void
def delete: (_ToS) -> void
def get: (_ToS) -> (String | File)?
def get_all: (_ToS) -> Array[String | File]
def has: (_ToS) -> bool
def keys: -> Array[String]
def set: (Object, Object) -> void
def values: () -> Array[value]
def each: () { ([String, value]) -> void } -> Array[[String, value]]
def set: (_ToS, _ToS | File) -> void
def values: () -> Array[String | File]

def each: () { ([String, String | File]) -> void } -> Array[[String, String | File]]
| () -> Enumerator[[String, String | File], Array[[String, String | File]]]
end
end
14 changes: 8 additions & 6 deletions sig/fetch/headers.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,17 @@ module Fetch

extend Forwardable

def initialize: (Enumerable[[Object, Object]]) -> void
def append: (Object, Object) -> void
def delete: (Object) -> void
def initialize: (_Each[[_ToS, _ToS]]) -> void
def append: (_ToS, _ToS) -> void
def delete: (_ToS) -> void
def entries: () -> Array[[String, String]]
def get: (Object) -> String?
def has: (Object) -> bool
def get: (_ToS) -> String?
def has: (_ToS) -> bool
def keys: -> Array[String]
def set: (Object, Object) -> void
def set: (_ToS, _ToS) -> void
def values: () -> Array[String]

def each: () { ([String, String]) -> void } -> Array[[String, String]]
| () -> Enumerator[[String, String], Array[[String, String]]]
end
end
18 changes: 10 additions & 8 deletions sig/fetch/url_search_params.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,19 @@ module Fetch

attr_reader entries: Array[[String, String]]

def self.build: (Enumerable[[Object, Object]]) -> FormData
def self.build: (_Each[[_ToS, _ToS]]) -> FormData

def initialize: (String | Enumerable[[Object, Object]]) -> void
def append: (Object, Object) -> void
def delete: (Object) -> void
def get: (Object) -> String?
def get_all: (Object) -> Array[String]
def has: (Object) -> bool
def initialize: (String | _Each[[_ToS, _ToS]]) -> void
def append: (_ToS, _ToS) -> void
def delete: (_ToS) -> void
def get: (_ToS) -> String?
def get_all: (_ToS) -> Array[String]
def has: (_ToS) -> bool
def keys: -> Array[String]
def set: (Object, Object) -> void
def set: (_ToS, _ToS) -> void
def values: () -> Array[String]

def each: () { ([String, String]) -> void } -> Array[[String, String]]
| () -> Enumerator[[String, String], Array[[String, String]]]
end
end

0 comments on commit b6257ee

Please sign in to comment.