terminal-shop 1.7.0 → 2.0.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.
- checksums.yaml +4 -4
- data/README.md +17 -1
- data/lib/terminal-shop/base_client.rb +47 -56
- data/lib/terminal-shop/base_model.rb +300 -352
- data/lib/terminal-shop/base_page.rb +30 -31
- data/lib/terminal-shop/client.rb +2 -3
- data/lib/terminal-shop/errors.rb +12 -17
- data/lib/terminal-shop/extern.rb +1 -4
- data/lib/terminal-shop/models/product.rb +7 -3
- data/lib/terminal-shop/models/region.rb +7 -3
- data/lib/terminal-shop/models/subscription.rb +7 -3
- data/lib/terminal-shop/pooled_net_requester.rb +30 -21
- data/lib/terminal-shop/request_options.rb +5 -12
- data/lib/terminal-shop/resources/address.rb +0 -5
- data/lib/terminal-shop/resources/app.rb +0 -5
- data/lib/terminal-shop/resources/card.rb +0 -6
- data/lib/terminal-shop/resources/cart.rb +0 -7
- data/lib/terminal-shop/resources/email.rb +0 -2
- data/lib/terminal-shop/resources/order.rb +0 -4
- data/lib/terminal-shop/resources/product.rb +0 -3
- data/lib/terminal-shop/resources/profile.rb +0 -3
- data/lib/terminal-shop/resources/subscription.rb +0 -5
- data/lib/terminal-shop/resources/token.rb +0 -5
- data/lib/terminal-shop/resources/view.rb +0 -2
- data/lib/terminal-shop/util.rb +59 -77
- data/lib/terminal-shop/version.rb +1 -1
- data/lib/terminal-shop.rb +16 -0
- data/manifest.yaml +1 -0
- data/rbi/lib/terminal-shop/base_client.rbi +63 -41
- data/rbi/lib/terminal-shop/base_model.rbi +278 -129
- data/rbi/lib/terminal-shop/base_page.rbi +1 -4
- data/rbi/lib/terminal-shop/client.rbi +29 -30
- data/rbi/lib/terminal-shop/errors.rbi +12 -14
- data/rbi/lib/terminal-shop/extern.rbi +1 -1
- data/rbi/lib/terminal-shop/models/address.rbi +25 -51
- data/rbi/lib/terminal-shop/models/address_create_params.rbi +23 -46
- data/rbi/lib/terminal-shop/models/address_create_response.rbi +2 -6
- data/rbi/lib/terminal-shop/models/address_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/address_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/address_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/address_get_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/address_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/address_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/app.rbi +9 -24
- data/rbi/lib/terminal-shop/models/app_create_params.rbi +3 -13
- data/rbi/lib/terminal-shop/models/app_create_response.rbi +10 -20
- data/rbi/lib/terminal-shop/models/app_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/app_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/app_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/app_get_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/app_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/app_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/card.rbi +22 -36
- data/rbi/lib/terminal-shop/models/card_collect_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/card_collect_response.rbi +11 -14
- data/rbi/lib/terminal-shop/models/card_create_params.rbi +4 -7
- data/rbi/lib/terminal-shop/models/card_create_response.rbi +2 -6
- data/rbi/lib/terminal-shop/models/card_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/card_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/card_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/card_get_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/card_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/card_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/cart.rbi +53 -88
- data/rbi/lib/terminal-shop/models/cart_clear_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/cart_clear_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/cart_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/cart_get_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +3 -7
- data/rbi/lib/terminal-shop/models/cart_set_address_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +3 -7
- data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +5 -13
- data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/email_create_params.rbi +3 -7
- data/rbi/lib/terminal-shop/models/email_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/order.rbi +80 -139
- data/rbi/lib/terminal-shop/models/order_create_params.rbi +7 -19
- data/rbi/lib/terminal-shop/models/order_create_response.rbi +2 -6
- data/rbi/lib/terminal-shop/models/order_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/order_get_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/order_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/order_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/product.rbi +52 -80
- data/rbi/lib/terminal-shop/models/product_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/product_get_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/product_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/product_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/product_variant.rbi +7 -18
- data/rbi/lib/terminal-shop/models/profile.rbi +20 -36
- data/rbi/lib/terminal-shop/models/profile_me_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/profile_me_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/profile_update_params.rbi +3 -13
- data/rbi/lib/terminal-shop/models/profile_update_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/region.rbi +10 -8
- data/rbi/lib/terminal-shop/models/subscription.rbi +35 -75
- data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/subscription_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/subscription_get_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +4 -8
- data/rbi/lib/terminal-shop/models/token.rbi +8 -18
- data/rbi/lib/terminal-shop/models/token_create_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/token_create_response.rbi +11 -20
- data/rbi/lib/terminal-shop/models/token_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/token_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/token_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/token_get_response.rbi +6 -6
- data/rbi/lib/terminal-shop/models/token_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/token_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/view_init_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/view_init_response.rbi +37 -81
- data/rbi/lib/terminal-shop/pooled_net_requester.rbi +24 -6
- data/rbi/lib/terminal-shop/request_options.rbi +32 -57
- data/rbi/lib/terminal-shop/resources/address.rbi +26 -6
- data/rbi/lib/terminal-shop/resources/app.rbi +18 -6
- data/rbi/lib/terminal-shop/resources/card.rbi +27 -8
- data/rbi/lib/terminal-shop/resources/cart.rbi +29 -9
- data/rbi/lib/terminal-shop/resources/email.rbi +7 -2
- data/rbi/lib/terminal-shop/resources/order.rbi +20 -5
- data/rbi/lib/terminal-shop/resources/product.rbi +9 -3
- data/rbi/lib/terminal-shop/resources/profile.rbi +4 -2
- data/rbi/lib/terminal-shop/resources/subscription.rbi +26 -6
- data/rbi/lib/terminal-shop/resources/token.rbi +18 -6
- data/rbi/lib/terminal-shop/resources/view.rbi +3 -1
- data/rbi/lib/terminal-shop/util.rbi +78 -20
- data/rbi/lib/terminal-shop/version.rbi +1 -1
- data/sig/terminal-shop/base_client.rbs +20 -15
- data/sig/terminal-shop/base_model.rbs +36 -18
- data/sig/terminal-shop/client.rbs +8 -8
- data/sig/terminal-shop/errors.rbs +21 -21
- data/sig/terminal-shop/models/address.rbs +11 -15
- data/sig/terminal-shop/models/address_create_params.rbs +11 -16
- data/sig/terminal-shop/models/address_create_response.rbs +1 -6
- data/sig/terminal-shop/models/address_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/address_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/address_get_params.rbs +1 -6
- data/sig/terminal-shop/models/address_get_response.rbs +1 -6
- data/sig/terminal-shop/models/address_list_params.rbs +1 -6
- data/sig/terminal-shop/models/address_list_response.rbs +1 -6
- data/sig/terminal-shop/models/app.rbs +6 -5
- data/sig/terminal-shop/models/app_create_params.rbs +5 -10
- data/sig/terminal-shop/models/app_create_response.rbs +4 -12
- data/sig/terminal-shop/models/app_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/app_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/app_get_params.rbs +1 -5
- data/sig/terminal-shop/models/app_get_response.rbs +1 -5
- data/sig/terminal-shop/models/app_list_params.rbs +1 -5
- data/sig/terminal-shop/models/app_list_response.rbs +1 -6
- data/sig/terminal-shop/models/card.rbs +7 -16
- data/sig/terminal-shop/models/card_collect_params.rbs +1 -6
- data/sig/terminal-shop/models/card_collect_response.rbs +4 -12
- data/sig/terminal-shop/models/card_create_params.rbs +4 -6
- data/sig/terminal-shop/models/card_create_response.rbs +1 -6
- data/sig/terminal-shop/models/card_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/card_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/card_get_params.rbs +1 -5
- data/sig/terminal-shop/models/card_get_response.rbs +1 -6
- data/sig/terminal-shop/models/card_list_params.rbs +1 -5
- data/sig/terminal-shop/models/card_list_response.rbs +1 -6
- data/sig/terminal-shop/models/cart.rbs +20 -34
- data/sig/terminal-shop/models/cart_clear_params.rbs +1 -6
- data/sig/terminal-shop/models/cart_clear_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_convert_params.rbs +1 -6
- data/sig/terminal-shop/models/cart_convert_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_get_params.rbs +1 -5
- data/sig/terminal-shop/models/cart_get_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_address_params.rbs +4 -9
- data/sig/terminal-shop/models/cart_set_address_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_card_params.rbs +4 -6
- data/sig/terminal-shop/models/cart_set_card_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_item_params.rbs +5 -10
- data/sig/terminal-shop/models/cart_set_item_response.rbs +1 -6
- data/sig/terminal-shop/models/email_create_params.rbs +4 -6
- data/sig/terminal-shop/models/email_create_response.rbs +1 -6
- data/sig/terminal-shop/models/order.rbs +31 -50
- data/sig/terminal-shop/models/order_create_params.rbs +6 -11
- data/sig/terminal-shop/models/order_create_response.rbs +1 -6
- data/sig/terminal-shop/models/order_get_params.rbs +1 -5
- data/sig/terminal-shop/models/order_get_response.rbs +1 -6
- data/sig/terminal-shop/models/order_list_params.rbs +1 -6
- data/sig/terminal-shop/models/order_list_response.rbs +1 -6
- data/sig/terminal-shop/models/product.rbs +20 -27
- data/sig/terminal-shop/models/product_get_params.rbs +1 -6
- data/sig/terminal-shop/models/product_get_response.rbs +1 -6
- data/sig/terminal-shop/models/product_list_params.rbs +1 -6
- data/sig/terminal-shop/models/product_list_response.rbs +1 -6
- data/sig/terminal-shop/models/product_variant.rbs +1 -5
- data/sig/terminal-shop/models/profile.rbs +8 -17
- data/sig/terminal-shop/models/profile_me_params.rbs +1 -6
- data/sig/terminal-shop/models/profile_me_response.rbs +1 -6
- data/sig/terminal-shop/models/profile_update_params.rbs +5 -10
- data/sig/terminal-shop/models/profile_update_response.rbs +1 -6
- data/sig/terminal-shop/models/region.rbs +4 -2
- data/sig/terminal-shop/models/subscription.rbs +15 -27
- data/sig/terminal-shop/models/subscription_create_params.rbs +1 -6
- data/sig/terminal-shop/models/subscription_create_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/subscription_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_get_params.rbs +1 -6
- data/sig/terminal-shop/models/subscription_get_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_list_params.rbs +1 -6
- data/sig/terminal-shop/models/subscription_list_response.rbs +3 -6
- data/sig/terminal-shop/models/token.rbs +1 -5
- data/sig/terminal-shop/models/token_create_params.rbs +1 -6
- data/sig/terminal-shop/models/token_create_response.rbs +4 -12
- data/sig/terminal-shop/models/token_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/token_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/token_get_params.rbs +1 -5
- data/sig/terminal-shop/models/token_get_response.rbs +1 -6
- data/sig/terminal-shop/models/token_list_params.rbs +1 -6
- data/sig/terminal-shop/models/token_list_response.rbs +1 -6
- data/sig/terminal-shop/models/view_init_params.rbs +1 -5
- data/sig/terminal-shop/models/view_init_response.rbs +15 -23
- data/sig/terminal-shop/pooled_net_requester.rbs +10 -3
- data/sig/terminal-shop/request_options.rbs +2 -2
- data/sig/terminal-shop/resources/address.rbs +22 -41
- data/sig/terminal-shop/resources/app.rbs +16 -34
- data/sig/terminal-shop/resources/card.rbs +18 -40
- data/sig/terminal-shop/resources/cart.rbs +22 -47
- data/sig/terminal-shop/resources/email.rbs +4 -8
- data/sig/terminal-shop/resources/order.rbs +13 -26
- data/sig/terminal-shop/resources/product.rbs +7 -16
- data/sig/terminal-shop/resources/profile.rbs +8 -16
- data/sig/terminal-shop/resources/subscription.rbs +21 -43
- data/sig/terminal-shop/resources/token.rbs +14 -32
- data/sig/terminal-shop/resources/view.rbs +3 -7
- data/sig/terminal-shop/util.rbs +9 -9
- data/sig/terminal-shop/version.rbs +1 -1
- metadata +4 -4
@@ -1,64 +1,95 @@
|
|
1
1
|
# typed: strong
|
2
2
|
|
3
3
|
module TerminalShop
|
4
|
+
# @api private
|
4
5
|
module Util
|
6
|
+
# Due to the current WIP status of Shapes support in Sorbet, types referencing
|
7
|
+
# this alias might be refined in the future.
|
8
|
+
AnyHash = T.type_alias { T::Hash[Symbol, T.anything] }
|
9
|
+
|
10
|
+
# @api private
|
5
11
|
sig { returns(Float) }
|
6
12
|
def self.monotonic_secs
|
7
13
|
end
|
8
14
|
|
9
15
|
class << self
|
16
|
+
# @api private
|
10
17
|
sig { returns(String) }
|
11
18
|
def arch
|
12
19
|
end
|
13
20
|
|
21
|
+
# @api private
|
14
22
|
sig { returns(String) }
|
15
23
|
def os
|
16
24
|
end
|
17
25
|
end
|
18
26
|
|
19
27
|
class << self
|
20
|
-
|
28
|
+
# @api private
|
29
|
+
sig { params(input: T.anything).returns(T::Boolean) }
|
21
30
|
def primitive?(input)
|
22
31
|
end
|
23
32
|
|
33
|
+
# @api private
|
24
34
|
sig { params(input: T.anything).returns(T.any(T::Boolean, T.anything)) }
|
25
35
|
def coerce_boolean(input)
|
26
36
|
end
|
27
37
|
|
38
|
+
# @api private
|
28
39
|
sig { params(input: T.anything).returns(T.nilable(T::Boolean)) }
|
29
40
|
def coerce_boolean!(input)
|
30
41
|
end
|
31
42
|
|
43
|
+
# @api private
|
32
44
|
sig { params(input: T.anything).returns(T.any(Integer, T.anything)) }
|
33
45
|
def coerce_integer(input)
|
34
46
|
end
|
35
47
|
|
48
|
+
# @api private
|
36
49
|
sig { params(input: T.anything).returns(T.any(Float, T.anything)) }
|
37
50
|
def coerce_float(input)
|
38
51
|
end
|
39
52
|
|
53
|
+
# @api private
|
40
54
|
sig { params(input: T.anything).returns(T.any(T::Hash[T.anything, T.anything], T.anything)) }
|
41
55
|
def coerce_hash(input)
|
42
56
|
end
|
43
57
|
end
|
44
58
|
|
59
|
+
# Use this to indicate that a value should be explicitly removed from a data
|
60
|
+
# structure when using `TerminalShop::Util.deep_merge`.
|
61
|
+
#
|
62
|
+
# e.g. merging `{a: 1}` and `{a: OMIT}` should produce `{}`, where merging
|
63
|
+
# `{a: 1}` and `{}` would produce `{a: 1}`.
|
45
64
|
OMIT = T.let(T.anything, T.anything)
|
46
65
|
|
47
66
|
class << self
|
67
|
+
# @api private
|
48
68
|
sig { params(lhs: T.anything, rhs: T.anything, concat: T::Boolean).returns(T.anything) }
|
49
69
|
private def deep_merge_lr(lhs, rhs, concat: false)
|
50
70
|
end
|
51
71
|
|
72
|
+
# @api private
|
73
|
+
#
|
74
|
+
# Recursively merge one hash with another. If the values at a given key are not
|
75
|
+
# both hashes, just take the new value.
|
52
76
|
sig do
|
53
77
|
params(values: T::Array[T.anything], sentinel: T.nilable(T.anything), concat: T::Boolean)
|
54
78
|
.returns(T.anything)
|
55
79
|
end
|
56
|
-
def deep_merge(
|
80
|
+
def deep_merge(
|
81
|
+
*values,
|
82
|
+
# the value to return if no values are provided.
|
83
|
+
sentinel: nil,
|
84
|
+
# whether to merge sequences by concatenation.
|
85
|
+
concat: false
|
86
|
+
)
|
57
87
|
end
|
58
88
|
|
89
|
+
# @api private
|
59
90
|
sig do
|
60
91
|
params(
|
61
|
-
data: T.any(
|
92
|
+
data: T.any(TerminalShop::Util::AnyHash, T::Array[T.anything], T.anything),
|
62
93
|
pick: T.nilable(T.any(Symbol, Integer, T::Array[T.any(Symbol, Integer)])),
|
63
94
|
sentinel: T.nilable(T.anything),
|
64
95
|
blk: T.nilable(T.proc.returns(T.anything))
|
@@ -70,20 +101,24 @@ module TerminalShop
|
|
70
101
|
end
|
71
102
|
|
72
103
|
class << self
|
104
|
+
# @api private
|
73
105
|
sig { params(uri: URI::Generic).returns(String) }
|
74
106
|
def uri_origin(uri)
|
75
107
|
end
|
76
108
|
|
109
|
+
# @api private
|
77
110
|
sig { params(path: T.any(String, T::Array[String])).returns(String) }
|
78
111
|
def interpolate_path(path)
|
79
112
|
end
|
80
113
|
end
|
81
114
|
|
82
115
|
class << self
|
116
|
+
# @api private
|
83
117
|
sig { params(query: T.nilable(String)).returns(T::Hash[String, T::Array[String]]) }
|
84
118
|
def decode_query(query)
|
85
119
|
end
|
86
120
|
|
121
|
+
# @api private
|
87
122
|
sig do
|
88
123
|
params(query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]))
|
89
124
|
.returns(T.nilable(String))
|
@@ -92,25 +127,29 @@ module TerminalShop
|
|
92
127
|
end
|
93
128
|
end
|
94
129
|
|
95
|
-
ParsedUriShape =
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
130
|
+
ParsedUriShape =
|
131
|
+
T.type_alias do
|
132
|
+
{
|
133
|
+
scheme: T.nilable(String),
|
134
|
+
host: T.nilable(String),
|
135
|
+
port: T.nilable(Integer),
|
136
|
+
path: T.nilable(String),
|
137
|
+
query: T::Hash[String, T::Array[String]]
|
138
|
+
}
|
139
|
+
end
|
104
140
|
|
105
141
|
class << self
|
142
|
+
# @api private
|
106
143
|
sig { params(url: T.any(URI::Generic, String)).returns(TerminalShop::Util::ParsedUriShape) }
|
107
144
|
def parse_uri(url)
|
108
145
|
end
|
109
146
|
|
147
|
+
# @api private
|
110
148
|
sig { params(parsed: TerminalShop::Util::ParsedUriShape).returns(URI::Generic) }
|
111
149
|
def unparse_uri(parsed)
|
112
150
|
end
|
113
151
|
|
152
|
+
# @api private
|
114
153
|
sig do
|
115
154
|
params(lhs: TerminalShop::Util::ParsedUriShape, rhs: TerminalShop::Util::ParsedUriShape)
|
116
155
|
.returns(URI::Generic)
|
@@ -120,6 +159,7 @@ module TerminalShop
|
|
120
159
|
end
|
121
160
|
|
122
161
|
class << self
|
162
|
+
# @api private
|
123
163
|
sig do
|
124
164
|
params(
|
125
165
|
headers: T::Hash[String,
|
@@ -131,15 +171,21 @@ module TerminalShop
|
|
131
171
|
end
|
132
172
|
end
|
133
173
|
|
174
|
+
# @api private
|
175
|
+
#
|
176
|
+
# An adapter that satisfies the IO interface required by `::IO.copy_stream`
|
134
177
|
class ReadIOAdapter
|
178
|
+
# @api private
|
135
179
|
sig { params(max_len: T.nilable(Integer)).returns(String) }
|
136
180
|
private def read_enum(max_len)
|
137
181
|
end
|
138
182
|
|
183
|
+
# @api private
|
139
184
|
sig { params(max_len: T.nilable(Integer), out_string: T.nilable(String)).returns(T.nilable(String)) }
|
140
185
|
def read(max_len = nil, out_string = nil)
|
141
186
|
end
|
142
187
|
|
188
|
+
# @api private
|
143
189
|
sig do
|
144
190
|
params(
|
145
191
|
stream: T.any(String, IO, StringIO, T::Enumerable[String]),
|
@@ -158,20 +204,24 @@ module TerminalShop
|
|
158
204
|
end
|
159
205
|
|
160
206
|
class << self
|
207
|
+
# @api private
|
161
208
|
sig do
|
162
209
|
params(y: Enumerator::Yielder, boundary: String, key: T.any(Symbol, String), val: T.anything).void
|
163
210
|
end
|
164
211
|
private def encode_multipart_formdata(y, boundary:, key:, val:)
|
165
212
|
end
|
166
213
|
|
214
|
+
# @api private
|
167
215
|
sig { params(body: T.anything).returns([String, T::Enumerable[String]]) }
|
168
216
|
private def encode_multipart_streaming(body)
|
169
217
|
end
|
170
218
|
|
219
|
+
# @api private
|
171
220
|
sig { params(headers: T::Hash[String, String], body: T.anything).returns(T.anything) }
|
172
221
|
def encode_content(headers, body)
|
173
222
|
end
|
174
223
|
|
224
|
+
# @api private
|
175
225
|
sig do
|
176
226
|
params(
|
177
227
|
headers: T.any(T::Hash[String, String], Net::HTTPHeader),
|
@@ -185,6 +235,9 @@ module TerminalShop
|
|
185
235
|
end
|
186
236
|
|
187
237
|
class << self
|
238
|
+
# @api private
|
239
|
+
#
|
240
|
+
# https://doc.rust-lang.org/std/iter/trait.FusedIterator.html
|
188
241
|
sig do
|
189
242
|
params(enum: T::Enumerable[T.anything], external: T::Boolean, close: T.proc.void)
|
190
243
|
.returns(T::Enumerable[T.anything])
|
@@ -192,30 +245,35 @@ module TerminalShop
|
|
192
245
|
def fused_enum(enum, external: false, &close)
|
193
246
|
end
|
194
247
|
|
248
|
+
# @api private
|
195
249
|
sig { params(enum: T.nilable(T::Enumerable[T.anything])).void }
|
196
250
|
def close_fused!(enum)
|
197
251
|
end
|
198
252
|
|
253
|
+
# @api private
|
199
254
|
sig do
|
200
|
-
params(
|
201
|
-
|
202
|
-
blk: T.proc.params(arg0: Enumerator::Yielder).void
|
203
|
-
).void
|
255
|
+
params(enum: T.nilable(T::Enumerable[T.anything]), blk: T.proc.params(arg0: Enumerator::Yielder).void)
|
256
|
+
.returns(T::Enumerable[T.anything])
|
204
257
|
end
|
205
258
|
def chain_fused(enum, &blk)
|
206
259
|
end
|
207
260
|
end
|
208
261
|
|
209
|
-
|
210
|
-
|
211
|
-
|
262
|
+
ServerSentEvent =
|
263
|
+
T.type_alias do
|
264
|
+
{event: T.nilable(String), data: T.nilable(String), id: T.nilable(String), retry: T.nilable(Integer)}
|
265
|
+
end
|
212
266
|
|
213
267
|
class << self
|
268
|
+
# @api private
|
214
269
|
sig { params(enum: T::Enumerable[String]).returns(T::Enumerable[String]) }
|
215
270
|
def decode_lines(enum)
|
216
271
|
end
|
217
272
|
|
218
|
-
|
273
|
+
# @api private
|
274
|
+
#
|
275
|
+
# https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream
|
276
|
+
sig { params(lines: T::Enumerable[String]).returns(TerminalShop::Util::ServerSentEvent) }
|
219
277
|
def decode_sse(lines)
|
220
278
|
end
|
221
279
|
end
|
@@ -45,19 +45,24 @@ module TerminalShop
|
|
45
45
|
response_headers: ::Hash[String, String]
|
46
46
|
) -> TerminalShop::BaseClient::request_input
|
47
47
|
|
48
|
-
|
48
|
+
def self.reap_connection!: (
|
49
|
+
Integer | TerminalShop::APIConnectionError status,
|
50
|
+
stream: Enumerable[String]?
|
51
|
+
) -> void
|
52
|
+
|
53
|
+
# @api private
|
49
54
|
attr_accessor requester: top
|
50
55
|
|
51
56
|
def initialize: (
|
52
57
|
base_url: String,
|
53
|
-
timeout: Float,
|
54
|
-
max_retries: Integer,
|
55
|
-
initial_retry_delay: Float,
|
56
|
-
max_retry_delay: Float,
|
57
|
-
headers: ::Hash[String, (String
|
58
|
+
?timeout: Float,
|
59
|
+
?max_retries: Integer,
|
60
|
+
?initial_retry_delay: Float,
|
61
|
+
?max_retry_delay: Float,
|
62
|
+
?headers: ::Hash[String, (String
|
58
63
|
| Integer
|
59
64
|
| ::Array[(String | Integer)?])?],
|
60
|
-
idempotency_header: String?
|
65
|
+
?idempotency_header: String?
|
61
66
|
) -> void
|
62
67
|
|
63
68
|
private def auth_headers: -> ::Hash[String, String]
|
@@ -85,16 +90,16 @@ module TerminalShop
|
|
85
90
|
(
|
86
91
|
Symbol method,
|
87
92
|
String | ::Array[String] path,
|
88
|
-
query: ::Hash[String, (::Array[String] | String)?]?,
|
89
|
-
headers: ::Hash[String, (String
|
93
|
+
?query: ::Hash[String, (::Array[String] | String)?]?,
|
94
|
+
?headers: ::Hash[String, (String
|
90
95
|
| Integer
|
91
96
|
| ::Array[(String | Integer)?])?]?,
|
92
|
-
body: top?,
|
93
|
-
unwrap: Symbol?,
|
94
|
-
page: Class?,
|
95
|
-
stream: Class?,
|
96
|
-
model: TerminalShop::Converter::input?,
|
97
|
-
options: TerminalShop::request_opts?
|
97
|
+
?body: top?,
|
98
|
+
?unwrap: Symbol?,
|
99
|
+
?page: Class?,
|
100
|
+
?stream: Class?,
|
101
|
+
?model: TerminalShop::Converter::input?,
|
102
|
+
?options: TerminalShop::request_opts?
|
98
103
|
) -> top
|
99
104
|
| (TerminalShop::BaseClient::request_components req) -> top
|
100
105
|
|
@@ -62,32 +62,34 @@ module TerminalShop
|
|
62
62
|
) -> ([true, top, nil] | [false, bool, Integer])
|
63
63
|
end
|
64
64
|
|
65
|
-
|
66
|
-
|
65
|
+
module Enum
|
66
|
+
include TerminalShop::Converter
|
67
67
|
|
68
68
|
def self.values: -> ::Array[(nil | bool | Integer | Float | Symbol)]
|
69
69
|
|
70
70
|
private def self.finalize!: -> void
|
71
71
|
|
72
|
-
def
|
72
|
+
def ===: (top other) -> bool
|
73
73
|
|
74
|
-
def
|
74
|
+
def ==: (top other) -> bool
|
75
75
|
|
76
|
-
def
|
76
|
+
def coerce: (String | Symbol | top value) -> (Symbol | top)
|
77
77
|
|
78
|
-
def
|
78
|
+
def dump: (Symbol | top value) -> (Symbol | top)
|
79
79
|
|
80
|
-
def
|
80
|
+
def try_strict_coerce: (
|
81
81
|
top value
|
82
82
|
) -> ([true, top, nil] | [false, bool, Integer])
|
83
83
|
end
|
84
84
|
|
85
|
-
|
86
|
-
|
85
|
+
module Union
|
86
|
+
include TerminalShop::Converter
|
87
87
|
|
88
|
-
private def self.known_variants: -> ::Array[[Symbol?,
|
88
|
+
private def self.known_variants: -> ::Array[[Symbol?, (^-> TerminalShop::Converter::input)]]
|
89
89
|
|
90
|
-
def self.
|
90
|
+
def self.derefed_variants: -> ::Array[[Symbol?, top]]
|
91
|
+
|
92
|
+
def self.variants: -> ::Array[top]
|
91
93
|
|
92
94
|
private def self.discriminator: (Symbol property) -> void
|
93
95
|
|
@@ -105,15 +107,15 @@ module TerminalShop
|
|
105
107
|
top value
|
106
108
|
) -> TerminalShop::Converter::input?
|
107
109
|
|
108
|
-
def
|
110
|
+
def ===: (top other) -> bool
|
109
111
|
|
110
|
-
def
|
112
|
+
def ==: (top other) -> bool
|
111
113
|
|
112
|
-
def
|
114
|
+
def coerce: (top value) -> top
|
113
115
|
|
114
|
-
def
|
116
|
+
def dump: (top value) -> top
|
115
117
|
|
116
|
-
def
|
118
|
+
def try_strict_coerce: (
|
117
119
|
top value
|
118
120
|
) -> ([true, top, nil] | [false, bool, Integer])
|
119
121
|
end
|
@@ -121,6 +123,13 @@ module TerminalShop
|
|
121
123
|
class ArrayOf
|
122
124
|
include TerminalShop::Converter
|
123
125
|
|
126
|
+
def self.[]: (
|
127
|
+
::Hash[Symbol, top]
|
128
|
+
| ^-> TerminalShop::Converter::input
|
129
|
+
| TerminalShop::Converter::input type_info,
|
130
|
+
?::Hash[Symbol, top] spec
|
131
|
+
) -> instance
|
132
|
+
|
124
133
|
def ===: (top other) -> bool
|
125
134
|
|
126
135
|
def ==: (top other) -> bool
|
@@ -133,7 +142,7 @@ module TerminalShop
|
|
133
142
|
top value
|
134
143
|
) -> ([true, top, nil] | [false, bool, Integer])
|
135
144
|
|
136
|
-
def item_type: ->
|
145
|
+
def item_type: -> top
|
137
146
|
|
138
147
|
def initialize: (
|
139
148
|
::Hash[Symbol, top]
|
@@ -146,6 +155,13 @@ module TerminalShop
|
|
146
155
|
class HashOf
|
147
156
|
include TerminalShop::Converter
|
148
157
|
|
158
|
+
def self.[]: (
|
159
|
+
::Hash[Symbol, top]
|
160
|
+
| ^-> TerminalShop::Converter::input
|
161
|
+
| TerminalShop::Converter::input type_info,
|
162
|
+
?::Hash[Symbol, top] spec
|
163
|
+
) -> instance
|
164
|
+
|
149
165
|
def ===: (top other) -> bool
|
150
166
|
|
151
167
|
def ==: (top other) -> bool
|
@@ -158,7 +174,7 @@ module TerminalShop
|
|
158
174
|
top value
|
159
175
|
) -> ([true, top, nil] | [false, bool, Integer])
|
160
176
|
|
161
|
-
def item_type: ->
|
177
|
+
def item_type: -> top
|
162
178
|
|
163
179
|
def initialize: (
|
164
180
|
::Hash[Symbol, top]
|
@@ -176,6 +192,8 @@ module TerminalShop
|
|
176
192
|
def self.known_fields: -> ::Hash[Symbol, (TerminalShop::BaseModel::known_field
|
177
193
|
& { type_fn: (^-> TerminalShop::Converter::input) })]
|
178
194
|
|
195
|
+
def self.reverse_map: -> ::Hash[Symbol, Symbol]
|
196
|
+
|
179
197
|
def self.fields: -> ::Hash[Symbol, (TerminalShop::BaseModel::known_field
|
180
198
|
& { type: TerminalShop::Converter::input })]
|
181
199
|
|
@@ -42,14 +42,14 @@ module TerminalShop
|
|
42
42
|
private def auth_headers: -> ::Hash[String, String]
|
43
43
|
|
44
44
|
def initialize: (
|
45
|
-
environment: :production | :dev | nil,
|
46
|
-
base_url: String?,
|
47
|
-
bearer_token: String?,
|
48
|
-
app_id: String?,
|
49
|
-
max_retries: Integer,
|
50
|
-
timeout: Float,
|
51
|
-
initial_retry_delay: Float,
|
52
|
-
max_retry_delay: Float
|
45
|
+
?environment: :production | :dev | nil,
|
46
|
+
?base_url: String?,
|
47
|
+
?bearer_token: String?,
|
48
|
+
?app_id: String?,
|
49
|
+
?max_retries: Integer,
|
50
|
+
?timeout: Float,
|
51
|
+
?initial_retry_delay: Float,
|
52
|
+
?max_retry_delay: Float
|
53
53
|
) -> void
|
54
54
|
end
|
55
55
|
end
|
@@ -1,47 +1,47 @@
|
|
1
1
|
module TerminalShop
|
2
2
|
class Error < StandardError
|
3
|
-
|
3
|
+
attr_accessor cause: StandardError?
|
4
4
|
end
|
5
5
|
|
6
6
|
class ConversionError < TerminalShop::Error
|
7
7
|
end
|
8
8
|
|
9
9
|
class APIError < TerminalShop::Error
|
10
|
-
|
10
|
+
attr_accessor url: URI::Generic
|
11
11
|
|
12
|
-
|
12
|
+
attr_accessor status: Integer?
|
13
13
|
|
14
|
-
|
14
|
+
attr_accessor body: top?
|
15
15
|
|
16
16
|
def initialize: (
|
17
17
|
url: URI::Generic,
|
18
|
-
status: Integer?,
|
19
|
-
body: Object?,
|
20
|
-
request: nil,
|
21
|
-
response: nil,
|
22
|
-
message: String?
|
18
|
+
?status: Integer?,
|
19
|
+
?body: Object?,
|
20
|
+
?request: nil,
|
21
|
+
?response: nil,
|
22
|
+
?message: String?
|
23
23
|
) -> void
|
24
24
|
end
|
25
25
|
|
26
26
|
class APIConnectionError < TerminalShop::APIError
|
27
27
|
def initialize: (
|
28
28
|
url: URI::Generic,
|
29
|
-
status: nil,
|
30
|
-
body: nil,
|
31
|
-
request: nil,
|
32
|
-
response: nil,
|
33
|
-
message: String?
|
29
|
+
?status: nil,
|
30
|
+
?body: nil,
|
31
|
+
?request: nil,
|
32
|
+
?response: nil,
|
33
|
+
?message: String?
|
34
34
|
) -> void
|
35
35
|
end
|
36
36
|
|
37
37
|
class APITimeoutError < TerminalShop::APIConnectionError
|
38
38
|
def initialize: (
|
39
39
|
url: URI::Generic,
|
40
|
-
status: nil,
|
41
|
-
body: nil,
|
42
|
-
request: nil,
|
43
|
-
response: nil,
|
44
|
-
message: String?
|
40
|
+
?status: nil,
|
41
|
+
?body: nil,
|
42
|
+
?request: nil,
|
43
|
+
?response: nil,
|
44
|
+
?message: String?
|
45
45
|
) -> void
|
46
46
|
end
|
47
47
|
|
@@ -52,7 +52,7 @@ module TerminalShop
|
|
52
52
|
body: Object?,
|
53
53
|
request: nil,
|
54
54
|
response: nil,
|
55
|
-
message: String?
|
55
|
+
?message: String?
|
56
56
|
) -> instance
|
57
57
|
|
58
58
|
def initialize: (
|
@@ -61,7 +61,7 @@ module TerminalShop
|
|
61
61
|
body: Object?,
|
62
62
|
request: nil,
|
63
63
|
response: nil,
|
64
|
-
message: String?
|
64
|
+
?message: String?
|
65
65
|
) -> void
|
66
66
|
end
|
67
67
|
|
@@ -38,21 +38,17 @@ module TerminalShop
|
|
38
38
|
|
39
39
|
def street2=: (String) -> String
|
40
40
|
|
41
|
-
def initialize:
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
) -> void
|
53
|
-
| (
|
54
|
-
?TerminalShop::Models::address_api | TerminalShop::BaseModel data
|
55
|
-
) -> void
|
41
|
+
def initialize: (
|
42
|
+
id: String,
|
43
|
+
city: String,
|
44
|
+
country: String,
|
45
|
+
name: String,
|
46
|
+
street1: String,
|
47
|
+
zip: String,
|
48
|
+
?phone: String,
|
49
|
+
?province: String,
|
50
|
+
?street2: String
|
51
|
+
) -> void
|
56
52
|
|
57
53
|
def to_hash: -> TerminalShop::Models::address_api
|
58
54
|
end
|
@@ -39,22 +39,17 @@ module TerminalShop
|
|
39
39
|
|
40
40
|
def street2=: (String) -> String
|
41
41
|
|
42
|
-
def initialize:
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
) -> void
|
54
|
-
| (
|
55
|
-
?TerminalShop::Models::address_create_params
|
56
|
-
| TerminalShop::BaseModel data
|
57
|
-
) -> void
|
42
|
+
def initialize: (
|
43
|
+
city: String,
|
44
|
+
country: String,
|
45
|
+
name: String,
|
46
|
+
street1: String,
|
47
|
+
zip: String,
|
48
|
+
?phone: String,
|
49
|
+
?province: String,
|
50
|
+
?street2: String,
|
51
|
+
?request_options: TerminalShop::request_opts
|
52
|
+
) -> void
|
58
53
|
|
59
54
|
def to_hash: -> TerminalShop::Models::address_create_params
|
60
55
|
end
|
@@ -5,12 +5,7 @@ module TerminalShop
|
|
5
5
|
class AddressCreateResponse < TerminalShop::BaseModel
|
6
6
|
attr_accessor data: String
|
7
7
|
|
8
|
-
def initialize:
|
9
|
-
(data: String) -> void
|
10
|
-
| (
|
11
|
-
?TerminalShop::Models::address_create_response
|
12
|
-
| TerminalShop::BaseModel data
|
13
|
-
) -> void
|
8
|
+
def initialize: (data: String) -> void
|
14
9
|
|
15
10
|
def to_hash: -> TerminalShop::Models::address_create_response
|
16
11
|
end
|
@@ -6,12 +6,7 @@ module TerminalShop
|
|
6
6
|
extend TerminalShop::RequestParameters::Converter
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
|
-
def initialize:
|
10
|
-
(request_options: TerminalShop::request_opts) -> void
|
11
|
-
| (
|
12
|
-
?TerminalShop::Models::address_delete_params
|
13
|
-
| TerminalShop::BaseModel data
|
14
|
-
) -> void
|
9
|
+
def initialize: (?request_options: TerminalShop::request_opts) -> void
|
15
10
|
|
16
11
|
def to_hash: -> TerminalShop::Models::address_delete_params
|
17
12
|
end
|
@@ -5,12 +5,7 @@ module TerminalShop
|
|
5
5
|
class AddressDeleteResponse < TerminalShop::BaseModel
|
6
6
|
attr_accessor data: :ok
|
7
7
|
|
8
|
-
def initialize:
|
9
|
-
(data: :ok) -> void
|
10
|
-
| (
|
11
|
-
?TerminalShop::Models::address_delete_response
|
12
|
-
| TerminalShop::BaseModel data
|
13
|
-
) -> void
|
8
|
+
def initialize: (?data: :ok) -> void
|
14
9
|
|
15
10
|
def to_hash: -> TerminalShop::Models::address_delete_response
|
16
11
|
end
|
@@ -6,12 +6,7 @@ module TerminalShop
|
|
6
6
|
extend TerminalShop::RequestParameters::Converter
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
|
-
def initialize:
|
10
|
-
(request_options: TerminalShop::request_opts) -> void
|
11
|
-
| (
|
12
|
-
?TerminalShop::Models::address_get_params
|
13
|
-
| TerminalShop::BaseModel data
|
14
|
-
) -> void
|
9
|
+
def initialize: (?request_options: TerminalShop::request_opts) -> void
|
15
10
|
|
16
11
|
def to_hash: -> TerminalShop::Models::address_get_params
|
17
12
|
end
|