rbs 0.9.1 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/rbs/definition.rb +4 -2
- data/lib/rbs/definition_builder.rb +2 -1
- data/lib/rbs/test/hook.rb +1 -0
- data/lib/rbs/test/setup.rb +4 -6
- data/lib/rbs/test/tester.rb +50 -8
- data/lib/rbs/test/type_check.rb +29 -12
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +7 -2
- data/stdlib/zlib/zlib.rbs +392 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29535fcd236ba4d658d2c975b5084aa58b125203c4aaa1ec4704881b92ed89c7
|
4
|
+
data.tar.gz: 71e165ea5cb1ccbf1b48e9683201f6058dc7c95c7a7619865bf26af2cb6485ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 236e10d6a7372a1c9b3c07a343a4620048c3f269f750e74f82539fd819f690475deb52090eec0cf38bc338344d240586f44941339bea7759066f68f90c5a3bdb
|
7
|
+
data.tar.gz: 8ef6ef34e9b39c310f70138135589611c31c8840fdea06eaa606b5004fc5d6634882ddd169b030dd4140645ad9d18c7a4a796a8bba88cd917ea1a69b461efdd1
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
+
## 0.10.0 (2020-08-10)
|
6
|
+
|
7
|
+
* Signature update for `Zlib`
|
8
|
+
* Make "no type checker installed" message a debug print [#363](https://github.com/ruby/rbs/pull/363)
|
9
|
+
* Print `...` for overloading method definitions [#362](https://github.com/ruby/rbs/pull/362)
|
10
|
+
* Allow missing method implementation in Ruby code [#359](https://github.com/ruby/rbs/pull/359)
|
11
|
+
* Runtime testing improvements [#356](https://github.com/ruby/rbs/pull/356)
|
12
|
+
|
5
13
|
## 0.9.1 (2020-08-04)
|
6
14
|
|
7
15
|
* Ensure using Module#name [#354](https://github.com/ruby/rbs/pull/354)
|
data/lib/rbs/definition.rb
CHANGED
@@ -50,11 +50,13 @@ module RBS
|
|
50
50
|
attr_reader :super_method
|
51
51
|
attr_reader :defs
|
52
52
|
attr_reader :accessibility
|
53
|
+
attr_reader :extra_annotations
|
53
54
|
|
54
|
-
def initialize(super_method:, defs:, accessibility:)
|
55
|
+
def initialize(super_method:, defs:, accessibility:, annotations: [])
|
55
56
|
@super_method = super_method
|
56
57
|
@defs = defs
|
57
58
|
@accessibility = accessibility
|
59
|
+
@extra_annotations = annotations
|
58
60
|
end
|
59
61
|
|
60
62
|
def defined_in
|
@@ -74,7 +76,7 @@ module RBS
|
|
74
76
|
end
|
75
77
|
|
76
78
|
def annotations
|
77
|
-
@annotations ||= defs.flat_map(&:annotations)
|
79
|
+
@annotations ||= @extra_annotations + defs.flat_map(&:annotations)
|
78
80
|
end
|
79
81
|
|
80
82
|
# @deprecated
|
data/lib/rbs/test/hook.rb
CHANGED
data/lib/rbs/test/setup.rb
CHANGED
@@ -58,11 +58,9 @@ TracePoint.trace :end do |tp|
|
|
58
58
|
|
59
59
|
if class_name
|
60
60
|
if filter.any? {|f| match(to_absolute_typename(f).to_s, class_name.to_s) } && skips.none? {|f| match(f, class_name.to_s) }
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
tester.install!(tp.self, sample_size: sample_size)
|
65
|
-
end
|
61
|
+
if env.class_decls.key?(class_name)
|
62
|
+
logger.info "Setting up hooks for #{class_name}"
|
63
|
+
tester.install!(tp.self, sample_size: sample_size)
|
66
64
|
end
|
67
65
|
end
|
68
66
|
end
|
@@ -71,7 +69,7 @@ end
|
|
71
69
|
at_exit do
|
72
70
|
if $!.nil? || $!.is_a?(SystemExit) && $!.success?
|
73
71
|
if tester.targets.empty?
|
74
|
-
logger.
|
72
|
+
logger.debug { "No type checker was installed!" }
|
75
73
|
end
|
76
74
|
end
|
77
75
|
end
|
data/lib/rbs/test/tester.rb
CHANGED
@@ -3,10 +3,14 @@ module RBS
|
|
3
3
|
class Tester
|
4
4
|
attr_reader :env
|
5
5
|
attr_reader :targets
|
6
|
+
attr_reader :instance_testers
|
7
|
+
attr_reader :singleton_testers
|
6
8
|
|
7
9
|
def initialize(env:)
|
8
10
|
@env = env
|
9
11
|
@targets = []
|
12
|
+
@instance_testers = {}
|
13
|
+
@singleton_testers = {}
|
10
14
|
end
|
11
15
|
|
12
16
|
def factory
|
@@ -17,6 +21,22 @@ module RBS
|
|
17
21
|
@builder ||= DefinitionBuilder.new(env: env)
|
18
22
|
end
|
19
23
|
|
24
|
+
def skip_method?(type_name, method)
|
25
|
+
if method.implemented_in == type_name
|
26
|
+
if method.annotations.any? {|a| a.string == "rbs:test:skip" }
|
27
|
+
:skip
|
28
|
+
else
|
29
|
+
false
|
30
|
+
end
|
31
|
+
else
|
32
|
+
if method.annotations.any? {|a| a.string == "rbs:test:target" }
|
33
|
+
false
|
34
|
+
else
|
35
|
+
:implemented_in
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
20
40
|
def install!(klass, sample_size:)
|
21
41
|
RBS.logger.info { "Installing runtime type checker in #{klass}..." }
|
22
42
|
|
@@ -24,24 +44,46 @@ module RBS
|
|
24
44
|
|
25
45
|
builder.build_instance(type_name).tap do |definition|
|
26
46
|
instance_key = new_key(type_name, "InstanceChecker")
|
27
|
-
|
47
|
+
tester, set = instance_testers[klass] ||= [
|
48
|
+
MethodCallTester.new(klass, builder, definition, kind: :instance, sample_size: sample_size),
|
49
|
+
Set[]
|
50
|
+
]
|
51
|
+
Observer.register(instance_key, tester)
|
28
52
|
|
29
53
|
definition.methods.each do |name, method|
|
30
|
-
if
|
31
|
-
|
32
|
-
|
54
|
+
if reason = skip_method?(type_name, method)
|
55
|
+
unless reason == :implemented_in
|
56
|
+
RBS.logger.info { "Skipping ##{name} because of `#{reason}`..." }
|
57
|
+
end
|
58
|
+
else
|
59
|
+
if klass.instance_methods(false).include?(name) && !set.include?(name)
|
60
|
+
RBS.logger.info { "Setting up method hook in ##{name}..." }
|
61
|
+
Hook.hook_instance_method klass, name, key: instance_key
|
62
|
+
set << name
|
63
|
+
end
|
33
64
|
end
|
34
65
|
end
|
35
66
|
end
|
36
67
|
|
37
68
|
builder.build_singleton(type_name).tap do |definition|
|
38
69
|
singleton_key = new_key(type_name, "SingletonChecker")
|
39
|
-
|
70
|
+
tester, set = singleton_testers[klass] ||= [
|
71
|
+
MethodCallTester.new(klass.singleton_class, builder, definition, kind: :singleton, sample_size: sample_size),
|
72
|
+
Set[]
|
73
|
+
]
|
74
|
+
Observer.register(singleton_key, tester)
|
40
75
|
|
41
76
|
definition.methods.each do |name, method|
|
42
|
-
if
|
43
|
-
|
44
|
-
|
77
|
+
if reason = skip_method?(type_name, method)
|
78
|
+
unless reason == :implemented_in
|
79
|
+
RBS.logger.info { "Skipping .#{name} because of `#{reason}`..." }
|
80
|
+
end
|
81
|
+
else
|
82
|
+
if klass.methods(false).include?(name) && !set.include?(name)
|
83
|
+
RBS.logger.info { "Setting up method hook in .#{name}..." }
|
84
|
+
Hook.hook_singleton_method klass, name, key: singleton_key
|
85
|
+
set << name
|
86
|
+
end
|
45
87
|
end
|
46
88
|
end
|
47
89
|
end
|
data/lib/rbs/test/type_check.rb
CHANGED
@@ -5,12 +5,15 @@ module RBS
|
|
5
5
|
attr_reader :builder
|
6
6
|
attr_reader :sample_size
|
7
7
|
|
8
|
+
attr_reader :const_cache
|
9
|
+
|
8
10
|
DEFAULT_SAMPLE_SIZE = 100
|
9
11
|
|
10
12
|
def initialize(self_class:, builder:, sample_size:)
|
11
13
|
@self_class = self_class
|
12
14
|
@builder = builder
|
13
15
|
@sample_size = sample_size
|
16
|
+
@const_cache = {}
|
14
17
|
end
|
15
18
|
|
16
19
|
def overloaded_call(method, method_name, call, errors:)
|
@@ -179,8 +182,25 @@ module RBS
|
|
179
182
|
end
|
180
183
|
end
|
181
184
|
|
182
|
-
def
|
183
|
-
|
185
|
+
def each_sample(array, &block)
|
186
|
+
if block
|
187
|
+
if sample_size && array.size > sample_size
|
188
|
+
if sample_size > 0
|
189
|
+
size = array.size
|
190
|
+
sample_size.times do
|
191
|
+
yield array[rand(size)]
|
192
|
+
end
|
193
|
+
end
|
194
|
+
else
|
195
|
+
array.each(&block)
|
196
|
+
end
|
197
|
+
else
|
198
|
+
enum_for :each_sample, array
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def get_class(type_name)
|
203
|
+
const_cache[type_name] ||= Object.const_get(type_name.to_s)
|
184
204
|
end
|
185
205
|
|
186
206
|
def value(val, type)
|
@@ -204,17 +224,14 @@ module RBS
|
|
204
224
|
when Types::Bases::Instance
|
205
225
|
Test.call(val, IS_AP, self_class)
|
206
226
|
when Types::ClassInstance
|
207
|
-
klass =
|
227
|
+
klass = get_class(type.name)
|
208
228
|
case
|
209
229
|
when klass == ::Array
|
210
|
-
Test.call(val, IS_AP, klass) &&
|
211
|
-
val.all? {|v| value(v, type.args[0]) }
|
212
|
-
end
|
230
|
+
Test.call(val, IS_AP, klass) && each_sample(val).all? {|v| value(v, type.args[0]) }
|
213
231
|
when klass == ::Hash
|
214
|
-
Test.call(val, IS_AP, klass) &&
|
215
|
-
|
216
|
-
|
217
|
-
end
|
232
|
+
Test.call(val, IS_AP, klass) && each_sample(val.keys).all? do |key|
|
233
|
+
value(key, type.args[0]) && value(val[key], type.args[1])
|
234
|
+
end
|
218
235
|
when klass == ::Range
|
219
236
|
Test.call(val, IS_AP, klass) && value(val.begin, type.args[0]) && value(val.end, type.args[0])
|
220
237
|
when klass == ::Enumerator
|
@@ -235,7 +252,7 @@ module RBS
|
|
235
252
|
end
|
236
253
|
end
|
237
254
|
|
238
|
-
|
255
|
+
each_sample(values).all? do |v|
|
239
256
|
if v.size == 1
|
240
257
|
# Only one block argument.
|
241
258
|
value(v[0], type.args[0]) || value(v, type.args[0])
|
@@ -253,7 +270,7 @@ module RBS
|
|
253
270
|
Test.call(val, IS_AP, klass)
|
254
271
|
end
|
255
272
|
when Types::ClassSingleton
|
256
|
-
klass =
|
273
|
+
klass = get_class(type.name)
|
257
274
|
val == klass
|
258
275
|
when Types::Interface
|
259
276
|
methods = Set.new(Test.call(val, METHODS))
|
data/lib/rbs/version.rb
CHANGED
data/lib/rbs/writer.rb
CHANGED
@@ -251,8 +251,7 @@ module RBS
|
|
251
251
|
string = ""
|
252
252
|
|
253
253
|
attrs = member.attributes.empty? ? "" : member.attributes.join(" ") + " "
|
254
|
-
|
255
|
-
prefix = "#{overload}#{attrs}def #{name}:"
|
254
|
+
prefix = "#{attrs}def #{name}:"
|
256
255
|
padding = " " * (prefix.size-1)
|
257
256
|
|
258
257
|
string << prefix
|
@@ -266,6 +265,12 @@ module RBS
|
|
266
265
|
string << " #{type}\n"
|
267
266
|
end
|
268
267
|
|
268
|
+
if member.overload
|
269
|
+
string << padding
|
270
|
+
string << "|"
|
271
|
+
string << " ...\n"
|
272
|
+
end
|
273
|
+
|
269
274
|
string.each_line do |line|
|
270
275
|
puts line.chomp
|
271
276
|
end
|
@@ -0,0 +1,392 @@
|
|
1
|
+
# This module provides access to the [zlib library](http://zlib.net). Zlib is
|
2
|
+
# designed to be a portable, free, general-purpose, legally unencumbered -- that
|
3
|
+
# is, not covered by any patents -- lossless data-compression library for use on
|
4
|
+
# virtually any computer hardware and operating system.
|
5
|
+
#
|
6
|
+
# The zlib compression library provides in-memory compression and decompression
|
7
|
+
# functions, including integrity checks of the uncompressed data.
|
8
|
+
#
|
9
|
+
# The zlib compressed data format is described in RFC 1950, which is a wrapper
|
10
|
+
# around a deflate stream which is described in RFC 1951.
|
11
|
+
#
|
12
|
+
# The library also supports reading and writing files in gzip (.gz) format with
|
13
|
+
# an interface similar to that of IO. The gzip format is described in RFC 1952
|
14
|
+
# which is also a wrapper around a deflate stream.
|
15
|
+
#
|
16
|
+
# The zlib format was designed to be compact and fast for use in memory and on
|
17
|
+
# communications channels. The gzip format was designed for single-file
|
18
|
+
# compression on file systems, has a larger header than zlib to maintain
|
19
|
+
# directory information, and uses a different, slower check method than zlib.
|
20
|
+
#
|
21
|
+
# See your system's zlib.h for further information about zlib
|
22
|
+
#
|
23
|
+
# ## Sample usage
|
24
|
+
#
|
25
|
+
# Using the wrapper to compress strings with default parameters is quite simple:
|
26
|
+
#
|
27
|
+
# require "zlib"
|
28
|
+
#
|
29
|
+
# data_to_compress = File.read("don_quixote.txt")
|
30
|
+
#
|
31
|
+
# puts "Input size: #{data_to_compress.size}"
|
32
|
+
# #=> Input size: 2347740
|
33
|
+
#
|
34
|
+
# data_compressed = Zlib::Deflate.deflate(data_to_compress)
|
35
|
+
#
|
36
|
+
# puts "Compressed size: #{data_compressed.size}"
|
37
|
+
# #=> Compressed size: 887238
|
38
|
+
#
|
39
|
+
# uncompressed_data = Zlib::Inflate.inflate(data_compressed)
|
40
|
+
#
|
41
|
+
# puts "Uncompressed data is: #{uncompressed_data}"
|
42
|
+
# #=> Uncompressed data is: The Project Gutenberg EBook of Don Quixote...
|
43
|
+
#
|
44
|
+
# ## Class tree
|
45
|
+
#
|
46
|
+
# * Zlib::Deflate
|
47
|
+
# * Zlib::Inflate
|
48
|
+
# * Zlib::ZStream
|
49
|
+
# * Zlib::Error
|
50
|
+
# * Zlib::StreamEnd
|
51
|
+
# * Zlib::NeedDict
|
52
|
+
# * Zlib::DataError
|
53
|
+
# * Zlib::StreamError
|
54
|
+
# * Zlib::MemError
|
55
|
+
# * Zlib::BufError
|
56
|
+
# * Zlib::VersionError
|
57
|
+
#
|
58
|
+
#
|
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
|
+
#
|
70
|
+
#
|
71
|
+
module Zlib
|
72
|
+
# Calculates Adler-32 checksum for `string`, and returns updated value of
|
73
|
+
# `adler`. If `string` is omitted, it returns the Adler-32 initial value. If
|
74
|
+
# `adler` is omitted, it assumes that the initial value is given to `adler`.
|
75
|
+
#
|
76
|
+
# Example usage:
|
77
|
+
#
|
78
|
+
# require "zlib"
|
79
|
+
#
|
80
|
+
# data = "foo"
|
81
|
+
# puts "Adler32 checksum: #{Zlib.adler32(data).to_s(16)}"
|
82
|
+
# #=> Adler32 checksum: 2820145
|
83
|
+
#
|
84
|
+
def self.adler32: () -> Integer
|
85
|
+
| (String) -> Integer
|
86
|
+
| (String, Integer) -> Integer
|
87
|
+
|
88
|
+
# Combine two Adler-32 check values in to one. `alder1` is the first Adler-32
|
89
|
+
# value, `adler2` is the second Adler-32 value. `len2` is the length of the
|
90
|
+
# string used to generate `adler2`.
|
91
|
+
#
|
92
|
+
def self.adler32_combine: (Integer, Integer, Integer) -> Integer
|
93
|
+
|
94
|
+
# Calculates CRC checksum for `string`, and returns updated value of `crc`. If
|
95
|
+
# `string` is omitted, it returns the CRC initial value. If `crc` is omitted, it
|
96
|
+
# assumes that the initial value is given to `crc`.
|
97
|
+
#
|
98
|
+
# FIXME: expression.
|
99
|
+
#
|
100
|
+
def self.crc32: () -> Integer
|
101
|
+
| (String) -> Integer
|
102
|
+
| (String, Integer) -> Integer
|
103
|
+
|
104
|
+
# Combine two CRC-32 check values in to one. `crc1` is the first CRC-32 value,
|
105
|
+
# `crc2` is the second CRC-32 value. `len2` is the length of the string used to
|
106
|
+
# generate `crc2`.
|
107
|
+
#
|
108
|
+
def self.crc32_combine: (Integer, Integer, Integer) -> Integer
|
109
|
+
|
110
|
+
# Returns the table for calculating CRC checksum as an array.
|
111
|
+
#
|
112
|
+
def self.crc_table: () -> Array[Integer]
|
113
|
+
|
114
|
+
# Compresses the given `string`. Valid values of level are Zlib::NO_COMPRESSION,
|
115
|
+
# Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION, or an
|
116
|
+
# integer from 0 to 9.
|
117
|
+
#
|
118
|
+
# This method is almost equivalent to the following code:
|
119
|
+
#
|
120
|
+
# def deflate(string, level)
|
121
|
+
# z = Zlib::Deflate.new(level)
|
122
|
+
# dst = z.deflate(string, Zlib::FINISH)
|
123
|
+
# z.close
|
124
|
+
# dst
|
125
|
+
# end
|
126
|
+
#
|
127
|
+
# See also Zlib.inflate
|
128
|
+
#
|
129
|
+
def self.deflate: (String) -> String
|
130
|
+
| (String, Integer) -> String
|
131
|
+
# Decode the given gzipped `string`.
|
132
|
+
#
|
133
|
+
# This method is almost equivalent to the following code:
|
134
|
+
#
|
135
|
+
# def gunzip(string)
|
136
|
+
# sio = StringIO.new(string)
|
137
|
+
# gz = Zlib::GzipReader.new(sio, encoding: Encoding::ASCII_8BIT)
|
138
|
+
# gz.read
|
139
|
+
# ensure
|
140
|
+
# gz&.close
|
141
|
+
# end
|
142
|
+
#
|
143
|
+
# See also Zlib.gzip
|
144
|
+
#
|
145
|
+
def self.gunzip: (String) -> String
|
146
|
+
|
147
|
+
# Gzip the given `string`. Valid values of level are Zlib::NO_COMPRESSION,
|
148
|
+
# Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION (default),
|
149
|
+
# or an integer from 0 to 9.
|
150
|
+
#
|
151
|
+
# This method is almost equivalent to the following code:
|
152
|
+
#
|
153
|
+
# def gzip(string, level: nil, strategy: nil)
|
154
|
+
# sio = StringIO.new
|
155
|
+
# sio.binmode
|
156
|
+
# gz = Zlib::GzipWriter.new(sio, level, strategy)
|
157
|
+
# gz.write(string)
|
158
|
+
# gz.close
|
159
|
+
# sio.string
|
160
|
+
# end
|
161
|
+
#
|
162
|
+
# See also Zlib.gunzip
|
163
|
+
#
|
164
|
+
def self.gzip: (String) -> String
|
165
|
+
| (String, level: Integer) -> String
|
166
|
+
| (String, strategy: Integer) -> String
|
167
|
+
| (String, level: Integer, strategy: Integer) -> String
|
168
|
+
# Decompresses `string`. Raises a Zlib::NeedDict exception if a preset
|
169
|
+
# dictionary is needed for decompression.
|
170
|
+
#
|
171
|
+
# This method is almost equivalent to the following code:
|
172
|
+
#
|
173
|
+
# def inflate(string)
|
174
|
+
# zstream = Zlib::Inflate.new
|
175
|
+
# buf = zstream.inflate(string)
|
176
|
+
# zstream.finish
|
177
|
+
# zstream.close
|
178
|
+
# buf
|
179
|
+
# end
|
180
|
+
#
|
181
|
+
# See also Zlib.deflate
|
182
|
+
#
|
183
|
+
def self.inflate: (String) -> String
|
184
|
+
|
185
|
+
# Returns the string which represents the version of zlib library.
|
186
|
+
#
|
187
|
+
def self.zlib_version: () -> String
|
188
|
+
end
|
189
|
+
|
190
|
+
# Represents text data as guessed by deflate.
|
191
|
+
#
|
192
|
+
# NOTE: The underlying constant Z_ASCII was deprecated in favor of Z_TEXT in
|
193
|
+
# zlib 1.2.2. New applications should not use this constant.
|
194
|
+
#
|
195
|
+
# See Zlib::Deflate#data_type.
|
196
|
+
#
|
197
|
+
#
|
198
|
+
Zlib::ASCII: Integer
|
199
|
+
|
200
|
+
# Slowest compression level, but with the best space savings.
|
201
|
+
#
|
202
|
+
#
|
203
|
+
Zlib::BEST_COMPRESSION: Integer
|
204
|
+
|
205
|
+
# Fastest compression level, but with the lowest space savings.
|
206
|
+
#
|
207
|
+
#
|
208
|
+
Zlib::BEST_SPEED: Integer
|
209
|
+
|
210
|
+
# Represents binary data as guessed by deflate.
|
211
|
+
#
|
212
|
+
# See Zlib::Deflate#data_type.
|
213
|
+
#
|
214
|
+
#
|
215
|
+
Zlib::BINARY: Integer
|
216
|
+
|
217
|
+
# Default compression level which is a good trade-off between space and time
|
218
|
+
#
|
219
|
+
Zlib::DEFAULT_COMPRESSION: Integer
|
220
|
+
|
221
|
+
# Default deflate strategy which is used for normal data.
|
222
|
+
#
|
223
|
+
#
|
224
|
+
Zlib::DEFAULT_STRATEGY: Integer
|
225
|
+
|
226
|
+
# The default memory level for allocating zlib deflate compression state.
|
227
|
+
#
|
228
|
+
Zlib::DEF_MEM_LEVEL: Integer
|
229
|
+
|
230
|
+
# Deflate strategy for data produced by a filter (or predictor). The effect of
|
231
|
+
# FILTERED is to force more Huffman codes and less string matching; it is
|
232
|
+
# somewhat intermediate between DEFAULT_STRATEGY and HUFFMAN_ONLY. Filtered data
|
233
|
+
# consists mostly of small values with a somewhat random distribution.
|
234
|
+
#
|
235
|
+
Zlib::FILTERED: Integer
|
236
|
+
|
237
|
+
# Processes all pending input and flushes pending output.
|
238
|
+
#
|
239
|
+
#
|
240
|
+
Zlib::FINISH: Integer
|
241
|
+
|
242
|
+
# Deflate strategy which prevents the use of dynamic Huffman codes, allowing for
|
243
|
+
# a simpler decoder for specialized applications.
|
244
|
+
#
|
245
|
+
Zlib::FIXED: Integer
|
246
|
+
|
247
|
+
# Flushes all output as with SYNC_FLUSH, and the compression state is reset so
|
248
|
+
# that decompression can restart from this point if previous compressed data has
|
249
|
+
# been damaged or if random access is desired. Like SYNC_FLUSH, using FULL_FLUSH
|
250
|
+
# too often can seriously degrade compression.
|
251
|
+
#
|
252
|
+
Zlib::FULL_FLUSH: Integer
|
253
|
+
|
254
|
+
# Deflate strategy which uses Huffman codes only (no string matching).
|
255
|
+
#
|
256
|
+
#
|
257
|
+
Zlib::HUFFMAN_ONLY: Integer
|
258
|
+
|
259
|
+
# The maximum memory level for allocating zlib deflate compression state.
|
260
|
+
#
|
261
|
+
Zlib::MAX_MEM_LEVEL: Integer
|
262
|
+
|
263
|
+
# The maximum size of the zlib history buffer. Note that zlib allows larger
|
264
|
+
# values to enable different inflate modes. See Zlib::Inflate.new for details.
|
265
|
+
#
|
266
|
+
Zlib::MAX_WBITS: Integer
|
267
|
+
|
268
|
+
# No compression, passes through data untouched. Use this for appending
|
269
|
+
# pre-compressed data to a deflate stream.
|
270
|
+
#
|
271
|
+
Zlib::NO_COMPRESSION: Integer
|
272
|
+
|
273
|
+
# NO_FLUSH is the default flush method and allows deflate to decide how much
|
274
|
+
# data to accumulate before producing output in order to maximize compression.
|
275
|
+
#
|
276
|
+
Zlib::NO_FLUSH: Integer
|
277
|
+
|
278
|
+
# OS code for Amiga hosts
|
279
|
+
#
|
280
|
+
#
|
281
|
+
Zlib::OS_AMIGA: Integer
|
282
|
+
|
283
|
+
# OS code for Atari hosts
|
284
|
+
#
|
285
|
+
#
|
286
|
+
Zlib::OS_ATARI: Integer
|
287
|
+
|
288
|
+
# The OS code of current host
|
289
|
+
#
|
290
|
+
#
|
291
|
+
Zlib::OS_CODE: Integer
|
292
|
+
|
293
|
+
# OS code for CP/M hosts
|
294
|
+
#
|
295
|
+
#
|
296
|
+
Zlib::OS_CPM: Integer
|
297
|
+
|
298
|
+
# OS code for Mac OS hosts
|
299
|
+
#
|
300
|
+
#
|
301
|
+
Zlib::OS_MACOS: Integer
|
302
|
+
|
303
|
+
# OS code for MSDOS hosts
|
304
|
+
#
|
305
|
+
#
|
306
|
+
Zlib::OS_MSDOS: Integer
|
307
|
+
|
308
|
+
# OS code for OS2 hosts
|
309
|
+
#
|
310
|
+
#
|
311
|
+
Zlib::OS_OS2: Integer
|
312
|
+
|
313
|
+
# OS code for QDOS hosts
|
314
|
+
#
|
315
|
+
#
|
316
|
+
Zlib::OS_QDOS: Integer
|
317
|
+
|
318
|
+
# OS code for RISC OS hosts
|
319
|
+
#
|
320
|
+
#
|
321
|
+
Zlib::OS_RISCOS: Integer
|
322
|
+
|
323
|
+
# OS code for TOPS-20 hosts
|
324
|
+
#
|
325
|
+
#
|
326
|
+
Zlib::OS_TOPS20: Integer
|
327
|
+
|
328
|
+
# OS code for UNIX hosts
|
329
|
+
#
|
330
|
+
#
|
331
|
+
Zlib::OS_UNIX: Integer
|
332
|
+
|
333
|
+
# OS code for unknown hosts
|
334
|
+
#
|
335
|
+
#
|
336
|
+
Zlib::OS_UNKNOWN: Integer
|
337
|
+
|
338
|
+
# OS code for VM OS hosts
|
339
|
+
#
|
340
|
+
#
|
341
|
+
Zlib::OS_VMCMS: Integer
|
342
|
+
|
343
|
+
# OS code for VMS hosts
|
344
|
+
#
|
345
|
+
#
|
346
|
+
Zlib::OS_VMS: Integer
|
347
|
+
|
348
|
+
# OS code for Win32 hosts
|
349
|
+
#
|
350
|
+
#
|
351
|
+
Zlib::OS_WIN32: Integer
|
352
|
+
|
353
|
+
# OS code for Z-System hosts
|
354
|
+
#
|
355
|
+
#
|
356
|
+
Zlib::OS_ZSYSTEM: Integer
|
357
|
+
|
358
|
+
# Deflate compression strategy designed to be almost as fast as HUFFMAN_ONLY,
|
359
|
+
# but give better compression for PNG image data.
|
360
|
+
#
|
361
|
+
Zlib::RLE: Integer
|
362
|
+
|
363
|
+
# The SYNC_FLUSH method flushes all pending output to the output buffer and the
|
364
|
+
# output is aligned on a byte boundary. Flushing may degrade compression so it
|
365
|
+
# should be used only when necessary, such as at a request or response boundary
|
366
|
+
# for a network stream.
|
367
|
+
#
|
368
|
+
Zlib::SYNC_FLUSH: Integer
|
369
|
+
|
370
|
+
# Represents text data as guessed by deflate.
|
371
|
+
#
|
372
|
+
# See Zlib::Deflate#data_type.
|
373
|
+
#
|
374
|
+
#
|
375
|
+
Zlib::TEXT: Integer
|
376
|
+
|
377
|
+
# Represents an unknown data type as guessed by deflate.
|
378
|
+
#
|
379
|
+
# See Zlib::Deflate#data_type.
|
380
|
+
#
|
381
|
+
#
|
382
|
+
Zlib::UNKNOWN: Integer
|
383
|
+
|
384
|
+
# The Ruby/zlib version string.
|
385
|
+
#
|
386
|
+
#
|
387
|
+
Zlib::VERSION: String
|
388
|
+
|
389
|
+
# The string which represents the version of zlib.h
|
390
|
+
#
|
391
|
+
#
|
392
|
+
Zlib::ZLIB_VERSION: String
|
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: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-10 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.
|
@@ -174,6 +174,7 @@ files:
|
|
174
174
|
- stdlib/securerandom/securerandom.rbs
|
175
175
|
- stdlib/set/set.rbs
|
176
176
|
- stdlib/tmpdir/tmpdir.rbs
|
177
|
+
- stdlib/zlib/zlib.rbs
|
177
178
|
homepage: https://github.com/ruby/rbs
|
178
179
|
licenses:
|
179
180
|
- BSD-2-Clause
|