@ai-ecoverse/wasix-ruby 3.4.11-20 → 3.4.11-21

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 (618) hide show
  1. package/PRESTAGE.md +8 -8
  2. package/README.md +9 -1
  3. package/THIRD-PARTY-NOTICES.md +1 -1
  4. package/bin/ruby +0 -0
  5. package/lib/ruby/3.4.0/wasm32-wasi/rbconfig.rb +9 -9
  6. package/lib/ruby/gems/3.4.0/cache/bigdecimal-3.1.8.gem +0 -0
  7. package/lib/ruby/gems/3.4.0/cache/debug-1.11.0.gem +0 -0
  8. package/lib/ruby/gems/3.4.0/cache/nkf-0.2.0.gem +0 -0
  9. package/lib/ruby/gems/3.4.0/cache/racc-1.8.1.gem +0 -0
  10. package/lib/ruby/gems/3.4.0/cache/rbs-3.8.0.gem +0 -0
  11. package/lib/ruby/gems/3.4.0/cache/syslog-0.2.0.gem +0 -0
  12. package/lib/ruby/gems/3.4.0/extensions/wasm32-wasi/3.4.0-static/bigdecimal-3.1.8/gem.build_complete +0 -0
  13. package/lib/ruby/gems/3.4.0/extensions/wasm32-wasi/3.4.0-static/debug-1.11.0/gem.build_complete +0 -0
  14. package/lib/ruby/gems/3.4.0/extensions/wasm32-wasi/3.4.0-static/nkf-0.2.0/gem.build_complete +0 -0
  15. package/lib/ruby/gems/3.4.0/extensions/wasm32-wasi/3.4.0-static/racc-1.8.1/gem.build_complete +0 -0
  16. package/lib/ruby/gems/3.4.0/extensions/wasm32-wasi/3.4.0-static/rbs-3.8.0/gem.build_complete +0 -0
  17. package/lib/ruby/gems/3.4.0/extensions/wasm32-wasi/3.4.0-static/syslog-0.2.0/gem.build_complete +0 -0
  18. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/LICENSE +56 -0
  19. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/bigdecimal.c +7794 -0
  20. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/bigdecimal.h +313 -0
  21. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/bits.h +141 -0
  22. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/extconf.rb +62 -0
  23. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/feature.h +68 -0
  24. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/missing/dtoa.c +3462 -0
  25. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/missing.c +27 -0
  26. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/missing.h +196 -0
  27. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/ext/bigdecimal/static_assert.h +54 -0
  28. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/lib/bigdecimal/jacobian.rb +90 -0
  29. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/lib/bigdecimal/ludcmp.rb +89 -0
  30. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/lib/bigdecimal/math.rb +232 -0
  31. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/lib/bigdecimal/newton.rb +80 -0
  32. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/lib/bigdecimal/util.rb +185 -0
  33. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/lib/bigdecimal.rb +5 -0
  34. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/sample/linear.rb +74 -0
  35. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/sample/nlsolve.rb +40 -0
  36. package/lib/ruby/gems/3.4.0/gems/bigdecimal-3.1.8/sample/pi.rb +21 -0
  37. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/CONTRIBUTING.md +573 -0
  38. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/Gemfile +10 -0
  39. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/LICENSE.txt +22 -0
  40. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/README.md +996 -0
  41. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/Rakefile +57 -0
  42. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/TODO.md +23 -0
  43. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/exe/rdbg +53 -0
  44. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/ext/debug/debug.c +228 -0
  45. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/ext/debug/extconf.rb +27 -0
  46. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/ext/debug/iseq_collector.c +93 -0
  47. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/abbrev_command.rb +77 -0
  48. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/breakpoint.rb +556 -0
  49. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/client.rb +263 -0
  50. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/color.rb +123 -0
  51. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/config.rb +592 -0
  52. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/console.rb +224 -0
  53. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/dap_custom/traceInspector.rb +336 -0
  54. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/frame_info.rb +190 -0
  55. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/irb_integration.rb +37 -0
  56. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/local.rb +115 -0
  57. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/open.rb +13 -0
  58. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/open_nonstop.rb +15 -0
  59. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/prelude.rb +50 -0
  60. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/server.rb +534 -0
  61. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/server_cdp.rb +1348 -0
  62. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/server_dap.rb +1108 -0
  63. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/session.rb +2667 -0
  64. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/source_repository.rb +150 -0
  65. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/start.rb +5 -0
  66. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/thread_client.rb +1457 -0
  67. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/tracer.rb +241 -0
  68. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug/version.rb +5 -0
  69. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/lib/debug.rb +9 -0
  70. package/lib/ruby/gems/3.4.0/gems/debug-1.11.0/misc/README.md.erb +660 -0
  71. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/Gemfile +5 -0
  72. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/LICENSE.txt +22 -0
  73. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/README.md +38 -0
  74. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/Rakefile +24 -0
  75. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/bin/console +14 -0
  76. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/bin/setup +8 -0
  77. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/java/org/jruby/ext/nkf/Command.java +58 -0
  78. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/java/org/jruby/ext/nkf/CommandParser.java +70 -0
  79. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/java/org/jruby/ext/nkf/NKFLibrary.java +13 -0
  80. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/java/org/jruby/ext/nkf/Option.java +80 -0
  81. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/java/org/jruby/ext/nkf/Options.java +109 -0
  82. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/java/org/jruby/ext/nkf/RubyNKF.java +601 -0
  83. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/nkf/extconf.rb +3 -0
  84. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/nkf/nkf-utf8/config.h +51 -0
  85. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/nkf/nkf-utf8/nkf.c +7205 -0
  86. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/nkf/nkf-utf8/nkf.h +189 -0
  87. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/nkf/nkf-utf8/utf8tbl.c +14638 -0
  88. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/nkf/nkf-utf8/utf8tbl.h +72 -0
  89. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/ext/nkf/nkf.c +506 -0
  90. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/lib/kconv.rb +283 -0
  91. package/lib/ruby/gems/3.4.0/gems/nkf-0.2.0/lib/nkf.rb +6 -0
  92. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/BSDL +22 -0
  93. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/COPYING +56 -0
  94. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/ChangeLog +846 -0
  95. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  96. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/README.rdoc +60 -0
  97. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/TODO +5 -0
  98. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/bin/racc +320 -0
  99. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/doc/en/grammar.en.rdoc +218 -0
  100. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/doc/en/grammar2.en.rdoc +219 -0
  101. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/doc/ja/command.ja.html +99 -0
  102. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/doc/ja/debug.ja.rdoc +36 -0
  103. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/doc/ja/grammar.ja.rdoc +348 -0
  104. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/doc/ja/index.ja.html +10 -0
  105. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/doc/ja/parser.ja.rdoc +125 -0
  106. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/doc/ja/usage.ja.html +414 -0
  107. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +840 -0
  108. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +8 -0
  109. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/compat.rb +33 -0
  110. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/debugflags.rb +60 -0
  111. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/exception.rb +16 -0
  112. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/grammar.rb +1191 -0
  113. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +667 -0
  114. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/info.rb +18 -0
  115. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/iset.rb +92 -0
  116. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +212 -0
  117. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/parser-text.rb +644 -0
  118. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/parser.rb +630 -0
  119. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +473 -0
  120. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +35 -0
  121. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/state.rb +976 -0
  122. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +311 -0
  123. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc/static.rb +5 -0
  124. package/lib/ruby/gems/3.4.0/gems/racc-1.8.1/lib/racc.rb +6 -0
  125. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/BSDL +22 -0
  126. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/CHANGELOG.md +1854 -0
  127. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/COPYING +56 -0
  128. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/README.md +203 -0
  129. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/Rakefile +415 -0
  130. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/Steepfile +44 -0
  131. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/config.yml +311 -0
  132. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/array.rbs +4062 -0
  133. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/basic_object.rbs +375 -0
  134. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/binding.rbs +150 -0
  135. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/builtin.rbs +277 -0
  136. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/class.rbs +220 -0
  137. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/comparable.rbs +171 -0
  138. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/complex.rbs +786 -0
  139. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/constants.rbs +96 -0
  140. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/data.rbs +415 -0
  141. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/dir.rbs +981 -0
  142. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/encoding.rbs +1371 -0
  143. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/enumerable.rbs +2405 -0
  144. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/enumerator/product.rbs +92 -0
  145. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/enumerator.rbs +630 -0
  146. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/env.rbs +6 -0
  147. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/errno.rbs +673 -0
  148. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/errors.rbs +760 -0
  149. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/exception.rbs +376 -0
  150. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/false_class.rbs +82 -0
  151. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/fiber.rbs +550 -0
  152. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/fiber_error.rbs +11 -0
  153. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/file.rbs +2936 -0
  154. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/file_test.rbs +331 -0
  155. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/float.rbs +1151 -0
  156. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/gc.rbs +644 -0
  157. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/global_variables.rbs +184 -0
  158. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/hash.rbs +1861 -0
  159. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/integer.rbs +1413 -0
  160. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/io/buffer.rbs +984 -0
  161. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/io/wait.rbs +70 -0
  162. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/io.rbs +3402 -0
  163. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/kernel.rbs +3054 -0
  164. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/marshal.rbs +207 -0
  165. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/match_data.rbs +635 -0
  166. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/math.rbs +729 -0
  167. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/method.rbs +386 -0
  168. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/module.rbs +1704 -0
  169. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/nil_class.rbs +209 -0
  170. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/numeric.rbs +818 -0
  171. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/object.rbs +110 -0
  172. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/object_space/weak_key_map.rbs +166 -0
  173. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/object_space.rbs +190 -0
  174. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/proc.rbs +868 -0
  175. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/process.rbs +2296 -0
  176. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/ractor.rbs +1065 -0
  177. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/random.rbs +237 -0
  178. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/range.rbs +1107 -0
  179. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rational.rbs +531 -0
  180. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rb_config.rbs +88 -0
  181. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rbs/unnamed/argf.rbs +1229 -0
  182. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rbs/unnamed/env_class.rbs +1209 -0
  183. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rbs/unnamed/random.rbs +293 -0
  184. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/refinement.rbs +59 -0
  185. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/regexp.rbs +1928 -0
  186. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/ruby_vm.rbs +765 -0
  187. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/basic_specification.rbs +6 -0
  188. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/config_file.rbs +38 -0
  189. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/dependency_installer.rbs +6 -0
  190. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/errors.rbs +176 -0
  191. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/installer.rbs +15 -0
  192. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/path_support.rbs +6 -0
  193. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/platform.rbs +7 -0
  194. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/request_set.rbs +49 -0
  195. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/requirement.rbs +148 -0
  196. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/rubygems.rbs +1171 -0
  197. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/source_list.rbs +15 -0
  198. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/specification.rbs +23 -0
  199. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/stream_ui.rbs +5 -0
  200. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/uninstaller.rbs +10 -0
  201. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/rubygems/version.rbs +294 -0
  202. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/set.rbs +621 -0
  203. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/signal.rbs +100 -0
  204. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/string.rbs +3583 -0
  205. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/struct.rbs +667 -0
  206. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/symbol.rbs +475 -0
  207. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/thread.rbs +1765 -0
  208. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/thread_group.rbs +79 -0
  209. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/time.rbs +1762 -0
  210. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/trace_point.rbs +477 -0
  211. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/true_class.rbs +98 -0
  212. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/unbound_method.rbs +329 -0
  213. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/core/warning.rbs +87 -0
  214. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/CONTRIBUTING.md +106 -0
  215. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/architecture.md +110 -0
  216. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/collection.md +192 -0
  217. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/data_and_struct.md +86 -0
  218. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/gem.md +57 -0
  219. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/rbs_by_example.md +309 -0
  220. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/repo.md +125 -0
  221. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/sigs.md +167 -0
  222. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/stdlib.md +147 -0
  223. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/syntax.md +905 -0
  224. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/docs/tools.md +17 -0
  225. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/exe/rbs +7 -0
  226. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/extconf.rb +14 -0
  227. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/lexer.c +2728 -0
  228. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/lexer.h +179 -0
  229. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/lexer.re +147 -0
  230. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/lexstate.c +175 -0
  231. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/location.c +303 -0
  232. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/location.h +84 -0
  233. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/main.c +12 -0
  234. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/parser.c +2961 -0
  235. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/parser.h +18 -0
  236. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/parserstate.c +366 -0
  237. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/parserstate.h +161 -0
  238. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/rbs_extension.h +31 -0
  239. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/ext/rbs_extension/unescape.c +32 -0
  240. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/goodcheck.yml +91 -0
  241. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/include/rbs/constants.h +82 -0
  242. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/include/rbs/ruby_objs.h +72 -0
  243. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/include/rbs.h +7 -0
  244. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/ancestor_graph.rb +92 -0
  245. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/annotate/annotations.rb +199 -0
  246. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/annotate/formatter.rb +92 -0
  247. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/annotate/rdoc_annotator.rb +400 -0
  248. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/annotate/rdoc_source.rb +131 -0
  249. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/annotate.rb +8 -0
  250. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/ast/annotation.rb +29 -0
  251. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/ast/comment.rb +29 -0
  252. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/ast/declarations.rb +467 -0
  253. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/ast/directives.rb +39 -0
  254. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/ast/members.rb +449 -0
  255. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/ast/type_param.rb +225 -0
  256. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/ast/visitor.rb +137 -0
  257. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/buffer.rb +67 -0
  258. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/builtin_names.rb +58 -0
  259. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/cli/colored_io.rb +48 -0
  260. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/cli/diff.rb +83 -0
  261. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/cli/validate.rb +356 -0
  262. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/cli.rb +1223 -0
  263. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/cleaner.rb +38 -0
  264. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/config/lockfile.rb +92 -0
  265. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/config/lockfile_generator.rb +223 -0
  266. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/config.rb +81 -0
  267. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/installer.rb +32 -0
  268. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/sources/base.rb +14 -0
  269. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/sources/git.rb +258 -0
  270. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/sources/local.rb +81 -0
  271. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/sources/rubygems.rb +48 -0
  272. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/sources/stdlib.rb +50 -0
  273. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection/sources.rb +38 -0
  274. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/collection.rb +16 -0
  275. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/constant.rb +28 -0
  276. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/definition.rb +395 -0
  277. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
  278. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/definition_builder/method_builder.rb +254 -0
  279. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/definition_builder.rb +841 -0
  280. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/diff.rb +125 -0
  281. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/environment/use_map.rb +77 -0
  282. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/environment.rb +818 -0
  283. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/environment_loader.rb +173 -0
  284. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/environment_walker.rb +155 -0
  285. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/errors.rb +600 -0
  286. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/factory.rb +18 -0
  287. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/file_finder.rb +28 -0
  288. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/location_aux.rb +138 -0
  289. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/locator.rb +241 -0
  290. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/method_type.rb +141 -0
  291. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/namespace.rb +125 -0
  292. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/parser/lex_result.rb +15 -0
  293. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/parser/token.rb +23 -0
  294. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/parser_aux.rb +77 -0
  295. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/prototype/helpers.rb +140 -0
  296. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/prototype/node_usage.rb +99 -0
  297. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/prototype/rb.rb +840 -0
  298. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/prototype/rbi.rb +641 -0
  299. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/prototype/runtime/helpers.rb +59 -0
  300. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/prototype/runtime/reflection.rb +19 -0
  301. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  302. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/prototype/runtime.rb +667 -0
  303. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/repository.rb +127 -0
  304. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/resolver/constant_resolver.rb +219 -0
  305. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/resolver/type_name_resolver.rb +91 -0
  306. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/sorter.rb +198 -0
  307. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/substitution.rb +83 -0
  308. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/subtractor.rb +201 -0
  309. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test/errors.rb +80 -0
  310. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test/guaranteed.rb +30 -0
  311. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test/hook.rb +212 -0
  312. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test/observer.rb +19 -0
  313. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test/setup.rb +84 -0
  314. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test/setup_helper.rb +50 -0
  315. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test/tester.rb +167 -0
  316. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test/type_check.rb +433 -0
  317. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/test.rb +112 -0
  318. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/type_alias_dependency.rb +100 -0
  319. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/type_alias_regularity.rb +126 -0
  320. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/type_name.rb +109 -0
  321. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/types.rb +1557 -0
  322. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/unit_test/convertibles.rb +176 -0
  323. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/unit_test/spy.rb +136 -0
  324. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/unit_test/type_assertions.rb +341 -0
  325. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/unit_test/with_aliases.rb +143 -0
  326. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/unit_test.rb +6 -0
  327. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/validator.rb +182 -0
  328. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/variance_calculator.rb +189 -0
  329. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/vendorer.rb +71 -0
  330. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/version.rb +5 -0
  331. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs/writer.rb +419 -0
  332. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rbs.rb +93 -0
  333. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rdoc/discover.rb +20 -0
  334. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/lib/rdoc_plugin/parser.rb +163 -0
  335. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/annotation.json +14 -0
  336. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/comment.json +26 -0
  337. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/decls.json +326 -0
  338. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/function.json +87 -0
  339. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/location.json +56 -0
  340. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/members.json +266 -0
  341. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/methodType.json +50 -0
  342. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/typeParam.json +36 -0
  343. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/schema/types.json +317 -0
  344. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/ancestor_builder.rbs +163 -0
  345. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/ancestor_graph.rbs +60 -0
  346. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/annotate/annotations.rbs +102 -0
  347. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/annotate/formatter.rbs +24 -0
  348. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/annotate/rdoc_annotater.rbs +82 -0
  349. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/annotate/rdoc_source.rbs +30 -0
  350. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/annotation.rbs +27 -0
  351. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/buffer.rbs +32 -0
  352. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/builtin_names.rbs +44 -0
  353. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/cli/colored_io.rbs +15 -0
  354. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/cli/diff.rbs +21 -0
  355. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/cli/validate.rbs +43 -0
  356. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/cli.rbs +87 -0
  357. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/collection/cleaner.rbs +13 -0
  358. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/collection/config/lockfile.rbs +74 -0
  359. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/collection/config/lockfile_generator.rbs +66 -0
  360. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/collection/config.rbs +46 -0
  361. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/collection/installer.rbs +17 -0
  362. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/collection/sources.rbs +214 -0
  363. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/collection.rbs +4 -0
  364. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/comment.rbs +26 -0
  365. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/constant.rbs +21 -0
  366. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/declarations.rbs +267 -0
  367. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/definition.rbs +173 -0
  368. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/definition_builder.rbs +165 -0
  369. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/diff.rbs +28 -0
  370. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/directives.rbs +61 -0
  371. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/environment.rbs +277 -0
  372. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/environment_loader.rbs +111 -0
  373. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/environment_walker.rbs +65 -0
  374. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/errors.rbs +383 -0
  375. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/factory.rbs +5 -0
  376. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/file_finder.rbs +28 -0
  377. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/location.rbs +110 -0
  378. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/locator.rbs +58 -0
  379. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/manifest.yaml +7 -0
  380. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/members.rbs +258 -0
  381. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/method_builder.rbs +84 -0
  382. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/method_types.rbs +58 -0
  383. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/namespace.rbs +146 -0
  384. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/parser.rbs +96 -0
  385. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/prototype/helpers.rbs +27 -0
  386. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/prototype/node_usage.rbs +20 -0
  387. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/prototype/rb.rbs +96 -0
  388. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/prototype/rbi.rbs +75 -0
  389. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/prototype/runtime.rbs +182 -0
  390. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/rbs.rbs +21 -0
  391. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/rdoc/rbs.rbs +67 -0
  392. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/repository.rbs +85 -0
  393. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/resolver/constant_resolver.rbs +92 -0
  394. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/resolver/context.rbs +34 -0
  395. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/resolver/type_name_resolver.rbs +35 -0
  396. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/shims/bundler.rbs +38 -0
  397. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/shims/enumerable.rbs +5 -0
  398. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/shims/rubygems.rbs +19 -0
  399. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/sorter.rbs +41 -0
  400. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/substitution.rbs +48 -0
  401. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/subtractor.rbs +37 -0
  402. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/test/errors.rbs +52 -0
  403. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/test/guranteed.rbs +9 -0
  404. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/test/type_check.rbs +19 -0
  405. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/test.rbs +82 -0
  406. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/type_alias_dependency.rbs +53 -0
  407. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/type_alias_regularity.rbs +98 -0
  408. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/type_param.rbs +110 -0
  409. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/typename.rbs +79 -0
  410. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/types.rbs +576 -0
  411. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/unit_test/convertibles.rbs +154 -0
  412. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/unit_test/spy.rbs +28 -0
  413. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/unit_test/type_assertions.rbs +194 -0
  414. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/unit_test/with_aliases.rbs +136 -0
  415. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/use_map.rbs +35 -0
  416. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/util.rbs +9 -0
  417. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/validator.rbs +59 -0
  418. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/variance_calculator.rbs +87 -0
  419. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/vendorer.rbs +51 -0
  420. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/version.rbs +3 -0
  421. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/visitor.rbs +47 -0
  422. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/sig/writer.rbs +127 -0
  423. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/src/constants.c +153 -0
  424. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/src/ruby_objs.c +793 -0
  425. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/abbrev/0/abbrev.rbs +66 -0
  426. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/abbrev/0/array.rbs +26 -0
  427. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/base64/0/base64.rbs +355 -0
  428. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/benchmark/0/benchmark.rbs +452 -0
  429. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
  430. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
  431. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  432. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/cgi/0/core.rbs +1285 -0
  433. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/cgi/0/manifest.yaml +3 -0
  434. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/coverage/0/coverage.rbs +263 -0
  435. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/csv/0/csv.rbs +3776 -0
  436. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/csv/0/manifest.yaml +3 -0
  437. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/date/0/date.rbs +1585 -0
  438. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/date/0/date_time.rbs +616 -0
  439. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/date/0/time.rbs +26 -0
  440. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/dbm/0/dbm.rbs +421 -0
  441. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/delegate/0/delegator.rbs +184 -0
  442. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/delegate/0/kernel.rbs +47 -0
  443. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/delegate/0/simple_delegator.rbs +96 -0
  444. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
  445. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/digest/0/digest.rbs +577 -0
  446. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/erb/0/erb.rbs +532 -0
  447. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/etc/0/etc.rbs +865 -0
  448. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/fileutils/0/fileutils.rbs +1734 -0
  449. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/find/0/find.rbs +49 -0
  450. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/forwardable/0/forwardable.rbs +268 -0
  451. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/io-console/0/io-console.rbs +414 -0
  452. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/ipaddr/0/ipaddr.rbs +428 -0
  453. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/json/0/json.rbs +1914 -0
  454. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/kconv/0/kconv.rbs +166 -0
  455. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/logger/0/formatter.rbs +45 -0
  456. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/logger/0/log_device.rbs +100 -0
  457. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/logger/0/logger.rbs +796 -0
  458. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/logger/0/manifest.yaml +2 -0
  459. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/logger/0/period.rbs +17 -0
  460. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/logger/0/severity.rbs +34 -0
  461. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/kernel.rbs +42 -0
  462. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  463. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  464. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  465. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  466. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  467. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  468. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  469. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/compress.rbs +13 -0
  470. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  471. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  472. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  473. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/guard.rbs +64 -0
  474. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/mock.rbs +64 -0
  475. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  476. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  477. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  478. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  479. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  480. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  481. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  482. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  483. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  484. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/result.rbs +28 -0
  485. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  486. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/skip.rbs +6 -0
  487. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  488. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  489. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/spec.rbs +11 -0
  490. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  491. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  492. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  493. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/test.rbs +69 -0
  494. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  495. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  496. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  497. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest/unit.rbs +4 -0
  498. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/minitest/0/minitest.rbs +115 -0
  499. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/monitor/0/monitor.rbs +354 -0
  500. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  501. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/net-http/0/manifest.yaml +3 -0
  502. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/net-http/0/net-http.rbs +5552 -0
  503. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/net-protocol/0/manifest.yaml +2 -0
  504. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  505. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/net-smtp/0/manifest.yaml +2 -0
  506. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  507. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/nkf/0/nkf.rbs +402 -0
  508. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/objspace/0/objspace.rbs +487 -0
  509. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/observable/0/observable.rbs +217 -0
  510. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/open-uri/0/manifest.yaml +4 -0
  511. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/open-uri/0/open-uri.rbs +393 -0
  512. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/open3/0/open3.rbs +147 -0
  513. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/openssl/0/manifest.yaml +3 -0
  514. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/openssl/0/openssl.rbs +12113 -0
  515. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/optparse/0/optparse.rbs +1725 -0
  516. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/pathname/0/pathname.rbs +1406 -0
  517. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/pp/0/manifest.yaml +2 -0
  518. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/pp/0/pp.rbs +300 -0
  519. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  520. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/pstore/0/pstore.rbs +603 -0
  521. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/psych/0/core_ext.rbs +12 -0
  522. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/psych/0/dbm.rbs +237 -0
  523. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/psych/0/manifest.yaml +3 -0
  524. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/psych/0/psych.rbs +402 -0
  525. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/psych/0/store.rbs +59 -0
  526. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/pty/0/pty.rbs +237 -0
  527. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/code_object.rbs +51 -0
  528. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/comment.rbs +59 -0
  529. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/context.rbs +153 -0
  530. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/markup.rbs +117 -0
  531. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/parser.rbs +56 -0
  532. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/rdoc.rbs +391 -0
  533. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/ri.rbs +17 -0
  534. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/store.rbs +48 -0
  535. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/rdoc/0/top_level.rbs +97 -0
  536. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/resolv/0/manifest.yaml +3 -0
  537. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/resolv/0/resolv.rbs +1830 -0
  538. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/ripper/0/ripper.rbs +1648 -0
  539. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/securerandom/0/securerandom.rbs +62 -0
  540. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/shellwords/0/shellwords.rbs +229 -0
  541. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/singleton/0/singleton.rbs +131 -0
  542. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/addrinfo.rbs +666 -0
  543. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/basic_socket.rbs +590 -0
  544. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/constants.rbs +2295 -0
  545. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/ip_socket.rbs +92 -0
  546. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/socket.rbs +4157 -0
  547. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/socket_error.rbs +5 -0
  548. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/tcp_server.rbs +192 -0
  549. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/tcp_socket.rbs +79 -0
  550. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/udp_socket.rbs +133 -0
  551. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/unix_server.rbs +169 -0
  552. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/socket/0/unix_socket.rbs +170 -0
  553. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/stringio/0/stringio.rbs +567 -0
  554. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/strscan/0/string_scanner.rbs +1627 -0
  555. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/tempfile/0/tempfile.rbs +479 -0
  556. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/time/0/time.rbs +432 -0
  557. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/timeout/0/timeout.rbs +81 -0
  558. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  559. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/tsort/0/cyclic.rbs +5 -0
  560. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/tsort/0/interfaces.rbs +20 -0
  561. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/tsort/0/tsort.rbs +409 -0
  562. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/common.rbs +582 -0
  563. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/file.rbs +118 -0
  564. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/ftp.rbs +13 -0
  565. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/generic.rbs +1108 -0
  566. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/http.rbs +104 -0
  567. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/https.rbs +14 -0
  568. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/ldap.rbs +230 -0
  569. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/ldaps.rbs +14 -0
  570. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/mailto.rbs +92 -0
  571. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  572. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  573. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/ws.rbs +13 -0
  574. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/uri/0/wss.rbs +9 -0
  575. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/yaml/0/manifest.yaml +2 -0
  576. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/yaml/0/yaml.rbs +1 -0
  577. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/buf_error.rbs +10 -0
  578. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/data_error.rbs +10 -0
  579. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/deflate.rbs +210 -0
  580. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/error.rbs +20 -0
  581. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  582. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  583. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  584. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  585. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/gzip_file.rbs +156 -0
  586. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/gzip_reader.rbs +293 -0
  587. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/gzip_writer.rbs +166 -0
  588. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/inflate.rbs +180 -0
  589. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/mem_error.rbs +10 -0
  590. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/need_dict.rbs +13 -0
  591. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/stream_end.rbs +11 -0
  592. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/stream_error.rbs +11 -0
  593. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/version_error.rbs +11 -0
  594. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/zlib.rbs +449 -0
  595. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/stdlib/zlib/0/zstream.rbs +200 -0
  596. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/templates/include/rbs/constants.h.erb +20 -0
  597. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/templates/include/rbs/ruby_objs.h.erb +10 -0
  598. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/templates/src/constants.c.erb +36 -0
  599. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/templates/src/ruby_objs.c.erb +27 -0
  600. package/lib/ruby/gems/3.4.0/gems/rbs-3.8.0/templates/template.rb +122 -0
  601. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/Gemfile +5 -0
  602. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/LICENSE.txt +22 -0
  603. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/README.md +41 -0
  604. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/Rakefile +20 -0
  605. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/bin/console +14 -0
  606. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/bin/setup +8 -0
  607. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/ext/syslog/extconf.rb +26 -0
  608. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/ext/syslog/syslog.c +592 -0
  609. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/ext/syslog/syslog.txt +124 -0
  610. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/lib/syslog/logger.rb +209 -0
  611. package/lib/ruby/gems/3.4.0/gems/syslog-0.2.0/lib/syslog.rb +10 -0
  612. package/lib/ruby/gems/3.4.0/specifications/bigdecimal-3.1.8.gemspec +25 -0
  613. package/lib/ruby/gems/3.4.0/specifications/debug-1.11.0.gemspec +32 -0
  614. package/lib/ruby/gems/3.4.0/specifications/nkf-0.2.0.gemspec +26 -0
  615. package/lib/ruby/gems/3.4.0/specifications/racc-1.8.1.gemspec +28 -0
  616. package/lib/ruby/gems/3.4.0/specifications/rbs-3.8.0.gemspec +31 -0
  617. package/lib/ruby/gems/3.4.0/specifications/syslog-0.2.0.gemspec +25 -0
  618. package/package.json +9 -9
