Skip to content

Commit fb63726

Browse files
Updated.
1 parent 44e1d06 commit fb63726

25 files changed

+377
-14
lines changed

Open.Serialization.Json.Newtonsoft/JsonSerializerInternal.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Open.Serialization.Json.Newtonsoft
44
{
5-
internal class JsonSerializerInternal : SerializerBase, IJsonSerializer
5+
internal class JsonSerializerInternal : JsonSerializerBase
66
{
77
readonly JsonSerializerSettings _settings;
88
internal JsonSerializerInternal(JsonSerializerSettings settings)
@@ -17,7 +17,7 @@ public override T Deserialize<T>(string? value)
1717
=> JsonConvert.SerializeObject(item, _settings);
1818
}
1919

20-
internal class JsonSerializerInternal<T> : Serializer<T>, IJsonSerializer<T>
20+
internal class JsonSerializerInternal<T> : JsonSerializer<T>, IJsonSerializer<T>, IJsonAsyncSerializer<T>
2121
{
2222
internal JsonSerializerInternal(JsonSerializerSettings settings)
2323
: base(settings.GetDeserialize<T>(), settings.GetSerialize<T>())
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace Open.Serialization.Json
2+
{
3+
/// <inheritdoc />
4+
public interface IJsonAsyncObjectSerializer : IAsyncObjectSerializer
5+
{
6+
}
7+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
namespace Open.Serialization.Json
2+
{
3+
/// <inheritdoc />
4+
public interface IJsonAsyncSerializer : IAsyncSerializer
5+
{
6+
}
7+
8+
/// <inheritdoc />
9+
public interface IJsonAsyncSerializer<T> : IAsyncSerializer<T>
10+
{
11+
}
12+
}

Open.Serialization.Json/IJsonDeserialize.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
namespace Open.Serialization.Json
22
{
3+
/// <inheritdoc />
34
public interface IJsonDeserialize : IDeserialize
45
{
56
}
67

8+
/// <inheritdoc />
79
public interface IJsonDeserialize<out T> : IDeserialize<T>
810
{
911
}

Open.Serialization.Json/IJsonDeserializeAsync.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
namespace Open.Serialization.Json
22
{
3+
/// <inheritdoc />
34
public interface IJsonDeserializeAsync : IDeserializeAsync
45
{
56
}
67

8+
/// <inheritdoc />
79
public interface IJsonDeserializeAsync<T> : IDeserializeAsync<T>
810
{
911
}

Open.Serialization.Json/IJsonDeserializeObject.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Open.Serialization.Json
22
{
3+
/// <inheritdoc />
34
public interface IJsonDeserializeObject : IDeserializeObject
45
{
56
}

Open.Serialization.Json/IJsonDeserializeObjectAsync.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Open.Serialization.Json
22
{
3+
/// <inheritdoc />
34
public interface IJsonDeserializeObjectAsync : IDeserializeObjectAsync
45
{
56
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
namespace Open.Serialization.Json
2+
{
3+
/// <summary>
4+
/// Factory for generating JSON serializers and deserializers.
5+
/// </summary>
6+
public interface IJsonObjectSerializationFactory
7+
{
8+
/// <summary>
9+
/// Returns the requested deserializer
10+
/// </summary>
11+
IJsonDeserializeObject GetDeserializer(bool caseSensitive = false);
12+
13+
/// <summary>
14+
/// Returns the requested deserializer
15+
/// </summary>
16+
IJsonDeserializeObjectAsync GetAsyncDeserializer(bool caseSensitive = false);
17+
18+
/// <summary>
19+
/// Returns the requested serializer
20+
/// </summary>
21+
IJsonSerializeObject GetSerializer(IJsonSerializationOptions? options = null);
22+
23+
/// <summary>
24+
/// Returns the requested serializer
25+
/// </summary>
26+
IJsonSerializeObjectAsync GetAsyncSerializer(IJsonSerializationOptions? options = null);
27+
}
28+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Open.Serialization.Json
2+
{
3+
// Provided as a means of specificity when setting up DI.
4+
5+
/// <inheritdoc />
6+
public interface IJsonObjectSerializer : IObjectSerializer, IJsonSerializeObject, IJsonDeserializeObject, IJsonDeserializeObjectAsync, IJsonSerializeObjectAsync
7+
{
8+
}
9+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace Open.Serialization.Json
2+
{
3+
/// <summary>
4+
/// Factory for generating a JSON serializer/deserializer.
5+
/// </summary>
6+
public interface IJsonObjectSerializerFactory
7+
{
8+
/// <summary>
9+
/// Returns the requested serializer
10+
/// </summary>
11+
IJsonObjectSerializer GetSerializer(IJsonSerializationOptions? options = null, bool caseSensitive = false);
12+
}
13+
}

0 commit comments

Comments
 (0)