update of Objective-C model-body.mustache to support discriminator.mappedModels (#7471)

Co-authored-by: Thomas Beckmann <thomas.beckmann@mway.io>
This commit is contained in:
Thomas Beckmann
2020-09-24 11:44:14 +02:00
committed by GitHub
parent 6612c16624
commit bdc964a6c1

View File

@@ -27,9 +27,19 @@
if(discriminatedClassName == nil ){
return [super initWithDictionary:dict error:err];
}
Class class = NSClassFromString([@"{{classPrefix}}" stringByAppendingString:discriminatedClassName]);
if(!class) {
class = NSClassFromString([@"{{classPrefix}}" stringByAppendingString:[discriminatedClassName capitalizedString]]);
Class class = nil;
{{#discriminator.mappedModels}}
if ([discriminatedClassName isEqualToString:@"{{^vendorExtensions.x-discriminator-value}}{{mappingName}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"]) {
class = NSClassFromString(@"{{modelName}}");
}
else
{{/discriminator.mappedModels}}
{
class = NSClassFromString([@"{{classPrefix}}" stringByAppendingString:discriminatedClassName]);
if(!class) {
class = NSClassFromString([@"{{classPrefix}}" stringByAppendingString:[discriminatedClassName capitalizedString]]);
}
}
if([self class ] == class) {
return [super initWithDictionary:dict error:err];