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