checkout-intents 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +16 -0
  4. data/README.md +358 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/checkout_intents/client.rb +100 -0
  7. data/lib/checkout_intents/errors.rb +228 -0
  8. data/lib/checkout_intents/file_part.rb +58 -0
  9. data/lib/checkout_intents/internal/cursor_pagination.rb +125 -0
  10. data/lib/checkout_intents/internal/transport/base_client.rb +577 -0
  11. data/lib/checkout_intents/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/checkout_intents/internal/type/array_of.rb +168 -0
  13. data/lib/checkout_intents/internal/type/base_model.rb +536 -0
  14. data/lib/checkout_intents/internal/type/base_page.rb +55 -0
  15. data/lib/checkout_intents/internal/type/boolean.rb +77 -0
  16. data/lib/checkout_intents/internal/type/converter.rb +327 -0
  17. data/lib/checkout_intents/internal/type/enum.rb +131 -0
  18. data/lib/checkout_intents/internal/type/file_input.rb +111 -0
  19. data/lib/checkout_intents/internal/type/hash_of.rb +188 -0
  20. data/lib/checkout_intents/internal/type/request_parameters.rb +42 -0
  21. data/lib/checkout_intents/internal/type/union.rb +258 -0
  22. data/lib/checkout_intents/internal/type/unknown.rb +81 -0
  23. data/lib/checkout_intents/internal/util.rb +920 -0
  24. data/lib/checkout_intents/internal.rb +20 -0
  25. data/lib/checkout_intents/models/base_checkout_intent.rb +76 -0
  26. data/lib/checkout_intents/models/betas/checkout_session_create_params.rb +148 -0
  27. data/lib/checkout_intents/models/brand_retrieve_params.rb +14 -0
  28. data/lib/checkout_intents/models/brand_retrieve_response.rb +52 -0
  29. data/lib/checkout_intents/models/buyer.rb +69 -0
  30. data/lib/checkout_intents/models/checkout_intent.rb +230 -0
  31. data/lib/checkout_intents/models/checkout_intent_add_payment_params.rb +20 -0
  32. data/lib/checkout_intents/models/checkout_intent_confirm_params.rb +20 -0
  33. data/lib/checkout_intents/models/checkout_intent_create_params.rb +68 -0
  34. data/lib/checkout_intents/models/checkout_intent_list_params.rb +58 -0
  35. data/lib/checkout_intents/models/checkout_intent_purchase_params.rb +74 -0
  36. data/lib/checkout_intents/models/checkout_intent_retrieve_params.rb +14 -0
  37. data/lib/checkout_intents/models/checkout_session.rb +23 -0
  38. data/lib/checkout_intents/models/money.rb +21 -0
  39. data/lib/checkout_intents/models/offer.rb +113 -0
  40. data/lib/checkout_intents/models/payment_method.rb +120 -0
  41. data/lib/checkout_intents/models/variant_selection.rb +33 -0
  42. data/lib/checkout_intents/models.rb +76 -0
  43. data/lib/checkout_intents/request_options.rb +78 -0
  44. data/lib/checkout_intents/resources/betas/checkout_sessions.rb +54 -0
  45. data/lib/checkout_intents/resources/betas.rb +18 -0
  46. data/lib/checkout_intents/resources/brands.rb +37 -0
  47. data/lib/checkout_intents/resources/checkout_intents.rb +173 -0
  48. data/lib/checkout_intents/version.rb +5 -0
  49. data/lib/checkout_intents.rb +77 -0
  50. data/manifest.yaml +17 -0
  51. data/rbi/checkout_intents/client.rbi +74 -0
  52. data/rbi/checkout_intents/errors.rbi +205 -0
  53. data/rbi/checkout_intents/file_part.rbi +37 -0
  54. data/rbi/checkout_intents/internal/cursor_pagination.rbi +74 -0
  55. data/rbi/checkout_intents/internal/transport/base_client.rbi +309 -0
  56. data/rbi/checkout_intents/internal/transport/pooled_net_requester.rbi +84 -0
  57. data/rbi/checkout_intents/internal/type/array_of.rbi +108 -0
  58. data/rbi/checkout_intents/internal/type/base_model.rbi +314 -0
  59. data/rbi/checkout_intents/internal/type/base_page.rbi +43 -0
  60. data/rbi/checkout_intents/internal/type/boolean.rbi +58 -0
  61. data/rbi/checkout_intents/internal/type/converter.rbi +225 -0
  62. data/rbi/checkout_intents/internal/type/enum.rbi +82 -0
  63. data/rbi/checkout_intents/internal/type/file_input.rbi +59 -0
  64. data/rbi/checkout_intents/internal/type/hash_of.rbi +108 -0
  65. data/rbi/checkout_intents/internal/type/request_parameters.rbi +31 -0
  66. data/rbi/checkout_intents/internal/type/union.rbi +134 -0
  67. data/rbi/checkout_intents/internal/type/unknown.rbi +58 -0
  68. data/rbi/checkout_intents/internal/util.rbi +487 -0
  69. data/rbi/checkout_intents/internal.rbi +18 -0
  70. data/rbi/checkout_intents/models/base_checkout_intent.rbi +142 -0
  71. data/rbi/checkout_intents/models/betas/checkout_session_create_params.rbi +281 -0
  72. data/rbi/checkout_intents/models/brand_retrieve_params.rbi +32 -0
  73. data/rbi/checkout_intents/models/brand_retrieve_response.rbi +109 -0
  74. data/rbi/checkout_intents/models/buyer.rbi +92 -0
  75. data/rbi/checkout_intents/models/checkout_intent.rbi +653 -0
  76. data/rbi/checkout_intents/models/checkout_intent_add_payment_params.rbi +59 -0
  77. data/rbi/checkout_intents/models/checkout_intent_confirm_params.rbi +59 -0
  78. data/rbi/checkout_intents/models/checkout_intent_create_params.rbi +141 -0
  79. data/rbi/checkout_intents/models/checkout_intent_list_params.rbi +146 -0
  80. data/rbi/checkout_intents/models/checkout_intent_purchase_params.rbi +165 -0
  81. data/rbi/checkout_intents/models/checkout_intent_retrieve_params.rbi +32 -0
  82. data/rbi/checkout_intents/models/checkout_session.rbi +36 -0
  83. data/rbi/checkout_intents/models/money.rbi +32 -0
  84. data/rbi/checkout_intents/models/offer.rbi +225 -0
  85. data/rbi/checkout_intents/models/payment_method.rbi +292 -0
  86. data/rbi/checkout_intents/models/variant_selection.rbi +55 -0
  87. data/rbi/checkout_intents/models.rbi +40 -0
  88. data/rbi/checkout_intents/request_options.rbi +64 -0
  89. data/rbi/checkout_intents/resources/betas/checkout_sessions.rbi +47 -0
  90. data/rbi/checkout_intents/resources/betas.rbi +15 -0
  91. data/rbi/checkout_intents/resources/brands.rbi +29 -0
  92. data/rbi/checkout_intents/resources/checkout_intents.rbi +165 -0
  93. data/rbi/checkout_intents/version.rbi +5 -0
  94. data/sig/checkout_intents/client.rbs +36 -0
  95. data/sig/checkout_intents/errors.rbs +117 -0
  96. data/sig/checkout_intents/file_part.rbs +21 -0
  97. data/sig/checkout_intents/internal/cursor_pagination.rbs +48 -0
  98. data/sig/checkout_intents/internal/transport/base_client.rbs +133 -0
  99. data/sig/checkout_intents/internal/transport/pooled_net_requester.rbs +48 -0
  100. data/sig/checkout_intents/internal/type/array_of.rbs +48 -0
  101. data/sig/checkout_intents/internal/type/base_model.rbs +104 -0
  102. data/sig/checkout_intents/internal/type/base_page.rbs +24 -0
  103. data/sig/checkout_intents/internal/type/boolean.rbs +26 -0
  104. data/sig/checkout_intents/internal/type/converter.rbs +79 -0
  105. data/sig/checkout_intents/internal/type/enum.rbs +32 -0
  106. data/sig/checkout_intents/internal/type/file_input.rbs +25 -0
  107. data/sig/checkout_intents/internal/type/hash_of.rbs +48 -0
  108. data/sig/checkout_intents/internal/type/request_parameters.rbs +20 -0
  109. data/sig/checkout_intents/internal/type/union.rbs +52 -0
  110. data/sig/checkout_intents/internal/type/unknown.rbs +26 -0
  111. data/sig/checkout_intents/internal/util.rbs +185 -0
  112. data/sig/checkout_intents/internal.rbs +10 -0
  113. data/sig/checkout_intents/models/base_checkout_intent.rbs +88 -0
  114. data/sig/checkout_intents/models/betas/checkout_session_create_params.rbs +172 -0
  115. data/sig/checkout_intents/models/brand_retrieve_params.rbs +15 -0
  116. data/sig/checkout_intents/models/brand_retrieve_response.rbs +43 -0
  117. data/sig/checkout_intents/models/buyer.rbs +67 -0
  118. data/sig/checkout_intents/models/checkout_intent.rbs +324 -0
  119. data/sig/checkout_intents/models/checkout_intent_add_payment_params.rbs +24 -0
  120. data/sig/checkout_intents/models/checkout_intent_confirm_params.rbs +24 -0
  121. data/sig/checkout_intents/models/checkout_intent_create_params.rbs +84 -0
  122. data/sig/checkout_intents/models/checkout_intent_list_params.rbs +77 -0
  123. data/sig/checkout_intents/models/checkout_intent_purchase_params.rbs +89 -0
  124. data/sig/checkout_intents/models/checkout_intent_retrieve_params.rbs +15 -0
  125. data/sig/checkout_intents/models/checkout_session.rbs +13 -0
  126. data/sig/checkout_intents/models/money.rbs +15 -0
  127. data/sig/checkout_intents/models/offer.rbs +135 -0
  128. data/sig/checkout_intents/models/payment_method.rbs +127 -0
  129. data/sig/checkout_intents/models/variant_selection.rbs +30 -0
  130. data/sig/checkout_intents/models.rbs +33 -0
  131. data/sig/checkout_intents/request_options.rbs +36 -0
  132. data/sig/checkout_intents/resources/betas/checkout_sessions.rbs +19 -0
  133. data/sig/checkout_intents/resources/betas.rbs +9 -0
  134. data/sig/checkout_intents/resources/brands.rbs +12 -0
  135. data/sig/checkout_intents/resources/checkout_intents.rbs +54 -0
  136. data/sig/checkout_intents/version.rbs +3 -0
  137. metadata +194 -0
