Browse Source

Improve the `GuildFeatures` converter (#311)

pull/1958/head
d4n GitHub 3 years ago
parent
commit
9d9c8ad3c7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 18 deletions
  1. +3
    -18
      src/Discord.Net.Rest/Net/Converters/GuildFeaturesConverter.cs

+ 3
- 18
src/Discord.Net.Rest/Net/Converters/GuildFeaturesConverter.cs View File

@@ -2,10 +2,6 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace Discord.Net.Converters
{
@@ -18,9 +14,6 @@ namespace Discord.Net.Converters
public override bool CanWrite => false;
public override bool CanRead => true;


private Regex _readRegex = new Regex(@"_(\w)");

public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
var obj = JToken.Load(reader);
@@ -31,20 +24,11 @@ namespace Discord.Net.Converters

foreach(var item in arr)
{
var name = _readRegex.Replace(item.ToLower(), (x) =>
if (Enum.TryParse<GuildFeature>(string.Concat(item.Split('_')), true, out var result))
{
return x.Groups[1].Value.ToUpper();
});

name = name[0].ToString().ToUpper() + new string(name.Skip(1).ToArray());

try
{
var result = (GuildFeature)Enum.Parse(typeof(GuildFeature), name);

features |= result;
}
catch
else
{
experimental.Add(item);
}
@@ -52,6 +36,7 @@ namespace Discord.Net.Converters

return new GuildFeatures(features, experimental.ToArray());
}

public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
throw new NotImplementedException();


Loading…
Cancel
Save