#pragma once

#include "ehs/EHS.h"
#include "ehs/Str.h"

#include "JsonBase.h"

namespace ehs
{
	class EHS_LIB_IO JsonStr final : public JsonBase
	{
	public:
		Str_8 value;

		JsonStr();

		JsonStr(Str_8 value);

		JsonStr(const Char_8 *value, UInt_64 size = 0);

		JsonStr(JsonStr &&js) noexcept;

		JsonStr(const JsonStr &js) = default;

		JsonStr& operator=(JsonStr &&js) noexcept;

		operator Str_8() const;

		operator Str_8 &();

		Str_8 ToStr(UInt_64 level, bool compact) const override;
	};
}