oriole 0.1.0.alpha.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 (80) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +56 -0
  3. data/.rubocop.yml +32 -0
  4. data/.ruby-version +1 -0
  5. data/CHANGELOG.md +1 -0
  6. data/Gemfile +20 -0
  7. data/Gemfile.lock +121 -0
  8. data/LICENSE +21 -0
  9. data/README.md +84 -0
  10. data/Rakefile +12 -0
  11. data/bench/bench.rb +35 -0
  12. data/bench/execute.rb +66 -0
  13. data/bench/schemas/bluejay.rb +149 -0
  14. data/bench/schemas/models.rb +216 -0
  15. data/bench/schemas/oriole.rb +144 -0
  16. data/bin/console +15 -0
  17. data/bin/setup +8 -0
  18. data/bin/style +2 -0
  19. data/bin/tapioca +27 -0
  20. data/bin/typecheck +2 -0
  21. data/lib/oriole/builtin_scalar_definition.rb +53 -0
  22. data/lib/oriole/definition/abstract/definition.rb +21 -0
  23. data/lib/oriole/definition/abstract/field_definition.rb +22 -0
  24. data/lib/oriole/definition/abstract/object_type_definition.rb +21 -0
  25. data/lib/oriole/definition/abstract/schema_definition.rb +18 -0
  26. data/lib/oriole/definition/abstract/visibility.rb +18 -0
  27. data/lib/oriole/definition/base_output_type.rb +13 -0
  28. data/lib/oriole/definition/field_definition.rb +27 -0
  29. data/lib/oriole/definition/object_type.rb +40 -0
  30. data/lib/oriole/definition/output_type.rb +79 -0
  31. data/lib/oriole/definition/schema.rb +45 -0
  32. data/lib/oriole/definition/visibility_scoped/object_type_definition.rb +62 -0
  33. data/lib/oriole/definition/visibility_scoped/schema_definition.rb +26 -0
  34. data/lib/oriole/execution/coerce_result.rb +16 -0
  35. data/lib/oriole/execution/engine.rb +207 -0
  36. data/lib/oriole/version.rb +6 -0
  37. data/lib/oriole.rb +14 -0
  38. data/oriole.gemspec +38 -0
  39. data/rakelib/bench.rake +69 -0
  40. data/sorbet/config +5 -0
  41. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  42. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  43. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  44. data/sorbet/rbi/gems/bluejay@0.1.0.alpha.2-a45c1b3b47aa4524f94bbe03db5ff1ae792afd09.rbi +1206 -0
  45. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  46. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  47. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  48. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  49. data/sorbet/rbi/gems/minitest@5.19.0.rbi +1491 -0
  50. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  51. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  52. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  53. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  54. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  55. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  56. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  57. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2972 -0
  58. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  59. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  60. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +7006 -0
  61. data/sorbet/rbi/gems/rubocop-minitest@0.27.0.rbi +2371 -0
  62. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +328 -0
  63. data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
  64. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +975 -0
  65. data/sorbet/rbi/gems/rubocop@1.56.1.rbi +56525 -0
  66. data/sorbet/rbi/gems/ruby-lsp@0.4.5.rbi +11 -0
  67. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  68. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3203 -0
  69. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  70. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3349 -0
  71. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  72. data/sorbet/rbi/gems/tinygql@0.1.4.rbi +2363 -0
  73. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  74. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  75. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  76. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  77. data/sorbet/rbi/gems/zeitwerk@2.6.11.rbi +999 -0
  78. data/sorbet/tapioca/config.yml +13 -0
  79. data/sorbet/tapioca/require.rb +5 -0
  80. metadata +208 -0
