Files
react-native-reanimated/ios/Nodes/REATransformNode.m
Krzysztof Magiera cb0a2680a8 Initial commit.
2018-04-25 11:22:32 +02:00

39 lines
909 B
Objective-C

#import "REATransformNode.h"
#import "REANodesManager.h"
@implementation REATransformNode
{
NSArray<id> *_transformConfigs;
}
- (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *,id> *)config
{
if ((self = [super initWithID:nodeID config:config])) {
_transformConfigs = config[@"transform"];
}
return self;
}
- (id)evaluate
{
NSMutableArray<NSDictionary *> *transform = [NSMutableArray arrayWithCapacity:_transformConfigs.count];
for (NSDictionary *transformConfig in _transformConfigs) {
NSString *property = transformConfig[@"property"];
REANodeID nodeID = transformConfig[@"nodeID"];
NSNumber *value;
if (nodeID) {
REANode *node = [self.nodesManager findNodeByID:nodeID];
value = [node value];
} else {
value = transformConfig[@"value"];
}
[transform addObject:@{property: value}];
}
return transform;
}
@end