25 lines
No EOL
599 B
C#
25 lines
No EOL
599 B
C#
#nullable disable
|
|
using YamlDotNet.Core;
|
|
using YamlDotNet.Core.Events;
|
|
using YamlDotNet.Serialization;
|
|
|
|
namespace EllieBot.Common.Yml;
|
|
|
|
public class UriConverter : IYamlTypeConverter
|
|
{
|
|
public bool Accepts(Type type)
|
|
=> type == typeof(Uri);
|
|
|
|
public object ReadYaml(IParser parser, Type type)
|
|
{
|
|
var scalar = parser.Consume<Scalar>();
|
|
var result = new Uri(scalar.Value);
|
|
return result;
|
|
}
|
|
|
|
public void WriteYaml(IEmitter emitter, object value, Type type)
|
|
{
|
|
var uri = (Uri)value;
|
|
emitter.Emit(new Scalar(uri.ToString()));
|
|
}
|
|
} |