Skip to content

Commit 5c394f0

Browse files
Merge pull request #89 from Ard2025/master
prevent the encounter of endarray to incorrectly throw an exception
2 parents 136ab7a + c3220f5 commit 5c394f0

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

Magic.IndexedDb/Models/MagicContractResolver.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ internal class MagicContractResolver<T> : JsonConverter<T>
1616
{
1717
public override T? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
1818
{
19+
// ✅ Return default(T) if null is encountered
1920
if (reader.TokenType == JsonTokenType.Null)
20-
return default; // ✅ Return default(T) if null is encountered
21+
{
22+
return default;
23+
}
2124

2225
// ✅ Handle primitive types before assuming it's complex
2326
if (PropertyMappingCache.IsSimpleType(typeToConvert))
@@ -54,6 +57,12 @@ internal class MagicContractResolver<T> : JsonConverter<T>
5457
return (T?)ReadComplexObject(ref reader, typeToConvert, options);
5558
}
5659

60+
// ✅ Return default(T) if EndArray is encountered
61+
if (reader.TokenType == JsonTokenType.EndArray)
62+
{
63+
return default;
64+
}
65+
5766
throw new JsonException($"Unexpected JSON token: {reader.TokenType} when deserializing {typeToConvert.Name}.");
5867
}
5968

0 commit comments

Comments
 (0)