Skip to content

Commit

Permalink
Remove ErrorLocation
Browse files Browse the repository at this point in the history
  • Loading branch information
SimonCropp committed Oct 24, 2024
1 parent cb9bacc commit 81517ab
Show file tree
Hide file tree
Showing 23 changed files with 72 additions and 84 deletions.
8 changes: 4 additions & 4 deletions docs/SerializationErrorHandling.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ var c = JsonConvert.DeserializeObject<List<DateTime>>(
""",
new JsonSerializerSettings
{
DeserializeError = (currentObject, originalObject, location, exception, markAsHandled) =>
DeserializeError = (currentObject, originalObject, path, member, exception, markAsHandled) =>
{
errors.Add(exception.Message);
markAsHandled();
Expand Down Expand Up @@ -61,15 +61,15 @@ var errors = new List<string>();

var serializer = new JsonSerializer
{
SerializeError = (currentObject, originalObject, location, exception, markAsHandled) =>
SerializeError = (currentObject, originalObject, path, member, exception, markAsHandled) =>
{
// only log an error once
if (currentObject == originalObject)
{
errors.Add(exception.Message);
}
},
DeserializeError = (currentObject, originalObject, location, exception, markAsHandled) =>
DeserializeError = (currentObject, originalObject, path, member, exception, markAsHandled) =>
{
// only log an error once
if (currentObject == originalObject)
Expand Down Expand Up @@ -115,7 +115,7 @@ public class PersonError :

public string Title { get; set; }

public void OnSerializeError(object originalObject, ErrorLocation location, Exception exception, Action markAsHandled) =>
public void OnSerializeError(object originalObject, string path, object member, Exception exception, Action markAsHandled) =>
markAsHandled();
}
```
Expand Down
2 changes: 1 addition & 1 deletion docs/Serializer/ErrorHandlingAttribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class Employee :

public string Title { get; set; }

public void OnSerializeError(object originalObject, ErrorLocation location, Exception exception, Action markAsHandled) =>
public void OnSerializeError(object originalObject, string path, object member, Exception exception, Action markAsHandled) =>
markAsHandled();
}
```
Expand Down
2 changes: 1 addition & 1 deletion docs/Serializer/ErrorHandlingEvent.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ var c = JsonConvert.DeserializeObject<List<DateTime>>(
""",
new JsonSerializerSettings
{
DeserializeError = (currentObject, originalObject, location, exception, markAsHandled) =>
DeserializeError = (currentObject, originalObject, path, member, exception, markAsHandled) =>
{
errors.Add(exception.Message);
markAsHandled();
Expand Down
2 changes: 1 addition & 1 deletion src/Argon.InterfaceCallbacks/IJsonOnDeserializeError.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ namespace Argon;
/// </summary>
public interface IJsonOnDeserializeError
{
void OnDeserializeError(object? originalObject, ErrorLocation location, Exception exception, Action markAsHanded);
void OnDeserializeError(object? originalObject, string path, object? member, Exception exception, Action markAsHanded);
}
2 changes: 1 addition & 1 deletion src/Argon.InterfaceCallbacks/IJsonOnSerializeError.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ public interface IJsonOnSerializeError
/// <summary>
/// The method that is called on serialization error.
/// </summary>
void OnSerializeError(object? originalObject, ErrorLocation location, Exception exception, Action markAsHanded);
void OnSerializeError(object? originalObject, string path, object? member, Exception exception, Action markAsHanded);
}
8 changes: 4 additions & 4 deletions src/Argon.InterfaceCallbacks/InterfaceCallbacks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ public static class InterfaceCallbacks
{
public static void AddInterfaceCallbacks(this JsonSerializerSettings settings)
{
settings.SerializeError += (currentObject, originalObject, location, exception, handled) =>
settings.SerializeError += (currentObject, originalObject, path, member, exception, handled) =>
{
if (currentObject is IJsonOnSerializeError onError)
{
onError.OnSerializeError(originalObject, location, exception, handled);
onError.OnSerializeError(originalObject, path, member, exception, handled);
}
};
settings.DeserializeError += (currentObject, originalObject, location, exception, handled) =>
settings.DeserializeError += (currentObject, originalObject, path, member, exception, handled) =>
{
if (currentObject is IJsonOnDeserializeError onError)
{
onError.OnDeserializeError(originalObject, location, exception, handled);
onError.OnDeserializeError(originalObject, path, member, exception, handled);
}
};
settings.Serializing += (_, target) =>
Expand Down
14 changes: 0 additions & 14 deletions src/Argon/Callbacks/ErrorLocation.cs

This file was deleted.

2 changes: 1 addition & 1 deletion src/Argon/Callbacks/OnDeserializeError.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
/// <summary>
/// Handles <see cref="JsonSerializer" /> deserialization error callback events.
/// </summary>
public delegate void OnDeserializeError(object? currentObject, object? originalObject, ErrorLocation location, Exception exception, Action markAsHandled);
public delegate void OnDeserializeError(object? currentObject, object? originalObject, string path, object? member, Exception exception, Action markAsHandled);
2 changes: 1 addition & 1 deletion src/Argon/Callbacks/OnSerializeError.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
/// <summary>
/// Handles <see cref="JsonSerializer" /> serialization error callback events.
/// </summary>
public delegate void OnSerializeError(object? currentObject, object? originalObject, ErrorLocation location, Exception exception, Action markAsHandled);
public delegate void OnSerializeError(object? currentObject, object? originalObject, string path, object? member, Exception exception, Action markAsHandled);
3 changes: 2 additions & 1 deletion src/Argon/Serialization/JsonSerializerInternalReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2249,7 +2249,8 @@ protected bool IsDeserializeErrorHandled(object? currentObject, object? member,
.Invoke(
currentObject,
currentDeserializeErrorContext.OriginalObject,
new(path, member),
path,
member,
exception,
() => currentDeserializeErrorContext.Handled = true);
}
Expand Down
3 changes: 2 additions & 1 deletion src/Argon/Serialization/JsonSerializerInternalWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1098,7 +1098,8 @@ protected bool IsSerializeErrorHandled(object? currentObject, object? member, st
.Invoke(
currentObject,
currentSerializeErrorContext.OriginalObject,
new(path, member),
path,
member,
exception,
() => currentSerializeErrorContext.Handled = true);
}
Expand Down
4 changes: 2 additions & 2 deletions src/ArgonTests/Converters/DataTableConverterTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -711,7 +711,7 @@ public override object ReadJson(JsonReader reader, Type type, object existingVal
existingValue ??= CreateTable();

var previousError = serializer.DeserializeError;
serializer.DeserializeError = (_, _, _, _, markAsHandled) => markAsHandled();
serializer.DeserializeError = (_, _, _, _, _, markAsHandled) => markAsHandled();
try
{
return base.ReadJson(reader, type, existingValue, serializer);
Expand All @@ -722,7 +722,7 @@ public override object ReadJson(JsonReader reader, Type type, object existingVal
}
}

public void OnDeserializeError(object originalObject, ErrorLocation location, Exception exception, Action markAsHandled) =>
public void OnDeserializeError(object originalObject, string path, object member, Exception exception, Action markAsHandled) =>
markAsHandled();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public List<string> Roles

public string Title { get; set; }

public void OnSerializeError(object originalObject, ErrorLocation location, Exception exception, Action markAsHandled) =>
public void OnSerializeError(object originalObject, string path, object member, Exception exception, Action markAsHandled) =>
markAsHandled();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public void Example()
""",
new JsonSerializerSettings
{
DeserializeError = (currentObject, originalObject, location, exception, markAsHandled) =>
DeserializeError = (currentObject, originalObject, path, member, exception, markAsHandled) =>
{
errors.Add(exception.Message);
markAsHandled();
Expand Down
8 changes: 4 additions & 4 deletions src/ArgonTests/Documentation/SerializationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ public void SerializationErrorHandling()
""",
new JsonSerializerSettings
{
DeserializeError = (currentObject, originalObject, location, exception, markAsHandled) =>
DeserializeError = (currentObject, originalObject, path, member, exception, markAsHandled) =>
{
errors.Add(exception.Message);
markAsHandled();
Expand Down Expand Up @@ -248,15 +248,15 @@ public void SerializationErrorHandlingWithParent()

var serializer = new JsonSerializer
{
SerializeError = (currentObject, originalObject, location, exception, markAsHandled) =>
SerializeError = (currentObject, originalObject, path, member, exception, markAsHandled) =>
{
// only log an error once
if (currentObject == originalObject)
{
errors.Add(exception.Message);
}
},
DeserializeError = (currentObject, originalObject, location, exception, markAsHandled) =>
DeserializeError = (currentObject, originalObject, path, member, exception, markAsHandled) =>
{
// only log an error once
if (currentObject == originalObject)
Expand Down Expand Up @@ -295,7 +295,7 @@ public List<string> Roles

public string Title { get; set; }

public void OnSerializeError(object originalObject, ErrorLocation location, Exception exception, Action markAsHandled) =>
public void OnSerializeError(object originalObject, string path, object member, Exception exception, Action markAsHandled) =>
markAsHandled();
}

Expand Down
8 changes: 4 additions & 4 deletions src/ArgonTests/Serialization/JsonSerializerTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,7 @@ public void ReadIntegerWithError()
json,
new JsonSerializerSettings
{
DeserializeError = (_, _, _, _, markAsHandled) => markAsHandled()
DeserializeError = (_, _, _, _, _, markAsHandled) => markAsHandled()
});

Assert.Equal(0, l.ChildId);
Expand Down Expand Up @@ -5832,7 +5832,7 @@ public void ObjectRequiredDeserializeMissing()
json,
new JsonSerializerSettings
{
DeserializeError = (_, _, _, exception, markAsHandled) =>
DeserializeError = (_, _, _, _, exception, markAsHandled) =>
{
errors.Add(exception.Message);
markAsHandled();
Expand All @@ -5857,7 +5857,7 @@ public void ObjectRequiredDeserializeNull()
json,
new JsonSerializerSettings
{
DeserializeError = (_, _, _, exception, markAsHandled) =>
DeserializeError = (_, _, _, _, exception, markAsHandled) =>
{
errors.Add(exception.Message);
markAsHandled();
Expand All @@ -5880,7 +5880,7 @@ public void ObjectRequiredSerialize()
new RequiredObject(),
new JsonSerializerSettings
{
SerializeError = (_, _, _, exception, markAsHandled) =>
SerializeError = (_, _, _, _, exception, markAsHandled) =>
{
errors.Add(exception.Message);
markAsHandled();
Expand Down
Loading

0 comments on commit 81517ab

Please sign in to comment.