checkout-intents 0.0.2

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 (137) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +16 -0
  4. data/README.md +358 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/checkout_intents/client.rb +100 -0
  7. data/lib/checkout_intents/errors.rb +228 -0
  8. data/lib/checkout_intents/file_part.rb +58 -0
  9. data/lib/checkout_intents/internal/cursor_pagination.rb +125 -0
  10. data/lib/checkout_intents/internal/transport/base_client.rb +577 -0
  11. data/lib/checkout_intents/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/checkout_intents/internal/type/array_of.rb +168 -0
  13. data/lib/checkout_intents/internal/type/base_model.rb +536 -0
  14. data/lib/checkout_intents/internal/type/base_page.rb +55 -0
  15. data/lib/checkout_intents/internal/type/boolean.rb +77 -0
  16. data/lib/checkout_intents/internal/type/converter.rb +327 -0
  17. data/lib/checkout_intents/internal/type/enum.rb +131 -0
  18. data/lib/checkout_intents/internal/type/file_input.rb +111 -0
  19. data/lib/checkout_intents/internal/type/hash_of.rb +188 -0
  20. data/lib/checkout_intents/internal/type/request_parameters.rb +42 -0
  21. data/lib/checkout_intents/internal/type/union.rb +258 -0
  22. data/lib/checkout_intents/internal/type/unknown.rb +81 -0
  23. data/lib/checkout_intents/internal/util.rb +920 -0
  24. data/lib/checkout_intents/internal.rb +20 -0
  25. data/lib/checkout_intents/models/base_checkout_intent.rb +76 -0
  26. data/lib/checkout_intents/models/betas/checkout_session_create_params.rb +148 -0
  27. data/lib/checkout_intents/models/brand_retrieve_params.rb +14 -0
  28. data/lib/checkout_intents/models/brand_retrieve_response.rb +52 -0
  29. data/lib/checkout_intents/models/buyer.rb +69 -0
  30. data/lib/checkout_intents/models/checkout_intent.rb +230 -0
  31. data/lib/checkout_intents/models/checkout_intent_add_payment_params.rb +20 -0
  32. data/lib/checkout_intents/models/checkout_intent_confirm_params.rb +20 -0
  33. data/lib/checkout_intents/models/checkout_intent_create_params.rb +68 -0
  34. data/lib/checkout_intents/models/checkout_intent_list_params.rb +58 -0
  35. data/lib/checkout_intents/models/checkout_intent_purchase_params.rb +74 -0
  36. data/lib/checkout_intents/models/checkout_intent_retrieve_params.rb +14 -0
  37. data/lib/checkout_intents/models/checkout_session.rb +23 -0
  38. data/lib/checkout_intents/models/money.rb +21 -0
  39. data/lib/checkout_intents/models/offer.rb +113 -0
  40. data/lib/checkout_intents/models/payment_method.rb +120 -0
  41. data/lib/checkout_intents/models/variant_selection.rb +33 -0
  42. data/lib/checkout_intents/models.rb +76 -0
  43. data/lib/checkout_intents/request_options.rb +78 -0
  44. data/lib/checkout_intents/resources/betas/checkout_sessions.rb +54 -0
  45. data/lib/checkout_intents/resources/betas.rb +18 -0
  46. data/lib/checkout_intents/resources/brands.rb +37 -0
  47. data/lib/checkout_intents/resources/checkout_intents.rb +173 -0
  48. data/lib/checkout_intents/version.rb +5 -0
  49. data/lib/checkout_intents.rb +77 -0
  50. data/manifest.yaml +17 -0
  51. data/rbi/checkout_intents/client.rbi +74 -0
  52. data/rbi/checkout_intents/errors.rbi +205 -0
  53. data/rbi/checkout_intents/file_part.rbi +37 -0
  54. data/rbi/checkout_intents/internal/cursor_pagination.rbi +74 -0
  55. data/rbi/checkout_intents/internal/transport/base_client.rbi +309 -0
  56. data/rbi/checkout_intents/internal/transport/pooled_net_requester.rbi +84 -0
  57. data/rbi/checkout_intents/internal/type/array_of.rbi +108 -0
  58. data/rbi/checkout_intents/internal/type/base_model.rbi +314 -0
  59. data/rbi/checkout_intents/internal/type/base_page.rbi +43 -0
  60. data/rbi/checkout_intents/internal/type/boolean.rbi +58 -0
  61. data/rbi/checkout_intents/internal/type/converter.rbi +225 -0
  62. data/rbi/checkout_intents/internal/type/enum.rbi +82 -0
  63. data/rbi/checkout_intents/internal/type/file_input.rbi +59 -0
  64. data/rbi/checkout_intents/internal/type/hash_of.rbi +108 -0
  65. data/rbi/checkout_intents/internal/type/request_parameters.rbi +31 -0
  66. data/rbi/checkout_intents/internal/type/union.rbi +134 -0
  67. data/rbi/checkout_intents/internal/type/unknown.rbi +58 -0
  68. data/rbi/checkout_intents/internal/util.rbi +487 -0
  69. data/rbi/checkout_intents/internal.rbi +18 -0
  70. data/rbi/checkout_intents/models/base_checkout_intent.rbi +142 -0
  71. data/rbi/checkout_intents/models/betas/checkout_session_create_params.rbi +281 -0
  72. data/rbi/checkout_intents/models/brand_retrieve_params.rbi +32 -0
  73. data/rbi/checkout_intents/models/brand_retrieve_response.rbi +109 -0
  74. data/rbi/checkout_intents/models/buyer.rbi +92 -0
  75. data/rbi/checkout_intents/models/checkout_intent.rbi +653 -0
  76. data/rbi/checkout_intents/models/checkout_intent_add_payment_params.rbi +59 -0
  77. data/rbi/checkout_intents/models/checkout_intent_confirm_params.rbi +59 -0
  78. data/rbi/checkout_intents/models/checkout_intent_create_params.rbi +141 -0
  79. data/rbi/checkout_intents/models/checkout_intent_list_params.rbi +146 -0
  80. data/rbi/checkout_intents/models/checkout_intent_purchase_params.rbi +165 -0
  81. data/rbi/checkout_intents/models/checkout_intent_retrieve_params.rbi +32 -0
  82. data/rbi/checkout_intents/models/checkout_session.rbi +36 -0
  83. data/rbi/checkout_intents/models/money.rbi +32 -0
  84. data/rbi/checkout_intents/models/offer.rbi +225 -0
  85. data/rbi/checkout_intents/models/payment_method.rbi +292 -0
  86. data/rbi/checkout_intents/models/variant_selection.rbi +55 -0
  87. data/rbi/checkout_intents/models.rbi +40 -0
  88. data/rbi/checkout_intents/request_options.rbi +64 -0
  89. data/rbi/checkout_intents/resources/betas/checkout_sessions.rbi +47 -0
  90. data/rbi/checkout_intents/resources/betas.rbi +15 -0
  91. data/rbi/checkout_intents/resources/brands.rbi +29 -0
  92. data/rbi/checkout_intents/resources/checkout_intents.rbi +165 -0
  93. data/rbi/checkout_intents/version.rbi +5 -0
  94. data/sig/checkout_intents/client.rbs +36 -0
  95. data/sig/checkout_intents/errors.rbs +117 -0
  96. data/sig/checkout_intents/file_part.rbs +21 -0
  97. data/sig/checkout_intents/internal/cursor_pagination.rbs +48 -0
  98. data/sig/checkout_intents/internal/transport/base_client.rbs +133 -0
  99. data/sig/checkout_intents/internal/transport/pooled_net_requester.rbs +48 -0
  100. data/sig/checkout_intents/internal/type/array_of.rbs +48 -0
  101. data/sig/checkout_intents/internal/type/base_model.rbs +104 -0
  102. data/sig/checkout_intents/internal/type/base_page.rbs +24 -0
  103. data/sig/checkout_intents/internal/type/boolean.rbs +26 -0
  104. data/sig/checkout_intents/internal/type/converter.rbs +79 -0
  105. data/sig/checkout_intents/internal/type/enum.rbs +32 -0
  106. data/sig/checkout_intents/internal/type/file_input.rbs +25 -0
  107. data/sig/checkout_intents/internal/type/hash_of.rbs +48 -0
  108. data/sig/checkout_intents/internal/type/request_parameters.rbs +20 -0
  109. data/sig/checkout_intents/internal/type/union.rbs +52 -0
  110. data/sig/checkout_intents/internal/type/unknown.rbs +26 -0
  111. data/sig/checkout_intents/internal/util.rbs +185 -0
  112. data/sig/checkout_intents/internal.rbs +10 -0
  113. data/sig/checkout_intents/models/base_checkout_intent.rbs +88 -0
  114. data/sig/checkout_intents/models/betas/checkout_session_create_params.rbs +172 -0
  115. data/sig/checkout_intents/models/brand_retrieve_params.rbs +15 -0
  116. data/sig/checkout_intents/models/brand_retrieve_response.rbs +43 -0
  117. data/sig/checkout_intents/models/buyer.rbs +67 -0
  118. data/sig/checkout_intents/models/checkout_intent.rbs +324 -0
  119. data/sig/checkout_intents/models/checkout_intent_add_payment_params.rbs +24 -0
  120. data/sig/checkout_intents/models/checkout_intent_confirm_params.rbs +24 -0
  121. data/sig/checkout_intents/models/checkout_intent_create_params.rbs +84 -0
  122. data/sig/checkout_intents/models/checkout_intent_list_params.rbs +77 -0
  123. data/sig/checkout_intents/models/checkout_intent_purchase_params.rbs +89 -0
  124. data/sig/checkout_intents/models/checkout_intent_retrieve_params.rbs +15 -0
  125. data/sig/checkout_intents/models/checkout_session.rbs +13 -0
  126. data/sig/checkout_intents/models/money.rbs +15 -0
  127. data/sig/checkout_intents/models/offer.rbs +135 -0
  128. data/sig/checkout_intents/models/payment_method.rbs +127 -0
  129. data/sig/checkout_intents/models/variant_selection.rbs +30 -0
  130. data/sig/checkout_intents/models.rbs +33 -0
  131. data/sig/checkout_intents/request_options.rbs +36 -0
  132. data/sig/checkout_intents/resources/betas/checkout_sessions.rbs +19 -0
  133. data/sig/checkout_intents/resources/betas.rbs +9 -0
  134. data/sig/checkout_intents/resources/brands.rbs +12 -0
  135. data/sig/checkout_intents/resources/checkout_intents.rbs +54 -0
  136. data/sig/checkout_intents/version.rbs +3 -0
  137. metadata +194 -0