@@ -0,0 +1,82 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # A value from among a specified list of options. OpenAPI enum values map to Ruby
9
+ # values in the SDK as follows:
10
+ #
11
+ # 1. boolean => true | false
12
+ # 2. integer => Integer
13
+ # 3. float => Float
14
+ # 4. string => Symbol
15
+ #
16
+ # We can therefore convert string values to Symbols, but can't convert other
17
+ # values safely.
18
+ module Enum
19
+ include CheckoutIntents::Internal::Type::Converter
20
+ include CheckoutIntents::Internal::Util::SorbetRuntimeSupport
21
+
22
+ # All of the valid Symbol values for this enum.
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
30
+
31
+ sig { params(other: T.anything).returns(T::Boolean) }
32
+ def ===(other)
33
+ end
34
+
35
+ sig { params(other: T.anything).returns(T::Boolean) }
36
+ def ==(other)
37
+ end
38
+
39
+ sig { returns(Integer) }
40
+ def hash
41
+ end
42
+
43
+ # @api private
44
+ #
45
+ # Unlike with primitives, `Enum` additionally validates that the value is a member
46
+ # of the enum.
47
+ sig do
48
+ override
49
+ .params(
50
+ value: T.any(String, Symbol, T.anything),
51
+ state: CheckoutIntents::Internal::Type::Converter::CoerceState
52
+ )
53
+ .returns(T.any(Symbol, T.anything))
54
+ end
55
+ def coerce(value, state:)
56
+ end
57
+
58
+ # @api private
59
+ sig do
60
+ override
61
+ .params(
62
+ value: T.any(Symbol, T.anything),
63
+ state: CheckoutIntents::Internal::Type::Converter::DumpState
64
+ )
65
+ .returns(T.any(Symbol, T.anything))
66
+ end
67
+ def dump(value, state:)
68
+ end
69
+
70
+ # @api private
71
+ sig { returns(T.anything) }
72
+ def to_sorbet_type
73
+ end
74
+
75
+ # @api private
76
+ sig { params(depth: Integer).returns(String) }
77
+ def inspect(depth: 0)
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Either `Pathname` or `StringIO`, or `IO`, or
9
+ # `CheckoutIntents::Internal::Type::FileInput`.
10
+ #
11
+ # Note: when `IO` is used, all retries are disabled, since many IO` streams are
12
+ # not rewindable.
13
+ class FileInput
14
+ extend CheckoutIntents::Internal::Type::Converter
15
+
16
+ abstract!
17
+
18
+ sig { params(other: T.anything).returns(T::Boolean) }
19
+ def self.===(other)
20
+ end
21
+
22
+ sig { params(other: T.anything).returns(T::Boolean) }
23
+ def self.==(other)
24
+ end
25
+
26
+ class << self
27
+ # @api private
28
+ sig do
29
+ override
30
+ .params(
31
+ value: T.any(StringIO, String, T.anything),
32
+ state: CheckoutIntents::Internal::Type::Converter::CoerceState
33
+ )
34
+ .returns(T.any(StringIO, T.anything))
35
+ end
36
+ def coerce(value, state:)
37
+ end
38
+
39
+ # @api private
40
+ sig do
41
+ override
42
+ .params(
43
+ value: T.any(Pathname, StringIO, IO, String, T.anything),
44
+ state: CheckoutIntents::Internal::Type::Converter::DumpState
45
+ )
46
+ .returns(T.any(Pathname, StringIO, IO, String, T.anything))
47
+ end
48
+ def dump(value, state:)
49
+ end
50
+
51
+ # @api private
52
+ sig { returns(T.anything) }
53
+ def to_sorbet_type
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,108 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Hash of items of a given type.
9
+ class HashOf
10
+ include CheckoutIntents::Internal::Type::Converter
11
+ include CheckoutIntents::Internal::Util::SorbetRuntimeSupport
12
+
13
+ abstract!
14
+
15
+ Elem = type_member(:out)
16
+
17
+ sig do
18
+ params(
19
+ type_info:
20
+ T.any(
21
+ CheckoutIntents::Internal::AnyHash,
22
+ T.proc.returns(
23
+ CheckoutIntents::Internal::Type::Converter::Input
24
+ ),
25
+ CheckoutIntents::Internal::Type::Converter::Input
26
+ ),
27
+ spec: CheckoutIntents::Internal::AnyHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.[](type_info, spec = {})
31
+ end
32
+
33
+ sig { params(other: T.anything).returns(T::Boolean) }
34
+ def ===(other)
35
+ end
36
+
37
+ sig { params(other: T.anything).returns(T::Boolean) }
38
+ def ==(other)
39
+ end
40
+
41
+ sig { returns(Integer) }
42
+ def hash
43
+ end
44
+
45
+ # @api private
46
+ sig do
47
+ override
48
+ .params(
49
+ value: T.any(T::Hash[T.anything, T.anything], T.anything),
50
+ state: CheckoutIntents::Internal::Type::Converter::CoerceState
51
+ )
52
+ .returns(T.any(CheckoutIntents::Internal::AnyHash, T.anything))
53
+ end
54
+ def coerce(value, state:)
55
+ end
56
+
57
+ # @api private
58
+ sig do
59
+ override
60
+ .params(
61
+ value: T.any(T::Hash[T.anything, T.anything], T.anything),
62
+ state: CheckoutIntents::Internal::Type::Converter::DumpState
63
+ )
64
+ .returns(T.any(CheckoutIntents::Internal::AnyHash, T.anything))
65
+ end
66
+ def dump(value, state:)
67
+ end
68
+
69
+ # @api private
70
+ sig { returns(T.anything) }
71
+ def to_sorbet_type
72
+ end
73
+
74
+ # @api private
75
+ sig { returns(Elem) }
76
+ protected def item_type
77
+ end
78
+
79
+ # @api private
80
+ sig { returns(T::Boolean) }
81
+ protected def nilable?
82
+ end
83
+
84
+ # @api private
85
+ sig do
86
+ params(
87
+ type_info:
88
+ T.any(
89
+ CheckoutIntents::Internal::AnyHash,
90
+ T.proc.returns(
91
+ CheckoutIntents::Internal::Type::Converter::Input
92
+ ),
93
+ CheckoutIntents::Internal::Type::Converter::Input
94
+ ),
95
+ spec: CheckoutIntents::Internal::AnyHash
96
+ ).void
97
+ end
98
+ def initialize(type_info, spec = {})
99
+ end
100
+
101
+ # @api private
102
+ sig { params(depth: Integer).returns(String) }
103
+ def inspect(depth: 0)
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module RequestParameters
8
+ # Options to specify HTTP behaviour for this request.
9
+ sig { returns(CheckoutIntents::RequestOptions) }
10
+ attr_reader :request_options
11
+
12
+ sig do
13
+ params(request_options: CheckoutIntents::RequestOptions::OrHash).void
14
+ end
15
+ attr_writer :request_options
16
+
17
+ # @api private
18
+ module Converter
19
+ # @api private
20
+ sig do
21
+ params(params: T.anything).returns(
22
+ [T.anything, CheckoutIntents::Internal::AnyHash]
23
+ )
24
+ end
25
+ def dump_request(params)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,134 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Union
8
+ include CheckoutIntents::Internal::Type::Converter
9
+ include CheckoutIntents::Internal::Util::SorbetRuntimeSupport
10
+
11
+ # @api private
12
+ #
13
+ # All of the specified variant info for this union.
14
+ sig do
15
+ returns(
16
+ T::Array[
17
+ [
18
+ T.nilable(Symbol),
19
+ T.proc.returns(
20
+ CheckoutIntents::Internal::Type::Converter::Input
21
+ ),
22
+ CheckoutIntents::Internal::AnyHash
23
+ ]
24
+ ]
25
+ )
26
+ end
27
+ private def known_variants
28
+ end
29
+
30
+ # @api private
31
+ sig do
32
+ returns(
33
+ T::Array[
34
+ [
35
+ T.nilable(Symbol),
36
+ T.anything,
37
+ CheckoutIntents::Internal::AnyHash
38
+ ]
39
+ ]
40
+ )
41
+ end
42
+ protected def derefed_variants
43
+ end
44
+
45
+ # All of the specified variants for this union.
46
+ sig { overridable.returns(T::Array[T.anything]) }
47
+ def variants
48
+ end
49
+
50
+ # @api private
51
+ sig { params(property: Symbol).void }
52
+ private def discriminator(property)
53
+ end
54
+
55
+ # @api private
56
+ sig do
57
+ params(
58
+ key:
59
+ T.any(
60
+ Symbol,
61
+ CheckoutIntents::Internal::AnyHash,
62
+ T.proc.returns(T.anything),
63
+ T.anything
64
+ ),
65
+ spec:
66
+ T.any(
67
+ CheckoutIntents::Internal::AnyHash,
68
+ T.proc.returns(T.anything),
69
+ T.anything
70
+ )
71
+ ).void
72
+ end
73
+ private def variant(key, spec = nil)
74
+ end
75
+
76
+ # @api private
77
+ sig { params(value: T.anything).returns(T.nilable(T.anything)) }
78
+ private def resolve_variant(value)
79
+ end
80
+
81
+ sig { params(other: T.anything).returns(T::Boolean) }
82
+ def ===(other)
83
+ end
84
+
85
+ sig { params(other: T.anything).returns(T::Boolean) }
86
+ def ==(other)
87
+ end
88
+
89
+ sig { returns(Integer) }
90
+ def hash
91
+ end
92
+
93
+ # @api private
94
+ #
95
+ # Tries to efficiently coerce the given value to one of the known variants.
96
+ #
97
+ # If the value cannot match any of the known variants, the coercion is considered
98
+ # non-viable and returns the original value.
99
+ sig do
100
+ override
101
+ .params(
102
+ value: T.anything,
103
+ state: CheckoutIntents::Internal::Type::Converter::CoerceState
104
+ )
105
+ .returns(T.anything)
106
+ end
107
+ def coerce(value, state:)
108
+ end
109
+
110
+ # @api private
111
+ sig do
112
+ override
113
+ .params(
114
+ value: T.anything,
115
+ state: CheckoutIntents::Internal::Type::Converter::DumpState
116
+ )
117
+ .returns(T.anything)
118
+ end
119
+ def dump(value, state:)
120
+ end
121
+
122
+ # @api private
123
+ sig { returns(T.anything) }
124
+ def to_sorbet_type
125
+ end
126
+
127
+ # @api private
128
+ sig { params(depth: Integer).returns(String) }
129
+ def inspect(depth: 0)
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # When we don't know what to expect for the value.
9
+ class Unknown
10
+ extend CheckoutIntents::Internal::Type::Converter
11
+ extend CheckoutIntents::Internal::Util::SorbetRuntimeSupport
12
+
13
+ abstract!
14
+
15
+ sig { params(other: T.anything).returns(T::Boolean) }
16
+ def self.===(other)
17
+ end
18
+
19
+ sig { params(other: T.anything).returns(T::Boolean) }
20
+ def self.==(other)
21
+ end
22
+
23
+ class << self
24
+ # @api private
25
+ #
26
+ # No coercion needed for Unknown type.
27
+ sig do
28
+ override
29
+ .params(
30
+ value: T.anything,
31
+ state: CheckoutIntents::Internal::Type::Converter::CoerceState
32
+ )
33
+ .returns(T.anything)
34
+ end
35
+ def coerce(value, state:)
36
+ end
37
+
38
+ # @api private
39
+ sig do
40
+ override
41
+ .params(
42
+ value: T.anything,
43
+ state: CheckoutIntents::Internal::Type::Converter::DumpState
44
+ )
45
+ .returns(T.anything)
46
+ end
47
+ def dump(value, state:)
48
+ end
49
+
50
+ # @api private
51
+ sig { returns(T.anything) }
52
+ def to_sorbet_type
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end