e-invoice-api 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 (233) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +57 -0
  4. data/README.md +285 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/e_invoice_api/client.rb +94 -0
  7. data/lib/e_invoice_api/errors.rb +192 -0
  8. data/lib/e_invoice_api/file_part.rb +55 -0
  9. data/lib/e_invoice_api/internal/documents_number_page.rb +96 -0
  10. data/lib/e_invoice_api/internal/transport/base_client.rb +555 -0
  11. data/lib/e_invoice_api/internal/transport/pooled_net_requester.rb +209 -0
  12. data/lib/e_invoice_api/internal/type/array_of.rb +162 -0
  13. data/lib/e_invoice_api/internal/type/base_model.rb +482 -0
  14. data/lib/e_invoice_api/internal/type/base_page.rb +55 -0
  15. data/lib/e_invoice_api/internal/type/boolean.rb +71 -0
  16. data/lib/e_invoice_api/internal/type/converter.rb +292 -0
  17. data/lib/e_invoice_api/internal/type/enum.rb +148 -0
  18. data/lib/e_invoice_api/internal/type/file_input.rb +103 -0
  19. data/lib/e_invoice_api/internal/type/hash_of.rb +182 -0
  20. data/lib/e_invoice_api/internal/type/request_parameters.rb +42 -0
  21. data/lib/e_invoice_api/internal/type/union.rb +236 -0
  22. data/lib/e_invoice_api/internal/type/unknown.rb +75 -0
  23. data/lib/e_invoice_api/internal/util.rb +914 -0
  24. data/lib/e_invoice_api/internal.rb +20 -0
  25. data/lib/e_invoice_api/models/certificate.rb +34 -0
  26. data/lib/e_invoice_api/models/currency_code.rb +28 -0
  27. data/lib/e_invoice_api/models/document_attachment_create.rb +33 -0
  28. data/lib/e_invoice_api/models/document_create.rb +521 -0
  29. data/lib/e_invoice_api/models/document_create_params.rb +14 -0
  30. data/lib/e_invoice_api/models/document_delete_params.rb +14 -0
  31. data/lib/e_invoice_api/models/document_delete_response.rb +16 -0
  32. data/lib/e_invoice_api/models/document_direction.rb +15 -0
  33. data/lib/e_invoice_api/models/document_response.rb +418 -0
  34. data/lib/e_invoice_api/models/document_retrieve_params.rb +14 -0
  35. data/lib/e_invoice_api/models/document_send_params.rb +44 -0
  36. data/lib/e_invoice_api/models/document_state.rb +18 -0
  37. data/lib/e_invoice_api/models/document_type.rb +15 -0
  38. data/lib/e_invoice_api/models/documents/attachment_add_params.rb +22 -0
  39. data/lib/e_invoice_api/models/documents/attachment_delete_params.rb +22 -0
  40. data/lib/e_invoice_api/models/documents/attachment_delete_response.rb +18 -0
  41. data/lib/e_invoice_api/models/documents/attachment_list_params.rb +16 -0
  42. data/lib/e_invoice_api/models/documents/attachment_list_response.rb +11 -0
  43. data/lib/e_invoice_api/models/documents/attachment_retrieve_params.rb +22 -0
  44. data/lib/e_invoice_api/models/documents/document_attachment.rb +44 -0
  45. data/lib/e_invoice_api/models/documents/ubl_get_params.rb +16 -0
  46. data/lib/e_invoice_api/models/documents/ubl_get_response.rb +72 -0
  47. data/lib/e_invoice_api/models/inbox_list_credit_notes_params.rb +30 -0
  48. data/lib/e_invoice_api/models/inbox_list_invoices_params.rb +30 -0
  49. data/lib/e_invoice_api/models/inbox_list_params.rb +78 -0
  50. data/lib/e_invoice_api/models/lookup_retrieve_params.rb +26 -0
  51. data/lib/e_invoice_api/models/lookup_retrieve_response.rb +491 -0
  52. data/lib/e_invoice_api/models/outbox_list_draft_documents_params.rb +30 -0
  53. data/lib/e_invoice_api/models/outbox_list_received_documents_params.rb +78 -0
  54. data/lib/e_invoice_api/models/paginated_document_response.rb +39 -0
  55. data/lib/e_invoice_api/models/payment_detail_create.rb +33 -0
  56. data/lib/e_invoice_api/models/ubl_document_validation.rb +97 -0
  57. data/lib/e_invoice_api/models/unit_of_measure_code.rb +104 -0
  58. data/lib/e_invoice_api/models/validate_validate_json_params.rb +14 -0
  59. data/lib/e_invoice_api/models/validate_validate_peppol_id_params.rb +26 -0
  60. data/lib/e_invoice_api/models/validate_validate_peppol_id_response.rb +80 -0
  61. data/lib/e_invoice_api/models/validate_validate_ubl_params.rb +20 -0
  62. data/lib/e_invoice_api/models/webhook_create_params.rb +32 -0
  63. data/lib/e_invoice_api/models/webhook_delete_params.rb +14 -0
  64. data/lib/e_invoice_api/models/webhook_delete_response.rb +18 -0
  65. data/lib/e_invoice_api/models/webhook_list_params.rb +14 -0
  66. data/lib/e_invoice_api/models/webhook_list_response.rb +8 -0
  67. data/lib/e_invoice_api/models/webhook_response.rb +42 -0
  68. data/lib/e_invoice_api/models/webhook_retrieve_params.rb +14 -0
  69. data/lib/e_invoice_api/models/webhook_update_params.rb +32 -0
  70. data/lib/e_invoice_api/models.rb +105 -0
  71. data/lib/e_invoice_api/request_options.rb +77 -0
  72. data/lib/e_invoice_api/resources/documents/attachments.rb +109 -0
  73. data/lib/e_invoice_api/resources/documents/ubl.rb +35 -0
  74. data/lib/e_invoice_api/resources/documents.rb +188 -0
  75. data/lib/e_invoice_api/resources/inbox.rb +101 -0
  76. data/lib/e_invoice_api/resources/lookup.rb +43 -0
  77. data/lib/e_invoice_api/resources/outbox.rb +76 -0
  78. data/lib/e_invoice_api/resources/validate.rb +168 -0
  79. data/lib/e_invoice_api/resources/webhooks.rb +117 -0
  80. data/lib/e_invoice_api/version.rb +5 -0
  81. data/lib/e_invoice_api.rb +107 -0
  82. data/manifest.yaml +15 -0
  83. data/rbi/e_invoice_api/client.rbi +64 -0
  84. data/rbi/e_invoice_api/errors.rbi +162 -0
  85. data/rbi/e_invoice_api/file_part.rbi +37 -0
  86. data/rbi/e_invoice_api/internal/documents_number_page.rbi +28 -0
  87. data/rbi/e_invoice_api/internal/transport/base_client.rbi +298 -0
  88. data/rbi/e_invoice_api/internal/transport/pooled_net_requester.rbi +80 -0
  89. data/rbi/e_invoice_api/internal/type/array_of.rbi +104 -0
  90. data/rbi/e_invoice_api/internal/type/base_model.rbi +304 -0
  91. data/rbi/e_invoice_api/internal/type/base_page.rbi +43 -0
  92. data/rbi/e_invoice_api/internal/type/boolean.rbi +56 -0
  93. data/rbi/e_invoice_api/internal/type/converter.rbi +162 -0
  94. data/rbi/e_invoice_api/internal/type/enum.rbi +82 -0
  95. data/rbi/e_invoice_api/internal/type/file_input.rbi +59 -0
  96. data/rbi/e_invoice_api/internal/type/hash_of.rbi +104 -0
  97. data/rbi/e_invoice_api/internal/type/request_parameters.rbi +31 -0
  98. data/rbi/e_invoice_api/internal/type/union.rbi +116 -0
  99. data/rbi/e_invoice_api/internal/type/unknown.rbi +56 -0
  100. data/rbi/e_invoice_api/internal/util.rbi +487 -0
  101. data/rbi/e_invoice_api/internal.rbi +18 -0
  102. data/rbi/e_invoice_api/models/certificate.rbi +54 -0
  103. data/rbi/e_invoice_api/models/currency_code.rbi +34 -0
  104. data/rbi/e_invoice_api/models/document_attachment_create.rbi +57 -0
  105. data/rbi/e_invoice_api/models/document_create.rbi +638 -0
  106. data/rbi/e_invoice_api/models/document_create_params.rbi +30 -0
  107. data/rbi/e_invoice_api/models/document_delete_params.rbi +30 -0
  108. data/rbi/e_invoice_api/models/document_delete_response.rbi +26 -0
  109. data/rbi/e_invoice_api/models/document_direction.rbi +22 -0
  110. data/rbi/e_invoice_api/models/document_response.rbi +504 -0
  111. data/rbi/e_invoice_api/models/document_retrieve_params.rbi +30 -0
  112. data/rbi/e_invoice_api/models/document_send_params.rbi +65 -0
  113. data/rbi/e_invoice_api/models/document_state.rbi +24 -0
  114. data/rbi/e_invoice_api/models/document_type.rbi +21 -0
  115. data/rbi/e_invoice_api/models/documents/attachment_add_params.rbi +43 -0
  116. data/rbi/e_invoice_api/models/documents/attachment_delete_params.rbi +43 -0
  117. data/rbi/e_invoice_api/models/documents/attachment_delete_response.rbi +28 -0
  118. data/rbi/e_invoice_api/models/documents/attachment_list_params.rbi +34 -0
  119. data/rbi/e_invoice_api/models/documents/attachment_list_response.rbi +15 -0
  120. data/rbi/e_invoice_api/models/documents/attachment_retrieve_params.rbi +43 -0
  121. data/rbi/e_invoice_api/models/documents/document_attachment.rbi +72 -0
  122. data/rbi/e_invoice_api/models/documents/ubl_get_params.rbi +34 -0
  123. data/rbi/e_invoice_api/models/documents/ubl_get_response.rbi +97 -0
  124. data/rbi/e_invoice_api/models/inbox_list_credit_notes_params.rbi +60 -0
  125. data/rbi/e_invoice_api/models/inbox_list_invoices_params.rbi +60 -0
  126. data/rbi/e_invoice_api/models/inbox_list_params.rbi +105 -0
  127. data/rbi/e_invoice_api/models/lookup_retrieve_params.rbi +45 -0
  128. data/rbi/e_invoice_api/models/lookup_retrieve_response.rbi +852 -0
  129. data/rbi/e_invoice_api/models/outbox_list_draft_documents_params.rbi +60 -0
  130. data/rbi/e_invoice_api/models/outbox_list_received_documents_params.rbi +108 -0
  131. data/rbi/e_invoice_api/models/paginated_document_response.rbi +56 -0
  132. data/rbi/e_invoice_api/models/payment_detail_create.rbi +56 -0
  133. data/rbi/e_invoice_api/models/ubl_document_validation.rbi +159 -0
  134. data/rbi/e_invoice_api/models/unit_of_measure_code.rbi +149 -0
  135. data/rbi/e_invoice_api/models/validate_validate_json_params.rbi +30 -0
  136. data/rbi/e_invoice_api/models/validate_validate_peppol_id_params.rbi +45 -0
  137. data/rbi/e_invoice_api/models/validate_validate_peppol_id_response.rbi +141 -0
  138. data/rbi/e_invoice_api/models/validate_validate_ubl_params.rbi +41 -0
  139. data/rbi/e_invoice_api/models/webhook_create_params.rbi +54 -0
  140. data/rbi/e_invoice_api/models/webhook_delete_params.rbi +30 -0
  141. data/rbi/e_invoice_api/models/webhook_delete_response.rbi +27 -0
  142. data/rbi/e_invoice_api/models/webhook_list_params.rbi +27 -0
  143. data/rbi/e_invoice_api/models/webhook_list_response.rbi +11 -0
  144. data/rbi/e_invoice_api/models/webhook_response.rbi +57 -0
  145. data/rbi/e_invoice_api/models/webhook_retrieve_params.rbi +30 -0
  146. data/rbi/e_invoice_api/models/webhook_update_params.rbi +51 -0
  147. data/rbi/e_invoice_api/models.rbi +70 -0
  148. data/rbi/e_invoice_api/request_options.rbi +59 -0
  149. data/rbi/e_invoice_api/resources/documents/attachments.rbi +58 -0
  150. data/rbi/e_invoice_api/resources/documents/ubl.rbi +24 -0
  151. data/rbi/e_invoice_api/resources/documents.rbi +164 -0
  152. data/rbi/e_invoice_api/resources/inbox.rbi +93 -0
  153. data/rbi/e_invoice_api/resources/lookup.rbi +31 -0
  154. data/rbi/e_invoice_api/resources/outbox.rbi +72 -0
  155. data/rbi/e_invoice_api/resources/validate.rbi +145 -0
  156. data/rbi/e_invoice_api/resources/webhooks.rbi +72 -0
  157. data/rbi/e_invoice_api/version.rbi +5 -0
  158. data/sig/e_invoice_api/client.rbs +36 -0
  159. data/sig/e_invoice_api/errors.rbs +101 -0
  160. data/sig/e_invoice_api/file_part.rbs +21 -0
  161. data/sig/e_invoice_api/internal/documents_number_page.rbs +17 -0
  162. data/sig/e_invoice_api/internal/transport/base_client.rbs +131 -0
  163. data/sig/e_invoice_api/internal/transport/pooled_net_requester.rbs +45 -0
  164. data/sig/e_invoice_api/internal/type/array_of.rbs +48 -0
  165. data/sig/e_invoice_api/internal/type/base_model.rbs +102 -0
  166. data/sig/e_invoice_api/internal/type/base_page.rbs +24 -0
  167. data/sig/e_invoice_api/internal/type/boolean.rbs +26 -0
  168. data/sig/e_invoice_api/internal/type/converter.rbs +56 -0
  169. data/sig/e_invoice_api/internal/type/enum.rbs +32 -0
  170. data/sig/e_invoice_api/internal/type/file_input.rbs +25 -0
  171. data/sig/e_invoice_api/internal/type/hash_of.rbs +48 -0
  172. data/sig/e_invoice_api/internal/type/request_parameters.rbs +19 -0
  173. data/sig/e_invoice_api/internal/type/union.rbs +52 -0
  174. data/sig/e_invoice_api/internal/type/unknown.rbs +26 -0
  175. data/sig/e_invoice_api/internal/util.rbs +185 -0
  176. data/sig/e_invoice_api/internal.rbs +9 -0
  177. data/sig/e_invoice_api/models/certificate.rbs +26 -0
  178. data/sig/e_invoice_api/models/currency_code.rbs +42 -0
  179. data/sig/e_invoice_api/models/document_attachment_create.rbs +39 -0
  180. data/sig/e_invoice_api/models/document_create.rbs +403 -0
  181. data/sig/e_invoice_api/models/document_create_params.rbs +15 -0
  182. data/sig/e_invoice_api/models/document_delete_params.rbs +15 -0
  183. data/sig/e_invoice_api/models/document_delete_response.rbs +13 -0
  184. data/sig/e_invoice_api/models/document_direction.rbs +14 -0
  185. data/sig/e_invoice_api/models/document_response.rbs +358 -0
  186. data/sig/e_invoice_api/models/document_retrieve_params.rbs +15 -0
  187. data/sig/e_invoice_api/models/document_send_params.rbs +46 -0
  188. data/sig/e_invoice_api/models/document_state.rbs +17 -0
  189. data/sig/e_invoice_api/models/document_type.rbs +14 -0
  190. data/sig/e_invoice_api/models/documents/attachment_add_params.rbs +26 -0
  191. data/sig/e_invoice_api/models/documents/attachment_delete_params.rbs +26 -0
  192. data/sig/e_invoice_api/models/documents/attachment_delete_response.rbs +15 -0
  193. data/sig/e_invoice_api/models/documents/attachment_list_params.rbs +17 -0
  194. data/sig/e_invoice_api/models/documents/attachment_list_response.rbs +10 -0
  195. data/sig/e_invoice_api/models/documents/attachment_retrieve_params.rbs +26 -0
  196. data/sig/e_invoice_api/models/documents/document_attachment.rbs +48 -0
  197. data/sig/e_invoice_api/models/documents/ubl_get_params.rbs +17 -0
  198. data/sig/e_invoice_api/models/documents/ubl_get_response.rbs +69 -0
  199. data/sig/e_invoice_api/models/inbox_list_credit_notes_params.rbs +32 -0
  200. data/sig/e_invoice_api/models/inbox_list_invoices_params.rbs +32 -0
  201. data/sig/e_invoice_api/models/inbox_list_params.rbs +65 -0
  202. data/sig/e_invoice_api/models/lookup_retrieve_params.rbs +23 -0
  203. data/sig/e_invoice_api/models/lookup_retrieve_response.rbs +365 -0
  204. data/sig/e_invoice_api/models/outbox_list_draft_documents_params.rbs +32 -0
  205. data/sig/e_invoice_api/models/outbox_list_received_documents_params.rbs +65 -0
  206. data/sig/e_invoice_api/models/paginated_document_response.rbs +40 -0
  207. data/sig/e_invoice_api/models/payment_detail_create.rbs +35 -0
  208. data/sig/e_invoice_api/models/ubl_document_validation.rbs +98 -0
  209. data/sig/e_invoice_api/models/unit_of_measure_code.rbs +192 -0
  210. data/sig/e_invoice_api/models/validate_validate_json_params.rbs +15 -0
  211. data/sig/e_invoice_api/models/validate_validate_peppol_id_params.rbs +23 -0
  212. data/sig/e_invoice_api/models/validate_validate_peppol_id_response.rbs +65 -0
  213. data/sig/e_invoice_api/models/validate_validate_ubl_params.rbs +24 -0
  214. data/sig/e_invoice_api/models/webhook_create_params.rbs +34 -0
  215. data/sig/e_invoice_api/models/webhook_delete_params.rbs +15 -0
  216. data/sig/e_invoice_api/models/webhook_delete_response.rbs +13 -0
  217. data/sig/e_invoice_api/models/webhook_list_params.rbs +15 -0
  218. data/sig/e_invoice_api/models/webhook_list_response.rbs +7 -0
  219. data/sig/e_invoice_api/models/webhook_response.rbs +42 -0
  220. data/sig/e_invoice_api/models/webhook_retrieve_params.rbs +15 -0
  221. data/sig/e_invoice_api/models/webhook_update_params.rbs +32 -0
  222. data/sig/e_invoice_api/models.rbs +65 -0
  223. data/sig/e_invoice_api/request_options.rbs +36 -0
  224. data/sig/e_invoice_api/resources/documents/attachments.rbs +32 -0
  225. data/sig/e_invoice_api/resources/documents/ubl.rbs +14 -0
  226. data/sig/e_invoice_api/resources/documents.rbs +76 -0
  227. data/sig/e_invoice_api/resources/inbox.rbs +31 -0
  228. data/sig/e_invoice_api/resources/lookup.rbs +12 -0
  229. data/sig/e_invoice_api/resources/outbox.rbs +25 -0
  230. data/sig/e_invoice_api/resources/validate.rbs +62 -0
  231. data/sig/e_invoice_api/resources/webhooks.rbs +36 -0
  232. data/sig/e_invoice_api/version.rbs +3 -0
  233. metadata +290 -0
