Add project files.

This commit is contained in:
ahjephson
2024-04-22 14:15:07 +01:00
parent ce7b627fa9
commit f9847c60f5
166 changed files with 14345 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
using System.Text.Json;
using System.Text.Json.Serialization;
namespace Lantean.QBitTorrentClient.Converters
{
internal class CommaSeparatedJsonConverter : JsonConverter<IReadOnlyList<string>>
{
public override IReadOnlyList<string>? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType != JsonTokenType.String)
{
throw new JsonException("Must be of type string.");
}
List<string> list;
var value = reader.GetString();
if (value is null)
{
list = [];
}
else
{
var values = value.Split(',');
list = [.. values];
}
return list.AsReadOnly();
}
public override void Write(Utf8JsonWriter writer, IReadOnlyList<string> value, JsonSerializerOptions options)
{
var output = string.Join(',', value);
writer.WriteStringValue(output);
}
}
}