rbs 3.1.3 → 3.2.0.pre.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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +0 -6
- data/CHANGELOG.md +68 -0
- data/Gemfile +0 -6
- data/Gemfile.lock +12 -21
- data/README.md +1 -1
- data/Rakefile +44 -0
- data/Steepfile +3 -3
- data/core/array.rbs +0 -8
- data/core/builtin.rbs +28 -8
- data/core/constants.rbs +13 -5
- data/core/exception.rbs +1 -1
- data/core/global_variables.rbs +27 -27
- data/core/io.rbs +163 -172
- data/core/kernel.rbs +7 -4
- data/core/module.rbs +34 -32
- data/core/object.rbs +2 -2
- data/core/string_io.rbs +9 -0
- data/core/thread.rbs +25 -1
- data/core/time.rbs +3 -3
- data/docs/CONTRIBUTING.md +1 -1
- data/docs/rbs_by_example.md +16 -35
- data/docs/repo.md +1 -1
- data/docs/sigs.md +7 -7
- data/docs/stdlib.md +2 -3
- data/docs/syntax.md +40 -40
- data/lib/rbs/cli.rb +15 -4
- data/lib/rbs/collection/installer.rb +5 -2
- data/lib/rbs/collection/sources/stdlib.rb +5 -1
- data/lib/rbs/errors.rb +8 -1
- data/lib/rbs/file_finder.rb +1 -1
- data/lib/rbs/prototype/rb.rb +64 -6
- data/lib/rbs/prototype/rbi.rb +2 -6
- data/lib/rbs/prototype/runtime.rb +29 -8
- data/lib/rbs/subtractor.rb +17 -0
- data/lib/rbs/type_name.rb +4 -4
- data/lib/rbs/version.rb +1 -1
- data/rbs.gemspec +1 -1
- data/schema/decls.json +1 -1
- data/sig/errors.rbs +54 -0
- data/sig/parser.rbs +2 -2
- data/sig/prototype/rb.rbs +9 -1
- data/sig/subtractor.rbs +4 -0
- data/stdlib/logger/0/logger.rbs +1 -1
- data/stdlib/observable/0/observable.rbs +219 -0
- data/stdlib/uri/0/common.rbs +24 -0
- data/stdlib/zlib/0/buf_error.rbs +79 -0
- data/stdlib/zlib/0/data_error.rbs +79 -0
- data/stdlib/zlib/0/deflate.rbs +276 -0
- data/stdlib/zlib/0/error.rbs +89 -0
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +115 -0
- data/stdlib/zlib/0/gzip_file/error.rbs +128 -0
- data/stdlib/zlib/0/gzip_file/length_error.rbs +115 -0
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +114 -0
- data/stdlib/zlib/0/gzip_file.rbs +228 -0
- data/stdlib/zlib/0/gzip_reader.rbs +362 -0
- data/stdlib/zlib/0/gzip_writer.rbs +237 -0
- data/stdlib/zlib/0/inflate.rbs +249 -0
- data/stdlib/zlib/0/mem_error.rbs +79 -0
- data/stdlib/zlib/0/need_dict.rbs +82 -0
- data/stdlib/zlib/0/stream_end.rbs +80 -0
- data/stdlib/zlib/0/stream_error.rbs +80 -0
- data/stdlib/zlib/0/version_error.rbs +80 -0
- data/stdlib/zlib/0/zstream.rbs +270 -0
- metadata +24 -8
- data/stdlib/prime/0/integer-extension.rbs +0 -41
- data/stdlib/prime/0/manifest.yaml +0 -2
- data/stdlib/prime/0/prime.rbs +0 -372
@@ -0,0 +1,270 @@
|
|
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
|
+
#
|
61
|
+
#
|
62
|
+
# (if you have GZIP_SUPPORT)
|
63
|
+
# * Zlib::GzipReader
|
64
|
+
# * Zlib::GzipWriter
|
65
|
+
# * Zlib::GzipFile
|
66
|
+
# * Zlib::GzipFile::Error
|
67
|
+
# * Zlib::GzipFile::LengthError
|
68
|
+
# * Zlib::GzipFile::CRCError
|
69
|
+
# * Zlib::GzipFile::NoFooter
|
70
|
+
#
|
71
|
+
module Zlib
|
72
|
+
# <!-- rdoc-file=ext/zlib/zlib.c -->
|
73
|
+
# Zlib::ZStream is the abstract class for the stream which handles the
|
74
|
+
# compressed data. The operations are defined in the subclasses: Zlib::Deflate
|
75
|
+
# for compression, and Zlib::Inflate for decompression.
|
76
|
+
#
|
77
|
+
# An instance of Zlib::ZStream has one stream (struct zstream in the source) and
|
78
|
+
# two variable-length buffers which associated to the input (next_in) of the
|
79
|
+
# stream and the output (next_out) of the stream. In this document, "input
|
80
|
+
# buffer" means the buffer for input, and "output buffer" means the buffer for
|
81
|
+
# output.
|
82
|
+
#
|
83
|
+
# Data input into an instance of Zlib::ZStream are temporally stored into the
|
84
|
+
# end of input buffer, and then data in input buffer are processed from the
|
85
|
+
# beginning of the buffer until no more output from the stream is produced (i.e.
|
86
|
+
# until avail_out > 0 after processing). During processing, output buffer is
|
87
|
+
# allocated and expanded automatically to hold all output data.
|
88
|
+
#
|
89
|
+
# Some particular instance methods consume the data in output buffer and return
|
90
|
+
# them as a String.
|
91
|
+
#
|
92
|
+
# Here is an ascii art for describing above:
|
93
|
+
#
|
94
|
+
# +================ an instance of Zlib::ZStream ================+
|
95
|
+
# || ||
|
96
|
+
# || +--------+ +-------+ +--------+ ||
|
97
|
+
# || +--| output |<---------|zstream|<---------| input |<--+ ||
|
98
|
+
# || | | buffer | next_out+-------+next_in | buffer | | ||
|
99
|
+
# || | +--------+ +--------+ | ||
|
100
|
+
# || | | ||
|
101
|
+
# +===|======================================================|===+
|
102
|
+
# | |
|
103
|
+
# v |
|
104
|
+
# "output data" "input data"
|
105
|
+
#
|
106
|
+
# If an error occurs during processing input buffer, an exception which is a
|
107
|
+
# subclass of Zlib::Error is raised. At that time, both input and output buffer
|
108
|
+
# keep their conditions at the time when the error occurs.
|
109
|
+
#
|
110
|
+
# ## Method Catalogue
|
111
|
+
#
|
112
|
+
# Many of the methods in this class are fairly low-level and unlikely to be of
|
113
|
+
# interest to users. In fact, users are unlikely to use this class directly;
|
114
|
+
# rather they will be interested in Zlib::Inflate and Zlib::Deflate.
|
115
|
+
#
|
116
|
+
# The higher level methods are listed below.
|
117
|
+
#
|
118
|
+
# * #total_in
|
119
|
+
# * #total_out
|
120
|
+
# * #data_type
|
121
|
+
# * #adler
|
122
|
+
# * #reset
|
123
|
+
# * #finish
|
124
|
+
# * #finished?
|
125
|
+
# * #close
|
126
|
+
# * #closed?
|
127
|
+
#
|
128
|
+
class ZStream
|
129
|
+
public
|
130
|
+
|
131
|
+
# <!--
|
132
|
+
# rdoc-file=ext/zlib/zlib.c
|
133
|
+
# - adler()
|
134
|
+
# -->
|
135
|
+
# Returns the adler-32 checksum.
|
136
|
+
#
|
137
|
+
def adler: () -> Integer
|
138
|
+
|
139
|
+
# <!--
|
140
|
+
# rdoc-file=ext/zlib/zlib.c
|
141
|
+
# - avail_in()
|
142
|
+
# -->
|
143
|
+
# Returns bytes of data in the input buffer. Normally, returns 0.
|
144
|
+
#
|
145
|
+
def avail_in: () -> Integer
|
146
|
+
|
147
|
+
# <!--
|
148
|
+
# rdoc-file=ext/zlib/zlib.c
|
149
|
+
# - avail_out()
|
150
|
+
# -->
|
151
|
+
# Returns number of bytes of free spaces in output buffer. Because the free
|
152
|
+
# space is allocated automatically, this method returns 0 normally.
|
153
|
+
#
|
154
|
+
def avail_out: () -> Integer
|
155
|
+
|
156
|
+
# <!--
|
157
|
+
# rdoc-file=ext/zlib/zlib.c
|
158
|
+
# - avail_out=(p1)
|
159
|
+
# -->
|
160
|
+
# Allocates `size` bytes of free space in the output buffer. If there are more
|
161
|
+
# than `size` bytes already in the buffer, the buffer is truncated. Because free
|
162
|
+
# space is allocated automatically, you usually don't need to use this method.
|
163
|
+
#
|
164
|
+
def avail_out=: (Integer p1) -> void
|
165
|
+
|
166
|
+
# <!--
|
167
|
+
# rdoc-file=ext/zlib/zlib.c
|
168
|
+
# - close()
|
169
|
+
# -->
|
170
|
+
# Closes the stream. All operations on the closed stream will raise an
|
171
|
+
# exception.
|
172
|
+
#
|
173
|
+
def close: () -> void
|
174
|
+
|
175
|
+
# <!--
|
176
|
+
# rdoc-file=ext/zlib/zlib.c
|
177
|
+
# - closed?()
|
178
|
+
# -->
|
179
|
+
# Returns true if the stream is closed.
|
180
|
+
#
|
181
|
+
def closed?: () -> bool
|
182
|
+
|
183
|
+
# <!--
|
184
|
+
# rdoc-file=ext/zlib/zlib.c
|
185
|
+
# - data_type()
|
186
|
+
# -->
|
187
|
+
# Guesses the type of the data which have been inputed into the stream. The
|
188
|
+
# returned value is either `BINARY`, `ASCII`, or `UNKNOWN`.
|
189
|
+
#
|
190
|
+
def data_type: () -> String
|
191
|
+
|
192
|
+
# <!-- rdoc-file=ext/zlib/zlib.c -->
|
193
|
+
# Closes the stream. All operations on the closed stream will raise an
|
194
|
+
# exception.
|
195
|
+
#
|
196
|
+
def end: () -> void
|
197
|
+
|
198
|
+
# <!-- rdoc-file=ext/zlib/zlib.c -->
|
199
|
+
# Returns true if the stream is closed.
|
200
|
+
#
|
201
|
+
def ended?: () -> bool
|
202
|
+
|
203
|
+
# <!--
|
204
|
+
# rdoc-file=ext/zlib/zlib.c
|
205
|
+
# - finish -> String
|
206
|
+
# - finish { |chunk| ... } -> nil
|
207
|
+
# -->
|
208
|
+
# Finishes the stream and flushes output buffer. If a block is given each chunk
|
209
|
+
# is yielded to the block until the input buffer has been flushed to the output
|
210
|
+
# buffer.
|
211
|
+
#
|
212
|
+
def finish: () -> void
|
213
|
+
|
214
|
+
# <!--
|
215
|
+
# rdoc-file=ext/zlib/zlib.c
|
216
|
+
# - finished?()
|
217
|
+
# -->
|
218
|
+
# Returns true if the stream is finished.
|
219
|
+
#
|
220
|
+
def finished?: () -> bool
|
221
|
+
|
222
|
+
# <!--
|
223
|
+
# rdoc-file=ext/zlib/zlib.c
|
224
|
+
# - flush_next_in -> input
|
225
|
+
# -->
|
226
|
+
#
|
227
|
+
def flush_next_in: () -> String
|
228
|
+
|
229
|
+
# <!--
|
230
|
+
# rdoc-file=ext/zlib/zlib.c
|
231
|
+
# - flush_next_out -> String
|
232
|
+
# - flush_next_out { |chunk| ... } -> nil
|
233
|
+
# -->
|
234
|
+
# Flushes output buffer and returns all data in that buffer. If a block is
|
235
|
+
# given each chunk is yielded to the block until the current output buffer has
|
236
|
+
# been flushed.
|
237
|
+
#
|
238
|
+
def flush_next_out: () -> String?
|
239
|
+
|
240
|
+
# <!--
|
241
|
+
# rdoc-file=ext/zlib/zlib.c
|
242
|
+
# - reset()
|
243
|
+
# -->
|
244
|
+
# Resets and initializes the stream. All data in both input and output buffer
|
245
|
+
# are discarded.
|
246
|
+
#
|
247
|
+
def reset: () -> void
|
248
|
+
|
249
|
+
# <!-- rdoc-file=ext/zlib/zlib.c -->
|
250
|
+
# Returns true if the stream is finished.
|
251
|
+
#
|
252
|
+
def stream_end?: () -> bool
|
253
|
+
|
254
|
+
# <!--
|
255
|
+
# rdoc-file=ext/zlib/zlib.c
|
256
|
+
# - total_in()
|
257
|
+
# -->
|
258
|
+
# Returns the total bytes of the input data to the stream. FIXME
|
259
|
+
#
|
260
|
+
def total_in: () -> Integer
|
261
|
+
|
262
|
+
# <!--
|
263
|
+
# rdoc-file=ext/zlib/zlib.c
|
264
|
+
# - total_out()
|
265
|
+
# -->
|
266
|
+
# Returns the total bytes of the output data from the stream. FIXME
|
267
|
+
#
|
268
|
+
def total_out: () -> Integer
|
269
|
+
end
|
270
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1
|
4
|
+
version: 3.2.0.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: RBS is the language for type signatures for Ruby and standard library
|
14
14
|
definitions.
|
@@ -374,14 +374,12 @@ files:
|
|
374
374
|
- stdlib/net-http/0/net-http.rbs
|
375
375
|
- stdlib/nkf/0/nkf.rbs
|
376
376
|
- stdlib/objspace/0/objspace.rbs
|
377
|
+
- stdlib/observable/0/observable.rbs
|
377
378
|
- stdlib/openssl/0/manifest.yaml
|
378
379
|
- stdlib/openssl/0/openssl.rbs
|
379
380
|
- stdlib/optparse/0/optparse.rbs
|
380
381
|
- stdlib/pathname/0/pathname.rbs
|
381
382
|
- stdlib/prettyprint/0/prettyprint.rbs
|
382
|
-
- stdlib/prime/0/integer-extension.rbs
|
383
|
-
- stdlib/prime/0/manifest.yaml
|
384
|
-
- stdlib/prime/0/prime.rbs
|
385
383
|
- stdlib/pstore/0/pstore.rbs
|
386
384
|
- stdlib/pty/0/pty.rbs
|
387
385
|
- stdlib/rdoc/0/rdoc.rbs
|
@@ -427,7 +425,25 @@ files:
|
|
427
425
|
- stdlib/yaml/0/manifest.yaml
|
428
426
|
- stdlib/yaml/0/store.rbs
|
429
427
|
- stdlib/yaml/0/yaml.rbs
|
428
|
+
- stdlib/zlib/0/buf_error.rbs
|
429
|
+
- stdlib/zlib/0/data_error.rbs
|
430
|
+
- stdlib/zlib/0/deflate.rbs
|
431
|
+
- stdlib/zlib/0/error.rbs
|
432
|
+
- stdlib/zlib/0/gzip_file.rbs
|
433
|
+
- stdlib/zlib/0/gzip_file/crc_error.rbs
|
434
|
+
- stdlib/zlib/0/gzip_file/error.rbs
|
435
|
+
- stdlib/zlib/0/gzip_file/length_error.rbs
|
436
|
+
- stdlib/zlib/0/gzip_file/no_footer.rbs
|
437
|
+
- stdlib/zlib/0/gzip_reader.rbs
|
438
|
+
- stdlib/zlib/0/gzip_writer.rbs
|
439
|
+
- stdlib/zlib/0/inflate.rbs
|
440
|
+
- stdlib/zlib/0/mem_error.rbs
|
441
|
+
- stdlib/zlib/0/need_dict.rbs
|
442
|
+
- stdlib/zlib/0/stream_end.rbs
|
443
|
+
- stdlib/zlib/0/stream_error.rbs
|
444
|
+
- stdlib/zlib/0/version_error.rbs
|
430
445
|
- stdlib/zlib/0/zlib.rbs
|
446
|
+
- stdlib/zlib/0/zstream.rbs
|
431
447
|
homepage: https://github.com/ruby/rbs
|
432
448
|
licenses:
|
433
449
|
- BSD-2-Clause
|
@@ -444,12 +460,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
444
460
|
requirements:
|
445
461
|
- - ">="
|
446
462
|
- !ruby/object:Gem::Version
|
447
|
-
version: '
|
463
|
+
version: '3.0'
|
448
464
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
449
465
|
requirements:
|
450
|
-
- - "
|
466
|
+
- - ">"
|
451
467
|
- !ruby/object:Gem::Version
|
452
|
-
version:
|
468
|
+
version: 1.3.1
|
453
469
|
requirements: []
|
454
470
|
rubygems_version: 3.4.10
|
455
471
|
signing_key:
|
@@ -1,41 +0,0 @@
|
|
1
|
-
%a{annotate:rdoc:skip}
|
2
|
-
class Integer
|
3
|
-
# <!--
|
4
|
-
# rdoc-file=lib/prime.rb
|
5
|
-
# - each_prime(ubound) { |prime| ... }
|
6
|
-
# -->
|
7
|
-
# Iterates the given block over all prime numbers.
|
8
|
-
#
|
9
|
-
# See `Prime`#each for more details.
|
10
|
-
#
|
11
|
-
def self.each_prime: (Integer) { (Integer) -> void } -> void
|
12
|
-
|
13
|
-
# <!--
|
14
|
-
# rdoc-file=lib/prime.rb
|
15
|
-
# - from_prime_division(pd)
|
16
|
-
# -->
|
17
|
-
# Re-composes a prime factorization and returns the product.
|
18
|
-
#
|
19
|
-
# See Prime#int_from_prime_division for more details.
|
20
|
-
#
|
21
|
-
def self.from_prime_division: (Array[[ String ]]) -> Integer
|
22
|
-
|
23
|
-
# <!--
|
24
|
-
# rdoc-file=lib/prime.rb
|
25
|
-
# - prime_division(generator = Prime::Generator23.new)
|
26
|
-
# -->
|
27
|
-
# Returns the factorization of `self`.
|
28
|
-
#
|
29
|
-
# See Prime#prime_division for more details.
|
30
|
-
#
|
31
|
-
def prime_division: (?Prime::PseudoPrimeGenerator) -> Array[[ Integer, Integer ]]
|
32
|
-
|
33
|
-
# <!--
|
34
|
-
# rdoc-file=lib/prime.rb
|
35
|
-
# - prime?()
|
36
|
-
# -->
|
37
|
-
# Returns true if `self` is a prime number, else returns false. Not recommended
|
38
|
-
# for very big integers (> 10**23).
|
39
|
-
#
|
40
|
-
def prime?: () -> bool
|
41
|
-
end
|