Skip to content

Commit 2db5182

Browse files
xplat/js/react-native-github/packages/react-native/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm (#57821)
Summary: Changelog: [INTERNAL] Differential Revision: D114707433
1 parent df5e6f6 commit 2db5182

1 file changed

Lines changed: 57 additions & 60 deletions

File tree

packages/react-native/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm

Lines changed: 57 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#import <FBReactNativeSpec/FBReactNativeSpec.h>
99
#import <RCTTypeSafety/RCTConvertHelpers.h>
10+
#import <React/RCTConvert.h>
1011
#import <React/RCTInitializing.h>
1112
#import <React/RCTNativeAnimatedNodesManager.h>
1213
#import <React/RCTNativeAnimatedTurboModule.h>
@@ -75,143 +76,143 @@ - (void)setSurfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter
7576

7677
#pragma mark-- API
7778

78-
RCT_EXPORT_METHOD(startOperationBatch) {}
79+
- (void)startOperationBatch
80+
{
81+
}
7982

80-
RCT_EXPORT_METHOD(finishOperationBatch) {}
83+
- (void)finishOperationBatch
84+
{
85+
}
8186

82-
RCT_EXPORT_METHOD(createAnimatedNode : (double)tag config : (NSDictionary<NSString *, id> *)config)
87+
- (void)createAnimatedNode:(double)tag config:(NSDictionary *)configJSON
8388
{
89+
NSDictionary<NSString *, id> *config = [RCTConvert NSDictionary:configJSON];
8490
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
85-
[nodesManager createAnimatedNode:[NSNumber numberWithDouble:tag] config:config];
91+
[nodesManager createAnimatedNode:@(tag) config:config];
8692
}];
8793
}
8894

89-
RCT_EXPORT_METHOD(updateAnimatedNodeConfig : (double)tag config : (NSDictionary<NSString *, id> *)config)
95+
- (void)updateAnimatedNodeConfig:(double)tag config:(NSDictionary *)configJSON
9096
{
97+
NSDictionary<NSString *, id> *config = [RCTConvert NSDictionary:configJSON];
9198
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
92-
[nodesManager updateAnimatedNodeConfig:[NSNumber numberWithDouble:tag] config:config];
99+
[nodesManager updateAnimatedNodeConfig:@(tag) config:config];
93100
}];
94101
}
95102

96-
RCT_EXPORT_METHOD(connectAnimatedNodes : (double)parentTag childTag : (double)childTag)
103+
- (void)connectAnimatedNodes:(double)parentTag childTag:(double)childTag
97104
{
98105
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
99-
[nodesManager connectAnimatedNodes:[NSNumber numberWithDouble:parentTag]
100-
childTag:[NSNumber numberWithDouble:childTag]];
106+
[nodesManager connectAnimatedNodes:@(parentTag) childTag:@(childTag)];
101107
}];
102108
}
103109

104-
RCT_EXPORT_METHOD(disconnectAnimatedNodes : (double)parentTag childTag : (double)childTag)
110+
- (void)disconnectAnimatedNodes:(double)parentTag childTag:(double)childTag
105111
{
106112
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
107-
[nodesManager disconnectAnimatedNodes:[NSNumber numberWithDouble:parentTag]
108-
childTag:[NSNumber numberWithDouble:childTag]];
113+
[nodesManager disconnectAnimatedNodes:@(parentTag) childTag:@(childTag)];
109114
}];
110115
}
111116

112-
RCT_EXPORT_METHOD(
113-
startAnimatingNode : (double)animationId nodeTag : (double)nodeTag config : (NSDictionary<NSString *, id> *)
114-
config endCallback : (RCTResponseSenderBlock)callBack)
117+
- (void)startAnimatingNode:(double)animationId
118+
nodeTag:(double)nodeTag
119+
config:(NSDictionary *)configJSON
120+
endCallback:(RCTResponseSenderBlock)callBack
115121
{
122+
NSDictionary<NSString *, id> *config = [RCTConvert NSDictionary:configJSON];
116123
[self queueFlushedOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
117-
[nodesManager startAnimatingNode:[NSNumber numberWithDouble:animationId]
118-
nodeTag:[NSNumber numberWithDouble:nodeTag]
119-
config:config
120-
endCallback:callBack];
124+
[nodesManager startAnimatingNode:@(animationId) nodeTag:@(nodeTag) config:config endCallback:callBack];
121125
}];
122126
}
123127

