finch-api 0.1.0.pre.alpha.3 → 0.1.0.pre.alpha.5

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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -8
  3. data/lib/finch-api/client.rb +1 -1
  4. data/lib/finch-api/individuals_page.rb +4 -4
  5. data/lib/finch-api/models/access_token_create_params.rb +1 -1
  6. data/lib/finch-api/models/account_disconnect_params.rb +1 -1
  7. data/lib/finch-api/models/account_introspect_params.rb +1 -1
  8. data/lib/finch-api/models/connect/session_new_params.rb +1 -1
  9. data/lib/finch-api/models/connect/session_reauthenticate_params.rb +1 -1
  10. data/lib/finch-api/models/hris/benefit_create_params.rb +1 -1
  11. data/lib/finch-api/models/hris/benefit_list_params.rb +1 -1
  12. data/lib/finch-api/models/hris/benefit_list_supported_benefits_params.rb +1 -1
  13. data/lib/finch-api/models/hris/benefit_retrieve_params.rb +1 -1
  14. data/lib/finch-api/models/hris/benefit_update_params.rb +1 -1
  15. data/lib/finch-api/models/hris/benefits/individual_enroll_many_params.rb +1 -1
  16. data/lib/finch-api/models/hris/benefits/individual_enrolled_ids_params.rb +1 -1
  17. data/lib/finch-api/models/hris/benefits/individual_retrieve_many_benefits_params.rb +1 -1
  18. data/lib/finch-api/models/hris/benefits/individual_unenroll_many_params.rb +1 -1
  19. data/lib/finch-api/models/hris/company_retrieve_params.rb +1 -1
  20. data/lib/finch-api/models/hris/directory_list_individuals_params.rb +1 -1
  21. data/lib/finch-api/models/hris/directory_list_params.rb +1 -1
  22. data/lib/finch-api/models/hris/document_list_params.rb +1 -1
  23. data/lib/finch-api/models/hris/document_retreive_params.rb +1 -1
  24. data/lib/finch-api/models/hris/employment_retrieve_many_params.rb +1 -1
  25. data/lib/finch-api/models/hris/individual_retrieve_many_params.rb +1 -1
  26. data/lib/finch-api/models/hris/pay_statement_retrieve_many_params.rb +1 -1
  27. data/lib/finch-api/models/hris/payment_list_params.rb +1 -1
  28. data/lib/finch-api/models/introspection.rb +12 -1
  29. data/lib/finch-api/models/jobs/automated_create_params.rb +1 -1
  30. data/lib/finch-api/models/jobs/automated_list_params.rb +1 -1
  31. data/lib/finch-api/models/jobs/automated_retrieve_params.rb +1 -1
  32. data/lib/finch-api/models/jobs/manual_retrieve_params.rb +1 -1
  33. data/lib/finch-api/models/payroll/pay_group_list_params.rb +1 -1
  34. data/lib/finch-api/models/payroll/pay_group_retrieve_params.rb +1 -1
  35. data/lib/finch-api/models/provider_list_params.rb +1 -1
  36. data/lib/finch-api/models/request_forwarding_forward_params.rb +1 -1
  37. data/lib/finch-api/models/sandbox/company_update_params.rb +1 -1
  38. data/lib/finch-api/models/sandbox/connection_create_params.rb +1 -1
  39. data/lib/finch-api/models/sandbox/connections/account_create_params.rb +1 -1
  40. data/lib/finch-api/models/sandbox/connections/account_update_params.rb +1 -1
  41. data/lib/finch-api/models/sandbox/directory_create_params.rb +1 -1
  42. data/lib/finch-api/models/sandbox/employment_update_params.rb +1 -1
  43. data/lib/finch-api/models/sandbox/individual_update_params.rb +1 -1
  44. data/lib/finch-api/models/sandbox/job_create_params.rb +1 -1
  45. data/lib/finch-api/models/sandbox/jobs/configuration_retrieve_params.rb +1 -1
  46. data/lib/finch-api/models/sandbox/jobs/configuration_update_params.rb +1 -1
  47. data/lib/finch-api/models/sandbox/payment_create_params.rb +1 -1
  48. data/lib/finch-api/page.rb +4 -4
  49. data/lib/finch-api/request_options.rb +0 -33
  50. data/lib/finch-api/responses_page.rb +3 -3
  51. data/lib/finch-api/single_page.rb +3 -3
  52. data/lib/finch-api/transport/base_client.rb +459 -0
  53. data/lib/finch-api/transport/pooled_net_requester.rb +182 -0
  54. data/lib/finch-api/type/array_of.rb +110 -0
  55. data/lib/finch-api/type/base_model.rb +355 -0
  56. data/lib/finch-api/type/base_page.rb +61 -0
  57. data/lib/finch-api/type/boolean_model.rb +52 -0
  58. data/lib/finch-api/type/converter.rb +211 -0
  59. data/lib/finch-api/type/enum.rb +105 -0
  60. data/lib/finch-api/type/hash_of.rb +136 -0
  61. data/lib/finch-api/type/request_parameters.rb +38 -0
  62. data/lib/finch-api/type/union.rb +204 -0
  63. data/lib/finch-api/type/unknown.rb +56 -0
  64. data/lib/finch-api/type.rb +23 -0
  65. data/lib/finch-api/util.rb +3 -5
  66. data/lib/finch-api/version.rb +1 -1
  67. data/lib/finch-api.rb +13 -5
  68. data/rbi/lib/finch-api/client.rbi +1 -1
  69. data/rbi/lib/finch-api/individuals_page.rbi +1 -1
  70. data/rbi/lib/finch-api/models/access_token_create_params.rbi +1 -1
  71. data/rbi/lib/finch-api/models/account_disconnect_params.rbi +1 -1
  72. data/rbi/lib/finch-api/models/account_introspect_params.rbi +1 -1
  73. data/rbi/lib/finch-api/models/connect/session_new_params.rbi +1 -1
  74. data/rbi/lib/finch-api/models/connect/session_reauthenticate_params.rbi +1 -1
  75. data/rbi/lib/finch-api/models/hris/benefit_create_params.rbi +1 -1
  76. data/rbi/lib/finch-api/models/hris/benefit_list_params.rbi +1 -1
  77. data/rbi/lib/finch-api/models/hris/benefit_list_supported_benefits_params.rbi +1 -1
  78. data/rbi/lib/finch-api/models/hris/benefit_retrieve_params.rbi +1 -1
  79. data/rbi/lib/finch-api/models/hris/benefit_update_params.rbi +1 -1
  80. data/rbi/lib/finch-api/models/hris/benefits/individual_enroll_many_params.rbi +1 -1
  81. data/rbi/lib/finch-api/models/hris/benefits/individual_enrolled_ids_params.rbi +1 -1
  82. data/rbi/lib/finch-api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi +1 -1
  83. data/rbi/lib/finch-api/models/hris/benefits/individual_unenroll_many_params.rbi +1 -1
  84. data/rbi/lib/finch-api/models/hris/company_retrieve_params.rbi +1 -1
  85. data/rbi/lib/finch-api/models/hris/directory_list_individuals_params.rbi +1 -1
  86. data/rbi/lib/finch-api/models/hris/directory_list_params.rbi +1 -1
  87. data/rbi/lib/finch-api/models/hris/document_list_params.rbi +1 -1
  88. data/rbi/lib/finch-api/models/hris/document_retreive_params.rbi +1 -1
  89. data/rbi/lib/finch-api/models/hris/employment_retrieve_many_params.rbi +1 -1
  90. data/rbi/lib/finch-api/models/hris/individual_retrieve_many_params.rbi +1 -1
  91. data/rbi/lib/finch-api/models/hris/pay_statement_retrieve_many_params.rbi +1 -1
  92. data/rbi/lib/finch-api/models/hris/payment_list_params.rbi +1 -1
  93. data/rbi/lib/finch-api/models/introspection.rbi +20 -3
  94. data/rbi/lib/finch-api/models/jobs/automated_create_params.rbi +1 -1
  95. data/rbi/lib/finch-api/models/jobs/automated_list_params.rbi +1 -1
  96. data/rbi/lib/finch-api/models/jobs/automated_retrieve_params.rbi +1 -1
  97. data/rbi/lib/finch-api/models/jobs/manual_retrieve_params.rbi +1 -1
  98. data/rbi/lib/finch-api/models/payroll/pay_group_list_params.rbi +1 -1
  99. data/rbi/lib/finch-api/models/payroll/pay_group_retrieve_params.rbi +1 -1
  100. data/rbi/lib/finch-api/models/provider_list_params.rbi +1 -1
  101. data/rbi/lib/finch-api/models/request_forwarding_forward_params.rbi +1 -1
  102. data/rbi/lib/finch-api/models/sandbox/company_update_params.rbi +1 -1
  103. data/rbi/lib/finch-api/models/sandbox/connection_create_params.rbi +1 -1
  104. data/rbi/lib/finch-api/models/sandbox/connections/account_create_params.rbi +1 -1
  105. data/rbi/lib/finch-api/models/sandbox/connections/account_update_params.rbi +1 -1
  106. data/rbi/lib/finch-api/models/sandbox/directory_create_params.rbi +1 -1
  107. data/rbi/lib/finch-api/models/sandbox/directory_create_response.rbi +1 -1
  108. data/rbi/lib/finch-api/models/sandbox/employment_update_params.rbi +1 -1
  109. data/rbi/lib/finch-api/models/sandbox/individual_update_params.rbi +1 -1
  110. data/rbi/lib/finch-api/models/sandbox/job_create_params.rbi +1 -1
  111. data/rbi/lib/finch-api/models/sandbox/jobs/configuration_retrieve_params.rbi +1 -1
  112. data/rbi/lib/finch-api/models/sandbox/jobs/configuration_retrieve_response.rbi +4 -1
  113. data/rbi/lib/finch-api/models/sandbox/jobs/configuration_update_params.rbi +1 -1
  114. data/rbi/lib/finch-api/models/sandbox/payment_create_params.rbi +1 -1
  115. data/rbi/lib/finch-api/page.rbi +1 -1
  116. data/rbi/lib/finch-api/request_options.rbi +0 -15
  117. data/rbi/lib/finch-api/responses_page.rbi +1 -1
  118. data/rbi/lib/finch-api/single_page.rbi +1 -1
  119. data/rbi/lib/finch-api/transport/base_client.rbi +204 -0
  120. data/rbi/lib/finch-api/transport/pooled_net_requester.rbi +64 -0
  121. data/rbi/lib/finch-api/type/array_of.rbi +82 -0
  122. data/rbi/lib/finch-api/type/base_model.rbi +191 -0
  123. data/rbi/lib/finch-api/type/base_page.rbi +38 -0
  124. data/rbi/lib/finch-api/type/boolean_model.rbi +41 -0
  125. data/rbi/lib/finch-api/type/converter.rbi +101 -0
  126. data/rbi/lib/finch-api/type/enum.rbi +58 -0
  127. data/rbi/lib/finch-api/type/hash_of.rbi +86 -0
  128. data/rbi/lib/finch-api/type/request_parameters.rbi +20 -0
  129. data/rbi/lib/finch-api/type/union.rbi +66 -0
  130. data/rbi/lib/finch-api/type/unknown.rbi +37 -0
  131. data/rbi/lib/finch-api/type.rbi +23 -0
  132. data/rbi/lib/finch-api/version.rbi +1 -1
  133. data/sig/finch-api/client.rbs +1 -1
  134. data/sig/finch-api/individuals_page.rbs +1 -1
  135. data/sig/finch-api/models/access_token_create_params.rbs +1 -1
  136. data/sig/finch-api/models/account_disconnect_params.rbs +1 -1
  137. data/sig/finch-api/models/account_introspect_params.rbs +1 -1
  138. data/sig/finch-api/models/connect/session_new_params.rbs +1 -1
  139. data/sig/finch-api/models/connect/session_reauthenticate_params.rbs +1 -1
  140. data/sig/finch-api/models/hris/benefit_create_params.rbs +1 -1
  141. data/sig/finch-api/models/hris/benefit_list_params.rbs +1 -1
  142. data/sig/finch-api/models/hris/benefit_list_supported_benefits_params.rbs +1 -1
  143. data/sig/finch-api/models/hris/benefit_retrieve_params.rbs +1 -1
  144. data/sig/finch-api/models/hris/benefit_update_params.rbs +1 -1
  145. data/sig/finch-api/models/hris/benefits/individual_enroll_many_params.rbs +1 -1
  146. data/sig/finch-api/models/hris/benefits/individual_enrolled_ids_params.rbs +1 -1
  147. data/sig/finch-api/models/hris/benefits/individual_retrieve_many_benefits_params.rbs +1 -1
  148. data/sig/finch-api/models/hris/benefits/individual_unenroll_many_params.rbs +1 -1
  149. data/sig/finch-api/models/hris/company_retrieve_params.rbs +1 -1
  150. data/sig/finch-api/models/hris/directory_list_individuals_params.rbs +1 -1
  151. data/sig/finch-api/models/hris/directory_list_params.rbs +1 -1
  152. data/sig/finch-api/models/hris/document_list_params.rbs +1 -1
  153. data/sig/finch-api/models/hris/document_retreive_params.rbs +1 -1
  154. data/sig/finch-api/models/hris/employment_retrieve_many_params.rbs +1 -1
  155. data/sig/finch-api/models/hris/individual_retrieve_many_params.rbs +1 -1
  156. data/sig/finch-api/models/hris/pay_statement_retrieve_many_params.rbs +1 -1
  157. data/sig/finch-api/models/hris/payment_list_params.rbs +1 -1
  158. data/sig/finch-api/models/introspection.rbs +10 -1
  159. data/sig/finch-api/models/jobs/automated_create_params.rbs +1 -1
  160. data/sig/finch-api/models/jobs/automated_list_params.rbs +1 -1
  161. data/sig/finch-api/models/jobs/automated_retrieve_params.rbs +1 -1
  162. data/sig/finch-api/models/jobs/manual_retrieve_params.rbs +1 -1
  163. data/sig/finch-api/models/payroll/pay_group_list_params.rbs +1 -1
  164. data/sig/finch-api/models/payroll/pay_group_retrieve_params.rbs +1 -1
  165. data/sig/finch-api/models/provider_list_params.rbs +1 -1
  166. data/sig/finch-api/models/request_forwarding_forward_params.rbs +1 -1
  167. data/sig/finch-api/models/sandbox/company_update_params.rbs +1 -1
  168. data/sig/finch-api/models/sandbox/connection_create_params.rbs +1 -1
  169. data/sig/finch-api/models/sandbox/connections/account_create_params.rbs +1 -1
  170. data/sig/finch-api/models/sandbox/connections/account_update_params.rbs +1 -1
  171. data/sig/finch-api/models/sandbox/directory_create_params.rbs +1 -1
  172. data/sig/finch-api/models/sandbox/employment_update_params.rbs +1 -1
  173. data/sig/finch-api/models/sandbox/individual_update_params.rbs +1 -1
  174. data/sig/finch-api/models/sandbox/job_create_params.rbs +1 -1
  175. data/sig/finch-api/models/sandbox/jobs/configuration_retrieve_params.rbs +1 -1
  176. data/sig/finch-api/models/sandbox/jobs/configuration_update_params.rbs +1 -1
  177. data/sig/finch-api/models/sandbox/payment_create_params.rbs +1 -1
  178. data/sig/finch-api/page.rbs +1 -1
  179. data/sig/finch-api/request_options.rbs +0 -10
  180. data/sig/finch-api/responses_page.rbs +1 -1
  181. data/sig/finch-api/single_page.rbs +1 -1
  182. data/sig/finch-api/transport/base_client.rbs +110 -0
  183. data/sig/finch-api/transport/pooled_net_requester.rbs +39 -0
  184. data/sig/finch-api/type/array_of.rbs +36 -0
  185. data/sig/finch-api/type/base_model.rbs +73 -0
  186. data/sig/finch-api/type/base_page.rbs +22 -0
  187. data/sig/finch-api/type/boolean_model.rbs +18 -0
  188. data/sig/finch-api/type/converter.rbs +36 -0
  189. data/sig/finch-api/type/enum.rbs +22 -0
  190. data/sig/finch-api/type/hash_of.rbs +36 -0
  191. data/sig/finch-api/type/request_parameters.rbs +13 -0
  192. data/sig/finch-api/type/union.rbs +37 -0
  193. data/sig/finch-api/type/unknown.rbs +18 -0
  194. data/sig/finch-api/type.rbs +22 -0
  195. data/sig/finch-api/version.rbs +1 -1
  196. metadata +41 -17
  197. data/lib/finch-api/base_client.rb +0 -457
  198. data/lib/finch-api/base_model.rb +0 -1226
  199. data/lib/finch-api/base_page.rb +0 -59
  200. data/lib/finch-api/extern.rb +0 -7
  201. data/lib/finch-api/pooled_net_requester.rb +0 -180
  202. data/rbi/lib/finch-api/base_client.rbi +0 -196
  203. data/rbi/lib/finch-api/base_model.rbi +0 -643
  204. data/rbi/lib/finch-api/base_page.rbi +0 -36
  205. data/rbi/lib/finch-api/extern.rbi +0 -7
  206. data/rbi/lib/finch-api/pooled_net_requester.rbi +0 -59
  207. data/sig/finch-api/base_client.rbs +0 -106
  208. data/sig/finch-api/base_model.rbs +0 -260
  209. data/sig/finch-api/base_page.rbs +0 -20
  210. data/sig/finch-api/extern.rbs +0 -4
  211. data/sig/finch-api/pooled_net_requester.rbs +0 -37