@@ -0,0 +1,158 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `netrc` gem.
5
+ # Please instead update this file by running `bin/tapioca gem netrc`.
6
+
7
+ # source://netrc//lib/netrc.rb#3
8
+ class Netrc
9
+ # @return [Netrc] a new instance of Netrc
10
+ #
11
+ # source://netrc//lib/netrc.rb#166
12
+ def initialize(path, data); end
13
+
14
+ # source://netrc//lib/netrc.rb#180
15
+ def [](k); end
16
+
17
+ # source://netrc//lib/netrc.rb#188
18
+ def []=(k, info); end
19
+
20
+ # source://netrc//lib/netrc.rb#200
21
+ def delete(key); end
22
+
23
+ # source://netrc//lib/netrc.rb#211
24
+ def each(&block); end
25
+
26
+ # source://netrc//lib/netrc.rb#196
27
+ def length; end
28
+
29
+ # source://netrc//lib/netrc.rb#215
30
+ def new_item(m, l, p); end
31
+
32
+ # Returns the value of attribute new_item_prefix.
33
+ #
34
+ # source://netrc//lib/netrc.rb#178
35
+ def new_item_prefix; end
36
+
37
+ # Sets the attribute new_item_prefix
38
+ #
39
+ # @param value the value to set the attribute new_item_prefix to.
40
+ #
41
+ # source://netrc//lib/netrc.rb#178
42
+ def new_item_prefix=(_arg0); end
43
+
44
+ # source://netrc//lib/netrc.rb#219
45
+ def save; end
46
+
47
+ # source://netrc//lib/netrc.rb#233
48
+ def unparse; end
49
+
50
+ class << self
51
+ # source://netrc//lib/netrc.rb#42
52
+ def check_permissions(path); end
53
+
54
+ # source://netrc//lib/netrc.rb#33
55
+ def config; end
56
+
57
+ # @yield [self.config]
58
+ #
59
+ # source://netrc//lib/netrc.rb#37
60
+ def configure; end
61
+
62
+ # source://netrc//lib/netrc.rb#10
63
+ def default_path; end
64
+
65
+ # source://netrc//lib/netrc.rb#14
66
+ def home_path; end
67
+
68
+ # source://netrc//lib/netrc.rb#85
69
+ def lex(lines); end
70
+
71
+ # source://netrc//lib/netrc.rb#29
72
+ def netrc_filename; end
73
+
74
+ # Returns two values, a header and a list of items.
75
+ # Each item is a tuple, containing some or all of:
76
+ # - machine keyword (including trailing whitespace+comments)
77
+ # - machine name
78
+ # - login keyword (including surrounding whitespace+comments)
79
+ # - login
80
+ # - password keyword (including surrounding whitespace+comments)
81
+ # - password
82
+ # - trailing chars
83
+ # This lets us change individual fields, then write out the file
84
+ # with all its original formatting.
85
+ #
86
+ # source://netrc//lib/netrc.rb#129
87
+ def parse(ts); end
88
+
89
+ # Reads path and parses it as a .netrc file. If path doesn't
90
+ # exist, returns an empty object. Decrypt paths ending in .gpg.
91
+ #
92
+ # source://netrc//lib/netrc.rb#51
93
+ def read(path = T.unsafe(nil)); end
94
+
95
+ # @return [Boolean]
96
+ #
97
+ # source://netrc//lib/netrc.rb#112
98
+ def skip?(s); end
99
+ end
100
+ end
101
+
102
+ # source://netrc//lib/netrc.rb#8
103
+ Netrc::CYGWIN = T.let(T.unsafe(nil), T.untyped)
104
+
105
+ # source://netrc//lib/netrc.rb#244
106
+ class Netrc::Entry < ::Struct
107
+ # Returns the value of attribute login
108
+ #
109
+ # @return [Object] the current value of login
110
+ def login; end
111
+
112
+ # Sets the attribute login
113
+ #
114
+ # @param value [Object] the value to set the attribute login to.
115
+ # @return [Object] the newly set value
116
+ def login=(_); end
117
+
118
+ # Returns the value of attribute password
119
+ #
120
+ # @return [Object] the current value of password
121
+ def password; end
122
+
123
+ # Sets the attribute password
124
+ #
125
+ # @param value [Object] the value to set the attribute password to.
126
+ # @return [Object] the newly set value
127
+ def password=(_); end
128
+
129
+ def to_ary; end
130
+
131
+ class << self
132
+ def [](*_arg0); end
133
+ def inspect; end
134
+ def keyword_init?; end
135
+ def members; end
136
+ def new(*_arg0); end
137
+ end
138
+ end
139
+
140
+ # source://netrc//lib/netrc.rb#250
141
+ class Netrc::Error < ::StandardError; end
142
+
143
+ # source://netrc//lib/netrc.rb#68
144
+ class Netrc::TokenArray < ::Array
145
+ # source://netrc//lib/netrc.rb#76
146
+ def readto; end
147
+
148
+ # source://netrc//lib/netrc.rb#69
149
+ def take; end
150
+ end
151
+
152
+ # source://netrc//lib/netrc.rb#4
153
+ Netrc::VERSION = T.let(T.unsafe(nil), String)
154
+
155
+ # see http://stackoverflow.com/questions/4871309/what-is-the-correct-way-to-detect-if-ruby-is-running-on-windows
156
+ #
157
+ # source://netrc//lib/netrc.rb#7
158
+ Netrc::WINDOWS = T.let(T.unsafe(nil), T.untyped)
@@ -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