124-
RCT_EXPORT_METHOD(stopAnimation : (double)animationId)
128+
- (void)stopAnimation:(double)animationId
125129
{
126130
[self queueFlushedOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
127-
[nodesManager stopAnimation:[NSNumber numberWithDouble:animationId]];
131+
[nodesManager stopAnimation:@(animationId)];
128132
}];
129133
}
130134

131-
RCT_EXPORT_METHOD(setAnimatedNodeValue : (double)nodeTag value : (double)value)
135+
- (void)setAnimatedNodeValue:(double)nodeTag value:(double)value
132136
{
133137
[self queueFlushedOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
134-
[nodesManager setAnimatedNodeValue:[NSNumber numberWithDouble:nodeTag] value:[NSNumber numberWithDouble:value]];
138+
[nodesManager setAnimatedNodeValue:@(nodeTag) value:@(value)];
135139
}];
136140
}
137141

138-
RCT_EXPORT_METHOD(setAnimatedNodeOffset : (double)nodeTag offset : (double)offset)
142+
- (void)setAnimatedNodeOffset:(double)nodeTag offset:(double)offset
139143
{
140144
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
141-
[nodesManager setAnimatedNodeOffset:[NSNumber numberWithDouble:nodeTag] offset:[NSNumber numberWithDouble:offset]];
145+
[nodesManager setAnimatedNodeOffset:@(nodeTag) offset:@(offset)];
142146
}];
143147
}
144148

145-
RCT_EXPORT_METHOD(flattenAnimatedNodeOffset : (double)nodeTag)
149+
- (void)flattenAnimatedNodeOffset:(double)nodeTag
146150
{
147151
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
148-
[nodesManager flattenAnimatedNodeOffset:[NSNumber numberWithDouble:nodeTag]];
152+
[nodesManager flattenAnimatedNodeOffset:@(nodeTag)];
149153
}];
150154
}
151155

152-
RCT_EXPORT_METHOD(extractAnimatedNodeOffset : (double)nodeTag)
156+
- (void)extractAnimatedNodeOffset:(double)nodeTag
153157
{
154158
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
155-
[nodesManager extractAnimatedNodeOffset:[NSNumber numberWithDouble:nodeTag]];
159+
[nodesManager extractAnimatedNodeOffset:@(nodeTag)];
156160
}];
157161
}
158162

159-
RCT_EXPORT_METHOD(connectAnimatedNodeToView : (double)nodeTag viewTag : (double)viewTag)
163+
- (void)connectAnimatedNodeToView:(double)nodeTag viewTag:(double)viewTag
160164
{
161165
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
162166
// viewName is not used when node is managed by Fabric, and nodes are always managed by Fabric in Bridgeless.
163-
[nodesManager connectAnimatedNodeToView:[NSNumber numberWithDouble:nodeTag]
164-
viewTag:[NSNumber numberWithDouble:viewTag]
165-
viewName:nil];
167+
[nodesManager connectAnimatedNodeToView:@(nodeTag) viewTag:@(viewTag) viewName:nil];
166168
}];
167169
}
168170

169-
RCT_EXPORT_METHOD(connectAnimatedNodeToShadowNodeFamily : (double)nodeTag shadowNode : (NSDictionary *)shadowNode)
171+
- (void)connectAnimatedNodeToShadowNodeFamily:(double)nodeTag shadowNode:(NSDictionary *)shadowNode
170172
{
171173
// This method should only be called when using CxxNativeAnimated
172174
react_native_assert(false);
173175
}
174176

175-
RCT_EXPORT_METHOD(disconnectAnimatedNodeFromView : (double)nodeTag viewTag : (double)viewTag)
177+
- (void)disconnectAnimatedNodeFromView:(double)nodeTag viewTag:(double)viewTag
176178
{
177179
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
178-
[nodesManager disconnectAnimatedNodeFromView:[NSNumber numberWithDouble:nodeTag]
179-
viewTag:[NSNumber numberWithDouble:viewTag]];
180+
[nodesManager disconnectAnimatedNodeFromView:@(nodeTag) viewTag:@(viewTag)];
180181
}];
181182
}
182183

183-
RCT_EXPORT_METHOD(restoreDefaultValues : (double)nodeTag)
184+
- (void)restoreDefaultValues:(double)nodeTag
184185
{
185186
[self queuePreOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
186-
[nodesManager restoreDefaultValues:[NSNumber numberWithDouble:nodeTag]];
187+
[nodesManager restoreDefaultValues:@(nodeTag)];
187188
}];
188189
}
189190

