mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
403fea25f6
Summary: Instead of having a special flag just for View MapBuffer props, we now use one flag to indicate that MapBuffer should be used for all props; each XShadowNode must set a special trait indicating if that ShadowNode supports MapBuffer props. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D38708718 fbshipit-source-id: b398ec62a0db9c0ff23c0007c5503cf2838c4173
56 lines
1.5 KiB
C++
56 lines
1.5 KiB
C++
/*
|
|
* 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.
|
|
*/
|
|
|
|
#include "Props.h"
|
|
|
|
#include <folly/dynamic.h>
|
|
#include <react/renderer/core/propsConversions.h>
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
bool Props::enablePropIteratorSetter = false;
|
|
bool Props::enableMapBuffer = false;
|
|
|
|
Props::Props(
|
|
const PropsParserContext &context,
|
|
const Props &sourceProps,
|
|
const RawProps &rawProps,
|
|
const bool shouldSetRawProps)
|
|
: nativeId(
|
|
enablePropIteratorSetter ? sourceProps.nativeId
|
|
: convertRawProp(
|
|
context,
|
|
rawProps,
|
|
"nativeID",
|
|
sourceProps.nativeId,
|
|
{})),
|
|
revision(sourceProps.revision + 1)
|
|
#ifdef ANDROID
|
|
,
|
|
rawProps(
|
|
shouldSetRawProps ? (folly::dynamic)rawProps
|
|
: /* null */ folly::dynamic())
|
|
#endif
|
|
{
|
|
}
|
|
|
|
void Props::setProp(
|
|
const PropsParserContext &context,
|
|
RawPropsPropNameHash hash,
|
|
const char * /*propName*/,
|
|
RawValue const &value) {
|
|
switch (hash) {
|
|
case CONSTEXPR_RAW_PROPS_KEY_HASH("nativeID"):
|
|
fromRawValue(context, value, nativeId, {});
|
|
return;
|
|
}
|
|
}
|
|
|
|
} // namespace react
|
|
} // namespace facebook
|