Skip to content

Commit

Permalink
Fix nullability checks in .net deserializers
Browse files Browse the repository at this point in the history
  • Loading branch information
vkagamlyk committed May 21, 2024
1 parent 1fa67c2 commit 1a69401
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,26 +31,26 @@ internal class EdgeDeserializer : IGraphSONDeserializer
public dynamic Objectify(JsonElement graphsonObject, GraphSONReader reader)
{
var outVId = reader.ToObject(graphsonObject.GetProperty("outV"));
var outVLabel = graphsonObject.TryGetProperty("outVLabel", out var outVLabelProperty)
? outVLabelProperty.GetString()
string outVLabel = graphsonObject.TryGetProperty("outVLabel", out var outVLabelProperty)
? outVLabelProperty.GetString()!
: Vertex.DefaultLabel;
var outV = new Vertex(outVId, outVLabel);
var inVId = reader.ToObject(graphsonObject.GetProperty("inV"));
var inVLabel = graphsonObject.TryGetProperty("inVLabel", out var inVLabelProperty)
? inVLabelProperty.GetString()
string inVLabel = graphsonObject.TryGetProperty("inVLabel", out var inVLabelProperty)
? inVLabelProperty.GetString()!
: Vertex.DefaultLabel;
var inV = new Vertex(inVId, inVLabel);
var edgeId = reader.ToObject(graphsonObject.GetProperty("id"));
var edgeLabel = graphsonObject.TryGetProperty("label", out var labelProperty)
? labelProperty.GetString()
string edgeLabel = graphsonObject.TryGetProperty("label", out var labelProperty)
? labelProperty.GetString()!
: "edge";

dynamic?[]? properties = null;
dynamic[]? properties = null;
if (graphsonObject.TryGetProperty("properties", out var propertiesObject)
&& propertiesObject.ValueKind == JsonValueKind.Object)
{
properties = propertiesObject.EnumerateObject()
.Select(p => reader.ToObject(p.Value)).ToArray();
.Select(p => reader.ToObject(p.Value)!).ToArray();
}

return new Edge(edgeId, outV, edgeLabel, inV, properties);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ internal class PropertyDeserializer : IGraphSONDeserializer
{
public dynamic Objectify(JsonElement graphsonObject, GraphSONReader reader)
{
var key = graphsonObject.GetProperty("key").GetString();
string key = graphsonObject.GetProperty("key").GetString()!;
var value = reader.ToObject(graphsonObject.GetProperty("value"));
var element = graphsonObject.TryGetProperty("element", out var elementProperty)
? reader.ToObject(elementProperty)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ internal class VertexDeserializer : IGraphSONDeserializer
public dynamic Objectify(JsonElement graphsonObject, GraphSONReader reader)
{
var id = reader.ToObject(graphsonObject.GetProperty("id"));
var label = graphsonObject.TryGetProperty("label", out var labelProperty)
? labelProperty.GetString()
string label = graphsonObject.TryGetProperty("label", out var labelProperty)
? labelProperty.GetString()!
: Vertex.DefaultLabel;

dynamic?[]? properties = null;
dynamic[]? properties = null;
if (graphsonObject.TryGetProperty("properties", out var propertiesObject)
&& propertiesObject.ValueKind == JsonValueKind.Object)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ internal class VertexPropertyDeserializer : IGraphSONDeserializer
public dynamic Objectify(JsonElement graphsonObject, GraphSONReader reader)
{
var id = reader.ToObject(graphsonObject.GetProperty("id"));
var label = graphsonObject.GetProperty("label").GetString();
string label = graphsonObject.GetProperty("label").GetString()!;
var value = reader.ToObject(graphsonObject.GetProperty("value"));
var vertex = graphsonObject.TryGetProperty("vertex", out var vertexProperty)
? new Vertex(reader.ToObject(vertexProperty))
: null;

dynamic?[]? properties = null;
Property[]? properties = null;
if (graphsonObject.TryGetProperty("properties", out var propertiesObject)
&& propertiesObject.ValueKind == JsonValueKind.Object)
{
Expand Down

0 comments on commit 1a69401

Please sign in to comment.