#pragma once

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

#include "JsonBase.h"

namespace ehs
{
	class JsonNum : public JsonBase
	{
	public:
		float value;

		JsonNum();

		JsonNum(const SInt_64 value);

		JsonNum(const UInt_64 value);

		JsonNum(const SInt_32 value);

		JsonNum(const UInt_32 value);

		JsonNum(const SInt_16 value);

		JsonNum(const UInt_16 value);

		JsonNum(const SInt_8 value);

		JsonNum(const UInt_8 value);

		JsonNum(const double value);

		JsonNum(const float value);

		JsonNum(const JsonNum& jn) = default;

		operator float() const;

		operator float&();

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