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
@@ -0,0 +1,101 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ module Type
5
+ # @api private
6
+ module Converter
7
+ Input = T.type_alias { T.any(FinchAPI::Type::Converter, T::Class[T.anything]) }
8
+
9
+ State =
10
+ T.type_alias do
11
+ {
12
+ strictness: T.any(T::Boolean, Symbol),
13
+ exactness: {yes: Integer, no: Integer, maybe: Integer},
14
+ branched: Integer
15
+ }
16
+ end
17
+
18
+ # @api private
19
+ sig do
20
+ overridable.params(value: T.anything, state: FinchAPI::Type::Converter::State).returns(T.anything)
21
+ end
22
+ def coerce(value, state:)
23
+ end
24
+
25
+ # @api private
26
+ sig { overridable.params(value: T.anything).returns(T.anything) }
27
+ def dump(value)
28
+ end
29
+
30
+ class << self
31
+ # @api private
32
+ sig do
33
+ params(
34
+ spec: T.any(
35
+ {
36
+ const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)),
37
+ enum: T.nilable(T.proc.returns(FinchAPI::Type::Converter::Input)),
38
+ union: T.nilable(T.proc.returns(FinchAPI::Type::Converter::Input))
39
+ },
40
+ T.proc.returns(FinchAPI::Type::Converter::Input),
41
+ FinchAPI::Type::Converter::Input
42
+ )
43
+ )
44
+ .returns(T.proc.returns(T.anything))
45
+ end
46
+ def self.type_info(spec)
47
+ end
48
+
49
+ # @api private
50
+ #
51
+ # Based on `target`, transform `value` into `target`, to the extent possible:
52
+ #
53
+ # 1. if the given `value` conforms to `target` already, return the given `value`
54
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
55
+ # converted value
56
+ # 3. otherwise, the given `value` unaltered
57
+ #
58
+ # The coercion process is subject to improvement between minor release versions.
59
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
60
+ sig do
61
+ params(
62
+ target: FinchAPI::Type::Converter::Input,
63
+ value: T.anything,
64
+ state: FinchAPI::Type::Converter::State
65
+ )
66
+ .returns(T.anything)
67
+ end
68
+ def self.coerce(
69
+ target,
70
+ value,
71
+ # The `strictness` is one of `true`, `false`, or `:strong`. This informs the
72
+ # coercion strategy when we have to decide between multiple possible conversion
73
+ # targets:
74
+ #
75
+ # - `true`: the conversion must be exact, with minimum coercion.
76
+ # - `false`: the conversion can be approximate, with some coercion.
77
+ # - `:strong`: the conversion must be exact, with no coercion, and raise an error
78
+ # if not possible.
79
+ #
80
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
81
+ # any given conversion attempt, the exactness will be updated based on how closely
82
+ # the value recursively matches the target type:
83
+ #
84
+ # - `yes`: the value can be converted to the target type with minimum coercion.
85
+ # - `maybe`: the value can be converted to the target type with some reasonable
86
+ # coercion.
87
+ # - `no`: the value cannot be converted to the target type.
88
+ #
89
+ # See implementation below for more details.
90
+ state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0}
91
+ )
92
+ end
93
+
94
+ # @api private
95
+ sig { params(target: FinchAPI::Type::Converter::Input, value: T.anything).returns(T.anything) }
96
+ def self.dump(target, value)
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ module Type
5
+ # @api private
6
+ #
7
+ # A value from among a specified list of options. OpenAPI enum values map to Ruby
8
+ # values in the SDK as follows:
9
+ #
10
+ # 1. boolean => true | false
11
+ # 2. integer => Integer
12
+ # 3. float => Float
13
+ # 4. string => Symbol
14
+ #
15
+ # We can therefore convert string values to Symbols, but can't convert other
16
+ # values safely.
17
+ module Enum
18
+ include FinchAPI::Type::Converter
19
+
20
+ # All of the valid Symbol values for this enum.
21
+ sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) }
22
+ def values
23
+ end
24
+
25
+ # @api private
26
+ #
27
+ # Guard against thread safety issues by instantiating `@values`.
28
+ sig { void }
29
+ private def finalize!
30
+ end
31
+
32
+ sig { params(other: T.anything).returns(T::Boolean) }
33
+ def ===(other)
34
+ end
35
+
36
+ sig { params(other: T.anything).returns(T::Boolean) }
37
+ def ==(other)
38
+ end
39
+
40
+ # @api private
41
+ #
42
+ # Unlike with primitives, `Enum` additionally validates that the value is a member
43
+ # of the enum.
44
+ sig do
45
+ override
46
+ .params(value: T.any(String, Symbol, T.anything), state: FinchAPI::Type::Converter::State)
47
+ .returns(T.any(Symbol, T.anything))
48
+ end
49
+ def coerce(value, state:)
50
+ end
51
+
52
+ # @api private
53
+ sig { override.params(value: T.any(Symbol, T.anything)).returns(T.any(Symbol, T.anything)) }
54
+ def dump(value)
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,86 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ module Type
5
+ # @api private
6
+ #
7
+ # Hash of items of a given type.
8
+ class HashOf
9
+ include FinchAPI::Type::Converter
10
+
11
+ abstract!
12
+ final!
13
+
14
+ Elem = type_member(:out)
15
+
16
+ sig(:final) do
17
+ params(
18
+ type_info: T.any(
19
+ FinchAPI::Util::AnyHash,
20
+ T.proc.returns(FinchAPI::Type::Converter::Input),
21
+ FinchAPI::Type::Converter::Input
22
+ ),
23
+ spec: FinchAPI::Util::AnyHash
24
+ )
25
+ .returns(T.attached_class)
26
+ end
27
+ def self.[](type_info, spec = {})
28
+ end
29
+
30
+ sig(:final) { params(other: T.anything).returns(T::Boolean) }
31
+ def ===(other)
32
+ end
33
+
34
+ sig(:final) { params(other: T.anything).returns(T::Boolean) }
35
+ def ==(other)
36
+ end
37
+
38
+ # @api private
39
+ sig(:final) do
40
+ override
41
+ .params(value: T.any(
42
+ T::Hash[T.anything, T.anything],
43
+ T.anything
44
+ ),
45
+ state: FinchAPI::Type::Converter::State)
46
+ .returns(T.any(FinchAPI::Util::AnyHash, T.anything))
47
+ end
48
+ def coerce(value, state:)
49
+ end
50
+
51
+ # @api private
52
+ sig(:final) do
53
+ override
54
+ .params(value: T.any(T::Hash[T.anything, T.anything], T.anything))
55
+ .returns(T.any(FinchAPI::Util::AnyHash, T.anything))
56
+ end
57
+ def dump(value)
58
+ end
59
+
60
+ # @api private
61
+ sig(:final) { returns(Elem) }
62
+ protected def item_type
63
+ end
64
+
65
+ # @api private
66
+ sig(:final) { returns(T::Boolean) }
67
+ protected def nilable?
68
+ end
69
+
70
+ # @api private
71
+ sig(:final) do
72
+ params(
73
+ type_info: T.any(
74
+ FinchAPI::Util::AnyHash,
75
+ T.proc.returns(FinchAPI::Type::Converter::Input),
76
+ FinchAPI::Type::Converter::Input
77
+ ),
78
+ spec: FinchAPI::Util::AnyHash
79
+ )
80
+ .void
81
+ end
82
+ def initialize(type_info, spec = {})
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,20 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ module Type
5
+ # @api private
6
+ module RequestParameters
7
+ # Options to specify HTTP behaviour for this request.
8
+ sig { returns(T.any(FinchAPI::RequestOptions, FinchAPI::Util::AnyHash)) }
9
+ attr_accessor :request_options
10
+
11
+ # @api private
12
+ module Converter
13
+ # @api private
14
+ sig { params(params: T.anything).returns([T.anything, FinchAPI::Util::AnyHash]) }
15
+ def dump_request(params)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,66 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ module Type
5
+ # @api private
6
+ module Union
7
+ include FinchAPI::Type::Converter
8
+
9
+ # @api private
10
+ #
11
+ # All of the specified variant info for this union.
12
+ sig { returns(T::Array[[T.nilable(Symbol), T.proc.returns(FinchAPI::Type::Converter::Input)]]) }
13
+ private def known_variants
14
+ end
15
+
16
+ # @api private
17
+ sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
18
+ protected def derefed_variants
19
+ end
20
+
21
+ # All of the specified variants for this union.
22
+ sig { overridable.returns(T::Array[T.anything]) }
23
+ def variants
24
+ end
25
+
26
+ # @api private
27
+ sig { params(property: Symbol).void }
28
+ private def discriminator(property)
29
+ end
30
+
31
+ # @api private
32
+ sig do
33
+ params(
34
+ key: T.any(Symbol, FinchAPI::Util::AnyHash, T.proc.returns(T.anything), T.anything),
35
+ spec: T.any(FinchAPI::Util::AnyHash, T.proc.returns(T.anything), T.anything)
36
+ )
37
+ .void
38
+ end
39
+ private def variant(key, spec = nil)
40
+ end
41
+
42
+ # @api private
43
+ sig { params(value: T.anything).returns(T.nilable(T.anything)) }
44
+ private def resolve_variant(value)
45
+ end
46
+
47
+ sig { params(other: T.anything).returns(T::Boolean) }
48
+ def ===(other)
49
+ end
50
+
51
+ sig { params(other: T.anything).returns(T::Boolean) }
52
+ def ==(other)
53
+ end
54
+
55
+ # @api private
56
+ sig { override.params(value: T.anything, state: FinchAPI::Type::Converter::State).returns(T.anything) }
57
+ def coerce(value, state:)
58
+ end
59
+
60
+ # @api private
61
+ sig { override.params(value: T.anything).returns(T.anything) }
62
+ def dump(value)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,37 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ module Type
5
+ # @api private
6
+ #
7
+ # When we don't know what to expect for the value.
8
+ class Unknown
9
+ extend FinchAPI::Type::Converter
10
+
11
+ abstract!
12
+ final!
13
+
14
+ sig(:final) { params(other: T.anything).returns(T::Boolean) }
15
+ def self.===(other)
16
+ end
17
+
18
+ sig(:final) { params(other: T.anything).returns(T::Boolean) }
19
+ def self.==(other)
20
+ end
21
+
22
+ class << self
23
+ # @api private
24
+ sig(:final) do
25
+ override.params(value: T.anything, state: FinchAPI::Type::Converter::State).returns(T.anything)
26
+ end
27
+ def coerce(value, state:)
28
+ end
29
+
30
+ # @api private
31
+ sig(:final) { override.params(value: T.anything).returns(T.anything) }
32
+ def dump(value)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,23 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ Unknown = FinchAPI::Type::Unknown
5
+
6
+ BooleanModel = FinchAPI::Type::BooleanModel
7
+
8
+ Enum = FinchAPI::Type::Enum
9
+
10
+ Union = FinchAPI::Type::Union
11
+
12
+ ArrayOf = FinchAPI::Type::ArrayOf
13
+
14
+ HashOf = FinchAPI::Type::HashOf
15
+
16
+ BaseModel = FinchAPI::Type::BaseModel
17
+
18
+ RequestParameters = FinchAPI::Type::RequestParameters
19
+
20
+ # This module contains various type declarations.
21
+ module Type
22
+ end
23
+ end
@@ -1,5 +1,5 @@
1
1
  # typed: strong
