sorbet-schema 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/.standard.yml +6 -0
  4. data/.tool-versions +1 -0
  5. data/CHANGELOG.md +24 -0
  6. data/CODE_OF_CONDUCT.md +84 -0
  7. data/Gemfile +25 -0
  8. data/Gemfile.lock +147 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +43 -0
  11. data/Rakefile +22 -0
  12. data/lib/sorbet-schema/hash_transformer.rb +22 -0
  13. data/lib/sorbet-schema/struct_ext.rb +37 -0
  14. data/lib/sorbet-schema/version.rb +5 -0
  15. data/lib/sorbet-schema.rb +27 -0
  16. data/lib/typed/coercion/coercer.rb +18 -0
  17. data/lib/typed/coercion/coercion_error.rb +7 -0
  18. data/lib/typed/coercion/coercion_not_supported_error.rb +7 -0
  19. data/lib/typed/coercion/float_coercer.rb +21 -0
  20. data/lib/typed/coercion/integer_coercer.rb +21 -0
  21. data/lib/typed/coercion/string_coercer.rb +19 -0
  22. data/lib/typed/coercion/struct_coercer.rb +26 -0
  23. data/lib/typed/coercion.rb +26 -0
  24. data/lib/typed/deserialize_error.rb +6 -0
  25. data/lib/typed/field.rb +28 -0
  26. data/lib/typed/hash_serializer.rb +21 -0
  27. data/lib/typed/json_serializer.rb +28 -0
  28. data/lib/typed/parse_error.rb +12 -0
  29. data/lib/typed/schema.rb +10 -0
  30. data/lib/typed/serializer.rb +61 -0
  31. data/lib/typed/validations/field_type_validator.rb +24 -0
  32. data/lib/typed/validations/field_validator.rb +15 -0
  33. data/lib/typed/validations/multiple_validation_error.rb +16 -0
  34. data/lib/typed/validations/required_field_error.rb +14 -0
  35. data/lib/typed/validations/type_mismatch_error.rb +14 -0
  36. data/lib/typed/validations/validated_value.rb +12 -0
  37. data/lib/typed/validations/validation_error.rb +8 -0
  38. data/lib/typed/validations/validation_results.rb +29 -0
  39. data/lib/typed/validations.rb +8 -0
  40. data/sorbet/config +5 -0
  41. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  42. data/sorbet/rbi/gems/.gitattributes +1 -0
  43. data/sorbet/rbi/gems/ansi@1.5.0.rbi +687 -0
  44. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  45. data/sorbet/rbi/gems/builder@3.2.4.rbi +504 -0
  46. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  47. data/sorbet/rbi/gems/io-console@0.7.2.rbi +8 -0
  48. data/sorbet/rbi/gems/json@2.7.1.rbi +1553 -0
  49. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  50. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +239 -0
  51. data/sorbet/rbi/gems/minitest-focus@1.4.0.rbi +91 -0
  52. data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +1010 -0
  53. data/sorbet/rbi/gems/minitest@5.22.2.rbi +2233 -0
  54. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  55. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  56. data/sorbet/rbi/gems/parser@3.3.0.5.rbi +5472 -0
  57. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  58. data/sorbet/rbi/gems/prism@0.24.0.rbi +31040 -0
  59. data/sorbet/rbi/gems/psych@5.1.2.rbi +1731 -0
  60. data/sorbet/rbi/gems/racc@1.7.3.rbi +157 -0
  61. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  62. data/sorbet/rbi/gems/rake@13.1.0.rbi +3027 -0
  63. data/sorbet/rbi/gems/rbi@0.1.9.rbi +3006 -0
  64. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  65. data/sorbet/rbi/gems/reline@0.4.3.rbi +8 -0
  66. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  67. data/sorbet/rbi/gems/rubocop-ast@1.31.1.rbi +7014 -0
  68. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +8 -0
  69. data/sorbet/rbi/gems/rubocop-sorbet@0.7.7.rbi +8 -0
  70. data/sorbet/rbi/gems/rubocop@1.61.0.rbi +57499 -0
  71. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  72. data/sorbet/rbi/gems/sorbet-result@1.1.0.rbi +519 -0
  73. data/sorbet/rbi/gems/sorbet-struct-comparable@1.3.0.rbi +34 -0
  74. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  75. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +8 -0
  76. data/sorbet/rbi/gems/standard-performance@1.3.1.rbi +80 -0
  77. data/sorbet/rbi/gems/standard-sorbet@0.0.2.rbi +52 -0
  78. data/sorbet/rbi/gems/standard@1.34.0.rbi +850 -0
  79. data/sorbet/rbi/gems/stringio@3.1.0.rbi +8 -0
  80. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23133 -0
  81. data/sorbet/rbi/gems/tapioca@0.12.0.rbi +3499 -0
  82. data/sorbet/rbi/gems/thor@1.3.1.rbi +4351 -0
  83. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  84. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  85. data/sorbet/rbi/gems/yard@0.9.36.rbi +18220 -0
  86. data/sorbet/rbi/gems/zeitwerk@2.6.13.rbi +1003 -0
  87. data/sorbet/tapioca/config.yml +4 -0
  88. data/sorbet/tapioca/require.rb +12 -0
  89. metadata +191 -0
