brand.dev 0.0.1.pre.alpha.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 (102) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +229 -0
  3. data/SECURITY.md +23 -0
  4. data/lib/brand_dev/client.rb +74 -0
  5. data/lib/brand_dev/errors.rb +192 -0
  6. data/lib/brand_dev/file_part.rb +55 -0
  7. data/lib/brand_dev/internal/transport/base_client.rb +555 -0
  8. data/lib/brand_dev/internal/transport/pooled_net_requester.rb +209 -0
  9. data/lib/brand_dev/internal/type/array_of.rb +162 -0
  10. data/lib/brand_dev/internal/type/base_model.rb +484 -0
  11. data/lib/brand_dev/internal/type/base_page.rb +55 -0
  12. data/lib/brand_dev/internal/type/boolean.rb +71 -0
  13. data/lib/brand_dev/internal/type/converter.rb +292 -0
  14. data/lib/brand_dev/internal/type/enum.rb +120 -0
  15. data/lib/brand_dev/internal/type/file_input.rb +103 -0
  16. data/lib/brand_dev/internal/type/hash_of.rb +182 -0
  17. data/lib/brand_dev/internal/type/request_parameters.rb +42 -0
  18. data/lib/brand_dev/internal/type/union.rb +227 -0
  19. data/lib/brand_dev/internal/type/unknown.rb +75 -0
  20. data/lib/brand_dev/internal/util.rb +915 -0
  21. data/lib/brand_dev/internal.rb +20 -0
  22. data/lib/brand_dev/models/brand_identify_from_transaction_params.rb +22 -0
  23. data/lib/brand_dev/models/brand_identify_from_transaction_response.rb +435 -0
  24. data/lib/brand_dev/models/brand_retrieve_by_ticker_params.rb +22 -0
  25. data/lib/brand_dev/models/brand_retrieve_by_ticker_response.rb +432 -0
  26. data/lib/brand_dev/models/brand_retrieve_naics_params.rb +27 -0
  27. data/lib/brand_dev/models/brand_retrieve_naics_response.rb +61 -0
  28. data/lib/brand_dev/models/brand_retrieve_params.rb +91 -0
  29. data/lib/brand_dev/models/brand_retrieve_response.rb +432 -0
  30. data/lib/brand_dev/models/brand_search_params.rb +22 -0
  31. data/lib/brand_dev/models/brand_search_response.rb +35 -0
  32. data/lib/brand_dev/models.rb +51 -0
  33. data/lib/brand_dev/request_options.rb +77 -0
  34. data/lib/brand_dev/resources/brand.rb +130 -0
  35. data/lib/brand_dev/version.rb +5 -0
  36. data/lib/brand_dev.rb +64 -0
  37. data/manifest.yaml +15 -0
  38. data/rbi/brand_dev/client.rbi +49 -0
  39. data/rbi/brand_dev/errors.rbi +162 -0
  40. data/rbi/brand_dev/file_part.rbi +37 -0
  41. data/rbi/brand_dev/internal/transport/base_client.rbi +293 -0
  42. data/rbi/brand_dev/internal/transport/pooled_net_requester.rbi +79 -0
  43. data/rbi/brand_dev/internal/type/array_of.rbi +104 -0
  44. data/rbi/brand_dev/internal/type/base_model.rbi +302 -0
  45. data/rbi/brand_dev/internal/type/base_page.rbi +42 -0
  46. data/rbi/brand_dev/internal/type/boolean.rbi +56 -0
  47. data/rbi/brand_dev/internal/type/converter.rbi +162 -0
  48. data/rbi/brand_dev/internal/type/enum.rbi +82 -0
  49. data/rbi/brand_dev/internal/type/file_input.rbi +59 -0
  50. data/rbi/brand_dev/internal/type/hash_of.rbi +104 -0
  51. data/rbi/brand_dev/internal/type/request_parameters.rbi +29 -0
  52. data/rbi/brand_dev/internal/type/union.rbi +116 -0
  53. data/rbi/brand_dev/internal/type/unknown.rbi +56 -0
  54. data/rbi/brand_dev/internal/util.rbi +485 -0
  55. data/rbi/brand_dev/internal.rbi +16 -0
  56. data/rbi/brand_dev/models/brand_identify_from_transaction_params.rbi +46 -0
  57. data/rbi/brand_dev/models/brand_identify_from_transaction_response.rbi +981 -0
  58. data/rbi/brand_dev/models/brand_retrieve_by_ticker_params.rbi +43 -0
  59. data/rbi/brand_dev/models/brand_retrieve_by_ticker_response.rbi +976 -0
  60. data/rbi/brand_dev/models/brand_retrieve_naics_params.rbi +44 -0
  61. data/rbi/brand_dev/models/brand_retrieve_naics_response.rbi +127 -0
  62. data/rbi/brand_dev/models/brand_retrieve_params.rbi +344 -0
  63. data/rbi/brand_dev/models/brand_retrieve_response.rbi +949 -0
  64. data/rbi/brand_dev/models/brand_search_params.rbi +40 -0
  65. data/rbi/brand_dev/models/brand_search_response.rbi +63 -0
  66. data/rbi/brand_dev/models.rbi +14 -0
  67. data/rbi/brand_dev/request_options.rbi +59 -0
  68. data/rbi/brand_dev/resources/brand.rbi +89 -0
  69. data/rbi/brand_dev/version.rbi +5 -0
  70. data/sig/brand_dev/client.rbs +26 -0
  71. data/sig/brand_dev/errors.rbs +101 -0
  72. data/sig/brand_dev/file_part.rbs +21 -0
  73. data/sig/brand_dev/internal/transport/base_client.rbs +131 -0
  74. data/sig/brand_dev/internal/transport/pooled_net_requester.rbs +45 -0
  75. data/sig/brand_dev/internal/type/array_of.rbs +48 -0
  76. data/sig/brand_dev/internal/type/base_model.rbs +102 -0
  77. data/sig/brand_dev/internal/type/base_page.rbs +24 -0
  78. data/sig/brand_dev/internal/type/boolean.rbs +26 -0
  79. data/sig/brand_dev/internal/type/converter.rbs +56 -0
  80. data/sig/brand_dev/internal/type/enum.rbs +32 -0
  81. data/sig/brand_dev/internal/type/file_input.rbs +25 -0
  82. data/sig/brand_dev/internal/type/hash_of.rbs +48 -0
  83. data/sig/brand_dev/internal/type/request_parameters.rbs +17 -0
  84. data/sig/brand_dev/internal/type/union.rbs +52 -0
  85. data/sig/brand_dev/internal/type/unknown.rbs +26 -0
  86. data/sig/brand_dev/internal/util.rbs +185 -0
  87. data/sig/brand_dev/internal.rbs +9 -0
  88. data/sig/brand_dev/models/brand_identify_from_transaction_params.rbs +24 -0
  89. data/sig/brand_dev/models/brand_identify_from_transaction_response.rbs +418 -0
  90. data/sig/brand_dev/models/brand_retrieve_by_ticker_params.rbs +23 -0
  91. data/sig/brand_dev/models/brand_retrieve_by_ticker_response.rbs +418 -0
  92. data/sig/brand_dev/models/brand_retrieve_naics_params.rbs +23 -0
  93. data/sig/brand_dev/models/brand_retrieve_naics_response.rbs +61 -0
  94. data/sig/brand_dev/models/brand_retrieve_params.rbs +148 -0
  95. data/sig/brand_dev/models/brand_retrieve_response.rbs +418 -0
  96. data/sig/brand_dev/models/brand_search_params.rbs +23 -0
  97. data/sig/brand_dev/models/brand_search_response.rbs +29 -0
  98. data/sig/brand_dev/models.rbs +11 -0
  99. data/sig/brand_dev/request_options.rbs +34 -0
  100. data/sig/brand_dev/resources/brand.rbs +33 -0
  101. data/sig/brand_dev/version.rbs +3 -0
  102. metadata +160 -0
