vitable-connect 0.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.
Files changed (185) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +39 -0
  4. data/README.md +267 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/vitable_connect/client.rb +118 -0
  7. data/lib/vitable_connect/errors.rb +228 -0
  8. data/lib/vitable_connect/file_part.rb +58 -0
  9. data/lib/vitable_connect/internal/page_number_page.rb +113 -0
  10. data/lib/vitable_connect/internal/transport/base_client.rb +577 -0
  11. data/lib/vitable_connect/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/vitable_connect/internal/type/array_of.rb +168 -0
  13. data/lib/vitable_connect/internal/type/base_model.rb +534 -0
  14. data/lib/vitable_connect/internal/type/base_page.rb +55 -0
  15. data/lib/vitable_connect/internal/type/boolean.rb +77 -0
  16. data/lib/vitable_connect/internal/type/converter.rb +327 -0
  17. data/lib/vitable_connect/internal/type/enum.rb +152 -0
  18. data/lib/vitable_connect/internal/type/file_input.rb +111 -0
  19. data/lib/vitable_connect/internal/type/hash_of.rb +188 -0
  20. data/lib/vitable_connect/internal/type/request_parameters.rb +42 -0
  21. data/lib/vitable_connect/internal/type/union.rb +245 -0
  22. data/lib/vitable_connect/internal/type/unknown.rb +81 -0
  23. data/lib/vitable_connect/internal/util.rb +951 -0
  24. data/lib/vitable_connect/internal.rb +20 -0
  25. data/lib/vitable_connect/models/auth_issue_access_token_params.rb +68 -0
  26. data/lib/vitable_connect/models/auth_issue_access_token_response.rb +70 -0
  27. data/lib/vitable_connect/models/benefit_eligibility_policy.rb +53 -0
  28. data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +18 -0
  29. data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +22 -0
  30. data/lib/vitable_connect/models/employee.rb +244 -0
  31. data/lib/vitable_connect/models/employee_class.rb +25 -0
  32. data/lib/vitable_connect/models/employee_list_enrollments_params.rb +38 -0
  33. data/lib/vitable_connect/models/employee_retrieve_params.rb +22 -0
  34. data/lib/vitable_connect/models/employee_retrieve_response.rb +18 -0
  35. data/lib/vitable_connect/models/employer.rb +163 -0
  36. data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +43 -0
  37. data/lib/vitable_connect/models/employer_create_params.rb +115 -0
  38. data/lib/vitable_connect/models/employer_list_employees_params.rb +38 -0
  39. data/lib/vitable_connect/models/employer_list_params.rb +30 -0
  40. data/lib/vitable_connect/models/employer_response.rb +19 -0
  41. data/lib/vitable_connect/models/employer_retrieve_params.rb +22 -0
  42. data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +374 -0
  43. data/lib/vitable_connect/models/employer_submit_census_sync_response.rb +35 -0
  44. data/lib/vitable_connect/models/enrollment.rb +234 -0
  45. data/lib/vitable_connect/models/enrollment_retrieve_params.rb +22 -0
  46. data/lib/vitable_connect/models/enrollment_retrieve_response.rb +18 -0
  47. data/lib/vitable_connect/models/enrollment_status.rb +21 -0
  48. data/lib/vitable_connect/models/pagination.rb +42 -0
  49. data/lib/vitable_connect/models/type.rb +17 -0
  50. data/lib/vitable_connect/models/webhook_event.rb +62 -0
  51. data/lib/vitable_connect/models/webhook_event_list_deliveries_params.rb +20 -0
  52. data/lib/vitable_connect/models/webhook_event_list_deliveries_response.rb +92 -0
  53. data/lib/vitable_connect/models/webhook_event_list_params.rb +135 -0
  54. data/lib/vitable_connect/models/webhook_event_retrieve_params.rb +20 -0
  55. data/lib/vitable_connect/models/webhook_event_retrieve_response.rb +18 -0
  56. data/lib/vitable_connect/models.rb +95 -0
  57. data/lib/vitable_connect/request_options.rb +78 -0
  58. data/lib/vitable_connect/resources/auth.rb +41 -0
  59. data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +35 -0
  60. data/lib/vitable_connect/resources/employees.rb +63 -0
  61. data/lib/vitable_connect/resources/employers.rb +184 -0
  62. data/lib/vitable_connect/resources/enrollments.rb +35 -0
  63. data/lib/vitable_connect/resources/webhook_events.rb +95 -0
  64. data/lib/vitable_connect/version.rb +5 -0
  65. data/lib/vitable_connect.rb +93 -0
  66. data/manifest.yaml +17 -0
  67. data/rbi/vitable_connect/client.rbi +88 -0
  68. data/rbi/vitable_connect/errors.rbi +205 -0
  69. data/rbi/vitable_connect/file_part.rbi +37 -0
  70. data/rbi/vitable_connect/internal/page_number_page.rbi +49 -0
  71. data/rbi/vitable_connect/internal/transport/base_client.rbi +307 -0
  72. data/rbi/vitable_connect/internal/transport/pooled_net_requester.rbi +84 -0
  73. data/rbi/vitable_connect/internal/type/array_of.rbi +108 -0
  74. data/rbi/vitable_connect/internal/type/base_model.rbi +314 -0
  75. data/rbi/vitable_connect/internal/type/base_page.rbi +43 -0
  76. data/rbi/vitable_connect/internal/type/boolean.rbi +58 -0
  77. data/rbi/vitable_connect/internal/type/converter.rbi +225 -0
  78. data/rbi/vitable_connect/internal/type/enum.rbi +82 -0
  79. data/rbi/vitable_connect/internal/type/file_input.rbi +59 -0
  80. data/rbi/vitable_connect/internal/type/hash_of.rbi +108 -0
  81. data/rbi/vitable_connect/internal/type/request_parameters.rbi +31 -0
  82. data/rbi/vitable_connect/internal/type/union.rbi +130 -0
  83. data/rbi/vitable_connect/internal/type/unknown.rbi +58 -0
  84. data/rbi/vitable_connect/internal/util.rbi +507 -0
  85. data/rbi/vitable_connect/internal.rbi +18 -0
  86. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +147 -0
  87. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +128 -0
  88. data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +74 -0
  89. data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +38 -0
  90. data/rbi/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbi +43 -0
  91. data/rbi/vitable_connect/models/employee.rbi +316 -0
  92. data/rbi/vitable_connect/models/employee_class.rbi +38 -0
  93. data/rbi/vitable_connect/models/employee_list_enrollments_params.rbi +68 -0
  94. data/rbi/vitable_connect/models/employee_retrieve_params.rbi +46 -0
  95. data/rbi/vitable_connect/models/employee_retrieve_response.rbi +32 -0
  96. data/rbi/vitable_connect/models/employer.rbi +205 -0
  97. data/rbi/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbi +64 -0
  98. data/rbi/vitable_connect/models/employer_create_params.rbi +169 -0
  99. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +68 -0
  100. data/rbi/vitable_connect/models/employer_list_params.rbi +60 -0
  101. data/rbi/vitable_connect/models/employer_response.rbi +36 -0
  102. data/rbi/vitable_connect/models/employer_retrieve_params.rbi +46 -0
  103. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +819 -0
  104. data/rbi/vitable_connect/models/employer_submit_census_sync_response.rbi +76 -0
  105. data/rbi/vitable_connect/models/enrollment.rbi +401 -0
  106. data/rbi/vitable_connect/models/enrollment_retrieve_params.rbi +46 -0
  107. data/rbi/vitable_connect/models/enrollment_retrieve_response.rbi +34 -0
  108. data/rbi/vitable_connect/models/enrollment_status.rbi +32 -0
  109. data/rbi/vitable_connect/models/pagination.rbi +62 -0
  110. data/rbi/vitable_connect/models/type.rbi +21 -0
  111. data/rbi/vitable_connect/models/webhook_event.rbi +81 -0
  112. data/rbi/vitable_connect/models/webhook_event_list_deliveries_params.rbi +38 -0
  113. data/rbi/vitable_connect/models/webhook_event_list_deliveries_response.rbi +147 -0
  114. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +307 -0
  115. data/rbi/vitable_connect/models/webhook_event_retrieve_params.rbi +38 -0
  116. data/rbi/vitable_connect/models/webhook_event_retrieve_response.rbi +34 -0
  117. data/rbi/vitable_connect/models.rbi +62 -0
  118. data/rbi/vitable_connect/request_options.rbi +61 -0
  119. data/rbi/vitable_connect/resources/auth.rbi +36 -0
  120. data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +27 -0
  121. data/rbi/vitable_connect/resources/employees.rbi +49 -0
  122. data/rbi/vitable_connect/resources/employers.rbi +147 -0
  123. data/rbi/vitable_connect/resources/enrollments.rbi +27 -0
  124. data/rbi/vitable_connect/resources/webhook_events.rbi +84 -0
  125. data/rbi/vitable_connect/version.rbi +5 -0
  126. data/sig/vitable_connect/client.rbs +42 -0
  127. data/sig/vitable_connect/errors.rbs +117 -0
  128. data/sig/vitable_connect/file_part.rbs +21 -0
  129. data/sig/vitable_connect/internal/page_number_page.rbs +28 -0
  130. data/sig/vitable_connect/internal/transport/base_client.rbs +133 -0
  131. data/sig/vitable_connect/internal/transport/pooled_net_requester.rbs +48 -0
  132. data/sig/vitable_connect/internal/type/array_of.rbs +48 -0
  133. data/sig/vitable_connect/internal/type/base_model.rbs +104 -0
  134. data/sig/vitable_connect/internal/type/base_page.rbs +24 -0
  135. data/sig/vitable_connect/internal/type/boolean.rbs +26 -0
  136. data/sig/vitable_connect/internal/type/converter.rbs +79 -0
  137. data/sig/vitable_connect/internal/type/enum.rbs +32 -0
  138. data/sig/vitable_connect/internal/type/file_input.rbs +25 -0
  139. data/sig/vitable_connect/internal/type/hash_of.rbs +48 -0
  140. data/sig/vitable_connect/internal/type/request_parameters.rbs +20 -0
  141. data/sig/vitable_connect/internal/type/union.rbs +52 -0
  142. data/sig/vitable_connect/internal/type/unknown.rbs +26 -0
  143. data/sig/vitable_connect/internal/util.rbs +195 -0
  144. data/sig/vitable_connect/internal.rbs +10 -0
  145. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +56 -0
  146. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +50 -0
  147. data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +50 -0
  148. data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +14 -0
  149. data/sig/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbs +23 -0
  150. data/sig/vitable_connect/models/employee.rbs +169 -0
  151. data/sig/vitable_connect/models/employee_class.rbs +24 -0
  152. data/sig/vitable_connect/models/employee_list_enrollments_params.rbs +36 -0
  153. data/sig/vitable_connect/models/employee_retrieve_params.rbs +24 -0
  154. data/sig/vitable_connect/models/employee_retrieve_response.rbs +13 -0
  155. data/sig/vitable_connect/models/employer.rbs +117 -0
  156. data/sig/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbs +32 -0
  157. data/sig/vitable_connect/models/employer_create_params.rbs +93 -0
  158. data/sig/vitable_connect/models/employer_list_employees_params.rbs +36 -0
  159. data/sig/vitable_connect/models/employer_list_params.rbs +32 -0
  160. data/sig/vitable_connect/models/employer_response.rbs +13 -0
  161. data/sig/vitable_connect/models/employer_retrieve_params.rbs +24 -0
  162. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +274 -0
  163. data/sig/vitable_connect/models/employer_submit_census_sync_response.rbs +30 -0
  164. data/sig/vitable_connect/models/enrollment.rbs +164 -0
  165. data/sig/vitable_connect/models/enrollment_retrieve_params.rbs +24 -0
  166. data/sig/vitable_connect/models/enrollment_retrieve_response.rbs +13 -0
  167. data/sig/vitable_connect/models/enrollment_status.rbs +16 -0
  168. data/sig/vitable_connect/models/pagination.rbs +30 -0
  169. data/sig/vitable_connect/models/type.rbs +14 -0
  170. data/sig/vitable_connect/models/webhook_event.rbs +45 -0
  171. data/sig/vitable_connect/models/webhook_event_list_deliveries_params.rbs +23 -0
  172. data/sig/vitable_connect/models/webhook_event_list_deliveries_response.rbs +77 -0
  173. data/sig/vitable_connect/models/webhook_event_list_params.rbs +126 -0
  174. data/sig/vitable_connect/models/webhook_event_retrieve_params.rbs +23 -0
  175. data/sig/vitable_connect/models/webhook_event_retrieve_response.rbs +14 -0
  176. data/sig/vitable_connect/models.rbs +51 -0
  177. data/sig/vitable_connect/request_options.rbs +36 -0
  178. data/sig/vitable_connect/resources/auth.rbs +13 -0
  179. data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +12 -0
  180. data/sig/vitable_connect/resources/employees.rbs +19 -0
  181. data/sig/vitable_connect/resources/employers.rbs +49 -0
  182. data/sig/vitable_connect/resources/enrollments.rbs +12 -0
  183. data/sig/vitable_connect/resources/webhook_events.rbs +28 -0
  184. data/sig/vitable_connect/version.rbs +3 -0
  185. metadata +256 -0