2
2
 
3
3
  module FinchAPI
4
- VERSION = "0.1.0-alpha.3"
4
+ VERSION = "0.1.0-alpha.5"
5
5
  end
@@ -1,5 +1,5 @@
1
1
  module FinchAPI
2
- class Client < FinchAPI::BaseClient
2
+ class Client < FinchAPI::Transport::BaseClient
3
3
  DEFAULT_MAX_RETRIES: 2
4
4
 
5
5
  DEFAULT_TIMEOUT_IN_SECONDS: Float
@@ -1,6 +1,6 @@
1
1
  module FinchAPI
2
2
  class IndividualsPage[Elem]
3
- include FinchAPI::BasePage[Elem]
3
+ include FinchAPI::Type::BasePage[Elem]
4
4
 
5
5
  attr_accessor individuals: ::Array[Elem]?
6
6
 
@@ -10,7 +10,7 @@ module FinchAPI
10
10
  & FinchAPI::request_parameters
11
11
 
12
12
  class AccessTokenCreateParams < FinchAPI::BaseModel
13
- extend FinchAPI::RequestParameters::Converter
13
+ extend FinchAPI::Type::RequestParameters::Converter
14
14
  include FinchAPI::RequestParameters
15
15
 
16
16
  attr_accessor code: String
@@ -3,7 +3,7 @@ module FinchAPI
3
3
  type account_disconnect_params = { } & FinchAPI::request_parameters
