mangrove 0.12.0 → 0.14.0
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 +4 -4
- data/docs/Mangrove/ControlFlow/ControlSignal.html +1 -1
- data/docs/Mangrove/ControlFlow.html +1 -1
- data/docs/Mangrove/Option/ControlSignal.html +1 -1
- data/docs/Mangrove/Option/None.html +1 -1
- data/docs/Mangrove/Option/Some.html +1 -1
- data/docs/Mangrove/Option.html +1 -1
- data/docs/Mangrove/Result/ControlSignal.html +1 -1
- data/docs/Mangrove/Result/Err.html +1039 -79
- data/docs/Mangrove/Result/Ok.html +1049 -85
- data/docs/Mangrove/Result.html +1231 -97
- data/docs/Mangrove.html +2 -2
- data/docs/_index.html +1 -1
- data/docs/file.README.html +1 -1
- data/docs/index.html +1 -1
- data/docs/method_list.html +264 -8
- data/docs/top-level-namespace.html +1 -1
- data/lib/mangrove/result.rb +149 -6
- data/lib/mangrove/version.rb +1 -1
- metadata +2 -2
data/docs/Mangrove.html
CHANGED
@@ -118,7 +118,7 @@
|
|
118
118
|
<dt id="VERSION-constant" class="">VERSION =
|
119
119
|
|
120
120
|
</dt>
|
121
|
-
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0.
|
121
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0.14.0</span><span class='tstring_end'>"</span></span></pre></dd>
|
122
122
|
|
123
123
|
</dl>
|
124
124
|
|
@@ -134,7 +134,7 @@
|
|
134
134
|
</div>
|
135
135
|
|
136
136
|
<div id="footer">
|
137
|
-
Generated on
|
137
|
+
Generated on Thu Oct 26 12:34:21 2023 by
|
138
138
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
139
139
|
0.9.34 (ruby-3.1.2).
|
140
140
|
</div>
|
data/docs/_index.html
CHANGED
@@ -215,7 +215,7 @@
|
|
215
215
|
</div>
|
216
216
|
|
217
217
|
<div id="footer">
|
218
|
-
Generated on
|
218
|
+
Generated on Thu Oct 26 12:34:21 2023 by
|
219
219
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
220
220
|
0.9.34 (ruby-3.1.2).
|
221
221
|
</div>
|
data/docs/file.README.html
CHANGED
@@ -162,7 +162,7 @@ rake release
|
|
162
162
|
</div></div>
|
163
163
|
|
164
164
|
<div id="footer">
|
165
|
-
Generated on
|
165
|
+
Generated on Thu Oct 26 12:34:21 2023 by
|
166
166
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
167
167
|
0.9.34 (ruby-3.1.2).
|
168
168
|
</div>
|
data/docs/index.html
CHANGED
@@ -162,7 +162,7 @@ rake release
|
|
162
162
|
</div></div>
|
163
163
|
|
164
164
|
<div id="footer">
|
165
|
-
Generated on
|
165
|
+
Generated on Thu Oct 26 12:34:21 2023 by
|
166
166
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
167
167
|
0.9.34 (ruby-3.1.2).
|
168
168
|
</div>
|
data/docs/method_list.html
CHANGED
@@ -108,6 +108,86 @@
|
|
108
108
|
</li>
|
109
109
|
|
110
110
|
|
111
|
+
<li class="odd ">
|
112
|
+
<div class="item">
|
113
|
+
<span class='object_link'><a href="Mangrove/Result.html#and-instance_method" title="Mangrove::Result#and (method)">#and</a></span>
|
114
|
+
<small>Mangrove::Result</small>
|
115
|
+
</div>
|
116
|
+
</li>
|
117
|
+
|
118
|
+
|
119
|
+
<li class="even ">
|
120
|
+
<div class="item">
|
121
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#and-instance_method" title="Mangrove::Result::Ok#and (method)">#and</a></span>
|
122
|
+
<small>Mangrove::Result::Ok</small>
|
123
|
+
</div>
|
124
|
+
</li>
|
125
|
+
|
126
|
+
|
127
|
+
<li class="odd ">
|
128
|
+
<div class="item">
|
129
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#and-instance_method" title="Mangrove::Result::Err#and (method)">#and</a></span>
|
130
|
+
<small>Mangrove::Result::Err</small>
|
131
|
+
</div>
|
132
|
+
</li>
|
133
|
+
|
134
|
+
|
135
|
+
<li class="even ">
|
136
|
+
<div class="item">
|
137
|
+
<span class='object_link'><a href="Mangrove/Result.html#and_then-instance_method" title="Mangrove::Result#and_then (method)">#and_then</a></span>
|
138
|
+
<small>Mangrove::Result</small>
|
139
|
+
</div>
|
140
|
+
</li>
|
141
|
+
|
142
|
+
|
143
|
+
<li class="odd ">
|
144
|
+
<div class="item">
|
145
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#and_then-instance_method" title="Mangrove::Result::Ok#and_then (method)">#and_then</a></span>
|
146
|
+
<small>Mangrove::Result::Ok</small>
|
147
|
+
</div>
|
148
|
+
</li>
|
149
|
+
|
150
|
+
|
151
|
+
<li class="even ">
|
152
|
+
<div class="item">
|
153
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#and_then-instance_method" title="Mangrove::Result::Err#and_then (method)">#and_then</a></span>
|
154
|
+
<small>Mangrove::Result::Err</small>
|
155
|
+
</div>
|
156
|
+
</li>
|
157
|
+
|
158
|
+
|
159
|
+
<li class="odd ">
|
160
|
+
<div class="item">
|
161
|
+
<span class='object_link'><a href="Mangrove/Result.html#and_then_wt-instance_method" title="Mangrove::Result#and_then_wt (method)">#and_then_wt</a></span>
|
162
|
+
<small>Mangrove::Result</small>
|
163
|
+
</div>
|
164
|
+
</li>
|
165
|
+
|
166
|
+
|
167
|
+
<li class="even ">
|
168
|
+
<div class="item">
|
169
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#and_then_wt-instance_method" title="Mangrove::Result::Ok#and_then_wt (method)">#and_then_wt</a></span>
|
170
|
+
<small>Mangrove::Result::Ok</small>
|
171
|
+
</div>
|
172
|
+
</li>
|
173
|
+
|
174
|
+
|
175
|
+
<li class="odd ">
|
176
|
+
<div class="item">
|
177
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#and_then_wt-instance_method" title="Mangrove::Result::Err#and_then_wt (method)">#and_then_wt</a></span>
|
178
|
+
<small>Mangrove::Result::Err</small>
|
179
|
+
</div>
|
180
|
+
</li>
|
181
|
+
|
182
|
+
|
183
|
+
<li class="even ">
|
184
|
+
<div class="item">
|
185
|
+
<span class='object_link'><a href="Mangrove/Result.html#err-class_method" title="Mangrove::Result.err (method)">err</a></span>
|
186
|
+
<small>Mangrove::Result</small>
|
187
|
+
</div>
|
188
|
+
</li>
|
189
|
+
|
190
|
+
|
111
191
|
<li class="odd ">
|
112
192
|
<div class="item">
|
113
193
|
<span class='object_link'><a href="Mangrove/Result.html#err%3F-instance_method" title="Mangrove::Result#err? (method)">#err?</a></span>
|
@@ -342,7 +422,7 @@
|
|
342
422
|
|
343
423
|
<li class="even ">
|
344
424
|
<div class="item">
|
345
|
-
<span class='object_link'><a href="Mangrove/Result.html#
|
425
|
+
<span class='object_link'><a href="Mangrove/Result.html#map-instance_method" title="Mangrove::Result#map (method)">#map</a></span>
|
346
426
|
<small>Mangrove::Result</small>
|
347
427
|
</div>
|
348
428
|
</li>
|
@@ -350,13 +430,37 @@
|
|
350
430
|
|
351
431
|
<li class="odd ">
|
352
432
|
<div class="item">
|
353
|
-
<span class='object_link'><a href="Mangrove/Result/Ok.html#
|
433
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#map-instance_method" title="Mangrove::Result::Ok#map (method)">#map</a></span>
|
354
434
|
<small>Mangrove::Result::Ok</small>
|
355
435
|
</div>
|
356
436
|
</li>
|
357
437
|
|
358
438
|
|
359
439
|
<li class="even ">
|
440
|
+
<div class="item">
|
441
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#map-instance_method" title="Mangrove::Result::Err#map (method)">#map</a></span>
|
442
|
+
<small>Mangrove::Result::Err</small>
|
443
|
+
</div>
|
444
|
+
</li>
|
445
|
+
|
446
|
+
|
447
|
+
<li class="odd ">
|
448
|
+
<div class="item">
|
449
|
+
<span class='object_link'><a href="Mangrove/Result.html#map_err-instance_method" title="Mangrove::Result#map_err (method)">#map_err</a></span>
|
450
|
+
<small>Mangrove::Result</small>
|
451
|
+
</div>
|
452
|
+
</li>
|
453
|
+
|
454
|
+
|
455
|
+
<li class="even ">
|
456
|
+
<div class="item">
|
457
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#map_err-instance_method" title="Mangrove::Result::Ok#map_err (method)">#map_err</a></span>
|
458
|
+
<small>Mangrove::Result::Ok</small>
|
459
|
+
</div>
|
460
|
+
</li>
|
461
|
+
|
462
|
+
|
463
|
+
<li class="odd ">
|
360
464
|
<div class="item">
|
361
465
|
<span class='object_link'><a href="Mangrove/Result/Err.html#map_err-instance_method" title="Mangrove::Result::Err#map_err (method)">#map_err</a></span>
|
362
466
|
<small>Mangrove::Result::Err</small>
|
@@ -364,6 +468,30 @@
|
|
364
468
|
</li>
|
365
469
|
|
366
470
|
|
471
|
+
<li class="even ">
|
472
|
+
<div class="item">
|
473
|
+
<span class='object_link'><a href="Mangrove/Result.html#map_err_wt-instance_method" title="Mangrove::Result#map_err_wt (method)">#map_err_wt</a></span>
|
474
|
+
<small>Mangrove::Result</small>
|
475
|
+
</div>
|
476
|
+
</li>
|
477
|
+
|
478
|
+
|
479
|
+
<li class="odd ">
|
480
|
+
<div class="item">
|
481
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#map_err_wt-instance_method" title="Mangrove::Result::Ok#map_err_wt (method)">#map_err_wt</a></span>
|
482
|
+
<small>Mangrove::Result::Ok</small>
|
483
|
+
</div>
|
484
|
+
</li>
|
485
|
+
|
486
|
+
|
487
|
+
<li class="even ">
|
488
|
+
<div class="item">
|
489
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#map_err_wt-instance_method" title="Mangrove::Result::Err#map_err_wt (method)">#map_err_wt</a></span>
|
490
|
+
<small>Mangrove::Result::Err</small>
|
491
|
+
</div>
|
492
|
+
</li>
|
493
|
+
|
494
|
+
|
367
495
|
<li class="odd ">
|
368
496
|
<div class="item">
|
369
497
|
<span class='object_link'><a href="Mangrove/Result.html#map_ok-instance_method" title="Mangrove::Result#map_ok (method)">#map_ok</a></span>
|
@@ -388,6 +516,54 @@
|
|
388
516
|
</li>
|
389
517
|
|
390
518
|
|
519
|
+
<li class="even ">
|
520
|
+
<div class="item">
|
521
|
+
<span class='object_link'><a href="Mangrove/Result.html#map_ok_wt-instance_method" title="Mangrove::Result#map_ok_wt (method)">#map_ok_wt</a></span>
|
522
|
+
<small>Mangrove::Result</small>
|
523
|
+
</div>
|
524
|
+
</li>
|
525
|
+
|
526
|
+
|
527
|
+
<li class="odd ">
|
528
|
+
<div class="item">
|
529
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#map_ok_wt-instance_method" title="Mangrove::Result::Ok#map_ok_wt (method)">#map_ok_wt</a></span>
|
530
|
+
<small>Mangrove::Result::Ok</small>
|
531
|
+
</div>
|
532
|
+
</li>
|
533
|
+
|
534
|
+
|
535
|
+
<li class="even ">
|
536
|
+
<div class="item">
|
537
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#map_ok_wt-instance_method" title="Mangrove::Result::Err#map_ok_wt (method)">#map_ok_wt</a></span>
|
538
|
+
<small>Mangrove::Result::Err</small>
|
539
|
+
</div>
|
540
|
+
</li>
|
541
|
+
|
542
|
+
|
543
|
+
<li class="odd ">
|
544
|
+
<div class="item">
|
545
|
+
<span class='object_link'><a href="Mangrove/Result.html#map_wt-instance_method" title="Mangrove::Result#map_wt (method)">#map_wt</a></span>
|
546
|
+
<small>Mangrove::Result</small>
|
547
|
+
</div>
|
548
|
+
</li>
|
549
|
+
|
550
|
+
|
551
|
+
<li class="even ">
|
552
|
+
<div class="item">
|
553
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#map_wt-instance_method" title="Mangrove::Result::Ok#map_wt (method)">#map_wt</a></span>
|
554
|
+
<small>Mangrove::Result::Ok</small>
|
555
|
+
</div>
|
556
|
+
</li>
|
557
|
+
|
558
|
+
|
559
|
+
<li class="odd ">
|
560
|
+
<div class="item">
|
561
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#map_wt-instance_method" title="Mangrove::Result::Err#map_wt (method)">#map_wt</a></span>
|
562
|
+
<small>Mangrove::Result::Err</small>
|
563
|
+
</div>
|
564
|
+
</li>
|
565
|
+
|
566
|
+
|
391
567
|
<li class="even ">
|
392
568
|
<div class="item">
|
393
569
|
<span class='object_link'><a href="Mangrove/Option/Some.html#none%3F-instance_method" title="Mangrove::Option::Some#none? (method)">#none?</a></span>
|
@@ -414,13 +590,21 @@
|
|
414
590
|
|
415
591
|
<li class="odd ">
|
416
592
|
<div class="item">
|
417
|
-
<span class='object_link'><a href="Mangrove/Result.html#ok
|
593
|
+
<span class='object_link'><a href="Mangrove/Result.html#ok-class_method" title="Mangrove::Result.ok (method)">ok</a></span>
|
418
594
|
<small>Mangrove::Result</small>
|
419
595
|
</div>
|
420
596
|
</li>
|
421
597
|
|
422
598
|
|
423
599
|
<li class="even ">
|
600
|
+
<div class="item">
|
601
|
+
<span class='object_link'><a href="Mangrove/Result.html#ok%3F-instance_method" title="Mangrove::Result#ok? (method)">#ok?</a></span>
|
602
|
+
<small>Mangrove::Result</small>
|
603
|
+
</div>
|
604
|
+
</li>
|
605
|
+
|
606
|
+
|
607
|
+
<li class="odd ">
|
424
608
|
<div class="item">
|
425
609
|
<span class='object_link'><a href="Mangrove/Result/Ok.html#ok%3F-instance_method" title="Mangrove::Result::Ok#ok? (method)">#ok?</a></span>
|
426
610
|
<small>Mangrove::Result::Ok</small>
|
@@ -428,7 +612,7 @@
|
|
428
612
|
</li>
|
429
613
|
|
430
614
|
|
431
|
-
<li class="
|
615
|
+
<li class="even ">
|
432
616
|
<div class="item">
|
433
617
|
<span class='object_link'><a href="Mangrove/Result/Err.html#ok%3F-instance_method" title="Mangrove::Result::Err#ok? (method)">#ok?</a></span>
|
434
618
|
<small>Mangrove::Result::Err</small>
|
@@ -436,7 +620,7 @@
|
|
436
620
|
</li>
|
437
621
|
|
438
622
|
|
439
|
-
<li class="
|
623
|
+
<li class="odd ">
|
440
624
|
<div class="item">
|
441
625
|
<span class='object_link'><a href="Mangrove/Result/Ok.html#ok_inner-instance_method" title="Mangrove::Result::Ok#ok_inner (method)">#ok_inner</a></span>
|
442
626
|
<small>Mangrove::Result::Ok</small>
|
@@ -444,7 +628,7 @@
|
|
444
628
|
</li>
|
445
629
|
|
446
630
|
|
447
|
-
<li class="
|
631
|
+
<li class="even ">
|
448
632
|
<div class="item">
|
449
633
|
<span class='object_link'><a href="Mangrove/Option/Some.html#or-instance_method" title="Mangrove::Option::Some#or (method)">#or</a></span>
|
450
634
|
<small>Mangrove::Option::Some</small>
|
@@ -452,7 +636,7 @@
|
|
452
636
|
</li>
|
453
637
|
|
454
638
|
|
455
|
-
<li class="
|
639
|
+
<li class="odd ">
|
456
640
|
<div class="item">
|
457
641
|
<span class='object_link'><a href="Mangrove/Option/None.html#or-instance_method" title="Mangrove::Option::None#or (method)">#or</a></span>
|
458
642
|
<small>Mangrove::Option::None</small>
|
@@ -460,7 +644,7 @@
|
|
460
644
|
</li>
|
461
645
|
|
462
646
|
|
463
|
-
<li class="
|
647
|
+
<li class="even ">
|
464
648
|
<div class="item">
|
465
649
|
<span class='object_link'><a href="Mangrove/Option.html#or-instance_method" title="Mangrove::Option#or (method)">#or</a></span>
|
466
650
|
<small>Mangrove::Option</small>
|
@@ -468,6 +652,78 @@
|
|
468
652
|
</li>
|
469
653
|
|
470
654
|
|
655
|
+
<li class="odd ">
|
656
|
+
<div class="item">
|
657
|
+
<span class='object_link'><a href="Mangrove/Result.html#or-instance_method" title="Mangrove::Result#or (method)">#or</a></span>
|
658
|
+
<small>Mangrove::Result</small>
|
659
|
+
</div>
|
660
|
+
</li>
|
661
|
+
|
662
|
+
|
663
|
+
<li class="even ">
|
664
|
+
<div class="item">
|
665
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#or-instance_method" title="Mangrove::Result::Ok#or (method)">#or</a></span>
|
666
|
+
<small>Mangrove::Result::Ok</small>
|
667
|
+
</div>
|
668
|
+
</li>
|
669
|
+
|
670
|
+
|
671
|
+
<li class="odd ">
|
672
|
+
<div class="item">
|
673
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#or-instance_method" title="Mangrove::Result::Err#or (method)">#or</a></span>
|
674
|
+
<small>Mangrove::Result::Err</small>
|
675
|
+
</div>
|
676
|
+
</li>
|
677
|
+
|
678
|
+
|
679
|
+
<li class="even ">
|
680
|
+
<div class="item">
|
681
|
+
<span class='object_link'><a href="Mangrove/Result.html#or_else-instance_method" title="Mangrove::Result#or_else (method)">#or_else</a></span>
|
682
|
+
<small>Mangrove::Result</small>
|
683
|
+
</div>
|
684
|
+
</li>
|
685
|
+
|
686
|
+
|
687
|
+
<li class="odd ">
|
688
|
+
<div class="item">
|
689
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#or_else-instance_method" title="Mangrove::Result::Ok#or_else (method)">#or_else</a></span>
|
690
|
+
<small>Mangrove::Result::Ok</small>
|
691
|
+
</div>
|
692
|
+
</li>
|
693
|
+
|
694
|
+
|
695
|
+
<li class="even ">
|
696
|
+
<div class="item">
|
697
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#or_else-instance_method" title="Mangrove::Result::Err#or_else (method)">#or_else</a></span>
|
698
|
+
<small>Mangrove::Result::Err</small>
|
699
|
+
</div>
|
700
|
+
</li>
|
701
|
+
|
702
|
+
|
703
|
+
<li class="odd ">
|
704
|
+
<div class="item">
|
705
|
+
<span class='object_link'><a href="Mangrove/Result.html#or_else_wt-instance_method" title="Mangrove::Result#or_else_wt (method)">#or_else_wt</a></span>
|
706
|
+
<small>Mangrove::Result</small>
|
707
|
+
</div>
|
708
|
+
</li>
|
709
|
+
|
710
|
+
|
711
|
+
<li class="even ">
|
712
|
+
<div class="item">
|
713
|
+
<span class='object_link'><a href="Mangrove/Result/Ok.html#or_else_wt-instance_method" title="Mangrove::Result::Ok#or_else_wt (method)">#or_else_wt</a></span>
|
714
|
+
<small>Mangrove::Result::Ok</small>
|
715
|
+
</div>
|
716
|
+
</li>
|
717
|
+
|
718
|
+
|
719
|
+
<li class="odd ">
|
720
|
+
<div class="item">
|
721
|
+
<span class='object_link'><a href="Mangrove/Result/Err.html#or_else_wt-instance_method" title="Mangrove::Result::Err#or_else_wt (method)">#or_else_wt</a></span>
|
722
|
+
<small>Mangrove::Result::Err</small>
|
723
|
+
</div>
|
724
|
+
</li>
|
725
|
+
|
726
|
+
|
471
727
|
<li class="even ">
|
472
728
|
<div class="item">
|
473
729
|
<span class='object_link'><a href="Mangrove/Option/Some.html#some%3F-instance_method" title="Mangrove::Option::Some#some? (method)">#some?</a></span>
|
@@ -100,7 +100,7 @@
|
|
100
100
|
</div>
|
101
101
|
|
102
102
|
<div id="footer">
|
103
|
-
Generated on
|
103
|
+
Generated on Thu Oct 26 12:34:21 2023 by
|
104
104
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
105
105
|
0.9.34 (ruby-3.1.2).
|
106
106
|
</div>
|
data/lib/mangrove/result.rb
CHANGED
@@ -36,12 +36,42 @@ module Mangrove
|
|
36
36
|
sig { abstract.params(block: T.proc.returns(T.untyped)).returns(OkType) }
|
37
37
|
def expect_with!(&block); end
|
38
38
|
|
39
|
-
sig { abstract.type_parameters(:NewOkType).params(block: T.proc.params(this: OkType).returns(Result[T.type_parameter(:NewOkType),
|
39
|
+
sig { abstract.type_parameters(:NewOkType, :NewErrType).params(block: T.proc.params(this: Result[OkType, ErrType]).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)])).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)]) }
|
40
|
+
def map(&block); end
|
41
|
+
|
42
|
+
sig { abstract.type_parameters(:NewOkType, :NewErrType).params(_t_new_ok: T.type_parameter(:NewOkType), _t_new_err: T.type_parameter(:NewErrType), block: T.proc.params(this: Result[OkType, ErrType]).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)])).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)]) }
|
43
|
+
def map_wt(_t_new_ok, _t_new_err, &block); end
|
44
|
+
|
45
|
+
sig { abstract.type_parameters(:NewOkType).params(block: T.proc.params(this: OkType).returns(T.type_parameter(:NewOkType))).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
40
46
|
def map_ok(&block); end
|
41
47
|
|
42
|
-
|
48
|
+
sig { abstract.type_parameters(:NewOkType).params(_t_new_ok: T::Class[T.type_parameter(:NewOkType)], block: T.proc.params(this: OkType).returns(T.type_parameter(:NewOkType))).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
49
|
+
def map_ok_wt(_t_new_ok, &block); end
|
50
|
+
|
51
|
+
sig { abstract.type_parameters(:NewErrType).params(block: T.proc.params(this: ErrType).returns(T.type_parameter(:NewErrType))).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
43
52
|
def map_err(&block); end
|
44
53
|
|
54
|
+
sig { abstract.type_parameters(:NewErrType).params(_t_new_err: T::Class[T.type_parameter(:NewErrType)], block: T.proc.params(this: ErrType).returns(T.type_parameter(:NewErrType))).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
55
|
+
def map_err_wt(_t_new_err, &block); end
|
56
|
+
|
57
|
+
sig { abstract.type_parameters(:NewOkType).params(other: Result[T.type_parameter(:NewOkType), ErrType]).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
58
|
+
def and(other); end
|
59
|
+
|
60
|
+
sig { abstract.type_parameters(:NewOkType).params(block: T.proc.params(this: OkType).returns(Result[T.type_parameter(:NewOkType), ErrType])).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
61
|
+
def and_then(&block); end
|
62
|
+
|
63
|
+
sig { abstract.type_parameters(:NewOkType).params(_t_new_ok: T::Class[T.type_parameter(:NewOkType)], block: T.proc.params(this: OkType).returns(Result[T.type_parameter(:NewOkType), ErrType])).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
64
|
+
def and_then_wt(_t_new_ok, &block); end
|
65
|
+
|
66
|
+
sig { abstract.params(other: Result[OkType, ErrType]).returns(Result[OkType, ErrType]) }
|
67
|
+
def or(other); end
|
68
|
+
|
69
|
+
sig { abstract.type_parameters(:NewErrType).params(block: T.proc.params(this: ErrType).returns(Result[OkType, T.type_parameter(:NewErrType)])).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
70
|
+
def or_else(&block); end
|
71
|
+
|
72
|
+
sig { abstract.type_parameters(:NewErrType).params(_t_new_err: T::Class[T.type_parameter(:NewErrType)], block: T.proc.params(this: ErrType).returns(Result[OkType, T.type_parameter(:NewErrType)])).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
73
|
+
def or_else_wt(_t_new_err, &block); end
|
74
|
+
|
45
75
|
class << self
|
46
76
|
extend T::Sig
|
47
77
|
extend T::Generic
|
@@ -61,6 +91,16 @@ module Mangrove
|
|
61
91
|
Result::Err.new(errs.map { |r| T.cast(r, Result::Err[OkType, ErrType]).err_inner })
|
62
92
|
end
|
63
93
|
end
|
94
|
+
|
95
|
+
sig { params(inner: OkType).returns(Result::Ok[OkType, ErrType]) }
|
96
|
+
def ok(inner)
|
97
|
+
Result::Ok[OkType, ErrType].new(inner)
|
98
|
+
end
|
99
|
+
|
100
|
+
sig { params(inner: ErrType).returns(Result::Err[OkType, ErrType]) }
|
101
|
+
def err(inner)
|
102
|
+
Result::Err[OkType, ErrType].new(inner)
|
103
|
+
end
|
64
104
|
end
|
65
105
|
|
66
106
|
class Ok
|
@@ -116,13 +156,65 @@ module Mangrove
|
|
116
156
|
sig { override.returns(T::Boolean) }
|
117
157
|
def err? = false
|
118
158
|
|
119
|
-
sig { override.type_parameters(:NewOkType).params(block: T.proc.params(this: OkType).returns(Result[T.type_parameter(:NewOkType),
|
159
|
+
sig { override.type_parameters(:NewOkType, :NewErrType).params(block: T.proc.params(this: Result[OkType, ErrType]).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)])).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)]) }
|
160
|
+
def map(&block)
|
161
|
+
block.call(self)
|
162
|
+
end
|
163
|
+
|
164
|
+
sig { override.type_parameters(:NewOkType, :NewErrType).params(_t_new_ok: T.type_parameter(:NewOkType), _t_new_err: T.type_parameter(:NewErrType), block: T.proc.params(this: Result[OkType, ErrType]).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)])).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)]) }
|
165
|
+
def map_wt(_t_new_ok, _t_new_err, &block)
|
166
|
+
block.call(self)
|
167
|
+
end
|
168
|
+
|
169
|
+
sig { override.type_parameters(:NewOkType).params(block: T.proc.params(this: OkType).returns(T.type_parameter(:NewOkType))).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
120
170
|
def map_ok(&block)
|
171
|
+
Result::Ok[T.type_parameter(:NewOkType), ErrType].new(block.call(@inner))
|
172
|
+
end
|
173
|
+
|
174
|
+
# Because sorbet deduct types from return values well. This method takes a type of new inner values.
|
175
|
+
sig { override.type_parameters(:NewOkType).params(_t_new_ok: T::Class[T.type_parameter(:NewOkType)], block: T.proc.params(this: OkType).returns(T.type_parameter(:NewOkType))).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
176
|
+
def map_ok_wt(_t_new_ok, &block)
|
177
|
+
Result::Ok[T.type_parameter(:NewOkType), ErrType].new(block.call(@inner))
|
178
|
+
end
|
179
|
+
|
180
|
+
sig { override.type_parameters(:NewErrType).params(_block: T.proc.params(this: ErrType).returns(T.type_parameter(:NewErrType))).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
181
|
+
def map_err(&_block)
|
182
|
+
T.cast(self, Result::Ok[OkType, T.type_parameter(:NewErrType)])
|
183
|
+
end
|
184
|
+
|
185
|
+
# Because sorbet deduct types from return values well. This method takes a type of new inner values.
|
186
|
+
sig { override.type_parameters(:NewErrType).params(_t_new_err: T::Class[T.type_parameter(:NewErrType)], _block: T.proc.params(this: ErrType).returns(T.type_parameter(:NewErrType))).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
187
|
+
def map_err_wt(_t_new_err, &_block)
|
188
|
+
T.cast(self, Result::Ok[OkType, T.type_parameter(:NewErrType)])
|
189
|
+
end
|
190
|
+
|
191
|
+
sig { override.type_parameters(:NewOkType).params(other: Result[T.type_parameter(:NewOkType), ErrType]).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
192
|
+
def and(other)
|
193
|
+
other
|
194
|
+
end
|
195
|
+
|
196
|
+
sig { override.type_parameters(:NewOkType).params(block: T.proc.params(this: OkType).returns(Result[T.type_parameter(:NewOkType), ErrType])).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
197
|
+
def and_then(&block)
|
121
198
|
block.call(@inner)
|
122
199
|
end
|
123
200
|
|
201
|
+
sig { override.type_parameters(:NewOkType).params(_t_new_ok: T::Class[T.type_parameter(:NewOkType)], block: T.proc.params(this: OkType).returns(Result[T.type_parameter(:NewOkType), ErrType])).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
202
|
+
def and_then_wt(_t_new_ok, &block)
|
203
|
+
block.call(@inner)
|
204
|
+
end
|
205
|
+
|
206
|
+
sig { override.params(_other: Result[OkType, ErrType]).returns(Result[OkType, ErrType]) }
|
207
|
+
def or(_other)
|
208
|
+
self
|
209
|
+
end
|
210
|
+
|
124
211
|
sig { override.type_parameters(:NewErrType).params(_block: T.proc.params(this: ErrType).returns(Result[OkType, T.type_parameter(:NewErrType)])).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
125
|
-
def
|
212
|
+
def or_else(&_block)
|
213
|
+
T.cast(self, Result::Ok[OkType, T.type_parameter(:NewErrType)])
|
214
|
+
end
|
215
|
+
|
216
|
+
sig { override.type_parameters(:NewErrType).params(_t_new_err: T::Class[T.type_parameter(:NewErrType)], _block: T.proc.params(this: ErrType).returns(Result[OkType, T.type_parameter(:NewErrType)])).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
217
|
+
def or_else_wt(_t_new_err, &_block)
|
126
218
|
T.cast(self, Result::Ok[OkType, T.type_parameter(:NewErrType)])
|
127
219
|
end
|
128
220
|
|
@@ -185,13 +277,64 @@ module Mangrove
|
|
185
277
|
sig { override.returns(T::Boolean) }
|
186
278
|
def err? = true
|
187
279
|
|
188
|
-
sig { override.type_parameters(:NewOkType).params(
|
280
|
+
sig { override.type_parameters(:NewOkType, :NewErrType).params(block: T.proc.params(this: Result[OkType, ErrType]).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)])).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)]) }
|
281
|
+
def map(&block)
|
282
|
+
block.call(self)
|
283
|
+
end
|
284
|
+
|
285
|
+
sig { override.type_parameters(:NewOkType, :NewErrType).params(_t_new_ok: T.type_parameter(:NewOkType), _t_new_err: T.type_parameter(:NewErrType), block: T.proc.params(this: Result[OkType, ErrType]).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)])).returns(Result[T.type_parameter(:NewOkType), T.type_parameter(:NewErrType)]) }
|
286
|
+
def map_wt(_t_new_ok, _t_new_err, &block)
|
287
|
+
block.call(self)
|
288
|
+
end
|
289
|
+
|
290
|
+
sig { override.type_parameters(:NewOkType).params(_block: T.proc.params(this: OkType).returns(T.type_parameter(:NewOkType))).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
189
291
|
def map_ok(&_block)
|
190
292
|
T.cast(self, Result::Err[T.type_parameter(:NewOkType), ErrType])
|
191
293
|
end
|
192
294
|
|
193
|
-
|
295
|
+
# Because sorbet deduct types from return values well. This method takes a type of new inner values.
|
296
|
+
sig { override.type_parameters(:NewOkType).params(_t_new_ok: T::Class[T.type_parameter(:NewOkType)], _block: T.proc.params(this: OkType).returns(T.type_parameter(:NewOkType))).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
297
|
+
def map_ok_wt(_t_new_ok, &_block)
|
298
|
+
T.cast(self, Result::Err[T.type_parameter(:NewOkType), ErrType])
|
299
|
+
end
|
300
|
+
|
301
|
+
sig { override.type_parameters(:NewErrType).params(block: T.proc.params(this: ErrType).returns(T.type_parameter(:NewErrType))).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
194
302
|
def map_err(&block)
|
303
|
+
Result::Err[OkType, T.type_parameter(:NewErrType)].new(block.call(@inner))
|
304
|
+
end
|
305
|
+
|
306
|
+
sig { override.type_parameters(:NewErrType).params(_t_new_err: T::Class[T.type_parameter(:NewErrType)], block: T.proc.params(this: ErrType).returns(T.type_parameter(:NewErrType))).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
307
|
+
def map_err_wt(_t_new_err, &block)
|
308
|
+
Result::Err[OkType, T.type_parameter(:NewErrType)].new(block.call(@inner))
|
309
|
+
end
|
310
|
+
|
311
|
+
sig { override.type_parameters(:NewOkType).params(_other: Result[T.type_parameter(:NewOkType), ErrType]).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
312
|
+
def and(_other)
|
313
|
+
T.cast(self, Result::Err[T.type_parameter(:NewOkType), ErrType])
|
314
|
+
end
|
315
|
+
|
316
|
+
sig { override.type_parameters(:NewOkType).params(_block: T.proc.params(this: OkType).returns(Result[T.type_parameter(:NewOkType), ErrType])).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
317
|
+
def and_then(&_block)
|
318
|
+
T.cast(self, Result::Err[T.type_parameter(:NewOkType), ErrType])
|
319
|
+
end
|
320
|
+
|
321
|
+
sig { override.type_parameters(:NewOkType).params(_t_new_ok: T::Class[T.type_parameter(:NewOkType)], _block: T.proc.params(this: OkType).returns(Result[T.type_parameter(:NewOkType), ErrType])).returns(Result[T.type_parameter(:NewOkType), ErrType]) }
|
322
|
+
def and_then_wt(_t_new_ok, &_block)
|
323
|
+
T.cast(self, Result::Err[T.type_parameter(:NewOkType), ErrType])
|
324
|
+
end
|
325
|
+
|
326
|
+
sig { override.params(other: Result[OkType, ErrType]).returns(Result[OkType, ErrType]) }
|
327
|
+
def or(other)
|
328
|
+
other
|
329
|
+
end
|
330
|
+
|
331
|
+
sig { override.type_parameters(:NewErrType).params(block: T.proc.params(this: ErrType).returns(Result[OkType, T.type_parameter(:NewErrType)])).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
332
|
+
def or_else(&block)
|
333
|
+
block.call(@inner)
|
334
|
+
end
|
335
|
+
|
336
|
+
sig { override.type_parameters(:NewErrType).params(_t_new_err: T::Class[T.type_parameter(:NewErrType)], block: T.proc.params(this: ErrType).returns(Result[OkType, T.type_parameter(:NewErrType)])).returns(Result[OkType, T.type_parameter(:NewErrType)]) }
|
337
|
+
def or_else_wt(_t_new_err, &block)
|
195
338
|
block.call(@inner)
|
196
339
|
end
|
197
340
|
|
data/lib/mangrove/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mangrove
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuma Murata
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|