sorbet-http 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rubocop.yml +52 -0
- data/.ruby-version +1 -0
- data/.tool-versions +1 -0
- data/CHANGELOG.md +13 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +24 -0
- data/Gemfile.lock +110 -0
- data/LICENSE.txt +21 -0
- data/README.md +61 -0
- data/Rakefile +24 -0
- data/lib/sorbet-http.rb +15 -0
- data/lib/typed/http/method.rb +21 -0
- data/lib/typed/http/status_code.rb +366 -0
- data/sorbet/config +4 -0
- data/sorbet/rbi/annotations/rainbow.rbi +269 -0
- data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
- data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
- data/sorbet/rbi/gems/io-console@0.6.0.rbi +8 -0
- data/sorbet/rbi/gems/irb@1.7.0.rbi +342 -0
- data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
- data/sorbet/rbi/gems/minitest@5.18.1.rbi +1491 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
- data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
- data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
- data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
- data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
- data/sorbet/rbi/gems/rbi@0.0.16.rbi +3049 -0
- data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
- data/sorbet/rbi/gems/reline@0.3.5.rbi +8 -0
- data/sorbet/rbi/gems/rexml@3.2.5.rbi +4717 -0
- data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +7006 -0
- data/sorbet/rbi/gems/rubocop-minitest@0.31.0.rbi +2528 -0
- data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +328 -0
- data/sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi +1043 -0
- data/sorbet/rbi/gems/rubocop@1.53.1.rbi +56123 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
- data/sorbet/rbi/gems/spoom@1.2.1.rbi +2497 -0
- data/sorbet/rbi/gems/tapioca@0.11.7.rbi +3349 -0
- data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
- data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
- data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
- data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
- data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
- data/sorbet/rbi/gems/zeitwerk@2.6.8.rbi +986 -0
- data/sorbet/tapioca/config.yml +2 -0
- data/sorbet/tapioca/require.rb +7 -0
- metadata +124 -0
@@ -0,0 +1,366 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Typed
|
5
|
+
module HTTP
|
6
|
+
# Enumerates all valid HTTP response status codes and
|
7
|
+
# provides conversion and convenience methods.
|
8
|
+
class StatusCode < T::Enum
|
9
|
+
extend T::Sig
|
10
|
+
|
11
|
+
enums do
|
12
|
+
# Informational
|
13
|
+
Continue = new("100 Continue")
|
14
|
+
SwitchingProtocols = new("101 Switching Protocols")
|
15
|
+
Processing = new("102 Processing")
|
16
|
+
EarlyHints = new("103 Early Hints")
|
17
|
+
# Successful
|
18
|
+
OK = new("200 OK")
|
19
|
+
Created = new("201 Created")
|
20
|
+
Accepted = new("202 Accepted")
|
21
|
+
NonAuthoritativeInformation = new("203 Non-Authoritative Information")
|
22
|
+
NoContent = new("204 No Content")
|
23
|
+
ResetContent = new("205 Reset Content")
|
24
|
+
PartialContent = new("206 Partial Content")
|
25
|
+
# Redirection
|
26
|
+
MultipleChoices = new("300 Multiple Choices")
|
27
|
+
MovedPermanently = new("301 Moved Permanently")
|
28
|
+
Found = new("302 Found")
|
29
|
+
SeeOther = new("303 See Other")
|
30
|
+
NotModified = new("304 Not Modified")
|
31
|
+
TemporaryRedirect = new("307 Temporary Redirect")
|
32
|
+
PermanentRedirect = new("308 Permanent Redirect")
|
33
|
+
# Client Error
|
34
|
+
BadRequest = new("400 Bad Request")
|
35
|
+
Unauthorized = new("401 Unauthorized")
|
36
|
+
PaymentRequired = new("402 Payment Required")
|
37
|
+
Forbidden = new("403 Forbidden")
|
38
|
+
NotFound = new("404 Not Found")
|
39
|
+
MethodNotAllowed = new("405 Method Not Allowed")
|
40
|
+
NotAcceptable = new("406 Not Acceptable")
|
41
|
+
ProxyAuthenticationRequired = new("407 Proxy Authentication Required")
|
42
|
+
RequestTimeout = new("408 Request Timeout")
|
43
|
+
Conflict = new("409 Conflict")
|
44
|
+
Gone = new("410 Gone")
|
45
|
+
LengthRequired = new("411 Length Required")
|
46
|
+
PreconditionFailed = new("412 Precondition Failed")
|
47
|
+
ContentTooLarge = new("413 Content Too Large")
|
48
|
+
URITooLong = new("414 URI Too Long")
|
49
|
+
UnsupportedMediaType = new("415 Unsupported Media Type")
|
50
|
+
RangeNotSatisfied = new("416 Range Not Satisfied")
|
51
|
+
ExpectationFailed = new("417 Expectation Failed")
|
52
|
+
ImATeapot = new("418 I'm a teapot")
|
53
|
+
MisdirectedRequest = new("421 Misdirected Request")
|
54
|
+
UnprocessableContent = new("422 Unprocessable Content")
|
55
|
+
Locked = new("423 Locked")
|
56
|
+
FailedDependency = new("424 Failed Dependency")
|
57
|
+
TooEarly = new("425 Too Early")
|
58
|
+
UpgradeRequired = new("426 Upgrade Required")
|
59
|
+
PreconditionRequired = new("428 Precondition Required")
|
60
|
+
TooManyRequests = new("429 Too Many Requests")
|
61
|
+
RequestHeaderFieldsTooLarge = new("431 Request Header Fields Too Large")
|
62
|
+
UnavailableForLegalReasons = new("451 Unavailable For Legal Reasons")
|
63
|
+
# Server Error
|
64
|
+
InternalServerError = new("500 Internal Server Error")
|
65
|
+
NotImplemented = new("501 Not Implemented")
|
66
|
+
BadGateway = new("502 Bad Gateway")
|
67
|
+
ServiceUnavailable = new("503 Service Unavailable")
|
68
|
+
GatewayTimeout = new("504 Gateway Timeout")
|
69
|
+
HTTPVersionNotSupported = new("505 HTTP Version Not Supported")
|
70
|
+
VariantAlsoNegotiates = new("506 Variant Also Negotiates")
|
71
|
+
InsufficientStorage = new("507 Insufficient Storage")
|
72
|
+
LoopDetected = new("508 Loop Detected")
|
73
|
+
NotExtended = new("510 Not Extended")
|
74
|
+
NetworkAuthenticationRequired = new("511 Network Authentication Required")
|
75
|
+
end
|
76
|
+
|
77
|
+
class << self
|
78
|
+
extend T::Sig
|
79
|
+
|
80
|
+
sig { params(int: Integer).returns(StatusCode) }
|
81
|
+
def from_i(int)
|
82
|
+
case int
|
83
|
+
when 100
|
84
|
+
Continue
|
85
|
+
when 101
|
86
|
+
SwitchingProtocols
|
87
|
+
when 102
|
88
|
+
Processing
|
89
|
+
when 103
|
90
|
+
EarlyHints
|
91
|
+
when 200
|
92
|
+
OK
|
93
|
+
when 201
|
94
|
+
Created
|
95
|
+
when 202
|
96
|
+
Accepted
|
97
|
+
when 203
|
98
|
+
NonAuthoritativeInformation
|
99
|
+
when 204
|
100
|
+
NoContent
|
101
|
+
when 205
|
102
|
+
ResetContent
|
103
|
+
when 206
|
104
|
+
PartialContent
|
105
|
+
when 300
|
106
|
+
MultipleChoices
|
107
|
+
when 301
|
108
|
+
MovedPermanently
|
109
|
+
when 302
|
110
|
+
Found
|
111
|
+
when 303
|
112
|
+
SeeOther
|
113
|
+
when 304
|
114
|
+
NotModified
|
115
|
+
when 307
|
116
|
+
TemporaryRedirect
|
117
|
+
when 308
|
118
|
+
PermanentRedirect
|
119
|
+
when 400
|
120
|
+
BadRequest
|
121
|
+
when 401
|
122
|
+
Unauthorized
|
123
|
+
when 402
|
124
|
+
PaymentRequired
|
125
|
+
when 403
|
126
|
+
Forbidden
|
127
|
+
when 404
|
128
|
+
NotFound
|
129
|
+
when 405
|
130
|
+
MethodNotAllowed
|
131
|
+
when 406
|
132
|
+
NotAcceptable
|
133
|
+
when 407
|
134
|
+
ProxyAuthenticationRequired
|
135
|
+
when 408
|
136
|
+
RequestTimeout
|
137
|
+
when 409
|
138
|
+
Conflict
|
139
|
+
when 410
|
140
|
+
Gone
|
141
|
+
when 411
|
142
|
+
LengthRequired
|
143
|
+
when 412
|
144
|
+
PreconditionFailed
|
145
|
+
when 413
|
146
|
+
ContentTooLarge
|
147
|
+
when 414
|
148
|
+
URITooLong
|
149
|
+
when 415
|
150
|
+
UnsupportedMediaType
|
151
|
+
when 416
|
152
|
+
RangeNotSatisfied
|
153
|
+
when 417
|
154
|
+
ExpectationFailed
|
155
|
+
when 418
|
156
|
+
ImATeapot
|
157
|
+
when 421
|
158
|
+
MisdirectedRequest
|
159
|
+
when 422
|
160
|
+
UnprocessableContent
|
161
|
+
when 423
|
162
|
+
Locked
|
163
|
+
when 424
|
164
|
+
FailedDependency
|
165
|
+
when 425
|
166
|
+
TooEarly
|
167
|
+
when 426
|
168
|
+
UpgradeRequired
|
169
|
+
when 428
|
170
|
+
PreconditionRequired
|
171
|
+
when 429
|
172
|
+
TooManyRequests
|
173
|
+
when 431
|
174
|
+
RequestHeaderFieldsTooLarge
|
175
|
+
when 451
|
176
|
+
UnavailableForLegalReasons
|
177
|
+
when 500
|
178
|
+
InternalServerError
|
179
|
+
when 501
|
180
|
+
NotImplemented
|
181
|
+
when 502
|
182
|
+
BadGateway
|
183
|
+
when 503
|
184
|
+
ServiceUnavailable
|
185
|
+
when 504
|
186
|
+
GatewayTimeout
|
187
|
+
when 505
|
188
|
+
HTTPVersionNotSupported
|
189
|
+
when 506
|
190
|
+
VariantAlsoNegotiates
|
191
|
+
when 507
|
192
|
+
InsufficientStorage
|
193
|
+
when 508
|
194
|
+
LoopDetected
|
195
|
+
when 510
|
196
|
+
NotExtended
|
197
|
+
when 511
|
198
|
+
NetworkAuthenticationRequired
|
199
|
+
else
|
200
|
+
raise ArgumentError, "#{int} is not a valid HTTP status code."
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
alias from_code from_i
|
205
|
+
end
|
206
|
+
|
207
|
+
sig { returns(Integer) }
|
208
|
+
def to_i
|
209
|
+
case self
|
210
|
+
when Continue
|
211
|
+
100
|
212
|
+
when SwitchingProtocols
|
213
|
+
101
|
214
|
+
when Processing
|
215
|
+
102
|
216
|
+
when EarlyHints
|
217
|
+
103
|
218
|
+
when OK
|
219
|
+
200
|
220
|
+
when Created
|
221
|
+
201
|
222
|
+
when Accepted
|
223
|
+
202
|
224
|
+
when NonAuthoritativeInformation
|
225
|
+
203
|
226
|
+
when NoContent
|
227
|
+
204
|
228
|
+
when ResetContent
|
229
|
+
205
|
230
|
+
when PartialContent
|
231
|
+
206
|
232
|
+
when MultipleChoices
|
233
|
+
300
|
234
|
+
when MovedPermanently
|
235
|
+
301
|
236
|
+
when Found
|
237
|
+
302
|
238
|
+
when SeeOther
|
239
|
+
303
|
240
|
+
when NotModified
|
241
|
+
304
|
242
|
+
when TemporaryRedirect
|
243
|
+
307
|
244
|
+
when PermanentRedirect
|
245
|
+
308
|
246
|
+
when BadRequest
|
247
|
+
400
|
248
|
+
when Unauthorized
|
249
|
+
401
|
250
|
+
when PaymentRequired
|
251
|
+
402
|
252
|
+
when Forbidden
|
253
|
+
403
|
254
|
+
when NotFound
|
255
|
+
404
|
256
|
+
when MethodNotAllowed
|
257
|
+
405
|
258
|
+
when NotAcceptable
|
259
|
+
406
|
260
|
+
when ProxyAuthenticationRequired
|
261
|
+
407
|
262
|
+
when RequestTimeout
|
263
|
+
408
|
264
|
+
when Conflict
|
265
|
+
409
|
266
|
+
when Gone
|
267
|
+
410
|
268
|
+
when LengthRequired
|
269
|
+
411
|
270
|
+
when PreconditionFailed
|
271
|
+
412
|
272
|
+
when ContentTooLarge
|
273
|
+
413
|
274
|
+
when URITooLong
|
275
|
+
414
|
276
|
+
when UnsupportedMediaType
|
277
|
+
415
|
278
|
+
when RangeNotSatisfied
|
279
|
+
416
|
280
|
+
when ExpectationFailed
|
281
|
+
417
|
282
|
+
when ImATeapot
|
283
|
+
418
|
284
|
+
when MisdirectedRequest
|
285
|
+
421
|
286
|
+
when UnprocessableContent
|
287
|
+
422
|
288
|
+
when Locked
|
289
|
+
423
|
290
|
+
when FailedDependency
|
291
|
+
424
|
292
|
+
when TooEarly
|
293
|
+
425
|
294
|
+
when UpgradeRequired
|
295
|
+
426
|
296
|
+
when PreconditionRequired
|
297
|
+
428
|
298
|
+
when TooManyRequests
|
299
|
+
429
|
300
|
+
when RequestHeaderFieldsTooLarge
|
301
|
+
431
|
302
|
+
when UnavailableForLegalReasons
|
303
|
+
451
|
304
|
+
when InternalServerError
|
305
|
+
500
|
306
|
+
when NotImplemented
|
307
|
+
501
|
308
|
+
when BadGateway
|
309
|
+
502
|
310
|
+
when ServiceUnavailable
|
311
|
+
503
|
312
|
+
when GatewayTimeout
|
313
|
+
504
|
314
|
+
when HTTPVersionNotSupported
|
315
|
+
505
|
316
|
+
when VariantAlsoNegotiates
|
317
|
+
506
|
318
|
+
when InsufficientStorage
|
319
|
+
507
|
320
|
+
when LoopDetected
|
321
|
+
508
|
322
|
+
when NotExtended
|
323
|
+
510
|
324
|
+
when NetworkAuthenticationRequired
|
325
|
+
511
|
326
|
+
else
|
327
|
+
T.absurd(self)
|
328
|
+
end
|
329
|
+
end
|
330
|
+
|
331
|
+
alias to_code to_i
|
332
|
+
|
333
|
+
sig { returns(T::Boolean) }
|
334
|
+
def informational?
|
335
|
+
first_digit == 1
|
336
|
+
end
|
337
|
+
|
338
|
+
sig { returns(T::Boolean) }
|
339
|
+
def successful?
|
340
|
+
first_digit == 2
|
341
|
+
end
|
342
|
+
|
343
|
+
sig { returns(T::Boolean) }
|
344
|
+
def redirection?
|
345
|
+
first_digit == 3
|
346
|
+
end
|
347
|
+
|
348
|
+
sig { returns(T::Boolean) }
|
349
|
+
def client_error?
|
350
|
+
first_digit == 4
|
351
|
+
end
|
352
|
+
|
353
|
+
sig { returns(T::Boolean) }
|
354
|
+
def server_error?
|
355
|
+
first_digit == 5
|
356
|
+
end
|
357
|
+
|
358
|
+
private
|
359
|
+
|
360
|
+
sig { returns(Integer) }
|
361
|
+
def first_digit
|
362
|
+
to_i.digits[-1]
|
363
|
+
end
|
364
|
+
end
|
365
|
+
end
|
366
|
+
end
|
data/sorbet/config
ADDED
@@ -0,0 +1,269 @@
|
|
1
|
+
# typed: strict
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This file was pulled from a central RBI files repository.
|
5
|
+
# Please run `bin/tapioca annotations` to update it.
|
6
|
+
|
7
|
+
module Rainbow
|
8
|
+
# @shim: https://github.com/sickill/rainbow/blob/master/lib/rainbow.rb#L10-L12
|
9
|
+
sig { returns(T::Boolean) }
|
10
|
+
attr_accessor :enabled
|
11
|
+
|
12
|
+
class Color
|
13
|
+
sig { returns(Symbol) }
|
14
|
+
attr_reader :ground
|
15
|
+
|
16
|
+
sig { params(ground: Symbol, values: T.any([Integer], [Integer, Integer, Integer])).returns(Color) }
|
17
|
+
def self.build(ground, values); end
|
18
|
+
|
19
|
+
sig { params(hex: String).returns([Integer, Integer, Integer]) }
|
20
|
+
def self.parse_hex_color(hex); end
|
21
|
+
|
22
|
+
class Indexed < Rainbow::Color
|
23
|
+
sig { returns(Integer) }
|
24
|
+
attr_reader :num
|
25
|
+
|
26
|
+
sig { params(ground: Symbol, num: Integer).void }
|
27
|
+
def initialize(ground, num); end
|
28
|
+
|
29
|
+
sig { returns(T::Array[Integer]) }
|
30
|
+
def codes; end
|
31
|
+
end
|
32
|
+
|
33
|
+
class Named < Rainbow::Color::Indexed
|
34
|
+
NAMES = T.let(nil, T::Hash[Symbol, Integer])
|
35
|
+
|
36
|
+
sig { params(ground: Symbol, name: Symbol).void }
|
37
|
+
def initialize(ground, name); end
|
38
|
+
|
39
|
+
sig { returns(T::Array[Symbol]) }
|
40
|
+
def self.color_names; end
|
41
|
+
|
42
|
+
sig { returns(String) }
|
43
|
+
def self.valid_names; end
|
44
|
+
end
|
45
|
+
|
46
|
+
class RGB < Rainbow::Color::Indexed
|
47
|
+
sig { returns(Integer) }
|
48
|
+
attr_reader :r, :g, :b
|
49
|
+
|
50
|
+
sig { params(ground: Symbol, values: Integer).void }
|
51
|
+
def initialize(ground, *values); end
|
52
|
+
|
53
|
+
sig { returns(T::Array[Integer]) }
|
54
|
+
def codes; end
|
55
|
+
|
56
|
+
sig { params(value: Numeric).returns(Integer) }
|
57
|
+
def self.to_ansi_domain(value); end
|
58
|
+
end
|
59
|
+
|
60
|
+
class X11Named < Rainbow::Color::RGB
|
61
|
+
include Rainbow::X11ColorNames
|
62
|
+
|
63
|
+
sig { returns(T::Array[Symbol]) }
|
64
|
+
def self.color_names; end
|
65
|
+
|
66
|
+
sig { returns(String) }
|
67
|
+
def self.valid_names; end
|
68
|
+
|
69
|
+
sig { params(ground: Symbol, name: Symbol).void }
|
70
|
+
def initialize(ground, name); end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
sig { returns(Wrapper) }
|
75
|
+
def self.global; end
|
76
|
+
|
77
|
+
sig { returns(T::Boolean) }
|
78
|
+
def self.enabled; end
|
79
|
+
|
80
|
+
sig { params(value: T::Boolean).returns(T::Boolean) }
|
81
|
+
def self.enabled=(value); end
|
82
|
+
|
83
|
+
sig { params(string: String).returns(String) }
|
84
|
+
def self.uncolor(string); end
|
85
|
+
|
86
|
+
class NullPresenter < String
|
87
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
88
|
+
def color(*values); end
|
89
|
+
|
90
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
91
|
+
def foreground(*values); end
|
92
|
+
|
93
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
94
|
+
def fg(*values); end
|
95
|
+
|
96
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
97
|
+
def background(*values); end
|
98
|
+
|
99
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
100
|
+
def bg(*values); end
|
101
|
+
|
102
|
+
sig { returns(NullPresenter) }
|
103
|
+
def reset; end
|
104
|
+
|
105
|
+
sig { returns(NullPresenter) }
|
106
|
+
def bright; end
|
107
|
+
|
108
|
+
sig { returns(NullPresenter) }
|
109
|
+
def faint; end
|
110
|
+
|
111
|
+
sig { returns(NullPresenter) }
|
112
|
+
def italic; end
|
113
|
+
|
114
|
+
sig { returns(NullPresenter) }
|
115
|
+
def underline; end
|
116
|
+
|
117
|
+
sig { returns(NullPresenter) }
|
118
|
+
def blink; end
|
119
|
+
|
120
|
+
sig { returns(NullPresenter) }
|
121
|
+
def inverse; end
|
122
|
+
|
123
|
+
sig { returns(NullPresenter) }
|
124
|
+
def hide; end
|
125
|
+
|
126
|
+
sig { returns(NullPresenter) }
|
127
|
+
def cross_out; end
|
128
|
+
|
129
|
+
sig { returns(NullPresenter) }
|
130
|
+
def black; end
|
131
|
+
|
132
|
+
sig { returns(NullPresenter) }
|
133
|
+
def red; end
|
134
|
+
|
135
|
+
sig { returns(NullPresenter) }
|
136
|
+
def green; end
|
137
|
+
|
138
|
+
sig { returns(NullPresenter) }
|
139
|
+
def yellow; end
|
140
|
+
|
141
|
+
sig { returns(NullPresenter) }
|
142
|
+
def blue; end
|
143
|
+
|
144
|
+
sig { returns(NullPresenter) }
|
145
|
+
def magenta; end
|
146
|
+
|
147
|
+
sig { returns(NullPresenter) }
|
148
|
+
def cyan; end
|
149
|
+
|
150
|
+
sig { returns(NullPresenter) }
|
151
|
+
def white; end
|
152
|
+
|
153
|
+
sig { returns(NullPresenter) }
|
154
|
+
def bold; end
|
155
|
+
|
156
|
+
sig { returns(NullPresenter) }
|
157
|
+
def dark; end
|
158
|
+
|
159
|
+
sig { returns(NullPresenter) }
|
160
|
+
def strike; end
|
161
|
+
end
|
162
|
+
|
163
|
+
class Presenter < String
|
164
|
+
TERM_EFFECTS = T.let(nil, T::Hash[Symbol, Integer])
|
165
|
+
|
166
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
167
|
+
def color(*values); end
|
168
|
+
|
169
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
170
|
+
def foreground(*values); end
|
171
|
+
|
172
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
173
|
+
def fg(*values); end
|
174
|
+
|
175
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
176
|
+
def background(*values); end
|
177
|
+
|
178
|
+
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
179
|
+
def bg(*values); end
|
180
|
+
|
181
|
+
sig { returns(Presenter) }
|
182
|
+
def reset; end
|
183
|
+
|
184
|
+
sig { returns(Presenter) }
|
185
|
+
def bright; end
|
186
|
+
|
187
|
+
sig { returns(Presenter) }
|
188
|
+
def faint; end
|
189
|
+
|
190
|
+
sig { returns(Presenter) }
|
191
|
+
def italic; end
|
192
|
+
|
193
|
+
sig { returns(Presenter) }
|
194
|
+
def underline; end
|
195
|
+
|
196
|
+
sig { returns(Presenter) }
|
197
|
+
def blink; end
|
198
|
+
|
199
|
+
sig { returns(Presenter) }
|
200
|
+
def inverse; end
|
201
|
+
|
202
|
+
sig { returns(Presenter) }
|
203
|
+
def hide; end
|
204
|
+
|
205
|
+
sig { returns(Presenter) }
|
206
|
+
def cross_out; end
|
207
|
+
|
208
|
+
sig { returns(Presenter) }
|
209
|
+
def black; end
|
210
|
+
|
211
|
+
sig { returns(Presenter) }
|
212
|
+
def red; end
|
213
|
+
|
214
|
+
sig { returns(Presenter) }
|
215
|
+
def green; end
|
216
|
+
|
217
|
+
sig { returns(Presenter) }
|
218
|
+
def yellow; end
|
219
|
+
|
220
|
+
sig { returns(Presenter) }
|
221
|
+
def blue; end
|
222
|
+
|
223
|
+
sig { returns(Presenter) }
|
224
|
+
def magenta; end
|
225
|
+
|
226
|
+
sig { returns(Presenter) }
|
227
|
+
def cyan; end
|
228
|
+
|
229
|
+
sig { returns(Presenter) }
|
230
|
+
def white; end
|
231
|
+
|
232
|
+
sig { returns(Presenter) }
|
233
|
+
def bold; end
|
234
|
+
|
235
|
+
sig { returns(Presenter) }
|
236
|
+
def dark; end
|
237
|
+
|
238
|
+
sig { returns(Presenter) }
|
239
|
+
def strike; end
|
240
|
+
end
|
241
|
+
|
242
|
+
class StringUtils
|
243
|
+
sig { params(string: String, codes: T::Array[Integer]).returns(String) }
|
244
|
+
def self.wrap_with_sgr(string, codes); end
|
245
|
+
|
246
|
+
sig { params(string: String).returns(String) }
|
247
|
+
def self.uncolor(string); end
|
248
|
+
end
|
249
|
+
|
250
|
+
VERSION = T.let(nil, String)
|
251
|
+
|
252
|
+
class Wrapper
|
253
|
+
sig { returns(T::Boolean) }
|
254
|
+
attr_accessor :enabled
|
255
|
+
|
256
|
+
sig { params(enabled: T::Boolean).void }
|
257
|
+
def initialize(enabled = true); end
|
258
|
+
|
259
|
+
sig { params(string: String).returns(T.any(Rainbow::Presenter, Rainbow::NullPresenter)) }
|
260
|
+
def wrap(string); end
|
261
|
+
end
|
262
|
+
|
263
|
+
module X11ColorNames
|
264
|
+
NAMES = T.let(nil, T::Hash[Symbol, [Integer, Integer, Integer]])
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
sig { params(string: String).returns(Rainbow::Presenter) }
|
269
|
+
def Rainbow(string); end
|