#pragma once

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

#include "JsonBase.h"

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

		JsonNum();

		JsonNum(SInt_64 value);

		JsonNum(UInt_64 value);

		JsonNum(SInt_32 value);

		JsonNum(UInt_32 value);

		JsonNum(SInt_16 value);

		JsonNum(UInt_16 value);

		JsonNum(SInt_8 value);

		JsonNum(UInt_8 value);

		JsonNum(double value);

		JsonNum(float value);

		JsonNum(const JsonNum& jn) = default;

		operator float() const;

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