4
4
 
5
5
  class AccountDisconnectParams < FinchAPI::BaseModel
6
- extend FinchAPI::RequestParameters::Converter
6
+ extend FinchAPI::Type::RequestParameters::Converter
7
7
  include FinchAPI::RequestParameters
8
8
 
9
9
  def initialize: (?request_options: FinchAPI::request_opts) -> void
@@ -3,7 +3,7 @@ module FinchAPI
3
3
  type account_introspect_params = { } & FinchAPI::request_parameters
4
4
 
5
5
  class AccountIntrospectParams < FinchAPI::BaseModel
6
- extend FinchAPI::RequestParameters::Converter
6
+ extend FinchAPI::Type::RequestParameters::Converter
7
7
  include FinchAPI::RequestParameters
8
8
 
9
9
  def initialize: (?request_options: FinchAPI::request_opts) -> void
@@ -16,7 +16,7 @@ module FinchAPI
16
16
  & FinchAPI::request_parameters
17
17
 
18
18
  class SessionNewParams < FinchAPI::BaseModel
19
- extend FinchAPI::RequestParameters::Converter
19
+ extend FinchAPI::Type::RequestParameters::Converter
20
20
  include FinchAPI::RequestParameters
21
21
 
22
22
  attr_accessor customer_id: String
