42 lines
958 B
C
42 lines
958 B
C
|
#import <Foundation/Foundation.h>
|
||
|
#import <UIKit/UIKit.h>
|
||
|
|
||
|
@class REANodesManager;
|
||
|
|
||
|
typedef NSNumber* REANodeID;
|
||
|
|
||
|
@protocol REAFinalNode
|
||
|
|
||
|
- (void)update;
|
||
|
|
||
|
@end
|
||
|
|
||
|
@interface REAUpdateContext : NSObject
|
||
|
@property (nonatomic) NSString* callID;
|
||
|
@end
|
||
|
|
||
|
@interface REANode : NSObject
|
||
|
|
||
|
+ (void)runPropUpdates:(nonnull REAUpdateContext *)context;
|
||
|
|
||
|
- (instancetype)initWithID:(REANodeID)nodeID
|
||
|
config:(NSDictionary<NSString *, id> *)config NS_DESIGNATED_INITIALIZER;
|
||
|
|
||
|
@property (nonatomic, weak, nullable) REANodesManager *nodesManager;
|
||
|
@property (nonatomic, nullable) REAUpdateContext *updateContext;
|
||
|
@property (nonatomic, readonly, nonnull) REANodeID nodeID;
|
||
|
|
||
|
- (_Nullable id)evaluate;
|
||
|
- (_Nullable id)value;
|
||
|
- (void)markUpdated;
|
||
|
|
||
|
- (void)addChild:(REANode *)child NS_REQUIRES_SUPER;
|
||
|
- (void)removeChild:(REANode *)child NS_REQUIRES_SUPER;
|
||
|
|
||
|
- (void)dangerouslyRescheduleEvaluate;
|
||
|
- (void)forceUpdateMemoizedValue:(id)value;
|
||
|
|
||
|
- (void)onDrop;
|
||
|
|
||
|
@end
|