terminal-shop 3.6.2 → 3.8.0

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 +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/README.md +81 -53
  4. data/SECURITY.md +2 -2
  5. data/lib/terminal_shop/client.rb +4 -4
  6. data/lib/terminal_shop/errors.rb +1 -1
  7. data/lib/terminal_shop/internal/transport/base_client.rb +77 -5
  8. data/lib/terminal_shop/internal/transport/pooled_net_requester.rb +17 -1
  9. data/lib/terminal_shop/internal/type/array_of.rb +9 -1
  10. data/lib/terminal_shop/internal/type/base_model.rb +77 -30
  11. data/lib/terminal_shop/internal/type/boolean.rb +8 -0
  12. data/lib/terminal_shop/internal/type/converter.rb +18 -0
  13. data/lib/terminal_shop/internal/type/enum.rb +13 -0
  14. data/lib/terminal_shop/internal/type/file_input.rb +7 -0
  15. data/lib/terminal_shop/internal/type/hash_of.rb +9 -1
  16. data/lib/terminal_shop/internal/type/union.rb +13 -0
  17. data/lib/terminal_shop/internal/type/unknown.rb +8 -0
  18. data/lib/terminal_shop/internal/util.rb +101 -0
  19. data/lib/terminal_shop/internal.rb +9 -0
  20. data/lib/terminal_shop/models.rb +38 -0
  21. data/lib/terminal_shop/request_options.rb +4 -0
  22. data/lib/terminal_shop/version.rb +1 -1
  23. data/lib/terminal_shop.rb +2 -0
  24. data/rbi/terminal_shop/internal/transport/base_client.rbi +31 -8
  25. data/rbi/terminal_shop/internal/transport/pooled_net_requester.rbi +10 -4
  26. data/rbi/terminal_shop/internal/type/array_of.rbi +6 -0
  27. data/rbi/terminal_shop/internal/type/base_model.rbi +38 -15
  28. data/rbi/terminal_shop/internal/type/base_page.rbi +1 -1
  29. data/rbi/terminal_shop/internal/type/boolean.rbi +6 -0
  30. data/rbi/terminal_shop/internal/type/converter.rbi +2 -0
  31. data/rbi/terminal_shop/internal/type/enum.rbi +6 -0
  32. data/rbi/terminal_shop/internal/type/file_input.rbi +5 -0
  33. data/rbi/terminal_shop/internal/type/hash_of.rbi +6 -0
  34. data/rbi/terminal_shop/internal/type/union.rbi +6 -0
  35. data/rbi/terminal_shop/internal/type/unknown.rbi +6 -0
  36. data/rbi/terminal_shop/internal/util.rbi +62 -5
  37. data/rbi/terminal_shop/internal.rbi +7 -0
  38. data/rbi/terminal_shop/models/address.rbi +3 -1
  39. data/rbi/terminal_shop/models/address_create_params.rbi +6 -1
  40. data/rbi/terminal_shop/models/address_create_response.rbi +6 -1
  41. data/rbi/terminal_shop/models/address_delete_params.rbi +6 -1
  42. data/rbi/terminal_shop/models/address_delete_response.rbi +6 -1
  43. data/rbi/terminal_shop/models/address_get_params.rbi +3 -1
  44. data/rbi/terminal_shop/models/address_get_response.rbi +6 -1
  45. data/rbi/terminal_shop/models/address_list_params.rbi +6 -1
  46. data/rbi/terminal_shop/models/address_list_response.rbi +6 -1
  47. data/rbi/terminal_shop/models/app.rbi +3 -1
  48. data/rbi/terminal_shop/models/app_create_params.rbi +3 -1
  49. data/rbi/terminal_shop/models/app_create_response.rbi +12 -2
  50. data/rbi/terminal_shop/models/app_delete_params.rbi +3 -1
  51. data/rbi/terminal_shop/models/app_delete_response.rbi +6 -1
  52. data/rbi/terminal_shop/models/app_get_params.rbi +3 -1
  53. data/rbi/terminal_shop/models/app_get_response.rbi +6 -1
  54. data/rbi/terminal_shop/models/app_list_params.rbi +3 -1
  55. data/rbi/terminal_shop/models/app_list_response.rbi +6 -1
  56. data/rbi/terminal_shop/models/card.rbi +9 -2
  57. data/rbi/terminal_shop/models/card_collect_params.rbi +6 -1
  58. data/rbi/terminal_shop/models/card_collect_response.rbi +12 -2
  59. data/rbi/terminal_shop/models/card_create_params.rbi +3 -1
  60. data/rbi/terminal_shop/models/card_create_response.rbi +6 -1
  61. data/rbi/terminal_shop/models/card_delete_params.rbi +3 -1
  62. data/rbi/terminal_shop/models/card_delete_response.rbi +6 -1
  63. data/rbi/terminal_shop/models/card_get_params.rbi +3 -1
  64. data/rbi/terminal_shop/models/card_get_response.rbi +6 -1
  65. data/rbi/terminal_shop/models/card_list_params.rbi +3 -1
  66. data/rbi/terminal_shop/models/card_list_response.rbi +6 -1
  67. data/rbi/terminal_shop/models/cart.rbi +18 -4
  68. data/rbi/terminal_shop/models/cart_clear_params.rbi +3 -1
  69. data/rbi/terminal_shop/models/cart_clear_response.rbi +6 -1
  70. data/rbi/terminal_shop/models/cart_convert_params.rbi +6 -1
  71. data/rbi/terminal_shop/models/cart_convert_response.rbi +6 -1
  72. data/rbi/terminal_shop/models/cart_get_params.rbi +3 -1
  73. data/rbi/terminal_shop/models/cart_get_response.rbi +6 -1
  74. data/rbi/terminal_shop/models/cart_set_address_params.rbi +6 -1
  75. data/rbi/terminal_shop/models/cart_set_address_response.rbi +6 -1
  76. data/rbi/terminal_shop/models/cart_set_card_params.rbi +6 -1
  77. data/rbi/terminal_shop/models/cart_set_card_response.rbi +6 -1
  78. data/rbi/terminal_shop/models/cart_set_item_params.rbi +6 -1
  79. data/rbi/terminal_shop/models/cart_set_item_response.rbi +6 -1
  80. data/rbi/terminal_shop/models/email_create_params.rbi +6 -1
  81. data/rbi/terminal_shop/models/email_create_response.rbi +6 -1
  82. data/rbi/terminal_shop/models/order.rbi +24 -5
  83. data/rbi/terminal_shop/models/order_create_params.rbi +6 -1
  84. data/rbi/terminal_shop/models/order_create_response.rbi +6 -1
  85. data/rbi/terminal_shop/models/order_get_params.rbi +3 -1
  86. data/rbi/terminal_shop/models/order_get_response.rbi +6 -1
  87. data/rbi/terminal_shop/models/order_list_params.rbi +3 -1
  88. data/rbi/terminal_shop/models/order_list_response.rbi +6 -1
  89. data/rbi/terminal_shop/models/product.rbi +9 -2
  90. data/rbi/terminal_shop/models/product_get_params.rbi +3 -1
  91. data/rbi/terminal_shop/models/product_get_response.rbi +6 -1
  92. data/rbi/terminal_shop/models/product_list_params.rbi +6 -1
  93. data/rbi/terminal_shop/models/product_list_response.rbi +6 -1
  94. data/rbi/terminal_shop/models/product_variant.rbi +9 -2
  95. data/rbi/terminal_shop/models/profile.rbi +9 -2
  96. data/rbi/terminal_shop/models/profile_me_params.rbi +3 -1
  97. data/rbi/terminal_shop/models/profile_me_response.rbi +6 -1
  98. data/rbi/terminal_shop/models/profile_update_params.rbi +6 -1
  99. data/rbi/terminal_shop/models/profile_update_response.rbi +6 -1
  100. data/rbi/terminal_shop/models/subscription.rbi +17 -16
  101. data/rbi/terminal_shop/models/subscription_create_params.rbi +6 -1
  102. data/rbi/terminal_shop/models/subscription_create_response.rbi +6 -1
  103. data/rbi/terminal_shop/models/subscription_delete_params.rbi +6 -1
  104. data/rbi/terminal_shop/models/subscription_delete_response.rbi +6 -1
  105. data/rbi/terminal_shop/models/subscription_get_params.rbi +6 -1
  106. data/rbi/terminal_shop/models/subscription_get_response.rbi +6 -1
  107. data/rbi/terminal_shop/models/subscription_list_params.rbi +6 -1
  108. data/rbi/terminal_shop/models/subscription_list_response.rbi +6 -1
  109. data/rbi/terminal_shop/models/subscription_update_params.rbi +18 -3
  110. data/rbi/terminal_shop/models/subscription_update_response.rbi +6 -1
  111. data/rbi/terminal_shop/models/token.rbi +3 -1
  112. data/rbi/terminal_shop/models/token_create_params.rbi +6 -1
  113. data/rbi/terminal_shop/models/token_create_response.rbi +12 -2
  114. data/rbi/terminal_shop/models/token_delete_params.rbi +6 -1
  115. data/rbi/terminal_shop/models/token_delete_response.rbi +6 -1
  116. data/rbi/terminal_shop/models/token_get_params.rbi +3 -1
  117. data/rbi/terminal_shop/models/token_get_response.rbi +6 -1
  118. data/rbi/terminal_shop/models/token_list_params.rbi +3 -1
  119. data/rbi/terminal_shop/models/token_list_response.rbi +6 -1
  120. data/rbi/terminal_shop/models/view_init_params.rbi +3 -1
  121. data/rbi/terminal_shop/models/view_init_response.rbi +12 -2
  122. data/rbi/terminal_shop/request_options.rbi +3 -1
  123. data/sig/terminal_shop/internal/transport/base_client.rbs +16 -1
  124. data/sig/terminal_shop/internal/transport/pooled_net_requester.rbs +4 -0
  125. data/sig/terminal_shop/internal/type/array_of.rbs +3 -0
  126. data/sig/terminal_shop/internal/type/base_model.rbs +13 -5
  127. data/sig/terminal_shop/internal/type/base_page.rbs +1 -1
  128. data/sig/terminal_shop/internal/type/boolean.rbs +3 -0
  129. data/sig/terminal_shop/internal/type/converter.rbs +2 -0
  130. data/sig/terminal_shop/internal/type/enum.rbs +3 -0
  131. data/sig/terminal_shop/internal/type/file_input.rbs +2 -0
  132. data/sig/terminal_shop/internal/type/hash_of.rbs +3 -0
  133. data/sig/terminal_shop/internal/type/union.rbs +3 -0
  134. data/sig/terminal_shop/internal/type/unknown.rbs +3 -0
  135. data/sig/terminal_shop/internal/util.rbs +25 -0
  136. data/sig/terminal_shop/internal.rbs +4 -0
  137. metadata +2 -2
