rbs-relaxed 3.9.0.1

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 (484) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +22 -0
  3. data/.github/workflows/comments.yml +35 -0
  4. data/.github/workflows/dependabot.yml +30 -0
  5. data/.github/workflows/ruby.yml +82 -0
  6. data/.github/workflows/typecheck.yml +38 -0
  7. data/.github/workflows/windows.yml +43 -0
  8. data/.gitignore +23 -0
  9. data/.rubocop.yml +68 -0
  10. data/BSDL +22 -0
  11. data/CHANGELOG.md +1868 -0
  12. data/COPYING +56 -0
  13. data/README.md +203 -0
  14. data/Rakefile +417 -0
  15. data/Steepfile +44 -0
  16. data/config.yml +313 -0
  17. data/core/array.rbs +4062 -0
  18. data/core/basic_object.rbs +375 -0
  19. data/core/binding.rbs +150 -0
  20. data/core/builtin.rbs +277 -0
  21. data/core/class.rbs +220 -0
  22. data/core/comparable.rbs +171 -0
  23. data/core/complex.rbs +786 -0
  24. data/core/constants.rbs +96 -0
  25. data/core/data.rbs +415 -0
  26. data/core/dir.rbs +981 -0
  27. data/core/encoding.rbs +1371 -0
  28. data/core/enumerable.rbs +2405 -0
  29. data/core/enumerator/product.rbs +92 -0
  30. data/core/enumerator.rbs +630 -0
  31. data/core/env.rbs +6 -0
  32. data/core/errno.rbs +673 -0
  33. data/core/errors.rbs +760 -0
  34. data/core/exception.rbs +485 -0
  35. data/core/false_class.rbs +82 -0
  36. data/core/fiber.rbs +550 -0
  37. data/core/fiber_error.rbs +11 -0
  38. data/core/file.rbs +2936 -0
  39. data/core/file_test.rbs +331 -0
  40. data/core/float.rbs +1151 -0
  41. data/core/gc.rbs +644 -0
  42. data/core/global_variables.rbs +184 -0
  43. data/core/hash.rbs +1861 -0
  44. data/core/integer.rbs +1413 -0
  45. data/core/io/buffer.rbs +984 -0
  46. data/core/io/wait.rbs +70 -0
  47. data/core/io.rbs +3406 -0
  48. data/core/kernel.rbs +3096 -0
  49. data/core/marshal.rbs +207 -0
  50. data/core/match_data.rbs +635 -0
  51. data/core/math.rbs +729 -0
  52. data/core/method.rbs +386 -0
  53. data/core/module.rbs +1704 -0
  54. data/core/nil_class.rbs +209 -0
  55. data/core/numeric.rbs +818 -0
  56. data/core/object.rbs +110 -0
  57. data/core/object_space/weak_key_map.rbs +166 -0
  58. data/core/object_space.rbs +190 -0
  59. data/core/proc.rbs +868 -0
  60. data/core/process.rbs +2296 -0
  61. data/core/ractor.rbs +1068 -0
  62. data/core/random.rbs +237 -0
  63. data/core/range.rbs +1107 -0
  64. data/core/rational.rbs +531 -0
  65. data/core/rb_config.rbs +88 -0
  66. data/core/rbs/unnamed/argf.rbs +1229 -0
  67. data/core/rbs/unnamed/env_class.rbs +1209 -0
  68. data/core/rbs/unnamed/random.rbs +293 -0
  69. data/core/refinement.rbs +59 -0
  70. data/core/regexp.rbs +1930 -0
  71. data/core/ruby_vm.rbs +765 -0
  72. data/core/rubygems/basic_specification.rbs +6 -0
  73. data/core/rubygems/config_file.rbs +38 -0
  74. data/core/rubygems/dependency_installer.rbs +6 -0
  75. data/core/rubygems/errors.rbs +176 -0
  76. data/core/rubygems/installer.rbs +15 -0
  77. data/core/rubygems/path_support.rbs +6 -0
  78. data/core/rubygems/platform.rbs +7 -0
  79. data/core/rubygems/request_set.rbs +49 -0
  80. data/core/rubygems/requirement.rbs +148 -0
  81. data/core/rubygems/rubygems.rbs +1171 -0
  82. data/core/rubygems/source_list.rbs +15 -0
  83. data/core/rubygems/specification.rbs +23 -0
  84. data/core/rubygems/stream_ui.rbs +5 -0
  85. data/core/rubygems/uninstaller.rbs +10 -0
  86. data/core/rubygems/version.rbs +294 -0
  87. data/core/set.rbs +621 -0
  88. data/core/signal.rbs +100 -0
  89. data/core/string.rbs +3583 -0
  90. data/core/struct.rbs +667 -0
  91. data/core/symbol.rbs +475 -0
  92. data/core/thread.rbs +1765 -0
  93. data/core/thread_group.rbs +79 -0
  94. data/core/time.rbs +1762 -0
  95. data/core/trace_point.rbs +477 -0
  96. data/core/true_class.rbs +98 -0
  97. data/core/unbound_method.rbs +329 -0
  98. data/core/warning.rbs +87 -0
  99. data/docs/CONTRIBUTING.md +106 -0
  100. data/docs/architecture.md +110 -0
  101. data/docs/collection.md +192 -0
  102. data/docs/data_and_struct.md +86 -0
  103. data/docs/gem.md +57 -0
  104. data/docs/rbs_by_example.md +309 -0
  105. data/docs/repo.md +125 -0
  106. data/docs/sigs.md +167 -0
  107. data/docs/stdlib.md +147 -0
  108. data/docs/syntax.md +910 -0
  109. data/docs/tools.md +17 -0
  110. data/exe/rbs +7 -0
  111. data/ext/rbs_extension/extconf.rb +15 -0
  112. data/ext/rbs_extension/lexer.c +2728 -0
  113. data/ext/rbs_extension/lexer.h +179 -0
  114. data/ext/rbs_extension/lexer.re +147 -0
  115. data/ext/rbs_extension/lexstate.c +175 -0
  116. data/ext/rbs_extension/location.c +325 -0
  117. data/ext/rbs_extension/location.h +85 -0
  118. data/ext/rbs_extension/main.c +33 -0
  119. data/ext/rbs_extension/parser.c +2973 -0
  120. data/ext/rbs_extension/parser.h +18 -0
  121. data/ext/rbs_extension/parserstate.c +397 -0
  122. data/ext/rbs_extension/parserstate.h +163 -0
  123. data/ext/rbs_extension/rbs_extension.h +31 -0
  124. data/ext/rbs_extension/unescape.c +32 -0
  125. data/goodcheck.yml +91 -0
  126. data/include/rbs/constants.h +82 -0
  127. data/include/rbs/ruby_objs.h +72 -0
  128. data/include/rbs/util/rbs_constant_pool.h +219 -0
  129. data/include/rbs.h +7 -0
  130. data/lib/rbs/ancestor_graph.rb +92 -0
  131. data/lib/rbs/annotate/annotations.rb +199 -0
  132. data/lib/rbs/annotate/formatter.rb +92 -0
  133. data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
  134. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  135. data/lib/rbs/annotate.rb +8 -0
  136. data/lib/rbs/ast/annotation.rb +29 -0
  137. data/lib/rbs/ast/comment.rb +29 -0
  138. data/lib/rbs/ast/declarations.rb +467 -0
  139. data/lib/rbs/ast/directives.rb +49 -0
  140. data/lib/rbs/ast/members.rb +451 -0
  141. data/lib/rbs/ast/type_param.rb +225 -0
  142. data/lib/rbs/ast/visitor.rb +137 -0
  143. data/lib/rbs/buffer.rb +67 -0
  144. data/lib/rbs/builtin_names.rb +58 -0
  145. data/lib/rbs/cli/colored_io.rb +48 -0
  146. data/lib/rbs/cli/diff.rb +83 -0
  147. data/lib/rbs/cli/validate.rb +357 -0
  148. data/lib/rbs/cli.rb +1223 -0
  149. data/lib/rbs/collection/cleaner.rb +38 -0
  150. data/lib/rbs/collection/config/lockfile.rb +92 -0
  151. data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
  152. data/lib/rbs/collection/config.rb +81 -0
  153. data/lib/rbs/collection/installer.rb +32 -0
  154. data/lib/rbs/collection/sources/base.rb +14 -0
  155. data/lib/rbs/collection/sources/git.rb +258 -0
  156. data/lib/rbs/collection/sources/local.rb +81 -0
  157. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  158. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  159. data/lib/rbs/collection/sources.rb +38 -0
  160. data/lib/rbs/collection.rb +16 -0
  161. data/lib/rbs/constant.rb +28 -0
  162. data/lib/rbs/definition.rb +401 -0
  163. data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
  164. data/lib/rbs/definition_builder/method_builder.rb +254 -0
  165. data/lib/rbs/definition_builder.rb +845 -0
  166. data/lib/rbs/diff.rb +125 -0
  167. data/lib/rbs/environment/use_map.rb +77 -0
  168. data/lib/rbs/environment.rb +829 -0
  169. data/lib/rbs/environment_loader.rb +173 -0
  170. data/lib/rbs/environment_walker.rb +155 -0
  171. data/lib/rbs/errors.rb +645 -0
  172. data/lib/rbs/factory.rb +18 -0
  173. data/lib/rbs/file_finder.rb +28 -0
  174. data/lib/rbs/location_aux.rb +138 -0
  175. data/lib/rbs/locator.rb +243 -0
  176. data/lib/rbs/method_type.rb +143 -0
  177. data/lib/rbs/namespace.rb +125 -0
  178. data/lib/rbs/parser/lex_result.rb +15 -0
  179. data/lib/rbs/parser/token.rb +23 -0
  180. data/lib/rbs/parser_aux.rb +114 -0
  181. data/lib/rbs/prototype/helpers.rb +140 -0
  182. data/lib/rbs/prototype/node_usage.rb +99 -0
  183. data/lib/rbs/prototype/rb.rb +840 -0
  184. data/lib/rbs/prototype/rbi.rb +641 -0
  185. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  186. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  187. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  188. data/lib/rbs/prototype/runtime.rb +667 -0
  189. data/lib/rbs/repository.rb +127 -0
  190. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  191. data/lib/rbs/resolver/type_name_resolver.rb +91 -0
  192. data/lib/rbs/sorter.rb +198 -0
  193. data/lib/rbs/substitution.rb +83 -0
  194. data/lib/rbs/subtractor.rb +201 -0
  195. data/lib/rbs/test/errors.rb +80 -0
  196. data/lib/rbs/test/guaranteed.rb +30 -0
  197. data/lib/rbs/test/hook.rb +212 -0
  198. data/lib/rbs/test/observer.rb +19 -0
  199. data/lib/rbs/test/setup.rb +84 -0
  200. data/lib/rbs/test/setup_helper.rb +50 -0
  201. data/lib/rbs/test/tester.rb +167 -0
  202. data/lib/rbs/test/type_check.rb +435 -0
  203. data/lib/rbs/test.rb +112 -0
  204. data/lib/rbs/type_alias_dependency.rb +100 -0
  205. data/lib/rbs/type_alias_regularity.rb +126 -0
  206. data/lib/rbs/type_name.rb +109 -0
  207. data/lib/rbs/types.rb +1596 -0
  208. data/lib/rbs/unit_test/convertibles.rb +176 -0
  209. data/lib/rbs/unit_test/spy.rb +138 -0
  210. data/lib/rbs/unit_test/type_assertions.rb +347 -0
  211. data/lib/rbs/unit_test/with_aliases.rb +143 -0
  212. data/lib/rbs/unit_test.rb +6 -0
  213. data/lib/rbs/validator.rb +186 -0
  214. data/lib/rbs/variance_calculator.rb +189 -0
  215. data/lib/rbs/vendorer.rb +71 -0
  216. data/lib/rbs/version.rb +5 -0
  217. data/lib/rbs/writer.rb +424 -0
  218. data/lib/rbs.rb +94 -0
  219. data/lib/rdoc/discover.rb +20 -0
  220. data/lib/rdoc_plugin/parser.rb +163 -0
  221. data/rbs-relaxed.gemspec +48 -0
  222. data/schema/annotation.json +14 -0
  223. data/schema/comment.json +26 -0
  224. data/schema/decls.json +326 -0
  225. data/schema/function.json +87 -0
  226. data/schema/location.json +56 -0
  227. data/schema/members.json +266 -0
  228. data/schema/methodType.json +50 -0
  229. data/schema/typeParam.json +36 -0
  230. data/schema/types.json +317 -0
  231. data/sig/ancestor_builder.rbs +163 -0
  232. data/sig/ancestor_graph.rbs +60 -0
  233. data/sig/annotate/annotations.rbs +102 -0
  234. data/sig/annotate/formatter.rbs +24 -0
  235. data/sig/annotate/rdoc_annotater.rbs +82 -0
  236. data/sig/annotate/rdoc_source.rbs +30 -0
  237. data/sig/annotation.rbs +27 -0
  238. data/sig/buffer.rbs +32 -0
  239. data/sig/builtin_names.rbs +44 -0
  240. data/sig/cli/colored_io.rbs +15 -0
  241. data/sig/cli/diff.rbs +21 -0
  242. data/sig/cli/validate.rbs +43 -0
  243. data/sig/cli.rbs +87 -0
  244. data/sig/collection/cleaner.rbs +13 -0
  245. data/sig/collection/config/lockfile.rbs +74 -0
  246. data/sig/collection/config/lockfile_generator.rbs +66 -0
  247. data/sig/collection/config.rbs +46 -0
  248. data/sig/collection/installer.rbs +17 -0
  249. data/sig/collection/sources.rbs +214 -0
  250. data/sig/collection.rbs +4 -0
  251. data/sig/comment.rbs +26 -0
  252. data/sig/constant.rbs +21 -0
  253. data/sig/declarations.rbs +267 -0
  254. data/sig/definition.rbs +173 -0
  255. data/sig/definition_builder.rbs +165 -0
  256. data/sig/diff.rbs +28 -0
  257. data/sig/directives.rbs +77 -0
  258. data/sig/environment.rbs +279 -0
  259. data/sig/environment_loader.rbs +111 -0
  260. data/sig/environment_walker.rbs +65 -0
  261. data/sig/errors.rbs +405 -0
  262. data/sig/factory.rbs +5 -0
  263. data/sig/file_finder.rbs +28 -0
  264. data/sig/location.rbs +110 -0
  265. data/sig/locator.rbs +58 -0
  266. data/sig/manifest.yaml +7 -0
  267. data/sig/members.rbs +258 -0
  268. data/sig/method_builder.rbs +84 -0
  269. data/sig/method_types.rbs +58 -0
  270. data/sig/namespace.rbs +146 -0
  271. data/sig/parser.rbs +100 -0
  272. data/sig/prototype/helpers.rbs +27 -0
  273. data/sig/prototype/node_usage.rbs +20 -0
  274. data/sig/prototype/rb.rbs +96 -0
  275. data/sig/prototype/rbi.rbs +75 -0
  276. data/sig/prototype/runtime.rbs +182 -0
  277. data/sig/rbs.rbs +21 -0
  278. data/sig/rdoc/rbs.rbs +67 -0
  279. data/sig/repository.rbs +85 -0
  280. data/sig/resolver/constant_resolver.rbs +92 -0
  281. data/sig/resolver/context.rbs +34 -0
  282. data/sig/resolver/type_name_resolver.rbs +35 -0
  283. data/sig/shims/bundler.rbs +38 -0
  284. data/sig/shims/enumerable.rbs +5 -0
  285. data/sig/shims/rubygems.rbs +19 -0
  286. data/sig/sorter.rbs +41 -0
  287. data/sig/substitution.rbs +48 -0
  288. data/sig/subtractor.rbs +37 -0
  289. data/sig/test/errors.rbs +52 -0
  290. data/sig/test/guranteed.rbs +9 -0
  291. data/sig/test/type_check.rbs +19 -0
  292. data/sig/test.rbs +82 -0
  293. data/sig/type_alias_dependency.rbs +53 -0
  294. data/sig/type_alias_regularity.rbs +98 -0
  295. data/sig/type_param.rbs +110 -0
  296. data/sig/typename.rbs +79 -0
  297. data/sig/types.rbs +579 -0
  298. data/sig/unit_test/convertibles.rbs +154 -0
  299. data/sig/unit_test/spy.rbs +30 -0
  300. data/sig/unit_test/type_assertions.rbs +196 -0
  301. data/sig/unit_test/with_aliases.rbs +136 -0
  302. data/sig/use_map.rbs +35 -0
  303. data/sig/util.rbs +9 -0
  304. data/sig/validator.rbs +63 -0
  305. data/sig/variance_calculator.rbs +87 -0
  306. data/sig/vendorer.rbs +51 -0
  307. data/sig/version.rbs +3 -0
  308. data/sig/visitor.rbs +47 -0
  309. data/sig/writer.rbs +127 -0
  310. data/src/constants.c +153 -0
  311. data/src/ruby_objs.c +795 -0
  312. data/src/util/rbs_constant_pool.c +342 -0
  313. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  314. data/stdlib/abbrev/0/array.rbs +26 -0
  315. data/stdlib/base64/0/base64.rbs +355 -0
  316. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  317. data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
  318. data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
  319. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  320. data/stdlib/cgi/0/core.rbs +1285 -0
  321. data/stdlib/cgi/0/manifest.yaml +3 -0
  322. data/stdlib/coverage/0/coverage.rbs +263 -0
  323. data/stdlib/csv/0/csv.rbs +3776 -0
  324. data/stdlib/csv/0/manifest.yaml +3 -0
  325. data/stdlib/date/0/date.rbs +1585 -0
  326. data/stdlib/date/0/date_time.rbs +616 -0
  327. data/stdlib/date/0/time.rbs +26 -0
  328. data/stdlib/dbm/0/dbm.rbs +421 -0
  329. data/stdlib/delegate/0/delegator.rbs +184 -0
  330. data/stdlib/delegate/0/kernel.rbs +47 -0
  331. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  332. data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
  333. data/stdlib/digest/0/digest.rbs +577 -0
  334. data/stdlib/erb/0/erb.rbs +532 -0
  335. data/stdlib/etc/0/etc.rbs +865 -0
  336. data/stdlib/fileutils/0/fileutils.rbs +1734 -0
  337. data/stdlib/find/0/find.rbs +49 -0
  338. data/stdlib/forwardable/0/forwardable.rbs +268 -0
  339. data/stdlib/io-console/0/io-console.rbs +414 -0
  340. data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
  341. data/stdlib/json/0/json.rbs +1916 -0
  342. data/stdlib/kconv/0/kconv.rbs +166 -0
  343. data/stdlib/logger/0/formatter.rbs +45 -0
  344. data/stdlib/logger/0/log_device.rbs +100 -0
  345. data/stdlib/logger/0/logger.rbs +796 -0
  346. data/stdlib/logger/0/manifest.yaml +2 -0
  347. data/stdlib/logger/0/period.rbs +17 -0
  348. data/stdlib/logger/0/severity.rbs +34 -0
  349. data/stdlib/minitest/0/kernel.rbs +42 -0
  350. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  351. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  352. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  353. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  354. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  355. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  356. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  357. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  358. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  359. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  360. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  361. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  362. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  363. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  364. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  365. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  366. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  367. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  368. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  369. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  370. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  371. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  372. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  373. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  374. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  375. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  376. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  377. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  378. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  379. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  380. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  381. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  382. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  383. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  384. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  385. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  386. data/stdlib/minitest/0/minitest.rbs +115 -0
  387. data/stdlib/monitor/0/monitor.rbs +363 -0
  388. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  389. data/stdlib/net-http/0/manifest.yaml +3 -0
  390. data/stdlib/net-http/0/net-http.rbs +5552 -0
  391. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  392. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  393. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  394. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  395. data/stdlib/nkf/0/nkf.rbs +402 -0
  396. data/stdlib/objspace/0/objspace.rbs +487 -0
  397. data/stdlib/observable/0/observable.rbs +217 -0
  398. data/stdlib/open-uri/0/manifest.yaml +4 -0
  399. data/stdlib/open-uri/0/open-uri.rbs +393 -0
  400. data/stdlib/open3/0/open3.rbs +147 -0
  401. data/stdlib/openssl/0/manifest.yaml +3 -0
  402. data/stdlib/openssl/0/openssl.rbs +12113 -0
  403. data/stdlib/optparse/0/optparse.rbs +1725 -0
  404. data/stdlib/pathname/0/pathname.rbs +1406 -0
  405. data/stdlib/pp/0/manifest.yaml +2 -0
  406. data/stdlib/pp/0/pp.rbs +300 -0
  407. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  408. data/stdlib/pstore/0/pstore.rbs +603 -0
  409. data/stdlib/psych/0/core_ext.rbs +12 -0
  410. data/stdlib/psych/0/dbm.rbs +237 -0
  411. data/stdlib/psych/0/manifest.yaml +3 -0
  412. data/stdlib/psych/0/psych.rbs +402 -0
  413. data/stdlib/psych/0/store.rbs +59 -0
  414. data/stdlib/pty/0/pty.rbs +237 -0
  415. data/stdlib/rdoc/0/code_object.rbs +51 -0
  416. data/stdlib/rdoc/0/comment.rbs +59 -0
  417. data/stdlib/rdoc/0/context.rbs +153 -0
  418. data/stdlib/rdoc/0/markup.rbs +117 -0
  419. data/stdlib/rdoc/0/parser.rbs +56 -0
  420. data/stdlib/rdoc/0/rdoc.rbs +391 -0
  421. data/stdlib/rdoc/0/ri.rbs +17 -0
  422. data/stdlib/rdoc/0/store.rbs +48 -0
  423. data/stdlib/rdoc/0/top_level.rbs +97 -0
  424. data/stdlib/resolv/0/manifest.yaml +3 -0
  425. data/stdlib/resolv/0/resolv.rbs +1830 -0
  426. data/stdlib/ripper/0/ripper.rbs +1648 -0
  427. data/stdlib/securerandom/0/securerandom.rbs +62 -0
  428. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  429. data/stdlib/singleton/0/singleton.rbs +131 -0
  430. data/stdlib/socket/0/addrinfo.rbs +666 -0
  431. data/stdlib/socket/0/basic_socket.rbs +590 -0
  432. data/stdlib/socket/0/constants.rbs +2295 -0
  433. data/stdlib/socket/0/ip_socket.rbs +92 -0
  434. data/stdlib/socket/0/socket.rbs +4157 -0
  435. data/stdlib/socket/0/socket_error.rbs +5 -0
  436. data/stdlib/socket/0/tcp_server.rbs +192 -0
  437. data/stdlib/socket/0/tcp_socket.rbs +79 -0
  438. data/stdlib/socket/0/udp_socket.rbs +133 -0
  439. data/stdlib/socket/0/unix_server.rbs +169 -0
  440. data/stdlib/socket/0/unix_socket.rbs +172 -0
  441. data/stdlib/stringio/0/stringio.rbs +567 -0
  442. data/stdlib/strscan/0/string_scanner.rbs +1627 -0
  443. data/stdlib/tempfile/0/tempfile.rbs +479 -0
  444. data/stdlib/time/0/time.rbs +432 -0
  445. data/stdlib/timeout/0/timeout.rbs +81 -0
  446. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  447. data/stdlib/tsort/0/cyclic.rbs +5 -0
  448. data/stdlib/tsort/0/interfaces.rbs +20 -0
  449. data/stdlib/tsort/0/tsort.rbs +409 -0
  450. data/stdlib/uri/0/common.rbs +582 -0
  451. data/stdlib/uri/0/file.rbs +118 -0
  452. data/stdlib/uri/0/ftp.rbs +13 -0
  453. data/stdlib/uri/0/generic.rbs +1108 -0
  454. data/stdlib/uri/0/http.rbs +104 -0
  455. data/stdlib/uri/0/https.rbs +14 -0
  456. data/stdlib/uri/0/ldap.rbs +230 -0
  457. data/stdlib/uri/0/ldaps.rbs +14 -0
  458. data/stdlib/uri/0/mailto.rbs +92 -0
  459. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  460. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  461. data/stdlib/uri/0/ws.rbs +13 -0
  462. data/stdlib/uri/0/wss.rbs +9 -0
  463. data/stdlib/yaml/0/manifest.yaml +2 -0
  464. data/stdlib/yaml/0/yaml.rbs +1 -0
  465. data/stdlib/zlib/0/buf_error.rbs +10 -0
  466. data/stdlib/zlib/0/data_error.rbs +10 -0
  467. data/stdlib/zlib/0/deflate.rbs +210 -0
  468. data/stdlib/zlib/0/error.rbs +20 -0
  469. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  470. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  471. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  472. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  473. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  474. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  475. data/stdlib/zlib/0/gzip_writer.rbs +166 -0
  476. data/stdlib/zlib/0/inflate.rbs +180 -0
  477. data/stdlib/zlib/0/mem_error.rbs +10 -0
  478. data/stdlib/zlib/0/need_dict.rbs +13 -0
  479. data/stdlib/zlib/0/stream_end.rbs +11 -0
  480. data/stdlib/zlib/0/stream_error.rbs +11 -0
  481. data/stdlib/zlib/0/version_error.rbs +11 -0
  482. data/stdlib/zlib/0/zlib.rbs +449 -0
  483. data/stdlib/zlib/0/zstream.rbs +200 -0
  484. metadata +532 -0