@@ -11,7 +11,7 @@ module FinchAPI
11
11
  & FinchAPI::request_parameters
12
12
 
13
13
  class SessionReauthenticateParams < FinchAPI::BaseModel
14
- extend FinchAPI::RequestParameters::Converter
14
+ extend FinchAPI::Type::RequestParameters::Converter
15
15
  include FinchAPI::RequestParameters
16
16
 
17
17
  attr_accessor connection_id: String
@@ -10,7 +10,7 @@ module FinchAPI
10
10
  & FinchAPI::request_parameters
11
11
 
12
12
  class BenefitCreateParams < FinchAPI::BaseModel
13
- extend FinchAPI::RequestParameters::Converter
13
+ extend FinchAPI::Type::RequestParameters::Converter
14
14
  include FinchAPI::RequestParameters
15
15
 
16
16
  attr_reader description: String?
@@ -4,7 +4,7 @@ module FinchAPI
4
4
  type benefit_list_params = { } & FinchAPI::request_parameters
5
5
 
6
6
  class BenefitListParams < FinchAPI::BaseModel
7
- extend FinchAPI::RequestParameters::Converter
7
+ extend FinchAPI::Type::RequestParameters::Converter
8
8
  include FinchAPI::RequestParameters
9
9
 
10
10
  def initialize: (?request_options: FinchAPI::request_opts) -> void
