/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm
62 строки
2 KB
generatedunixname89002005287564
Fix CQS signal readability-implicit-bool-conversion in xplat/js/react-native-github/packages (#53596)
04 сен 2025, 13:56
04 сен 2025, 13:56
95b187b
Код
Авторство
О чём код?
/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import <React/RCTAnimationUtils.h> #import <React/RCTColorAnimatedNode.h> #import <React/RCTObjectAnimatedNode.h> #import <React/RCTStyleAnimatedNode.h> #import <React/RCTTransformAnimatedNode.h> #import <React/RCTValueAnimatedNode.h> @implementation RCTStyleAnimatedNode { NSMutableDictionary<NSString *, NSObject *> *_propsDictionary; } - (instancetype)initWithTag:(NSNumber *)tag config:(NSDictionary<NSString *, id> *)config { if ((self = [super initWithTag:tag config:config]) != nullptr) { _propsDictionary = [NSMutableDictionary new]; } return self; } - (NSDictionary *)propsDictionary { return _propsDictionary; } - (void)performUpdate { [super performUpdate]; NSDictionary<NSString *, NSNumber *> *style = self.config[@"style"]; [style enumerateKeysAndObjectsUsingBlock:^(NSString *property, NSNumber *nodeTag, __unused BOOL *stop) { RCTAnimatedNode *node = [self.parentNodes objectForKey:nodeTag]; if (node != nullptr) { if ([node isKindOfClass:[RCTValueAnimatedNode class]]) { RCTValueAnimatedNode *valueAnimatedNode = (RCTValueAnimatedNode *)node; id animatedObject = valueAnimatedNode.animatedObject; if (animatedObject != nullptr) { _propsDictionary[property] = animatedObject; } else { _propsDictionary[property] = @(valueAnimatedNode.value); } } else if ([node isKindOfClass:[RCTTransformAnimatedNode class]]) { RCTTransformAnimatedNode *transformAnimatedNode = (RCTTransformAnimatedNode *)node; [_propsDictionary addEntriesFromDictionary:transformAnimatedNode.propsDictionary]; } else if ([node isKindOfClass:[RCTColorAnimatedNode class]]) { RCTColorAnimatedNode *colorAnimatedNode = (RCTColorAnimatedNode *)node; _propsDictionary[property] = @(colorAnimatedNode.color); } else if ([node isKindOfClass:[RCTObjectAnimatedNode class]]) { RCTObjectAnimatedNode *objectAnimatedNode = (RCTObjectAnimatedNode *)node; _propsDictionary[property] = objectAnimatedNode.value; } } }]; } @end