forked from loafle/openapi-generator-original
[Swift3] fix for unwrapRequired compilation when we have a "result" as one of the parameters (#6377)
* two fixes: 1) extra ?'s at end of some url's 2) enums not being called out w/ rawValue to get the proper string name * update samples * one step closer * closer implementation * fix unwrapRequired models when we have a parameter named result
This commit is contained in:
@@ -340,25 +340,25 @@ class Decoders {
|
||||
return .failure(.typeMismatch(expected: "{{classname}}", actual: "\({{name}}Source)"))
|
||||
}
|
||||
{{/requiredVars}}
|
||||
let result = {{classname}}({{#requiredVars}}{{^-first}}, {{/-first}}{{name}}: {{name}}{{/requiredVars}})
|
||||
let _result = {{classname}}({{#requiredVars}}{{^-first}}, {{/-first}}{{name}}: {{name}}{{/requiredVars}})
|
||||
{{#optionalVars}}
|
||||
switch Decoders.decodeOptional(clazz: {{#isEnum}}{{^isListContainer}}{{classname}}.{{enumName}}.self{{/isListContainer}}{{#isListContainer}}Array<{{classname}}.{{enumName}}>.self{{/isListContainer}}{{/isEnum}}{{^isEnum}}{{{datatype}}}.self{{/isEnum}}, source: sourceDictionary["{{baseName}}"] as AnyObject?) {
|
||||
case let .success(value): result.{{name}} = value
|
||||
case let .success(value): _result.{{name}} = value
|
||||
case let .failure(error): return .failure(error)
|
||||
}
|
||||
{{/optionalVars}}
|
||||
{{/unwrapRequired}}
|
||||
{{^unwrapRequired}}
|
||||
let result = instance == nil ? {{classname}}() : instance as! {{classname}}
|
||||
let _result = instance == nil ? {{classname}}() : instance as! {{classname}}
|
||||
{{#parent}}
|
||||
if decoders["\({{parent}}.self)"] != nil {
|
||||
_ = Decoders.decode(clazz: {{parent}}.self, source: source, instance: result)
|
||||
_ = Decoders.decode(clazz: {{parent}}.self, source: source, instance: _result)
|
||||
}
|
||||
{{/parent}}
|
||||
{{#allVars}}
|
||||
switch Decoders.decodeOptional(clazz: {{#isEnum}}{{^isListContainer}}{{classname}}.{{enumName}}.self{{/isListContainer}}{{#isListContainer}}Array<{{classname}}.{{enumName}}>.self{{/isListContainer}}{{/isEnum}}{{^isEnum}}{{{datatype}}}.self{{/isEnum}}, source: sourceDictionary["{{baseName}}"] as AnyObject?) {
|
||||
{{#isEnum}}{{#isMapContainer}}/*{{/isMapContainer}}{{/isEnum}}
|
||||
case let .success(value): result.{{name}} = value
|
||||
case let .success(value): _result.{{name}} = value
|
||||
case let .failure(error): return .failure(error)
|
||||
{{#isEnum}}{{#isMapContainer}}*/ default: break //TODO: handle enum map scenario{{/isMapContainer}}{{/isEnum}}
|
||||
}
|
||||
@@ -373,13 +373,13 @@ class Decoders {
|
||||
for key in propsDictionary.keys {
|
||||
switch Decoders.decodeOptional(clazz: String.self, source: propsDictionary[key] as AnyObject?) {
|
||||
|
||||
case let .success(value): result[key] = value
|
||||
case let .success(value): _result[key] = value
|
||||
default: continue
|
||||
|
||||
}
|
||||
}
|
||||
{{/additionalPropertiesType}}
|
||||
return .success(result)
|
||||
return .success(_result)
|
||||
} else {
|
||||
return .failure(.typeMismatch(expected: "{{classname}}", actual: "\(source)"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user