in src/JetBrains.Space.Common/Json.Serialization/Internal/NullableDateTimeConverter.cs [16:55]
public override DateTime? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType == JsonTokenType.Null)
{
return null;
}
if (reader.TokenType != JsonTokenType.StartObject)
{
throw new JsonException();
}
DateTime returnValue = default;
while (reader.Read())
{
if (reader.TokenType == JsonTokenType.PropertyName)
{
var propertyName = reader.GetString();
if (propertyName != null && propertyName.Equals("iso", StringComparison.OrdinalIgnoreCase))
{
reader.Read();
var iso = reader.GetString();
if (!string.IsNullOrEmpty(iso) && DateTime.TryParseExact(
iso, _expectedDateTimeFormat, CultureInfo.InvariantCulture.DateTimeFormat,
DateTimeStyles.AdjustToUniversal, out var dateTime))
{
returnValue = dateTime;
}
}
}
if (reader.TokenType == JsonTokenType.EndObject)
{
return returnValue;
}
}
throw new JsonException();
}