Skip to content

Commit 9abbe00

Browse files
dependabot[bot]mergify[bot]
authored andcommitted
Bump YamlDotNet from 11.1.0 to 11.1.1
Bumps [YamlDotNet](https://github.com/aaubry/YamlDotNet) from 11.1.0 to 11.1.1. - [Release notes](https://github.com/aaubry/YamlDotNet/releases) - [Commits](aaubry/YamlDotNet@v11.1.0...v11.1.1) Signed-off-by: dependabot[bot] <[email protected]>
1 parent 8de03d4 commit 9abbe00

File tree

2 files changed

+1
-67
lines changed

2 files changed

+1
-67
lines changed

src/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<PackageVersion_LibGit2Sharp_NativeBinaries>2.0.312</PackageVersion_LibGit2Sharp_NativeBinaries>
2626

2727
<PackageVersion_JetBrainsAnnotations>2021.1.0</PackageVersion_JetBrainsAnnotations>
28-
<PackageVersion_YamlDotNet>11.1.0</PackageVersion_YamlDotNet>
28+
<PackageVersion_YamlDotNet>11.1.1</PackageVersion_YamlDotNet>
2929
<PackageVersion_MicrosoftExtensions>5.0.0</PackageVersion_MicrosoftExtensions>
3030
<PackageVersion_MicrosoftJson>5.0.0</PackageVersion_MicrosoftJson>
3131
<PackageVersion_MicrosoftTextEncoding>5.0.0</PackageVersion_MicrosoftTextEncoding>
Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
using System;
21
using System.IO;
32
using GitVersion.Model.Configuration;
4-
using YamlDotNet.Core;
5-
using YamlDotNet.Core.Events;
63
using YamlDotNet.Serialization;
74
using YamlDotNet.Serialization.NamingConventions;
85

@@ -14,7 +11,6 @@ public static Config Read(TextReader reader)
1411
{
1512
var deserializer = new DeserializerBuilder()
1613
.WithNamingConvention(HyphenatedNamingConvention.Instance)
17-
.WithTypeConverter(new YamlNullableEnumTypeConverter())
1814
.Build();
1915
var deserialize = deserializer.Deserialize<Config>(reader);
2016
return deserialize ?? new Config();
@@ -25,70 +21,8 @@ public static void Write(Config config, TextWriter writer)
2521
var serializer = new SerializerBuilder()
2622
.ConfigureDefaultValuesHandling(DefaultValuesHandling.OmitDefaults)
2723
.WithNamingConvention(HyphenatedNamingConvention.Instance)
28-
.WithTypeConverter(new YamlNullableEnumTypeConverter())
2924
.Build();
3025
serializer.Serialize(writer, config);
3126
}
3227
}
33-
34-
public class YamlNullableEnumTypeConverter : IYamlTypeConverter
35-
{
36-
public bool Accepts(Type type)
37-
{
38-
return Nullable.GetUnderlyingType(type)?.IsEnum ?? false;
39-
}
40-
41-
public object ReadYaml(IParser parser, Type type)
42-
{
43-
type = Nullable.GetUnderlyingType(type) ?? throw new ArgumentException("Expected nullable enum type for ReadYaml");
44-
45-
if (parser.Accept<NodeEvent>(out var @event))
46-
{
47-
if (NodeIsNull(@event))
48-
{
49-
parser.SkipThisAndNestedEvents();
50-
return null;
51-
}
52-
}
53-
54-
var scalar = parser.Consume<Scalar>();
55-
try
56-
{
57-
return Enum.Parse(type, scalar.Value, ignoreCase: true);
58-
}
59-
catch (Exception ex)
60-
{
61-
throw new Exception($"Invalid value: \"{scalar.Value}\" for {type.Name}", ex);
62-
}
63-
}
64-
65-
public void WriteYaml(IEmitter emitter, object value, Type type)
66-
{
67-
type = Nullable.GetUnderlyingType(type) ?? throw new ArgumentException("Expected nullable enum type for WriteYaml");
68-
69-
if (value != null)
70-
{
71-
var toWrite = Enum.GetName(type, value) ?? throw new InvalidOperationException($"Invalid value {value} for enum: {type}");
72-
emitter.Emit(new Scalar(null, null, toWrite, ScalarStyle.Any, true, false));
73-
}
74-
}
75-
76-
private static bool NodeIsNull(NodeEvent nodeEvent)
77-
{
78-
// http://yaml.org/type/null.html
79-
80-
if (nodeEvent.Tag == "tag:yaml.org,2002:null")
81-
{
82-
return true;
83-
}
84-
85-
if (nodeEvent is Scalar scalar && scalar.Style == ScalarStyle.Plain)
86-
{
87-
var value = scalar.Value;
88-
return value is "" or "~" or "null" or "Null" or "NULL";
89-
}
90-
91-
return false;
92-
}
93-
}
9428
}

0 commit comments

Comments
 (0)