terminal-shop 3.6.1 → 3.7.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/CHANGELOG.md +34 -0
- data/README.md +3 -3
- data/lib/terminal_shop/errors.rb +1 -1
- data/lib/terminal_shop/file_part.rb +2 -2
- data/lib/terminal_shop/internal/transport/base_client.rb +77 -5
- data/lib/terminal_shop/internal/transport/pooled_net_requester.rb +14 -0
- data/lib/terminal_shop/internal/type/array_of.rb +1 -1
- data/lib/terminal_shop/internal/type/base_model.rb +62 -30
- data/lib/terminal_shop/internal/type/converter.rb +18 -0
- data/lib/terminal_shop/internal/type/enum.rb +5 -4
- data/lib/terminal_shop/internal/type/hash_of.rb +1 -1
- data/lib/terminal_shop/internal/type/request_parameters.rb +4 -4
- data/lib/terminal_shop/internal/type/union.rb +1 -0
- data/lib/terminal_shop/internal/util.rb +57 -1
- data/lib/terminal_shop/internal.rb +6 -0
- data/lib/terminal_shop/models/address.rb +3 -3
- data/lib/terminal_shop/models/address_get_response.rb +3 -3
- data/lib/terminal_shop/models/address_list_response.rb +3 -3
- data/lib/terminal_shop/models/app.rb +3 -3
- data/lib/terminal_shop/models/app_get_response.rb +3 -3
- data/lib/terminal_shop/models/app_list_response.rb +3 -3
- data/lib/terminal_shop/models/card.rb +7 -7
- data/lib/terminal_shop/models/card_collect_response.rb +0 -1
- data/lib/terminal_shop/models/card_create_params.rb +0 -1
- data/lib/terminal_shop/models/card_get_response.rb +3 -3
- data/lib/terminal_shop/models/card_list_response.rb +3 -3
- data/lib/terminal_shop/models/cart.rb +13 -13
- data/lib/terminal_shop/models/cart_convert_response.rb +3 -3
- data/lib/terminal_shop/models/cart_get_response.rb +3 -3
- data/lib/terminal_shop/models/cart_set_item_response.rb +3 -3
- data/lib/terminal_shop/models/order.rb +24 -24
- data/lib/terminal_shop/models/order_get_response.rb +3 -3
- data/lib/terminal_shop/models/order_list_response.rb +3 -3
- data/lib/terminal_shop/models/product.rb +14 -14
- data/lib/terminal_shop/models/product_get_response.rb +3 -3
- data/lib/terminal_shop/models/product_list_response.rb +3 -3
- data/lib/terminal_shop/models/product_variant.rb +6 -6
- data/lib/terminal_shop/models/profile.rb +6 -6
- data/lib/terminal_shop/models/profile_me_response.rb +3 -3
- data/lib/terminal_shop/models/profile_update_response.rb +3 -3
- data/lib/terminal_shop/models/subscription.rb +18 -9
- data/lib/terminal_shop/models/subscription_get_response.rb +3 -3
- data/lib/terminal_shop/models/subscription_list_response.rb +3 -3
- data/lib/terminal_shop/models/subscription_update_params.rb +15 -6
- data/lib/terminal_shop/models/subscription_update_response.rb +3 -3
- data/lib/terminal_shop/models/token.rb +3 -3
- data/lib/terminal_shop/models/token_create_response.rb +0 -1
- data/lib/terminal_shop/models/token_get_response.rb +3 -4
- data/lib/terminal_shop/models/token_list_response.rb +3 -3
- data/lib/terminal_shop/models/view_init_response.rb +30 -31
- data/lib/terminal_shop/models.rb +27 -0
- data/lib/terminal_shop/request_options.rb +4 -0
- data/lib/terminal_shop/resources/address.rb +1 -1
- data/lib/terminal_shop/resources/app.rb +1 -1
- data/lib/terminal_shop/resources/card.rb +1 -2
- data/lib/terminal_shop/resources/cart.rb +3 -3
- data/lib/terminal_shop/resources/email.rb +1 -1
- data/lib/terminal_shop/resources/order.rb +1 -1
- data/lib/terminal_shop/resources/profile.rb +1 -1
- data/lib/terminal_shop/resources/subscription.rb +5 -5
- data/lib/terminal_shop/version.rb +1 -1
- data/lib/terminal_shop.rb +3 -0
- data/rbi/terminal_shop/client.rbi +9 -5
- data/rbi/terminal_shop/errors.rbi +35 -16
- data/rbi/terminal_shop/file_part.rbi +9 -6
- data/rbi/terminal_shop/internal/transport/base_client.rbi +165 -77
- data/rbi/terminal_shop/internal/transport/pooled_net_requester.rbi +29 -13
- data/rbi/terminal_shop/internal/type/array_of.rbi +34 -24
- data/rbi/terminal_shop/internal/type/base_model.rbi +155 -70
- data/rbi/terminal_shop/internal/type/base_page.rbi +13 -8
- data/rbi/terminal_shop/internal/type/boolean.rbi +16 -14
- data/rbi/terminal_shop/internal/type/converter.rbi +72 -28
- data/rbi/terminal_shop/internal/type/enum.rbi +24 -13
- data/rbi/terminal_shop/internal/type/file_input.rbi +8 -4
- data/rbi/terminal_shop/internal/type/hash_of.rbi +34 -24
- data/rbi/terminal_shop/internal/type/request_parameters.rbi +14 -4
- data/rbi/terminal_shop/internal/type/union.rbi +53 -22
- data/rbi/terminal_shop/internal/type/unknown.rbi +16 -6
- data/rbi/terminal_shop/internal/util.rbi +236 -91
- data/rbi/terminal_shop/internal.rbi +2 -0
- data/rbi/terminal_shop/models/address.rbi +25 -19
- data/rbi/terminal_shop/models/address_create_params.rbi +28 -19
- data/rbi/terminal_shop/models/address_create_response.rbi +14 -3
- data/rbi/terminal_shop/models/address_delete_params.rbi +18 -5
- data/rbi/terminal_shop/models/address_delete_response.rbi +13 -3
- data/rbi/terminal_shop/models/address_get_params.rbi +15 -5
- data/rbi/terminal_shop/models/address_get_response.rbi +17 -7
- data/rbi/terminal_shop/models/address_list_params.rbi +18 -5
- data/rbi/terminal_shop/models/address_list_response.rbi +18 -6
- data/rbi/terminal_shop/models/app.rbi +23 -4
- data/rbi/terminal_shop/models/app_create_params.rbi +18 -6
- data/rbi/terminal_shop/models/app_create_response.rbi +37 -9
- data/rbi/terminal_shop/models/app_delete_params.rbi +15 -5
- data/rbi/terminal_shop/models/app_delete_response.rbi +13 -3
- data/rbi/terminal_shop/models/app_get_params.rbi +15 -5
- data/rbi/terminal_shop/models/app_get_response.rbi +17 -7
- data/rbi/terminal_shop/models/app_list_params.rbi +15 -5
- data/rbi/terminal_shop/models/app_list_response.rbi +18 -6
- data/rbi/terminal_shop/models/card.rbi +37 -14
- data/rbi/terminal_shop/models/card_collect_params.rbi +18 -5
- data/rbi/terminal_shop/models/card_collect_response.rbi +40 -9
- data/rbi/terminal_shop/models/card_create_params.rbi +17 -6
- data/rbi/terminal_shop/models/card_create_response.rbi +14 -3
- data/rbi/terminal_shop/models/card_delete_params.rbi +15 -5
- data/rbi/terminal_shop/models/card_delete_response.rbi +13 -3
- data/rbi/terminal_shop/models/card_get_params.rbi +15 -5
- data/rbi/terminal_shop/models/card_get_response.rbi +17 -7
- data/rbi/terminal_shop/models/card_list_params.rbi +15 -5
- data/rbi/terminal_shop/models/card_list_response.rbi +18 -6
- data/rbi/terminal_shop/models/cart.rbi +93 -36
- data/rbi/terminal_shop/models/cart_clear_params.rbi +15 -5
- data/rbi/terminal_shop/models/cart_clear_response.rbi +13 -3
- data/rbi/terminal_shop/models/cart_convert_params.rbi +18 -5
- data/rbi/terminal_shop/models/cart_convert_response.rbi +17 -7
- data/rbi/terminal_shop/models/cart_get_params.rbi +15 -5
- data/rbi/terminal_shop/models/cart_get_response.rbi +17 -7
- data/rbi/terminal_shop/models/cart_set_address_params.rbi +20 -6
- data/rbi/terminal_shop/models/cart_set_address_response.rbi +13 -3
- data/rbi/terminal_shop/models/cart_set_card_params.rbi +20 -6
- data/rbi/terminal_shop/models/cart_set_card_response.rbi +13 -3
- data/rbi/terminal_shop/models/cart_set_item_params.rbi +22 -11
- data/rbi/terminal_shop/models/cart_set_item_response.rbi +17 -7
- data/rbi/terminal_shop/models/email_create_params.rbi +20 -6
- data/rbi/terminal_shop/models/email_create_response.rbi +13 -3
- data/rbi/terminal_shop/models/order.rbi +172 -87
- data/rbi/terminal_shop/models/order_create_params.rbi +23 -14
- data/rbi/terminal_shop/models/order_create_response.rbi +14 -3
- data/rbi/terminal_shop/models/order_get_params.rbi +15 -5
- data/rbi/terminal_shop/models/order_get_response.rbi +17 -7
- data/rbi/terminal_shop/models/order_list_params.rbi +15 -5
- data/rbi/terminal_shop/models/order_list_response.rbi +18 -6
- data/rbi/terminal_shop/models/product.rbi +78 -44
- data/rbi/terminal_shop/models/product_get_params.rbi +15 -5
- data/rbi/terminal_shop/models/product_get_response.rbi +17 -7
- data/rbi/terminal_shop/models/product_list_params.rbi +18 -5
- data/rbi/terminal_shop/models/product_list_response.rbi +18 -6
- data/rbi/terminal_shop/models/product_variant.rbi +46 -15
- data/rbi/terminal_shop/models/profile.rbi +39 -21
- data/rbi/terminal_shop/models/profile_me_params.rbi +15 -5
- data/rbi/terminal_shop/models/profile_me_response.rbi +17 -7
- data/rbi/terminal_shop/models/profile_update_params.rbi +23 -6
- data/rbi/terminal_shop/models/profile_update_response.rbi +17 -7
- data/rbi/terminal_shop/models/region.rbi +7 -6
- data/rbi/terminal_shop/models/subscription.rbi +82 -46
- data/rbi/terminal_shop/models/subscription_create_params.rbi +18 -5
- data/rbi/terminal_shop/models/subscription_create_response.rbi +13 -3
- data/rbi/terminal_shop/models/subscription_delete_params.rbi +18 -5
- data/rbi/terminal_shop/models/subscription_delete_response.rbi +13 -3
- data/rbi/terminal_shop/models/subscription_get_params.rbi +18 -5
- data/rbi/terminal_shop/models/subscription_get_response.rbi +19 -7
- data/rbi/terminal_shop/models/subscription_list_params.rbi +18 -5
- data/rbi/terminal_shop/models/subscription_list_response.rbi +20 -6
- data/rbi/terminal_shop/models/subscription_update_params.rbi +81 -42
- data/rbi/terminal_shop/models/subscription_update_response.rbi +19 -7
- data/rbi/terminal_shop/models/token.rbi +16 -4
- data/rbi/terminal_shop/models/token_create_params.rbi +18 -5
- data/rbi/terminal_shop/models/token_create_response.rbi +39 -9
- data/rbi/terminal_shop/models/token_delete_params.rbi +18 -5
- data/rbi/terminal_shop/models/token_delete_response.rbi +13 -3
- data/rbi/terminal_shop/models/token_get_params.rbi +15 -5
- data/rbi/terminal_shop/models/token_get_response.rbi +17 -7
- data/rbi/terminal_shop/models/token_list_params.rbi +15 -5
- data/rbi/terminal_shop/models/token_list_response.rbi +18 -6
- data/rbi/terminal_shop/models/view_init_params.rbi +15 -5
- data/rbi/terminal_shop/models/view_init_response.rbi +72 -47
- data/rbi/terminal_shop/request_options.rbi +18 -7
- data/rbi/terminal_shop/resources/address.rbi +28 -13
- data/rbi/terminal_shop/resources/app.rbi +30 -12
- data/rbi/terminal_shop/resources/card.rbi +37 -14
- data/rbi/terminal_shop/resources/cart.rbi +45 -16
- data/rbi/terminal_shop/resources/email.rbi +9 -4
- data/rbi/terminal_shop/resources/order.rbi +21 -10
- data/rbi/terminal_shop/resources/product.rbi +16 -6
- data/rbi/terminal_shop/resources/profile.rbi +16 -6
- data/rbi/terminal_shop/resources/subscription.rbi +43 -27
- data/rbi/terminal_shop/resources/token.rbi +30 -11
- data/rbi/terminal_shop/resources/view.rbi +9 -3
- data/sig/terminal_shop/internal/transport/base_client.rbs +16 -1
- data/sig/terminal_shop/internal/transport/pooled_net_requester.rbs +2 -0
- data/sig/terminal_shop/internal/type/base_model.rbs +11 -5
- data/sig/terminal_shop/internal/type/base_page.rbs +1 -1
- data/sig/terminal_shop/internal/type/converter.rbs +2 -0
- data/sig/terminal_shop/internal/type/enum.rbs +1 -0
- data/sig/terminal_shop/internal/type/request_parameters.rbs +5 -1
- data/sig/terminal_shop/internal/type/union.rbs +1 -0
- data/sig/terminal_shop/internal/util.rbs +13 -0
- data/sig/terminal_shop/internal.rbs +2 -0
- data/sig/terminal_shop/models/address.rbs +0 -2
- data/sig/terminal_shop/models/address_create_params.rbs +0 -2
- data/sig/terminal_shop/models/address_create_response.rbs +0 -2
- data/sig/terminal_shop/models/address_delete_params.rbs +0 -2
- data/sig/terminal_shop/models/address_delete_response.rbs +0 -2
- data/sig/terminal_shop/models/address_get_params.rbs +0 -2
- data/sig/terminal_shop/models/address_get_response.rbs +3 -5
- data/sig/terminal_shop/models/address_list_params.rbs +0 -2
- data/sig/terminal_shop/models/address_list_response.rbs +3 -6
- data/sig/terminal_shop/models/app.rbs +0 -2
- data/sig/terminal_shop/models/app_create_params.rbs +0 -2
- data/sig/terminal_shop/models/app_create_response.rbs +0 -4
- data/sig/terminal_shop/models/app_delete_params.rbs +0 -2
- data/sig/terminal_shop/models/app_delete_response.rbs +0 -2
- data/sig/terminal_shop/models/app_get_params.rbs +0 -2
- data/sig/terminal_shop/models/app_get_response.rbs +3 -5
- data/sig/terminal_shop/models/app_list_params.rbs +0 -2
- data/sig/terminal_shop/models/app_list_response.rbs +3 -5
- data/sig/terminal_shop/models/card.rbs +3 -7
- data/sig/terminal_shop/models/card_collect_params.rbs +0 -2
- data/sig/terminal_shop/models/card_collect_response.rbs +0 -4
- data/sig/terminal_shop/models/card_create_params.rbs +0 -2
- data/sig/terminal_shop/models/card_create_response.rbs +0 -2
- data/sig/terminal_shop/models/card_delete_params.rbs +0 -2
- data/sig/terminal_shop/models/card_delete_response.rbs +0 -2
- data/sig/terminal_shop/models/card_get_params.rbs +0 -2
- data/sig/terminal_shop/models/card_get_response.rbs +3 -5
- data/sig/terminal_shop/models/card_list_params.rbs +0 -2
- data/sig/terminal_shop/models/card_list_response.rbs +3 -5
- data/sig/terminal_shop/models/cart.rbs +11 -19
- data/sig/terminal_shop/models/cart_clear_params.rbs +0 -2
- data/sig/terminal_shop/models/cart_clear_response.rbs +0 -2
- data/sig/terminal_shop/models/cart_convert_params.rbs +0 -2
- data/sig/terminal_shop/models/cart_convert_response.rbs +3 -5
- data/sig/terminal_shop/models/cart_get_params.rbs +0 -2
- data/sig/terminal_shop/models/cart_get_response.rbs +3 -5
- data/sig/terminal_shop/models/cart_set_address_params.rbs +0 -2
- data/sig/terminal_shop/models/cart_set_address_response.rbs +0 -2
- data/sig/terminal_shop/models/cart_set_card_params.rbs +0 -2
- data/sig/terminal_shop/models/cart_set_card_response.rbs +0 -2
- data/sig/terminal_shop/models/cart_set_item_params.rbs +0 -2
- data/sig/terminal_shop/models/cart_set_item_response.rbs +3 -5
- data/sig/terminal_shop/models/email_create_params.rbs +0 -2
- data/sig/terminal_shop/models/email_create_response.rbs +0 -2
- data/sig/terminal_shop/models/order.rbs +18 -28
- data/sig/terminal_shop/models/order_create_params.rbs +0 -2
- data/sig/terminal_shop/models/order_create_response.rbs +0 -2
- data/sig/terminal_shop/models/order_get_params.rbs +0 -2
- data/sig/terminal_shop/models/order_get_response.rbs +3 -5
- data/sig/terminal_shop/models/order_list_params.rbs +0 -2
- data/sig/terminal_shop/models/order_list_response.rbs +3 -5
- data/sig/terminal_shop/models/product.rbs +14 -18
- data/sig/terminal_shop/models/product_get_params.rbs +0 -2
- data/sig/terminal_shop/models/product_get_response.rbs +3 -5
- data/sig/terminal_shop/models/product_list_params.rbs +0 -2
- data/sig/terminal_shop/models/product_list_response.rbs +3 -6
- data/sig/terminal_shop/models/product_variant.rbs +5 -9
- data/sig/terminal_shop/models/profile.rbs +3 -7
- data/sig/terminal_shop/models/profile_me_params.rbs +0 -2
- data/sig/terminal_shop/models/profile_me_response.rbs +3 -5
- data/sig/terminal_shop/models/profile_update_params.rbs +0 -2
- data/sig/terminal_shop/models/profile_update_response.rbs +3 -5
- data/sig/terminal_shop/models/subscription.rbs +8 -14
- data/sig/terminal_shop/models/subscription_create_params.rbs +0 -2
- data/sig/terminal_shop/models/subscription_create_response.rbs +0 -2
- data/sig/terminal_shop/models/subscription_delete_params.rbs +0 -2
- data/sig/terminal_shop/models/subscription_delete_response.rbs +0 -2
- data/sig/terminal_shop/models/subscription_get_params.rbs +0 -2
- data/sig/terminal_shop/models/subscription_get_response.rbs +3 -6
- data/sig/terminal_shop/models/subscription_list_params.rbs +0 -2
- data/sig/terminal_shop/models/subscription_list_response.rbs +3 -7
- data/sig/terminal_shop/models/subscription_update_params.rbs +3 -9
- data/sig/terminal_shop/models/subscription_update_response.rbs +3 -6
- data/sig/terminal_shop/models/token.rbs +0 -2
- data/sig/terminal_shop/models/token_create_params.rbs +0 -2
- data/sig/terminal_shop/models/token_create_response.rbs +0 -4
- data/sig/terminal_shop/models/token_delete_params.rbs +0 -2
- data/sig/terminal_shop/models/token_delete_response.rbs +0 -2
- data/sig/terminal_shop/models/token_get_params.rbs +0 -2
- data/sig/terminal_shop/models/token_get_response.rbs +3 -5
- data/sig/terminal_shop/models/token_list_params.rbs +0 -2
- data/sig/terminal_shop/models/token_list_response.rbs +3 -5
- data/sig/terminal_shop/models/view_init_params.rbs +0 -2
- data/sig/terminal_shop/models/view_init_response.rbs +27 -31
- data/sig/terminal_shop/request_options.rbs +1 -1
- metadata +2 -2
@@ -5,30 +5,55 @@ 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
|
-
|
12
|
-
|
13
|
-
|
12
|
+
KnownField =
|
13
|
+
T.type_alias do
|
14
|
+
{
|
15
|
+
mode: T.nilable(Symbol),
|
16
|
+
required: T::Boolean,
|
17
|
+
nilable: T::Boolean
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
OrHash =
|
22
|
+
T.type_alias do
|
23
|
+
T.any(
|
24
|
+
TerminalShop::Internal::Type::BaseModel,
|
25
|
+
TerminalShop::Internal::AnyHash
|
26
|
+
)
|
27
|
+
end
|
14
28
|
|
15
29
|
class << self
|
16
30
|
# @api private
|
17
31
|
#
|
18
32
|
# Assumes superclass fields are totally defined before fields are accessed /
|
19
33
|
# defined on subclasses.
|
34
|
+
sig { params(child: T.self_type).void }
|
35
|
+
def inherited(child)
|
36
|
+
end
|
37
|
+
|
38
|
+
# @api private
|
20
39
|
sig do
|
21
40
|
returns(
|
22
41
|
T::Hash[
|
23
42
|
Symbol,
|
24
43
|
T.all(
|
25
|
-
TerminalShop::Internal::Type::BaseModel::
|
26
|
-
{
|
44
|
+
TerminalShop::Internal::Type::BaseModel::KnownField,
|
45
|
+
{
|
46
|
+
type_fn:
|
47
|
+
T.proc.returns(
|
48
|
+
TerminalShop::Internal::Type::Converter::Input
|
49
|
+
)
|
50
|
+
}
|
27
51
|
)
|
28
52
|
]
|
29
53
|
)
|
30
54
|
end
|
31
|
-
def known_fields
|
55
|
+
def known_fields
|
56
|
+
end
|
32
57
|
|
33
58
|
# @api private
|
34
59
|
sig do
|
@@ -36,107 +61,138 @@ module TerminalShop
|
|
36
61
|
T::Hash[
|
37
62
|
Symbol,
|
38
63
|
T.all(
|
39
|
-
TerminalShop::Internal::Type::BaseModel::
|
40
|
-
{type: TerminalShop::Internal::Type::Converter::Input}
|
64
|
+
TerminalShop::Internal::Type::BaseModel::KnownField,
|
65
|
+
{ type: TerminalShop::Internal::Type::Converter::Input }
|
41
66
|
)
|
42
67
|
]
|
43
68
|
)
|
44
69
|
end
|
45
|
-
def fields
|
70
|
+
def fields
|
71
|
+
end
|
46
72
|
|
47
73
|
# @api private
|
48
74
|
sig do
|
49
75
|
params(
|
50
76
|
name_sym: Symbol,
|
51
77
|
required: T::Boolean,
|
52
|
-
type_info:
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
78
|
+
type_info:
|
79
|
+
T.any(
|
80
|
+
{
|
81
|
+
const:
|
82
|
+
T.nilable(
|
83
|
+
T.any(NilClass, T::Boolean, Integer, Float, Symbol)
|
84
|
+
),
|
85
|
+
enum:
|
86
|
+
T.nilable(
|
87
|
+
T.proc.returns(
|
88
|
+
TerminalShop::Internal::Type::Converter::Input
|
89
|
+
)
|
90
|
+
),
|
91
|
+
union:
|
92
|
+
T.nilable(
|
93
|
+
T.proc.returns(
|
94
|
+
TerminalShop::Internal::Type::Converter::Input
|
95
|
+
)
|
96
|
+
),
|
97
|
+
api_name: Symbol,
|
98
|
+
nil?: T::Boolean
|
99
|
+
},
|
100
|
+
T.proc.returns(
|
101
|
+
TerminalShop::Internal::Type::Converter::Input
|
102
|
+
),
|
103
|
+
TerminalShop::Internal::Type::Converter::Input
|
104
|
+
),
|
63
105
|
spec: TerminalShop::Internal::AnyHash
|
64
|
-
)
|
65
|
-
|
106
|
+
).void
|
107
|
+
end
|
108
|
+
private def add_field(name_sym, required:, type_info:, spec:)
|
66
109
|
end
|
67
|
-
private def add_field(name_sym, required:, type_info:, spec:); end
|
68
110
|
|
69
111
|
# @api private
|
70
112
|
sig do
|
71
113
|
params(
|
72
114
|
name_sym: Symbol,
|
73
|
-
type_info:
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
115
|
+
type_info:
|
116
|
+
T.any(
|
117
|
+
TerminalShop::Internal::AnyHash,
|
118
|
+
T.proc.returns(
|
119
|
+
TerminalShop::Internal::Type::Converter::Input
|
120
|
+
),
|
121
|
+
TerminalShop::Internal::Type::Converter::Input
|
122
|
+
),
|
78
123
|
spec: TerminalShop::Internal::AnyHash
|
79
|
-
)
|
80
|
-
|
124
|
+
).void
|
125
|
+
end
|
126
|
+
def required(name_sym, type_info, spec = {})
|
81
127
|
end
|
82
|
-
def required(name_sym, type_info, spec = {}); end
|
83
128
|
|
84
129
|
# @api private
|
85
130
|
sig do
|
86
131
|
params(
|
87
132
|
name_sym: Symbol,
|
88
|
-
type_info:
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
133
|
+
type_info:
|
134
|
+
T.any(
|
135
|
+
TerminalShop::Internal::AnyHash,
|
136
|
+
T.proc.returns(
|
137
|
+
TerminalShop::Internal::Type::Converter::Input
|
138
|
+
),
|
139
|
+
TerminalShop::Internal::Type::Converter::Input
|
140
|
+
),
|
93
141
|
spec: TerminalShop::Internal::AnyHash
|
94
|
-
)
|
95
|
-
|
142
|
+
).void
|
143
|
+
end
|
144
|
+
def optional(name_sym, type_info, spec = {})
|
96
145
|
end
|
97
|
-
def optional(name_sym, type_info, spec = {}); end
|
98
146
|
|
99
147
|
# @api private
|
100
148
|
#
|
101
149
|
# `request_only` attributes not excluded from `.#coerce` when receiving responses
|
102
150
|
# even if well behaved servers should not send them
|
103
151
|
sig { params(blk: T.proc.void).void }
|
104
|
-
private def request_only(&blk)
|
152
|
+
private def request_only(&blk)
|
153
|
+
end
|
105
154
|
|
106
155
|
# @api private
|
107
156
|
#
|
108
157
|
# `response_only` attributes are omitted from `.#dump` when making requests
|
109
158
|
sig { params(blk: T.proc.void).void }
|
110
|
-
private def response_only(&blk)
|
159
|
+
private def response_only(&blk)
|
160
|
+
end
|
111
161
|
|
112
162
|
sig { params(other: T.anything).returns(T::Boolean) }
|
113
|
-
def ==(other)
|
163
|
+
def ==(other)
|
164
|
+
end
|
114
165
|
|
115
166
|
sig { returns(Integer) }
|
116
|
-
def hash
|
167
|
+
def hash
|
168
|
+
end
|
117
169
|
end
|
118
170
|
|
119
171
|
sig { params(other: T.anything).returns(T::Boolean) }
|
120
|
-
def ==(other)
|
172
|
+
def ==(other)
|
173
|
+
end
|
121
174
|
|
122
175
|
sig { returns(Integer) }
|
123
|
-
def hash
|
176
|
+
def hash
|
177
|
+
end
|
124
178
|
|
125
179
|
class << self
|
126
180
|
# @api private
|
127
181
|
sig do
|
128
182
|
override
|
129
183
|
.params(
|
130
|
-
value:
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
184
|
+
value:
|
185
|
+
T.any(
|
186
|
+
TerminalShop::Internal::Type::BaseModel,
|
187
|
+
T::Hash[T.anything, T.anything],
|
188
|
+
T.anything
|
189
|
+
),
|
135
190
|
state: TerminalShop::Internal::Type::Converter::CoerceState
|
136
191
|
)
|
137
192
|
.returns(T.any(T.attached_class, T.anything))
|
138
193
|
end
|
139
|
-
def coerce(value, state:)
|
194
|
+
def coerce(value, state:)
|
195
|
+
end
|
140
196
|
|
141
197
|
# @api private
|
142
198
|
sig do
|
@@ -147,7 +203,20 @@ module TerminalShop
|
|
147
203
|
)
|
148
204
|
.returns(T.any(T::Hash[T.anything, T.anything], T.anything))
|
149
205
|
end
|
150
|
-
def dump(value, state:)
|
206
|
+
def dump(value, state:)
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
class << self
|
211
|
+
# @api private
|
212
|
+
sig do
|
213
|
+
params(
|
214
|
+
model: TerminalShop::Internal::Type::BaseModel,
|
215
|
+
convert: T::Boolean
|
216
|
+
).returns(TerminalShop::Internal::AnyHash)
|
217
|
+
end
|
218
|
+
def recursively_to_h(model, convert:)
|
219
|
+
end
|
151
220
|
end
|
152
221
|
|
153
222
|
# Returns the raw value associated with the given key, if found. Otherwise, nil is
|
@@ -157,7 +226,8 @@ module TerminalShop
|
|
157
226
|
# undocumented features. This method does not parse response data into
|
158
227
|
# higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
|
159
228
|
sig { params(key: Symbol).returns(T.nilable(T.anything)) }
|
160
|
-
def [](key)
|
229
|
+
def [](key)
|
230
|
+
end
|
161
231
|
|
162
232
|
# Returns a Hash of the data underlying this object. O(1)
|
163
233
|
#
|
@@ -168,7 +238,8 @@ module TerminalShop
|
|
168
238
|
# This method is not recursive. The returned value is shared by the object, so it
|
169
239
|
# should not be mutated.
|
170
240
|
sig { overridable.returns(TerminalShop::Internal::AnyHash) }
|
171
|
-
def to_h
|
241
|
+
def to_h
|
242
|
+
end
|
172
243
|
|
173
244
|
# Returns a Hash of the data underlying this object. O(1)
|
174
245
|
#
|
@@ -179,41 +250,55 @@ module TerminalShop
|
|
179
250
|
# This method is not recursive. The returned value is shared by the object, so it
|
180
251
|
# should not be mutated.
|
181
252
|
sig { overridable.returns(TerminalShop::Internal::AnyHash) }
|
182
|
-
def to_hash
|
253
|
+
def to_hash
|
254
|
+
end
|
183
255
|
|
184
|
-
|
185
|
-
|
256
|
+
# In addition to the behaviour of `#to_h`, this method will recursively call
|
257
|
+
# `#to_h` on nested models.
|
258
|
+
sig { overridable.returns(TerminalShop::Internal::AnyHash) }
|
259
|
+
def deep_to_h
|
260
|
+
end
|
186
261
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
262
|
+
sig do
|
263
|
+
params(keys: T.nilable(T::Array[Symbol])).returns(
|
264
|
+
TerminalShop::Internal::AnyHash
|
265
|
+
)
|
266
|
+
end
|
267
|
+
def deconstruct_keys(keys)
|
193
268
|
end
|
194
269
|
|
195
270
|
sig { params(a: T.anything).returns(String) }
|
196
|
-
def to_json(*a)
|
271
|
+
def to_json(*a)
|
272
|
+
end
|
197
273
|
|
198
274
|
sig { params(a: T.anything).returns(String) }
|
199
|
-
def to_yaml(*a)
|
275
|
+
def to_yaml(*a)
|
276
|
+
end
|
200
277
|
|
201
278
|
# Create a new instance of a model.
|
202
|
-
sig
|
203
|
-
|
279
|
+
sig do
|
280
|
+
params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(
|
281
|
+
T.attached_class
|
282
|
+
)
|
283
|
+
end
|
284
|
+
def self.new(data = {})
|
285
|
+
end
|
204
286
|
|
205
287
|
class << self
|
206
288
|
# @api private
|
207
289
|
sig { params(depth: Integer).returns(String) }
|
208
|
-
def inspect(depth: 0)
|
290
|
+
def inspect(depth: 0)
|
291
|
+
end
|
209
292
|
end
|
210
293
|
|
211
294
|
sig { returns(String) }
|
212
|
-
def to_s
|
295
|
+
def to_s
|
296
|
+
end
|
213
297
|
|
214
298
|
# @api private
|
215
299
|
sig { returns(String) }
|
216
|
-
def inspect
|
300
|
+
def inspect
|
301
|
+
end
|
217
302
|
end
|
218
303
|
end
|
219
304
|
end
|
@@ -10,28 +10,33 @@ module TerminalShop
|
|
10
10
|
Elem = type_member(:out)
|
11
11
|
|
12
12
|
sig { overridable.returns(T::Boolean) }
|
13
|
-
def next_page
|
13
|
+
def next_page?
|
14
|
+
end
|
14
15
|
|
15
16
|
sig { overridable.returns(T.self_type) }
|
16
|
-
def next_page
|
17
|
+
def next_page
|
18
|
+
end
|
17
19
|
|
18
20
|
sig { overridable.params(blk: T.proc.params(arg0: Elem).void).void }
|
19
|
-
def auto_paging_each(&blk)
|
21
|
+
def auto_paging_each(&blk)
|
22
|
+
end
|
20
23
|
|
21
24
|
sig { returns(T::Enumerable[Elem]) }
|
22
|
-
def to_enum
|
25
|
+
def to_enum
|
26
|
+
end
|
23
27
|
|
24
28
|
# @api private
|
25
29
|
sig do
|
26
30
|
params(
|
27
31
|
client: TerminalShop::Internal::Transport::BaseClient,
|
28
|
-
req:
|
32
|
+
req:
|
33
|
+
TerminalShop::Internal::Transport::BaseClient::RequestComponents,
|
29
34
|
headers: T.any(T::Hash[String, String], Net::HTTPHeader),
|
30
35
|
page_data: T.anything
|
31
|
-
)
|
32
|
-
|
36
|
+
).void
|
37
|
+
end
|
38
|
+
def initialize(client:, req:, headers:, page_data:)
|
33
39
|
end
|
34
|
-
def initialize(client:, req:, headers:, page_data:); end
|
35
40
|
end
|
36
41
|
end
|
37
42
|
end
|
@@ -12,35 +12,37 @@ module TerminalShop
|
|
12
12
|
abstract!
|
13
13
|
|
14
14
|
sig { params(other: T.anything).returns(T::Boolean) }
|
15
|
-
def self.===(other)
|
15
|
+
def self.===(other)
|
16
|
+
end
|
16
17
|
|
17
18
|
sig { params(other: T.anything).returns(T::Boolean) }
|
18
|
-
def self.==(other)
|
19
|
+
def self.==(other)
|
20
|
+
end
|
19
21
|
|
20
22
|
class << self
|
21
23
|
# @api private
|
22
24
|
sig do
|
23
25
|
override
|
24
|
-
.params(
|
25
|
-
T::Boolean,
|
26
|
-
|
27
|
-
)
|
28
|
-
state: TerminalShop::Internal::Type::Converter::CoerceState)
|
26
|
+
.params(
|
27
|
+
value: T.any(T::Boolean, T.anything),
|
28
|
+
state: TerminalShop::Internal::Type::Converter::CoerceState
|
29
|
+
)
|
29
30
|
.returns(T.any(T::Boolean, T.anything))
|
30
31
|
end
|
31
|
-
def coerce(value, state:)
|
32
|
+
def coerce(value, state:)
|
33
|
+
end
|
32
34
|
|
33
35
|
# @api private
|
34
36
|
sig do
|
35
37
|
override
|
36
|
-
.params(
|
37
|
-
T::Boolean,
|
38
|
-
|
39
|
-
)
|
40
|
-
state: TerminalShop::Internal::Type::Converter::DumpState)
|
38
|
+
.params(
|
39
|
+
value: T.any(T::Boolean, T.anything),
|
40
|
+
state: TerminalShop::Internal::Type::Converter::DumpState
|
41
|
+
)
|
41
42
|
.returns(T.any(T::Boolean, T.anything))
|
42
43
|
end
|
43
|
-
def dump(value, state:)
|
44
|
+
def dump(value, state:)
|
45
|
+
end
|
44
46
|
end
|
45
47
|
end
|
46
48
|
end
|
@@ -5,56 +5,90 @@ module TerminalShop
|
|
5
5
|
module Type
|
6
6
|
# @api private
|
7
7
|
module Converter
|
8
|
-
|
8
|
+
extend TerminalShop::Internal::Util::SorbetRuntimeSupport
|
9
|
+
|
10
|
+
Input =
|
11
|
+
T.type_alias do
|
12
|
+
T.any(TerminalShop::Internal::Type::Converter, T::Class[T.anything])
|
13
|
+
end
|
9
14
|
|
10
15
|
CoerceState =
|
11
16
|
T.type_alias do
|
12
17
|
{
|
13
18
|
strictness: T.any(T::Boolean, Symbol),
|
14
|
-
exactness: {
|
19
|
+
exactness: {
|
20
|
+
yes: Integer,
|
21
|
+
no: Integer,
|
22
|
+
maybe: Integer
|
23
|
+
},
|
15
24
|
branched: Integer
|
16
25
|
}
|
17
26
|
end
|
18
27
|
|
19
|
-
DumpState = T.type_alias { {can_retry: T::Boolean} }
|
28
|
+
DumpState = T.type_alias { { can_retry: T::Boolean } }
|
20
29
|
|
21
30
|
# @api private
|
22
31
|
sig do
|
23
32
|
overridable
|
24
|
-
.params(
|
33
|
+
.params(
|
34
|
+
value: T.anything,
|
35
|
+
state: TerminalShop::Internal::Type::Converter::CoerceState
|
36
|
+
)
|
25
37
|
.returns(T.anything)
|
26
38
|
end
|
27
|
-
def coerce(value, state:)
|
39
|
+
def coerce(value, state:)
|
40
|
+
end
|
28
41
|
|
29
42
|
# @api private
|
30
43
|
sig do
|
31
44
|
overridable
|
32
|
-
.params(
|
45
|
+
.params(
|
46
|
+
value: T.anything,
|
47
|
+
state: TerminalShop::Internal::Type::Converter::DumpState
|
48
|
+
)
|
33
49
|
.returns(T.anything)
|
34
50
|
end
|
35
|
-
def dump(value, state:)
|
51
|
+
def dump(value, state:)
|
52
|
+
end
|
36
53
|
|
37
54
|
# @api private
|
38
55
|
sig { params(depth: Integer).returns(String) }
|
39
|
-
def inspect(depth: 0)
|
56
|
+
def inspect(depth: 0)
|
57
|
+
end
|
40
58
|
|
41
59
|
class << self
|
42
60
|
# @api private
|
43
61
|
sig do
|
44
62
|
params(
|
45
|
-
spec:
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
63
|
+
spec:
|
64
|
+
T.any(
|
65
|
+
{
|
66
|
+
const:
|
67
|
+
T.nilable(
|
68
|
+
T.any(NilClass, T::Boolean, Integer, Float, Symbol)
|
69
|
+
),
|
70
|
+
enum:
|
71
|
+
T.nilable(
|
72
|
+
T.proc.returns(
|
73
|
+
TerminalShop::Internal::Type::Converter::Input
|
74
|
+
)
|
75
|
+
),
|
76
|
+
union:
|
77
|
+
T.nilable(
|
78
|
+
T.proc.returns(
|
79
|
+
TerminalShop::Internal::Type::Converter::Input
|
80
|
+
)
|
81
|
+
)
|
82
|
+
},
|
83
|
+
T.proc.returns(
|
84
|
+
TerminalShop::Internal::Type::Converter::Input
|
85
|
+
),
|
86
|
+
TerminalShop::Internal::Type::Converter::Input
|
87
|
+
)
|
88
|
+
).returns(T.proc.returns(T.anything))
|
89
|
+
end
|
90
|
+
def self.type_info(spec)
|
56
91
|
end
|
57
|
-
def self.type_info(spec); end
|
58
92
|
|
59
93
|
# @api private
|
60
94
|
#
|
@@ -72,8 +106,7 @@ module TerminalShop
|
|
72
106
|
target: TerminalShop::Internal::Type::Converter::Input,
|
73
107
|
value: T.anything,
|
74
108
|
state: TerminalShop::Internal::Type::Converter::CoerceState
|
75
|
-
)
|
76
|
-
.returns(T.anything)
|
109
|
+
).returns(T.anything)
|
77
110
|
end
|
78
111
|
def self.coerce(
|
79
112
|
target,
|
@@ -97,22 +130,33 @@ module TerminalShop
|
|
97
130
|
# - `no`: the value cannot be converted to the target type.
|
98
131
|
#
|
99
132
|
# See implementation below for more details.
|
100
|
-
state: {
|
101
|
-
|
133
|
+
state: {
|
134
|
+
strictness: true,
|
135
|
+
exactness: {
|
136
|
+
yes: 0,
|
137
|
+
no: 0,
|
138
|
+
maybe: 0
|
139
|
+
},
|
140
|
+
branched: 0
|
141
|
+
}
|
142
|
+
)
|
143
|
+
end
|
144
|
+
|
102
145
|
# @api private
|
103
146
|
sig do
|
104
147
|
params(
|
105
148
|
target: TerminalShop::Internal::Type::Converter::Input,
|
106
149
|
value: T.anything,
|
107
150
|
state: TerminalShop::Internal::Type::Converter::DumpState
|
108
|
-
)
|
109
|
-
|
151
|
+
).returns(T.anything)
|
152
|
+
end
|
153
|
+
def self.dump(target, value, state: { can_retry: true })
|
110
154
|
end
|
111
|
-
def self.dump(target, value, state: {can_retry: true}); end
|
112
155
|
|
113
156
|
# @api private
|
114
157
|
sig { params(target: T.anything, depth: Integer).returns(String) }
|
115
|
-
def self.inspect(target, depth:)
|
158
|
+
def self.inspect(target, depth:)
|
159
|
+
end
|
116
160
|
end
|
117
161
|
end
|
118
162
|
end
|
@@ -17,19 +17,28 @@ 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
|
-
sig
|
23
|
-
|
23
|
+
sig do
|
24
|
+
overridable.returns(
|
25
|
+
T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]
|
26
|
+
)
|
27
|
+
end
|
28
|
+
def values
|
29
|
+
end
|
24
30
|
|
25
31
|
sig { params(other: T.anything).returns(T::Boolean) }
|
26
|
-
def ===(other)
|
32
|
+
def ===(other)
|
33
|
+
end
|
27
34
|
|
28
35
|
sig { params(other: T.anything).returns(T::Boolean) }
|
29
|
-
def ==(other)
|
36
|
+
def ==(other)
|
37
|
+
end
|
30
38
|
|
31
39
|
sig { returns(Integer) }
|
32
|
-
def hash
|
40
|
+
def hash
|
41
|
+
end
|
33
42
|
|
34
43
|
# @api private
|
35
44
|
#
|
@@ -43,23 +52,25 @@ module TerminalShop
|
|
43
52
|
)
|
44
53
|
.returns(T.any(Symbol, T.anything))
|
45
54
|
end
|
46
|
-
def coerce(value, state:)
|
55
|
+
def coerce(value, state:)
|
56
|
+
end
|
47
57
|
|
48
58
|
# @api private
|
49
59
|
sig do
|
50
60
|
override
|
51
|
-
.params(
|
52
|
-
Symbol,
|
53
|
-
|
54
|
-
)
|
55
|
-
state: TerminalShop::Internal::Type::Converter::DumpState)
|
61
|
+
.params(
|
62
|
+
value: T.any(Symbol, T.anything),
|
63
|
+
state: TerminalShop::Internal::Type::Converter::DumpState
|
64
|
+
)
|
56
65
|
.returns(T.any(Symbol, T.anything))
|
57
66
|
end
|
58
|
-
def dump(value, state:)
|
67
|
+
def dump(value, state:)
|
68
|
+
end
|
59
69
|
|
60
70
|
# @api private
|
61
71
|
sig { params(depth: Integer).returns(String) }
|
62
|
-
def inspect(depth: 0)
|
72
|
+
def inspect(depth: 0)
|
73
|
+
end
|
63
74
|
end
|
64
75
|
end
|
65
76
|
end
|