phlex-stimulus 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 (147) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +16 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +341 -0
  6. data/Rakefile +12 -0
  7. data/lib/generators/phlex/stimulus/controller/USAGE +5 -0
  8. data/lib/generators/phlex/stimulus/controller/controller_generator.rb +49 -0
  9. data/lib/generators/phlex/stimulus/controller/templates/component.rb.erb +30 -0
  10. data/lib/generators/phlex/stimulus/controller/templates/controller.ts.erb +23 -0
  11. data/lib/generators/phlex/stimulus/generator_mixin.rb +21 -0
  12. data/lib/generators/phlex/stimulus/install/USAGE +5 -0
  13. data/lib/generators/phlex/stimulus/install/install_generator.rb +111 -0
  14. data/lib/generators/phlex/stimulus/install/templates/app/components/base.rb.erb +29 -0
  15. data/lib/generators/phlex/stimulus/install/templates/app/components/chain_controller.rb.erb +29 -0
  16. data/lib/generators/phlex/stimulus/install/templates/app/components/classlist_controller.rb.erb +30 -0
  17. data/lib/generators/phlex/stimulus/install/templates/app/components/controller.rb.erb +10 -0
  18. data/lib/generators/phlex/stimulus/install/templates/app/components/controller_chain.rb.erb +32 -0
  19. data/lib/generators/phlex/stimulus/install/templates/app/components/controller_template.rb.erb +24 -0
  20. data/lib/generators/phlex/stimulus/install/templates/app/components/log_controller.rb.erb +33 -0
  21. data/lib/generators/phlex/stimulus/install/templates/app/components/sleep_controller.rb.erb +30 -0
  22. data/lib/generators/phlex/stimulus/install/templates/app/components.rb.erb +7 -0
  23. data/lib/generators/phlex/stimulus/install/templates/app/javascript/application.ts.erb +5 -0
  24. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/application.ts.erb +10 -0
  25. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/chain_controller.ts.erb +32 -0
  26. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/chainable_controller.ts.erb +44 -0
  27. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/classlist_controller.ts.erb +30 -0
  28. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/index.ts.erb +4 -0
  29. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/log_controller.ts.erb +25 -0
  30. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/sleep_controller.ts.erb +19 -0
  31. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/typed_controller.ts.erb +53 -0
  32. data/lib/generators/phlex/stimulus/install/templates/app/javascript/utils/misc.ts.erb +37 -0
  33. data/lib/generators/phlex/stimulus/install/templates/app/javascript/utils/template.ts.erb +11 -0
  34. data/lib/phlex/stimulus/components/base.rb +81 -0
  35. data/lib/phlex/stimulus/components/controller.rb +170 -0
  36. data/lib/phlex/stimulus/components.rb +9 -0
  37. data/lib/phlex/stimulus/version.rb +8 -0
  38. data/lib/phlex/stimulus.rb +15 -0
  39. data/sorbet/config +7 -0
  40. data/sorbet/rbi/annotations/.gitattributes +1 -0
  41. data/sorbet/rbi/annotations/actionmailer.rbi +15 -0
  42. data/sorbet/rbi/annotations/actionpack.rbi +430 -0
  43. data/sorbet/rbi/annotations/actionview.rbi +75 -0
  44. data/sorbet/rbi/annotations/activejob.rbi +50 -0
  45. data/sorbet/rbi/annotations/activemodel.rbi +119 -0
  46. data/sorbet/rbi/annotations/activerecord.rbi +172 -0
  47. data/sorbet/rbi/annotations/activesupport.rbi +561 -0
  48. data/sorbet/rbi/annotations/globalid.rbi +30 -0
  49. data/sorbet/rbi/annotations/minitest.rbi +116 -0
  50. data/sorbet/rbi/annotations/railties.rbi +104 -0
  51. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  52. data/sorbet/rbi/dsl/.gitattributes +1 -0
  53. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  54. data/sorbet/rbi/gems/.gitattributes +1 -0
  55. data/sorbet/rbi/gems/action_text-trix@2.1.19.rbi +9 -0
  56. data/sorbet/rbi/gems/actioncable@8.1.3.rbi +9 -0
  57. data/sorbet/rbi/gems/actionmailbox@8.1.3.rbi +9 -0
  58. data/sorbet/rbi/gems/actionmailer@8.1.3.rbi +9 -0
  59. data/sorbet/rbi/gems/actionpack@8.1.3.rbi +20478 -0
  60. data/sorbet/rbi/gems/actiontext@8.1.3.rbi +9 -0
  61. data/sorbet/rbi/gems/actionview@8.1.3.rbi +14722 -0
  62. data/sorbet/rbi/gems/activejob@8.1.3.rbi +9 -0
  63. data/sorbet/rbi/gems/activemodel@8.1.3.rbi +9 -0
  64. data/sorbet/rbi/gems/activerecord@8.1.3.rbi +9 -0
  65. data/sorbet/rbi/gems/activestorage@8.1.3.rbi +9 -0
  66. data/sorbet/rbi/gems/activesupport@8.1.3.rbi +20153 -0
  67. data/sorbet/rbi/gems/ast@2.4.3.rbi +550 -0
  68. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  69. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +621 -0
  70. data/sorbet/rbi/gems/booleans@0.1.3.rbi +31 -0
  71. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  72. data/sorbet/rbi/gems/byebug@12.0.0.rbi +49 -0
  73. data/sorbet/rbi/gems/concurrent-ruby@1.3.8.rbi +10656 -0
  74. data/sorbet/rbi/gems/connection_pool@3.0.2.rbi +9 -0
  75. data/sorbet/rbi/gems/crass@1.0.7.rbi +648 -0
  76. data/sorbet/rbi/gems/date@3.5.1.rbi +391 -0
  77. data/sorbet/rbi/gems/drb@2.2.3.rbi +9 -0
  78. data/sorbet/rbi/gems/erb@6.0.6.rbi +1600 -0
  79. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  80. data/sorbet/rbi/gems/globalid@1.4.0.rbi +9 -0
  81. data/sorbet/rbi/gems/i18n@1.15.2.rbi +2285 -0
  82. data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
  83. data/sorbet/rbi/gems/json@2.21.1.rbi +2289 -0
  84. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
  85. data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
  86. data/sorbet/rbi/gems/loofah@2.25.2.rbi +1134 -0
  87. data/sorbet/rbi/gems/mail@2.9.1.rbi +9 -0
  88. data/sorbet/rbi/gems/marcel@1.2.1.rbi +9 -0
  89. data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +9 -0
  90. data/sorbet/rbi/gems/minitest@6.0.6.rbi +1482 -0
  91. data/sorbet/rbi/gems/net-imap@0.6.4.1.rbi +9 -0
  92. data/sorbet/rbi/gems/net-pop@0.1.2.rbi +9 -0
  93. data/sorbet/rbi/gems/net-protocol@0.2.2.rbi +244 -0
  94. data/sorbet/rbi/gems/net-smtp@0.5.1.rbi +9 -0
  95. data/sorbet/rbi/gems/netrc@0.11.0.rbi +147 -0
  96. data/sorbet/rbi/gems/nio4r@2.7.5.rbi +9 -0
  97. data/sorbet/rbi/gems/nokogiri@1.19.4.rbi +8168 -0
  98. data/sorbet/rbi/gems/parallel@1.28.0.rbi +270 -0
  99. data/sorbet/rbi/gems/phlex-rails@2.4.0.rbi +1945 -0
  100. data/sorbet/rbi/gems/phlex@2.4.1.rbi +1413 -0
  101. data/sorbet/rbi/gems/pp@0.6.4.rbi +387 -0
  102. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +455 -0
  103. data/sorbet/rbi/gems/prism@1.9.0.rbi +42226 -0
  104. data/sorbet/rbi/gems/racc@1.8.1.rbi +165 -0
  105. data/sorbet/rbi/gems/rack-session@2.1.2.rbi +756 -0
  106. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +681 -0
  107. data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
  108. data/sorbet/rbi/gems/rackup@2.3.1.rbi +9 -0
  109. data/sorbet/rbi/gems/rails-dom-testing@2.3.0.rbi +517 -0
  110. data/sorbet/rbi/gems/rails-html-sanitizer@1.7.1.rbi +620 -0
  111. data/sorbet/rbi/gems/rails@8.1.3.rbi +9 -0
  112. data/sorbet/rbi/gems/railties@8.1.3.rbi +3507 -0
  113. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +362 -0
  114. data/sorbet/rbi/gems/rake@13.4.2.rbi +3130 -0
  115. data/sorbet/rbi/gems/rbi@0.4.0.rbi +5706 -0
  116. data/sorbet/rbi/gems/rbs@4.0.3.rbi +6908 -0
  117. data/sorbet/rbi/gems/refract@1.1.0.rbi +9 -0
  118. data/sorbet/rbi/gems/reline@0.6.3.rbi +2446 -0
  119. data/sorbet/rbi/gems/require-hooks@0.4.0.rbi +152 -0
  120. data/sorbet/rbi/gems/rexml@3.4.4.rbi +4905 -0
  121. data/sorbet/rbi/gems/rubocop-espago@1.3.0.rbi +9 -0
  122. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
  123. data/sorbet/rbi/gems/rubydex@0.2.9.rbi +841 -0
  124. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  125. data/sorbet/rbi/gems/shoulda-context@2.0.0.rbi +544 -0
  126. data/sorbet/rbi/gems/spoom@1.8.4.rbi +6738 -0
  127. data/sorbet/rbi/gems/tapioca@0.19.2.rbi +3599 -0
  128. data/sorbet/rbi/gems/thor@1.5.0.rbi +3870 -0
  129. data/sorbet/rbi/gems/timeout@0.6.1.rbi +200 -0
  130. data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
  131. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5474 -0
  132. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +130 -0
  133. data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +332 -0
  134. data/sorbet/rbi/gems/uri@1.1.1.rbi +2402 -0
  135. data/sorbet/rbi/gems/useragent@0.16.11.rbi +9 -0
  136. data/sorbet/rbi/gems/websocket-driver@0.8.2.rbi +9 -0
  137. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +9 -0
  138. data/sorbet/rbi/gems/zeitwerk@2.8.2.rbi +9 -0
  139. data/sorbet/rbi/shims/gems/parser.rbi +12 -0
  140. data/sorbet/rbi/shims/gems/rails.rbi +55 -0
  141. data/sorbet/rbi/shims/gems/refract.rbi +13 -0
  142. data/sorbet/rbi/shims/gems/shoulda-context.rbi +16 -0
  143. data/sorbet/tapioca/compilers/phlex_controller.rb +80 -0
  144. data/sorbet/tapioca/config.yml +26 -0
  145. data/sorbet/tapioca/extensions/load_gem.rb +1 -0
  146. data/sorbet/tapioca/require.rb +4 -0
  147. metadata +266 -0
