terminal-shop 2.0.0 → 2.1.1

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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -8
  3. data/lib/terminal-shop/client.rb +4 -4
  4. data/lib/terminal-shop/models/address_create_params.rb +1 -1
  5. data/lib/terminal-shop/models/address_delete_params.rb +1 -1
  6. data/lib/terminal-shop/models/address_get_params.rb +1 -1
  7. data/lib/terminal-shop/models/address_list_params.rb +1 -1
  8. data/lib/terminal-shop/models/app_create_params.rb +1 -1
  9. data/lib/terminal-shop/models/app_delete_params.rb +1 -1
  10. data/lib/terminal-shop/models/app_get_params.rb +1 -1
  11. data/lib/terminal-shop/models/app_list_params.rb +1 -1
  12. data/lib/terminal-shop/models/card_collect_params.rb +1 -1
  13. data/lib/terminal-shop/models/card_create_params.rb +1 -1
  14. data/lib/terminal-shop/models/card_delete_params.rb +1 -1
  15. data/lib/terminal-shop/models/card_get_params.rb +1 -1
  16. data/lib/terminal-shop/models/card_list_params.rb +1 -1
  17. data/lib/terminal-shop/models/cart_clear_params.rb +1 -1
  18. data/lib/terminal-shop/models/cart_convert_params.rb +1 -1
  19. data/lib/terminal-shop/models/cart_get_params.rb +1 -1
  20. data/lib/terminal-shop/models/cart_set_address_params.rb +1 -1
  21. data/lib/terminal-shop/models/cart_set_card_params.rb +1 -1
  22. data/lib/terminal-shop/models/cart_set_item_params.rb +1 -1
  23. data/lib/terminal-shop/models/email_create_params.rb +1 -1
  24. data/lib/terminal-shop/models/order_create_params.rb +1 -1
  25. data/lib/terminal-shop/models/order_get_params.rb +1 -1
  26. data/lib/terminal-shop/models/order_list_params.rb +1 -1
  27. data/lib/terminal-shop/models/product_get_params.rb +1 -1
  28. data/lib/terminal-shop/models/product_list_params.rb +1 -1
  29. data/lib/terminal-shop/models/profile_me_params.rb +1 -1
  30. data/lib/terminal-shop/models/profile_update_params.rb +1 -1
  31. data/lib/terminal-shop/models/subscription_create_params.rb +1 -1
  32. data/lib/terminal-shop/models/subscription_delete_params.rb +1 -1
  33. data/lib/terminal-shop/models/subscription_get_params.rb +1 -1
  34. data/lib/terminal-shop/models/subscription_list_params.rb +1 -1
  35. data/lib/terminal-shop/models/token_create_params.rb +1 -1
  36. data/lib/terminal-shop/models/token_delete_params.rb +1 -1
  37. data/lib/terminal-shop/models/token_get_params.rb +1 -1
  38. data/lib/terminal-shop/models/token_list_params.rb +1 -1
  39. data/lib/terminal-shop/models/view_init_params.rb +1 -1
  40. data/lib/terminal-shop/request_options.rb +0 -33
  41. data/lib/terminal-shop/transport/base_client.rb +459 -0
  42. data/lib/terminal-shop/transport/pooled_net_requester.rb +182 -0
  43. data/lib/terminal-shop/type/array_of.rb +112 -0
  44. data/lib/terminal-shop/type/base_model.rb +364 -0
  45. data/lib/terminal-shop/type/base_page.rb +61 -0
  46. data/lib/terminal-shop/type/boolean_model.rb +52 -0
  47. data/lib/terminal-shop/type/converter.rb +217 -0
  48. data/lib/terminal-shop/type/enum.rb +101 -0
  49. data/lib/terminal-shop/type/hash_of.rb +138 -0
  50. data/lib/terminal-shop/type/request_parameters.rb +38 -0
  51. data/lib/terminal-shop/type/union.rb +185 -0
  52. data/lib/terminal-shop/type/unknown.rb +56 -0
  53. data/lib/terminal-shop/type.rb +23 -0
  54. data/lib/terminal-shop/util.rb +3 -5
  55. data/lib/terminal-shop/version.rb +1 -1
  56. data/lib/terminal-shop.rb +29 -20
  57. data/manifest.yaml +1 -0
  58. data/rbi/lib/terminal-shop/client.rbi +4 -4
  59. data/rbi/lib/terminal-shop/models/address_create_params.rbi +12 -2
  60. data/rbi/lib/terminal-shop/models/address_delete_params.rbi +1 -1
  61. data/rbi/lib/terminal-shop/models/address_get_params.rbi +1 -1
  62. data/rbi/lib/terminal-shop/models/address_list_params.rbi +1 -1
  63. data/rbi/lib/terminal-shop/models/app_create_params.rbi +1 -1
  64. data/rbi/lib/terminal-shop/models/app_delete_params.rbi +1 -1
  65. data/rbi/lib/terminal-shop/models/app_get_params.rbi +1 -1
  66. data/rbi/lib/terminal-shop/models/app_list_params.rbi +1 -1
  67. data/rbi/lib/terminal-shop/models/card_collect_params.rbi +1 -1
  68. data/rbi/lib/terminal-shop/models/card_create_params.rbi +1 -1
  69. data/rbi/lib/terminal-shop/models/card_delete_params.rbi +1 -1
  70. data/rbi/lib/terminal-shop/models/card_get_params.rbi +1 -1
  71. data/rbi/lib/terminal-shop/models/card_list_params.rbi +1 -1
  72. data/rbi/lib/terminal-shop/models/cart_clear_params.rbi +1 -1
  73. data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +1 -1
  74. data/rbi/lib/terminal-shop/models/cart_get_params.rbi +1 -1
  75. data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +1 -1
  76. data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +1 -1
  77. data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +1 -1
  78. data/rbi/lib/terminal-shop/models/email_create_params.rbi +1 -1
  79. data/rbi/lib/terminal-shop/models/order_create_params.rbi +1 -1
  80. data/rbi/lib/terminal-shop/models/order_get_params.rbi +1 -1
  81. data/rbi/lib/terminal-shop/models/order_list_params.rbi +1 -1
  82. data/rbi/lib/terminal-shop/models/product_get_params.rbi +1 -1
  83. data/rbi/lib/terminal-shop/models/product_list_params.rbi +1 -1
  84. data/rbi/lib/terminal-shop/models/profile_me_params.rbi +1 -1
  85. data/rbi/lib/terminal-shop/models/profile_update_params.rbi +1 -1
  86. data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +1 -1
  87. data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +1 -1
  88. data/rbi/lib/terminal-shop/models/subscription_get_params.rbi +1 -1
  89. data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +1 -1
  90. data/rbi/lib/terminal-shop/models/token_create_params.rbi +1 -1
  91. data/rbi/lib/terminal-shop/models/token_delete_params.rbi +1 -1
  92. data/rbi/lib/terminal-shop/models/token_get_params.rbi +1 -1
  93. data/rbi/lib/terminal-shop/models/token_list_params.rbi +1 -1
  94. data/rbi/lib/terminal-shop/models/view_init_params.rbi +1 -1
  95. data/rbi/lib/terminal-shop/models/view_init_response.rbi +12 -1
  96. data/rbi/lib/terminal-shop/request_options.rbi +0 -15
  97. data/rbi/lib/terminal-shop/transport/base_client.rbi +208 -0
  98. data/rbi/lib/terminal-shop/transport/pooled_net_requester.rbi +64 -0
  99. data/rbi/lib/terminal-shop/type/array_of.rbi +82 -0
  100. data/rbi/lib/terminal-shop/type/base_model.rbi +194 -0
  101. data/rbi/lib/terminal-shop/type/base_page.rbi +38 -0
  102. data/rbi/lib/terminal-shop/type/boolean_model.rbi +41 -0
  103. data/rbi/lib/terminal-shop/type/converter.rbi +101 -0
  104. data/rbi/lib/terminal-shop/type/enum.rbi +58 -0
  105. data/rbi/lib/terminal-shop/type/hash_of.rbi +85 -0
  106. data/rbi/lib/terminal-shop/type/request_parameters.rbi +20 -0
  107. data/rbi/lib/terminal-shop/type/union.rbi +68 -0
  108. data/rbi/lib/terminal-shop/type/unknown.rbi +37 -0
  109. data/rbi/lib/terminal-shop/type.rbi +23 -0
  110. data/rbi/lib/terminal-shop/version.rbi +1 -1
  111. data/sig/terminal-shop/client.rbs +3 -3
  112. data/sig/terminal-shop/models/address_create_params.rbs +1 -1
  113. data/sig/terminal-shop/models/address_delete_params.rbs +1 -1
  114. data/sig/terminal-shop/models/address_get_params.rbs +1 -1
  115. data/sig/terminal-shop/models/address_list_params.rbs +1 -1
  116. data/sig/terminal-shop/models/app_create_params.rbs +1 -1
  117. data/sig/terminal-shop/models/app_delete_params.rbs +1 -1
  118. data/sig/terminal-shop/models/app_get_params.rbs +1 -1
  119. data/sig/terminal-shop/models/app_list_params.rbs +1 -1
  120. data/sig/terminal-shop/models/card_collect_params.rbs +1 -1
  121. data/sig/terminal-shop/models/card_create_params.rbs +1 -1
  122. data/sig/terminal-shop/models/card_delete_params.rbs +1 -1
  123. data/sig/terminal-shop/models/card_get_params.rbs +1 -1
  124. data/sig/terminal-shop/models/card_list_params.rbs +1 -1
  125. data/sig/terminal-shop/models/cart_clear_params.rbs +1 -1
  126. data/sig/terminal-shop/models/cart_convert_params.rbs +1 -1
  127. data/sig/terminal-shop/models/cart_get_params.rbs +1 -1
  128. data/sig/terminal-shop/models/cart_set_address_params.rbs +1 -1
  129. data/sig/terminal-shop/models/cart_set_card_params.rbs +1 -1
  130. data/sig/terminal-shop/models/cart_set_item_params.rbs +1 -1
  131. data/sig/terminal-shop/models/email_create_params.rbs +1 -1
  132. data/sig/terminal-shop/models/order_create_params.rbs +1 -1
  133. data/sig/terminal-shop/models/order_get_params.rbs +1 -1
  134. data/sig/terminal-shop/models/order_list_params.rbs +1 -1
  135. data/sig/terminal-shop/models/product_get_params.rbs +1 -1
  136. data/sig/terminal-shop/models/product_list_params.rbs +1 -1
  137. data/sig/terminal-shop/models/profile_me_params.rbs +1 -1
  138. data/sig/terminal-shop/models/profile_update_params.rbs +1 -1
  139. data/sig/terminal-shop/models/subscription_create_params.rbs +1 -1
  140. data/sig/terminal-shop/models/subscription_delete_params.rbs +1 -1
  141. data/sig/terminal-shop/models/subscription_get_params.rbs +1 -1
  142. data/sig/terminal-shop/models/subscription_list_params.rbs +1 -1
  143. data/sig/terminal-shop/models/token_create_params.rbs +1 -1
  144. data/sig/terminal-shop/models/token_delete_params.rbs +1 -1
  145. data/sig/terminal-shop/models/token_get_params.rbs +1 -1
  146. data/sig/terminal-shop/models/token_list_params.rbs +1 -1
  147. data/sig/terminal-shop/models/view_init_params.rbs +1 -1
  148. data/sig/terminal-shop/request_options.rbs +0 -10
  149. data/sig/terminal-shop/transport/base_client.rbs +110 -0
  150. data/sig/terminal-shop/transport/pooled_net_requester.rbs +39 -0
  151. data/sig/terminal-shop/type/array_of.rbs +36 -0
  152. data/sig/terminal-shop/type/base_model.rbs +73 -0
  153. data/sig/terminal-shop/type/base_page.rbs +22 -0
  154. data/sig/terminal-shop/type/boolean_model.rbs +18 -0
  155. data/sig/terminal-shop/type/converter.rbs +42 -0
  156. data/sig/terminal-shop/type/enum.rbs +22 -0
  157. data/sig/terminal-shop/type/hash_of.rbs +36 -0
  158. data/sig/terminal-shop/type/request_parameters.rbs +13 -0
  159. data/sig/terminal-shop/type/union.rbs +40 -0
  160. data/sig/terminal-shop/type/unknown.rbs +18 -0
  161. data/sig/terminal-shop/type.rbs +22 -0
  162. data/sig/terminal-shop/version.rbs +1 -1
  163. metadata +41 -17
  164. data/lib/terminal-shop/base_client.rb +0 -457
  165. data/lib/terminal-shop/base_model.rb +0 -1201
  166. data/lib/terminal-shop/base_page.rb +0 -59
  167. data/lib/terminal-shop/extern.rb +0 -7
  168. data/lib/terminal-shop/pooled_net_requester.rb +0 -180
  169. data/rbi/lib/terminal-shop/base_client.rbi +0 -197
  170. data/rbi/lib/terminal-shop/base_model.rbi +0 -645
  171. data/rbi/lib/terminal-shop/base_page.rbi +0 -36
  172. data/rbi/lib/terminal-shop/extern.rbi +0 -7
  173. data/rbi/lib/terminal-shop/pooled_net_requester.rbi +0 -59
  174. data/sig/terminal-shop/base_client.rbs +0 -108
  175. data/sig/terminal-shop/base_model.rbs +0 -262
  176. data/sig/terminal-shop/base_page.rbs +0 -20
  177. data/sig/terminal-shop/extern.rbs +0 -4
  178. data/sig/terminal-shop/pooled_net_requester.rbs +0 -37