@@ -0,0 +1,304 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Internal
5
+ module Type
6
+ class BaseModel
7
+ extend EInvoiceAPI::Internal::Type::Converter
8
+ extend EInvoiceAPI::Internal::Util::SorbetRuntimeSupport
9
+
10
+ abstract!
11
+
12
+ KnownField =
13
+ T.type_alias do
14
+ {
15
+ mode: T.nilable(Symbol),
16
+ required: T::Boolean,
17
+ nilable: T::Boolean
18
+ }
19
+ end
20
+
21
+ OrHash =
22
+ T.type_alias do
23
+ T.any(
24
+ EInvoiceAPI::Internal::Type::BaseModel,
25
+ EInvoiceAPI::Internal::AnyHash
26
+ )
27
+ end
28
+
29
+ class << self
30
+ # @api private
31
+ #
32
+ # Assumes superclass fields are totally defined before fields are accessed /
33
+ # defined on subclasses.
34
+ sig { params(child: T.self_type).void }
35
+ def inherited(child)
36
+ end
37
+
38
+ # @api private
39
+ sig do
40
+ returns(
41
+ T::Hash[
42
+ Symbol,
43
+ T.all(
44
+ EInvoiceAPI::Internal::Type::BaseModel::KnownField,
45
+ {
46
+ type_fn:
47
+ T.proc.returns(
48
+ EInvoiceAPI::Internal::Type::Converter::Input
49
+ )
50
+ }
51
+ )
52
+ ]
53
+ )
54
+ end
55
+ def known_fields
56
+ end
57
+
58
+ # @api private
59
+ sig do
60
+ returns(
61
+ T::Hash[
62
+ Symbol,
63
+ T.all(
64
+ EInvoiceAPI::Internal::Type::BaseModel::KnownField,
65
+ { type: EInvoiceAPI::Internal::Type::Converter::Input }
66
+ )
67
+ ]
68
+ )
69
+ end
70
+ def fields
71
+ end
72
+
73
+ # @api private
74
+ sig do
75
+ params(
76
+ name_sym: Symbol,
77
+ required: T::Boolean,
78
+ type_info:
79
+ T.any(
80
+ {
81
+ const:
82
+ T.nilable(
83
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
84
+ ),
85
+ enum:
86
+ T.nilable(
87
+ T.proc.returns(
88
+ EInvoiceAPI::Internal::Type::Converter::Input
89
+ )
90
+ ),
91
+ union:
92
+ T.nilable(
93
+ T.proc.returns(
94
+ EInvoiceAPI::Internal::Type::Converter::Input
95
+ )
96
+ ),
97
+ api_name: Symbol,
98
+ nil?: T::Boolean
99
+ },
100
+ T.proc.returns(EInvoiceAPI::Internal::Type::Converter::Input),
101
+ EInvoiceAPI::Internal::Type::Converter::Input
102
+ ),
103
+ spec: EInvoiceAPI::Internal::AnyHash
104
+ ).void
105
+ end
106
+ private def add_field(name_sym, required:, type_info:, spec:)
107
+ end
108
+
109
+ # @api private
110
+ sig do
111
+ params(
112
+ name_sym: Symbol,
113
+ type_info:
114
+ T.any(
115
+ EInvoiceAPI::Internal::AnyHash,
116
+ T.proc.returns(EInvoiceAPI::Internal::Type::Converter::Input),
117
+ EInvoiceAPI::Internal::Type::Converter::Input
118
+ ),
119
+ spec: EInvoiceAPI::Internal::AnyHash
120
+ ).void
121
+ end
122
+ def required(name_sym, type_info, spec = {})
123
+ end
124
+
125
+ # @api private
126
+ sig do
127
+ params(
128
+ name_sym: Symbol,
129
+ type_info:
130
+ T.any(
131
+ EInvoiceAPI::Internal::AnyHash,
132
+ T.proc.returns(EInvoiceAPI::Internal::Type::Converter::Input),
133
+ EInvoiceAPI::Internal::Type::Converter::Input
134
+ ),
135
+ spec: EInvoiceAPI::Internal::AnyHash
136
+ ).void
137
+ end
138
+ def optional(name_sym, type_info, spec = {})
139
+ end
140
+
141
+ # @api private
142
+ #
143
+ # `request_only` attributes not excluded from `.#coerce` when receiving responses
144
+ # even if well behaved servers should not send them
145
+ sig { params(blk: T.proc.void).void }
146
+ private def request_only(&blk)
147
+ end
148
+
149
+ # @api private
150
+ #
151
+ # `response_only` attributes are omitted from `.#dump` when making requests
152
+ sig { params(blk: T.proc.void).void }
153
+ private def response_only(&blk)
154
+ end
155
+
156
+ sig { params(other: T.anything).returns(T::Boolean) }
157
+ def ==(other)
158
+ end
159
+
160
+ sig { returns(Integer) }
161
+ def hash
162
+ end
163
+ end
164
+
165
+ sig { params(other: T.anything).returns(T::Boolean) }
166
+ def ==(other)
167
+ end
168
+
169
+ sig { returns(Integer) }
170
+ def hash
171
+ end
172
+
173
+ class << self
174
+ # @api private
175
+ sig do
176
+ override
177
+ .params(
178
+ value:
179
+ T.any(
180
+ EInvoiceAPI::Internal::Type::BaseModel,
181
+ T::Hash[T.anything, T.anything],
182
+ T.anything
183
+ ),
184
+ state: EInvoiceAPI::Internal::Type::Converter::CoerceState
185
+ )
186
+ .returns(T.any(T.attached_class, T.anything))
187
+ end
188
+ def coerce(value, state:)
189
+ end
190
+
191
+ # @api private
192
+ sig do
193
+ override
194
+ .params(
195
+ value: T.any(T.attached_class, T.anything),
196
+ state: EInvoiceAPI::Internal::Type::Converter::DumpState
197
+ )
198
+ .returns(T.any(T::Hash[T.anything, T.anything], T.anything))
199
+ end
200
+ def dump(value, state:)
201
+ end
202
+
203
+ # @api private
204
+ sig { returns(T.anything) }
205
+ def to_sorbet_type
206
+ end
207
+ end
208
+
209
+ class << self
210
+ # @api private
211
+ sig do
212
+ params(
213
+ model: EInvoiceAPI::Internal::Type::BaseModel,
214
+ convert: T::Boolean
215
+ ).returns(EInvoiceAPI::Internal::AnyHash)
216
+ end
217
+ def recursively_to_h(model, convert:)
218
+ end
219
+ end
220
+
221
+ # Returns the raw value associated with the given key, if found. Otherwise, nil is
222
+ # returned.
223
+ #
224
+ # It is valid to lookup keys that are not in the API spec, for example to access
225
+ # undocumented features. This method does not parse response data into
226
+ # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
227
+ sig { params(key: Symbol).returns(T.nilable(T.anything)) }
228
+ def [](key)
229
+ end
230
+
231
+ # Returns a Hash of the data underlying this object. O(1)
232
+ #
233
+ # Keys are Symbols and values are the raw values from the response. The return
234
+ # value indicates which values were ever set on the object. i.e. there will be a
235
+ # key in this hash if they ever were, even if the set value was nil.
236
+ #
237
+ # This method is not recursive. The returned value is shared by the object, so it
238
+ # should not be mutated.
239
+ sig { overridable.returns(EInvoiceAPI::Internal::AnyHash) }
240
+ def to_h
241
+ end
242
+
243
+ # Returns a Hash of the data underlying this object. O(1)
244
+ #
245
+ # Keys are Symbols and values are the raw values from the response. The return
246
+ # value indicates which values were ever set on the object. i.e. there will be a
247
+ # key in this hash if they ever were, even if the set value was nil.
248
+ #
249
+ # This method is not recursive. The returned value is shared by the object, so it
250
+ # should not be mutated.
251
+ sig { overridable.returns(EInvoiceAPI::Internal::AnyHash) }
252
+ def to_hash
253
+ end
254
+
255
+ # In addition to the behaviour of `#to_h`, this method will recursively call
256
+ # `#to_h` on nested models.
257
+ sig { overridable.returns(EInvoiceAPI::Internal::AnyHash) }
258
+ def deep_to_h
259
+ end
260
+
261
+ sig do
262
+ params(keys: T.nilable(T::Array[Symbol])).returns(
263
+ EInvoiceAPI::Internal::AnyHash
264
+ )
265
+ end
266
+ def deconstruct_keys(keys)
267
+ end
268
+
269
+ sig { params(a: T.anything).returns(String) }
270
+ def to_json(*a)
271
+ end
272
+
273
+ sig { params(a: T.anything).returns(String) }
274
+ def to_yaml(*a)
275
+ end
276
+
277
+ # Create a new instance of a model.
278
+ sig do
279
+ params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(
280
+ T.attached_class
281
+ )
282
+ end
283
+ def self.new(data = {})
284
+ end
285
+
286
+ class << self
287
+ # @api private
288
+ sig { params(depth: Integer).returns(String) }
289
+ def inspect(depth: 0)
290
+ end
291
+ end
292
+
293
+ sig { returns(String) }
294
+ def to_s
295
+ end
296
+
297
+ # @api private
298
+ sig { returns(String) }
299
+ def inspect
300
+ end
301
+ end
302
+ end
303
+ end
304
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # This module provides a base implementation for paginated responses in the SDK.
9
+ module BasePage
10
+ Elem = type_member(:out)
11
+
12
+ sig { overridable.returns(T::Boolean) }
13
+ def next_page?
14
+ end
15
+
16
+ sig { overridable.returns(T.self_type) }
17
+ def next_page
18
+ end
19
+
20
+ sig { overridable.params(blk: T.proc.params(arg0: Elem).void).void }
21
+ def auto_paging_each(&blk)
22
+ end
23
+
24
+ sig { returns(T::Enumerable[Elem]) }
25
+ def to_enum
26
+ end
27
+
28
+ # @api private
29
+ sig do
30
+ params(
31
+ client: EInvoiceAPI::Internal::Transport::BaseClient,
32
+ req:
33
+ EInvoiceAPI::Internal::Transport::BaseClient::RequestComponents,
34
+ headers: T.any(T::Hash[String, String], Net::HTTPHeader),
35
+ page_data: T.anything
36
+ ).void
37
+ end
38
+ def initialize(client:, req:, headers:, page_data:)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Ruby has no Boolean class; this is something for models to refer to.
9
+ class Boolean
10
+ extend EInvoiceAPI::Internal::Type::Converter
11
+ extend EInvoiceAPI::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
+ sig do
26
+ override
27
+ .params(
28
+ value: T.any(T::Boolean, T.anything),
29
+ state: EInvoiceAPI::Internal::Type::Converter::CoerceState
30
+ )
31
+ .returns(T.any(T::Boolean, T.anything))
32
+ end
33
+ def coerce(value, state:)
34
+ end
35
+
36
+ # @api private
37
+ sig do
38
+ override
39
+ .params(
40
+ value: T.any(T::Boolean, T.anything),
41
+ state: EInvoiceAPI::Internal::Type::Converter::DumpState
42
+ )
43
+ .returns(T.any(T::Boolean, T.anything))
44
+ end
45
+ def dump(value, state:)
46
+ end
47
+
48
+ # @api private
49
+ sig { returns(T.anything) }
50
+ def to_sorbet_type
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,162 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Converter
8
+ extend EInvoiceAPI::Internal::Util::SorbetRuntimeSupport
9
+
10
+ Input =
11
+ T.type_alias do
12
+ T.any(EInvoiceAPI::Internal::Type::Converter, T::Class[T.anything])
13
+ end
14
+
15
+ CoerceState =
16
+ T.type_alias do
17
+ {
18
+ strictness: T.any(T::Boolean, Symbol),
19
+ exactness: {
20
+ yes: Integer,
21
+ no: Integer,
22
+ maybe: Integer
23
+ },
24
+ branched: Integer
25
+ }
26
+ end
27
+
28
+ DumpState = T.type_alias { { can_retry: T::Boolean } }
29
+
30
+ # @api private
31
+ sig do
32
+ overridable
33
+ .params(
34
+ value: T.anything,
35
+ state: EInvoiceAPI::Internal::Type::Converter::CoerceState
36
+ )
37
+ .returns(T.anything)
38
+ end
39
+ def coerce(value, state:)
40
+ end
41
+
42
+ # @api private
43
+ sig do
44
+ overridable
45
+ .params(
46
+ value: T.anything,
47
+ state: EInvoiceAPI::Internal::Type::Converter::DumpState
48
+ )
49
+ .returns(T.anything)
50
+ end
51
+ def dump(value, state:)
52
+ end
53
+
54
+ # @api private
55
+ sig { params(depth: Integer).returns(String) }
56
+ def inspect(depth: 0)
57
+ end
58
+
59
+ class << self
60
+ # @api private
61
+ sig do
62
+ params(
63
+ spec:
64
+ T.any(
65
+ {
66
+ const:
67
+ T.nilable(
68
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
69
+ ),
70
+ enum:
71
+ T.nilable(
72
+ T.proc.returns(
73
+ EInvoiceAPI::Internal::Type::Converter::Input
74
+ )
75
+ ),
76
+ union:
77
+ T.nilable(
78
+ T.proc.returns(
79
+ EInvoiceAPI::Internal::Type::Converter::Input
80
+ )
81
+ )
82
+ },
83
+ T.proc.returns(EInvoiceAPI::Internal::Type::Converter::Input),
84
+ EInvoiceAPI::Internal::Type::Converter::Input
85
+ )
86
+ ).returns(T.proc.returns(T.anything))
87
+ end
88
+ def self.type_info(spec)
89
+ end
90
+
91
+ # @api private
92
+ #
93
+ # Based on `target`, transform `value` into `target`, to the extent possible:
94
+ #
95
+ # 1. if the given `value` conforms to `target` already, return the given `value`
96
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
97
+ # converted value
98
+ # 3. otherwise, the given `value` unaltered
99
+ #
100
+ # The coercion process is subject to improvement between minor release versions.
101
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
102
+ sig do
103
+ params(
104
+ target: EInvoiceAPI::Internal::Type::Converter::Input,
105
+ value: T.anything,
106
+ state: EInvoiceAPI::Internal::Type::Converter::CoerceState
107
+ ).returns(T.anything)
108
+ end
109
+ def self.coerce(
110
+ target,
111
+ value,
112
+ # The `strictness` is one of `true`, `false`, or `:strong`. This informs the
113
+ # coercion strategy when we have to decide between multiple possible conversion
114
+ # targets:
115
+ #
116
+ # - `true`: the conversion must be exact, with minimum coercion.
117
+ # - `false`: the conversion can be approximate, with some coercion.
118
+ # - `:strong`: the conversion must be exact, with no coercion, and raise an error
119
+ # if not possible.
120
+ #
121
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
122
+ # any given conversion attempt, the exactness will be updated based on how closely
123
+ # the value recursively matches the target type:
124
+ #
125
+ # - `yes`: the value can be converted to the target type with minimum coercion.
126
+ # - `maybe`: the value can be converted to the target type with some reasonable
127
+ # coercion.
128
+ # - `no`: the value cannot be converted to the target type.
129
+ #
130
+ # See implementation below for more details.
131
+ state: {
132
+ strictness: true,
133
+ exactness: {
134
+ yes: 0,
135
+ no: 0,
136
+ maybe: 0
137
+ },
138
+ branched: 0
139
+ }
140
+ )
141
+ end
142
+
143
+ # @api private
144
+ sig do
145
+ params(
146
+ target: EInvoiceAPI::Internal::Type::Converter::Input,
147
+ value: T.anything,
148
+ state: EInvoiceAPI::Internal::Type::Converter::DumpState
149
+ ).returns(T.anything)
150
+ end
151
+ def self.dump(target, value, state: { can_retry: true })
152
+ end
153
+
154
+ # @api private
155
+ sig { params(target: T.anything, depth: Integer).returns(String) }
156
+ def self.inspect(target, depth:)
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,82 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
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 EInvoiceAPI::Internal::Type::Converter
20
+ include EInvoiceAPI::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: EInvoiceAPI::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: EInvoiceAPI::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 EInvoiceAPI
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Either `Pathname` or `StringIO`, or `IO`, or
9
+ # `EInvoiceAPI::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 EInvoiceAPI::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: EInvoiceAPI::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: EInvoiceAPI::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