Closed Kyle-Ye closed 4 months ago
@Kyle-Ye yes, it's current behaviour that we propagate the optionality to the point of use, and strip it from the type alias or struct in the components. The reason this has resulted in confusing looking code is the explicit use of "Optional" in the type name in the OpenAPI document.
While this might have been unexpected, does it present you with any issues? It's hard to tell from this example since it seems to be semantically equivalent, but maybe the snippet above is a simplification of what you are trying to achieve, and that, in your actual use case, draft_sequence
is actually a much more complex type?
If so, what's it's rough shape? Is it an object?
yes, it's current behaviour that we propagate the optionality to the point of use, and strip it from the type alias or struct in the components. The reason this has resulted in confusing looking code is the explicit use of "Optional" in the type name in the OpenAPI document.
While this might have been unexpected, does it present you with any issues? It's hard to tell from this example since it seems to be semantically equivalent, but maybe the snippet above is a simplification of what you are trying to achieve, and that, in your actual use case,
draft_sequence
is actually a much more complex type?If so, what's it's rough shape? Is it an object?
Got it. I'll update the name instead. eg. OptionalInt
to DraftSequence
so that we'll get the following result.
public var draft_sequence: Components.Schemas.DraftSequence?
/// - Remark: Generated from `#/components/schemas/OptionalInt`.
public typealias DraftSequence = Swift.Int
Description
draft_sequence has appeared multi place in openapi.yml file. Its type is "Int?" here.
So I add an
OptionalInt
type to rest myself from repeating. But the generated code is a little unexpected.Reproduction
Package version(s)
1.2.0
Expected behavior
Actual behavior
Environment
Swift 5.9.2
Additional information
None