@@ -0,0 +1,270 @@
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
+
8
+ # pkg:gem/parallel#lib/parallel/version.rb:2
9
+ module Parallel
10
+ class << self
11
+ # pkg:gem/parallel#lib/parallel.rb:254
12
+ def all?(*args, &block); end
13
+
14
+ # pkg:gem/parallel#lib/parallel.rb:249
15
+ def any?(*args, &block); end
16
+
17
+ # pkg:gem/parallel#lib/parallel.rb:245
18
+ def each(array, options = T.unsafe(nil), &block); end
19
+
20
+ # pkg:gem/parallel#lib/parallel.rb:259
21
+ def each_with_index(array, options = T.unsafe(nil), &block); end
22
+
23
+ # pkg:gem/parallel#lib/parallel.rb:318
24
+ def filter_map(*_arg0, **_arg1, &_arg2); end
25
+
26
+ # pkg:gem/parallel#lib/parallel.rb:314
27
+ def flat_map(*_arg0, **_arg1, &_arg2); end
28
+
29
+ # pkg:gem/parallel#lib/parallel.rb:239
30
+ def in_processes(options = T.unsafe(nil), &block); end
31
+
32
+ # pkg:gem/parallel#lib/parallel.rb:223
33
+ def in_threads(options = T.unsafe(nil)); end
34
+
35
+ # pkg:gem/parallel#lib/parallel.rb:263
36
+ def map(source, options = T.unsafe(nil), &block); end
37
+
38
+ # pkg:gem/parallel#lib/parallel.rb:310
39
+ def map_with_index(array, options = T.unsafe(nil), &block); end
40
+
41
+ # Number of physical processor cores on the current system.
42
+ #
43
+ # pkg:gem/parallel#lib/parallel.rb:323
44
+ def physical_processor_count; end
45
+
46
+ # Number of processors seen by the OS or value considering CPU quota if the process is inside a cgroup,
47
+ # used for process scheduling
48
+ #
49
+ # pkg:gem/parallel#lib/parallel.rb:353
50
+ def processor_count; end
51
+
52
+ # pkg:gem/parallel#lib/parallel.rb:357
53
+ def worker_number; end
54
+
55
+ # TODO: this does not work when doing threads in forks, so should remove and yield the number instead if needed
56
+ #
57
+ # pkg:gem/parallel#lib/parallel.rb:362
58
+ def worker_number=(worker_num); end
59
+
60
+ private
61
+
62
+ # pkg:gem/parallel#lib/parallel.rb:395
63
+ def add_progress_bar!(job_factory, options); end
64
+
65
+ # pkg:gem/parallel#lib/parallel.rb:710
66
+ def available_processor_count; end
67
+
68
+ # pkg:gem/parallel#lib/parallel.rb:658
69
+ def call_with_index(item, index, options, &block); end
70
+
71
+ # pkg:gem/parallel#lib/parallel.rb:590
72
+ def create_workers(job_factory, options, &block); end
73
+
74
+ # options is either a Integer or a Hash with :count
75
+ #
76
+ # pkg:gem/parallel#lib/parallel.rb:648
77
+ def extract_count_from_options(options); end
78
+
79
+ # pkg:gem/parallel#lib/parallel.rb:676
80
+ def instrument_finish(item, index, result, options); end
81
+
82
+ # yield results in the order of the input items
83
+ # needs to use `options` to store state between executions
84
+ # needs to use `done` index since a nil result would also be valid
85
+ #
86
+ # pkg:gem/parallel#lib/parallel.rb:685
87
+ def instrument_finish_in_order(item, index, result, options); end
88
+
89
+ # pkg:gem/parallel#lib/parallel.rb:705
90
+ def instrument_start(item, index, options); end
91
+
92
+ # pkg:gem/parallel#lib/parallel.rb:368
93
+ def physical_processor_count_windows; end
94
+
95
+ # pkg:gem/parallel#lib/parallel.rb:624
96
+ def process_incoming_jobs(read, write, job_factory, options, &block); end
97
+
98
+ # pkg:gem/parallel#lib/parallel.rb:578
99
+ def replace_worker(job_factory, workers, index, options, blk); end
100
+
101
+ # pkg:gem/parallel#lib/parallel.rb:389
102
+ def run(command); end
103
+
104
+ # pkg:gem/parallel#lib/parallel.rb:669
105
+ def with_instrumentation(item, index, options); end
106
+
107
+ # pkg:gem/parallel#lib/parallel.rb:420
108
+ def work_direct(job_factory, options, &block); end
109
+
110
+ # pkg:gem/parallel#lib/parallel.rb:530
111
+ def work_in_processes(job_factory, options, &blk); end
112
+
113
+ # pkg:gem/parallel#lib/parallel.rb:464
114
+ def work_in_ractors(job_factory, options); end
115
+
116
+ # pkg:gem/parallel#lib/parallel.rb:439
117
+ def work_in_threads(job_factory, options, &block); end
118
+
119
+ # pkg:gem/parallel#lib/parallel.rb:598
120
+ def worker(job_factory, options, &block); end
121
+ end
122
+ end
123
+
124
+ # pkg:gem/parallel#lib/parallel.rb:11
125
+ class Parallel::Break < ::StandardError
126
+ # pkg:gem/parallel#lib/parallel.rb:14
127
+ def initialize(value = T.unsafe(nil)); end
128
+
129
+ # marshal_dump that is used for ruby exceptions
130
+ # avoid dumping the cause since nobody needs that and it can include undumpable exceptions
131
+ #
132
+ # pkg:gem/parallel#lib/parallel.rb:21
133
+ def _dump(_depth); end
134
+
135
+ # pkg:gem/parallel#lib/parallel.rb:12
136
+ def value; end
137
+
138
+ class << self
139
+ # marshal_load that is used for ruby exceptions
140
+ #
141
+ # pkg:gem/parallel#lib/parallel.rb:26
142
+ def _load(data); end
143
+ end
144
+ end
145
+
146
+ # pkg:gem/parallel#lib/parallel.rb:8
147
+ class Parallel::DeadWorker < ::StandardError; end
148
+
149
+ # pkg:gem/parallel#lib/parallel.rb:43
150
+ class Parallel::ExceptionWrapper
151
+ # pkg:gem/parallel#lib/parallel.rb:46
152
+ def initialize(exception); end
153
+
154
+ # pkg:gem/parallel#lib/parallel.rb:44
155
+ def exception; end
156
+ end
157
+
158
+ # pkg:gem/parallel#lib/parallel.rb:109
159
+ class Parallel::JobFactory
160
+ # pkg:gem/parallel#lib/parallel.rb:110
161
+ def initialize(source, mutex); end
162
+
163
+ # pkg:gem/parallel#lib/parallel.rb:118
164
+ def next; end
165
+
166
+ # generate item that is sent to workers
167
+ # just index is faster + less likely to blow up with unserializable errors
168
+ #
169
+ # pkg:gem/parallel#lib/parallel.rb:147
170
+ def pack(item, index); end
171
+
172
+ # pkg:gem/parallel#lib/parallel.rb:137
173
+ def size; end
174
+
175
+ # unpack item that is sent to workers
176
+ #
177
+ # pkg:gem/parallel#lib/parallel.rb:152
178
+ def unpack(data); end
179
+
180
+ private
181
+
182
+ # pkg:gem/parallel#lib/parallel.rb:158
183
+ def producer?; end
184
+
185
+ # pkg:gem/parallel#lib/parallel.rb:162
186
+ def queue_wrapper(array); end
187
+ end
188
+
189
+ # pkg:gem/parallel#lib/parallel.rb:31
190
+ class Parallel::Kill < ::Parallel::Break; end
191
+
192
+ # pkg:gem/parallel#lib/parallel.rb:6
193
+ Parallel::Stop = T.let(T.unsafe(nil), Object)
194
+
195
+ # pkg:gem/parallel#lib/parallel.rb:34
196
+ class Parallel::UndumpableException < ::StandardError
197
+ # pkg:gem/parallel#lib/parallel.rb:37
198
+ def initialize(original); end
199
+
200
+ # pkg:gem/parallel#lib/parallel.rb:35
201
+ def backtrace; end
202
+ end
203
+
204
+ # pkg:gem/parallel#lib/parallel.rb:167
205
+ class Parallel::UserInterruptHandler
206
+ class << self
207
+ # pkg:gem/parallel#lib/parallel.rb:192
208
+ def kill(thing); end
209
+
210
+ # kill all these pids or threads if user presses Ctrl+c
211
+ #
212
+ # pkg:gem/parallel#lib/parallel.rb:172
213
+ def kill_on_ctrl_c(pids, options); end
214
+
215
+ private
216
+
217
+ # pkg:gem/parallel#lib/parallel.rb:216
218
+ def restore_interrupt(old, signal); end
219
+
220
+ # pkg:gem/parallel#lib/parallel.rb:201
221
+ def trap_interrupt(signal); end
222
+ end
223
+ end
224
+
225
+ # pkg:gem/parallel#lib/parallel.rb:168
226
+ Parallel::UserInterruptHandler::INTERRUPT_SIGNAL = T.let(T.unsafe(nil), Symbol)
227
+
228
+ # pkg:gem/parallel#lib/parallel/version.rb:3
229
+ Parallel::VERSION = T.let(T.unsafe(nil), String)
230
+
231
+ # pkg:gem/parallel#lib/parallel/version.rb:3
232
+ Parallel::Version = T.let(T.unsafe(nil), String)
233
+
234
+ # pkg:gem/parallel#lib/parallel.rb:62
235
+ class Parallel::Worker
236
+ # pkg:gem/parallel#lib/parallel.rb:66
237
+ def initialize(read, write, pid); end
238
+
239
+ # might be passed to started_processes and simultaneously closed by another thread
240
+ # when running in isolation mode, so we have to check if it is closed before closing
241
+ #
242
+ # pkg:gem/parallel#lib/parallel.rb:79
243
+ def close_pipes; end
244
+
245
+ # pkg:gem/parallel#lib/parallel.rb:63
246
+ def pid; end
247
+
248
+ # pkg:gem/parallel#lib/parallel.rb:63
249
+ def read; end
250
+
251
+ # pkg:gem/parallel#lib/parallel.rb:72
252
+ def stop; end
253
+
254
+ # pkg:gem/parallel#lib/parallel.rb:64
255
+ def thread; end
256
+
257
+ # pkg:gem/parallel#lib/parallel.rb:64
258
+ def thread=(_arg0); end
259
+
260
+ # pkg:gem/parallel#lib/parallel.rb:84
261
+ def work(data); end
262
+
263
+ # pkg:gem/parallel#lib/parallel.rb:63
264
+ def write; end
265
+
266
+ private
267
+
268
+ # pkg:gem/parallel#lib/parallel.rb:102
269
+ def wait; end
270
+ end