Use JsonExtensions package

This commit is contained in:
Tyrrrz 2020-11-29 00:17:58 +02:00
parent 9df98b0405
commit d72fe594b4
18 changed files with 18 additions and 58 deletions

View file

@ -9,6 +9,8 @@ using DiscordChatExporter.Domain.Discord.Models;
using DiscordChatExporter.Domain.Exceptions;
using DiscordChatExporter.Domain.Internal;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Http;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord
{
@ -52,7 +54,7 @@ namespace DiscordChatExporter.Domain.Discord
};
}
return await response.Content.ReadAsJsonAsync();
return await response.Content.ReadAsJsonAsync(default);
}
private async ValueTask<JsonElement?> TryGetJsonResponseAsync(string url)
@ -60,7 +62,7 @@ namespace DiscordChatExporter.Domain.Discord
using var response = await GetResponseAsync(url);
return response.IsSuccessStatusCode
? await response.Content.ReadAsJsonAsync()
? await response.Content.ReadAsJsonAsync(default)
: (JsonElement?) null;
}

View file

@ -4,6 +4,7 @@ using System.IO;
using System.Text.Json;
using DiscordChatExporter.Domain.Discord.Models.Common;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -1,7 +1,7 @@
using System.Linq;
using System.Text.Json;
using DiscordChatExporter.Domain.Discord.Models.Common;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
using Tyrrrz.Extensions;
namespace DiscordChatExporter.Domain.Discord.Models

View file

@ -4,6 +4,7 @@ using System.Drawing;
using System.Linq;
using System.Text.Json;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -1,5 +1,5 @@
using System.Text.Json;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -1,5 +1,5 @@
using System.Text.Json;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -1,5 +1,5 @@
using System.Text.Json;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -1,5 +1,5 @@
using System.Text.Json;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -2,7 +2,7 @@
using System.Linq;
using System.Text;
using System.Text.Json;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
using Tyrrrz.Extensions;
namespace DiscordChatExporter.Domain.Discord.Models

View file

@ -4,6 +4,7 @@ using System.Linq;
using System.Text.Json;
using DiscordChatExporter.Domain.Discord.Models.Common;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -4,6 +4,7 @@ using System.Linq;
using System.Text.Json;
using DiscordChatExporter.Domain.Discord.Models.Common;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -1,6 +1,7 @@
using System.Drawing;
using System.Text.Json;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -2,6 +2,7 @@
using System.Text.Json;
using DiscordChatExporter.Domain.Discord.Models.Common;
using DiscordChatExporter.Domain.Internal.Extensions;
using JsonExtensions.Reading;
namespace DiscordChatExporter.Domain.Discord.Models
{

View file

@ -2,6 +2,7 @@
<Import Project="../DiscordChatExporter.props" />
<ItemGroup>
<PackageReference Include="JsonExtensions" Version="1.0.0" />
<PackageReference Include="MiniRazor" Version="1.1.0" />
<PackageReference Include="Polly" Version="7.2.1" />
<PackageReference Include="Tyrrrz.Extensions" Version="1.6.5" />

View file

@ -4,7 +4,7 @@ using System.Threading.Tasks;
using DiscordChatExporter.Domain.Discord.Models;
using DiscordChatExporter.Domain.Exporting.Writers.MarkdownVisitors;
using DiscordChatExporter.Domain.Internal.Extensions;
using DiscordChatExporter.Domain.Markdown.Ast;
using JsonExtensions.Writing;
namespace DiscordChatExporter.Domain.Exporting.Writers
{

View file

@ -1,6 +1,5 @@
using System.IO;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
namespace DiscordChatExporter.Domain.Internal.Extensions
@ -15,13 +14,5 @@ namespace DiscordChatExporter.Domain.Internal.Extensions
await input.CopyToAsync(output);
await output.DisposeAsync();
}
public static async ValueTask<JsonElement> ReadAsJsonAsync(this HttpContent content)
{
await using var stream = await content.ReadAsStreamAsync();
using var doc = await JsonDocument.ParseAsync(stream);
return doc.RootElement.Clone();
}
}
}

View file

@ -1,12 +0,0 @@
using System.Text.Json;
namespace DiscordChatExporter.Domain.Internal.Extensions
{
internal static class JsonElementExtensions
{
public static JsonElement? GetPropertyOrNull(this JsonElement element, string propertyName) =>
element.TryGetProperty(propertyName, out var result) && result.ValueKind != JsonValueKind.Null
? result
: (JsonElement?) null;
}
}

View file

@ -1,28 +0,0 @@
using System;
using System.Text.Json;
namespace DiscordChatExporter.Domain.Internal.Extensions
{
internal static class Utf8JsonWriterExtensions
{
public static void WriteString(this Utf8JsonWriter writer, string propertyName, DateTimeOffset? value)
{
writer.WritePropertyName(propertyName);
if (value != null)
writer.WriteStringValue(value.Value);
else
writer.WriteNullValue();
}
public static void WriteNumber(this Utf8JsonWriter writer, string propertyName, int? value)
{
writer.WritePropertyName(propertyName);
if (value != null)
writer.WriteNumberValue(value.Value);
else
writer.WriteNullValue();
}
}
}