Skip to content

Commit

Permalink
Fix issues with nested collections in dictionaryObjectRepresentation (#…
Browse files Browse the repository at this point in the history
…126)

* Fix issues with nested collections
* More tests
  • Loading branch information
rahul-malik authored Mar 7, 2018
1 parent aa069d2 commit a5e132e
Show file tree
Hide file tree
Showing 11 changed files with 623 additions and 287 deletions.
34 changes: 18 additions & 16 deletions Examples/Cocoa/Sources/Objective_C/Board.m
Original file line number Diff line number Diff line change
Expand Up @@ -284,71 +284,73 @@ - (NSDictionary *)dictionaryObjectRepresentation
{
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithCapacity:9];
if (_boardDirtyProperties.BoardDirtyPropertyContributors) {
if (_contributors != nil) {
NSSet *items0 = _contributors;
if (_contributors != (id)kCFNull) {
__auto_type items0 = _contributors;
NSMutableArray *result0 = [NSMutableArray arrayWithCapacity:items0.count];
for (id obj0 in items0) {
if (obj0 != (id)kCFNull) {
[result0 addObject:[obj0 dictionaryObjectRepresentation]];
}
for (User * obj0 in items0) {
[result0 addObject:[obj0 dictionaryObjectRepresentation]];
}
[dict setObject:result0 forKey:@"contributors"];
} else {
[dict setObject:[NSNull null] forKey:@"contributors"];
}
}
if (_boardDirtyProperties.BoardDirtyPropertyCounts) {
if (_counts != nil) {
if (_counts != (id)kCFNull) {
[dict setObject:_counts forKey:@"counts"];
} else {
[dict setObject:[NSNull null] forKey:@"counts"];
}
}
if (_boardDirtyProperties.BoardDirtyPropertyCreatedAt) {
NSValueTransformer *valueTransformer = [NSValueTransformer valueTransformerForName:kPlankDateValueTransformerKey];
if (_createdAt != nil && [[valueTransformer class] allowsReverseTransformation]) {
[dict setObject:[valueTransformer reverseTransformedValue:_createdAt] forKey:@"created_at"];
if (_createdAt != (id)kCFNull) {
NSValueTransformer *valueTransformer = [NSValueTransformer valueTransformerForName:kPlankDateValueTransformerKey];
if ([[valueTransformer class] allowsReverseTransformation]) {
[dict setObject:[valueTransformer reverseTransformedValue:_createdAt] forKey:@"created_at"];
} else {
[dict setObject:[NSNull null] forKey:@"created_at"];
}
} else {
[dict setObject:[NSNull null] forKey:@"created_at"];
}
}
if (_boardDirtyProperties.BoardDirtyPropertyCreator) {
if (_creator != nil) {
if (_creator != (id)kCFNull) {
[dict setObject:_creator forKey:@"creator"];
} else {
[dict setObject:[NSNull null] forKey:@"creator"];
}
}
if (_boardDirtyProperties.BoardDirtyPropertyDescriptionText) {
if (_descriptionText != nil) {
if (_descriptionText != (id)kCFNull) {
[dict setObject:_descriptionText forKey:@"description"];
} else {
[dict setObject:[NSNull null] forKey:@"description"];
}
}
if (_boardDirtyProperties.BoardDirtyPropertyIdentifier) {
if (_identifier != nil) {
if (_identifier != (id)kCFNull) {
[dict setObject:_identifier forKey:@"id"];
} else {
[dict setObject:[NSNull null] forKey:@"id"];
}
}
if (_boardDirtyProperties.BoardDirtyPropertyImage) {
if (_image != nil) {
if (_image != (id)kCFNull) {
[dict setObject:[_image dictionaryObjectRepresentation] forKey:@"image"];
} else {
[dict setObject:[NSNull null] forKey:@"image"];
}
}
if (_boardDirtyProperties.BoardDirtyPropertyName) {
if (_name != nil) {
if (_name != (id)kCFNull) {
[dict setObject:_name forKey:@"name"];
} else {
[dict setObject:[NSNull null] forKey:@"name"];
}
}
if (_boardDirtyProperties.BoardDirtyPropertyUrl) {
if (_url != nil) {
if (_url != (id)kCFNull) {
[dict setObject:[_url absoluteString] forKey:@"url"];
} else {
[dict setObject:[NSNull null] forKey:@"url"];
Expand Down
Loading

0 comments on commit a5e132e

Please sign in to comment.