190-
RCT_EXPORT_METHOD(dropAnimatedNode : (double)tag)
191+
- (void)dropAnimatedNode:(double)tag
191192
{
192193
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
193-
[nodesManager dropAnimatedNode:[NSNumber numberWithDouble:tag]];
194+
[nodesManager dropAnimatedNode:@(tag)];
194195
}];
195196
}
196197

197-
RCT_EXPORT_METHOD(startListeningToAnimatedNodeValue : (double)tag)
198+
- (void)startListeningToAnimatedNodeValue:(double)tag
198199
{
199200
__weak id<RCTValueAnimatedNodeObserver> valueObserver = self;
200201
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
201-
[nodesManager startListeningToAnimatedNodeValue:[NSNumber numberWithDouble:tag] valueObserver:valueObserver];
202+
[nodesManager startListeningToAnimatedNodeValue:@(tag) valueObserver:valueObserver];
202203
}];
203204
}
204205

205-
RCT_EXPORT_METHOD(stopListeningToAnimatedNodeValue : (double)tag)
206+
- (void)stopListeningToAnimatedNodeValue:(double)tag
206207
{
207208
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
208-
[nodesManager stopListeningToAnimatedNodeValue:[NSNumber numberWithDouble:tag]];
209+
[nodesManager stopListeningToAnimatedNodeValue:@(tag)];
209210
}];
210211
}
211212

212-
RCT_EXPORT_METHOD(
213-
addAnimatedEventToView : (double)viewTag eventName : (nonnull NSString *)
214-
eventName eventMapping : (JS::NativeAnimatedModule::EventMapping &)eventMapping)
213+
- (void)addAnimatedEventToView:(double)viewTag
214+
eventName:(nonnull NSString *)eventName
215+
eventMapping:(JS::NativeAnimatedModule::EventMapping &)eventMapping
215216
{
216217
NSMutableDictionary *eventMappingDict = [NSMutableDictionary new];
217218
eventMappingDict[@"nativeEventPath"] = RCTConvertVecToArray(eventMapping.nativeEventPath());
@@ -221,31 +222,27 @@ - (void)setSurfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter
221222
}
222223

223224
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
224-
[nodesManager addAnimatedEventToView:[NSNumber numberWithDouble:viewTag]
225-
eventName:eventName
226-
eventMapping:eventMappingDict];
225+
[nodesManager addAnimatedEventToView:@(viewTag) eventName:eventName eventMapping:eventMappingDict];
227226
}];
228227
}
229228

230-
RCT_EXPORT_METHOD(
231-
removeAnimatedEventFromView : (double)viewTag eventName : (nonnull NSString *)eventName animatedNodeTag : (double)
232-
animatedNodeTag)
229+
- (void)removeAnimatedEventFromView:(double)viewTag
230+
eventName:(nonnull NSString *)eventName
231+
animatedNodeTag:(double)animatedNodeTag
233232
{
234233
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
235-
[nodesManager removeAnimatedEventFromView:[NSNumber numberWithDouble:viewTag]
236-
eventName:eventName
237-
animatedNodeTag:[NSNumber numberWithDouble:animatedNodeTag]];
234+
[nodesManager removeAnimatedEventFromView:@(viewTag) eventName:eventName animatedNodeTag:@(animatedNodeTag)];
238235
}];
239236
}
240237

241-
RCT_EXPORT_METHOD(getValue : (double)nodeTag saveValueCallback : (RCTResponseSenderBlock)saveValueCallback)
238+
- (void)getValue:(double)nodeTag saveValueCallback:(RCTResponseSenderBlock)saveValueCallback
242239
{
243240
[self queueOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
244-
[nodesManager getValue:[NSNumber numberWithDouble:nodeTag] saveCallback:saveValueCallback];
241+
[nodesManager getValue:@(nodeTag) saveCallback:saveValueCallback];
245242
}];
246243
}
247244

248-
RCT_EXPORT_METHOD(queueAndExecuteBatchedOperations : (NSArray *)operationsAndArgs)
245+
- (void)queueAndExecuteBatchedOperations:(NSArray *)operationsAndArgs
249246
{
250247
// TODO: implement in the future if we want the same optimization here as on Android
251248
}

0 commit comments

Comments
 (0)