@@ -5,7 +5,7 @@ module FinchAPI
5
5
  { } & FinchAPI::request_parameters
6
6
 
7
7
  class BenefitListSupportedBenefitsParams < FinchAPI::BaseModel
8
- extend FinchAPI::RequestParameters::Converter
8
+ extend FinchAPI::Type::RequestParameters::Converter
9
9
  include FinchAPI::RequestParameters
10
10
 
11
11
  def initialize: (?request_options: FinchAPI::request_opts) -> void
@@ -4,7 +4,7 @@ module FinchAPI
4
4
  type benefit_retrieve_params = { } & FinchAPI::request_parameters
5
5
 
6
6
  class BenefitRetrieveParams < FinchAPI::BaseModel
7
- extend FinchAPI::RequestParameters::Converter
7
+ extend FinchAPI::Type::RequestParameters::Converter
8
8
  include FinchAPI::RequestParameters
9
9
 
10
10
  def initialize: (?request_options: FinchAPI::request_opts) -> void
@@ -5,7 +5,7 @@ module FinchAPI
5
5
  { description: String } & FinchAPI::request_parameters
6
6
 
7
7
  class BenefitUpdateParams < FinchAPI::BaseModel
8
- extend FinchAPI::RequestParameters::Converter
8
+ extend FinchAPI::Type::RequestParameters::Converter
9
9
  include FinchAPI::RequestParameters
10
10
 
11
11
  attr_reader description: String?
@@ -9,7 +9,7 @@ module FinchAPI
9
9
  & FinchAPI::request_parameters
10
10
 
11
11
  class IndividualEnrollManyParams < FinchAPI::BaseModel
12
- extend FinchAPI::RequestParameters::Converter
12
+ extend FinchAPI::Type::RequestParameters::Converter
13
13
  include FinchAPI::RequestParameters
14
14
 
15
15
  attr_reader individuals: ::Array[FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyParams::Individual]?
@@ -6,7 +6,7 @@ module FinchAPI
6
6
  { } & FinchAPI::request_parameters
7
7
 
8
8
  class IndividualEnrolledIDsParams < FinchAPI::BaseModel
9
- extend FinchAPI::RequestParameters::Converter
9
+ extend FinchAPI::Type::RequestParameters::Converter
10
10
  include FinchAPI::RequestParameters
11
11
 
12
12
  def initialize: (?request_options: FinchAPI::request_opts) -> void
@@ -6,7 +6,7 @@ module FinchAPI
6
6
  { individual_ids: String } & FinchAPI::request_parameters
7
7
 
8
8
  class IndividualRetrieveManyBenefitsParams < FinchAPI::BaseModel
9
- extend FinchAPI::RequestParameters::Converter
9
+ extend FinchAPI::Type::RequestParameters::Converter
10
10
  include FinchAPI::RequestParameters
11
11
 
12
12
  attr_reader individual_ids: String?
@@ -6,7 +6,7 @@ module FinchAPI
6
6
  { individual_ids: ::Array[String] } & FinchAPI::request_parameters
7
7
 
8
8
  class IndividualUnenrollManyParams < FinchAPI::BaseModel
9
- extend FinchAPI::RequestParameters::Converter
9
+ extend FinchAPI::Type::RequestParameters::Converter
10
10
  include FinchAPI::RequestParameters
11
11
 
12
12
  attr_reader individual_ids: ::Array[String]?
@@ -4,7 +4,7 @@ module FinchAPI
4
4
  type company_retrieve_params = { } & FinchAPI::request_parameters
5
5
 
6
6
  class CompanyRetrieveParams < FinchAPI::BaseModel
7
- extend FinchAPI::RequestParameters::Converter
7
+ extend FinchAPI::Type::RequestParameters::Converter
8
8
  include FinchAPI::RequestParameters
9
9
 
10
10
  def initialize: (?request_options: FinchAPI::request_opts) -> void