@@ -0,0 +1,37 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ class FilePart
5
+ sig { returns(T.any(Pathname, StringIO, IO, String)) }
6
+ attr_reader :content
7
+
8
+ sig { returns(T.nilable(String)) }
9
+ attr_reader :content_type
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_reader :filename
13
+
14
+ # @api private
15
+ sig { returns(String) }
16
+ private def read
17
+ end
18
+
19
+ sig { params(a: T.anything).returns(String) }
20
+ def to_json(*a)
21
+ end
22
+
23
+ sig { params(a: T.anything).returns(String) }
24
+ def to_yaml(*a)
25
+ end
26
+
27
+ sig do
28
+ params(
29
+ content: T.any(Pathname, StringIO, IO, String),
30
+ filename: T.nilable(T.any(Pathname, String)),
31
+ content_type: T.nilable(String)
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(content, filename: nil, content_type: nil)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ class CursorPagination
6
+ include CheckoutIntents::Internal::Type::BasePage
7
+
8
+ Elem = type_member
9
+
10
+ sig { returns(T.nilable(T::Array[Elem])) }
11
+ attr_accessor :data
12
+
13
+ sig { returns(PageInfo) }
14
+ attr_accessor :page_info
15
+
16
+ # @api private
17
+ sig { returns(String) }
18
+ def inspect
19
+ end
20
+
21
+ class PageInfo < CheckoutIntents::Internal::Type::BaseModel
22
+ OrHash =
23
+ T.type_alias { T.any(PageInfo, CheckoutIntents::Internal::AnyHash) }
24
+
25
+ sig { returns(T.nilable(String)) }
26
+ attr_accessor :end_cursor
27
+
28
+ sig { returns(T.nilable(T::Boolean)) }
29
+ attr_reader :has_next_page
30
+
31
+ sig { params(has_next_page: T::Boolean).void }
32
+ attr_writer :has_next_page
33
+
34
+ sig { returns(T.nilable(T::Boolean)) }
35
+ attr_reader :has_previous_page
36
+
37
+ sig { params(has_previous_page: T::Boolean).void }
38
+ attr_writer :has_previous_page
39
+
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :start_cursor
42
+
43
+ sig do
44
+ params(
45
+ end_cursor: T.nilable(String),
46
+ has_next_page: T::Boolean,
47
+ has_previous_page: T::Boolean,
48
+ start_cursor: T.nilable(String)
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ end_cursor: nil,
53
+ has_next_page: nil,
54
+ has_previous_page: nil,
55
+ start_cursor: nil
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ end_cursor: T.nilable(String),
63
+ has_next_page: T::Boolean,
64
+ has_previous_page: T::Boolean,
65
+ start_cursor: T.nilable(String)
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,309 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Transport
6
+ # @api private
7
+ class BaseClient
8
+ extend CheckoutIntents::Internal::Util::SorbetRuntimeSupport
9
+
10
+ abstract!
11
+
12
+ RequestComponents =
13
+ T.type_alias do
14
+ {
15
+ method: Symbol,
16
+ path: T.any(String, T::Array[String]),
17
+ query:
18
+ T.nilable(
19
+ T::Hash[String, T.nilable(T.any(T::Array[String], String))]
20
+ ),
21
+ headers:
22
+ T.nilable(
23
+ T::Hash[
24
+ String,
25
+ T.nilable(
26
+ T.any(
27
+ String,
28
+ Integer,
29
+ T::Array[T.nilable(T.any(String, Integer))]
30
+ )
31
+ )
32
+ ]
33
+ ),
34
+ body: T.nilable(T.anything),
35
+ unwrap:
36
+ T.nilable(
37
+ T.any(
38
+ Symbol,
39
+ Integer,
40
+ T::Array[T.any(Symbol, Integer)],
41
+ T.proc.params(arg0: T.anything).returns(T.anything)
42
+ )
43
+ ),
44
+ page:
45
+ T.nilable(
46
+ T::Class[
47
+ CheckoutIntents::Internal::Type::BasePage[
48
+ CheckoutIntents::Internal::Type::BaseModel
49
+ ]
50
+ ]
51
+ ),
52
+ stream: T.nilable(T::Class[T.anything]),
53
+ model:
54
+ T.nilable(CheckoutIntents::Internal::Type::Converter::Input),
55
+ options: T.nilable(CheckoutIntents::RequestOptions::OrHash)
56
+ }
57
+ end
58
+
59
+ RequestInput =
60
+ T.type_alias do
61
+ {
62
+ method: Symbol,
63
+ url: URI::Generic,
64
+ headers: T::Hash[String, String],
65
+ body: T.anything,
66
+ max_retries: Integer,
67
+ timeout: Float
68
+ }
69
+ end
70
+
71
+ # from whatwg fetch spec
72
+ MAX_REDIRECTS = 20
73
+
74
+ PLATFORM_HEADERS = T::Hash[String, String]
75
+
76
+ class << self
77
+ # @api private
78
+ sig do
79
+ params(
80
+ req:
81
+ CheckoutIntents::Internal::Transport::BaseClient::RequestComponents
82
+ ).void
83
+ end
84
+ def validate!(req)
85
+ end
86
+
87
+ # @api private
88
+ sig do
89
+ params(status: Integer, headers: T::Hash[String, String]).returns(
90
+ T::Boolean
91
+ )
92
+ end
93
+ def should_retry?(status, headers:)
94
+ end
95
+
96
+ # @api private
97
+ sig do
98
+ params(
99
+ request:
100
+ CheckoutIntents::Internal::Transport::BaseClient::RequestInput,
101
+ status: Integer,
102
+ response_headers: T::Hash[String, String]
103
+ ).returns(
104
+ CheckoutIntents::Internal::Transport::BaseClient::RequestInput
105
+ )
106
+ end
107
+ def follow_redirect(request, status:, response_headers:)
108
+ end
109
+
110
+ # @api private
111
+ sig do
112
+ params(
113
+ status:
114
+ T.any(Integer, CheckoutIntents::Errors::APIConnectionError),
115
+ stream: T.nilable(T::Enumerable[String])
116
+ ).void
117
+ end
118
+ def reap_connection!(status, stream:)
119
+ end
120
+ end
121
+
122
+ sig { returns(URI::Generic) }
123
+ attr_reader :base_url
124
+
125
+ sig { returns(Float) }
126
+ attr_reader :timeout
127
+
128
+ sig { returns(Integer) }
129
+ attr_reader :max_retries
130
+
131
+ sig { returns(Float) }
132
+ attr_reader :initial_retry_delay
133
+
134
+ sig { returns(Float) }
135
+ attr_reader :max_retry_delay
136
+
137
+ sig { returns(T::Hash[String, String]) }
138
+ attr_reader :headers
139
+
140
+ sig { returns(T.nilable(String)) }
141
+ attr_reader :idempotency_header
142
+
143
+ # @api private
144
+ sig do
145
+ returns(CheckoutIntents::Internal::Transport::PooledNetRequester)
146
+ end
147
+ attr_reader :requester
148
+
149
+ # @api private
150
+ sig do
151
+ params(
152
+ base_url: String,
153
+ timeout: Float,
154
+ max_retries: Integer,
155
+ initial_retry_delay: Float,
156
+ max_retry_delay: Float,
157
+ headers:
158
+ T::Hash[
159
+ String,
160
+ T.nilable(
161
+ T.any(
162
+ String,
163
+ Integer,
164
+ T::Array[T.nilable(T.any(String, Integer))]
165
+ )
166
+ )
167
+ ],
168
+ idempotency_header: T.nilable(String)
169
+ ).returns(T.attached_class)
170
+ end
171
+ def self.new(
172
+ base_url:,
173
+ timeout: 0.0,
174
+ max_retries: 0,
175
+ initial_retry_delay: 0.0,
176
+ max_retry_delay: 0.0,
177
+ headers: {},
178
+ idempotency_header: nil
179
+ )
180
+ end
181
+
182
+ # @api private
183
+ sig { overridable.returns(T::Hash[String, String]) }
184
+ private def auth_headers
185
+ end
186
+
187
+ # @api private
188
+ sig { returns(String) }
189
+ private def user_agent
190
+ end
191
+
192
+ # @api private
193
+ sig { returns(String) }
194
+ private def generate_idempotency_key
195
+ end
196
+
197
+ # @api private
198
+ sig do
199
+ overridable
200
+ .params(
201
+ req:
202
+ CheckoutIntents::Internal::Transport::BaseClient::RequestComponents,
203
+ opts: CheckoutIntents::Internal::AnyHash
204
+ )
205
+ .returns(
206
+ CheckoutIntents::Internal::Transport::BaseClient::RequestInput
207
+ )
208
+ end
209
+ private def build_request(req, opts)
210
+ end
211
+
212
+ # @api private
213
+ sig do
214
+ params(
215
+ headers: T::Hash[String, String],
216
+ retry_count: Integer
217
+ ).returns(Float)
218
+ end
219
+ private def retry_delay(headers, retry_count:)
220
+ end
221
+
222
+ # @api private
223
+ sig do
224
+ params(
225
+ request:
226
+ CheckoutIntents::Internal::Transport::BaseClient::RequestInput,
227
+ redirect_count: Integer,
228
+ retry_count: Integer,
229
+ send_retry_header: T::Boolean
230
+ ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
231
+ end
232
+ def send_request(
233
+ request,
234
+ redirect_count:,
235
+ retry_count:,
236
+ send_retry_header:
237
+ )
238
+ end
239
+
240
+ # Execute the request specified by `req`. This is the method that all resource
241
+ # methods call into.
242
+ #
243
+ # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: CheckoutIntents::Internal::Type::Unknown, options: {})
244
+ sig do
245
+ params(
246
+ method: Symbol,
247
+ path: T.any(String, T::Array[String]),
248
+ query:
249
+ T.nilable(
250
+ T::Hash[String, T.nilable(T.any(T::Array[String], String))]
251
+ ),
252
+ headers:
253
+ T.nilable(
254
+ T::Hash[
255
+ String,
256
+ T.nilable(
257
+ T.any(
258
+ String,
259
+ Integer,
260
+ T::Array[T.nilable(T.any(String, Integer))]
261
+ )
262
+ )
263
+ ]
264
+ ),
265
+ body: T.nilable(T.anything),
266
+ unwrap:
267
+ T.nilable(
268
+ T.any(
269
+ Symbol,
270
+ Integer,
271
+ T::Array[T.any(Symbol, Integer)],
272
+ T.proc.params(arg0: T.anything).returns(T.anything)
273
+ )
274
+ ),
275
+ page:
276
+ T.nilable(
277
+ T::Class[
278
+ CheckoutIntents::Internal::Type::BasePage[
279
+ CheckoutIntents::Internal::Type::BaseModel
280
+ ]
281
+ ]
282
+ ),
283
+ stream: T.nilable(T::Class[T.anything]),
284
+ model: T.nilable(CheckoutIntents::Internal::Type::Converter::Input),
285
+ options: T.nilable(CheckoutIntents::RequestOptions::OrHash)
286
+ ).returns(T.anything)
287
+ end
288
+ def request(
289
+ method,
290
+ path,
291
+ query: {},
292
+ headers: {},
293
+ body: nil,
294
+ unwrap: nil,
295
+ page: nil,
296
+ stream: nil,
297
+ model: CheckoutIntents::Internal::Type::Unknown,
298
+ options: {}
299
+ )
300
+ end
301
+
302
+ # @api private
303
+ sig { returns(String) }
304
+ def inspect
305
+ end
306
+ end
307
+ end
308
+ end
309
+ end
@@ -0,0 +1,84 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Transport
6
+ # @api private
7
+ class PooledNetRequester
8
+ extend CheckoutIntents::Internal::Util::SorbetRuntimeSupport
9
+
10
+ Request =
11
+ T.type_alias do
12
+ {
13
+ method: Symbol,
14
+ url: URI::Generic,
15
+ headers: T::Hash[String, String],
16
+ body: T.anything,
17
+ deadline: Float
18
+ }
19
+ end
20
+
21
+ # from the golang stdlib
22
+ # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
23
+ KEEP_ALIVE_TIMEOUT = 30
24
+
25
+ DEFAULT_MAX_CONNECTIONS = T.let(T.unsafe(nil), Integer)
26
+
27
+ class << self
28
+ # @api private
29
+ sig do
30
+ params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns(
31
+ Net::HTTP
32
+ )
33
+ end
34
+ def connect(cert_store:, url:)
35
+ end
36
+
37
+ # @api private
38
+ sig { params(conn: Net::HTTP, deadline: Float).void }
39
+ def calibrate_socket_timeout(conn, deadline)
40
+ end
41
+
42
+ # @api private
43
+ sig do
44
+ params(
45
+ request:
46
+ CheckoutIntents::Internal::Transport::PooledNetRequester::Request,
47
+ blk: T.proc.params(arg0: String).void
48
+ ).returns([Net::HTTPGenericRequest, T.proc.void])
49
+ end
50
+ def build_request(request, &blk)
51
+ end
52
+ end
53
+
54
+ # @api private
55
+ sig do
56
+ params(
57
+ url: URI::Generic,
58
+ deadline: Float,
59
+ blk: T.proc.params(arg0: Net::HTTP).void
60
+ ).void
61
+ end
62
+ private def with_pool(url, deadline:, &blk)
63
+ end
64
+
65
+ # @api private
66
+ sig do
67
+ params(
68
+ request:
69
+ CheckoutIntents::Internal::Transport::PooledNetRequester::Request
70
+ ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
71
+ end
72
+ def execute(request)
73
+ end
74
+
75
+ # @api private
76
+ sig { params(size: Integer).returns(T.attached_class) }
77
+ def self.new(
78
+ size: CheckoutIntents::Internal::Transport::PooledNetRequester::DEFAULT_MAX_CONNECTIONS
79
+ )
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,108 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Array of items of a given type.
9
+ class ArrayOf
10
+ include CheckoutIntents::Internal::Type::Converter
11
+ include CheckoutIntents::Internal::Util::SorbetRuntimeSupport
12
+
13
+ abstract!
14
+
15
+ Elem = type_member(:out)
16
+
17
+ sig do
18
+ params(
19
+ type_info:
20
+ T.any(
21
+ CheckoutIntents::Internal::AnyHash,
22
+ T.proc.returns(
23
+ CheckoutIntents::Internal::Type::Converter::Input
24
+ ),
25
+ CheckoutIntents::Internal::Type::Converter::Input
26
+ ),
27
+ spec: CheckoutIntents::Internal::AnyHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.[](type_info, spec = {})
31
+ end
32
+
33
+ sig { params(other: T.anything).returns(T::Boolean) }
34
+ def ===(other)
35
+ end
36
+
37
+ sig { params(other: T.anything).returns(T::Boolean) }
38
+ def ==(other)
39
+ end
40
+
41
+ sig { returns(Integer) }
42
+ def hash
43
+ end
44
+
45
+ # @api private
46
+ sig do
47
+ override
48
+ .params(
49
+ value: T.any(T::Array[T.anything], T.anything),
50
+ state: CheckoutIntents::Internal::Type::Converter::CoerceState
51
+ )
52
+ .returns(T.any(T::Array[T.anything], T.anything))
53
+ end
54
+ def coerce(value, state:)
55
+ end
56
+
57
+ # @api private
58
+ sig do
59
+ override
60
+ .params(
61
+ value: T.any(T::Array[T.anything], T.anything),
62
+ state: CheckoutIntents::Internal::Type::Converter::DumpState
63
+ )
64
+ .returns(T.any(T::Array[T.anything], T.anything))
65
+ end
66
+ def dump(value, state:)
67
+ end
68
+
69
+ # @api private
70
+ sig { returns(T.anything) }
71
+ def to_sorbet_type
72
+ end
73
+
74
+ # @api private
75
+ sig { returns(Elem) }
76
+ protected def item_type
77
+ end
78
+
79
+ # @api private
80
+ sig { returns(T::Boolean) }
81
+ protected def nilable?
82
+ end
83
+
84
+ # @api private
85
+ sig do
86
+ params(
87
+ type_info:
88
+ T.any(
89
+ CheckoutIntents::Internal::AnyHash,
90
+ T.proc.returns(
91
+ CheckoutIntents::Internal::Type::Converter::Input
92
+ ),
93
+ CheckoutIntents::Internal::Type::Converter::Input
94
+ ),
95
+ spec: CheckoutIntents::Internal::AnyHash
96
+ ).void
97
+ end
98
+ def initialize(type_info, spec = {})
99
+ end
100
+
101
+ # @api private
102
+ sig { params(depth: Integer).returns(String) }
103
+ def inspect(depth: 0)
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end