rbs-relaxed 3.9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +22 -0
  3. data/.github/workflows/comments.yml +35 -0
  4. data/.github/workflows/dependabot.yml +30 -0
  5. data/.github/workflows/ruby.yml +82 -0
  6. data/.github/workflows/typecheck.yml +38 -0
  7. data/.github/workflows/windows.yml +43 -0
  8. data/.gitignore +23 -0
  9. data/.rubocop.yml +68 -0
  10. data/BSDL +22 -0
  11. data/CHANGELOG.md +1868 -0
  12. data/COPYING +56 -0
  13. data/README.md +203 -0
  14. data/Rakefile +417 -0
  15. data/Steepfile +44 -0
  16. data/config.yml +313 -0
  17. data/core/array.rbs +4062 -0
  18. data/core/basic_object.rbs +375 -0
  19. data/core/binding.rbs +150 -0
  20. data/core/builtin.rbs +277 -0
  21. data/core/class.rbs +220 -0
  22. data/core/comparable.rbs +171 -0
  23. data/core/complex.rbs +786 -0
  24. data/core/constants.rbs +96 -0
  25. data/core/data.rbs +415 -0
  26. data/core/dir.rbs +981 -0
  27. data/core/encoding.rbs +1371 -0
  28. data/core/enumerable.rbs +2405 -0
  29. data/core/enumerator/product.rbs +92 -0
  30. data/core/enumerator.rbs +630 -0
  31. data/core/env.rbs +6 -0
  32. data/core/errno.rbs +673 -0
  33. data/core/errors.rbs +760 -0
  34. data/core/exception.rbs +485 -0
  35. data/core/false_class.rbs +82 -0
  36. data/core/fiber.rbs +550 -0
  37. data/core/fiber_error.rbs +11 -0
  38. data/core/file.rbs +2936 -0
  39. data/core/file_test.rbs +331 -0
  40. data/core/float.rbs +1151 -0
  41. data/core/gc.rbs +644 -0
  42. data/core/global_variables.rbs +184 -0
  43. data/core/hash.rbs +1861 -0
  44. data/core/integer.rbs +1413 -0
  45. data/core/io/buffer.rbs +984 -0
  46. data/core/io/wait.rbs +70 -0
  47. data/core/io.rbs +3406 -0
  48. data/core/kernel.rbs +3096 -0
  49. data/core/marshal.rbs +207 -0
  50. data/core/match_data.rbs +635 -0
  51. data/core/math.rbs +729 -0
  52. data/core/method.rbs +386 -0
  53. data/core/module.rbs +1704 -0
  54. data/core/nil_class.rbs +209 -0
  55. data/core/numeric.rbs +818 -0
  56. data/core/object.rbs +110 -0
  57. data/core/object_space/weak_key_map.rbs +166 -0
  58. data/core/object_space.rbs +190 -0
  59. data/core/proc.rbs +868 -0
  60. data/core/process.rbs +2296 -0
  61. data/core/ractor.rbs +1068 -0
  62. data/core/random.rbs +237 -0
  63. data/core/range.rbs +1107 -0
  64. data/core/rational.rbs +531 -0
  65. data/core/rb_config.rbs +88 -0
  66. data/core/rbs/unnamed/argf.rbs +1229 -0
  67. data/core/rbs/unnamed/env_class.rbs +1209 -0
  68. data/core/rbs/unnamed/random.rbs +293 -0
  69. data/core/refinement.rbs +59 -0
  70. data/core/regexp.rbs +1930 -0
  71. data/core/ruby_vm.rbs +765 -0
  72. data/core/rubygems/basic_specification.rbs +6 -0
  73. data/core/rubygems/config_file.rbs +38 -0
  74. data/core/rubygems/dependency_installer.rbs +6 -0
  75. data/core/rubygems/errors.rbs +176 -0
  76. data/core/rubygems/installer.rbs +15 -0
  77. data/core/rubygems/path_support.rbs +6 -0
  78. data/core/rubygems/platform.rbs +7 -0
  79. data/core/rubygems/request_set.rbs +49 -0
  80. data/core/rubygems/requirement.rbs +148 -0
  81. data/core/rubygems/rubygems.rbs +1171 -0
  82. data/core/rubygems/source_list.rbs +15 -0
  83. data/core/rubygems/specification.rbs +23 -0
  84. data/core/rubygems/stream_ui.rbs +5 -0
  85. data/core/rubygems/uninstaller.rbs +10 -0
  86. data/core/rubygems/version.rbs +294 -0
  87. data/core/set.rbs +621 -0
  88. data/core/signal.rbs +100 -0
  89. data/core/string.rbs +3583 -0
  90. data/core/struct.rbs +667 -0
  91. data/core/symbol.rbs +475 -0
  92. data/core/thread.rbs +1765 -0
  93. data/core/thread_group.rbs +79 -0
  94. data/core/time.rbs +1762 -0
  95. data/core/trace_point.rbs +477 -0
  96. data/core/true_class.rbs +98 -0
  97. data/core/unbound_method.rbs +329 -0
  98. data/core/warning.rbs +87 -0
  99. data/docs/CONTRIBUTING.md +106 -0
  100. data/docs/architecture.md +110 -0
  101. data/docs/collection.md +192 -0
  102. data/docs/data_and_struct.md +86 -0
  103. data/docs/gem.md +57 -0
  104. data/docs/rbs_by_example.md +309 -0
  105. data/docs/repo.md +125 -0
  106. data/docs/sigs.md +167 -0
  107. data/docs/stdlib.md +147 -0
  108. data/docs/syntax.md +910 -0
  109. data/docs/tools.md +17 -0
  110. data/exe/rbs +7 -0
  111. data/ext/rbs_extension/extconf.rb +15 -0
  112. data/ext/rbs_extension/lexer.c +2728 -0
  113. data/ext/rbs_extension/lexer.h +179 -0
  114. data/ext/rbs_extension/lexer.re +147 -0
  115. data/ext/rbs_extension/lexstate.c +175 -0
  116. data/ext/rbs_extension/location.c +325 -0
  117. data/ext/rbs_extension/location.h +85 -0
  118. data/ext/rbs_extension/main.c +33 -0
  119. data/ext/rbs_extension/parser.c +2973 -0
  120. data/ext/rbs_extension/parser.h +18 -0
  121. data/ext/rbs_extension/parserstate.c +397 -0
  122. data/ext/rbs_extension/parserstate.h +163 -0
  123. data/ext/rbs_extension/rbs_extension.h +31 -0
  124. data/ext/rbs_extension/unescape.c +32 -0
  125. data/goodcheck.yml +91 -0
  126. data/include/rbs/constants.h +82 -0
  127. data/include/rbs/ruby_objs.h +72 -0
  128. data/include/rbs/util/rbs_constant_pool.h +219 -0
  129. data/include/rbs.h +7 -0
  130. data/lib/rbs/ancestor_graph.rb +92 -0
  131. data/lib/rbs/annotate/annotations.rb +199 -0
  132. data/lib/rbs/annotate/formatter.rb +92 -0
  133. data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
  134. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  135. data/lib/rbs/annotate.rb +8 -0
  136. data/lib/rbs/ast/annotation.rb +29 -0
  137. data/lib/rbs/ast/comment.rb +29 -0
  138. data/lib/rbs/ast/declarations.rb +467 -0
  139. data/lib/rbs/ast/directives.rb +49 -0
  140. data/lib/rbs/ast/members.rb +451 -0
  141. data/lib/rbs/ast/type_param.rb +225 -0
  142. data/lib/rbs/ast/visitor.rb +137 -0
  143. data/lib/rbs/buffer.rb +67 -0
  144. data/lib/rbs/builtin_names.rb +58 -0
  145. data/lib/rbs/cli/colored_io.rb +48 -0
  146. data/lib/rbs/cli/diff.rb +83 -0
  147. data/lib/rbs/cli/validate.rb +357 -0
  148. data/lib/rbs/cli.rb +1223 -0
  149. data/lib/rbs/collection/cleaner.rb +38 -0
  150. data/lib/rbs/collection/config/lockfile.rb +92 -0
  151. data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
  152. data/lib/rbs/collection/config.rb +81 -0
  153. data/lib/rbs/collection/installer.rb +32 -0
  154. data/lib/rbs/collection/sources/base.rb +14 -0
  155. data/lib/rbs/collection/sources/git.rb +258 -0
  156. data/lib/rbs/collection/sources/local.rb +81 -0
  157. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  158. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  159. data/lib/rbs/collection/sources.rb +38 -0
  160. data/lib/rbs/collection.rb +16 -0
  161. data/lib/rbs/constant.rb +28 -0
  162. data/lib/rbs/definition.rb +401 -0
  163. data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
  164. data/lib/rbs/definition_builder/method_builder.rb +254 -0
  165. data/lib/rbs/definition_builder.rb +845 -0
  166. data/lib/rbs/diff.rb +125 -0
  167. data/lib/rbs/environment/use_map.rb +77 -0
  168. data/lib/rbs/environment.rb +829 -0
  169. data/lib/rbs/environment_loader.rb +173 -0
  170. data/lib/rbs/environment_walker.rb +155 -0
  171. data/lib/rbs/errors.rb +645 -0
  172. data/lib/rbs/factory.rb +18 -0
  173. data/lib/rbs/file_finder.rb +28 -0
  174. data/lib/rbs/location_aux.rb +138 -0
  175. data/lib/rbs/locator.rb +243 -0
  176. data/lib/rbs/method_type.rb +143 -0
  177. data/lib/rbs/namespace.rb +125 -0
  178. data/lib/rbs/parser/lex_result.rb +15 -0
  179. data/lib/rbs/parser/token.rb +23 -0
  180. data/lib/rbs/parser_aux.rb +114 -0
  181. data/lib/rbs/prototype/helpers.rb +140 -0
  182. data/lib/rbs/prototype/node_usage.rb +99 -0
  183. data/lib/rbs/prototype/rb.rb +840 -0
  184. data/lib/rbs/prototype/rbi.rb +641 -0
  185. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  186. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  187. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  188. data/lib/rbs/prototype/runtime.rb +667 -0
  189. data/lib/rbs/repository.rb +127 -0
  190. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  191. data/lib/rbs/resolver/type_name_resolver.rb +91 -0
  192. data/lib/rbs/sorter.rb +198 -0
  193. data/lib/rbs/substitution.rb +83 -0
  194. data/lib/rbs/subtractor.rb +201 -0
  195. data/lib/rbs/test/errors.rb +80 -0
  196. data/lib/rbs/test/guaranteed.rb +30 -0
  197. data/lib/rbs/test/hook.rb +212 -0
  198. data/lib/rbs/test/observer.rb +19 -0
  199. data/lib/rbs/test/setup.rb +84 -0
  200. data/lib/rbs/test/setup_helper.rb +50 -0
  201. data/lib/rbs/test/tester.rb +167 -0
  202. data/lib/rbs/test/type_check.rb +435 -0
  203. data/lib/rbs/test.rb +112 -0
  204. data/lib/rbs/type_alias_dependency.rb +100 -0
  205. data/lib/rbs/type_alias_regularity.rb +126 -0
  206. data/lib/rbs/type_name.rb +109 -0
  207. data/lib/rbs/types.rb +1596 -0
  208. data/lib/rbs/unit_test/convertibles.rb +176 -0
  209. data/lib/rbs/unit_test/spy.rb +138 -0
  210. data/lib/rbs/unit_test/type_assertions.rb +347 -0
  211. data/lib/rbs/unit_test/with_aliases.rb +143 -0
  212. data/lib/rbs/unit_test.rb +6 -0
  213. data/lib/rbs/validator.rb +186 -0
  214. data/lib/rbs/variance_calculator.rb +189 -0
  215. data/lib/rbs/vendorer.rb +71 -0
  216. data/lib/rbs/version.rb +5 -0
  217. data/lib/rbs/writer.rb +424 -0
  218. data/lib/rbs.rb +94 -0
  219. data/lib/rdoc/discover.rb +20 -0
  220. data/lib/rdoc_plugin/parser.rb +163 -0
  221. data/rbs-relaxed.gemspec +48 -0
  222. data/schema/annotation.json +14 -0
  223. data/schema/comment.json +26 -0
  224. data/schema/decls.json +326 -0
  225. data/schema/function.json +87 -0
  226. data/schema/location.json +56 -0
  227. data/schema/members.json +266 -0
  228. data/schema/methodType.json +50 -0
  229. data/schema/typeParam.json +36 -0
  230. data/schema/types.json +317 -0
  231. data/sig/ancestor_builder.rbs +163 -0
  232. data/sig/ancestor_graph.rbs +60 -0
  233. data/sig/annotate/annotations.rbs +102 -0
  234. data/sig/annotate/formatter.rbs +24 -0
  235. data/sig/annotate/rdoc_annotater.rbs +82 -0
  236. data/sig/annotate/rdoc_source.rbs +30 -0
  237. data/sig/annotation.rbs +27 -0
  238. data/sig/buffer.rbs +32 -0
  239. data/sig/builtin_names.rbs +44 -0
  240. data/sig/cli/colored_io.rbs +15 -0
  241. data/sig/cli/diff.rbs +21 -0
  242. data/sig/cli/validate.rbs +43 -0
  243. data/sig/cli.rbs +87 -0
  244. data/sig/collection/cleaner.rbs +13 -0
  245. data/sig/collection/config/lockfile.rbs +74 -0
  246. data/sig/collection/config/lockfile_generator.rbs +66 -0
  247. data/sig/collection/config.rbs +46 -0
  248. data/sig/collection/installer.rbs +17 -0
  249. data/sig/collection/sources.rbs +214 -0
  250. data/sig/collection.rbs +4 -0
  251. data/sig/comment.rbs +26 -0
  252. data/sig/constant.rbs +21 -0
  253. data/sig/declarations.rbs +267 -0
  254. data/sig/definition.rbs +173 -0
  255. data/sig/definition_builder.rbs +165 -0
  256. data/sig/diff.rbs +28 -0
  257. data/sig/directives.rbs +77 -0
  258. data/sig/environment.rbs +279 -0
  259. data/sig/environment_loader.rbs +111 -0
  260. data/sig/environment_walker.rbs +65 -0
  261. data/sig/errors.rbs +405 -0
  262. data/sig/factory.rbs +5 -0
  263. data/sig/file_finder.rbs +28 -0
  264. data/sig/location.rbs +110 -0
  265. data/sig/locator.rbs +58 -0
  266. data/sig/manifest.yaml +7 -0
  267. data/sig/members.rbs +258 -0
  268. data/sig/method_builder.rbs +84 -0
  269. data/sig/method_types.rbs +58 -0
  270. data/sig/namespace.rbs +146 -0
  271. data/sig/parser.rbs +100 -0
  272. data/sig/prototype/helpers.rbs +27 -0
  273. data/sig/prototype/node_usage.rbs +20 -0
  274. data/sig/prototype/rb.rbs +96 -0
  275. data/sig/prototype/rbi.rbs +75 -0
  276. data/sig/prototype/runtime.rbs +182 -0
  277. data/sig/rbs.rbs +21 -0
  278. data/sig/rdoc/rbs.rbs +67 -0
  279. data/sig/repository.rbs +85 -0
  280. data/sig/resolver/constant_resolver.rbs +92 -0
  281. data/sig/resolver/context.rbs +34 -0
  282. data/sig/resolver/type_name_resolver.rbs +35 -0
  283. data/sig/shims/bundler.rbs +38 -0
  284. data/sig/shims/enumerable.rbs +5 -0
  285. data/sig/shims/rubygems.rbs +19 -0
  286. data/sig/sorter.rbs +41 -0
  287. data/sig/substitution.rbs +48 -0
  288. data/sig/subtractor.rbs +37 -0
  289. data/sig/test/errors.rbs +52 -0
  290. data/sig/test/guranteed.rbs +9 -0
  291. data/sig/test/type_check.rbs +19 -0
  292. data/sig/test.rbs +82 -0
  293. data/sig/type_alias_dependency.rbs +53 -0
  294. data/sig/type_alias_regularity.rbs +98 -0
  295. data/sig/type_param.rbs +110 -0
  296. data/sig/typename.rbs +79 -0
  297. data/sig/types.rbs +579 -0
  298. data/sig/unit_test/convertibles.rbs +154 -0
  299. data/sig/unit_test/spy.rbs +30 -0
  300. data/sig/unit_test/type_assertions.rbs +196 -0
  301. data/sig/unit_test/with_aliases.rbs +136 -0
  302. data/sig/use_map.rbs +35 -0
  303. data/sig/util.rbs +9 -0
  304. data/sig/validator.rbs +63 -0
  305. data/sig/variance_calculator.rbs +87 -0
  306. data/sig/vendorer.rbs +51 -0
  307. data/sig/version.rbs +3 -0
  308. data/sig/visitor.rbs +47 -0
  309. data/sig/writer.rbs +127 -0
  310. data/src/constants.c +153 -0
  311. data/src/ruby_objs.c +795 -0
  312. data/src/util/rbs_constant_pool.c +342 -0
  313. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  314. data/stdlib/abbrev/0/array.rbs +26 -0
  315. data/stdlib/base64/0/base64.rbs +355 -0
  316. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  317. data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
  318. data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
  319. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  320. data/stdlib/cgi/0/core.rbs +1285 -0
  321. data/stdlib/cgi/0/manifest.yaml +3 -0
  322. data/stdlib/coverage/0/coverage.rbs +263 -0
  323. data/stdlib/csv/0/csv.rbs +3776 -0
  324. data/stdlib/csv/0/manifest.yaml +3 -0
  325. data/stdlib/date/0/date.rbs +1585 -0
  326. data/stdlib/date/0/date_time.rbs +616 -0
  327. data/stdlib/date/0/time.rbs +26 -0
  328. data/stdlib/dbm/0/dbm.rbs +421 -0
  329. data/stdlib/delegate/0/delegator.rbs +184 -0
  330. data/stdlib/delegate/0/kernel.rbs +47 -0
  331. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  332. data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
  333. data/stdlib/digest/0/digest.rbs +577 -0
  334. data/stdlib/erb/0/erb.rbs +532 -0
  335. data/stdlib/etc/0/etc.rbs +865 -0
  336. data/stdlib/fileutils/0/fileutils.rbs +1734 -0
  337. data/stdlib/find/0/find.rbs +49 -0
  338. data/stdlib/forwardable/0/forwardable.rbs +268 -0
  339. data/stdlib/io-console/0/io-console.rbs +414 -0
  340. data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
  341. data/stdlib/json/0/json.rbs +1916 -0
  342. data/stdlib/kconv/0/kconv.rbs +166 -0
  343. data/stdlib/logger/0/formatter.rbs +45 -0
  344. data/stdlib/logger/0/log_device.rbs +100 -0
  345. data/stdlib/logger/0/logger.rbs +796 -0
  346. data/stdlib/logger/0/manifest.yaml +2 -0
  347. data/stdlib/logger/0/period.rbs +17 -0
  348. data/stdlib/logger/0/severity.rbs +34 -0
  349. data/stdlib/minitest/0/kernel.rbs +42 -0
  350. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  351. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  352. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  353. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  354. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  355. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  356. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  357. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  358. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  359. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  360. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  361. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  362. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  363. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  364. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  365. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  366. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  367. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  368. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  369. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  370. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  371. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  372. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  373. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  374. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  375. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  376. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  377. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  378. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  379. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  380. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  381. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  382. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  383. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  384. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  385. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  386. data/stdlib/minitest/0/minitest.rbs +115 -0
  387. data/stdlib/monitor/0/monitor.rbs +363 -0
  388. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  389. data/stdlib/net-http/0/manifest.yaml +3 -0
  390. data/stdlib/net-http/0/net-http.rbs +5552 -0
  391. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  392. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  393. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  394. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  395. data/stdlib/nkf/0/nkf.rbs +402 -0
  396. data/stdlib/objspace/0/objspace.rbs +487 -0
  397. data/stdlib/observable/0/observable.rbs +217 -0
  398. data/stdlib/open-uri/0/manifest.yaml +4 -0
  399. data/stdlib/open-uri/0/open-uri.rbs +393 -0
  400. data/stdlib/open3/0/open3.rbs +147 -0
  401. data/stdlib/openssl/0/manifest.yaml +3 -0
  402. data/stdlib/openssl/0/openssl.rbs +12113 -0
  403. data/stdlib/optparse/0/optparse.rbs +1725 -0
  404. data/stdlib/pathname/0/pathname.rbs +1406 -0
  405. data/stdlib/pp/0/manifest.yaml +2 -0
  406. data/stdlib/pp/0/pp.rbs +300 -0
  407. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  408. data/stdlib/pstore/0/pstore.rbs +603 -0
  409. data/stdlib/psych/0/core_ext.rbs +12 -0
  410. data/stdlib/psych/0/dbm.rbs +237 -0
  411. data/stdlib/psych/0/manifest.yaml +3 -0
  412. data/stdlib/psych/0/psych.rbs +402 -0
  413. data/stdlib/psych/0/store.rbs +59 -0
  414. data/stdlib/pty/0/pty.rbs +237 -0
  415. data/stdlib/rdoc/0/code_object.rbs +51 -0
  416. data/stdlib/rdoc/0/comment.rbs +59 -0
  417. data/stdlib/rdoc/0/context.rbs +153 -0
  418. data/stdlib/rdoc/0/markup.rbs +117 -0
  419. data/stdlib/rdoc/0/parser.rbs +56 -0
  420. data/stdlib/rdoc/0/rdoc.rbs +391 -0
  421. data/stdlib/rdoc/0/ri.rbs +17 -0
  422. data/stdlib/rdoc/0/store.rbs +48 -0
  423. data/stdlib/rdoc/0/top_level.rbs +97 -0
  424. data/stdlib/resolv/0/manifest.yaml +3 -0
  425. data/stdlib/resolv/0/resolv.rbs +1830 -0
  426. data/stdlib/ripper/0/ripper.rbs +1648 -0
  427. data/stdlib/securerandom/0/securerandom.rbs +62 -0
  428. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  429. data/stdlib/singleton/0/singleton.rbs +131 -0
  430. data/stdlib/socket/0/addrinfo.rbs +666 -0
  431. data/stdlib/socket/0/basic_socket.rbs +590 -0
  432. data/stdlib/socket/0/constants.rbs +2295 -0
  433. data/stdlib/socket/0/ip_socket.rbs +92 -0
  434. data/stdlib/socket/0/socket.rbs +4157 -0
  435. data/stdlib/socket/0/socket_error.rbs +5 -0
  436. data/stdlib/socket/0/tcp_server.rbs +192 -0
  437. data/stdlib/socket/0/tcp_socket.rbs +79 -0
  438. data/stdlib/socket/0/udp_socket.rbs +133 -0
  439. data/stdlib/socket/0/unix_server.rbs +169 -0
  440. data/stdlib/socket/0/unix_socket.rbs +172 -0
  441. data/stdlib/stringio/0/stringio.rbs +567 -0
  442. data/stdlib/strscan/0/string_scanner.rbs +1627 -0
  443. data/stdlib/tempfile/0/tempfile.rbs +479 -0
  444. data/stdlib/time/0/time.rbs +432 -0
  445. data/stdlib/timeout/0/timeout.rbs +81 -0
  446. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  447. data/stdlib/tsort/0/cyclic.rbs +5 -0
  448. data/stdlib/tsort/0/interfaces.rbs +20 -0
  449. data/stdlib/tsort/0/tsort.rbs +409 -0
  450. data/stdlib/uri/0/common.rbs +582 -0
  451. data/stdlib/uri/0/file.rbs +118 -0
  452. data/stdlib/uri/0/ftp.rbs +13 -0
  453. data/stdlib/uri/0/generic.rbs +1108 -0
  454. data/stdlib/uri/0/http.rbs +104 -0
  455. data/stdlib/uri/0/https.rbs +14 -0
  456. data/stdlib/uri/0/ldap.rbs +230 -0
  457. data/stdlib/uri/0/ldaps.rbs +14 -0
  458. data/stdlib/uri/0/mailto.rbs +92 -0
  459. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  460. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  461. data/stdlib/uri/0/ws.rbs +13 -0
  462. data/stdlib/uri/0/wss.rbs +9 -0
  463. data/stdlib/yaml/0/manifest.yaml +2 -0
  464. data/stdlib/yaml/0/yaml.rbs +1 -0
  465. data/stdlib/zlib/0/buf_error.rbs +10 -0
  466. data/stdlib/zlib/0/data_error.rbs +10 -0
  467. data/stdlib/zlib/0/deflate.rbs +210 -0
  468. data/stdlib/zlib/0/error.rbs +20 -0
  469. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  470. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  471. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  472. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  473. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  474. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  475. data/stdlib/zlib/0/gzip_writer.rbs +166 -0
  476. data/stdlib/zlib/0/inflate.rbs +180 -0
  477. data/stdlib/zlib/0/mem_error.rbs +10 -0
  478. data/stdlib/zlib/0/need_dict.rbs +13 -0
  479. data/stdlib/zlib/0/stream_end.rbs +11 -0
  480. data/stdlib/zlib/0/stream_error.rbs +11 -0
  481. data/stdlib/zlib/0/version_error.rbs +11 -0
  482. data/stdlib/zlib/0/zlib.rbs +449 -0
  483. data/stdlib/zlib/0/zstream.rbs +200 -0
  484. metadata +532 -0