@@ -0,0 +1,519 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `sorbet-result` gem.
5
+ # Please instead update this file by running `bin/tapioca gem sorbet-result`.
6
+
7
+ # source://sorbet-result//lib/minitest/result_assertions.rb#6
8
+ module Minitest
9
+ class << self
10
+ # source://minitest/5.22.2/lib/minitest.rb#197
11
+ def __run(reporter, options); end
12
+
13
+ # source://minitest/5.22.2/lib/minitest.rb#97
14
+ def after_run(&block); end
15
+
16
+ # source://minitest/5.22.2/lib/minitest.rb#19
17
+ def allow_fork; end
18
+
19
+ # source://minitest/5.22.2/lib/minitest.rb#19
20
+ def allow_fork=(_arg0); end
21
+
22
+ # source://minitest/5.22.2/lib/minitest.rb#69
23
+ def autorun; end
24
+
25
+ # source://minitest/5.22.2/lib/minitest.rb#19
26
+ def backtrace_filter; end
27
+
28
+ # source://minitest/5.22.2/lib/minitest.rb#19
29
+ def backtrace_filter=(_arg0); end
30
+
31
+ # source://minitest/5.22.2/lib/minitest.rb#18
32
+ def cattr_accessor(name); end
33
+
34
+ # source://minitest/5.22.2/lib/minitest.rb#1146
35
+ def clock_time; end
36
+
37
+ # source://minitest/5.22.2/lib/minitest.rb#177
38
+ def empty_run!(options); end
39
+
40
+ # source://minitest/5.22.2/lib/minitest.rb#19
41
+ def extensions; end
42
+
43
+ # source://minitest/5.22.2/lib/minitest.rb#19
44
+ def extensions=(_arg0); end
45
+
46
+ # source://minitest/5.22.2/lib/minitest.rb#292
47
+ def filter_backtrace(bt); end
48
+
49
+ # source://minitest/5.22.2/lib/minitest.rb#19
50
+ def info_signal; end
51
+
52
+ # source://minitest/5.22.2/lib/minitest.rb#19
53
+ def info_signal=(_arg0); end
54
+
55
+ # source://minitest/5.22.2/lib/minitest.rb#101
56
+ def init_plugins(options); end
57
+
58
+ # source://minitest/5.22.2/lib/minitest.rb#108
59
+ def load_plugins; end
60
+
61
+ # source://minitest/5.22.2/lib/minitest.rb#19
62
+ def parallel_executor; end
63
+
64
+ # source://minitest/5.22.2/lib/minitest.rb#19
65
+ def parallel_executor=(_arg0); end
66
+
67
+ # source://minitest/5.22.2/lib/minitest.rb#210
68
+ def process_args(args = T.unsafe(nil)); end
69
+
70
+ # source://minitest/5.22.2/lib/minitest.rb#19
71
+ def reporter; end
72
+
73
+ # source://minitest/5.22.2/lib/minitest.rb#19
74
+ def reporter=(_arg0); end
75
+
76
+ # source://minitest/5.22.2/lib/minitest.rb#143
77
+ def run(args = T.unsafe(nil)); end
78
+
79
+ # source://minitest/5.22.2/lib/minitest.rb#1137
80
+ def run_one_method(klass, method_name); end
81
+
82
+ # source://minitest/5.22.2/lib/minitest.rb#19
83
+ def seed; end
84
+
85
+ # source://minitest/5.22.2/lib/minitest.rb#19
86
+ def seed=(_arg0); end
87
+ end
88
+ end
89
+
90
+ # source://sorbet-result//lib/minitest/result_assertions.rb#7
91
+ module Minitest::Assertions
92
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#188
93
+ def _synchronize; end
94
+
95
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#201
96
+ def _where; end
97
+
98
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#178
99
+ def assert(test, msg = T.unsafe(nil)); end
100
+
101
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#195
102
+ def assert_empty(obj, msg = T.unsafe(nil)); end
103
+
104
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#221
105
+ def assert_equal(exp, act, msg = T.unsafe(nil)); end
106
+
107
+ # Fails unless exp is equal to error
108
+ #
109
+ # source://sorbet-result//lib/minitest/result_assertions.rb#24
110
+ def assert_error(exp, result); end
111
+
112
+ # Fails unless Result is a Failure
113
+ #
114
+ # source://sorbet-result//lib/minitest/result_assertions.rb#14
115
+ def assert_failure(result); end
116
+
117
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#242
118
+ def assert_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
119
+
120
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#254
121
+ def assert_in_epsilon(exp, act, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
122
+
123
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#261
124
+ def assert_includes(collection, obj, msg = T.unsafe(nil)); end
125
+
126
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#272
127
+ def assert_instance_of(cls, obj, msg = T.unsafe(nil)); end
128
+
129
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#283
130
+ def assert_kind_of(cls, obj, msg = T.unsafe(nil)); end
131
+
132
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#293
133
+ def assert_match(matcher, obj, msg = T.unsafe(nil)); end
134
+
135
+ # source://minitest/5.22.2/lib/minitest/mock.rb#250
136
+ def assert_mock(mock); end
137
+
138
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#305
139
+ def assert_nil(obj, msg = T.unsafe(nil)); end
140
+
141
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#315
142
+ def assert_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
143
+
144
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#333
145
+ def assert_output(stdout = T.unsafe(nil), stderr = T.unsafe(nil)); end
146
+
147
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#357
148
+ def assert_path_exists(path, msg = T.unsafe(nil)); end
149
+
150
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#376
151
+ def assert_pattern; end
152
+
153
+ # Fails unless exp is equal to payload
154
+ #
155
+ # source://sorbet-result//lib/minitest/result_assertions.rb#19
156
+ def assert_payload(exp, result); end
157
+
158
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#397
159
+ def assert_predicate(o1, op, msg = T.unsafe(nil)); end
160
+
161
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#424
162
+ def assert_raises(*exp); end
163
+
164
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#456
165
+ def assert_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
166
+
167
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#466
168
+ def assert_same(exp, act, msg = T.unsafe(nil)); end
169
+
170
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#479
171
+ def assert_send(send_ary, m = T.unsafe(nil)); end
172
+
173
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#493
174
+ def assert_silent; end
175
+
176
+ # Fails unless Result is a Success
177
+ #
178
+ # source://sorbet-result//lib/minitest/result_assertions.rb#9
179
+ def assert_success(result); end
180
+
181
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#502
182
+ def assert_throws(sym, msg = T.unsafe(nil)); end
183
+
184
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#543
185
+ def capture_io; end
186
+
187
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#576
188
+ def capture_subprocess_io; end
189
+
190
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#59
191
+ def diff(exp, act); end
192
+
193
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#608
194
+ def exception_details(e, msg); end
195
+
196
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#624
197
+ def fail_after(y, m, d, msg); end
198
+
199
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#631
200
+ def flunk(msg = T.unsafe(nil)); end
201
+
202
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#639
203
+ def message(msg = T.unsafe(nil), ending = T.unsafe(nil), &default); end
204
+
205
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#129
206
+ def mu_pp(obj); end
207
+
208
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#152
209
+ def mu_pp_for_diff(obj); end
210
+
211
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#650
212
+ def pass(_msg = T.unsafe(nil)); end
213
+
214
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#657
215
+ def refute(test, msg = T.unsafe(nil)); end
216
+
217
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#665
218
+ def refute_empty(obj, msg = T.unsafe(nil)); end
219
+
220
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#676
221
+ def refute_equal(exp, act, msg = T.unsafe(nil)); end
222
+
223
+ # Fails if exp is equal to error
224
+ #
225
+ # source://sorbet-result//lib/minitest/result_assertions.rb#44
226
+ def refute_error(exp, result); end
227
+
228
+ # Fails if Result is a Failure
229
+ #
230
+ # source://sorbet-result//lib/minitest/result_assertions.rb#34
231
+ def refute_failure(result); end
232
+
233
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#688
234
+ def refute_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
235
+
236
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#700
237
+ def refute_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
238
+
239
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#707
240
+ def refute_includes(collection, obj, msg = T.unsafe(nil)); end
241
+
242
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#718
243
+ def refute_instance_of(cls, obj, msg = T.unsafe(nil)); end
244
+
245
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#728
246
+ def refute_kind_of(cls, obj, msg = T.unsafe(nil)); end
247
+
248
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#736
249
+ def refute_match(matcher, obj, msg = T.unsafe(nil)); end
250
+
251
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#746
252
+ def refute_nil(obj, msg = T.unsafe(nil)); end
253
+
254
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#781
255
+ def refute_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
256
+
257
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#790
258
+ def refute_path_exists(path, msg = T.unsafe(nil)); end
259
+
260
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#763
261
+ def refute_pattern; end
262
+
263
+ # Fails if exp is equal to payload
264
+ #
265
+ # source://sorbet-result//lib/minitest/result_assertions.rb#39
266
+ def refute_payload(exp, result); end
267
+
268
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#804
269
+ def refute_predicate(o1, op, msg = T.unsafe(nil)); end
270
+
271
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#813
272
+ def refute_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
273
+
274
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#822
275
+ def refute_same(exp, act, msg = T.unsafe(nil)); end
276
+
277
+ # Fails if Result is a Success
278
+ #
279
+ # source://sorbet-result//lib/minitest/result_assertions.rb#29
280
+ def refute_success(result); end
281
+
282
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#835
283
+ def skip(msg = T.unsafe(nil), _ignored = T.unsafe(nil)); end
284
+
285
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#847
286
+ def skip_until(y, m, d, msg); end
287
+
288
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#856
289
+ def skipped?; end
290
+
291
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#104
292
+ def things_to_diff(exp, act); end
293
+
294
+ class << self
295
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#29
296
+ def diff; end
297
+
298
+ # source://minitest/5.22.2/lib/minitest/assertions.rb#47
299
+ def diff=(o); end
300
+ end
301
+ end
302
+
303
+ # source://sorbet-result//lib/typed/no_error_on_success_error.rb#4
304
+ module Typed; end
305
+
306
+ # source://sorbet-result//lib/typed/result.rb#138
307
+ class Typed::Failure < ::Typed::Result
308
+ extend T::Generic
309
+
310
+ Payload = type_member { { fixed: T.noreturn } }
311
+ Error = type_member
312
+
313
+ # source://sorbet-result//lib/typed/result.rb#163
314
+ sig { params(error: Error).void }
315
+ def initialize(error); end
316
+
317
+ # source://sorbet-result//lib/typed/result.rb#189
318
+ sig do
319
+ override
320
+ .type_parameters(:U, :T)
321
+ .params(
322
+ _block: T.proc.params(arg0: Payload).returns(Typed::Result[T.type_parameter(:U), T.type_parameter(:T)])
323
+ ).returns(Typed::Result[T.type_parameter(:U), Error])
324
+ end
325
+ def and_then(&_block); end
326
+
327
+ # source://sorbet-result//lib/typed/result.rb#146
328
+ sig { override.returns(Error) }
329
+ def error; end
330
+
331
+ # source://sorbet-result//lib/typed/result.rb#174
332
+ sig { override.returns(T::Boolean) }
333
+ def failure?; end
334
+
335
+ # source://sorbet-result//lib/typed/result.rb#198
336
+ sig { override.params(block: T.proc.params(arg0: Error).void).returns(T.self_type) }
337
+ def on_error(&block); end
338
+
339
+ # @raise [NoPayloadOnFailureError]
340
+ #
341
+ # source://sorbet-result//lib/typed/result.rb#179
342
+ sig { override.returns(T.noreturn) }
343
+ def payload; end
344
+
345
+ # source://sorbet-result//lib/typed/result.rb#209
346
+ sig do
347
+ override
348
+ .type_parameters(:Fallback)
349
+ .params(
350
+ value: T.type_parameter(:Fallback)
351
+ ).returns(T.any(Payload, T.type_parameter(:Fallback)))
352
+ end
353
+ def payload_or(value); end
354
+
355
+ # source://sorbet-result//lib/typed/result.rb#169
356
+ sig { override.returns(T::Boolean) }
357
+ def success?; end
358
+
359
+ class << self
360
+ # source://sorbet-result//lib/typed/result.rb#158
361
+ sig { returns(Typed::Failure[::NilClass]) }
362
+ def blank; end
363
+
364
+ # source://sorbet-result//lib/typed/result.rb#153
365
+ sig { type_parameters(:T).params(error: T.type_parameter(:T)).returns(Typed::Failure[T.type_parameter(:T)]) }
366
+ def new(error); end
367
+ end
368
+ end
369
+
370
+ # Error when user attempts to access payload from a Failure Result.
371
+ #
372
+ # source://sorbet-result//lib/typed/no_error_on_success_error.rb#6
373
+ class Typed::NoErrorOnSuccessError < ::StandardError
374
+ # source://sorbet-result//lib/typed/no_error_on_success_error.rb#10
375
+ sig { void }
376
+ def initialize; end
377
+ end
378
+
379
+ # Error when user attempts to access payload from a Failure Result.
380
+ #
381
+ # source://sorbet-result//lib/typed/no_payload_on_failure_error.rb#6
382
+ class Typed::NoPayloadOnFailureError < ::StandardError
383
+ # source://sorbet-result//lib/typed/no_payload_on_failure_error.rb#10
384
+ sig { void }
385
+ def initialize; end
386
+ end
387
+
388
+ # A monad representing either a success or a failure. Contains payload and error information as well.
389
+ #
390
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
391
+ #
392
+ # source://sorbet-result//lib/typed/result.rb#9
393
+ class Typed::Result
394
+ extend T::Generic
395
+
396
+ abstract!
397
+ sealed!
398
+
399
+ Payload = type_member(:out)
400
+ Error = type_member(:out)
401
+
402
+ # @abstract
403
+ #
404
+ # source://sorbet-result//lib/typed/result.rb#42
405
+ sig do
406
+ abstract
407
+ .type_parameters(:U, :T)
408
+ .params(
409
+ _block: T.proc.params(arg0: Payload).returns(Typed::Result[T.type_parameter(:U), T.type_parameter(:T)])
410
+ ).returns(T.any(Typed::Result[T.type_parameter(:U), Error], Typed::Result[T.type_parameter(:U), T.type_parameter(:T)]))
411
+ end
412
+ def and_then(&_block); end
413
+
414
+ # @abstract
415
+ #
416
+ # source://sorbet-result//lib/typed/result.rb#33
417
+ sig { abstract.returns(Error) }
418
+ def error; end
419
+
420
+ # @abstract
421
+ #
422
+ # source://sorbet-result//lib/typed/result.rb#25
423
+ sig { abstract.returns(T::Boolean) }
424
+ def failure?; end
425
+
426
+ # @abstract
427
+ #
428
+ # source://sorbet-result//lib/typed/result.rb#50
429
+ sig { abstract.params(block: T.proc.params(arg0: Error).void).returns(T.self_type) }
430
+ def on_error(&block); end
431
+
432
+ # @abstract
433
+ #
434
+ # source://sorbet-result//lib/typed/result.rb#29
435
+ sig { abstract.returns(Payload) }
436
+ def payload; end
437
+
438
+ # @abstract
439
+ #
440
+ # source://sorbet-result//lib/typed/result.rb#59
441
+ sig do
442
+ abstract
443
+ .type_parameters(:Fallback)
444
+ .params(
445
+ value: T.type_parameter(:Fallback)
446
+ ).returns(T.any(Payload, T.type_parameter(:Fallback)))
447
+ end
448
+ def payload_or(value); end
449
+
450
+ # @abstract
451
+ #
452
+ # source://sorbet-result//lib/typed/result.rb#21
453
+ sig { abstract.returns(T::Boolean) }
454
+ def success?; end
455
+ end
456
+
457
+ # source://sorbet-result//lib/typed/result.rb#63
458
+ class Typed::Success < ::Typed::Result
459
+ extend T::Generic
460
+
461
+ Payload = type_member
462
+ Error = type_member { { fixed: T.noreturn } }
463
+
464
+ # source://sorbet-result//lib/typed/result.rb#88
465
+ sig { params(payload: Payload).void }
466
+ def initialize(payload); end
467
+
468
+ # source://sorbet-result//lib/typed/result.rb#114
469
+ sig do
470
+ override
471
+ .type_parameters(:U, :T)
472
+ .params(
473
+ block: T.proc.params(arg0: Payload).returns(Typed::Result[T.type_parameter(:U), T.type_parameter(:T)])
474
+ ).returns(Typed::Result[T.type_parameter(:U), T.type_parameter(:T)])
475
+ end
476
+ def and_then(&block); end
477
+
478
+ # @raise [NoErrorOnSuccessError]
479
+ #
480
+ # source://sorbet-result//lib/typed/result.rb#104
481
+ sig { override.returns(T.noreturn) }
482
+ def error; end
483
+
484
+ # source://sorbet-result//lib/typed/result.rb#99
485
+ sig { override.returns(T::Boolean) }
486
+ def failure?; end
487
+
488
+ # source://sorbet-result//lib/typed/result.rb#123
489
+ sig { override.params(_block: T.proc.params(arg0: Error).void).returns(T.self_type) }
490
+ def on_error(&_block); end
491
+
492
+ # source://sorbet-result//lib/typed/result.rb#71
493
+ sig { override.returns(Payload) }
494
+ def payload; end
495
+
496
+ # source://sorbet-result//lib/typed/result.rb#133
497
+ sig do
498
+ override
499
+ .type_parameters(:Fallback)
500
+ .params(
501
+ _value: T.type_parameter(:Fallback)
502
+ ).returns(T.any(Payload, T.type_parameter(:Fallback)))
503
+ end
504
+ def payload_or(_value); end
505
+
506
+ # source://sorbet-result//lib/typed/result.rb#94
507
+ sig { override.returns(T::Boolean) }
508
+ def success?; end
509
+
510
+ class << self
511
+ # source://sorbet-result//lib/typed/result.rb#83
512
+ sig { returns(Typed::Success[::NilClass]) }
513
+ def blank; end
514
+
515
+ # source://sorbet-result//lib/typed/result.rb#78
516
+ sig { type_parameters(:T).params(payload: T.type_parameter(:T)).returns(Typed::Success[T.type_parameter(:T)]) }
517
+ def new(payload); end
518
+ end
519
+ end
@@ -0,0 +1,34 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `sorbet-struct-comparable` gem.
5
+ # Please instead update this file by running `bin/tapioca gem sorbet-struct-comparable`.
6
+
7
+ # source://sorbet-struct-comparable//lib/sorbet-struct-comparable/version.rb#4
8
+ module SorbetStructComparable; end
9
+
10
+ # source://sorbet-struct-comparable//lib/sorbet-struct-comparable/version.rb#5
11
+ SorbetStructComparable::VERSION = T.let(T.unsafe(nil), String)
12
+
13
+ # source://sorbet-struct-comparable//lib/t/struct/acts_as_comparable.rb#6
14
+ module T::Struct::ActsAsComparable
15
+ include ::Comparable
16
+
17
+ # source://sorbet-struct-comparable//lib/t/struct/acts_as_comparable.rb#14
18
+ sig { params(other: ::Object).returns(T.nilable(::Integer)) }
19
+ def <=>(other); end
20
+
21
+ # source://sorbet-struct-comparable//lib/t/struct/acts_as_comparable.rb#26
22
+ sig { params(other: ::Object).returns(T::Boolean) }
23
+ def eql?(other); end
24
+
25
+ # source://sorbet-struct-comparable//lib/t/struct/acts_as_comparable.rb#31
26
+ sig { returns(::Integer) }
27
+ def hash; end
28
+ end
29
+
30
+ # source://sorbet-struct-comparable//lib/t/struct/acts_as_comparable.rb#10
31
+ T::Struct::ActsAsComparable::EQUAL = T.let(T.unsafe(nil), Integer)
32
+
33
+ # source://sorbet-struct-comparable//lib/t/struct/acts_as_comparable.rb#11
34
+ T::Struct::ActsAsComparable::NOT_COMPARABLE = T.let(T.unsafe(nil), T.untyped)