mangrove 0.1.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.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +42 -0
  3. data/LICENSE +21 -0
  4. data/README.md +54 -0
  5. data/Rakefile +14 -0
  6. data/lib/mangrove/control_flow/control_signal.rb +16 -0
  7. data/lib/mangrove/control_flow/rewriter.rb +152 -0
  8. data/lib/mangrove/control_flow.rb +84 -0
  9. data/lib/mangrove/interfaces.rb +8 -0
  10. data/lib/mangrove/mangrove.rb +35 -0
  11. data/lib/mangrove/option/control_signal.rb +33 -0
  12. data/lib/mangrove/option.rb +134 -0
  13. data/lib/mangrove/result/control_signal.rb +33 -0
  14. data/lib/mangrove/result.rb +167 -0
  15. data/lib/mangrove/version.rb +6 -0
  16. data/lib/mangrove.rb +8 -0
  17. data/sig/mangrove.rbs +4 -0
  18. data/sorbet/config +4 -0
  19. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  20. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  21. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  22. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  23. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  24. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  25. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  26. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  27. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  28. data/sorbet/rbi/gems/ordinare@0.4.0.rbi +77 -0
  29. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  30. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  31. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  32. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  33. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  34. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  35. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2972 -0
  36. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  37. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  38. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +10805 -0
  39. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +8100 -0
  40. data/sorbet/rbi/gems/rspec-mocks@3.12.6.rbi +5310 -0
  41. data/sorbet/rbi/gems/rspec-sorbet@1.9.2.rbi +163 -0
  42. data/sorbet/rbi/gems/rspec-support@3.12.1.rbi +1609 -0
  43. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  44. data/sorbet/rbi/gems/ruboclean@0.4.0.rbi +189 -0
  45. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +6985 -0
  46. data/sorbet/rbi/gems/rubocop@1.56.0.rbi +56491 -0
  47. data/sorbet/rbi/gems/ruby-lsp@0.8.0.rbi +11 -0
  48. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  49. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3203 -0
  50. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  51. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3349 -0
  52. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  53. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  54. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  55. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  56. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  57. data/sorbet/rbi/shims/gems/rspec-core.rbi +12 -0
  58. data/sorbet/rbi/shims/gems/rspec-expectations.rbi +8 -0
  59. data/sorbet/rbi/shims/mangrove/option.rbi +15 -0
  60. data/sorbet/rbi/shims/mangrove/result.rbi +15 -0
  61. data/sorbet/tapioca/config.yml +13 -0
  62. data/sorbet/tapioca/require.rb +4 -0
  63. metadata +161 -0