@@ -0,0 +1,449 @@
1
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
2
+ # This module provides access to the [zlib library](http://zlib.net). Zlib is
3
+ # designed to be a portable, free, general-purpose, legally unencumbered -- that
4
+ # is, not covered by any patents -- lossless data-compression library for use on
5
+ # virtually any computer hardware and operating system.
6
+ #
7
+ # The zlib compression library provides in-memory compression and decompression
8
+ # functions, including integrity checks of the uncompressed data.
9
+ #
10
+ # The zlib compressed data format is described in RFC 1950, which is a wrapper
11
+ # around a deflate stream which is described in RFC 1951.
12
+ #
13
+ # The library also supports reading and writing files in gzip (.gz) format with
14
+ # an interface similar to that of IO. The gzip format is described in RFC 1952
15
+ # which is also a wrapper around a deflate stream.
16
+ #
17
+ # The zlib format was designed to be compact and fast for use in memory and on
18
+ # communications channels. The gzip format was designed for single-file
19
+ # compression on file systems, has a larger header than zlib to maintain
20
+ # directory information, and uses a different, slower check method than zlib.
21
+ #
22
+ # See your system's zlib.h for further information about zlib
23
+ #
24
+ # ## Sample usage
25
+ #
26
+ # Using the wrapper to compress strings with default parameters is quite simple:
27
+ #
28
+ # require "zlib"
29
+ #
30
+ # data_to_compress = File.read("don_quixote.txt")
31
+ #
32
+ # puts "Input size: #{data_to_compress.size}"
33
+ # #=> Input size: 2347740
34
+ #
35
+ # data_compressed = Zlib::Deflate.deflate(data_to_compress)
36
+ #
37
+ # puts "Compressed size: #{data_compressed.size}"
38
+ # #=> Compressed size: 887238
39
+ #
40
+ # uncompressed_data = Zlib::Inflate.inflate(data_compressed)
41
+ #
42
+ # puts "Uncompressed data is: #{uncompressed_data}"
43
+ # #=> Uncompressed data is: The Project Gutenberg EBook of Don Quixote...
44
+ #
45
+ # ## Class tree
46
+ #
47
+ # * Zlib::Deflate
48
+ # * Zlib::Inflate
49
+ # * Zlib::ZStream
50
+ # * Zlib::Error
51
+ # * Zlib::StreamEnd
52
+ # * Zlib::NeedDict
53
+ # * Zlib::DataError
54
+ # * Zlib::StreamError
55
+ # * Zlib::MemError
56
+ # * Zlib::BufError
57
+ # * Zlib::VersionError
58
+ # * Zlib::InProgressError
59
+ #
60
+ # (if you have GZIP_SUPPORT)
61
+ # * Zlib::GzipReader
62
+ # * Zlib::GzipWriter
63
+ # * Zlib::GzipFile
64
+ # * Zlib::GzipFile::Error
65
+ # * Zlib::GzipFile::LengthError
66
+ # * Zlib::GzipFile::CRCError
67
+ # * Zlib::GzipFile::NoFooter
68
+ #
69
+ module Zlib
70
+ # <!--
71
+ # rdoc-file=ext/zlib/zlib.c
72
+ # - Zlib.adler32(string, adler)
73
+ # -->
74
+ # Calculates Adler-32 checksum for `string`, and returns updated value of
75
+ # `adler`. If `string` is omitted, it returns the Adler-32 initial value. If
76
+ # `adler` is omitted, it assumes that the initial value is given to `adler`. If
77
+ # `string` is an IO instance, reads from the IO until the IO returns nil and
78
+ # returns Adler-32 of all read data.
79
+ #
80
+ # Example usage:
81
+ #
82
+ # require "zlib"
83
+ #
84
+ # data = "foo"
85
+ # puts "Adler32 checksum: #{Zlib.adler32(data).to_s(16)}"
86
+ # #=> Adler32 checksum: 2820145
87
+ #
88
+ def self.adler32: () -> Integer
89
+ | (String) -> Integer
90
+ | (String, Integer) -> Integer
91
+
92
+ # <!--
93
+ # rdoc-file=ext/zlib/zlib.c
94
+ # - Zlib.adler32_combine(adler1, adler2, len2)
95
+ # -->
96
+ # Combine two Adler-32 check values in to one. `adler1` is the first Adler-32
97
+ # value, `adler2` is the second Adler-32 value. `len2` is the length of the
98
+ # string used to generate `adler2`.
99
+ #
100
+ def self.adler32_combine: (Integer, Integer, Integer) -> Integer
101
+
102
+ # <!--
103
+ # rdoc-file=ext/zlib/zlib.c
104
+ # - Zlib.crc32(string, crc)
105
+ # -->
106
+ # Calculates CRC checksum for `string`, and returns updated value of `crc`. If
107
+ # `string` is omitted, it returns the CRC initial value. If `crc` is omitted, it
108
+ # assumes that the initial value is given to `crc`. If `string` is an IO
109
+ # instance, reads from the IO until the IO returns nil and returns CRC checksum
110
+ # of all read data.
111
+ #
112
+ # FIXME: expression.
113
+ #
114
+ def self.crc32: () -> Integer
115
+ | (String) -> Integer
116
+ | (String, Integer) -> Integer
117
+
118
+ # <!--
119
+ # rdoc-file=ext/zlib/zlib.c
120
+ # - Zlib.crc32_combine(crc1, crc2, len2)
121
+ # -->
122
+ # Combine two CRC-32 check values in to one. `crc1` is the first CRC-32 value,
123
+ # `crc2` is the second CRC-32 value. `len2` is the length of the string used to
124
+ # generate `crc2`.
125
+ #
126
+ def self.crc32_combine: (Integer, Integer, Integer) -> Integer
127
+
128
+ # <!--
129
+ # rdoc-file=ext/zlib/zlib.c
130
+ # - crc_table()
131
+ # -->
132
+ # Returns the table for calculating CRC checksum as an array.
133
+ #
134
+ def self.crc_table: () -> Array[Integer]
135
+
136
+ # <!--
137
+ # rdoc-file=ext/zlib/zlib.c
138
+ # - Zlib.deflate(string[, level])
139
+ # - Zlib::Deflate.deflate(string[, level])
140
+ # -->
141
+ # Compresses the given `string`. Valid values of level are Zlib::NO_COMPRESSION,
142
+ # Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION, or an
143
+ # integer from 0 to 9.
144
+ #
145
+ # This method is almost equivalent to the following code:
146
+ #
147
+ # def deflate(string, level)
148
+ # z = Zlib::Deflate.new(level)
149
+ # dst = z.deflate(string, Zlib::FINISH)
150
+ # z.close
151
+ # dst
152
+ # end
153
+ #
154
+ # See also Zlib.inflate
155
+ #
156
+ def self.deflate: (String) -> String
157
+ | (String, Integer) -> String
158
+
159
+ # <!--
160
+ # rdoc-file=ext/zlib/zlib.c
161
+ # - Zlib.gunzip(src) -> String
162
+ # -->
163
+ # Decode the given gzipped `string`.
164
+ #
165
+ # This method is almost equivalent to the following code:
166
+ #
167
+ # def gunzip(string)
168
+ # sio = StringIO.new(string)
169
+ # gz = Zlib::GzipReader.new(sio, encoding: Encoding::ASCII_8BIT)
170
+ # gz.read
171
+ # ensure
172
+ # gz&.close
173
+ # end
174
+ #
175
+ # See also Zlib.gzip
176
+ #
177
+ def self.gunzip: (String) -> String
178
+
179
+ # <!--
180
+ # rdoc-file=ext/zlib/zlib.c
181
+ # - Zlib.gzip(src, level: nil, strategy: nil) -> String
182
+ # -->
183
+ # Gzip the given `string`. Valid values of level are Zlib::NO_COMPRESSION,
184
+ # Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION (default),
185
+ # or an integer from 0 to 9.
186
+ #
187
+ # This method is almost equivalent to the following code:
188
+ #
189
+ # def gzip(string, level: nil, strategy: nil)
190
+ # sio = StringIO.new
191
+ # sio.binmode
192
+ # gz = Zlib::GzipWriter.new(sio, level, strategy)
193
+ # gz.write(string)
194
+ # gz.close
195
+ # sio.string
196
+ # end
197
+ #
198
+ # See also Zlib.gunzip
199
+ #
200
+ def self.gzip: (String) -> String
201
+ | (String, level: Integer) -> String
202
+ | (String, strategy: Integer) -> String
203
+ | (String, level: Integer, strategy: Integer) -> String
204
+
205
+ # <!--
206
+ # rdoc-file=ext/zlib/zlib.c
207
+ # - Zlib.inflate(string)
208
+ # - Zlib::Inflate.inflate(string)
209
+ # -->
210
+ # Decompresses `string`. Raises a Zlib::NeedDict exception if a preset
211
+ # dictionary is needed for decompression.
212
+ #
213
+ # This method is almost equivalent to the following code:
214
+ #
215
+ # def inflate(string)
216
+ # zstream = Zlib::Inflate.new
217
+ # buf = zstream.inflate(string)
218
+ # zstream.finish
219
+ # zstream.close
220
+ # buf
221
+ # end
222
+ #
223
+ # See also Zlib.deflate
224
+ #
225
+ def self.inflate: (String) -> String
226
+
227
+ # <!--
228
+ # rdoc-file=ext/zlib/zlib.c
229
+ # - zlib_version()
230
+ # -->
231
+ # Returns the string which represents the version of zlib library.
232
+ #
233
+ def self.zlib_version: () -> String
234
+ end
235
+
236
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
237
+ # Represents text data as guessed by deflate.
238
+ #
239
+ # NOTE: The underlying constant Z_ASCII was deprecated in favor of Z_TEXT in
240
+ # zlib 1.2.2. New applications should not use this constant.
241
+ #
242
+ # See Zlib::Deflate#data_type.
243
+ #
244
+ Zlib::ASCII: Integer
245
+
246
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
247
+ # Slowest compression level, but with the best space savings.
248
+ #
249
+ Zlib::BEST_COMPRESSION: Integer
250
+
251
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
252
+ # Fastest compression level, but with the lowest space savings.
253
+ #
254
+ Zlib::BEST_SPEED: Integer
255
+
256
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
257
+ # Represents binary data as guessed by deflate.
258
+ #
259
+ # See Zlib::Deflate#data_type.
260
+ #
261
+ Zlib::BINARY: Integer
262
+
263
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
264
+ # Default compression level which is a good trade-off between space and time
265
+ #
266
+ Zlib::DEFAULT_COMPRESSION: Integer
267
+
268
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
269
+ # Default deflate strategy which is used for normal data.
270
+ #
271
+ Zlib::DEFAULT_STRATEGY: Integer
272
+
273
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
274
+ # The default memory level for allocating zlib deflate compression state.
275
+ #
276
+ Zlib::DEF_MEM_LEVEL: Integer
277
+
278
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
279
+ # Deflate strategy for data produced by a filter (or predictor). The effect of
280
+ # FILTERED is to force more Huffman codes and less string matching; it is
281
+ # somewhat intermediate between DEFAULT_STRATEGY and HUFFMAN_ONLY. Filtered data
282
+ # consists mostly of small values with a somewhat random distribution.
283
+ #
284
+ Zlib::FILTERED: Integer
285
+
286
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
287
+ # Processes all pending input and flushes pending output.
288
+ #
289
+ Zlib::FINISH: Integer
290
+
291
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
292
+ # Deflate strategy which prevents the use of dynamic Huffman codes, allowing for
293
+ # a simpler decoder for specialized applications.
294
+ #
295
+ Zlib::FIXED: Integer
296
+
297
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
298
+ # Flushes all output as with SYNC_FLUSH, and the compression state is reset so
299
+ # that decompression can restart from this point if previous compressed data has
300
+ # been damaged or if random access is desired. Like SYNC_FLUSH, using FULL_FLUSH
301
+ # too often can seriously degrade compression.
302
+ #
303
+ Zlib::FULL_FLUSH: Integer
304
+
305
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
306
+ # Deflate strategy which uses Huffman codes only (no string matching).
307
+ #
308
+ Zlib::HUFFMAN_ONLY: Integer
309
+
310
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
311
+ # The maximum memory level for allocating zlib deflate compression state.
312
+ #
313
+ Zlib::MAX_MEM_LEVEL: Integer
314
+
315
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
316
+ # The maximum size of the zlib history buffer. Note that zlib allows larger
317
+ # values to enable different inflate modes. See Zlib::Inflate.new for details.
318
+ #
319
+ Zlib::MAX_WBITS: Integer
320
+
321
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
322
+ # No compression, passes through data untouched. Use this for appending
323
+ # pre-compressed data to a deflate stream.
324
+ #
325
+ Zlib::NO_COMPRESSION: Integer
326
+
327
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
328
+ # NO_FLUSH is the default flush method and allows deflate to decide how much
329
+ # data to accumulate before producing output in order to maximize compression.
330
+ #
331
+ Zlib::NO_FLUSH: Integer
332
+
333
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
334
+ # OS code for Amiga hosts
335
+ #
336
+ Zlib::OS_AMIGA: Integer
337
+
338
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
339
+ # OS code for Atari hosts
340
+ #
341
+ Zlib::OS_ATARI: Integer
342
+
343
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
344
+ # The OS code of current host
345
+ #
346
+ Zlib::OS_CODE: Integer
347
+
348
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
349
+ # OS code for CP/M hosts
350
+ #
351
+ Zlib::OS_CPM: Integer
352
+
353
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
354
+ # OS code for Mac OS hosts
355
+ #
356
+ Zlib::OS_MACOS: Integer
357
+
358
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
359
+ # OS code for MSDOS hosts
360
+ #
361
+ Zlib::OS_MSDOS: Integer
362
+
363
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
364
+ # OS code for OS2 hosts
365
+ #
366
+ Zlib::OS_OS2: Integer
367
+
368
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
369
+ # OS code for QDOS hosts
370
+ #
371
+ Zlib::OS_QDOS: Integer
372
+
373
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
374
+ # OS code for RISC OS hosts
375
+ #
376
+ Zlib::OS_RISCOS: Integer
377
+
378
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
379
+ # OS code for TOPS-20 hosts
380
+ #
381
+ Zlib::OS_TOPS20: Integer
382
+
383
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
384
+ # OS code for UNIX hosts
385
+ #
386
+ Zlib::OS_UNIX: Integer
387
+
388
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
389
+ # OS code for unknown hosts
390
+ #
391
+ Zlib::OS_UNKNOWN: Integer
392
+
393
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
394
+ # OS code for VM OS hosts
395
+ #
396
+ Zlib::OS_VMCMS: Integer
397
+
398
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
399
+ # OS code for VMS hosts
400
+ #
401
+ Zlib::OS_VMS: Integer
402
+
403
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
404
+ # OS code for Win32 hosts
405
+ #
406
+ Zlib::OS_WIN32: Integer
407
+
408
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
409
+ # OS code for Z-System hosts
410
+ #
411
+ Zlib::OS_ZSYSTEM: Integer
412
+
413
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
414
+ # Deflate compression strategy designed to be almost as fast as HUFFMAN_ONLY,
415
+ # but give better compression for PNG image data.
416
+ #
417
+ Zlib::RLE: Integer
418
+
419
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
420
+ # The SYNC_FLUSH method flushes all pending output to the output buffer and the
421
+ # output is aligned on a byte boundary. Flushing may degrade compression so it
422
+ # should be used only when necessary, such as at a request or response boundary
423
+ # for a network stream.
424
+ #
425
+ Zlib::SYNC_FLUSH: Integer
426
+
427
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
428
+ # Represents text data as guessed by deflate.
429
+ #
430
+ # See Zlib::Deflate#data_type.
431
+ #
432
+ Zlib::TEXT: Integer
433
+
434
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
435
+ # Represents an unknown data type as guessed by deflate.
436
+ #
437
+ # See Zlib::Deflate#data_type.
438
+ #
439
+ Zlib::UNKNOWN: Integer
440
+
441
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
442
+ # The Ruby/zlib version string.
443
+ #
444
+ Zlib::VERSION: String
445
+
446
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
447
+ # The string which represents the version of zlib.h
448
+ #
449
+ Zlib::ZLIB_VERSION: String
@@ -0,0 +1,200 @@
1
+ %a{annotate:rdoc:skip}
2
+ module Zlib
3
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
4
+ # Zlib::ZStream is the abstract class for the stream which handles the
5
+ # compressed data. The operations are defined in the subclasses: Zlib::Deflate
6
+ # for compression, and Zlib::Inflate for decompression.
7
+ #
8
+ # An instance of Zlib::ZStream has one stream (struct zstream in the source) and
9
+ # two variable-length buffers which associated to the input (next_in) of the
10
+ # stream and the output (next_out) of the stream. In this document, "input
11
+ # buffer" means the buffer for input, and "output buffer" means the buffer for
12
+ # output.
13
+ #
14
+ # Data input into an instance of Zlib::ZStream are temporally stored into the
15
+ # end of input buffer, and then data in input buffer are processed from the
16
+ # beginning of the buffer until no more output from the stream is produced (i.e.
17
+ # until avail_out > 0 after processing). During processing, output buffer is
18
+ # allocated and expanded automatically to hold all output data.
19
+ #
20
+ # Some particular instance methods consume the data in output buffer and return
21
+ # them as a String.
22
+ #
23
+ # Here is an ascii art for describing above:
24
+ #
25
+ # +================ an instance of Zlib::ZStream ================+
26
+ # || ||
27
+ # || +--------+ +-------+ +--------+ ||
28
+ # || +--| output |<---------|zstream|<---------| input |<--+ ||
29
+ # || | | buffer | next_out+-------+next_in | buffer | | ||
30
+ # || | +--------+ +--------+ | ||
31
+ # || | | ||
32
+ # +===|======================================================|===+
33
+ # | |
34
+ # v |
35
+ # "output data" "input data"
36
+ #
37
+ # If an error occurs during processing input buffer, an exception which is a
38
+ # subclass of Zlib::Error is raised. At that time, both input and output buffer
39
+ # keep their conditions at the time when the error occurs.
40
+ #
41
+ # ## Method Catalogue
42
+ #
43
+ # Many of the methods in this class are fairly low-level and unlikely to be of
44
+ # interest to users. In fact, users are unlikely to use this class directly;
45
+ # rather they will be interested in Zlib::Inflate and Zlib::Deflate.
46
+ #
47
+ # The higher level methods are listed below.
48
+ #
49
+ # * #total_in
50
+ # * #total_out
51
+ # * #data_type
52
+ # * #adler
53
+ # * #reset
54
+ # * #finish
55
+ # * #finished?
56
+ # * #close
57
+ # * #closed?
58
+ #
59
+ class ZStream
60
+ # <!--
61
+ # rdoc-file=ext/zlib/zlib.c
62
+ # - adler()
63
+ # -->
64
+ # Returns the adler-32 checksum.
65
+ #
66
+ def adler: () -> Integer
67
+
68
+ # <!--
69
+ # rdoc-file=ext/zlib/zlib.c
70
+ # - avail_in()
71
+ # -->
72
+ # Returns bytes of data in the input buffer. Normally, returns 0.
73
+ #
74
+ def avail_in: () -> Integer
75
+
76
+ # <!--
77
+ # rdoc-file=ext/zlib/zlib.c
78
+ # - avail_out()
79
+ # -->
80
+ # Returns number of bytes of free spaces in output buffer. Because the free
81
+ # space is allocated automatically, this method returns 0 normally.
82
+ #
83
+ def avail_out: () -> Integer
84
+
85
+ # <!--
86
+ # rdoc-file=ext/zlib/zlib.c
87
+ # - avail_out=(p1)
88
+ # -->
89
+ # Allocates `size` bytes of free space in the output buffer. If there are more
90
+ # than `size` bytes already in the buffer, the buffer is truncated. Because free
91
+ # space is allocated automatically, you usually don't need to use this method.
92
+ #
93
+ def avail_out=: (Integer p1) -> void
94
+
95
+ # <!--
96
+ # rdoc-file=ext/zlib/zlib.c
97
+ # - close()
98
+ # -->
99
+ # Closes the stream. All operations on the closed stream will raise an
100
+ # exception.
101
+ #
102
+ def close: () -> void
103
+
104
+ # <!--
105
+ # rdoc-file=ext/zlib/zlib.c
106
+ # - closed?()
107
+ # -->
108
+ # Returns true if the stream is closed.
109
+ #
110
+ def closed?: () -> bool
111
+
112
+ # <!--
113
+ # rdoc-file=ext/zlib/zlib.c
114
+ # - data_type()
115
+ # -->
116
+ # Guesses the type of the data which have been inputted into the stream. The
117
+ # returned value is either `BINARY`, `ASCII`, or `UNKNOWN`.
118
+ #
119
+ def data_type: () -> String
120
+
121
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
122
+ # Closes the stream. All operations on the closed stream will raise an
123
+ # exception.
124
+ #
125
+ def end: () -> void
126
+
127
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
128
+ # Returns true if the stream is closed.
129
+ #
130
+ def ended?: () -> bool
131
+
132
+ # <!--
133
+ # rdoc-file=ext/zlib/zlib.c
134
+ # - finish -> String
135
+ # - finish { |chunk| ... } -> nil
136
+ # -->
137
+ # Finishes the stream and flushes output buffer. If a block is given each chunk
138
+ # is yielded to the block until the input buffer has been flushed to the output
139
+ # buffer.
140
+ #
141
+ def finish: () -> String
142
+ | () { (String chunk) -> void } -> void
143
+
144
+ # <!--
145
+ # rdoc-file=ext/zlib/zlib.c
146
+ # - finished?()
147
+ # -->
148
+ # Returns true if the stream is finished.
149
+ #
150
+ def finished?: () -> bool
151
+
152
+ # <!--
153
+ # rdoc-file=ext/zlib/zlib.c
154
+ # - flush_next_in -> input
155
+ # -->
156
+ #
157
+ def flush_next_in: () -> String
158
+
159
+ # <!--
160
+ # rdoc-file=ext/zlib/zlib.c
161
+ # - flush_next_out -> String
162
+ # - flush_next_out { |chunk| ... } -> nil
163
+ # -->
164
+ # Flushes output buffer and returns all data in that buffer. If a block is
165
+ # given each chunk is yielded to the block until the current output buffer has
166
+ # been flushed.
167
+ #
168
+ def flush_next_out: () -> String?
169
+
170
+ # <!--
171
+ # rdoc-file=ext/zlib/zlib.c
172
+ # - reset()
173
+ # -->
174
+ # Resets and initializes the stream. All data in both input and output buffer
175
+ # are discarded.
176
+ #
177
+ def reset: () -> void
178
+
179
+ # <!-- rdoc-file=ext/zlib/zlib.c -->
180
+ # Returns true if the stream is finished.
181
+ #
182
+ def stream_end?: () -> bool
183
+
184
+ # <!--
185
+ # rdoc-file=ext/zlib/zlib.c
186
+ # - total_in()
187
+ # -->
188
+ # Returns the total bytes of the input data to the stream. FIXME
189
+ #
190
+ def total_in: () -> Integer
191
+
192
+ # <!--
193
+ # rdoc-file=ext/zlib/zlib.c
194
+ # - total_out()
195
+ # -->
196
+ # Returns the total bytes of the output data from the stream. FIXME
197
+ #
198
+ def total_out: () -> Integer
199
+ end
200
+ end