@@ -0,0 +1,293 @@
1
+ module RBS
2
+ module Unnamed
3
+ %a{annotate:rdoc:copy:Random::Base}
4
+ class Random_Base
5
+ include Random_Formatter
6
+ extend Random_Formatter
7
+
8
+ # <!--
9
+ # rdoc-file=random.c
10
+ # - Random.new(seed = Random.new_seed) -> prng
11
+ # -->
12
+ # Creates a new PRNG using `seed` to set the initial state. If `seed` is
13
+ # omitted, the generator is initialized with Random.new_seed.
14
+ #
15
+ # See Random.srand for more information on the use of seed values.
16
+ #
17
+ %a{annotate:rdoc:copy:Random.new}
18
+ def initialize: (?Integer seed) -> void
19
+
20
+ # <!--
21
+ # rdoc-file=random.c
22
+ # - prng.rand -> float
23
+ # - prng.rand(max) -> number
24
+ # - prng.rand(range) -> number
25
+ # -->
26
+ # When `max` is an Integer, `rand` returns a random integer greater than or
27
+ # equal to zero and less than `max`. Unlike Kernel.rand, when `max` is a
28
+ # negative integer or zero, `rand` raises an ArgumentError.
29
+ #
30
+ # prng = Random.new
31
+ # prng.rand(100) # => 42
32
+ #
33
+ # When `max` is a Float, `rand` returns a random floating point number between
34
+ # 0.0 and `max`, including 0.0 and excluding `max`.
35
+ #
36
+ # prng.rand(1.5) # => 1.4600282860034115
37
+ #
38
+ # When `range` is a Range, `rand` returns a random number where
39
+ # `range.member?(number) == true`.
40
+ #
41
+ # prng.rand(5..9) # => one of [5, 6, 7, 8, 9]
42
+ # prng.rand(5...9) # => one of [5, 6, 7, 8]
43
+ # prng.rand(5.0..9.0) # => between 5.0 and 9.0, including 9.0
44
+ # prng.rand(5.0...9.0) # => between 5.0 and 9.0, excluding 9.0
45
+ #
46
+ # Both the beginning and ending values of the range must respond to subtract
47
+ # (`-`) and add (`+`)methods, or rand will raise an ArgumentError.
48
+ #
49
+ %a{annotate:rdoc:copy:Random#rand}
50
+ def rand: (?0) -> Float
51
+ | (Integer | ::Range[Integer] max) -> Integer
52
+ | (Float | ::Range[Float] max) -> Float
53
+
54
+ # <!--
55
+ # rdoc-file=random.c
56
+ # - prng.bytes(size) -> string
57
+ # -->
58
+ # Returns a random binary string containing `size` bytes.
59
+ #
60
+ # random_string = Random.new.bytes(10) # => "\xD7:R\xAB?\x83\xCE\xFAkO"
61
+ # random_string.size # => 10
62
+ #
63
+ %a{annotate:rdoc:copy:Random#bytes}
64
+ def bytes: (Integer size) -> String
65
+
66
+ # <!--
67
+ # rdoc-file=random.c
68
+ # - prng.seed -> integer
69
+ # -->
70
+ # Returns the seed value used to initialize the generator. This may be used to
71
+ # initialize another generator with the same state at a later time, causing it
72
+ # to produce the same sequence of numbers.
73
+ #
74
+ # prng1 = Random.new(1234)
75
+ # prng1.seed #=> 1234
76
+ # prng1.rand(100) #=> 47
77
+ #
78
+ # prng2 = Random.new(prng1.seed)
79
+ # prng2.rand(100) #=> 47
80
+ #
81
+ %a{annotate:rdoc:copy:Random#seed}
82
+ def seed: () -> Integer
83
+ end
84
+
85
+ # <!-- rdoc-file=lib/random/formatter.rb -->
86
+ # ## Random number formatter.
87
+ #
88
+ # Formats generated random numbers in many manners. When `'random/formatter'` is
89
+ # required, several methods are added to empty core module `Random::Formatter`,
90
+ # making them available as Random's instance and module methods.
91
+ #
92
+ # Standard library SecureRandom is also extended with the module, and the
93
+ # methods described below are available as a module methods in it.
94
+ #
95
+ # ### Examples
96
+ #
97
+ # Generate random hexadecimal strings:
98
+ #
99
+ # require 'random/formatter'
100
+ #
101
+ # prng = Random.new
102
+ # prng.hex(10) #=> "52750b30ffbc7de3b362"
103
+ # prng.hex(10) #=> "92b15d6c8dc4beb5f559"
104
+ # prng.hex(13) #=> "39b290146bea6ce975c37cfc23"
105
+ # # or just
106
+ # Random.hex #=> "1aed0c631e41be7f77365415541052ee"
107
+ #
108
+ # Generate random base64 strings:
109
+ #
110
+ # prng.base64(10) #=> "EcmTPZwWRAozdA=="
111
+ # prng.base64(10) #=> "KO1nIU+p9DKxGg=="
112
+ # prng.base64(12) #=> "7kJSM/MzBJI+75j8"
113
+ # Random.base64(4) #=> "bsQ3fQ=="
114
+ #
115
+ # Generate random binary strings:
116
+ #
117
+ # prng.random_bytes(10) #=> "\016\t{\370g\310pbr\301"
118
+ # prng.random_bytes(10) #=> "\323U\030TO\234\357\020\a\337"
119
+ # Random.random_bytes(6) #=> "\xA1\xE6Lr\xC43"
120
+ #
121
+ # Generate alphanumeric strings:
122
+ #
123
+ # prng.alphanumeric(10) #=> "S8baxMJnPl"
124
+ # prng.alphanumeric(10) #=> "aOxAg8BAJe"
125
+ # Random.alphanumeric #=> "TmP9OsJHJLtaZYhP"
126
+ #
127
+ # Generate UUIDs:
128
+ #
129
+ # prng.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
130
+ # prng.uuid #=> "bad85eb9-0713-4da7-8d36-07a8e4b00eab"
131
+ # Random.uuid #=> "f14e0271-de96-45cc-8911-8910292a42cd"
132
+ #
133
+ # All methods are available in the standard library SecureRandom, too:
134
+ #
135
+ # SecureRandom.hex #=> "05b45376a30c67238eb93b16499e50cf"
136
+ #
137
+ # <!-- rdoc-file=random.c -->
138
+ # Generate a random number in the given range as Random does
139
+ #
140
+ # prng.random_number #=> 0.5816771641321361
141
+ # prng.random_number(1000) #=> 485
142
+ # prng.random_number(1..6) #=> 3
143
+ # prng.rand #=> 0.5816771641321361
144
+ # prng.rand(1000) #=> 485
145
+ # prng.rand(1..6) #=> 3
146
+ #
147
+ %a{annotate:rdoc:copy:Random::Formatter}
148
+ module Random_Formatter
149
+ # <!--
150
+ # rdoc-file=lib/random/formatter.rb
151
+ # - base64(n=nil)
152
+ # -->
153
+ # Generate a random base64 string.
154
+ #
155
+ # The argument *n* specifies the length, in bytes, of the random number to be
156
+ # generated. The length of the result string is about 4/3 of *n*.
157
+ #
158
+ # If *n* is not specified or is nil, 16 is assumed. It may be larger in the
159
+ # future.
160
+ #
161
+ # The result may contain A-Z, a-z, 0-9, "+", "/" and "=".
162
+ #
163
+ # require 'random/formatter'
164
+ #
165
+ # Random.base64 #=> "/2BuBuLf3+WfSKyQbRcc/A=="
166
+ # # or
167
+ # prng = Random.new
168
+ # prng.base64 #=> "6BbW0pxO0YENxn38HMUbcQ=="
169
+ #
170
+ # See RFC 3548 for the definition of base64.
171
+ #
172
+ %a{annotate:rdoc:copy:Random::Formatter#base64}
173
+ def base64: (?Integer? n) -> String
174
+
175
+ # <!--
176
+ # rdoc-file=lib/random/formatter.rb
177
+ # - hex(n=nil)
178
+ # -->
179
+ # Generate a random hexadecimal string.
180
+ #
181
+ # The argument *n* specifies the length, in bytes, of the random number to be
182
+ # generated. The length of the resulting hexadecimal string is twice of *n*.
183
+ #
184
+ # If *n* is not specified or is nil, 16 is assumed. It may be larger in the
185
+ # future.
186
+ #
187
+ # The result may contain 0-9 and a-f.
188
+ #
189
+ # require 'random/formatter'
190
+ #
191
+ # Random.hex #=> "eb693ec8252cd630102fd0d0fb7c3485"
192
+ # # or
193
+ # prng = Random.new
194
+ # prng.hex #=> "91dc3bfb4de5b11d029d376634589b61"
195
+ #
196
+ %a{annotate:rdoc:copy:Random::Formatter#hex}
197
+ def hex: (?Integer? n) -> String
198
+
199
+ # <!-- rdoc-file=random.c -->
200
+ # Generates formatted random number from raw random bytes. See Random#rand.
201
+ #
202
+ %a{annotate:rdoc:copy:Random::Formatter#rand}
203
+ def rand: (?0) -> Float
204
+ | (Float? n) -> Float
205
+ | (Integer n) -> Integer
206
+ | (Numeric n) -> Numeric
207
+ | (::Range[Float] n) -> Float
208
+ | (::Range[Integer] n) -> Integer
209
+ | (::Range[Numeric] n) -> Numeric
210
+
211
+ %a{annotate:rdoc:copy:Random::Formatter#random_byte}
212
+ def random_bytes: (?Integer? n) -> String
213
+
214
+ # <!--
215
+ # rdoc-file=random.c
216
+ # - prng.random_number -> float
217
+ # - prng.random_number(max) -> number
218
+ # - prng.random_number(range) -> number
219
+ # - prng.rand -> float
220
+ # - prng.rand(max) -> number
221
+ # - prng.rand(range) -> number
222
+ # -->
223
+ # Generates formatted random number from raw random bytes. See Random#rand.
224
+ #
225
+ %a{annotate:rdoc:copy:Random::Formatter#random_number}
226
+ def random_number: () -> Float
227
+ | (?Float? n) -> Float
228
+ | (?Integer? n) -> Integer
229
+ | (?Numeric? n) -> Numeric
230
+ | (?::Range[Float]? n) -> Float
231
+ | (?::Range[Integer]? n) -> Integer
232
+ | (?::Range[Numeric]? n) -> Numeric
233
+
234
+ # <!--
235
+ # rdoc-file=lib/random/formatter.rb
236
+ # - urlsafe_base64(n=nil, padding=false)
237
+ # -->
238
+ # Generate a random URL-safe base64 string.
239
+ #
240
+ # The argument *n* specifies the length, in bytes, of the random number to be
241
+ # generated. The length of the result string is about 4/3 of *n*.
242
+ #
243
+ # If *n* is not specified or is nil, 16 is assumed. It may be larger in the
244
+ # future.
245
+ #
246
+ # The boolean argument *padding* specifies the padding. If it is false or nil,
247
+ # padding is not generated. Otherwise padding is generated. By default, padding
248
+ # is not generated because "=" may be used as a URL delimiter.
249
+ #
250
+ # The result may contain A-Z, a-z, 0-9, "-" and "_". "=" is also used if
251
+ # *padding* is true.
252
+ #
253
+ # require 'random/formatter'
254
+ #
255
+ # Random.urlsafe_base64 #=> "b4GOKm4pOYU_-BOXcrUGDg"
256
+ # # or
257
+ # prng = Random.new
258
+ # prng.urlsafe_base64 #=> "UZLdOkzop70Ddx-IJR0ABg"
259
+ #
260
+ # prng.urlsafe_base64(nil, true) #=> "i0XQ-7gglIsHGV2_BNPrdQ=="
261
+ # prng.urlsafe_base64(nil, true) #=> "-M8rLhr7JEpJlqFGUMmOxg=="
262
+ #
263
+ # See RFC 3548 for the definition of URL-safe base64.
264
+ #
265
+ %a{annotate:rdoc:copy:Random::Formatter#urlsafe_base64}
266
+ def urlsafe_base64: (?Integer? n, ?boolish padding) -> String
267
+
268
+ # <!--
269
+ # rdoc-file=lib/random/formatter.rb
270
+ # - uuid()
271
+ # -->
272
+ # Generate a random v4 UUID (Universally Unique IDentifier).
273
+ #
274
+ # require 'random/formatter'
275
+ #
276
+ # Random.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
277
+ # Random.uuid #=> "bad85eb9-0713-4da7-8d36-07a8e4b00eab"
278
+ # # or
279
+ # prng = Random.new
280
+ # prng.uuid #=> "62936e70-1815-439b-bf89-8492855a7e6b"
281
+ #
282
+ # The version 4 UUID is purely random (except the version). It doesn't contain
283
+ # meaningful information such as MAC addresses, timestamps, etc.
284
+ #
285
+ # The result contains 122 random bits (15.25 random bytes).
286
+ #
287
+ # See [RFC9562](https://www.rfc-editor.org/rfc/rfc9562) for details of UUIDv4.
288
+ #
289
+ %a{annotate:rdoc:copy:Random::Formatter#uuid}
290
+ def uuid: () -> String
291
+ end
292
+ end
293
+ end
@@ -0,0 +1,59 @@
1
+ # <!-- rdoc-file=class.c -->
2
+ # Refinement is a class of the `self` (current context) inside `refine`
3
+ # statement. It allows to import methods from other modules, see
4
+ # #import_methods.
5
+ #
6
+ class Refinement < Module
7
+ # <!--
8
+ # rdoc-file=eval.c
9
+ # - target -> class_or_module
10
+ # -->
11
+ # Return the class or module refined by the receiver.
12
+ #
13
+ # module M
14
+ # refine String do
15
+ # end
16
+ # end
17
+ #
18
+ # M.refinements[0].target # => String
19
+ #
20
+ def target: () -> Module?
21
+
22
+ private
23
+
24
+ # <!--
25
+ # rdoc-file=class.c
26
+ # - import_methods(module, ...) -> self
27
+ # -->
28
+ # Imports methods from modules. Unlike Module#include, Refinement#import_methods
29
+ # copies methods and adds them into the refinement, so the refinement is
30
+ # activated in the imported methods.
31
+ #
32
+ # Note that due to method copying, only methods defined in Ruby code can be
33
+ # imported.
34
+ #
35
+ # module StrUtils
36
+ # def indent(level)
37
+ # ' ' * level + self
38
+ # end
39
+ # end
40
+ #
41
+ # module M
42
+ # refine String do
43
+ # import_methods StrUtils
44
+ # end
45
+ # end
46
+ #
47
+ # using M
48
+ # "foo".indent(3)
49
+ # #=> " foo"
50
+ #
51
+ # module M
52
+ # refine String do
53
+ # import_methods Enumerable
54
+ # # Can't import method which is not defined with Ruby code: Enumerable#drop
55
+ # end
56
+ # end
57
+ #
58
+ def import_methods: (Module module, *Module extra_modules) -> self
59
+ end