@@ -0,0 +1,1914 @@
1
+ interface _ToJson
2
+ def to_json: (?JSON::State state) -> String
3
+ end
4
+
5
+ interface _JsonToWritableIO
6
+ def to_io: () -> _JsonWrite
7
+ end
8
+
9
+ interface _JsonWrite
10
+ def write: (String json) -> void
11
+
12
+ def flush: () -> void
13
+ end
14
+
15
+ interface _JsonReadableIO
16
+ def to_io: () -> _JsonRead
17
+ end
18
+
19
+ interface _JsonRead
20
+ def read: () -> string
21
+ end
22
+
23
+ type json_options = Hash[Symbol, untyped]
24
+
25
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
26
+ # The base exception for JSON errors.
27
+ #
28
+ class JSON::JSONError < StandardError
29
+ end
30
+
31
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
32
+ # This exception is raised if a generator or unparser error occurs.
33
+ #
34
+ class JSON::GeneratorError < JSON::JSONError
35
+ end
36
+
37
+ class JSON::UnparserError < JSON::GeneratorError
38
+ end
39
+
40
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
41
+ # This exception is raised if a parser error occurs.
42
+ #
43
+ class JSON::ParserError < JSON::JSONError
44
+ end
45
+
46
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
47
+ # This exception is raised if the nesting of parsed data structures is too deep.
48
+ #
49
+ class JSON::NestingError < JSON::ParserError
50
+ end
51
+
52
+ class JSON::State
53
+ end
54
+
55
+ # <!-- rdoc-file=ext/json/lib/json/ext.rb -->
56
+ # This module holds all the modules/classes that implement JSON's functionality
57
+ # as C extensions.
58
+ #
59
+ module JSON::Ext
60
+ end
61
+
62
+ # <!-- rdoc-file=ext/json/generator/generator.c -->
63
+ # This is the JSON generator implemented as a C extension. It can be configured
64
+ # to be used by setting
65
+ #
66
+ # JSON.generator = JSON::Ext::Generator
67
+ #
68
+ # with the method generator= in JSON.
69
+ #
70
+ module JSON::Ext::Generator
71
+ end
72
+
73
+ class JSON::Ext::Generator::State
74
+ end
75
+
76
+ # <!-- rdoc-file=ext/json/parser/parser.c -->
77
+ # This is the JSON parser implemented as a C extension. It can be configured to
78
+ # be used by setting
79
+ #
80
+ # JSON.parser = JSON::Ext::Parser
81
+ #
82
+ # with the method parser= in JSON.
83
+ #
84
+ class JSON::Ext::Parser
85
+ end
86
+
87
+ module JSON::Pure
88
+ end
89
+
90
+ module JSON::Pure::Generator
91
+ end
92
+
93
+ class JSON::Pure::Generator::State
94
+ end
95
+
96
+ class JSON::Pure::Parser
97
+ end
98
+
99
+ type json_generator = singleton(::JSON::Ext::Generator) | singleton(::JSON::Pure::Generator)
100
+ type json_parser = singleton(::JSON::Ext::Parser) | singleton(::JSON::Pure::Parser)
101
+ type json_state = singleton(JSON::Ext::Generator::State) | singleton(JSON::Pure::Generator::State)
102
+
103
+ # <!-- rdoc-file=ext/json/lib/json.rb -->
104
+ # # JavaScript Object Notation (JSON)
105
+ #
106
+ # JSON is a lightweight data-interchange format.
107
+ #
108
+ # A JSON value is one of the following:
109
+ # * Double-quoted text: `"foo"`.
110
+ # * Number: `1`, `1.0`, `2.0e2`.
111
+ # * Boolean: `true`, `false`.
112
+ # * Null: `null`.
113
+ # * Array: an ordered list of values, enclosed by square brackets:
114
+ # ["foo", 1, 1.0, 2.0e2, true, false, null]
115
+ #
116
+ # * Object: a collection of name/value pairs, enclosed by curly braces; each
117
+ # name is double-quoted text; the values may be any JSON values:
118
+ # {"a": "foo", "b": 1, "c": 1.0, "d": 2.0e2, "e": true, "f": false, "g": null}
119
+ #
120
+ # A JSON array or object may contain nested arrays, objects, and scalars to any
121
+ # depth:
122
+ # {"foo": {"bar": 1, "baz": 2}, "bat": [0, 1, 2]}
123
+ # [{"foo": 0, "bar": 1}, ["baz", 2]]
124
+ #
125
+ # ## Using Module JSON
126
+ #
127
+ # To make module JSON available in your code, begin with:
128
+ # require 'json'
129
+ #
130
+ # All examples here assume that this has been done.
131
+ #
132
+ # ### Parsing JSON
133
+ #
134
+ # You can parse a String containing JSON data using either of two methods:
135
+ # * `JSON.parse(source, opts)`
136
+ # * `JSON.parse!(source, opts)`
137
+ #
138
+ # where
139
+ # * `source` is a Ruby object.
140
+ # * `opts` is a Hash object containing options that control both input allowed
141
+ # and output formatting.
142
+ #
143
+ # The difference between the two methods is that JSON.parse! omits some checks
144
+ # and may not be safe for some `source` data; use it only for data from trusted
145
+ # sources. Use the safer method JSON.parse for less trusted sources.
146
+ #
147
+ # #### Parsing JSON Arrays
148
+ #
149
+ # When `source` is a JSON array, JSON.parse by default returns a Ruby Array:
150
+ # json = '["foo", 1, 1.0, 2.0e2, true, false, null]'
151
+ # ruby = JSON.parse(json)
152
+ # ruby # => ["foo", 1, 1.0, 200.0, true, false, nil]
153
+ # ruby.class # => Array
154
+ #
155
+ # The JSON array may contain nested arrays, objects, and scalars to any depth:
156
+ # json = '[{"foo": 0, "bar": 1}, ["baz", 2]]'
157
+ # JSON.parse(json) # => [{"foo"=>0, "bar"=>1}, ["baz", 2]]
158
+ #
159
+ # #### Parsing JSON Objects
160
+ #
161
+ # When the source is a JSON object, JSON.parse by default returns a Ruby Hash:
162
+ # json = '{"a": "foo", "b": 1, "c": 1.0, "d": 2.0e2, "e": true, "f": false, "g": null}'
163
+ # ruby = JSON.parse(json)
164
+ # ruby # => {"a"=>"foo", "b"=>1, "c"=>1.0, "d"=>200.0, "e"=>true, "f"=>false, "g"=>nil}
165
+ # ruby.class # => Hash
166
+ #
167
+ # The JSON object may contain nested arrays, objects, and scalars to any depth:
168
+ # json = '{"foo": {"bar": 1, "baz": 2}, "bat": [0, 1, 2]}'
169
+ # JSON.parse(json) # => {"foo"=>{"bar"=>1, "baz"=>2}, "bat"=>[0, 1, 2]}
170
+ #
171
+ # #### Parsing JSON Scalars
172
+ #
173
+ # When the source is a JSON scalar (not an array or object), JSON.parse returns
174
+ # a Ruby scalar.
175
+ #
176
+ # String:
177
+ # ruby = JSON.parse('"foo"')
178
+ # ruby # => 'foo'
179
+ # ruby.class # => String
180
+ #
181
+ # Integer:
182
+ # ruby = JSON.parse('1')
183
+ # ruby # => 1
184
+ # ruby.class # => Integer
185
+ #
186
+ # Float:
187
+ # ruby = JSON.parse('1.0')
188
+ # ruby # => 1.0
189
+ # ruby.class # => Float
190
+ # ruby = JSON.parse('2.0e2')
191
+ # ruby # => 200
192
+ # ruby.class # => Float
193
+ #
194
+ # Boolean:
195
+ # ruby = JSON.parse('true')
196
+ # ruby # => true
197
+ # ruby.class # => TrueClass
198
+ # ruby = JSON.parse('false')
199
+ # ruby # => false
200
+ # ruby.class # => FalseClass
201
+ #
202
+ # Null:
203
+ # ruby = JSON.parse('null')
204
+ # ruby # => nil
205
+ # ruby.class # => NilClass
206
+ #
207
+ # #### Parsing Options
208
+ #
209
+ # ###### Input Options
210
+ #
211
+ # Option `max_nesting` (Integer) specifies the maximum nesting depth allowed;
212
+ # defaults to `100`; specify `false` to disable depth checking.
213
+ #
214
+ # With the default, `false`:
215
+ # source = '[0, [1, [2, [3]]]]'
216
+ # ruby = JSON.parse(source)
217
+ # ruby # => [0, [1, [2, [3]]]]
218
+ #
219
+ # Too deep:
220
+ # # Raises JSON::NestingError (nesting of 2 is too deep):
221
+ # JSON.parse(source, {max_nesting: 1})
222
+ #
223
+ # Bad value:
224
+ # # Raises TypeError (wrong argument type Symbol (expected Fixnum)):
225
+ # JSON.parse(source, {max_nesting: :foo})
226
+ #
227
+ # ---
228
+ #
229
+ # Option `allow_nan` (boolean) specifies whether to allow NaN, Infinity, and
230
+ # MinusInfinity in `source`; defaults to `false`.
231
+ #
232
+ # With the default, `false`:
233
+ # # Raises JSON::ParserError (225: unexpected token at '[NaN]'):
234
+ # JSON.parse('[NaN]')
235
+ # # Raises JSON::ParserError (232: unexpected token at '[Infinity]'):
236
+ # JSON.parse('[Infinity]')
237
+ # # Raises JSON::ParserError (248: unexpected token at '[-Infinity]'):
238
+ # JSON.parse('[-Infinity]')
239
+ #
240
+ # Allow:
241
+ # source = '[NaN, Infinity, -Infinity]'
242
+ # ruby = JSON.parse(source, {allow_nan: true})
243
+ # ruby # => [NaN, Infinity, -Infinity]
244
+ #
245
+ # ###### Output Options
246
+ #
247
+ # Option `symbolize_names` (boolean) specifies whether returned Hash keys should
248
+ # be Symbols; defaults to `false` (use Strings).
249
+ #
250
+ # With the default, `false`:
251
+ # source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
252
+ # ruby = JSON.parse(source)
253
+ # ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil}
254
+ #
255
+ # Use Symbols:
256
+ # ruby = JSON.parse(source, {symbolize_names: true})
257
+ # ruby # => {:a=>"foo", :b=>1.0, :c=>true, :d=>false, :e=>nil}
258
+ #
259
+ # ---
260
+ #
261
+ # Option `object_class` (Class) specifies the Ruby class to be used for each
262
+ # JSON object; defaults to Hash.
263
+ #
264
+ # With the default, Hash:
265
+ # source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
266
+ # ruby = JSON.parse(source)
267
+ # ruby.class # => Hash
268
+ #
269
+ # Use class OpenStruct:
270
+ # ruby = JSON.parse(source, {object_class: OpenStruct})
271
+ # ruby # => #<OpenStruct a="foo", b=1.0, c=true, d=false, e=nil>
272
+ #
273
+ # ---
274
+ #
275
+ # Option `array_class` (Class) specifies the Ruby class to be used for each JSON
276
+ # array; defaults to Array.
277
+ #
278
+ # With the default, Array:
279
+ # source = '["foo", 1.0, true, false, null]'
280
+ # ruby = JSON.parse(source)
281
+ # ruby.class # => Array
282
+ #
283
+ # Use class Set:
284
+ # ruby = JSON.parse(source, {array_class: Set})
285
+ # ruby # => #<Set: {"foo", 1.0, true, false, nil}>
286
+ #
287
+ # ---
288
+ #
289
+ # Option `create_additions` (boolean) specifies whether to use JSON additions in
290
+ # parsing. See [\JSON Additions](#module-JSON-label-JSON+Additions).
291
+ #
292
+ # ### Generating JSON
293
+ #
294
+ # To generate a Ruby String containing JSON data, use method
295
+ # `JSON.generate(source, opts)`, where
296
+ # * `source` is a Ruby object.
297
+ # * `opts` is a Hash object containing options that control both input allowed
298
+ # and output formatting.
299
+ #
300
+ # #### Generating JSON from Arrays
301
+ #
302
+ # When the source is a Ruby Array, JSON.generate returns a String containing a
303
+ # JSON array:
304
+ # ruby = [0, 's', :foo]
305
+ # json = JSON.generate(ruby)
306
+ # json # => '[0,"s","foo"]'
307
+ #
308
+ # The Ruby Array array may contain nested arrays, hashes, and scalars to any
309
+ # depth:
310
+ # ruby = [0, [1, 2], {foo: 3, bar: 4}]
311
+ # json = JSON.generate(ruby)
312
+ # json # => '[0,[1,2],{"foo":3,"bar":4}]'
313
+ #
314
+ # #### Generating JSON from Hashes
315
+ #
316
+ # When the source is a Ruby Hash, JSON.generate returns a String containing a
317
+ # JSON object:
318
+ # ruby = {foo: 0, bar: 's', baz: :bat}
319
+ # json = JSON.generate(ruby)
320
+ # json # => '{"foo":0,"bar":"s","baz":"bat"}'
321
+ #
322
+ # The Ruby Hash array may contain nested arrays, hashes, and scalars to any
323
+ # depth:
324
+ # ruby = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
325
+ # json = JSON.generate(ruby)
326
+ # json # => '{"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}'
327
+ #
328
+ # #### Generating JSON from Other Objects
329
+ #
330
+ # When the source is neither an Array nor a Hash, the generated JSON data
331
+ # depends on the class of the source.
332
+ #
333
+ # When the source is a Ruby Integer or Float, JSON.generate returns a String
334
+ # containing a JSON number:
335
+ # JSON.generate(42) # => '42'
336
+ # JSON.generate(0.42) # => '0.42'
337
+ #
338
+ # When the source is a Ruby String, JSON.generate returns a String containing a
339
+ # JSON string (with double-quotes):
340
+ # JSON.generate('A string') # => '"A string"'
341
+ #
342
+ # When the source is `true`, `false` or `nil`, JSON.generate returns a String
343
+ # containing the corresponding JSON token:
344
+ # JSON.generate(true) # => 'true'
345
+ # JSON.generate(false) # => 'false'
346
+ # JSON.generate(nil) # => 'null'
347
+ #
348
+ # When the source is none of the above, JSON.generate returns a String
349
+ # containing a JSON string representation of the source:
350
+ # JSON.generate(:foo) # => '"foo"'
351
+ # JSON.generate(Complex(0, 0)) # => '"0+0i"'
352
+ # JSON.generate(Dir.new('.')) # => '"#<Dir>"'
353
+ #
354
+ # #### Generating Options
355
+ #
356
+ # ###### Input Options
357
+ #
358
+ # Option `allow_nan` (boolean) specifies whether `NaN`, `Infinity`, and
359
+ # `-Infinity` may be generated; defaults to `false`.
360
+ #
361
+ # With the default, `false`:
362
+ # # Raises JSON::GeneratorError (920: NaN not allowed in JSON):
363
+ # JSON.generate(JSON::NaN)
364
+ # # Raises JSON::GeneratorError (917: Infinity not allowed in JSON):
365
+ # JSON.generate(JSON::Infinity)
366
+ # # Raises JSON::GeneratorError (917: -Infinity not allowed in JSON):
367
+ # JSON.generate(JSON::MinusInfinity)
368
+ #
369
+ # Allow:
370
+ # ruby = [Float::NaN, Float::Infinity, Float::MinusInfinity]
371
+ # JSON.generate(ruby, allow_nan: true) # => '[NaN,Infinity,-Infinity]'
372
+ #
373
+ # ---
374
+ #
375
+ # Option `max_nesting` (Integer) specifies the maximum nesting depth in `obj`;
376
+ # defaults to `100`.
377
+ #
378
+ # With the default, `100`:
379
+ # obj = [[[[[[0]]]]]]
380
+ # JSON.generate(obj) # => '[[[[[[0]]]]]]'
381
+ #
382
+ # Too deep:
383
+ # # Raises JSON::NestingError (nesting of 2 is too deep):
384
+ # JSON.generate(obj, max_nesting: 2)
385
+ #
386
+ # ###### Escaping Options
387
+ #
388
+ # Options `script_safe` (boolean) specifies wether `'\u2028'`, `'\u2029'` and
389
+ # `'/'` should be escaped as to make the JSON object safe to interpolate in
390
+ # script tags.
391
+ #
392
+ # Options `ascii_only` (boolean) specifies wether all characters outside the
393
+ # ASCII range should be escaped.
394
+ #
395
+ # ###### Output Options
396
+ #
397
+ # The default formatting options generate the most compact JSON data, all on one
398
+ # line and with no whitespace.
399
+ #
400
+ # You can use these formatting options to generate JSON data in a more open
401
+ # format, using whitespace. See also JSON.pretty_generate.
402
+ #
403
+ # * Option `array_nl` (String) specifies a string (usually a newline) to be
404
+ # inserted after each JSON array; defaults to the empty String, `''`.
405
+ # * Option `object_nl` (String) specifies a string (usually a newline) to be
406
+ # inserted after each JSON object; defaults to the empty String, `''`.
407
+ # * Option `indent` (String) specifies the string (usually spaces) to be used
408
+ # for indentation; defaults to the empty String, `''`; defaults to the empty
409
+ # String, `''`; has no effect unless options `array_nl` or `object_nl`
410
+ # specify newlines.
411
+ # * Option `space` (String) specifies a string (usually a space) to be
412
+ # inserted after the colon in each JSON object's pair; defaults to the empty
413
+ # String, `''`.
414
+ # * Option `space_before` (String) specifies a string (usually a space) to be
415
+ # inserted before the colon in each JSON object's pair; defaults to the
416
+ # empty String, `''`.
417
+ #
418
+ # In this example, `obj` is used first to generate the shortest JSON data (no
419
+ # whitespace), then again with all formatting options specified:
420
+ #
421
+ # obj = {foo: [:bar, :baz], bat: {bam: 0, bad: 1}}
422
+ # json = JSON.generate(obj)
423
+ # puts 'Compact:', json
424
+ # opts = {
425
+ # array_nl: "\n",
426
+ # object_nl: "\n",
427
+ # indent: ' ',
428
+ # space_before: ' ',
429
+ # space: ' '
430
+ # }
431
+ # puts 'Open:', JSON.generate(obj, opts)
432
+ #
433
+ # Output:
434
+ # Compact:
435
+ # {"foo":["bar","baz"],"bat":{"bam":0,"bad":1}}
436
+ # Open:
437
+ # {
438
+ # "foo" : [
439
+ # "bar",
440
+ # "baz"
441
+ # ],
442
+ # "bat" : {
443
+ # "bam" : 0,
444
+ # "bad" : 1
445
+ # }
446
+ # }
447
+ #
448
+ # ## JSON Additions
449
+ #
450
+ # When you "round trip" a non-String object from Ruby to JSON and back, you have
451
+ # a new String, instead of the object you began with:
452
+ # ruby0 = Range.new(0, 2)
453
+ # json = JSON.generate(ruby0)
454
+ # json # => '0..2"'
455
+ # ruby1 = JSON.parse(json)
456
+ # ruby1 # => '0..2'
457
+ # ruby1.class # => String
458
+ #
459
+ # You can use JSON *additions* to preserve the original object. The addition is
460
+ # an extension of a ruby class, so that:
461
+ # * JSON.generate stores more information in the JSON string.
462
+ # * JSON.parse, called with option `create_additions`, uses that information
463
+ # to create a proper Ruby object.
464
+ #
465
+ # This example shows a Range being generated into JSON and parsed back into
466
+ # Ruby, both without and with the addition for Range:
467
+ # ruby = Range.new(0, 2)
468
+ # # This passage does not use the addition for Range.
469
+ # json0 = JSON.generate(ruby)
470
+ # ruby0 = JSON.parse(json0)
471
+ # # This passage uses the addition for Range.
472
+ # require 'json/add/range'
473
+ # json1 = JSON.generate(ruby)
474
+ # ruby1 = JSON.parse(json1, create_additions: true)
475
+ # # Make a nice display.
476
+ # display = <<~EOT
477
+ # Generated JSON:
478
+ # Without addition: #{json0} (#{json0.class})
479
+ # With addition: #{json1} (#{json1.class})
480
+ # Parsed JSON:
481
+ # Without addition: #{ruby0.inspect} (#{ruby0.class})
482
+ # With addition: #{ruby1.inspect} (#{ruby1.class})
483
+ # EOT
484
+ # puts display
485
+ #
486
+ # This output shows the different results:
487
+ # Generated JSON:
488
+ # Without addition: "0..2" (String)
489
+ # With addition: {"json_class":"Range","a":[0,2,false]} (String)
490
+ # Parsed JSON:
491
+ # Without addition: "0..2" (String)
492
+ # With addition: 0..2 (Range)
493
+ #
494
+ # The JSON module includes additions for certain classes. You can also craft
495
+ # custom additions. See [Custom \JSON
496
+ # Additions](#module-JSON-label-Custom+JSON+Additions).
497
+ #
498
+ # ### Built-in Additions
499
+ #
500
+ # The JSON module includes additions for certain classes. To use an addition,
501
+ # `require` its source:
502
+ # * BigDecimal: `require 'json/add/bigdecimal'`
503
+ # * Complex: `require 'json/add/complex'`
504
+ # * Date: `require 'json/add/date'`
505
+ # * DateTime: `require 'json/add/date_time'`
506
+ # * Exception: `require 'json/add/exception'`
507
+ # * OpenStruct: `require 'json/add/ostruct'`
508
+ # * Range: `require 'json/add/range'`
509
+ # * Rational: `require 'json/add/rational'`
510
+ # * Regexp: `require 'json/add/regexp'`
511
+ # * Set: `require 'json/add/set'`
512
+ # * Struct: `require 'json/add/struct'`
513
+ # * Symbol: `require 'json/add/symbol'`
514
+ # * Time: `require 'json/add/time'`
515
+ #
516
+ # To reduce punctuation clutter, the examples below show the generated JSON via
517
+ # `puts`, rather than the usual `inspect`,
518
+ #
519
+ # BigDecimal:
520
+ # require 'json/add/bigdecimal'
521
+ # ruby0 = BigDecimal(0) # 0.0
522
+ # json = JSON.generate(ruby0) # {"json_class":"BigDecimal","b":"27:0.0"}
523
+ # ruby1 = JSON.parse(json, create_additions: true) # 0.0
524
+ # ruby1.class # => BigDecimal
525
+ #
526
+ # Complex:
527
+ # require 'json/add/complex'
528
+ # ruby0 = Complex(1+0i) # 1+0i
529
+ # json = JSON.generate(ruby0) # {"json_class":"Complex","r":1,"i":0}
530
+ # ruby1 = JSON.parse(json, create_additions: true) # 1+0i
531
+ # ruby1.class # Complex
532
+ #
533
+ # Date:
534
+ # require 'json/add/date'
535
+ # ruby0 = Date.today # 2020-05-02
536
+ # json = JSON.generate(ruby0) # {"json_class":"Date","y":2020,"m":5,"d":2,"sg":2299161.0}
537
+ # ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02
538
+ # ruby1.class # Date
539
+ #
540
+ # DateTime:
541
+ # require 'json/add/date_time'
542
+ # ruby0 = DateTime.now # 2020-05-02T10:38:13-05:00
543
+ # json = JSON.generate(ruby0) # {"json_class":"DateTime","y":2020,"m":5,"d":2,"H":10,"M":38,"S":13,"of":"-5/24","sg":2299161.0}
544
+ # ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02T10:38:13-05:00
545
+ # ruby1.class # DateTime
546
+ #
547
+ # Exception (and its subclasses including RuntimeError):
548
+ # require 'json/add/exception'
549
+ # ruby0 = Exception.new('A message') # A message
550
+ # json = JSON.generate(ruby0) # {"json_class":"Exception","m":"A message","b":null}
551
+ # ruby1 = JSON.parse(json, create_additions: true) # A message
552
+ # ruby1.class # Exception
553
+ # ruby0 = RuntimeError.new('Another message') # Another message
554
+ # json = JSON.generate(ruby0) # {"json_class":"RuntimeError","m":"Another message","b":null}
555
+ # ruby1 = JSON.parse(json, create_additions: true) # Another message
556
+ # ruby1.class # RuntimeError
557
+ #
558
+ # OpenStruct:
559
+ # require 'json/add/ostruct'
560
+ # ruby0 = OpenStruct.new(name: 'Matz', language: 'Ruby') # #<OpenStruct name="Matz", language="Ruby">
561
+ # json = JSON.generate(ruby0) # {"json_class":"OpenStruct","t":{"name":"Matz","language":"Ruby"}}
562
+ # ruby1 = JSON.parse(json, create_additions: true) # #<OpenStruct name="Matz", language="Ruby">
563
+ # ruby1.class # OpenStruct
564
+ #
565
+ # Range:
566
+ # require 'json/add/range'
567
+ # ruby0 = Range.new(0, 2) # 0..2
568
+ # json = JSON.generate(ruby0) # {"json_class":"Range","a":[0,2,false]}
569
+ # ruby1 = JSON.parse(json, create_additions: true) # 0..2
570
+ # ruby1.class # Range
571
+ #
572
+ # Rational:
573
+ # require 'json/add/rational'
574
+ # ruby0 = Rational(1, 3) # 1/3
575
+ # json = JSON.generate(ruby0) # {"json_class":"Rational","n":1,"d":3}
576
+ # ruby1 = JSON.parse(json, create_additions: true) # 1/3
577
+ # ruby1.class # Rational
578
+ #
579
+ # Regexp:
580
+ # require 'json/add/regexp'
581
+ # ruby0 = Regexp.new('foo') # (?-mix:foo)
582
+ # json = JSON.generate(ruby0) # {"json_class":"Regexp","o":0,"s":"foo"}
583
+ # ruby1 = JSON.parse(json, create_additions: true) # (?-mix:foo)
584
+ # ruby1.class # Regexp
585
+ #
586
+ # Set:
587
+ # require 'json/add/set'
588
+ # ruby0 = Set.new([0, 1, 2]) # #<Set: {0, 1, 2}>
589
+ # json = JSON.generate(ruby0) # {"json_class":"Set","a":[0,1,2]}
590
+ # ruby1 = JSON.parse(json, create_additions: true) # #<Set: {0, 1, 2}>
591
+ # ruby1.class # Set
592
+ #
593
+ # Struct:
594
+ # require 'json/add/struct'
595
+ # Customer = Struct.new(:name, :address) # Customer
596
+ # ruby0 = Customer.new("Dave", "123 Main") # #<struct Customer name="Dave", address="123 Main">
597
+ # json = JSON.generate(ruby0) # {"json_class":"Customer","v":["Dave","123 Main"]}
598
+ # ruby1 = JSON.parse(json, create_additions: true) # #<struct Customer name="Dave", address="123 Main">
599
+ # ruby1.class # Customer
600
+ #
601
+ # Symbol:
602
+ # require 'json/add/symbol'
603
+ # ruby0 = :foo # foo
604
+ # json = JSON.generate(ruby0) # {"json_class":"Symbol","s":"foo"}
605
+ # ruby1 = JSON.parse(json, create_additions: true) # foo
606
+ # ruby1.class # Symbol
607
+ #
608
+ # Time:
609
+ # require 'json/add/time'
610
+ # ruby0 = Time.now # 2020-05-02 11:28:26 -0500
611
+ # json = JSON.generate(ruby0) # {"json_class":"Time","s":1588436906,"n":840560000}
612
+ # ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02 11:28:26 -0500
613
+ # ruby1.class # Time
614
+ #
615
+ # ### Custom JSON Additions
616
+ #
617
+ # In addition to the JSON additions provided, you can craft JSON additions of
618
+ # your own, either for Ruby built-in classes or for user-defined classes.
619
+ #
620
+ # Here's a user-defined class `Foo`:
621
+ # class Foo
622
+ # attr_accessor :bar, :baz
623
+ # def initialize(bar, baz)
624
+ # self.bar = bar
625
+ # self.baz = baz
626
+ # end
627
+ # end
628
+ #
629
+ # Here's the JSON addition for it:
630
+ # # Extend class Foo with JSON addition.
631
+ # class Foo
632
+ # # Serialize Foo object with its class name and arguments
633
+ # def to_json(*args)
634
+ # {
635
+ # JSON.create_id => self.class.name,
636
+ # 'a' => [ bar, baz ]
637
+ # }.to_json(*args)
638
+ # end
639
+ # # Deserialize JSON string by constructing new Foo object with arguments.
640
+ # def self.json_create(object)
641
+ # new(*object['a'])
642
+ # end
643
+ # end
644
+ #
645
+ # Demonstration:
646
+ # require 'json'
647
+ # # This Foo object has no custom addition.
648
+ # foo0 = Foo.new(0, 1)
649
+ # json0 = JSON.generate(foo0)
650
+ # obj0 = JSON.parse(json0)
651
+ # # Lood the custom addition.
652
+ # require_relative 'foo_addition'
653
+ # # This foo has the custom addition.
654
+ # foo1 = Foo.new(0, 1)
655
+ # json1 = JSON.generate(foo1)
656
+ # obj1 = JSON.parse(json1, create_additions: true)
657
+ # # Make a nice display.
658
+ # display = <<~EOT
659
+ # Generated JSON:
660
+ # Without custom addition: #{json0} (#{json0.class})
661
+ # With custom addition: #{json1} (#{json1.class})
662
+ # Parsed JSON:
663
+ # Without custom addition: #{obj0.inspect} (#{obj0.class})
664
+ # With custom addition: #{obj1.inspect} (#{obj1.class})
665
+ # EOT
666
+ # puts display
667
+ #
668
+ # Output:
669
+ #
670
+ # Generated JSON:
671
+ # Without custom addition: "#<Foo:0x0000000006534e80>" (String)
672
+ # With custom addition: {"json_class":"Foo","a":[0,1]} (String)
673
+ # Parsed JSON:
674
+ # Without custom addition: "#<Foo:0x0000000006534e80>" (String)
675
+ # With custom addition: #<Foo:0x0000000006473bb8 @bar=0, @baz=1> (Foo)
676
+ #
677
+ module JSON
678
+ # <!--
679
+ # rdoc-file=ext/json/lib/json/common.rb
680
+ # - JSON[object] -> new_array or new_string
681
+ # -->
682
+ # If `object` is a String, calls JSON.parse with `object` and `opts` (see method
683
+ # #parse):
684
+ # json = '[0, 1, null]'
685
+ # JSON[json]# => [0, 1, nil]
686
+ #
687
+ # Otherwise, calls JSON.generate with `object` and `opts` (see method
688
+ # #generate):
689
+ # ruby = [0, 1, nil]
690
+ # JSON[ruby] # => '[0,1,null]'
691
+ #
692
+ def self.[]: (untyped object, ?json_options opts) -> untyped
693
+
694
+ # <!--
695
+ # rdoc-file=ext/json/lib/json/common.rb
696
+ # - create_id()
697
+ # -->
698
+ # Returns the current create identifier. See also JSON.create_id=.
699
+ #
700
+ def self.create_id: () -> _ToS
701
+
702
+ # <!--
703
+ # rdoc-file=ext/json/lib/json/common.rb
704
+ # - create_id=(new_value)
705
+ # -->
706
+ # Sets create identifier, which is used to decide if the *json_create* hook of a
707
+ # class should be called; initial value is `json_class`:
708
+ # JSON.create_id # => 'json_class'
709
+ #
710
+ def self.create_id=: (_ToS create_id) -> _ToS
711
+
712
+ def self.deep_const_get: (interned path) -> untyped
713
+
714
+ # <!--
715
+ # rdoc-file=ext/json/lib/json/common.rb
716
+ # - JSON.dump(obj, io = nil, limit = nil)
717
+ # -->
718
+ # Dumps `obj` as a JSON string, i.e. calls generate on the object and returns
719
+ # the result.
720
+ #
721
+ # The default options can be changed via method JSON.dump_default_options.
722
+ #
723
+ # * Argument `io`, if given, should respond to method `write`; the JSON String
724
+ # is written to `io`, and `io` is returned. If `io` is not given, the JSON
725
+ # String is returned.
726
+ # * Argument `limit`, if given, is passed to JSON.generate as option
727
+ # `max_nesting`.
728
+ #
729
+ # ---
730
+ #
731
+ # When argument `io` is not given, returns the JSON String generated from `obj`:
732
+ # obj = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
733
+ # json = JSON.dump(obj)
734
+ # json # => "{\"foo\":[0,1],\"bar\":{\"baz\":2,\"bat\":3},\"bam\":\"bad\"}"
735
+ #
736
+ # When argument `io` is given, writes the JSON String to `io` and returns `io`:
737
+ # path = 't.json'
738
+ # File.open(path, 'w') do |file|
739
+ # JSON.dump(obj, file)
740
+ # end # => #<File:t.json (closed)>
741
+ # puts File.read(path)
742
+ #
743
+ # Output:
744
+ # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}
745
+ #
746
+ def self?.dump: (_ToJson obj, ?Integer limit) -> String
747
+ | (_ToJson obj, _JsonToWritableIO anIO) -> _JsonWrite
748
+ | (_ToJson obj, _JsonWrite anIO, ?Integer limit) -> _JsonWrite
749
+
750
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
751
+ # Sets or returns the default options for the JSON.dump method. Initially:
752
+ # opts = JSON.dump_default_options
753
+ # opts # => {:max_nesting=>false, :allow_nan=>true}
754
+ #
755
+ def self.dump_default_options: () -> json_options
756
+
757
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
758
+ # Sets or returns the default options for the JSON.dump method. Initially:
759
+ # opts = JSON.dump_default_options
760
+ # opts # => {:max_nesting=>false, :allow_nan=>true}
761
+ #
762
+ def self.dump_default_options=: (json_options) -> json_options
763
+
764
+ # <!--
765
+ # rdoc-file=ext/json/lib/json/common.rb
766
+ # - JSON.fast_generate(obj, opts) -> new_string
767
+ # -->
768
+ # Arguments `obj` and `opts` here are the same as arguments `obj` and `opts` in
769
+ # JSON.generate.
770
+ #
771
+ # By default, generates JSON data without checking for circular references in
772
+ # `obj` (option `max_nesting` set to `false`, disabled).
773
+ #
774
+ # Raises an exception if `obj` contains circular references:
775
+ # a = []; b = []; a.push(b); b.push(a)
776
+ # # Raises SystemStackError (stack level too deep):
777
+ # JSON.fast_generate(a)
778
+ #
779
+ def self?.fast_generate: (_ToJson obj, ?json_options opts) -> String
780
+
781
+ alias self.fast_unparse self.fast_generate
782
+
783
+ alias fast_unparse fast_generate
784
+
785
+ # <!--
786
+ # rdoc-file=ext/json/lib/json/common.rb
787
+ # - JSON.generate(obj, opts = nil) -> new_string
788
+ # -->
789
+ # Returns a String containing the generated JSON data.
790
+ #
791
+ # See also JSON.fast_generate, JSON.pretty_generate.
792
+ #
793
+ # Argument `obj` is the Ruby object to be converted to JSON.
794
+ #
795
+ # Argument `opts`, if given, contains a Hash of options for the generation. See
796
+ # [Generating Options](#module-JSON-label-Generating+Options).
797
+ #
798
+ # ---
799
+ #
800
+ # When `obj` is an Array, returns a String containing a JSON array:
801
+ # obj = ["foo", 1.0, true, false, nil]
802
+ # json = JSON.generate(obj)
803
+ # json # => '["foo",1.0,true,false,null]'
804
+ #
805
+ # When `obj` is a Hash, returns a String containing a JSON object:
806
+ # obj = {foo: 0, bar: 's', baz: :bat}
807
+ # json = JSON.generate(obj)
808
+ # json # => '{"foo":0,"bar":"s","baz":"bat"}'
809
+ #
810
+ # For examples of generating from other Ruby objects, see [Generating \JSON from
811
+ # Other Objects](#module-JSON-label-Generating+JSON+from+Other+Objects).
812
+ #
813
+ # ---
814
+ #
815
+ # Raises an exception if any formatting option is not a String.
816
+ #
817
+ # Raises an exception if `obj` contains circular references:
818
+ # a = []; b = []; a.push(b); b.push(a)
819
+ # # Raises JSON::NestingError (nesting of 100 is too deep):
820
+ # JSON.generate(a)
821
+ #
822
+ def self?.generate: (_ToJson obj, ?json_options opts) -> String
823
+
824
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
825
+ # Returns the JSON generator module that is used by JSON.
826
+ #
827
+ def self.generator: () -> json_generator
828
+
829
+ def self.generator=: (json_generator generator) -> void
830
+
831
+ # <!--
832
+ # rdoc-file=ext/json/lib/json/common.rb
833
+ # - iconv(to, from, string)
834
+ # -->
835
+ # Encodes string using String.encode.
836
+ #
837
+ def self.iconv: (encoding to, encoding from, String string) -> String
838
+
839
+ # <!--
840
+ # rdoc-file=ext/json/lib/json/common.rb
841
+ # - JSON.load(source, proc = nil, options = {}) -> object
842
+ # -->
843
+ # Returns the Ruby objects created by parsing the given `source`.
844
+ #
845
+ # BEWARE: This method is meant to serialise data from trusted user input, like
846
+ # from your own database server or clients under your control, it could be
847
+ # dangerous to allow untrusted users to pass JSON sources into it. If you must
848
+ # use it, use JSON.unsafe_load instead to make it clear.
849
+ #
850
+ # Since JSON version 2.8.0, `load` emits a deprecation warning when a non native
851
+ # type is deserialized, without `create_additions` being explicitly enabled, and
852
+ # in JSON version 3.0, `load` will have `create_additions` disabled by default.
853
+ #
854
+ # * Argument `source` must be, or be convertible to, a String:
855
+ # * If `source` responds to instance method `to_str`, `source.to_str`
856
+ # becomes the source.
857
+ # * If `source` responds to instance method `to_io`, `source.to_io.read`
858
+ # becomes the source.
859
+ # * If `source` responds to instance method `read`, `source.read` becomes
860
+ # the source.
861
+ # * If both of the following are true, source becomes the String `'null'`:
862
+ # * Option `allow_blank` specifies a truthy value.
863
+ # * The source, as defined above, is `nil` or the empty String `''`.
864
+ # * Otherwise, `source` remains the source.
865
+ # * Argument `proc`, if given, must be a Proc that accepts one argument. It
866
+ # will be called recursively with each result (depth-first order). See
867
+ # details below.
868
+ # * Argument `opts`, if given, contains a Hash of options for the parsing. See
869
+ # [Parsing Options](#module-JSON-label-Parsing+Options). The default options
870
+ # can be changed via method JSON.load_default_options=.
871
+ #
872
+ # ---
873
+ #
874
+ # When no `proc` is given, modifies `source` as above and returns the result of
875
+ # `parse(source, opts)`; see #parse.
876
+ #
877
+ # Source for following examples:
878
+ # source = <<~JSON
879
+ # {
880
+ # "name": "Dave",
881
+ # "age" :40,
882
+ # "hats": [
883
+ # "Cattleman's",
884
+ # "Panama",
885
+ # "Tophat"
886
+ # ]
887
+ # }
888
+ # JSON
889
+ #
890
+ # Load a String:
891
+ # ruby = JSON.load(source)
892
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
893
+ #
894
+ # Load an IO object:
895
+ # require 'stringio'
896
+ # object = JSON.load(StringIO.new(source))
897
+ # object # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
898
+ #
899
+ # Load a File object:
900
+ # path = 't.json'
901
+ # File.write(path, source)
902
+ # File.open(path) do |file|
903
+ # JSON.load(file)
904
+ # end # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
905
+ #
906
+ # ---
907
+ #
908
+ # When `proc` is given:
909
+ # * Modifies `source` as above.
910
+ # * Gets the `result` from calling `parse(source, opts)`.
911
+ # * Recursively calls `proc(result)`.
912
+ # * Returns the final result.
913
+ #
914
+ # Example:
915
+ # require 'json'
916
+ #
917
+ # # Some classes for the example.
918
+ # class Base
919
+ # def initialize(attributes)
920
+ # @attributes = attributes
921
+ # end
922
+ # end
923
+ # class User < Base; end
924
+ # class Account < Base; end
925
+ # class Admin < Base; end
926
+ # # The JSON source.
927
+ # json = <<-EOF
928
+ # {
929
+ # "users": [
930
+ # {"type": "User", "username": "jane", "email": "jane@example.com"},
931
+ # {"type": "User", "username": "john", "email": "john@example.com"}
932
+ # ],
933
+ # "accounts": [
934
+ # {"account": {"type": "Account", "paid": true, "account_id": "1234"}},
935
+ # {"account": {"type": "Account", "paid": false, "account_id": "1235"}}
936
+ # ],
937
+ # "admins": {"type": "Admin", "password": "0wn3d"}
938
+ # }
939
+ # EOF
940
+ # # Deserializer method.
941
+ # def deserialize_obj(obj, safe_types = %w(User Account Admin))
942
+ # type = obj.is_a?(Hash) && obj["type"]
943
+ # safe_types.include?(type) ? Object.const_get(type).new(obj) : obj
944
+ # end
945
+ # # Call to JSON.load
946
+ # ruby = JSON.load(json, proc {|obj|
947
+ # case obj
948
+ # when Hash
949
+ # obj.each {|k, v| obj[k] = deserialize_obj v }
950
+ # when Array
951
+ # obj.map! {|v| deserialize_obj v }
952
+ # end
953
+ # })
954
+ # pp ruby
955
+ #
956
+ # Output:
957
+ # {"users"=>
958
+ # [#<User:0x00000000064c4c98
959
+ # @attributes=
960
+ # {"type"=>"User", "username"=>"jane", "email"=>"jane@example.com"}>,
961
+ # #<User:0x00000000064c4bd0
962
+ # @attributes=
963
+ # {"type"=>"User", "username"=>"john", "email"=>"john@example.com"}>],
964
+ # "accounts"=>
965
+ # [{"account"=>
966
+ # #<Account:0x00000000064c4928
967
+ # @attributes={"type"=>"Account", "paid"=>true, "account_id"=>"1234"}>},
968
+ # {"account"=>
969
+ # #<Account:0x00000000064c4680
970
+ # @attributes={"type"=>"Account", "paid"=>false, "account_id"=>"1235"}>}],
971
+ # "admins"=>
972
+ # #<Admin:0x00000000064c41f8
973
+ # @attributes={"type"=>"Admin", "password"=>"0wn3d"}>}
974
+ #
975
+ def self?.load: (string | _JsonReadableIO | _JsonRead source, ?Proc proc, ?json_options options) -> untyped
976
+
977
+ # <!--
978
+ # rdoc-file=ext/json/lib/json/common.rb
979
+ # - JSON.load_file(path, opts={}) -> object
980
+ # -->
981
+ # Calls:
982
+ # parse(File.read(path), opts)
983
+ #
984
+ # See method #parse.
985
+ #
986
+ def self?.load_file: (string path, ?json_options opts) -> untyped
987
+
988
+ # <!--
989
+ # rdoc-file=ext/json/lib/json/common.rb
990
+ # - JSON.load_file!(path, opts = {})
991
+ # -->
992
+ # Calls:
993
+ # JSON.parse!(File.read(path, opts))
994
+ #
995
+ # See method #parse!
996
+ #
997
+ def self?.load_file!: (string path, ?json_options opts) -> untyped
998
+
999
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
1000
+ # Sets or returns default options for the JSON.load method. Initially:
1001
+ # opts = JSON.load_default_options
1002
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true}
1003
+ #
1004
+ def self.load_default_options: () -> json_options
1005
+
1006
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
1007
+ # Sets or returns default options for the JSON.load method. Initially:
1008
+ # opts = JSON.load_default_options
1009
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true}
1010
+ #
1011
+ def self.load_default_options=: (json_options) -> json_options
1012
+
1013
+ # <!--
1014
+ # rdoc-file=ext/json/lib/json/common.rb
1015
+ # - JSON.parse(source, opts) -> object
1016
+ # -->
1017
+ # Returns the Ruby objects created by parsing the given `source`.
1018
+ #
1019
+ # Argument `source` contains the String to be parsed.
1020
+ #
1021
+ # Argument `opts`, if given, contains a Hash of options for the parsing. See
1022
+ # [Parsing Options](#module-JSON-label-Parsing+Options).
1023
+ #
1024
+ # ---
1025
+ #
1026
+ # When `source` is a JSON array, returns a Ruby Array:
1027
+ # source = '["foo", 1.0, true, false, null]'
1028
+ # ruby = JSON.parse(source)
1029
+ # ruby # => ["foo", 1.0, true, false, nil]
1030
+ # ruby.class # => Array
1031
+ #
1032
+ # When `source` is a JSON object, returns a Ruby Hash:
1033
+ # source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
1034
+ # ruby = JSON.parse(source)
1035
+ # ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil}
1036
+ # ruby.class # => Hash
1037
+ #
1038
+ # For examples of parsing for all JSON data types, see [Parsing
1039
+ # \JSON](#module-JSON-label-Parsing+JSON).
1040
+ #
1041
+ # Parses nested JSON objects:
1042
+ # source = <<~JSON
1043
+ # {
1044
+ # "name": "Dave",
1045
+ # "age" :40,
1046
+ # "hats": [
1047
+ # "Cattleman's",
1048
+ # "Panama",
1049
+ # "Tophat"
1050
+ # ]
1051
+ # }
1052
+ # JSON
1053
+ # ruby = JSON.parse(source)
1054
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
1055
+ #
1056
+ # ---
1057
+ #
1058
+ # Raises an exception if `source` is not valid JSON:
1059
+ # # Raises JSON::ParserError (783: unexpected token at ''):
1060
+ # JSON.parse('')
1061
+ #
1062
+ def self?.parse: (string source, ?json_options opts) -> untyped
1063
+
1064
+ # <!--
1065
+ # rdoc-file=ext/json/lib/json/common.rb
1066
+ # - JSON.parse!(source, opts) -> object
1067
+ # -->
1068
+ # Calls
1069
+ # parse(source, opts)
1070
+ #
1071
+ # with `source` and possibly modified `opts`.
1072
+ #
1073
+ # Differences from JSON.parse:
1074
+ # * Option `max_nesting`, if not provided, defaults to `false`, which disables
1075
+ # checking for nesting depth.
1076
+ # * Option `allow_nan`, if not provided, defaults to `true`.
1077
+ #
1078
+ def self?.parse!: (string source, ?json_options opts) -> untyped
1079
+
1080
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
1081
+ # Returns the JSON parser class that is used by JSON.
1082
+ #
1083
+ def self.parser: () -> json_parser
1084
+
1085
+ def self.parser=: (json_parser parser) -> void
1086
+
1087
+ # <!--
1088
+ # rdoc-file=ext/json/lib/json/common.rb
1089
+ # - JSON.pretty_generate(obj, opts = nil) -> new_string
1090
+ # -->
1091
+ # Arguments `obj` and `opts` here are the same as arguments `obj` and `opts` in
1092
+ # JSON.generate.
1093
+ #
1094
+ # Default options are:
1095
+ # {
1096
+ # indent: ' ', # Two spaces
1097
+ # space: ' ', # One space
1098
+ # array_nl: "\n", # Newline
1099
+ # object_nl: "\n" # Newline
1100
+ # }
1101
+ #
1102
+ # Example:
1103
+ # obj = {foo: [:bar, :baz], bat: {bam: 0, bad: 1}}
1104
+ # json = JSON.pretty_generate(obj)
1105
+ # puts json
1106
+ #
1107
+ # Output:
1108
+ # {
1109
+ # "foo": [
1110
+ # "bar",
1111
+ # "baz"
1112
+ # ],
1113
+ # "bat": {
1114
+ # "bam": 0,
1115
+ # "bad": 1
1116
+ # }
1117
+ # }
1118
+ #
1119
+ def self?.pretty_generate: (_ToJson obj, ?json_options opts) -> untyped
1120
+
1121
+ alias self.pretty_unparse self.pretty_generate
1122
+
1123
+ alias pretty_unparse pretty_generate
1124
+
1125
+ # Recursively calls passed *Proc* if the parsed data structure is an *Array* or
1126
+ # *Hash*
1127
+ #
1128
+ def self?.recurse_proc: (untyped result) { (*untyped) -> void } -> void
1129
+
1130
+ # <!--
1131
+ # rdoc-file=ext/json/lib/json/common.rb
1132
+ # - restore(source, proc = nil, options = nil)
1133
+ # -->
1134
+ #
1135
+ alias self.restore self.load
1136
+
1137
+ # <!--
1138
+ # rdoc-file=ext/json/lib/json/common.rb
1139
+ # - restore(source, proc = nil, options = nil)
1140
+ # -->
1141
+ #
1142
+ alias restore load
1143
+
1144
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
1145
+ # Sets or Returns the JSON generator state class that is used by JSON.
1146
+ #
1147
+ def self.state: () -> json_state
1148
+
1149
+ # <!-- rdoc-file=ext/json/lib/json/common.rb -->
1150
+ # Sets or Returns the JSON generator state class that is used by JSON.
1151
+ #
1152
+ def self.state=: (json_state) -> json_state
1153
+
1154
+ alias self.unparse self.generate
1155
+
1156
+ alias unparse generate
1157
+ end
1158
+
1159
+ JSON::FAST_STATE_PROTOTYPE: json_state
1160
+
1161
+ JSON::Infinity: Float
1162
+
1163
+ JSON::JSON_LOADED: bool
1164
+
1165
+ JSON::MinusInfinity: Float
1166
+
1167
+ JSON::NaN: Float
1168
+
1169
+ JSON::PRETTY_STATE_PROTOTYPE: json_state
1170
+
1171
+ JSON::SAFE_STATE_PROTOTYPE: json_state
1172
+
1173
+ JSON::VERSION: String
1174
+
1175
+ JSON::VERSION_ARRAY: Array[Integer]
1176
+
1177
+ JSON::VERSION_BUILD: Integer
1178
+
1179
+ JSON::VERSION_MAJOR: Integer
1180
+
1181
+ JSON::VERSION_MINOR: Integer
1182
+
1183
+ %a{annotate:rdoc:skip}
1184
+ module Kernel
1185
+ private
1186
+
1187
+ # <!--
1188
+ # rdoc-file=ext/json/lib/json/common.rb
1189
+ # - j(*objs)
1190
+ # -->
1191
+ # Outputs *objs* to STDOUT as JSON strings in the shortest form, that is in one
1192
+ # line.
1193
+ #
1194
+ def j: (*_ToJson) -> nil
1195
+
1196
+ # <!--
1197
+ # rdoc-file=ext/json/lib/json/common.rb
1198
+ # - jj(*objs)
1199
+ # -->
1200
+ # Outputs *objs* to STDOUT as JSON strings in a pretty format, with indentation
1201
+ # and over many lines.
1202
+ #
1203
+ def jj: (*_ToJson) -> nil
1204
+
1205
+ # <!--
1206
+ # rdoc-file=ext/json/lib/json/common.rb
1207
+ # - JSON(object, *args)
1208
+ # -->
1209
+ # If *object* is string-like, parse the string and return the parsed result as a
1210
+ # Ruby data structure. Otherwise, generate a JSON text from the Ruby data
1211
+ # structure object and return it.
1212
+ #
1213
+ # The *opts* argument is passed through to generate/parse respectively. See
1214
+ # generate and parse for their documentation.
1215
+ #
1216
+ def JSON: (string source, ?json_options opts) -> untyped
1217
+ | (_ToJson obj, ?json_options opts) -> String
1218
+ end
1219
+
1220
+ %a{annotate:rdoc:skip}
1221
+ class Object
1222
+ # Converts this object to a string (calling #to_s), converts
1223
+ # it to a JSON string, and returns the result. This is a fallback, if no
1224
+ # special method #to_json was defined for some object.
1225
+ #
1226
+ def to_json: (?JSON::State state) -> String
1227
+ end
1228
+
1229
+ %a{annotate:rdoc:skip}
1230
+ class NilClass
1231
+ # Returns a JSON string for nil: 'null'.
1232
+ #
1233
+ def to_json: (?JSON::State state) -> String
1234
+ end
1235
+
1236
+ %a{annotate:rdoc:skip}
1237
+ class TrueClass
1238
+ # Returns a JSON string for true: 'true'.
1239
+ #
1240
+ def to_json: (?JSON::State state) -> String
1241
+ end
1242
+
1243
+ %a{annotate:rdoc:skip}
1244
+ class FalseClass
1245
+ # Returns a JSON string for false: 'false'.
1246
+ #
1247
+ def to_json: (?JSON::State state) -> String
1248
+ end
1249
+
1250
+ %a{annotate:rdoc:skip}
1251
+ class String
1252
+ # This string should be encoded with UTF-8 A call to this method
1253
+ # returns a JSON string encoded with UTF16 big endian characters as
1254
+ # \u????.
1255
+ #
1256
+ def to_json: (?JSON::State state) -> String
1257
+ end
1258
+
1259
+ %a{annotate:rdoc:skip}
1260
+ class Integer
1261
+ # Returns a JSON string representation for this Integer number.
1262
+ #
1263
+ def to_json: (?JSON::State state) -> String
1264
+ end
1265
+
1266
+ %a{annotate:rdoc:skip}
1267
+ class Float
1268
+ # Returns a JSON string representation for this Float number.
1269
+ #
1270
+ def to_json: (?JSON::State state) -> String
1271
+ end
1272
+
1273
+ %a{annotate:rdoc:skip}
1274
+ class Hash[unchecked out K, unchecked out V]
1275
+ # Returns a JSON string containing a JSON object, that is generated from
1276
+ # this Hash instance.
1277
+ # _state_ is a JSON::State object, that can also be used to configure the
1278
+ # produced JSON string output further.
1279
+ #
1280
+ def to_json: (?JSON::State state) -> String
1281
+ end
1282
+
1283
+ %a{annotate:rdoc:skip}
1284
+ class Array[unchecked out Elem]
1285
+ # Returns a JSON string containing a JSON array, that is generated from
1286
+ # this Array instance.
1287
+ # _state_ is a JSON::State object, that can also be used to configure the
1288
+ # produced JSON string output further.
1289
+ #
1290
+ def to_json: (?JSON::State state) -> String
1291
+ end
1292
+
1293
+ %a{annotate:rdoc:skip}
1294
+ class BigDecimal
1295
+ # <!--
1296
+ # rdoc-file=ext/json/lib/json/add/bigdecimal.rb
1297
+ # - json_create(object)
1298
+ # -->
1299
+ # See #as_json.
1300
+ #
1301
+ def self.json_create: (Hash[String, String] object) -> instance
1302
+
1303
+ # <!--
1304
+ # rdoc-file=ext/json/lib/json/add/bigdecimal.rb
1305
+ # - as_json(*)
1306
+ # -->
1307
+ # Methods `BigDecimal#as_json` and `BigDecimal.json_create` may be used to
1308
+ # serialize and deserialize a BigDecimal object; see
1309
+ # [Marshal](rdoc-ref:Marshal).
1310
+ #
1311
+ # Method `BigDecimal#as_json` serializes `self`, returning a 2-element hash
1312
+ # representing `self`:
1313
+ #
1314
+ # require 'json/add/bigdecimal'
1315
+ # x = BigDecimal(2).as_json # => {"json_class"=>"BigDecimal", "b"=>"27:0.2e1"}
1316
+ # y = BigDecimal(2.0, 4).as_json # => {"json_class"=>"BigDecimal", "b"=>"36:0.2e1"}
1317
+ # z = BigDecimal(Complex(2, 0)).as_json # => {"json_class"=>"BigDecimal", "b"=>"27:0.2e1"}
1318
+ #
1319
+ # Method `JSON.create` deserializes such a hash, returning a BigDecimal object:
1320
+ #
1321
+ # BigDecimal.json_create(x) # => 0.2e1
1322
+ # BigDecimal.json_create(y) # => 0.2e1
1323
+ # BigDecimal.json_create(z) # => 0.2e1
1324
+ #
1325
+ def as_json: (*untyped) -> Hash[String, String]
1326
+
1327
+ # <!--
1328
+ # rdoc-file=ext/json/lib/json/add/bigdecimal.rb
1329
+ # - to_json(*args)
1330
+ # -->
1331
+ # Returns a JSON string representing `self`:
1332
+ #
1333
+ # require 'json/add/bigdecimal'
1334
+ # puts BigDecimal(2).to_json
1335
+ # puts BigDecimal(2.0, 4).to_json
1336
+ # puts BigDecimal(Complex(2, 0)).to_json
1337
+ #
1338
+ # Output:
1339
+ #
1340
+ # {"json_class":"BigDecimal","b":"27:0.2e1"}
1341
+ # {"json_class":"BigDecimal","b":"36:0.2e1"}
1342
+ # {"json_class":"BigDecimal","b":"27:0.2e1"}
1343
+ #
1344
+ def to_json: (?JSON::State state) -> String
1345
+ end
1346
+
1347
+ %a{annotate:rdoc:skip}
1348
+ class Complex
1349
+ # <!--
1350
+ # rdoc-file=ext/json/lib/json/add/complex.rb
1351
+ # - json_create(object)
1352
+ # -->
1353
+ # See #as_json.
1354
+ #
1355
+ def self.json_create: (Hash[String, String | Numeric] object) -> instance
1356
+
1357
+ # <!--
1358
+ # rdoc-file=ext/json/lib/json/add/complex.rb
1359
+ # - as_json(*)
1360
+ # -->
1361
+ # Methods `Complex#as_json` and `Complex.json_create` may be used to serialize
1362
+ # and deserialize a Complex object; see [Marshal](rdoc-ref:Marshal).
1363
+ #
1364
+ # Method `Complex#as_json` serializes `self`, returning a 2-element hash
1365
+ # representing `self`:
1366
+ #
1367
+ # require 'json/add/complex'
1368
+ # x = Complex(2).as_json # => {"json_class"=>"Complex", "r"=>2, "i"=>0}
1369
+ # y = Complex(2.0, 4).as_json # => {"json_class"=>"Complex", "r"=>2.0, "i"=>4}
1370
+ #
1371
+ # Method `JSON.create` deserializes such a hash, returning a Complex object:
1372
+ #
1373
+ # Complex.json_create(x) # => (2+0i)
1374
+ # Complex.json_create(y) # => (2.0+4i)
1375
+ #
1376
+ def as_json: (*untyped) -> Hash[String, String | Numeric]
1377
+
1378
+ # <!--
1379
+ # rdoc-file=ext/json/lib/json/add/complex.rb
1380
+ # - to_json(*args)
1381
+ # -->
1382
+ # Returns a JSON string representing `self`:
1383
+ #
1384
+ # require 'json/add/complex'
1385
+ # puts Complex(2).to_json
1386
+ # puts Complex(2.0, 4).to_json
1387
+ #
1388
+ # Output:
1389
+ #
1390
+ # {"json_class":"Complex","r":2,"i":0}
1391
+ # {"json_class":"Complex","r":2.0,"i":4}
1392
+ #
1393
+ def to_json: (?JSON::State state) -> String
1394
+ end
1395
+
1396
+ %a{annotate:rdoc:skip}
1397
+ class Date
1398
+ # <!--
1399
+ # rdoc-file=ext/json/lib/json/add/date.rb
1400
+ # - json_create(object)
1401
+ # -->
1402
+ # See #as_json.
1403
+ #
1404
+ def self.json_create: (Hash[String, String | Integer | Float] object) -> instance
1405
+
1406
+ # <!--
1407
+ # rdoc-file=ext/json/lib/json/add/date.rb
1408
+ # - as_json(*)
1409
+ # -->
1410
+ # Methods `Date#as_json` and `Date.json_create` may be used to serialize and
1411
+ # deserialize a Date object; see [Marshal](rdoc-ref:Marshal).
1412
+ #
1413
+ # Method `Date#as_json` serializes `self`, returning a 2-element hash
1414
+ # representing `self`:
1415
+ #
1416
+ # require 'json/add/date'
1417
+ # x = Date.today.as_json
1418
+ # # => {"json_class"=>"Date", "y"=>2023, "m"=>11, "d"=>21, "sg"=>2299161.0}
1419
+ #
1420
+ # Method `JSON.create` deserializes such a hash, returning a Date object:
1421
+ #
1422
+ # Date.json_create(x)
1423
+ # # => #<Date: 2023-11-21 ((2460270j,0s,0n),+0s,2299161j)>
1424
+ #
1425
+ def as_json: (*untyped) -> Hash[String, String | Integer | Float]
1426
+
1427
+ # <!--
1428
+ # rdoc-file=ext/json/lib/json/add/date.rb
1429
+ # - to_json(*args)
1430
+ # -->
1431
+ # Returns a JSON string representing `self`:
1432
+ #
1433
+ # require 'json/add/date'
1434
+ # puts Date.today.to_json
1435
+ #
1436
+ # Output:
1437
+ #
1438
+ # {"json_class":"Date","y":2023,"m":11,"d":21,"sg":2299161.0}
1439
+ #
1440
+ def to_json: (?JSON::State state) -> String
1441
+ end
1442
+
1443
+ %a{annotate:rdoc:skip}
1444
+ class DateTime
1445
+ # <!--
1446
+ # rdoc-file=ext/json/lib/json/add/date_time.rb
1447
+ # - json_create(object)
1448
+ # -->
1449
+ # See #as_json.
1450
+ #
1451
+ def self.json_create: (Hash[String, String | Integer | Float] object) -> instance
1452
+
1453
+ # <!--
1454
+ # rdoc-file=ext/json/lib/json/add/date_time.rb
1455
+ # - as_json(*)
1456
+ # -->
1457
+ # Methods `DateTime#as_json` and `DateTime.json_create` may be used to serialize
1458
+ # and deserialize a DateTime object; see [Marshal](rdoc-ref:Marshal).
1459
+ #
1460
+ # Method `DateTime#as_json` serializes `self`, returning a 2-element hash
1461
+ # representing `self`:
1462
+ #
1463
+ # require 'json/add/datetime'
1464
+ # x = DateTime.now.as_json
1465
+ # # => {"json_class"=>"DateTime", "y"=>2023, "m"=>11, "d"=>21, "sg"=>2299161.0}
1466
+ #
1467
+ # Method `JSON.create` deserializes such a hash, returning a DateTime object:
1468
+ #
1469
+ # DateTime.json_create(x) # BUG? Raises Date::Error "invalid date"
1470
+ #
1471
+ def as_json: (*untyped) -> Hash[String, String | Integer | Float]
1472
+
1473
+ # <!--
1474
+ # rdoc-file=ext/json/lib/json/add/date_time.rb
1475
+ # - to_json(*args)
1476
+ # -->
1477
+ # Returns a JSON string representing `self`:
1478
+ #
1479
+ # require 'json/add/datetime'
1480
+ # puts DateTime.now.to_json
1481
+ #
1482
+ # Output:
1483
+ #
1484
+ # {"json_class":"DateTime","y":2023,"m":11,"d":21,"sg":2299161.0}
1485
+ #
1486
+ def to_json: (?JSON::State state) -> String
1487
+ end
1488
+
1489
+ %a{annotate:rdoc:skip}
1490
+ class Exception
1491
+ # <!--
1492
+ # rdoc-file=ext/json/lib/json/add/exception.rb
1493
+ # - json_create(object)
1494
+ # -->
1495
+ # See #as_json.
1496
+ #
1497
+ def self.json_create: (Hash[String, String | Array[String] | nil] object) -> instance
1498
+
1499
+ # <!--
1500
+ # rdoc-file=ext/json/lib/json/add/exception.rb
1501
+ # - as_json(*)
1502
+ # -->
1503
+ # Methods `Exception#as_json` and `Exception.json_create` may be used to
1504
+ # serialize and deserialize a Exception object; see [Marshal](rdoc-ref:Marshal).
1505
+ #
1506
+ # Method `Exception#as_json` serializes `self`, returning a 2-element hash
1507
+ # representing `self`:
1508
+ #
1509
+ # require 'json/add/exception'
1510
+ # x = Exception.new('Foo').as_json # => {"json_class"=>"Exception", "m"=>"Foo", "b"=>nil}
1511
+ #
1512
+ # Method `JSON.create` deserializes such a hash, returning a Exception object:
1513
+ #
1514
+ # Exception.json_create(x) # => #<Exception: Foo>
1515
+ #
1516
+ def as_json: (*untyped) -> Hash[String, String | Array[String] | nil]
1517
+
1518
+ # <!--
1519
+ # rdoc-file=ext/json/lib/json/add/exception.rb
1520
+ # - to_json(*args)
1521
+ # -->
1522
+ # Returns a JSON string representing `self`:
1523
+ #
1524
+ # require 'json/add/exception'
1525
+ # puts Exception.new('Foo').to_json
1526
+ #
1527
+ # Output:
1528
+ #
1529
+ # {"json_class":"Exception","m":"Foo","b":null}
1530
+ #
1531
+ def to_json: (?JSON::State state) -> String
1532
+ end
1533
+
1534
+ %a{annotate:rdoc:skip}
1535
+ class OpenStruct
1536
+ # <!--
1537
+ # rdoc-file=ext/json/lib/json/add/ostruct.rb
1538
+ # - json_create(object)
1539
+ # -->
1540
+ # See #as_json.
1541
+ #
1542
+ def self.json_create: (Hash[String, String | Hash[Symbol, untyped]] object) -> instance
1543
+
1544
+ # <!--
1545
+ # rdoc-file=ext/json/lib/json/add/ostruct.rb
1546
+ # - as_json(*)
1547
+ # -->
1548
+ # Methods `OpenStruct#as_json` and `OpenStruct.json_create` may be used to
1549
+ # serialize and deserialize a OpenStruct object; see
1550
+ # [Marshal](rdoc-ref:Marshal).
1551
+ #
1552
+ # Method `OpenStruct#as_json` serializes `self`, returning a 2-element hash
1553
+ # representing `self`:
1554
+ #
1555
+ # require 'json/add/ostruct'
1556
+ # x = OpenStruct.new('name' => 'Rowdy', :age => nil).as_json
1557
+ # # => {"json_class"=>"OpenStruct", "t"=>{:name=>'Rowdy', :age=>nil}}
1558
+ #
1559
+ # Method `JSON.create` deserializes such a hash, returning a OpenStruct object:
1560
+ #
1561
+ # OpenStruct.json_create(x)
1562
+ # # => #<OpenStruct name='Rowdy', age=nil>
1563
+ #
1564
+ def as_json: (*untyped) -> Hash[String, String | Hash[Symbol, untyped]]
1565
+
1566
+ # <!--
1567
+ # rdoc-file=ext/json/lib/json/add/ostruct.rb
1568
+ # - to_json(*args)
1569
+ # -->
1570
+ # Returns a JSON string representing `self`:
1571
+ #
1572
+ # require 'json/add/ostruct'
1573
+ # puts OpenStruct.new('name' => 'Rowdy', :age => nil).to_json
1574
+ #
1575
+ # Output:
1576
+ #
1577
+ # {"json_class":"OpenStruct","t":{'name':'Rowdy',"age":null}}
1578
+ #
1579
+ def to_json: (?JSON::State state) -> String
1580
+ end
1581
+
1582
+ %a{annotate:rdoc:skip}
1583
+ class Range[out Elem]
1584
+ # <!--
1585
+ # rdoc-file=ext/json/lib/json/add/range.rb
1586
+ # - json_create(object)
1587
+ # -->
1588
+ # See #as_json.
1589
+ #
1590
+ def self.json_create: [A] (Hash[String, String | [ A, A, bool ]] object) -> Range[A]
1591
+
1592
+ # <!--
1593
+ # rdoc-file=ext/json/lib/json/add/range.rb
1594
+ # - as_json(*)
1595
+ # -->
1596
+ # Methods `Range#as_json` and `Range.json_create` may be used to serialize and
1597
+ # deserialize a Range object; see [Marshal](rdoc-ref:Marshal).
1598
+ #
1599
+ # Method `Range#as_json` serializes `self`, returning a 2-element hash
1600
+ # representing `self`:
1601
+ #
1602
+ # require 'json/add/range'
1603
+ # x = (1..4).as_json # => {"json_class"=>"Range", "a"=>[1, 4, false]}
1604
+ # y = (1...4).as_json # => {"json_class"=>"Range", "a"=>[1, 4, true]}
1605
+ # z = ('a'..'d').as_json # => {"json_class"=>"Range", "a"=>["a", "d", false]}
1606
+ #
1607
+ # Method `JSON.create` deserializes such a hash, returning a Range object:
1608
+ #
1609
+ # Range.json_create(x) # => 1..4
1610
+ # Range.json_create(y) # => 1...4
1611
+ # Range.json_create(z) # => "a".."d"
1612
+ #
1613
+ def as_json: (*untyped) -> Hash[String, String | [ Elem, Elem, bool ]]
1614
+
1615
+ # <!--
1616
+ # rdoc-file=ext/json/lib/json/add/range.rb
1617
+ # - to_json(*args)
1618
+ # -->
1619
+ # Returns a JSON string representing `self`:
1620
+ #
1621
+ # require 'json/add/range'
1622
+ # puts (1..4).to_json
1623
+ # puts (1...4).to_json
1624
+ # puts ('a'..'d').to_json
1625
+ #
1626
+ # Output:
1627
+ #
1628
+ # {"json_class":"Range","a":[1,4,false]}
1629
+ # {"json_class":"Range","a":[1,4,true]}
1630
+ # {"json_class":"Range","a":["a","d",false]}
1631
+ #
1632
+ def to_json: (?JSON::State state) -> String
1633
+ end
1634
+
1635
+ %a{annotate:rdoc:skip}
1636
+ class Rational
1637
+ # <!--
1638
+ # rdoc-file=ext/json/lib/json/add/rational.rb
1639
+ # - json_create(object)
1640
+ # -->
1641
+ # See #as_json.
1642
+ #
1643
+ def self.json_create: (Hash[String, String | Integer] object) -> instance
1644
+
1645
+ # <!--
1646
+ # rdoc-file=ext/json/lib/json/add/rational.rb
1647
+ # - as_json(*)
1648
+ # -->
1649
+ # Methods `Rational#as_json` and `Rational.json_create` may be used to serialize
1650
+ # and deserialize a Rational object; see [Marshal](rdoc-ref:Marshal).
1651
+ #
1652
+ # Method `Rational#as_json` serializes `self`, returning a 2-element hash
1653
+ # representing `self`:
1654
+ #
1655
+ # require 'json/add/rational'
1656
+ # x = Rational(2, 3).as_json
1657
+ # # => {"json_class"=>"Rational", "n"=>2, "d"=>3}
1658
+ #
1659
+ # Method `JSON.create` deserializes such a hash, returning a Rational object:
1660
+ #
1661
+ # Rational.json_create(x)
1662
+ # # => (2/3)
1663
+ #
1664
+ def as_json: (*untyped) -> Hash[String, String | Integer]
1665
+
1666
+ # <!--
1667
+ # rdoc-file=ext/json/lib/json/add/rational.rb
1668
+ # - to_json(*args)
1669
+ # -->
1670
+ # Returns a JSON string representing `self`:
1671
+ #
1672
+ # require 'json/add/rational'
1673
+ # puts Rational(2, 3).to_json
1674
+ #
1675
+ # Output:
1676
+ #
1677
+ # {"json_class":"Rational","n":2,"d":3}
1678
+ #
1679
+ def to_json: (?JSON::State state) -> String
1680
+ end
1681
+
1682
+ %a{annotate:rdoc:skip}
1683
+ class Regexp
1684
+ # <!--
1685
+ # rdoc-file=ext/json/lib/json/add/regexp.rb
1686
+ # - json_create(object)
1687
+ # -->
1688
+ # See #as_json.
1689
+ #
1690
+ def self.json_create: (Hash[String, String | Integer] object) -> instance
1691
+
1692
+ # <!--
1693
+ # rdoc-file=ext/json/lib/json/add/regexp.rb
1694
+ # - as_json(*)
1695
+ # -->
1696
+ # Methods `Regexp#as_json` and `Regexp.json_create` may be used to serialize and
1697
+ # deserialize a Regexp object; see [Marshal](rdoc-ref:Marshal).
1698
+ #
1699
+ # Method `Regexp#as_json` serializes `self`, returning a 2-element hash
1700
+ # representing `self`:
1701
+ #
1702
+ # require 'json/add/regexp'
1703
+ # x = /foo/.as_json
1704
+ # # => {"json_class"=>"Regexp", "o"=>0, "s"=>"foo"}
1705
+ #
1706
+ # Method `JSON.create` deserializes such a hash, returning a Regexp object:
1707
+ #
1708
+ # Regexp.json_create(x) # => /foo/
1709
+ #
1710
+ def as_json: (*untyped) -> Hash[String, String | Integer]
1711
+
1712
+ # <!--
1713
+ # rdoc-file=ext/json/lib/json/add/regexp.rb
1714
+ # - to_json(*args)
1715
+ # -->
1716
+ # Returns a JSON string representing `self`:
1717
+ #
1718
+ # require 'json/add/regexp'
1719
+ # puts /foo/.to_json
1720
+ #
1721
+ # Output:
1722
+ #
1723
+ # {"json_class":"Regexp","o":0,"s":"foo"}
1724
+ #
1725
+ def to_json: (?JSON::State state) -> String
1726
+ end
1727
+
1728
+ %a{annotate:rdoc:skip}
1729
+ class Set[unchecked out A]
1730
+ # <!--
1731
+ # rdoc-file=ext/json/lib/json/add/set.rb
1732
+ # - json_create(object)
1733
+ # -->
1734
+ # See #as_json.
1735
+ #
1736
+ def self.json_create: [A] (Hash[String, String | Array[A]] object) -> Set[A]
1737
+
1738
+ # <!--
1739
+ # rdoc-file=ext/json/lib/json/add/set.rb
1740
+ # - as_json(*)
1741
+ # -->
1742
+ # Methods `Set#as_json` and `Set.json_create` may be used to serialize and
1743
+ # deserialize a Set object; see [Marshal](rdoc-ref:Marshal).
1744
+ #
1745
+ # Method `Set#as_json` serializes `self`, returning a 2-element hash
1746
+ # representing `self`:
1747
+ #
1748
+ # require 'json/add/set'
1749
+ # x = Set.new(%w/foo bar baz/).as_json
1750
+ # # => {"json_class"=>"Set", "a"=>["foo", "bar", "baz"]}
1751
+ #
1752
+ # Method `JSON.create` deserializes such a hash, returning a Set object:
1753
+ #
1754
+ # Set.json_create(x) # => #<Set: {"foo", "bar", "baz"}>
1755
+ #
1756
+ def as_json: (*untyped) -> Hash[String, String | Array[A]]
1757
+
1758
+ # <!--
1759
+ # rdoc-file=ext/json/lib/json/add/set.rb
1760
+ # - to_json(*args)
1761
+ # -->
1762
+ # Returns a JSON string representing `self`:
1763
+ #
1764
+ # require 'json/add/set'
1765
+ # puts Set.new(%w/foo bar baz/).to_json
1766
+ #
1767
+ # Output:
1768
+ #
1769
+ # {"json_class":"Set","a":["foo","bar","baz"]}
1770
+ #
1771
+ def to_json: (?JSON::State state) -> String
1772
+ end
1773
+
1774
+ %a{annotate:rdoc:skip}
1775
+ class Struct[Elem]
1776
+ # <!--
1777
+ # rdoc-file=ext/json/lib/json/add/struct.rb
1778
+ # - json_create(object)
1779
+ # -->
1780
+ # See #as_json.
1781
+ #
1782
+ def self.json_create: [Elem] (Hash[String, String | Array[Elem]] object) -> Struct[Elem]
1783
+
1784
+ # <!--
1785
+ # rdoc-file=ext/json/lib/json/add/struct.rb
1786
+ # - as_json(*)
1787
+ # -->
1788
+ # Methods `Struct#as_json` and `Struct.json_create` may be used to serialize and
1789
+ # deserialize a Struct object; see [Marshal](rdoc-ref:Marshal).
1790
+ #
1791
+ # Method `Struct#as_json` serializes `self`, returning a 2-element hash
1792
+ # representing `self`:
1793
+ #
1794
+ # require 'json/add/struct'
1795
+ # Customer = Struct.new('Customer', :name, :address, :zip)
1796
+ # x = Struct::Customer.new.as_json
1797
+ # # => {"json_class"=>"Struct::Customer", "v"=>[nil, nil, nil]}
1798
+ #
1799
+ # Method `JSON.create` deserializes such a hash, returning a Struct object:
1800
+ #
1801
+ # Struct::Customer.json_create(x)
1802
+ # # => #<struct Struct::Customer name=nil, address=nil, zip=nil>
1803
+ #
1804
+ def as_json: (*untyped) -> Hash[String, String | Array[Elem]]
1805
+
1806
+ # <!--
1807
+ # rdoc-file=ext/json/lib/json/add/struct.rb
1808
+ # - to_json(*args)
1809
+ # -->
1810
+ # Returns a JSON string representing `self`:
1811
+ #
1812
+ # require 'json/add/struct'
1813
+ # Customer = Struct.new('Customer', :name, :address, :zip)
1814
+ # puts Struct::Customer.new.to_json
1815
+ #
1816
+ # Output:
1817
+ #
1818
+ # {"json_class":"Struct","t":{'name':'Rowdy',"age":null}}
1819
+ #
1820
+ def to_json: (?JSON::State state) -> String
1821
+ end
1822
+
1823
+ %a{annotate:rdoc:skip}
1824
+ class Symbol
1825
+ # <!--
1826
+ # rdoc-file=ext/json/lib/json/add/symbol.rb
1827
+ # - json_create(o)
1828
+ # -->
1829
+ # See #as_json.
1830
+ #
1831
+ def self.json_create: (Hash[String, String] object) -> instance
1832
+
1833
+ # <!--
1834
+ # rdoc-file=ext/json/lib/json/add/symbol.rb
1835
+ # - as_json(*)
1836
+ # -->
1837
+ # Methods `Symbol#as_json` and `Symbol.json_create` may be used to serialize and
1838
+ # deserialize a Symbol object; see [Marshal](rdoc-ref:Marshal).
1839
+ #
1840
+ # Method `Symbol#as_json` serializes `self`, returning a 2-element hash
1841
+ # representing `self`:
1842
+ #
1843
+ # require 'json/add/symbol'
1844
+ # x = :foo.as_json
1845
+ # # => {"json_class"=>"Symbol", "s"=>"foo"}
1846
+ #
1847
+ # Method `JSON.create` deserializes such a hash, returning a Symbol object:
1848
+ #
1849
+ # Symbol.json_create(x) # => :foo
1850
+ #
1851
+ def as_json: (*untyped) -> Hash[String, String]
1852
+
1853
+ # <!--
1854
+ # rdoc-file=ext/json/lib/json/add/symbol.rb
1855
+ # - to_json(*a)
1856
+ # -->
1857
+ # Returns a JSON string representing `self`:
1858
+ #
1859
+ # require 'json/add/symbol'
1860
+ # puts :foo.to_json
1861
+ #
1862
+ # Output:
1863
+ #
1864
+ # # {"json_class":"Symbol","s":"foo"}
1865
+ #
1866
+ def to_json: (?JSON::State state) -> String
1867
+ end
1868
+
1869
+ %a{annotate:rdoc:skip}
1870
+ class Time
1871
+ # <!--
1872
+ # rdoc-file=ext/json/lib/json/add/time.rb
1873
+ # - json_create(object)
1874
+ # -->
1875
+ # See #as_json.
1876
+ #
1877
+ def self.json_create: (Hash[String, String | Integer] object) -> instance
1878
+
1879
+ # <!--
1880
+ # rdoc-file=ext/json/lib/json/add/time.rb
1881
+ # - as_json(*)
1882
+ # -->
1883
+ # Methods `Time#as_json` and `Time.json_create` may be used to serialize and
1884
+ # deserialize a Time object; see [Marshal](rdoc-ref:Marshal).
1885
+ #
1886
+ # Method `Time#as_json` serializes `self`, returning a 2-element hash
1887
+ # representing `self`:
1888
+ #
1889
+ # require 'json/add/time'
1890
+ # x = Time.now.as_json
1891
+ # # => {"json_class"=>"Time", "s"=>1700931656, "n"=>472846644}
1892
+ #
1893
+ # Method `JSON.create` deserializes such a hash, returning a Time object:
1894
+ #
1895
+ # Time.json_create(x)
1896
+ # # => 2023-11-25 11:00:56.472846644 -0600
1897
+ #
1898
+ def as_json: (*untyped) -> Hash[String, String | Integer]
1899
+
1900
+ # <!--
1901
+ # rdoc-file=ext/json/lib/json/add/time.rb
1902
+ # - to_json(*args)
1903
+ # -->
1904
+ # Returns a JSON string representing `self`:
1905
+ #
1906
+ # require 'json/add/time'
1907
+ # puts Time.now.to_json
1908
+ #
1909
+ # Output:
1910
+ #
1911
+ # {"json_class":"Time","s":1700931678,"n":980650786}
1912
+ #
1913
+ def to_json: (?JSON::State state) -> String
1914
+ end