Protocol/PacketWriter.cs

Utility for serializing APPacket instances to JSON. It exposes Write methods to serialize a single packet as a single-element JSON array and to serialize an enumerable of APPacket into a JSON array, using System.Text.Json with default options.

Networking
using System.Linq;
using System.Text.Json;
using System.Collections.Generic;

namespace APLib.Protocol;

public static class PacketWriter
{
	private static readonly JsonSerializerOptions _serializerOptions = new();
	
	public static string Write( APPacket packet )
	{
		return JsonSerializer.Serialize( new object[]
		{
			packet
		}, _serializerOptions );
	}
	
	public static string Write( IEnumerable<APPacket> packets )
	{
		return JsonSerializer.Serialize( packets.Cast<object>().ToArray(), _serializerOptions );
	}
}