2022-03-23 16:25:20 -07:00
|
|
|
using YamlDotNet.Core;
|
|
|
|
|
using YamlDotNet.Serialization;
|
|
|
|
|
|
|
|
|
|
namespace k8s.Models
|
|
|
|
|
{
|
|
|
|
|
public class ResourceQuantityYamlConverter : IYamlTypeConverter
|
|
|
|
|
{
|
|
|
|
|
public bool Accepts(Type type)
|
|
|
|
|
{
|
|
|
|
|
return type == typeof(ResourceQuantity);
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-11 13:21:59 -07:00
|
|
|
public object ReadYaml(IParser parser, Type type, ObjectDeserializer rootDeserializer)
|
2022-03-23 16:25:20 -07:00
|
|
|
{
|
|
|
|
|
if (parser?.Current is YamlDotNet.Core.Events.Scalar scalar)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(scalar?.Value))
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-22 14:20:13 -07:00
|
|
|
return scalar?.Value;
|
2022-03-23 16:25:20 -07:00
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
parser?.MoveNext();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
throw new InvalidOperationException(parser?.Current?.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-11 13:21:59 -07:00
|
|
|
public void WriteYaml(IEmitter emitter, object value, Type type, ObjectSerializer serializer)
|
2022-03-23 16:25:20 -07:00
|
|
|
{
|
|
|
|
|
var obj = (ResourceQuantity)value;
|
2025-10-15 08:59:35 -07:00
|
|
|
emitter?.Emit(new YamlDotNet.Core.Events.Scalar(obj?.ToString()));
|
2022-03-23 16:25:20 -07:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|