@@ -5,7 +5,9 @@ module TerminalShop
5
5
  module Transport
6
6
  # @api private
7
7
  class PooledNetRequester
8
- RequestShape =
8
+ extend TerminalShop::Internal::Util::SorbetRuntimeSupport
9
+
10
+ Request =
9
11
  T.type_alias do
10
12
  {
11
13
  method: Symbol,
@@ -20,6 +22,8 @@ module TerminalShop
20
22
  # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
21
23
  KEEP_ALIVE_TIMEOUT = 30
22
24
 
25
+ DEFAULT_MAX_CONNECTIONS = T.let(T.unsafe(nil), Integer)
26
+
23
27
  class << self
24
28
  # @api private
25
29
  sig { params(url: URI::Generic).returns(Net::HTTP) }
@@ -35,7 +39,7 @@ module TerminalShop
35
39
  sig do
36
40
  params(
37
41
  request:
38
- TerminalShop::Internal::Transport::PooledNetRequester::RequestShape,
42
+ TerminalShop::Internal::Transport::PooledNetRequester::Request,
39
43
  blk: T.proc.params(arg0: String).void
40
44
  ).returns([Net::HTTPGenericRequest, T.proc.void])
41
45
  end
@@ -58,7 +62,7 @@ module TerminalShop
58
62
  sig do
59
63
  params(
60
64
  request:
61
- TerminalShop::Internal::Transport::PooledNetRequester::RequestShape
65
+ TerminalShop::Internal::Transport::PooledNetRequester::Request
62
66
  ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
63
67
  end
64
68
  def execute(request)
@@ -66,7 +70,9 @@ module TerminalShop
66
70
 
67
71
  # @api private
68
72
  sig { params(size: Integer).returns(T.attached_class) }
69
- def self.new(size: Etc.nprocessors)
73
+ def self.new(
74
+ size: TerminalShop::Internal::Transport::PooledNetRequester::DEFAULT_MAX_CONNECTIONS
75
+ )
70
76
  end
71
77
  end
72
78
  end
@@ -8,6 +8,7 @@ module TerminalShop
8
8
  # Array of items of a given type.
9
9
  class ArrayOf
10
10
  include TerminalShop::Internal::Type::Converter
11
+ include TerminalShop::Internal::Util::SorbetRuntimeSupport
11
12
 
12
13
  abstract!
13
14
 
@@ -63,6 +64,11 @@ module TerminalShop
63
64
  def dump(value, state:)
64
65
  end
65
66
 
67
+ # @api private
68
+ sig { returns(T.anything) }
69
+ def to_sorbet_type
70
+ end
71
+
66
72
  # @api private
67
73
  sig { returns(Elem) }
68
74
  protected def item_type
@@ -5,10 +5,11 @@ module TerminalShop
5
5
  module Type
6
6
  class BaseModel
7
7
  extend TerminalShop::Internal::Type::Converter
8
+ extend TerminalShop::Internal::Util::SorbetRuntimeSupport
8
9
 
9
10
  abstract!
10
11
 
11
- KnownFieldShape =
12
+ KnownField =
12
13
  T.type_alias do
13
14
  {
14
15
  mode: T.nilable(Symbol),
@@ -18,19 +19,29 @@ module TerminalShop
18
19
  end
19
20
 
20
21
  OrHash =
21
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
22
+ T.type_alias do
23
+ T.any(
24
+ TerminalShop::Internal::Type::BaseModel,
25
+ TerminalShop::Internal::AnyHash
26
+ )
27
+ end
22
28
 
23
29
  class << self
24
30
  # @api private
25
31
  #
26
32
  # Assumes superclass fields are totally defined before fields are accessed /
27
33
  # defined on subclasses.
34
+ sig { params(child: T.self_type).void }
35
+ def inherited(child)
36
+ end
37
+
38
+ # @api private
28
39
  sig do
29
40
  returns(
30
41
  T::Hash[
31
42
  Symbol,
32
43
  T.all(
33
- TerminalShop::Internal::Type::BaseModel::KnownFieldShape,
44
+ TerminalShop::Internal::Type::BaseModel::KnownField,
34
45
  {
35
46
  type_fn:
36
47
  T.proc.returns(
@@ -50,7 +61,7 @@ module TerminalShop
50
61
  T::Hash[
51
62
  Symbol,
52
63
  T.all(
53
- TerminalShop::Internal::Type::BaseModel::KnownFieldShape,
64
+ TerminalShop::Internal::Type::BaseModel::KnownField,
54
65
  { type: TerminalShop::Internal::Type::Converter::Input }
55
66
  )
56
67
  ]
@@ -194,6 +205,23 @@ module TerminalShop
194
205
  end
195
206
  def dump(value, state:)
196
207
  end
208
+
209
+ # @api private
210
+ sig { returns(T.anything) }
211
+ def to_sorbet_type
212
+ end
213
+ end
214
+
215
+ class << self
216
+ # @api private
217
+ sig do
218
+ params(
219
+ model: TerminalShop::Internal::Type::BaseModel,
220
+ convert: T::Boolean
221
+ ).returns(TerminalShop::Internal::AnyHash)
222
+ end
223
+ def recursively_to_h(model, convert:)
224
+ end
197
225
  end
198
226
 
199
227
  # Returns the raw value associated with the given key, if found. Otherwise, nil is
@@ -230,6 +258,12 @@ module TerminalShop
230
258
  def to_hash
231
259
  end
232
260
 
261
+ # In addition to the behaviour of `#to_h`, this method will recursively call
262
+ # `#to_h` on nested models.
263
+ sig { overridable.returns(TerminalShop::Internal::AnyHash) }
264
+ def deep_to_h
265
+ end
266
+
233
267
  sig do
234
268
  params(keys: T.nilable(T::Array[Symbol])).returns(
235
269
  TerminalShop::Internal::AnyHash
@@ -238,17 +272,6 @@ module TerminalShop
238
272
  def deconstruct_keys(keys)
239
273
  end
240
274
 
241
- class << self
242
- # @api private
243
- sig do
244
- params(model: TerminalShop::Internal::Type::BaseModel).returns(
245
- TerminalShop::Internal::AnyHash
246
- )
247
- end
248
- def walk(model)
249
- end
250
- end
251
-
252
275
  sig { params(a: T.anything).returns(String) }
253
276
  def to_json(*a)
254
277
  end
@@ -30,7 +30,7 @@ module TerminalShop
30
30
  params(
31
31
  client: TerminalShop::Internal::Transport::BaseClient,
32
32
  req:
33
- TerminalShop::Internal::Transport::BaseClient::RequestComponentsShape,
33
+ TerminalShop::Internal::Transport::BaseClient::RequestComponents,
34
34
  headers: T.any(T::Hash[String, String], Net::HTTPHeader),
35
35
  page_data: T.anything
36
36
  ).void
@@ -8,6 +8,7 @@ module TerminalShop
8
8
  # Ruby has no Boolean class; this is something for models to refer to.
9
9
  class Boolean
10
10
  extend TerminalShop::Internal::Type::Converter
11
+ extend TerminalShop::Internal::Util::SorbetRuntimeSupport
11
12
 
12
13
  abstract!
13
14
 
@@ -43,6 +44,11 @@ module TerminalShop
43
44
  end
44
45
  def dump(value, state:)
45
46
  end
47
+
48
+ # @api private
49
+ sig { returns(T.anything) }
50
+ def to_sorbet_type
51
+ end
46
52
  end
47
53
  end
48
54
  end
@@ -5,6 +5,8 @@ module TerminalShop
5
5
  module Type
6
6
  # @api private
7
7
  module Converter
8
+ extend TerminalShop::Internal::Util::SorbetRuntimeSupport
9
+
8
10
  Input =
9
11
  T.type_alias do
10
12
  T.any(TerminalShop::Internal::Type::Converter, T::Class[T.anything])
@@ -17,6 +17,7 @@ module TerminalShop
17
17
  # values safely.
18
18
  module Enum
19
19
  include TerminalShop::Internal::Type::Converter
20
+ include TerminalShop::Internal::Util::SorbetRuntimeSupport
20
21
 
21
22
  # All of the valid Symbol values for this enum.
22
23
  sig do
@@ -66,6 +67,11 @@ module TerminalShop
66
67
  def dump(value, state:)
67
68
  end
68
69
 
70
+ # @api private
71
+ sig { returns(T.anything) }
72
+ def to_sorbet_type
73
+ end
74
+
69
75
  # @api private
70
76
  sig { params(depth: Integer).returns(String) }
71
77
  def inspect(depth: 0)
@@ -47,6 +47,11 @@ module TerminalShop
47
47
  end
48
48
  def dump(value, state:)
49
49
  end
50
+
51
+ # @api private
52
+ sig { returns(T.anything) }
53
+ def to_sorbet_type
54
+ end
50
55
  end
51
56
  end
52
57
  end
@@ -8,6 +8,7 @@ module TerminalShop
8
8
  # Hash of items of a given type.
9
9
  class HashOf
10
10
  include TerminalShop::Internal::Type::Converter
11
+ include TerminalShop::Internal::Util::SorbetRuntimeSupport
11
12
 
12
13
  abstract!
13
14
 
@@ -63,6 +64,11 @@ module TerminalShop
63
64
  def dump(value, state:)
64
65
  end
65
66
 
67
+ # @api private
68
+ sig { returns(T.anything) }
69
+ def to_sorbet_type
70
+ end
71
+
66
72
  # @api private
67
73
  sig { returns(Elem) }
68
74
  protected def item_type
@@ -6,6 +6,7 @@ module TerminalShop
6
6
  # @api private
7
7
  module Union
8
8
  include TerminalShop::Internal::Type::Converter
9
+ include TerminalShop::Internal::Util::SorbetRuntimeSupport
9
10
 
10
11
  # @api private
11
12
  #
@@ -100,6 +101,11 @@ module TerminalShop
100
101
  def dump(value, state:)
101
102
  end
102
103
 
104
+ # @api private
105
+ sig { returns(T.anything) }
106
+ def to_sorbet_type
107
+ end
108
+
103
109
  # @api private
104
110
  sig { params(depth: Integer).returns(String) }
105
111
  def inspect(depth: 0)
@@ -8,6 +8,7 @@ module TerminalShop
8
8
  # When we don't know what to expect for the value.
9
9
  class Unknown
10
10
  extend TerminalShop::Internal::Type::Converter
11
+ extend TerminalShop::Internal::Util::SorbetRuntimeSupport
11
12
 
12
13
  abstract!
13
14
 
@@ -43,6 +44,11 @@ module TerminalShop
43
44
  end
44
45
  def dump(value, state:)
45
46
  end
47
+
48
+ # @api private
49
+ sig { returns(T.anything) }
50
+ def to_sorbet_type
51
+ end
46
52
  end
47
53
  end
48
54
  end
@@ -4,11 +4,22 @@ module TerminalShop
4
4
  module Internal
5
5
  # @api private
6
6
  module Util
7
+ extend TerminalShop::Internal::Util::SorbetRuntimeSupport
8
+
7
9
  # @api private
8
10
  sig { returns(Float) }
9
11
  def self.monotonic_secs
10
12
  end
11
13
 
14
+ # @api private
15
+ sig do
16
+ params(ns: T.any(Module, T::Class[T.anything])).returns(
17
+ T::Enumerable[T.any(Module, T::Class[T.anything])]
18
+ )
19
+ end
20
+ def self.walk_namespaces(ns)
21
+ end
22
+
12
23
  class << self
13
24
  # @api private
14
25
  sig { returns(String) }
@@ -172,7 +183,7 @@ module TerminalShop
172
183
  end
173
184
  end
174
185
 
175
- ParsedUriShape =
186
+ ParsedUri =
176
187
  T.type_alias do
177
188
  {
178
189
  scheme: T.nilable(String),
@@ -187,7 +198,7 @@ module TerminalShop
187
198
  # @api private
188
199
  sig do
189
200
  params(url: T.any(URI::Generic, String)).returns(
190
- TerminalShop::Internal::Util::ParsedUriShape
201
+ TerminalShop::Internal::Util::ParsedUri
191
202
  )
192
203
  end
193
204
  def parse_uri(url)
@@ -195,7 +206,7 @@ module TerminalShop
195
206
 
196
207
  # @api private
197
208
  sig do
198
- params(parsed: TerminalShop::Internal::Util::ParsedUriShape).returns(
209
+ params(parsed: TerminalShop::Internal::Util::ParsedUri).returns(
199
210
  URI::Generic
200
211
  )
201
212
  end
@@ -205,8 +216,8 @@ module TerminalShop
205
216
  # @api private
206
217
  sig do
207
218
  params(
208
- lhs: TerminalShop::Internal::Util::ParsedUriShape,
209
- rhs: TerminalShop::Internal::Util::ParsedUriShape
219
+ lhs: TerminalShop::Internal::Util::ParsedUri,
220
+ rhs: TerminalShop::Internal::Util::ParsedUri
210
221
  ).returns(URI::Generic)
211
222
  end
212
223
  def join_parsed_uri(lhs, rhs)
@@ -423,6 +434,52 @@ module TerminalShop
423
434
  def decode_sse(lines)
424
435
  end
425
436
  end
437
+
438
+ # @api private
439
+ module SorbetRuntimeSupport
440
+ class MissingSorbetRuntimeError < ::RuntimeError
441
+ end
442
+
443
+ # @api private
444
+ sig { returns(T::Hash[Symbol, T.anything]) }
445
+ private def sorbet_runtime_constants
446
+ end
447
+
448
+ # @api private
449
+ sig { params(name: Symbol).void }
450
+ def const_missing(name)
451
+ end
452
+
453
+ # @api private
454
+ sig { params(name: Symbol).returns(T::Boolean) }
455
+ def sorbet_constant_defined?(name)
456
+ end
457
+
458
+ # @api private
459
+ sig { params(name: Symbol, blk: T.proc.returns(T.anything)).void }
460
+ def define_sorbet_constant!(name, &blk)
461
+ end
462
+
463
+ # @api private
464
+ sig { returns(T.anything) }
465
+ def to_sorbet_type
466
+ end
467
+
468
+ class << self
469
+ # @api private
470
+ sig do
471
+ params(
472
+ type:
473
+ T.any(
474
+ TerminalShop::Internal::Util::SorbetRuntimeSupport,
475
+ T.anything
476
+ )
477
+ ).returns(T.anything)
478
+ end
479
+ def to_sorbet_type(type)
480
+ end
481
+ end
482
+ end
426
483
  end
427
484
  end
428
485
  end
@@ -2,10 +2,17 @@
2
2
 
3
3
  module TerminalShop
4
4
  module Internal
5
+ extend TerminalShop::Internal::Util::SorbetRuntimeSupport
6
+
5
7
  # Due to the current WIP status of Shapes support in Sorbet, types referencing
6
8
  # this alias might be refined in the future.
7
9
  AnyHash = T.type_alias { T::Hash[Symbol, T.anything] }
8
10
 
11
+ FileInput =
12
+ T.type_alias do
13
+ T.any(Pathname, StringIO, IO, String, TerminalShop::FilePart)
14
+ end
15
+
9
16
  OMIT = T.let(Object.new.freeze, T.anything)
10
17
  end
11
18
  end
@@ -4,7 +4,9 @@ module TerminalShop
4
4
  module Models
5
5
  class AddressAPI < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(TerminalShop::AddressAPI, TerminalShop::Internal::AnyHash)
9
+ end
8
10
 
9
11
  # Unique object identifier. The format and length of IDs may change over time.
10
12
  sig { returns(String) }
@@ -7,7 +7,12 @@ module TerminalShop
7
7
  include TerminalShop::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
10
+ T.type_alias do
11
+ T.any(
12
+ TerminalShop::AddressCreateParams,
13
+ TerminalShop::Internal::AnyHash
14
+ )
15
+ end
11
16
 
12
17
  # City of the address.
13
18
  sig { returns(String) }
@@ -4,7 +4,12 @@ module TerminalShop
4
4
  module Models
5
5
  class AddressCreateResponse < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(
9
+ TerminalShop::Models::AddressCreateResponse,
10
+ TerminalShop::Internal::AnyHash
11
+ )
12
+ end
8
13
 
9
14
  # Shipping address ID.
10
15
  sig { returns(String) }
@@ -7,7 +7,12 @@ module TerminalShop
7
7
  include TerminalShop::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
10
+ T.type_alias do
11
+ T.any(
12
+ TerminalShop::AddressDeleteParams,
13
+ TerminalShop::Internal::AnyHash
14
+ )
15
+ end
11
16
 
12
17
  sig do
13
18
  params(request_options: TerminalShop::RequestOptions::OrHash).returns(
@@ -4,7 +4,12 @@ module TerminalShop
4
4
  module Models
5
5
  class AddressDeleteResponse < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(
9
+ TerminalShop::Models::AddressDeleteResponse,
10
+ TerminalShop::Internal::AnyHash
11
+ )
12
+ end
8
13
 
9
14
  sig { returns(Symbol) }
10
15
  attr_accessor :data
@@ -7,7 +7,9 @@ module TerminalShop
7
7
  include TerminalShop::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
10
+ T.type_alias do
11
+ T.any(TerminalShop::AddressGetParams, TerminalShop::Internal::AnyHash)
12
+ end
11
13
 
12
14
  sig do
13
15
  params(request_options: TerminalShop::RequestOptions::OrHash).returns(
@@ -4,7 +4,12 @@ module TerminalShop
4
4
  module Models
5
5
  class AddressGetResponse < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(
9
+ TerminalShop::Models::AddressGetResponse,
10
+ TerminalShop::Internal::AnyHash
11
+ )
12
+ end
8
13
 
9
14
  # Physical address associated with a Terminal shop user.
10
15
  sig { returns(TerminalShop::AddressAPI) }
@@ -7,7 +7,12 @@ module TerminalShop
7
7
  include TerminalShop::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
10
+ T.type_alias do
11
+ T.any(
12
+ TerminalShop::AddressListParams,
13
+ TerminalShop::Internal::AnyHash
14
+ )
15
+ end
11
16
 
12
17
  sig do
13
18
  params(request_options: TerminalShop::RequestOptions::OrHash).returns(
@@ -4,7 +4,12 @@ module TerminalShop
4
4
  module Models
5
5
  class AddressListResponse < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(
9
+ TerminalShop::Models::AddressListResponse,
10
+ TerminalShop::Internal::AnyHash
11
+ )
12
+ end
8
13
 
9
14
  # Shipping addresses.
10
15
  sig { returns(T::Array[TerminalShop::AddressAPI]) }
@@ -4,7 +4,9 @@ module TerminalShop
4
4
  module Models
5
5
  class AppAPI < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(TerminalShop::AppAPI, TerminalShop::Internal::AnyHash)
9
+ end
8
10
 
9
11
  # Unique object identifier. The format and length of IDs may change over time.
10
12
  sig { returns(String) }
@@ -7,7 +7,9 @@ module TerminalShop
7
7
  include TerminalShop::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
10
+ T.type_alias do
11
+ T.any(TerminalShop::AppCreateParams, TerminalShop::Internal::AnyHash)
12
+ end
11
13
 
12
14
  sig { returns(String) }
13
15
  attr_accessor :name
@@ -4,7 +4,12 @@ module TerminalShop
4
4
  module Models
5
5
  class AppCreateResponse < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(
9
+ TerminalShop::Models::AppCreateResponse,
10
+ TerminalShop::Internal::AnyHash
11
+ )
12
+ end
8
13
 
9
14
  sig { returns(TerminalShop::Models::AppCreateResponse::Data) }
10
15
  attr_reader :data
@@ -32,7 +37,12 @@ module TerminalShop
32
37
 
33
38
  class Data < TerminalShop::Internal::Type::BaseModel
34
39
  OrHash =
35
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
40
+ T.type_alias do
41
+ T.any(
42
+ TerminalShop::Models::AppCreateResponse::Data,
43
+ TerminalShop::Internal::AnyHash
44
+ )
45
+ end
36
46
 
37
47
  # OAuth 2.0 client ID.
38
48
  sig { returns(String) }
@@ -7,7 +7,9 @@ module TerminalShop
7
7
  include TerminalShop::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
10
+ T.type_alias do
11
+ T.any(TerminalShop::AppDeleteParams, TerminalShop::Internal::AnyHash)
12
+ end
11
13
 
12
14
  sig do
13
15
  params(request_options: TerminalShop::RequestOptions::OrHash).returns(
@@ -4,7 +4,12 @@ module TerminalShop
4
4
  module Models
5
5
  class AppDeleteResponse < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(
9
+ TerminalShop::Models::AppDeleteResponse,
10
+ TerminalShop::Internal::AnyHash
11
+ )
12
+ end
8
13
 
9
14
  sig { returns(Symbol) }
10
15
  attr_accessor :data
@@ -7,7 +7,9 @@ module TerminalShop
7
7
  include TerminalShop::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
10
+ T.type_alias do
11
+ T.any(TerminalShop::AppGetParams, TerminalShop::Internal::AnyHash)
12
+ end
11
13
 
12
14
  sig do
13
15
  params(request_options: TerminalShop::RequestOptions::OrHash).returns(
@@ -4,7 +4,12 @@ module TerminalShop
4
4
  module Models
5
5
  class AppGetResponse < TerminalShop::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias { T.any(T.self_type, TerminalShop::Internal::AnyHash) }
7
+ T.type_alias do
8
+ T.any(
9
+ TerminalShop::Models::AppGetResponse,
10
+ TerminalShop::Internal::AnyHash
11
+ )
12
+ end
8
13
 
9
14
  # A Terminal App used for configuring an OAuth 2.0 client.
10
15
  sig { returns(TerminalShop::AppAPI) }