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,273 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `parallel` gem.
5
+ # Please instead update this file by running `bin/tapioca gem parallel`.
6
+
7
+ # source://parallel//lib/parallel/version.rb#2
8
+ module Parallel
9
+ class << self
10
+ # @return [Boolean]
11
+ #
12
+ # source://parallel//lib/parallel.rb#243
13
+ def all?(*args, &block); end
14
+
15
+ # @return [Boolean]
16
+ #
17
+ # source://parallel//lib/parallel.rb#238
18
+ def any?(*args, &block); end
19
+
20
+ # source://parallel//lib/parallel.rb#234
21
+ def each(array, options = T.unsafe(nil), &block); end
22
+
23
+ # source://parallel//lib/parallel.rb#248
24
+ def each_with_index(array, options = T.unsafe(nil), &block); end
25
+
26
+ # source://parallel//lib/parallel.rb#307
27
+ def filter_map(*args, &block); end
28
+
29
+ # source://parallel//lib/parallel.rb#303
30
+ def flat_map(*args, &block); end
31
+
32
+ # source://parallel//lib/parallel.rb#228
33
+ def in_processes(options = T.unsafe(nil), &block); end
34
+
35
+ # source://parallel//lib/parallel.rb#212
36
+ def in_threads(options = T.unsafe(nil)); end
37
+
38
+ # source://parallel//lib/parallel.rb#252
39
+ def map(source, options = T.unsafe(nil), &block); end
40
+
41
+ # source://parallel//lib/parallel.rb#299
42
+ def map_with_index(array, options = T.unsafe(nil), &block); end
43
+
44
+ # Number of physical processor cores on the current system.
45
+ #
46
+ # source://parallel//lib/parallel.rb#312
47
+ def physical_processor_count; end
48
+
49
+ # Number of processors seen by the OS, used for process scheduling
50
+ #
51
+ # source://parallel//lib/parallel.rb#345
52
+ def processor_count; end
53
+
54
+ # source://parallel//lib/parallel.rb#350
55
+ def worker_number; end
56
+
57
+ # TODO: this does not work when doing threads in forks, so should remove and yield the number instead if needed
58
+ #
59
+ # source://parallel//lib/parallel.rb#355
60
+ def worker_number=(worker_num); end
61
+
62
+ private
63
+
64
+ # source://parallel//lib/parallel.rb#361
65
+ def add_progress_bar!(job_factory, options); end
66
+
67
+ # source://parallel//lib/parallel.rb#624
68
+ def call_with_index(item, index, options, &block); end
69
+
70
+ # source://parallel//lib/parallel.rb#556
71
+ def create_workers(job_factory, options, &block); end
72
+
73
+ # options is either a Integer or a Hash with :count
74
+ #
75
+ # source://parallel//lib/parallel.rb#614
76
+ def extract_count_from_options(options); end
77
+
78
+ # source://parallel//lib/parallel.rb#642
79
+ def instrument_finish(item, index, result, options); end
80
+
81
+ # source://parallel//lib/parallel.rb#647
82
+ def instrument_start(item, index, options); end
83
+
84
+ # source://parallel//lib/parallel.rb#590
85
+ def process_incoming_jobs(read, write, job_factory, options, &block); end
86
+
87
+ # source://parallel//lib/parallel.rb#544
88
+ def replace_worker(job_factory, workers, index, options, blk); end
89
+
90
+ # source://parallel//lib/parallel.rb#635
91
+ def with_instrumentation(item, index, options); end
92
+
93
+ # source://parallel//lib/parallel.rb#386
94
+ def work_direct(job_factory, options, &block); end
95
+
96
+ # source://parallel//lib/parallel.rb#496
97
+ def work_in_processes(job_factory, options, &blk); end
98
+
99
+ # source://parallel//lib/parallel.rb#430
100
+ def work_in_ractors(job_factory, options); end
101
+
102
+ # source://parallel//lib/parallel.rb#405
103
+ def work_in_threads(job_factory, options, &block); end
104
+
105
+ # source://parallel//lib/parallel.rb#564
106
+ def worker(job_factory, options, &block); end
107
+ end
108
+ end
109
+
110
+ # source://parallel//lib/parallel.rb#11
111
+ class Parallel::Break < ::StandardError
112
+ # @return [Break] a new instance of Break
113
+ #
114
+ # source://parallel//lib/parallel.rb#14
115
+ def initialize(value = T.unsafe(nil)); end
116
+
117
+ # Returns the value of attribute value.
118
+ #
119
+ # source://parallel//lib/parallel.rb#12
120
+ def value; end
121
+ end
122
+
123
+ # source://parallel//lib/parallel.rb#8
124
+ class Parallel::DeadWorker < ::StandardError; end
125
+
126
+ # source://parallel//lib/parallel.rb#32
127
+ class Parallel::ExceptionWrapper
128
+ # @return [ExceptionWrapper] a new instance of ExceptionWrapper
129
+ #
130
+ # source://parallel//lib/parallel.rb#35
131
+ def initialize(exception); end
132
+
133
+ # Returns the value of attribute exception.
134
+ #
135
+ # source://parallel//lib/parallel.rb#33
136
+ def exception; end
137
+ end
138
+
139
+ # source://parallel//lib/parallel.rb#98
140
+ class Parallel::JobFactory
141
+ # @return [JobFactory] a new instance of JobFactory
142
+ #
143
+ # source://parallel//lib/parallel.rb#99
144
+ def initialize(source, mutex); end
145
+
146
+ # source://parallel//lib/parallel.rb#107
147
+ def next; end
148
+
149
+ # generate item that is sent to workers
150
+ # just index is faster + less likely to blow up with unserializable errors
151
+ #
152
+ # source://parallel//lib/parallel.rb#136
153
+ def pack(item, index); end
154
+
155
+ # source://parallel//lib/parallel.rb#126
156
+ def size; end
157
+
158
+ # unpack item that is sent to workers
159
+ #
160
+ # source://parallel//lib/parallel.rb#141
161
+ def unpack(data); end
162
+
163
+ private
164
+
165
+ # @return [Boolean]
166
+ #
167
+ # source://parallel//lib/parallel.rb#147
168
+ def producer?; end
169
+
170
+ # source://parallel//lib/parallel.rb#151
171
+ def queue_wrapper(array); end
172
+ end
173
+
174
+ # source://parallel//lib/parallel.rb#20
175
+ class Parallel::Kill < ::Parallel::Break; end
176
+
177
+ # source://parallel//lib/parallel.rb#6
178
+ Parallel::Stop = T.let(T.unsafe(nil), Object)
179
+
180
+ # source://parallel//lib/parallel.rb#23
181
+ class Parallel::UndumpableException < ::StandardError
182
+ # @return [UndumpableException] a new instance of UndumpableException
183
+ #
184
+ # source://parallel//lib/parallel.rb#26
185
+ def initialize(original); end
186
+
187
+ # Returns the value of attribute backtrace.
188
+ #
189
+ # source://parallel//lib/parallel.rb#24
190
+ def backtrace; end
191
+ end
192
+
193
+ # source://parallel//lib/parallel.rb#156
194
+ class Parallel::UserInterruptHandler
195
+ class << self
196
+ # source://parallel//lib/parallel.rb#181
197
+ def kill(thing); end
198
+
199
+ # kill all these pids or threads if user presses Ctrl+c
200
+ #
201
+ # source://parallel//lib/parallel.rb#161
202
+ def kill_on_ctrl_c(pids, options); end
203
+
204
+ private
205
+
206
+ # source://parallel//lib/parallel.rb#205
207
+ def restore_interrupt(old, signal); end
208
+
209
+ # source://parallel//lib/parallel.rb#190
210
+ def trap_interrupt(signal); end
211
+ end
212
+ end
213
+
214
+ # source://parallel//lib/parallel.rb#157
215
+ Parallel::UserInterruptHandler::INTERRUPT_SIGNAL = T.let(T.unsafe(nil), Symbol)
216
+
217
+ # source://parallel//lib/parallel/version.rb#3
218
+ Parallel::VERSION = T.let(T.unsafe(nil), String)
219
+
220
+ # source://parallel//lib/parallel/version.rb#3
221
+ Parallel::Version = T.let(T.unsafe(nil), String)
222
+
223
+ # source://parallel//lib/parallel.rb#51
224
+ class Parallel::Worker
225
+ # @return [Worker] a new instance of Worker
226
+ #
227
+ # source://parallel//lib/parallel.rb#55
228
+ def initialize(read, write, pid); end
229
+
230
+ # might be passed to started_processes and simultaneously closed by another thread
231
+ # when running in isolation mode, so we have to check if it is closed before closing
232
+ #
233
+ # source://parallel//lib/parallel.rb#68
234
+ def close_pipes; end
235
+
236
+ # Returns the value of attribute pid.
237
+ #
238
+ # source://parallel//lib/parallel.rb#52
239
+ def pid; end
240
+
241
+ # Returns the value of attribute read.
242
+ #
243
+ # source://parallel//lib/parallel.rb#52
244
+ def read; end
245
+
246
+ # source://parallel//lib/parallel.rb#61
247
+ def stop; end
248
+
249
+ # Returns the value of attribute thread.
250
+ #
251
+ # source://parallel//lib/parallel.rb#53
252
+ def thread; end
253
+
254
+ # Sets the attribute thread
255
+ #
256
+ # @param value the value to set the attribute thread to.
257
+ #
258
+ # source://parallel//lib/parallel.rb#53
259
+ def thread=(_arg0); end
260
+
261
+ # source://parallel//lib/parallel.rb#73
262
+ def work(data); end
263
+
264
+ # Returns the value of attribute write.
265
+ #
266
+ # source://parallel//lib/parallel.rb#52
267
+ def write; end
268
+
269
+ private
270
+
271
+ # source://parallel//lib/parallel.rb#91
272
+ def wait; end
273
+ end