Add project files.

This commit is contained in:
k0t9i
2023-01-16 15:33:32 +04:00
parent 0f6fb75cff
commit 3c20df7683
130 changed files with 7756 additions and 0 deletions

View File

@ -0,0 +1,39 @@
#pragma once
#include "Domain/Serializers/SerializerInterface.h"
#include "Domain/Serializers/Node.h"
using namespace L2Bot::Domain;
class JsonSerializer : public Serializers::SerializerInterface
{
public:
const std::string Serialize(std::vector<Serializers::Node> nodes, const bool isArray = false) const override
{
std::string result = isArray ? "[" : "{";
for (auto it = nodes.begin(); it != nodes.end(); ++it)
{
if (!isArray)
{
result += "\"" + it->name + "\":";
}
if (it->isContainer)
{
result += Serialize(it->children, it->isArray);
}
else
{
result += "\"" + it->value + "\"";
}
if (std::next(it) != nodes.end())
{
result += ",";
}
}
result += isArray ? "]" : "}";
return result;
}
};