u-struct 0.11.0 → 1.1.0
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/ci.yml +5 -5
- data/.rubocop.yml +129 -0
- data/.rubocop_todo.yml +10 -0
- data/.tool-versions +1 -0
- data/CHANGELOG.md +558 -13
- data/Gemfile +14 -3
- data/README.md +682 -16
- data/Rakefile +5 -5
- data/bin/console +3 -3
- data/bin/prepare_coverage +7 -9
- data/bin/run_ci +17 -0
- data/bin/tapioca +28 -0
- data/examples/rgb/number.rb +1 -1
- data/examples/rgb_1.rb +7 -6
- data/examples/rgb_2.rb +2 -2
- data/examples/rgb_3.rb +1 -1
- data/lib/micro/struct/factory/create_struct.rb +95 -69
- data/lib/micro/struct/factory/members.rb +1 -0
- data/lib/micro/struct/factory.rb +13 -4
- data/lib/micro/struct/features.rb +35 -16
- data/lib/micro/struct/normalize_names.rb +4 -3
- data/lib/micro/struct/version.rb +2 -1
- data/lib/micro/struct.rb +37 -5
- data/lib/u-struct.rb +2 -0
- data/rbi/micro/struct/factory/create_struct.rbi +60 -0
- data/rbi/micro/struct/factory/members.rbi +67 -0
- data/rbi/micro/struct/factory.rbi +41 -0
- data/rbi/micro/struct/features.rbi +41 -0
- data/rbi/micro/struct/normalize_names.rbi +20 -0
- data/rbi/micro/struct/version.rbi +3 -0
- data/rbi/micro/struct.rbi +68 -0
- data/sorbet/config +8 -0
- data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
- data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +11 -0
- data/sorbet/rbi/gems/docile@1.4.0.rbi +54 -0
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
- data/sorbet/rbi/gems/minitest@5.15.0.rbi +345 -0
- data/sorbet/rbi/gems/parser@3.1.0.0.rbi +1196 -0
- data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
- data/sorbet/rbi/gems/rake@13.0.6.rbi +806 -0
- data/sorbet/rbi/gems/rbi@0.0.9.rbi +1602 -0
- data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
- data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
- data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +8 -0
- data/sorbet/rbi/gems/spoom@1.1.8.rbi +1252 -0
- data/sorbet/rbi/gems/tapioca@0.6.2.rbi +1232 -0
- data/sorbet/rbi/gems/thor@1.2.1.rbi +844 -0
- data/sorbet/rbi/gems/unparser@0.6.3.rbi +8 -0
- data/sorbet/rbi/gems/webrick@1.7.0.rbi +601 -0
- data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +199 -0
- data/sorbet/rbi/gems/yard@0.9.27.rbi +4112 -0
- data/sorbet/tapioca/config.yml +13 -0
- data/sorbet/tapioca/require.rb +4 -0
- data/u-struct.gemspec +3 -3
- metadata +38 -4
- data/bin/test +0 -8
@@ -0,0 +1,199 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `yard-sorbet` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem yard-sorbet`.
|
6
|
+
|
7
|
+
module YARDSorbet; end
|
8
|
+
|
9
|
+
module YARDSorbet::Directives
|
10
|
+
class << self
|
11
|
+
sig { params(docstring: String, directives: T::Array[String]).void }
|
12
|
+
def add_directives(docstring, directives); end
|
13
|
+
|
14
|
+
sig { params(docstring: T.nilable(String)).returns([YARD::Docstring, T::Array[String]]) }
|
15
|
+
def extract_directives(docstring); end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
module YARDSorbet::Handlers; end
|
20
|
+
|
21
|
+
class YARDSorbet::Handlers::AbstractDSLHandler < ::YARD::Handlers::Ruby::Base
|
22
|
+
sig { void }
|
23
|
+
def process; end
|
24
|
+
end
|
25
|
+
|
26
|
+
YARDSorbet::Handlers::AbstractDSLHandler::CLASS_TAG_TEXT = T.let(T.unsafe(nil), String)
|
27
|
+
YARDSorbet::Handlers::AbstractDSLHandler::TAG_TEXT = T.let(T.unsafe(nil), String)
|
28
|
+
|
29
|
+
class YARDSorbet::Handlers::EnumsHandler < ::YARD::Handlers::Ruby::Base
|
30
|
+
sig { void }
|
31
|
+
def process; end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Boolean) }
|
36
|
+
def const_assign_node?(node); end
|
37
|
+
end
|
38
|
+
|
39
|
+
class YARDSorbet::Handlers::IncludeHandler < ::YARD::Handlers::Ruby::Base
|
40
|
+
sig { void }
|
41
|
+
def process; end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
sig { returns(YARD::CodeObjects::NamespaceObject) }
|
46
|
+
def included_in; end
|
47
|
+
end
|
48
|
+
|
49
|
+
class YARDSorbet::Handlers::MixesInClassMethodsHandler < ::YARD::Handlers::Ruby::Base
|
50
|
+
sig { void }
|
51
|
+
def process; end
|
52
|
+
|
53
|
+
class << self
|
54
|
+
sig { params(code_obj: String).returns(T.nilable(String)) }
|
55
|
+
def mixed_in_class_methods(code_obj); end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
class YARDSorbet::Handlers::SigHandler < ::YARD::Handlers::Ruby::Base
|
60
|
+
sig { void }
|
61
|
+
def process; end
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
sig { params(method_node: YARD::Parser::Ruby::AstNode, node: YARD::Parser::Ruby::AstNode, docstring: YARD::Docstring).void }
|
66
|
+
def parse_params(method_node, node, docstring); end
|
67
|
+
|
68
|
+
sig { params(node: YARD::Parser::Ruby::AstNode, docstring: YARD::Docstring).void }
|
69
|
+
def parse_return(node, docstring); end
|
70
|
+
|
71
|
+
sig { params(method_node: YARD::Parser::Ruby::AstNode, docstring: YARD::Docstring).void }
|
72
|
+
def parse_sig(method_node, docstring); end
|
73
|
+
end
|
74
|
+
|
75
|
+
YARDSorbet::Handlers::SigHandler::ATTR_NODE_TYPES = T.let(T.unsafe(nil), Array)
|
76
|
+
|
77
|
+
module YARDSorbet::Handlers::StructClassHandler
|
78
|
+
sig { void }
|
79
|
+
def process; end
|
80
|
+
|
81
|
+
private
|
82
|
+
|
83
|
+
sig { params(object: YARD::CodeObjects::MethodObject, props: T::Array[YARDSorbet::TStructProp], docstring: YARD::Docstring, directives: T::Array[String]).void }
|
84
|
+
def decorate_t_struct_init(object, props, docstring, directives); end
|
85
|
+
|
86
|
+
sig { params(props: T::Array[YARDSorbet::TStructProp], class_ns: YARD::CodeObjects::ClassObject).void }
|
87
|
+
def process_t_struct_props(props, class_ns); end
|
88
|
+
|
89
|
+
sig { params(props: T::Array[YARDSorbet::TStructProp]).returns(T::Array[[String, T.nilable(String)]]) }
|
90
|
+
def to_object_parameters(props); end
|
91
|
+
end
|
92
|
+
|
93
|
+
class YARDSorbet::Handlers::StructPropHandler < ::YARD::Handlers::Ruby::Base
|
94
|
+
sig { void }
|
95
|
+
def process; end
|
96
|
+
|
97
|
+
private
|
98
|
+
|
99
|
+
sig { params(object: YARD::CodeObjects::MethodObject, prop: YARDSorbet::TStructProp).void }
|
100
|
+
def decorate_object(object, prop); end
|
101
|
+
|
102
|
+
sig { returns(T.nilable(String)) }
|
103
|
+
def default_value; end
|
104
|
+
|
105
|
+
sig { params(name: String).returns(YARDSorbet::TStructProp) }
|
106
|
+
def make_prop(name); end
|
107
|
+
|
108
|
+
sig { params(object: YARD::CodeObjects::MethodObject, name: String).void }
|
109
|
+
def register_attrs(object, name); end
|
110
|
+
|
111
|
+
sig { params(prop: YARDSorbet::TStructProp).void }
|
112
|
+
def update_state(prop); end
|
113
|
+
end
|
114
|
+
|
115
|
+
module YARDSorbet::NodeUtils
|
116
|
+
class << self
|
117
|
+
sig { params(node: YARD::Parser::Ruby::AstNode, _blk: T.proc.params(n: YARD::Parser::Ruby::AstNode).void).void }
|
118
|
+
def bfs_traverse(node, &_blk); end
|
119
|
+
|
120
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T.any(YARD::Parser::Ruby::MethodCallNode, YARD::Parser::Ruby::MethodDefinitionNode)) }
|
121
|
+
def get_method_node(node); end
|
122
|
+
|
123
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(YARD::Parser::Ruby::AstNode) }
|
124
|
+
def sibling_node(node); end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
YARDSorbet::NodeUtils::ATTRIBUTE_METHODS = T.let(T.unsafe(nil), Array)
|
129
|
+
YARDSorbet::NodeUtils::SIGABLE_NODE = T.type_alias { T.any(YARD::Parser::Ruby::MethodCallNode, YARD::Parser::Ruby::MethodDefinitionNode) }
|
130
|
+
YARDSorbet::NodeUtils::SKIP_METHOD_CONTENTS = T.let(T.unsafe(nil), Array)
|
131
|
+
|
132
|
+
module YARDSorbet::SigToYARD
|
133
|
+
class << self
|
134
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
135
|
+
def convert(node); end
|
136
|
+
|
137
|
+
private
|
138
|
+
|
139
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(String) }
|
140
|
+
def build_generic_type(node); end
|
141
|
+
|
142
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
143
|
+
def convert_aref(node); end
|
144
|
+
|
145
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
146
|
+
def convert_array(node); end
|
147
|
+
|
148
|
+
sig { params(node: YARD::Parser::Ruby::MethodCallNode).returns(T::Array[String]) }
|
149
|
+
def convert_call(node); end
|
150
|
+
|
151
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
152
|
+
def convert_collection(node); end
|
153
|
+
|
154
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
155
|
+
def convert_hash(node); end
|
156
|
+
|
157
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
158
|
+
def convert_list(node); end
|
159
|
+
|
160
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
161
|
+
def convert_node(node); end
|
162
|
+
|
163
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
164
|
+
def convert_node_type(node); end
|
165
|
+
|
166
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
167
|
+
def convert_ref(node); end
|
168
|
+
|
169
|
+
sig { params(node: YARD::Parser::Ruby::MethodCallNode).returns(T::Array[String]) }
|
170
|
+
def convert_t_method(node); end
|
171
|
+
|
172
|
+
sig { params(node: YARD::Parser::Ruby::AstNode).returns(T::Array[String]) }
|
173
|
+
def convert_unknown(node); end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
class YARDSorbet::TStructProp < ::T::Struct
|
178
|
+
const :default, T.nilable(String)
|
179
|
+
const :doc, String
|
180
|
+
const :prop_name, String
|
181
|
+
const :source, String
|
182
|
+
const :types, T::Array[String]
|
183
|
+
|
184
|
+
class << self
|
185
|
+
def inherited(s); end
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
module YARDSorbet::TagUtils
|
190
|
+
class << self
|
191
|
+
sig { params(docstring: YARD::Docstring, tag_name: String, name: T.nilable(String)).returns(T.nilable(YARD::Tags::Tag)) }
|
192
|
+
def find_tag(docstring, tag_name, name); end
|
193
|
+
|
194
|
+
sig { params(docstring: YARD::Docstring, tag_name: String, types: T.nilable(T::Array[String]), name: T.nilable(String), text: String).void }
|
195
|
+
def upsert_tag(docstring, tag_name, types = T.unsafe(nil), name = T.unsafe(nil), text = T.unsafe(nil)); end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
YARDSorbet::VERSION = T.let(T.unsafe(nil), String)
|