@@ -0,0 +1,172 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `base64` gem.
5
+ # Please instead update this file by running `bin/tapioca gem base64`.
6
+
7
+ # The Base64 module provides for the encoding (#encode64, #strict_encode64,
8
+ # #urlsafe_encode64) and decoding (#decode64, #strict_decode64,
9
+ # #urlsafe_decode64) of binary data using a Base64 representation.
10
+ #
11
+ # == Example
12
+ #
13
+ # A simple encoding and decoding.
14
+ #
15
+ # require "base64"
16
+ #
17
+ # enc = Base64.encode64('Send reinforcements')
18
+ # # -> "U2VuZCByZWluZm9yY2VtZW50cw==\n"
19
+ # plain = Base64.decode64(enc)
20
+ # # -> "Send reinforcements"
21
+ #
22
+ # The purpose of using base64 to encode data is that it translates any
23
+ # binary data into purely printable characters.
24
+ module Base64
25
+ private
26
+
27
+ # Returns the Base64-decoded version of +str+.
28
+ # This method complies with RFC 2045.
29
+ # Characters outside the base alphabet are ignored.
30
+ #
31
+ # require 'base64'
32
+ # str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' +
33
+ # 'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' +
34
+ # 'ZSB0aHJlZQpBbmQgc28gb24uLi4K'
35
+ # puts Base64.decode64(str)
36
+ #
37
+ # <i>Generates:</i>
38
+ #
39
+ # This is line one
40
+ # This is line two
41
+ # This is line three
42
+ # And so on...
43
+ #
44
+ # source://base64//base64.rb#58
45
+ def decode64(str); end
46
+
47
+ # Returns the Base64-encoded version of +bin+.
48
+ # This method complies with RFC 2045.
49
+ # Line feeds are added to every 60 encoded characters.
50
+ #
51
+ # require 'base64'
52
+ # Base64.encode64("Now is the time for all good coders\nto learn Ruby")
53
+ #
54
+ # <i>Generates:</i>
55
+ #
56
+ # Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
57
+ # UnVieQ==
58
+ #
59
+ # source://base64//base64.rb#38
60
+ def encode64(bin); end
61
+
62
+ # Returns the Base64-decoded version of +str+.
63
+ # This method complies with RFC 4648.
64
+ # ArgumentError is raised if +str+ is incorrectly padded or contains
65
+ # non-alphabet characters. Note that CR or LF are also rejected.
66
+ #
67
+ # source://base64//base64.rb#73
68
+ def strict_decode64(str); end
69
+
70
+ # Returns the Base64-encoded version of +bin+.
71
+ # This method complies with RFC 4648.
72
+ # No line feeds are added.
73
+ #
74
+ # source://base64//base64.rb#65
75
+ def strict_encode64(bin); end
76
+
77
+ # Returns the Base64-decoded version of +str+.
78
+ # This method complies with ``Base 64 Encoding with URL and Filename Safe
79
+ # Alphabet'' in RFC 4648.
80
+ # The alphabet uses '-' instead of '+' and '_' instead of '/'.
81
+ #
82
+ # The padding character is optional.
83
+ # This method accepts both correctly-padded and unpadded input.
84
+ # Note that it still rejects incorrectly-padded input.
85
+ #
86
+ # source://base64//base64.rb#98
87
+ def urlsafe_decode64(str); end
88
+
89
+ # Returns the Base64-encoded version of +bin+.
90
+ # This method complies with ``Base 64 Encoding with URL and Filename Safe
91
+ # Alphabet'' in RFC 4648.
92
+ # The alphabet uses '-' instead of '+' and '_' instead of '/'.
93
+ # Note that the result can still contain '='.
94
+ # You can remove the padding by setting +padding+ as false.
95
+ #
96
+ # source://base64//base64.rb#83
97
+ def urlsafe_encode64(bin, padding: T.unsafe(nil)); end
98
+
99
+ class << self
100
+ # Returns the Base64-decoded version of +str+.
101
+ # This method complies with RFC 2045.
102
+ # Characters outside the base alphabet are ignored.
103
+ #
104
+ # require 'base64'
105
+ # str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' +
106
+ # 'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' +
107
+ # 'ZSB0aHJlZQpBbmQgc28gb24uLi4K'
108
+ # puts Base64.decode64(str)
109
+ #
110
+ # <i>Generates:</i>
111
+ #
112
+ # This is line one
113
+ # This is line two
114
+ # This is line three
115
+ # And so on...
116
+ #
117
+ # source://base64//base64.rb#58
118
+ def decode64(str); end
119
+
120
+ # Returns the Base64-encoded version of +bin+.
121
+ # This method complies with RFC 2045.
122
+ # Line feeds are added to every 60 encoded characters.
123
+ #
124
+ # require 'base64'
125
+ # Base64.encode64("Now is the time for all good coders\nto learn Ruby")
126
+ #
127
+ # <i>Generates:</i>
128
+ #
129
+ # Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
130
+ # UnVieQ==
131
+ #
132
+ # source://base64//base64.rb#38
133
+ def encode64(bin); end
134
+
135
+ # Returns the Base64-decoded version of +str+.
136
+ # This method complies with RFC 4648.
137
+ # ArgumentError is raised if +str+ is incorrectly padded or contains
138
+ # non-alphabet characters. Note that CR or LF are also rejected.
139
+ #
140
+ # source://base64//base64.rb#73
141
+ def strict_decode64(str); end
142
+
143
+ # Returns the Base64-encoded version of +bin+.
144
+ # This method complies with RFC 4648.
145
+ # No line feeds are added.
146
+ #
147
+ # source://base64//base64.rb#65
148
+ def strict_encode64(bin); end
149
+
150
+ # Returns the Base64-decoded version of +str+.
151
+ # This method complies with ``Base 64 Encoding with URL and Filename Safe
152
+ # Alphabet'' in RFC 4648.
153
+ # The alphabet uses '-' instead of '+' and '_' instead of '/'.
154
+ #
155
+ # The padding character is optional.
156
+ # This method accepts both correctly-padded and unpadded input.
157
+ # Note that it still rejects incorrectly-padded input.
158
+ #
159
+ # source://base64//base64.rb#98
160
+ def urlsafe_decode64(str); end
161
+
162
+ # Returns the Base64-encoded version of +bin+.
163
+ # This method complies with ``Base 64 Encoding with URL and Filename Safe
164
+ # Alphabet'' in RFC 4648.
165
+ # The alphabet uses '-' instead of '+' and '_' instead of '/'.
166
+ # Note that the result can still contain '='.
167
+ # You can remove the padding by setting +padding+ as false.
168
+ #
169
+ # source://base64//base64.rb#83
170
+ def urlsafe_encode64(bin, padding: T.unsafe(nil)); end
171
+ end
172
+ end