60 lines
1.4 KiB
C++
60 lines
1.4 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 "RawTextProps.h"
|
|
|
|
#include <react/renderer/core/propsConversions.h>
|
|
#include <react/renderer/debug/debugStringConvertibleUtils.h>
|
|
|
|
namespace facebook::react {
|
|
|
|
RawTextProps::RawTextProps(
|
|
const PropsParserContext& context,
|
|
const RawTextProps& sourceProps,
|
|
const RawProps& rawProps)
|
|
: Props(context, sourceProps, rawProps),
|
|
text(convertRawProp(context, rawProps, "text", sourceProps.text, {})){};
|
|
|
|
#pragma mark - DebugStringConvertible
|
|
|
|
#if RN_DEBUG_STRING_CONVERTIBLE
|
|
SharedDebugStringConvertibleList RawTextProps::getDebugProps() const {
|
|
return SharedDebugStringConvertibleList{
|
|
debugStringConvertibleItem("text", text)};
|
|
}
|
|
#endif
|
|
|
|
#ifdef RN_SERIALIZABLE_STATE
|
|
|
|
ComponentName RawTextProps::getDiffPropsImplementationTarget() const {
|
|
return "RawText";
|
|
}
|
|
|
|
folly::dynamic RawTextProps::getDiffProps(const Props* prevProps) const {
|
|
folly::dynamic result = folly::dynamic::object();
|
|
|
|
static const auto defaultProps = RawTextProps();
|
|
|
|
const RawTextProps* oldProps = prevProps == nullptr
|
|
? &defaultProps
|
|
: static_cast<const RawTextProps*>(prevProps);
|
|
|
|
if (this == oldProps) {
|
|
return result;
|
|
}
|
|
|
|
if (text != oldProps->text) {
|
|
result["text"] = text;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
#endif
|
|
|
|
} // namespace facebook::react
|