@@ -0,0 +1,225 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Converter
8
+ extend VitableConnect::Internal::Util::SorbetRuntimeSupport
9
+
10
+ Input =
11
+ T.type_alias do
12
+ T.any(
13
+ VitableConnect::Internal::Type::Converter,
14
+ T::Class[T.anything]
15
+ )
16
+ end
17
+
18
+ CoerceState =
19
+ T.type_alias do
20
+ {
21
+ translate_names: T::Boolean,
22
+ strictness: T::Boolean,
23
+ exactness: {
24
+ yes: Integer,
25
+ no: Integer,
26
+ maybe: Integer
27
+ },
28
+ error: T::Class[StandardError],
29
+ branched: Integer
30
+ }
31
+ end
32
+
33
+ DumpState = T.type_alias { { can_retry: T::Boolean } }
34
+
35
+ # @api private
36
+ sig do
37
+ overridable
38
+ .params(
39
+ value: T.anything,
40
+ state: VitableConnect::Internal::Type::Converter::CoerceState
41
+ )
42
+ .returns(T.anything)
43
+ end
44
+ def coerce(value, state:)
45
+ end
46
+
47
+ # @api private
48
+ sig do
49
+ overridable
50
+ .params(
51
+ value: T.anything,
52
+ state: VitableConnect::Internal::Type::Converter::DumpState
53
+ )
54
+ .returns(T.anything)
55
+ end
56
+ def dump(value, state:)
57
+ end
58
+
59
+ # @api private
60
+ sig { params(depth: Integer).returns(String) }
61
+ def inspect(depth: 0)
62
+ end
63
+
64
+ class << self
65
+ # @api private
66
+ sig do
67
+ params(
68
+ spec:
69
+ T.any(
70
+ {
71
+ const:
72
+ T.nilable(
73
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
74
+ ),
75
+ enum:
76
+ T.nilable(
77
+ T.proc.returns(
78
+ VitableConnect::Internal::Type::Converter::Input
79
+ )
80
+ ),
81
+ union:
82
+ T.nilable(
83
+ T.proc.returns(
84
+ VitableConnect::Internal::Type::Converter::Input
85
+ )
86
+ )
87
+ },
88
+ T.proc.returns(
89
+ VitableConnect::Internal::Type::Converter::Input
90
+ ),
91
+ VitableConnect::Internal::Type::Converter::Input
92
+ )
93
+ ).returns(T.proc.returns(T.anything))
94
+ end
95
+ def self.type_info(spec)
96
+ end
97
+
98
+ # @api private
99
+ sig do
100
+ params(
101
+ type_info:
102
+ T.any(
103
+ {
104
+ const:
105
+ T.nilable(
106
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
107
+ ),
108
+ enum:
109
+ T.nilable(
110
+ T.proc.returns(
111
+ VitableConnect::Internal::Type::Converter::Input
112
+ )
113
+ ),
114
+ union:
115
+ T.nilable(
116
+ T.proc.returns(
117
+ VitableConnect::Internal::Type::Converter::Input
118
+ )
119
+ )
120
+ },
121
+ T.proc.returns(
122
+ VitableConnect::Internal::Type::Converter::Input
123
+ ),
124
+ VitableConnect::Internal::Type::Converter::Input
125
+ ),
126
+ spec:
127
+ T.any(
128
+ {
129
+ const:
130
+ T.nilable(
131
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
132
+ ),
133
+ enum:
134
+ T.nilable(
135
+ T.proc.returns(
136
+ VitableConnect::Internal::Type::Converter::Input
137
+ )
138
+ ),
139
+ union:
140
+ T.nilable(
141
+ T.proc.returns(
142
+ VitableConnect::Internal::Type::Converter::Input
143
+ )
144
+ )
145
+ },
146
+ T.proc.returns(
147
+ VitableConnect::Internal::Type::Converter::Input
148
+ ),
149
+ VitableConnect::Internal::Type::Converter::Input
150
+ )
151
+ ).returns(VitableConnect::Internal::AnyHash)
152
+ end
153
+ def self.meta_info(type_info, spec)
154
+ end
155
+
156
+ # @api private
157
+ sig do
158
+ params(translate_names: T::Boolean).returns(
159
+ VitableConnect::Internal::Type::Converter::CoerceState
160
+ )
161
+ end
162
+ def self.new_coerce_state(translate_names: true)
163
+ end
164
+
165
+ # @api private
166
+ #
167
+ # Based on `target`, transform `value` into `target`, to the extent possible:
168
+ #
169
+ # 1. if the given `value` conforms to `target` already, return the given `value`
170
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
171
+ # converted value
172
+ # 3. otherwise, the given `value` unaltered
173
+ #
174
+ # The coercion process is subject to improvement between minor release versions.
175
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
176
+ sig do
177
+ params(
178
+ target: VitableConnect::Internal::Type::Converter::Input,
179
+ value: T.anything,
180
+ state: VitableConnect::Internal::Type::Converter::CoerceState
181
+ ).returns(T.anything)
182
+ end
183
+ def self.coerce(
184
+ target,
185
+ value,
186
+ # The `strictness` is one of `true`, `false`. This informs the coercion strategy
187
+ # when we have to decide between multiple possible conversion targets:
188
+ #
189
+ # - `true`: the conversion must be exact, with minimum coercion.
190
+ # - `false`: the conversion can be approximate, with some coercion.
191
+ #
192
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
193
+ # any given conversion attempt, the exactness will be updated based on how closely
194
+ # the value recursively matches the target type:
195
+ #
196
+ # - `yes`: the value can be converted to the target type with minimum coercion.
197
+ # - `maybe`: the value can be converted to the target type with some reasonable
198
+ # coercion.
199
+ # - `no`: the value cannot be converted to the target type.
200
+ #
201
+ # See implementation below for more details.
202
+ state: VitableConnect::Internal::Type::Converter.new_coerce_state
203
+ )
204
+ end
205
+
206
+ # @api private
207
+ sig do
208
+ params(
209
+ target: VitableConnect::Internal::Type::Converter::Input,
210
+ value: T.anything,
211
+ state: VitableConnect::Internal::Type::Converter::DumpState
212
+ ).returns(T.anything)
213
+ end
214
+ def self.dump(target, value, state: { can_retry: true })
215
+ end
216
+
217
+ # @api private
218
+ sig { params(target: T.anything, depth: Integer).returns(String) }
219
+ def self.inspect(target, depth:)
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end
@@ -0,0 +1,82 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # A value from among a specified list of options. OpenAPI enum values map to Ruby
9
+ # values in the SDK as follows:
10
+ #
11
+ # 1. boolean => true | false
12
+ # 2. integer => Integer
13
+ # 3. float => Float
14
+ # 4. string => Symbol
15
+ #
16
+ # We can therefore convert string values to Symbols, but can't convert other
17
+ # values safely.
18
+ module Enum
19
+ include VitableConnect::Internal::Type::Converter
20
+ include VitableConnect::Internal::Util::SorbetRuntimeSupport
21
+
22
+ # All of the valid Symbol values for this enum.
23
+ sig do
24
+ overridable.returns(
25
+ T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]
26
+ )
27
+ end
28
+ def values
29
+ end
30
+
31
+ sig { params(other: T.anything).returns(T::Boolean) }
32
+ def ===(other)
33
+ end
34
+
35
+ sig { params(other: T.anything).returns(T::Boolean) }
36
+ def ==(other)
37
+ end
38
+
39
+ sig { returns(Integer) }
40
+ def hash
41
+ end
42
+
43
+ # @api private
44
+ #
45
+ # Unlike with primitives, `Enum` additionally validates that the value is a member
46
+ # of the enum.
47
+ sig do
48
+ override
49
+ .params(
50
+ value: T.any(String, Symbol, T.anything),
51
+ state: VitableConnect::Internal::Type::Converter::CoerceState
52
+ )
53
+ .returns(T.any(Symbol, T.anything))
54
+ end
55
+ def coerce(value, state:)
56
+ end
57
+
58
+ # @api private
59
+ sig do
60
+ override
61
+ .params(
62
+ value: T.any(Symbol, T.anything),
63
+ state: VitableConnect::Internal::Type::Converter::DumpState
64
+ )
65
+ .returns(T.any(Symbol, T.anything))
66
+ end
67
+ def dump(value, state:)
68
+ end
69
+
70
+ # @api private
71
+ sig { returns(T.anything) }
72
+ def to_sorbet_type
73
+ end
74
+
75
+ # @api private
76
+ sig { params(depth: Integer).returns(String) }
77
+ def inspect(depth: 0)
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Either `Pathname` or `StringIO`, or `IO`, or
9
+ # `VitableConnect::Internal::Type::FileInput`.
10
+ #
11
+ # Note: when `IO` is used, all retries are disabled, since many IO` streams are
12
+ # not rewindable.
13
+ class FileInput
14
+ extend VitableConnect::Internal::Type::Converter
15
+
16
+ abstract!
17
+
18
+ sig { params(other: T.anything).returns(T::Boolean) }
19
+ def self.===(other)
20
+ end
21
+
22
+ sig { params(other: T.anything).returns(T::Boolean) }
23
+ def self.==(other)
24
+ end
25
+
26
+ class << self
27
+ # @api private
28
+ sig do
29
+ override
30
+ .params(
31
+ value: T.any(StringIO, String, T.anything),
32
+ state: VitableConnect::Internal::Type::Converter::CoerceState
33
+ )
34
+ .returns(T.any(StringIO, T.anything))
35
+ end
36
+ def coerce(value, state:)
37
+ end
38
+
39
+ # @api private
40
+ sig do
41
+ override
42
+ .params(
43
+ value: T.any(Pathname, StringIO, IO, String, T.anything),
44
+ state: VitableConnect::Internal::Type::Converter::DumpState
45
+ )
46
+ .returns(T.any(Pathname, StringIO, IO, String, T.anything))
47
+ end
48
+ def dump(value, state:)
49
+ end
50
+
51
+ # @api private
52
+ sig { returns(T.anything) }
53
+ def to_sorbet_type
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,108 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Hash of items of a given type.
9
+ class HashOf
10
+ include VitableConnect::Internal::Type::Converter
11
+ include VitableConnect::Internal::Util::SorbetRuntimeSupport
12
+
13
+ abstract!
14
+
15
+ Elem = type_member(:out)
16
+
17
+ sig do
18
+ params(
19
+ type_info:
20
+ T.any(
21
+ VitableConnect::Internal::AnyHash,
22
+ T.proc.returns(
23
+ VitableConnect::Internal::Type::Converter::Input
24
+ ),
25
+ VitableConnect::Internal::Type::Converter::Input
26
+ ),
27
+ spec: VitableConnect::Internal::AnyHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.[](type_info, spec = {})
31
+ end
32
+
33
+ sig { params(other: T.anything).returns(T::Boolean) }
34
+ def ===(other)
35
+ end
36
+
37
+ sig { params(other: T.anything).returns(T::Boolean) }
38
+ def ==(other)
39
+ end
40
+
41
+ sig { returns(Integer) }
42
+ def hash
43
+ end
44
+
45
+ # @api private
46
+ sig do
47
+ override
48
+ .params(
49
+ value: T.any(T::Hash[T.anything, T.anything], T.anything),
50
+ state: VitableConnect::Internal::Type::Converter::CoerceState
51
+ )
52
+ .returns(T.any(VitableConnect::Internal::AnyHash, T.anything))
53
+ end
54
+ def coerce(value, state:)
55
+ end
56
+
57
+ # @api private
58
+ sig do
59
+ override
60
+ .params(
61
+ value: T.any(T::Hash[T.anything, T.anything], T.anything),
62
+ state: VitableConnect::Internal::Type::Converter::DumpState
63
+ )
64
+ .returns(T.any(VitableConnect::Internal::AnyHash, T.anything))
65
+ end
66
+ def dump(value, state:)
67
+ end
68
+
69
+ # @api private
70
+ sig { returns(T.anything) }
71
+ def to_sorbet_type
72
+ end
73
+
74
+ # @api private
75
+ sig { returns(Elem) }
76
+ protected def item_type
77
+ end
78
+
79
+ # @api private
80
+ sig { returns(T::Boolean) }
81
+ protected def nilable?
82
+ end
83
+
84
+ # @api private
85
+ sig do
86
+ params(
87
+ type_info:
88
+ T.any(
89
+ VitableConnect::Internal::AnyHash,
90
+ T.proc.returns(
91
+ VitableConnect::Internal::Type::Converter::Input
92
+ ),
93
+ VitableConnect::Internal::Type::Converter::Input
94
+ ),
95
+ spec: VitableConnect::Internal::AnyHash
96
+ ).void
97
+ end
98
+ def initialize(type_info, spec = {})
99
+ end
100
+
101
+ # @api private
102
+ sig { params(depth: Integer).returns(String) }
103
+ def inspect(depth: 0)
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module RequestParameters
8
+ # Options to specify HTTP behaviour for this request.
9
+ sig { returns(VitableConnect::RequestOptions) }
10
+ attr_reader :request_options
11
+
12
+ sig do
13
+ params(request_options: VitableConnect::RequestOptions::OrHash).void
14
+ end
15
+ attr_writer :request_options
16
+
17
+ # @api private
18
+ module Converter
19
+ # @api private
20
+ sig do
21
+ params(params: T.anything).returns(
22
+ [T.anything, VitableConnect::Internal::AnyHash]
23
+ )
24
+ end
25
+ def dump_request(params)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,130 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Union
8
+ include VitableConnect::Internal::Type::Converter
9
+ include VitableConnect::Internal::Util::SorbetRuntimeSupport
10
+
11
+ # @api private
12
+ #
13
+ # All of the specified variant info for this union.
14
+ sig do
15
+ returns(
16
+ T::Array[
17
+ [
18
+ T.nilable(Symbol),
19
+ T.proc.returns(
20
+ VitableConnect::Internal::Type::Converter::Input
21
+ ),
22
+ VitableConnect::Internal::AnyHash
23
+ ]
24
+ ]
25
+ )
26
+ end
27
+ private def known_variants
28
+ end
29
+
30
+ # @api private
31
+ sig do
32
+ returns(
33
+ T::Array[
34
+ [T.nilable(Symbol), T.anything, VitableConnect::Internal::AnyHash]
35
+ ]
36
+ )
37
+ end
38
+ protected def derefed_variants
39
+ end
40
+
41
+ # All of the specified variants for this union.
42
+ sig { overridable.returns(T::Array[T.anything]) }
43
+ def variants
44
+ end
45
+
46
+ # @api private
47
+ sig { params(property: Symbol).void }
48
+ private def discriminator(property)
49
+ end
50
+
51
+ # @api private
52
+ sig do
53
+ params(
54
+ key:
55
+ T.any(
56
+ Symbol,
57
+ VitableConnect::Internal::AnyHash,
58
+ T.proc.returns(T.anything),
59
+ T.anything
60
+ ),
61
+ spec:
62
+ T.any(
63
+ VitableConnect::Internal::AnyHash,
64
+ T.proc.returns(T.anything),
65
+ T.anything
66
+ )
67
+ ).void
68
+ end
69
+ private def variant(key, spec = nil)
70
+ end
71
+
72
+ # @api private
73
+ sig { params(value: T.anything).returns(T.nilable(T.anything)) }
74
+ private def resolve_variant(value)
75
+ end
76
+
77
+ sig { params(other: T.anything).returns(T::Boolean) }
78
+ def ===(other)
79
+ end
80
+
81
+ sig { params(other: T.anything).returns(T::Boolean) }
82
+ def ==(other)
83
+ end
84
+
85
+ sig { returns(Integer) }
86
+ def hash
87
+ end
88
+
89
+ # @api private
90
+ #
91
+ # Tries to efficiently coerce the given value to one of the known variants.
92
+ #
93
+ # If the value cannot match any of the known variants, the coercion is considered
94
+ # non-viable and returns the original value.
95
+ sig do
96
+ override
97
+ .params(
98
+ value: T.anything,
99
+ state: VitableConnect::Internal::Type::Converter::CoerceState
100
+ )
101
+ .returns(T.anything)
102
+ end
103
+ def coerce(value, state:)
104
+ end
105
+
106
+ # @api private
107
+ sig do
108
+ override
109
+ .params(
110
+ value: T.anything,
111
+ state: VitableConnect::Internal::Type::Converter::DumpState
112
+ )
113
+ .returns(T.anything)
114
+ end
115
+ def dump(value, state:)
116
+ end
117
+
118
+ # @api private
119
+ sig { returns(T.anything) }
120
+ def to_sorbet_type
121
+ end
122
+
123
+ # @api private
124
+ sig { params(depth: Integer).returns(String) }
125
+ def inspect(depth: 0)
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # When we don't know what to expect for the value.
9
+ class Unknown
10
+ extend VitableConnect::Internal::Type::Converter
11
+ extend VitableConnect::Internal::Util::SorbetRuntimeSupport
12
+
13
+ abstract!
14
+
15
+ sig { params(other: T.anything).returns(T::Boolean) }
16
+ def self.===(other)
17
+ end
18
+
19
+ sig { params(other: T.anything).returns(T::Boolean) }
20
+ def self.==(other)
21
+ end
22
+
23
+ class << self
24
+ # @api private
25
+ #
26
+ # No coercion needed for Unknown type.
27
+ sig do
28
+ override
29
+ .params(
30
+ value: T.anything,
31
+ state: VitableConnect::Internal::Type::Converter::CoerceState
32
+ )
33
+ .returns(T.anything)
34
+ end
35
+ def coerce(value, state:)
36
+ end
37
+
38
+ # @api private
39
+ sig do
40
+ override
41
+ .params(
42
+ value: T.anything,
43
+ state: VitableConnect::Internal::Type::Converter::DumpState
44
+ )
45
+ .returns(T.anything)
46
+ end
47
+ def dump(value, state:)
48
+ end
49
+
50
+ # @api private
51
+ sig { returns(T.anything) }
52
+ def to_sorbet_type
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end