@@ -1,643 +0,0 @@
1
- # typed: strong
2
-
3
- module FinchAPI
4
- # @api private
5
- module Converter
6
- Input = T.type_alias { T.any(FinchAPI::Converter, T::Class[T.anything]) }
7
-
8
- # @api private
9
- sig { overridable.params(value: T.anything).returns(T.anything) }
10
- def coerce(value)
11
- end
12
-
13
- # @api private
14
- sig { overridable.params(value: T.anything).returns(T.anything) }
15
- def dump(value)
16
- end
17
-
18
- # @api private
19
- sig do
20
- overridable
21
- .params(value: T.anything)
22
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
23
- end
24
- def try_strict_coerce(value)
25
- end
26
-
27
- class << self
28
- # @api private
29
- sig do
30
- params(
31
- spec: T.any(
32
- {
33
- const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)),
34
- enum: T.nilable(T.proc.returns(FinchAPI::Converter::Input)),
35
- union: T.nilable(T.proc.returns(FinchAPI::Converter::Input))
36
- },
37
- T.proc.returns(FinchAPI::Converter::Input),
38
- FinchAPI::Converter::Input
39
- )
40
- )
41
- .returns(T.proc.returns(T.anything).void)
42
- end
43
- def self.type_info(spec)
44
- end
45
-
46
- # @api private
47
- #
48
- # Based on `target`, transform `value` into `target`, to the extent possible:
49
- #
50
- # 1. if the given `value` conforms to `target` already, return the given `value`
51
- # 2. if it's possible and safe to convert the given `value` to `target`, then the
52
- # converted value
53
- # 3. otherwise, the given `value` unaltered
54
- sig { params(target: FinchAPI::Converter::Input, value: T.anything).returns(T.anything) }
55
- def self.coerce(target, value)
56
- end
57
-
58
- # @api private
59
- sig { params(target: FinchAPI::Converter::Input, value: T.anything).returns(T.anything) }
60
- def self.dump(target, value)
61
- end
62
-
63
- # @api private
64
- #
65
- # The underlying algorithm for computing maximal compatibility is subject to
66
- # future improvements.
67
- #
68
- # Similar to `#.coerce`, used to determine the best union variant to decode into.
69
- #
70
- # 1. determine if strict-ish coercion is possible
71
- # 2. return either result of successful coercion or if loose coercion is possible
72
- # 3. return a score for recursively tallied count for fields that can be coerced
73
- sig { params(target: FinchAPI::Converter::Input, value: T.anything).returns(T.anything) }
74
- def self.try_strict_coerce(target, value)
75
- end
76
- end
77
- end
78
-
79
- # @api private
80
- #
81
- # When we don't know what to expect for the value.
82
- class Unknown
83
- extend FinchAPI::Converter
84
-
85
- abstract!
86
- final!
87
-
88
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
89
- def self.===(other)
90
- end
91
-
92
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
93
- def self.==(other)
94
- end
95
-
96
- class << self
97
- # @api private
98
- sig(:final) { override.params(value: T.anything).returns(T.anything) }
99
- def coerce(value)
100
- end
101
-
102
- # @api private
103
- sig(:final) { override.params(value: T.anything).returns(T.anything) }
104
- def dump(value)
105
- end
106
-
107
- # @api private
108
- sig(:final) do
109
- override
110
- .params(value: T.anything)
111
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
112
- end
113
- def try_strict_coerce(value)
114
- end
115
- end
116
- end
117
-
118
- # @api private
119
- #
120
- # Ruby has no Boolean class; this is something for models to refer to.
121
- class BooleanModel
122
- extend FinchAPI::Converter
123
-
124
- abstract!
125
- final!
126
-
127
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
128
- def self.===(other)
129
- end
130
-
131
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
132
- def self.==(other)
133
- end
134
-
135
- class << self
136
- # @api private
137
- sig(:final) do
138
- override.params(value: T.any(T::Boolean, T.anything)).returns(T.any(T::Boolean, T.anything))
139
- end
140
- def coerce(value)
141
- end
142
-
143
- # @api private
144
- sig(:final) do
145
- override.params(value: T.any(T::Boolean, T.anything)).returns(T.any(T::Boolean, T.anything))
146
- end
147
- def dump(value)
148
- end
149
-
150
- # @api private
151
- sig(:final) do
152
- override
153
- .params(value: T.anything)
154
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
155
- end
156
- def try_strict_coerce(value)
157
- end
158
- end
159
- end
160
-
161
- # @api private
162
- #
163
- # A value from among a specified list of options. OpenAPI enum values map to Ruby
164
- # values in the SDK as follows:
165
- #
166
- # 1. boolean => true | false
167
- # 2. integer => Integer
168
- # 3. float => Float
169
- # 4. string => Symbol
170
- #
171
- # We can therefore convert string values to Symbols, but can't convert other
172
- # values safely.
173
- module Enum
174
- include FinchAPI::Converter
175
-
176
- # All of the valid Symbol values for this enum.
177
- sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) }
178
- def values
179
- end
180
-
181
- # @api private
182
- #
183
- # Guard against thread safety issues by instantiating `@values`.
184
- sig { void }
185
- private def finalize!
186
- end
187
-
188
- sig { params(other: T.anything).returns(T::Boolean) }
189
- def ===(other)
190
- end
191
-
192
- sig { params(other: T.anything).returns(T::Boolean) }
193
- def ==(other)
194
- end
195
-
196
- # @api private
197
- sig { override.params(value: T.any(String, Symbol, T.anything)).returns(T.any(Symbol, T.anything)) }
198
- def coerce(value)
199
- end
200
-
201
- # @api private
202
- sig { override.params(value: T.any(Symbol, T.anything)).returns(T.any(Symbol, T.anything)) }
203
- def dump(value)
204
- end
205
-
206
- # @api private
207
- sig do
208
- override
209
- .params(value: T.anything)
210
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
211
- end
212
- def try_strict_coerce(value)
213
- end
214
- end
215
-
216
- # @api private
217
- module Union
218
- include FinchAPI::Converter
219
-
220
- # @api private
221
- #
222
- # All of the specified variant info for this union.
223
- sig { returns(T::Array[[T.nilable(Symbol), T.proc.returns(FinchAPI::Converter::Input)]]) }
224
- private def known_variants
225
- end
226
-
227
- # @api private
228
- sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
229
- protected def derefed_variants
230
- end
231
-
232
- # All of the specified variants for this union.
233
- sig { overridable.returns(T::Array[T.anything]) }
234
- def variants
235
- end
236
-
237
- # @api private
238
- sig { params(property: Symbol).void }
239
- private def discriminator(property)
240
- end
241
-
242
- # @api private
243
- sig do
244
- params(
245
- key: T.any(Symbol, FinchAPI::Util::AnyHash, T.proc.returns(T.anything), T.anything),
246
- spec: T.any(FinchAPI::Util::AnyHash, T.proc.returns(T.anything), T.anything)
247
- )
248
- .void
249
- end
250
- private def variant(key, spec = nil)
251
- end
252
-
253
- # @api private
254
- sig { params(value: T.anything).returns(T.nilable(T.anything)) }
255
- private def resolve_variant(value)
256
- end
257
-
258
- sig { params(other: T.anything).returns(T::Boolean) }
259
- def ===(other)
260
- end
261
-
262
- sig { params(other: T.anything).returns(T::Boolean) }
263
- def ==(other)
264
- end
265
-
266
- # @api private
267
- sig { override.params(value: T.anything).returns(T.anything) }
268
- def coerce(value)
269
- end
270
-
271
- # @api private
272
- sig { override.params(value: T.anything).returns(T.anything) }
273
- def dump(value)
274
- end
275
-
276
- # @api private
277
- sig do
278
- override
279
- .params(value: T.anything)
280
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
281
- end
282
- def try_strict_coerce(value)
283
- end
284
- end
285
-
286
- # @api private
287
- #
288
- # Array of items of a given type.
289
- class ArrayOf
290
- include FinchAPI::Converter
291
-
292
- abstract!
293
- final!
294
-
295
- sig(:final) do
296
- params(
297
- type_info: T.any(
298
- FinchAPI::Util::AnyHash,
299
- T.proc.returns(FinchAPI::Converter::Input),
300
- FinchAPI::Converter::Input
301
- ),
302
- spec: FinchAPI::Util::AnyHash
303
- )
304
- .returns(T.attached_class)
305
- end
306
- def self.[](type_info, spec = {})
307
- end
308
-
309
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
310
- def ===(other)
311
- end
312
-
313
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
314
- def ==(other)
315
- end
316
-
317
- # @api private
318
- sig(:final) do
319
- override
320
- .params(value: T.any(T::Enumerable[T.anything], T.anything))
321
- .returns(T.any(T::Array[T.anything], T.anything))
322
- end
323
- def coerce(value)
324
- end
325
-
326
- # @api private
327
- sig(:final) do
328
- override
329
- .params(value: T.any(T::Enumerable[T.anything], T.anything))
330
- .returns(T.any(T::Array[T.anything], T.anything))
331
- end
332
- def dump(value)
333
- end
334
-
335
- # @api private
336
- sig(:final) do
337
- override
338
- .params(value: T.anything)
339
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
340
- end
341
- def try_strict_coerce(value)
342
- end
343
-
344
- # @api private
345
- sig(:final) { returns(T.anything) }
346
- protected def item_type
347
- end
348
-
349
- # @api private
350
- sig(:final) do
351
- params(
352
- type_info: T.any(
353
- FinchAPI::Util::AnyHash,
354
- T.proc.returns(FinchAPI::Converter::Input),
355
- FinchAPI::Converter::Input
356
- ),
357
- spec: FinchAPI::Util::AnyHash
358
- )
359
- .void
360
- end
361
- def initialize(type_info, spec = {})
362
- end
363
- end
364
-
365
- # @api private
366
- #
367
- # Hash of items of a given type.
368
- class HashOf
369
- include FinchAPI::Converter
370
-
371
- abstract!
372
- final!
373
-
374
- sig(:final) do
375
- params(
376
- type_info: T.any(
377
- FinchAPI::Util::AnyHash,
378
- T.proc.returns(FinchAPI::Converter::Input),
379
- FinchAPI::Converter::Input
380
- ),
381
- spec: FinchAPI::Util::AnyHash
382
- )
383
- .returns(T.attached_class)
384
- end
385
- def self.[](type_info, spec = {})
386
- end
387
-
388
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
389
- def ===(other)
390
- end
391
-
392
- sig(:final) { params(other: T.anything).returns(T::Boolean) }
393
- def ==(other)
394
- end
395
-
396
- # @api private
397
- sig(:final) do
398
- override
399
- .params(value: T.any(T::Hash[T.anything, T.anything], T.anything))
400
- .returns(T.any(FinchAPI::Util::AnyHash, T.anything))
401
- end
402
- def coerce(value)
403
- end
404
-
405
- # @api private
406
- sig(:final) do
407
- override
408
- .params(value: T.any(T::Hash[T.anything, T.anything], T.anything))
409
- .returns(T.any(FinchAPI::Util::AnyHash, T.anything))
410
- end
411
- def dump(value)
412
- end
413
-
414
- # @api private
415
- sig(:final) do
416
- override
417
- .params(value: T.anything)
418
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
419
- end
420
- def try_strict_coerce(value)
421
- end
422
-
423
- # @api private
424
- sig(:final) { returns(T.anything) }
425
- protected def item_type
426
- end
427
-
428
- # @api private
429
- sig(:final) do
430
- params(
431
- type_info: T.any(
432
- FinchAPI::Util::AnyHash,
433
- T.proc.returns(FinchAPI::Converter::Input),
434
- FinchAPI::Converter::Input
435
- ),
436
- spec: FinchAPI::Util::AnyHash
437
- )
438
- .void
439
- end
440
- def initialize(type_info, spec = {})
441
- end
442
- end
443
-
444
- class BaseModel
445
- extend FinchAPI::Converter
446
-
447
- abstract!
448
-
449
- KnownFieldShape = T.type_alias { {mode: T.nilable(Symbol), required: T::Boolean} }
450
-
451
- class << self
452
- # @api private
453
- #
454
- # Assumes superclass fields are totally defined before fields are accessed /
455
- # defined on subclasses.
456
- sig do
457
- returns(
458
- T::Hash[Symbol,
459
- T.all(
460
- FinchAPI::BaseModel::KnownFieldShape,
461
- {type_fn: T.proc.returns(FinchAPI::Converter::Input)}
462
- )]
463
- )
464
- end
465
- def known_fields
466
- end
467
-
468
- # @api private
469
- sig { returns(T::Hash[Symbol, Symbol]) }
470
- def reverse_map
471
- end
472
-
473
- # @api private
474
- sig do
475
- returns(
476
- T::Hash[Symbol,
477
- T.all(FinchAPI::BaseModel::KnownFieldShape, {type: FinchAPI::Converter::Input})]
478
- )
479
- end
480
- def fields
481
- end
482
-
483
- # @api private
484
- sig { returns(T::Hash[Symbol, T.proc.returns(T::Class[T.anything])]) }
485
- def defaults
486
- end
487
-
488
- # @api private
489
- sig do
490
- params(
491
- name_sym: Symbol,
492
- required: T::Boolean,
493
- type_info: T.any(
494
- {
495
- const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)),
496
- enum: T.nilable(T.proc.returns(FinchAPI::Converter::Input)),
497
- union: T.nilable(T.proc.returns(FinchAPI::Converter::Input)),
498
- api_name: Symbol,
499
- nil?: T::Boolean
500
- },
501
- T.proc.returns(FinchAPI::Converter::Input),
502
- FinchAPI::Converter::Input
503
- ),
504
- spec: FinchAPI::Util::AnyHash
505
- )
506
- .void
507
- end
508
- private def add_field(name_sym, required:, type_info:, spec:)
509
- end
510
-
511
- # @api private
512
- sig do
513
- params(
514
- name_sym: Symbol,
515
- type_info: T.any(
516
- FinchAPI::Util::AnyHash,
517
- T.proc.returns(FinchAPI::Converter::Input),
518
- FinchAPI::Converter::Input
519
- ),
520
- spec: FinchAPI::Util::AnyHash
521
- )
522
- .void
523
- end
524
- def required(name_sym, type_info, spec = {})
525
- end
526
-
527
- # @api private
528
- sig do
529
- params(
530
- name_sym: Symbol,
531
- type_info: T.any(
532
- FinchAPI::Util::AnyHash,
533
- T.proc.returns(FinchAPI::Converter::Input),
534
- FinchAPI::Converter::Input
535
- ),
536
- spec: FinchAPI::Util::AnyHash
537
- )
538
- .void
539
- end
540
- def optional(name_sym, type_info, spec = {})
541
- end
542
-
543
- # @api private
544
- #
545
- # `request_only` attributes not excluded from `.#coerce` when receiving responses
546
- # even if well behaved servers should not send them
547
- sig { params(blk: T.proc.void).void }
548
- private def request_only(&blk)
549
- end
550
-
551
- # @api private
552
- #
553
- # `response_only` attributes are omitted from `.#dump` when making requests
554
- sig { params(blk: T.proc.void).void }
555
- private def response_only(&blk)
556
- end
557
- end
558
-
559
- sig { params(other: T.anything).returns(T::Boolean) }
560
- def ==(other)
561
- end
562
-
563
- class << self
564
- # @api private
565
- sig do
566
- override
567
- .params(value: T.any(FinchAPI::BaseModel, T::Hash[T.anything, T.anything], T.anything))
568
- .returns(T.any(T.attached_class, T.anything))
569
- end
570
- def coerce(value)
571
- end
572
-
573
- # @api private
574
- sig do
575
- override
576
- .params(value: T.any(T.attached_class, T.anything))
577
- .returns(T.any(T::Hash[T.anything, T.anything], T.anything))
578
- end
579
- def dump(value)
580
- end
581
-
582
- # @api private
583
- sig do
584
- override
585
- .params(value: T.anything)
586
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
587
- end
588
- def try_strict_coerce(value)
589
- end
590
- end
591
-
592
- # Returns the raw value associated with the given key, if found. Otherwise, nil is
593
- # returned.
594
- #
595
- # It is valid to lookup keys that are not in the API spec, for example to access
596
- # undocumented features. This method does not parse response data into
597
- # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
598
- sig { params(key: Symbol).returns(T.nilable(T.anything)) }
599
- def [](key)
600
- end
601
-
602
- # Returns a Hash of the data underlying this object. O(1)
603
- #
604
- # Keys are Symbols and values are the raw values from the response. The return
605
- # value indicates which values were ever set on the object. i.e. there will be a
606
- # key in this hash if they ever were, even if the set value was nil.
607
- #
608
- # This method is not recursive. The returned value is shared by the object, so it
609
- # should not be mutated.
610
- sig { overridable.returns(FinchAPI::Util::AnyHash) }
611
- def to_h
612
- end
613
-
614
- # Returns a Hash of the data underlying this object. O(1)
615
- #
616
- # Keys are Symbols and values are the raw values from the response. The return
617
- # value indicates which values were ever set on the object. i.e. there will be a
618
- # key in this hash if they ever were, even if the set value was nil.
619
- #
620
- # This method is not recursive. The returned value is shared by the object, so it
621
- # should not be mutated.
622
- sig { overridable.returns(FinchAPI::Util::AnyHash) }
623
- def to_hash
624
- end
625
-
626
- sig { params(keys: T.nilable(T::Array[Symbol])).returns(FinchAPI::Util::AnyHash) }
627
- def deconstruct_keys(keys)
628
- end
629
-
630
- # Create a new instance of a model.
631
- sig { params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(T.attached_class) }
632
- def self.new(data = {})
633
- end
634
-
635
- sig { returns(String) }
636
- def to_s
637
- end
638
-
639
- sig { returns(String) }
640
- def inspect
641
- end
642
- end
643
- end
@@ -1,36 +0,0 @@
1
- # typed: strong
2
-
3
- module FinchAPI
4
- module BasePage
5
- Elem = type_member(:out)
6
-
7
- sig { overridable.returns(T::Boolean) }
8
- def next_page?
9
- end
10
-
11
- sig { overridable.returns(T.self_type) }
12
- def next_page
13
- end
14
-
15
- sig { overridable.params(blk: T.proc.params(arg0: Elem).void).void }
16
- def auto_paging_each(&blk)
17
- end
18
-
19
- sig { returns(T::Enumerable[Elem]) }
20
- def to_enum
21
- end
22
-
23
- # @api private
24
- sig do
25
- params(
26
- client: FinchAPI::BaseClient,
27
- req: FinchAPI::BaseClient::RequestComponentsShape,
28
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
29
- page_data: T.anything
30
- )
31
- .void
32
- end
33
- def initialize(client:, req:, headers:, page_data:)
34
- end
35
- end
36
- end
@@ -1,7 +0,0 @@
1
- # typed: strong
2
-
3
- module FinchAPI
4
- # @api private
5
- module Extern
6
- end
7
- end