@@ -5,7 +5,7 @@ module FinchAPI
5
5
  { limit: Integer, offset: Integer } & FinchAPI::request_parameters
6
6
 
7
7
  class DirectoryListIndividualsParams < FinchAPI::BaseModel
8
- extend FinchAPI::RequestParameters::Converter
8
+ extend FinchAPI::Type::RequestParameters::Converter
9
9
  include FinchAPI::RequestParameters
10
10
 
11
11
  attr_reader limit: Integer?
@@ -5,7 +5,7 @@ module FinchAPI
5
5
  { limit: Integer, offset: Integer } & FinchAPI::request_parameters
6
6
 
7
7
  class DirectoryListParams < FinchAPI::BaseModel
8
- extend FinchAPI::RequestParameters::Converter
8
+ extend FinchAPI::Type::RequestParameters::Converter
9
9
  include FinchAPI::RequestParameters
10
10
 
11
11
  attr_reader limit: Integer?
@@ -11,7 +11,7 @@ module FinchAPI
11
11
  & FinchAPI::request_parameters
12
12
 
13
13
  class DocumentListParams < FinchAPI::BaseModel
14
- extend FinchAPI::RequestParameters::Converter
14
+ extend FinchAPI::Type::RequestParameters::Converter
15
15
  include FinchAPI::RequestParameters
16
16
 
17
17
  attr_reader individual_ids: ::Array[String]?
@@ -4,7 +4,7 @@ module FinchAPI
4
4
  type document_retreive_params = { } & FinchAPI::request_parameters
5
5
 
6
6
  class DocumentRetreiveParams < FinchAPI::BaseModel
7
- extend FinchAPI::RequestParameters::Converter
7
+ extend FinchAPI::Type::RequestParameters::Converter
8
8
  include FinchAPI::RequestParameters
9
9
 
10
10
  def initialize: (?request_options: FinchAPI::request_opts) -> void
@@ -8,7 +8,7 @@ module FinchAPI
8
8
  & FinchAPI::request_parameters
9
9
 
10
10
  class EmploymentRetrieveManyParams < FinchAPI::BaseModel
11
- extend FinchAPI::RequestParameters::Converter
11
+ extend FinchAPI::Type::RequestParameters::Converter
12
12
  include FinchAPI::RequestParameters
13
13
 
14
14
  attr_accessor requests: ::Array[FinchAPI::Models::HRIS::EmploymentRetrieveManyParams::Request]
@@ -9,7 +9,7 @@ module FinchAPI
9
9
  & FinchAPI::request_parameters
10
10
 
11
11
  class IndividualRetrieveManyParams < FinchAPI::BaseModel
12
- extend FinchAPI::RequestParameters::Converter
12
+ extend FinchAPI::Type::RequestParameters::Converter
13
13
  include FinchAPI::RequestParameters
14
14
 
15
15
  attr_accessor options: FinchAPI::Models::HRIS::IndividualRetrieveManyParams::Options?
@@ -8,7 +8,7 @@ module FinchAPI
8
8
  & FinchAPI::request_parameters
9
9
 
10
10
  class PayStatementRetrieveManyParams < FinchAPI::BaseModel
11
- extend FinchAPI::RequestParameters::Converter
11
+ extend FinchAPI::Type::RequestParameters::Converter
12
12
  include FinchAPI::RequestParameters
13
13
 
14
14
  attr_accessor requests: ::Array[FinchAPI::Models::HRIS::PayStatementRetrieveManyParams::Request]
@@ -5,7 +5,7 @@ module FinchAPI
5
5
  { end_date: Date, start_date: Date } & FinchAPI::request_parameters
6
6
 
7
7
  class PaymentListParams < FinchAPI::BaseModel
8
- extend FinchAPI::RequestParameters::Converter
8
+ extend FinchAPI::Type::RequestParameters::Converter
9
9
  include FinchAPI::RequestParameters
10
10
 
11
11
  attr_accessor end_date: Date