#import "REATransformNode.h" #import #import "REANodesManager.h" @implementation REATransformNode { NSArray *_transformConfigs; } - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary *)config { if ((self = [super initWithID:nodeID config:config])) { _transformConfigs = config[@"transform"]; } return self; } - (id)evaluate { NSMutableArray *transform = [NSMutableArray arrayWithCapacity:_transformConfigs.count]; for (NSDictionary *transformConfig in _transformConfigs) { NSString *property = transformConfig[@"property"]; REANodeID nodeID = [RCTConvert NSNumber: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