This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.

48 lines
1.3 KiB
C
Raw Normal View History

2021-04-02 02:24:13 +03:00
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <string>
#include <react/debug/DebugStringConvertible.h>
namespace facebook {
namespace react {
#if RN_DEBUG_STRING_CONVERTIBLE
// Trivial implementation of `DebugStringConvertible` abstract class
// with a stored output; useful for assembling `DebugStringConvertible` values
// in custom implementations of `getDebugChildren` and `getDebugProps`.
class DebugStringConvertibleItem : public DebugStringConvertible {
public:
DebugStringConvertibleItem(const DebugStringConvertibleItem &item) = default;
DebugStringConvertibleItem(
const std::string &name = "",
const std::string &value = "",
const SharedDebugStringConvertibleList &props = {},
const SharedDebugStringConvertibleList &children = {});
std::string getDebugName() const override;
std::string getDebugValue() const override;
SharedDebugStringConvertibleList getDebugChildren() const override;
SharedDebugStringConvertibleList getDebugProps() const override;
private:
std::string name_;
std::string value_;
SharedDebugStringConvertibleList debugProps_;
SharedDebugStringConvertibleList children_;
};
#endif
} // namespace react
} // namespace facebook