@@ -165,17 +165,21 @@ public class CodeFormatter {
165
165
context [ " isFile " ] = schema. isFile
166
166
167
167
if modelInheritance {
168
- context [ " requiredProperties " ] = schema. requiredProperties. map ( getPropertyContext)
169
- context [ " optionalProperties " ] = schema. optionalProperties. map ( getPropertyContext)
170
- context [ " properties " ] = schema. properties. map ( getPropertyContext)
168
+ let requiredPropertiesContext = schema. requiredProperties. map ( getPropertyContext)
169
+ let optionalPropertiesContext = schema. optionalProperties. map ( getPropertyContext)
170
+ context [ " requiredProperties " ] = requiredPropertiesContext
171
+ context [ " optionalProperties " ] = optionalPropertiesContext
172
+ context [ " properties " ] = requiredPropertiesContext + optionalPropertiesContext
171
173
context [ " enums " ] = schema. enums. map ( getEnumContext)
172
174
context [ " schemas " ] = schema. properties. compactMap { property in
173
175
getInlineSchemaContext ( property. schema, name: property. name)
174
176
}
175
177
} else {
176
- context [ " requiredProperties " ] = schema. inheritedRequiredProperties. map ( getPropertyContext)
177
- context [ " optionalProperties " ] = schema. inheritedOptionalProperties. map ( getPropertyContext)
178
- context [ " properties " ] = schema. inheritedProperties. map ( getPropertyContext)
178
+ let inheritedRequiredPropertiesContext = schema. inheritedRequiredProperties. map ( getPropertyContext)
179
+ let inheritedOptionalPropertiesContext = schema. inheritedOptionalProperties. map ( getPropertyContext)
180
+ context [ " requiredProperties " ] = inheritedRequiredPropertiesContext
181
+ context [ " optionalProperties " ] = inheritedOptionalPropertiesContext
182
+ context [ " properties " ] = inheritedRequiredPropertiesContext + inheritedOptionalPropertiesContext
179
183
context [ " enums " ] = schema. inheritedEnums. map ( getEnumContext)
180
184
context [ " schemas " ] = schema. inheritedProperties. compactMap { property in
181
185
getInlineSchemaContext ( property. schema, name: property. name)
@@ -310,15 +314,14 @@ public class CodeFormatter {
310
314
// Responses
311
315
312
316
let responses = operation. responses
313
- let successResponse = responses. first { $0. successful }
314
317
let successResponses = responses. filter { $0. successful } . map ( getResponseContext)
315
318
let failureResponses = responses. filter { !$0. successful } . map ( getResponseContext)
316
319
317
- context [ " responses " ] = responses . map ( getResponseContext )
320
+ context [ " responses " ] = successResponses + failureResponses
318
321
context [ " successResponse " ] = successResponses. first
319
- context [ " successType " ] = successResponse . flatMap ( getResponseContext ) ? [ " type " ]
320
- context [ " defaultResponse " ] = responses . first { $0. statusCode == nil } . flatMap ( getResponseContext )
321
- context [ " onlySuccessResponses " ] = successResponse != nil && responses. count == 1
322
+ context [ " successType " ] = successResponses . first ? [ " type " ]
323
+ context [ " defaultResponse " ] = failureResponses . first { $0 [ " statusCode " ] == nil }
324
+ context [ " onlySuccessResponses " ] = !successResponses . isEmpty && responses. count == 1
322
325
context [ " alwaysHasResponseType " ] = responses. filter { $0. response. value. schema != nil } . count == responses. count
323
326
324
327
let successTypes = successResponses. compactMap { $0 [ " type " ] as? String }
0 commit comments