int dump_recipe()

in src/native/tools/dumpdiff/dumpdiff.cpp [145:201]


int dump_recipe(Json::Value &recipe, std::ostream &ostream, Json::StreamWriter *writer)
{
	auto members = recipe.getMemberNames();
	std::set<std::string> member_set(members.begin(), members.end());

	bool first = true;

	ostream << "{";

	if (member_set.contains("Name"))
	{
		first = false;

		ostream << "\"Name\":";
		writer->write(recipe["Name"], &ostream);
	}

	if (member_set.contains("Result"))
	{
		if (!first)
		{
			ostream << ",";
		}
		first = false;

		ostream << "\"Result\":";
		writer->write(recipe["Result"], &ostream);
	}

	if (member_set.contains("NumberIngredients"))
	{
		if (!first)
		{
			ostream << ",";
		}
		first = false;

		ostream << "\"NumberIngredients\":";
		writer->write(recipe["NumberIngredients"], &ostream);
	}

	if (member_set.contains("ItemIngredients"))
	{
		if (!first)
		{
			ostream << ",";
		}
		first = false;

		ostream << "\"ItemIngredients\":";
		writer->write(recipe["ItemIngredients"], &ostream);
	}

	ostream << "}";

	return 0;
}