mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
9864586b21
Summary: A follow up to D38708718 (https://github.com/facebook/react-native/commit/403fea25f65a38f4b4d8e0edcf89741b29e62059) review, this factors feature flags for Fabric core code into a separate file, `CoreFeatures`. Keeping them together is arguably better for maintenance and makes code easier to reason about. Changelog: [Internal] Reviewed By: sammy-SC Differential Revision: D40007784 fbshipit-source-id: 1885d5d6200575c6015f063d8b05813b18b47ffb
55 lines
1.5 KiB
C++
55 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 "PropsMapBuffer.h"
|
|
|
|
#include <folly/dynamic.h>
|
|
#include <react/renderer/core/CoreFeatures.h>
|
|
#include <react/renderer/core/propsConversions.h>
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
Props::Props(
|
|
const PropsParserContext &context,
|
|
const Props &sourceProps,
|
|
const RawProps &rawProps,
|
|
const bool shouldSetRawProps)
|
|
: nativeId(
|
|
CoreFeatures::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
|