@@ -1,645 +0,0 @@
1
- # typed: strong
2
-
3
- module TerminalShop
4
- # @api private
5
- module Converter
6
- Input = T.type_alias { T.any(TerminalShop::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(TerminalShop::Converter::Input)),
35
- union: T.nilable(T.proc.returns(TerminalShop::Converter::Input))
36
- },
37
- T.proc.returns(TerminalShop::Converter::Input),
38
- TerminalShop::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: TerminalShop::Converter::Input, value: T.anything).returns(T.anything) }
55
- def self.coerce(target, value)
56
- end
57
-
58
- # @api private
59
- sig { params(target: TerminalShop::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: TerminalShop::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 TerminalShop::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 TerminalShop::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 TerminalShop::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 TerminalShop::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(TerminalShop::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, TerminalShop::Util::AnyHash, T.proc.returns(T.anything), T.anything),
246
- spec: T.any(TerminalShop::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 TerminalShop::Converter
291
-
292
- abstract!
293
- final!
294
-
295
- sig(:final) do
296
- params(
297
- type_info: T.any(
298
- TerminalShop::Util::AnyHash,
299
- T.proc.returns(TerminalShop::Converter::Input),
300
- TerminalShop::Converter::Input
301
- ),
302
- spec: TerminalShop::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
- TerminalShop::Util::AnyHash,
354
- T.proc.returns(TerminalShop::Converter::Input),
355
- TerminalShop::Converter::Input
356
- ),
357
- spec: TerminalShop::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 TerminalShop::Converter
370
-
371
- abstract!
372
- final!
373
-
374
- sig(:final) do
375
- params(
376
- type_info: T.any(
377
- TerminalShop::Util::AnyHash,
378
- T.proc.returns(TerminalShop::Converter::Input),
379
- TerminalShop::Converter::Input
380
- ),
381
- spec: TerminalShop::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(TerminalShop::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(TerminalShop::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
- TerminalShop::Util::AnyHash,
433
- T.proc.returns(TerminalShop::Converter::Input),
434
- TerminalShop::Converter::Input
435
- ),
436
- spec: TerminalShop::Util::AnyHash
437
- )
438
- .void
439
- end
440
- def initialize(type_info, spec = {})
441
- end
442
- end
443
-
444
- class BaseModel
445
- extend TerminalShop::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[
459
- Symbol,
460
- T.all(
461
- TerminalShop::BaseModel::KnownFieldShape,
462
- {type_fn: T.proc.returns(TerminalShop::Converter::Input)}
463
- )
464
- ]
465
- )
466
- end
467
- def known_fields
468
- end
469
-
470
- # @api private
471
- sig { returns(T::Hash[Symbol, Symbol]) }
472
- def reverse_map
473
- end
474
-
475
- # @api private
476
- sig do
477
- returns(
478
- T::Hash[Symbol,
479
- T.all(TerminalShop::BaseModel::KnownFieldShape, {type: TerminalShop::Converter::Input})]
480
- )
481
- end
482
- def fields
483
- end
484
-
485
- # @api private
486
- sig { returns(T::Hash[Symbol, T.proc.returns(T::Class[T.anything])]) }
487
- def defaults
488
- end
489
-
490
- # @api private
491
- sig do
492
- params(
493
- name_sym: Symbol,
494
- required: T::Boolean,
495
- type_info: T.any(
496
- {
497
- const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)),
498
- enum: T.nilable(T.proc.returns(TerminalShop::Converter::Input)),
499
- union: T.nilable(T.proc.returns(TerminalShop::Converter::Input)),
500
- api_name: Symbol,
501
- nil?: T::Boolean
502
- },
503
- T.proc.returns(TerminalShop::Converter::Input),
504
- TerminalShop::Converter::Input
505
- ),
506
- spec: TerminalShop::Util::AnyHash
507
- )
508
- .void
509
- end
510
- private def add_field(name_sym, required:, type_info:, spec:)
511
- end
512
-
513
- # @api private
514
- sig do
515
- params(
516
- name_sym: Symbol,
517
- type_info: T.any(
518
- TerminalShop::Util::AnyHash,
519
- T.proc.returns(TerminalShop::Converter::Input),
520
- TerminalShop::Converter::Input
521
- ),
522
- spec: TerminalShop::Util::AnyHash
523
- )
524
- .void
525
- end
526
- def required(name_sym, type_info, spec = {})
527
- end
528
-
529
- # @api private
530
- sig do
531
- params(
532
- name_sym: Symbol,
533
- type_info: T.any(
534
- TerminalShop::Util::AnyHash,
535
- T.proc.returns(TerminalShop::Converter::Input),
536
- TerminalShop::Converter::Input
537
- ),
538
- spec: TerminalShop::Util::AnyHash
539
- )
540
- .void
541
- end
542
- def optional(name_sym, type_info, spec = {})
543
- end
544
-
545
- # @api private
546
- #
547
- # `request_only` attributes not excluded from `.#coerce` when receiving responses
548
- # even if well behaved servers should not send them
549
- sig { params(blk: T.proc.void).void }
550
- private def request_only(&blk)
551
- end
552
-
553
- # @api private
554
- #
555
- # `response_only` attributes are omitted from `.#dump` when making requests
556
- sig { params(blk: T.proc.void).void }
557
- private def response_only(&blk)
558
- end
559
- end
560
-
561
- sig { params(other: T.anything).returns(T::Boolean) }
562
- def ==(other)
563
- end
564
-
565
- class << self
566
- # @api private
567
- sig do
568
- override
569
- .params(value: T.any(TerminalShop::BaseModel, T::Hash[T.anything, T.anything], T.anything))
570
- .returns(T.any(T.attached_class, T.anything))
571
- end
572
- def coerce(value)
573
- end
574
-
575
- # @api private
576
- sig do
577
- override
578
- .params(value: T.any(T.attached_class, T.anything))
579
- .returns(T.any(T::Hash[T.anything, T.anything], T.anything))
580
- end
581
- def dump(value)
582
- end
583
-
584
- # @api private
585
- sig do
586
- override
587
- .params(value: T.anything)
588
- .returns(T.any([T::Boolean, T.anything, NilClass], [T::Boolean, T::Boolean, Integer]))
589
- end
590
- def try_strict_coerce(value)
591
- end
592
- end
593
-
594
- # Returns the raw value associated with the given key, if found. Otherwise, nil is
595
- # returned.
596
- #
597
- # It is valid to lookup keys that are not in the API spec, for example to access
598
- # undocumented features. This method does not parse response data into
599
- # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
600
- sig { params(key: Symbol).returns(T.nilable(T.anything)) }
601
- def [](key)
602
- end
603
-
604
- # Returns a Hash of the data underlying this object. O(1)
605
- #
606
- # Keys are Symbols and values are the raw values from the response. The return
607
- # value indicates which values were ever set on the object. i.e. there will be a
608
- # key in this hash if they ever were, even if the set value was nil.
609
- #
610
- # This method is not recursive. The returned value is shared by the object, so it
611
- # should not be mutated.
612
- sig { overridable.returns(TerminalShop::Util::AnyHash) }
613
- def to_h
614
- end
615
-
616
- # Returns a Hash of the data underlying this object. O(1)
617
- #
618
- # Keys are Symbols and values are the raw values from the response. The return
619
- # value indicates which values were ever set on the object. i.e. there will be a
620
- # key in this hash if they ever were, even if the set value was nil.
621
- #
622
- # This method is not recursive. The returned value is shared by the object, so it
623
- # should not be mutated.
624
- sig { overridable.returns(TerminalShop::Util::AnyHash) }
625
- def to_hash
626
- end
627
-
628
- sig { params(keys: T.nilable(T::Array[Symbol])).returns(TerminalShop::Util::AnyHash) }
629
- def deconstruct_keys(keys)
630
- end
631
-
632
- # Create a new instance of a model.
633
- sig { params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(T.attached_class) }
634
- def self.new(data = {})
635
- end
636
-
637
- sig { returns(String) }
638
- def to_s
639
- end
640
-
641
- sig { returns(String) }
642
- def inspect
643
- end
644
- end
645
- end
@@ -1,36 +0,0 @@
1
- # typed: strong
2
-
3
- module TerminalShop
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: TerminalShop::BaseClient,
27
- req: TerminalShop::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 TerminalShop
4
- # @api private
5
- module Extern
6
- end
7
- end