@@ -0,0 +1,302 @@
1
+ # typed: strong
2
+
3
+ module BrandDev
4
+ module Internal
5
+ module Type
6
+ class BaseModel
7
+ extend BrandDev::Internal::Type::Converter
8
+ extend BrandDev::Internal::Util::SorbetRuntimeSupport
9
+
10
+ abstract!
11
+
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
+ BrandDev::Internal::Type::BaseModel,
25
+ BrandDev::Internal::AnyHash
26
+ )
27
+ end
28
+
29
+ class << self
30
+ # @api private
31
+ #
32
+ # Assumes superclass fields are totally defined before fields are accessed /
33
+ # defined on subclasses.
34
+ sig { params(child: T.self_type).void }
35
+ def inherited(child)
36
+ end
37
+
38
+ # @api private
39
+ sig do
40
+ returns(
41
+ T::Hash[
42
+ Symbol,
43
+ T.all(
44
+ BrandDev::Internal::Type::BaseModel::KnownField,
45
+ {
46
+ type_fn:
47
+ T.proc.returns(BrandDev::Internal::Type::Converter::Input)
48
+ }
49
+ )
50
+ ]
51
+ )
52
+ end
53
+ def known_fields
54
+ end
55
+
56
+ # @api private
57
+ sig do
58
+ returns(
59
+ T::Hash[
60
+ Symbol,
61
+ T.all(
62
+ BrandDev::Internal::Type::BaseModel::KnownField,
63
+ { type: BrandDev::Internal::Type::Converter::Input }
64
+ )
65
+ ]
66
+ )
67
+ end
68
+ def fields
69
+ end
70
+
71
+ # @api private
72
+ sig do
73
+ params(
74
+ name_sym: Symbol,
75
+ required: T::Boolean,
76
+ type_info:
77
+ T.any(
78
+ {
79
+ const:
80
+ T.nilable(
81
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
82
+ ),
83
+ enum:
84
+ T.nilable(
85
+ T.proc.returns(
86
+ BrandDev::Internal::Type::Converter::Input
87
+ )
88
+ ),
89
+ union:
90
+ T.nilable(
91
+ T.proc.returns(
92
+ BrandDev::Internal::Type::Converter::Input
93
+ )
94
+ ),
95
+ api_name: Symbol,
96
+ nil?: T::Boolean
97
+ },
98
+ T.proc.returns(BrandDev::Internal::Type::Converter::Input),
99
+ BrandDev::Internal::Type::Converter::Input
100
+ ),
101
+ spec: BrandDev::Internal::AnyHash
102
+ ).void
103
+ end
104
+ private def add_field(name_sym, required:, type_info:, spec:)
105
+ end
106
+
107
+ # @api private
108
+ sig do
109
+ params(
110
+ name_sym: Symbol,
111
+ type_info:
112
+ T.any(
113
+ BrandDev::Internal::AnyHash,
114
+ T.proc.returns(BrandDev::Internal::Type::Converter::Input),
115
+ BrandDev::Internal::Type::Converter::Input
116
+ ),
117
+ spec: BrandDev::Internal::AnyHash
118
+ ).void
119
+ end
120
+ def required(name_sym, type_info, spec = {})
121
+ end
122
+
123
+ # @api private
124
+ sig do
125
+ params(
126
+ name_sym: Symbol,
127
+ type_info:
128
+ T.any(
129
+ BrandDev::Internal::AnyHash,
130
+ T.proc.returns(BrandDev::Internal::Type::Converter::Input),
131
+ BrandDev::Internal::Type::Converter::Input
132
+ ),
133
+ spec: BrandDev::Internal::AnyHash
134
+ ).void
135
+ end
136
+ def optional(name_sym, type_info, spec = {})
137
+ end
138
+
139
+ # @api private
140
+ #
141
+ # `request_only` attributes not excluded from `.#coerce` when receiving responses
142
+ # even if well behaved servers should not send them
143
+ sig { params(blk: T.proc.void).void }
144
+ private def request_only(&blk)
145
+ end
146
+
147
+ # @api private
148
+ #
149
+ # `response_only` attributes are omitted from `.#dump` when making requests
150
+ sig { params(blk: T.proc.void).void }
151
+ private def response_only(&blk)
152
+ end
153
+
154
+ sig { params(other: T.anything).returns(T::Boolean) }
155
+ def ==(other)
156
+ end
157
+
158
+ sig { returns(Integer) }
159
+ def hash
160
+ end
161
+ end
162
+
163
+ sig { params(other: T.anything).returns(T::Boolean) }
164
+ def ==(other)
165
+ end
166
+
167
+ sig { returns(Integer) }
168
+ def hash
169
+ end
170
+
171
+ class << self
172
+ # @api private
173
+ sig do
174
+ override
175
+ .params(
176
+ value:
177
+ T.any(
178
+ BrandDev::Internal::Type::BaseModel,
179
+ T::Hash[T.anything, T.anything],
180
+ T.anything
181
+ ),
182
+ state: BrandDev::Internal::Type::Converter::CoerceState
183
+ )
184
+ .returns(T.any(T.attached_class, T.anything))
185
+ end
186
+ def coerce(value, state:)
187
+ end
188
+
189
+ # @api private
190
+ sig do
191
+ override
192
+ .params(
193
+ value: T.any(T.attached_class, T.anything),
194
+ state: BrandDev::Internal::Type::Converter::DumpState
195
+ )
196
+ .returns(T.any(T::Hash[T.anything, T.anything], T.anything))
197
+ end
198
+ def dump(value, state:)
199
+ end
200
+
201
+ # @api private
202
+ sig { returns(T.anything) }
203
+ def to_sorbet_type
204
+ end
205
+ end
206
+
207
+ class << self
208
+ # @api private
209
+ sig do
210
+ params(
211
+ model: BrandDev::Internal::Type::BaseModel,
212
+ convert: T::Boolean
213
+ ).returns(BrandDev::Internal::AnyHash)
214
+ end
215
+ def recursively_to_h(model, convert:)
216
+ end
217
+ end
218
+
219
+ # Returns the raw value associated with the given key, if found. Otherwise, nil is
220
+ # returned.
221
+ #
222
+ # It is valid to lookup keys that are not in the API spec, for example to access
223
+ # undocumented features. This method does not parse response data into
224
+ # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
225
+ sig { params(key: Symbol).returns(T.nilable(T.anything)) }
226
+ def [](key)
227
+ end
228
+
229
+ # Returns a Hash of the data underlying this object. O(1)
230
+ #
231
+ # Keys are Symbols and values are the raw values from the response. The return
232
+ # value indicates which values were ever set on the object. i.e. there will be a
233
+ # key in this hash if they ever were, even if the set value was nil.
234
+ #
235
+ # This method is not recursive. The returned value is shared by the object, so it
236
+ # should not be mutated.
237
+ sig { overridable.returns(BrandDev::Internal::AnyHash) }
238
+ def to_h
239
+ end
240
+
241
+ # Returns a Hash of the data underlying this object. O(1)
242
+ #
243
+ # Keys are Symbols and values are the raw values from the response. The return
244
+ # value indicates which values were ever set on the object. i.e. there will be a
245
+ # key in this hash if they ever were, even if the set value was nil.
246
+ #
247
+ # This method is not recursive. The returned value is shared by the object, so it
248
+ # should not be mutated.
249
+ sig { overridable.returns(BrandDev::Internal::AnyHash) }
250
+ def to_hash
251
+ end
252
+
253
+ # In addition to the behaviour of `#to_h`, this method will recursively call
254
+ # `#to_h` on nested models.
255
+ sig { overridable.returns(BrandDev::Internal::AnyHash) }
256
+ def deep_to_h
257
+ end
258
+
259
+ sig do
260
+ params(keys: T.nilable(T::Array[Symbol])).returns(
261
+ BrandDev::Internal::AnyHash
262
+ )
263
+ end
264
+ def deconstruct_keys(keys)
265
+ end
266
+
267
+ sig { params(a: T.anything).returns(String) }
268
+ def to_json(*a)
269
+ end
270
+
271
+ sig { params(a: T.anything).returns(String) }
272
+ def to_yaml(*a)
273
+ end
274
+
275
+ # Create a new instance of a model.
276
+ sig do
277
+ params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(
278
+ T.attached_class
279
+ )
280
+ end
281
+ def self.new(data = {})
282
+ end
283
+
284
+ class << self
285
+ # @api private
286
+ sig { params(depth: Integer).returns(String) }
287
+ def inspect(depth: 0)
288
+ end
289
+ end
290
+
291
+ sig { returns(String) }
292
+ def to_s
293
+ end
294
+
295
+ # @api private
296
+ sig { returns(String) }
297
+ def inspect
298
+ end
299
+ end
300
+ end
301
+ end
302
+ end
@@ -0,0 +1,42 @@
1
+ # typed: strong
2
+
3
+ module BrandDev
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # This module provides a base implementation for paginated responses in the SDK.
9
+ module BasePage
10
+ Elem = type_member(:out)
11
+
12
+ sig { overridable.returns(T::Boolean) }
13
+ def next_page?
14
+ end
15
+
16
+ sig { overridable.returns(T.self_type) }
17
+ def next_page
18
+ end
19
+
20
+ sig { overridable.params(blk: T.proc.params(arg0: Elem).void).void }
21
+ def auto_paging_each(&blk)
22
+ end
23
+
24
+ sig { returns(T::Enumerable[Elem]) }
25
+ def to_enum
26
+ end
27
+
28
+ # @api private
29
+ sig do
30
+ params(
31
+ client: BrandDev::Internal::Transport::BaseClient,
32
+ req: BrandDev::Internal::Transport::BaseClient::RequestComponents,
33
+ headers: T.any(T::Hash[String, String], Net::HTTPHeader),
34
+ page_data: T.anything
35
+ ).void
36
+ end
37
+ def initialize(client:, req:, headers:, page_data:)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module BrandDev
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Ruby has no Boolean class; this is something for models to refer to.
9
+ class Boolean
10
+ extend BrandDev::Internal::Type::Converter
11
+ extend BrandDev::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
+ sig do
26
+ override
27
+ .params(
28
+ value: T.any(T::Boolean, T.anything),
29
+ state: BrandDev::Internal::Type::Converter::CoerceState
30
+ )
31
+ .returns(T.any(T::Boolean, T.anything))
32
+ end
33
+ def coerce(value, state:)
34
+ end
35
+
36
+ # @api private
37
+ sig do
38
+ override
39
+ .params(
40
+ value: T.any(T::Boolean, T.anything),
41
+ state: BrandDev::Internal::Type::Converter::DumpState
42
+ )
43
+ .returns(T.any(T::Boolean, T.anything))
44
+ end
45
+ def dump(value, state:)
46
+ end
47
+
48
+ # @api private
49
+ sig { returns(T.anything) }
50
+ def to_sorbet_type
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,162 @@
1
+ # typed: strong
2
+
3
+ module BrandDev
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Converter
8
+ extend BrandDev::Internal::Util::SorbetRuntimeSupport
9
+
10
+ Input =
11
+ T.type_alias do
12
+ T.any(BrandDev::Internal::Type::Converter, T::Class[T.anything])
13
+ end
14
+
15
+ CoerceState =
16
+ T.type_alias do
17
+ {
18
+ strictness: T.any(T::Boolean, Symbol),
19
+ exactness: {
20
+ yes: Integer,
21
+ no: Integer,
22
+ maybe: Integer
23
+ },
24
+ branched: Integer
25
+ }
26
+ end
27
+
28
+ DumpState = T.type_alias { { can_retry: T::Boolean } }
29
+
30
+ # @api private
31
+ sig do
32
+ overridable
33
+ .params(
34
+ value: T.anything,
35
+ state: BrandDev::Internal::Type::Converter::CoerceState
36
+ )
37
+ .returns(T.anything)
38
+ end
39
+ def coerce(value, state:)
40
+ end
41
+
42
+ # @api private
43
+ sig do
44
+ overridable
45
+ .params(
46
+ value: T.anything,
47
+ state: BrandDev::Internal::Type::Converter::DumpState
48
+ )
49
+ .returns(T.anything)
50
+ end
51
+ def dump(value, state:)
52
+ end
53
+
54
+ # @api private
55
+ sig { params(depth: Integer).returns(String) }
56
+ def inspect(depth: 0)
57
+ end
58
+
59
+ class << self
60
+ # @api private
61
+ sig do
62
+ params(
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
+ BrandDev::Internal::Type::Converter::Input
74
+ )
75
+ ),
76
+ union:
77
+ T.nilable(
78
+ T.proc.returns(
79
+ BrandDev::Internal::Type::Converter::Input
80
+ )
81
+ )
82
+ },
83
+ T.proc.returns(BrandDev::Internal::Type::Converter::Input),
84
+ BrandDev::Internal::Type::Converter::Input
85
+ )
86
+ ).returns(T.proc.returns(T.anything))
87
+ end
88
+ def self.type_info(spec)
89
+ end
90
+
91
+ # @api private
92
+ #
93
+ # Based on `target`, transform `value` into `target`, to the extent possible:
94
+ #
95
+ # 1. if the given `value` conforms to `target` already, return the given `value`
96
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
97
+ # converted value
98
+ # 3. otherwise, the given `value` unaltered
99
+ #
100
+ # The coercion process is subject to improvement between minor release versions.
101
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
102
+ sig do
103
+ params(
104
+ target: BrandDev::Internal::Type::Converter::Input,
105
+ value: T.anything,
106
+ state: BrandDev::Internal::Type::Converter::CoerceState
107
+ ).returns(T.anything)
108
+ end
109
+ def self.coerce(
110
+ target,
111
+ value,
112
+ # The `strictness` is one of `true`, `false`, or `:strong`. This informs the
113
+ # coercion strategy when we have to decide between multiple possible conversion
114
+ # targets:
115
+ #
116
+ # - `true`: the conversion must be exact, with minimum coercion.
117
+ # - `false`: the conversion can be approximate, with some coercion.
118
+ # - `:strong`: the conversion must be exact, with no coercion, and raise an error
119
+ # if not possible.
120
+ #
121
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
122
+ # any given conversion attempt, the exactness will be updated based on how closely
123
+ # the value recursively matches the target type:
124
+ #
125
+ # - `yes`: the value can be converted to the target type with minimum coercion.
126
+ # - `maybe`: the value can be converted to the target type with some reasonable
127
+ # coercion.
128
+ # - `no`: the value cannot be converted to the target type.
129
+ #
130
+ # See implementation below for more details.
131
+ state: {
132
+ strictness: true,
133
+ exactness: {
134
+ yes: 0,
135
+ no: 0,
136
+ maybe: 0
137
+ },
138
+ branched: 0
139
+ }
140
+ )
141
+ end
142
+
143
+ # @api private
144
+ sig do
145
+ params(
146
+ target: BrandDev::Internal::Type::Converter::Input,
147
+ value: T.anything,
148
+ state: BrandDev::Internal::Type::Converter::DumpState
149
+ ).returns(T.anything)
150
+ end
151
+ def self.dump(target, value, state: { can_retry: true })
152
+ end
153
+
154
+ # @api private
155
+ sig { params(target: T.anything, depth: Integer).returns(String) }
156
+ def self.inspect(target, depth:)
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,82 @@
1
+ # typed: strong
2
+
3
+ module BrandDev
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 BrandDev::Internal::Type::Converter
20
+ include BrandDev::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: BrandDev::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: BrandDev::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 BrandDev
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Either `Pathname` or `StringIO`, or `IO`, or
9
+ # `BrandDev::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 BrandDev::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: BrandDev::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: BrandDev::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