#pragma once

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

namespace ehs
{
	enum class JsonType
	{
		NULLOBJ,
		OBJ,
		ARRAY,
		BOOL,
		NUM,
		STR
	};

	class JsonBase
	{
	private:
		JsonType type;

	public:
		JsonBase();

		JsonBase(const JsonType type);

		JsonBase(const JsonBase& base) = default;

		JsonType GetType() const;

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