diff --git a/src/Neuroglia.Blazor.Dagre/Neuroglia.Blazor.Dagre.csproj b/src/Neuroglia.Blazor.Dagre/Neuroglia.Blazor.Dagre.csproj
index ce421cc9..43e685ac 100644
--- a/src/Neuroglia.Blazor.Dagre/Neuroglia.Blazor.Dagre.csproj
+++ b/src/Neuroglia.Blazor.Dagre/Neuroglia.Blazor.Dagre.csproj
@@ -44,8 +44,8 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/Neuroglia.Data.Expressions.JavaScript/Neuroglia.Data.Expressions.JavaScript.csproj b/src/Neuroglia.Data.Expressions.JavaScript/Neuroglia.Data.Expressions.JavaScript.csproj
index d876fb6d..81fa9cb9 100644
--- a/src/Neuroglia.Data.Expressions.JavaScript/Neuroglia.Data.Expressions.JavaScript.csproj
+++ b/src/Neuroglia.Data.Expressions.JavaScript/Neuroglia.Data.Expressions.JavaScript.csproj
@@ -29,7 +29,7 @@
-
+
diff --git a/src/Neuroglia.Data.Infrastructure.EventSourcing.EventStore/Neuroglia.Data.Infrastructure.EventSourcing.EventStore.csproj b/src/Neuroglia.Data.Infrastructure.EventSourcing.EventStore/Neuroglia.Data.Infrastructure.EventSourcing.EventStore.csproj
index 9e9d3bb3..20c02a49 100644
--- a/src/Neuroglia.Data.Infrastructure.EventSourcing.EventStore/Neuroglia.Data.Infrastructure.EventSourcing.EventStore.csproj
+++ b/src/Neuroglia.Data.Infrastructure.EventSourcing.EventStore/Neuroglia.Data.Infrastructure.EventSourcing.EventStore.csproj
@@ -29,9 +29,9 @@
-
-
-
+
+
+
diff --git a/src/Neuroglia.Data.Infrastructure.EventSourcing.Redis/Neuroglia.Data.Infrastructure.EventSourcing.Redis.csproj b/src/Neuroglia.Data.Infrastructure.EventSourcing.Redis/Neuroglia.Data.Infrastructure.EventSourcing.Redis.csproj
index 41567de2..0145962a 100644
--- a/src/Neuroglia.Data.Infrastructure.EventSourcing.Redis/Neuroglia.Data.Infrastructure.EventSourcing.Redis.csproj
+++ b/src/Neuroglia.Data.Infrastructure.EventSourcing.Redis/Neuroglia.Data.Infrastructure.EventSourcing.Redis.csproj
@@ -30,7 +30,7 @@
-
+
diff --git a/src/Neuroglia.Data.Infrastructure.Mongo/Neuroglia.Data.Infrastructure.Mongo.csproj b/src/Neuroglia.Data.Infrastructure.Mongo/Neuroglia.Data.Infrastructure.Mongo.csproj
index 4a352370..ef606323 100644
--- a/src/Neuroglia.Data.Infrastructure.Mongo/Neuroglia.Data.Infrastructure.Mongo.csproj
+++ b/src/Neuroglia.Data.Infrastructure.Mongo/Neuroglia.Data.Infrastructure.Mongo.csproj
@@ -32,7 +32,7 @@
-
+
diff --git a/src/Neuroglia.Data.Infrastructure.ObjectStorage.Minio/Neuroglia.Data.Infrastructure.ObjectStorage.Minio.csproj b/src/Neuroglia.Data.Infrastructure.ObjectStorage.Minio/Neuroglia.Data.Infrastructure.ObjectStorage.Minio.csproj
index 8dc170ae..a8c5ad29 100644
--- a/src/Neuroglia.Data.Infrastructure.ObjectStorage.Minio/Neuroglia.Data.Infrastructure.ObjectStorage.Minio.csproj
+++ b/src/Neuroglia.Data.Infrastructure.ObjectStorage.Minio/Neuroglia.Data.Infrastructure.ObjectStorage.Minio.csproj
@@ -29,7 +29,7 @@
-
+
diff --git a/src/Neuroglia.Data.Infrastructure.ObjectStorage.Minio/Services/MinioObjectStorage.cs b/src/Neuroglia.Data.Infrastructure.ObjectStorage.Minio/Services/MinioObjectStorage.cs
index 2ef8c615..3f08b866 100644
--- a/src/Neuroglia.Data.Infrastructure.ObjectStorage.Minio/Services/MinioObjectStorage.cs
+++ b/src/Neuroglia.Data.Infrastructure.ObjectStorage.Minio/Services/MinioObjectStorage.cs
@@ -13,6 +13,7 @@
using Microsoft.Extensions.Logging;
using Minio;
+using Minio.ApiEndpoints;
using Minio.DataModel;
using Minio.DataModel.Args;
using Minio.DataModel.Tags;
@@ -170,7 +171,7 @@ public virtual async IAsyncEnumerable ListObjectsAsync(string
.WithBucket(bucketName)
.WithRecursive(true);
if (!string.IsNullOrWhiteSpace(prefix)) args = args.WithPrefix(prefix);
- items = this.MinioClient.ListObjectsAsync(args, cancellationToken).ToAsyncEnumerable();
+ items = this.MinioClient.ListObjectsEnumAsync(args, cancellationToken);
}
catch (MinioException ex)
{
diff --git a/src/Neuroglia.Data.Infrastructure.Redis/Neuroglia.Data.Infrastructure.Redis.csproj b/src/Neuroglia.Data.Infrastructure.Redis/Neuroglia.Data.Infrastructure.Redis.csproj
index 1f8c454a..3437b3f2 100644
--- a/src/Neuroglia.Data.Infrastructure.Redis/Neuroglia.Data.Infrastructure.Redis.csproj
+++ b/src/Neuroglia.Data.Infrastructure.Redis/Neuroglia.Data.Infrastructure.Redis.csproj
@@ -32,7 +32,7 @@
-
+
diff --git a/src/Neuroglia.Data.Infrastructure.ResourceOriented.Abstractions/Neuroglia.Data.Infrastructure.ResourceOriented.Abstractions.csproj b/src/Neuroglia.Data.Infrastructure.ResourceOriented.Abstractions/Neuroglia.Data.Infrastructure.ResourceOriented.Abstractions.csproj
index ff240261..9571311e 100644
--- a/src/Neuroglia.Data.Infrastructure.ResourceOriented.Abstractions/Neuroglia.Data.Infrastructure.ResourceOriented.Abstractions.csproj
+++ b/src/Neuroglia.Data.Infrastructure.ResourceOriented.Abstractions/Neuroglia.Data.Infrastructure.ResourceOriented.Abstractions.csproj
@@ -42,11 +42,11 @@
-
+
-
+
diff --git a/src/Neuroglia.Data.Infrastructure.ResourceOriented.Redis/Neuroglia.Data.Infrastructure.ResourceOriented.Redis.csproj b/src/Neuroglia.Data.Infrastructure.ResourceOriented.Redis/Neuroglia.Data.Infrastructure.ResourceOriented.Redis.csproj
index 1d08ea9e..69022ac7 100644
--- a/src/Neuroglia.Data.Infrastructure.ResourceOriented.Redis/Neuroglia.Data.Infrastructure.ResourceOriented.Redis.csproj
+++ b/src/Neuroglia.Data.Infrastructure.ResourceOriented.Redis/Neuroglia.Data.Infrastructure.ResourceOriented.Redis.csproj
@@ -29,7 +29,7 @@
-
+
diff --git a/src/Neuroglia.Data.PatchModel/Neuroglia.Data.PatchModel.csproj b/src/Neuroglia.Data.PatchModel/Neuroglia.Data.PatchModel.csproj
index fa2b9048..3841dc2a 100644
--- a/src/Neuroglia.Data.PatchModel/Neuroglia.Data.PatchModel.csproj
+++ b/src/Neuroglia.Data.PatchModel/Neuroglia.Data.PatchModel.csproj
@@ -31,8 +31,8 @@
-
-
+
+
diff --git a/src/Neuroglia.Data.Schemas.Json/Neuroglia.Data.Schemas.Json.csproj b/src/Neuroglia.Data.Schemas.Json/Neuroglia.Data.Schemas.Json.csproj
index 0ebc8a04..ff3707a5 100644
--- a/src/Neuroglia.Data.Schemas.Json/Neuroglia.Data.Schemas.Json.csproj
+++ b/src/Neuroglia.Data.Schemas.Json/Neuroglia.Data.Schemas.Json.csproj
@@ -29,7 +29,7 @@
-
+
diff --git a/src/Neuroglia.Eventing.CloudEvents.Infrastructure/Neuroglia.Eventing.CloudEvents.Infrastructure.csproj b/src/Neuroglia.Eventing.CloudEvents.Infrastructure/Neuroglia.Eventing.CloudEvents.Infrastructure.csproj
index 7e977358..838e9d11 100644
--- a/src/Neuroglia.Eventing.CloudEvents.Infrastructure/Neuroglia.Eventing.CloudEvents.Infrastructure.csproj
+++ b/src/Neuroglia.Eventing.CloudEvents.Infrastructure/Neuroglia.Eventing.CloudEvents.Infrastructure.csproj
@@ -30,7 +30,7 @@
-
+
diff --git a/src/Neuroglia.Plugins/Neuroglia.Plugins.csproj b/src/Neuroglia.Plugins/Neuroglia.Plugins.csproj
index 520c5cdd..4942dd3a 100644
--- a/src/Neuroglia.Plugins/Neuroglia.Plugins.csproj
+++ b/src/Neuroglia.Plugins/Neuroglia.Plugins.csproj
@@ -33,12 +33,12 @@
-
+
-
-
+
+
diff --git a/src/Neuroglia.Serialization.Abstractions/Neuroglia.Serialization.csproj b/src/Neuroglia.Serialization.Abstractions/Neuroglia.Serialization.csproj
index 9a310fc2..10440608 100644
--- a/src/Neuroglia.Serialization.Abstractions/Neuroglia.Serialization.csproj
+++ b/src/Neuroglia.Serialization.Abstractions/Neuroglia.Serialization.csproj
@@ -31,7 +31,7 @@
-
+
diff --git a/src/Neuroglia.Serialization.YamlDotNet/Neuroglia.Serialization.YamlDotNet.csproj b/src/Neuroglia.Serialization.YamlDotNet/Neuroglia.Serialization.YamlDotNet.csproj
index 7ee9def1..3863a6f9 100644
--- a/src/Neuroglia.Serialization.YamlDotNet/Neuroglia.Serialization.YamlDotNet.csproj
+++ b/src/Neuroglia.Serialization.YamlDotNet/Neuroglia.Serialization.YamlDotNet.csproj
@@ -29,8 +29,8 @@
-
-
+
+
diff --git a/src/Neuroglia.Serialization.YamlDotNet/Services/DateTimeOffsetSerializer.cs b/src/Neuroglia.Serialization.YamlDotNet/Services/DateTimeOffsetSerializer.cs
index c6448747..7b65eef9 100644
--- a/src/Neuroglia.Serialization.YamlDotNet/Services/DateTimeOffsetSerializer.cs
+++ b/src/Neuroglia.Serialization.YamlDotNet/Services/DateTimeOffsetSerializer.cs
@@ -29,7 +29,7 @@ public class DateTimeOffsetSerializer
public virtual bool Accepts(Type type) => typeof(DateTimeOffset).IsAssignableFrom(type);
///
- public virtual object ReadYaml(IParser parser, Type type)
+ public virtual object? ReadYaml(IParser parser, Type type, ObjectDeserializer rootDeserializer)
{
Scalar scalar = (Scalar)parser.Current!;
parser.MoveNext();
@@ -37,7 +37,7 @@ public virtual object ReadYaml(IParser parser, Type type)
}
///
- public virtual void WriteYaml(IEmitter emitter, object? value, Type type)
+ public virtual void WriteYaml(IEmitter emitter, object? value, Type type, ObjectSerializer serializer)
{
if (value == null || value is not DateTimeOffset dateTime) return;
emitter.Emit(new Scalar(dateTime.ToString("o", CultureInfo.InvariantCulture)));
diff --git a/src/Neuroglia.Serialization.YamlDotNet/Services/EquatableDictionarySerializer.cs b/src/Neuroglia.Serialization.YamlDotNet/Services/EquatableDictionarySerializer.cs
index 7583149a..3c243005 100644
--- a/src/Neuroglia.Serialization.YamlDotNet/Services/EquatableDictionarySerializer.cs
+++ b/src/Neuroglia.Serialization.YamlDotNet/Services/EquatableDictionarySerializer.cs
@@ -31,10 +31,10 @@ public class EquatableDictionarySerializer(Func type.GetGenericType(typeof(EquatableDictionary<,>))?.GetGenericTypeDefinition() == typeof(EquatableDictionary<,>);
///
- public virtual object? ReadYaml(IParser parser, Type type) => throw new NotImplementedException();
+ public virtual object? ReadYaml(IParser parser, Type type, ObjectDeserializer rootDeserializer) => throw new NotImplementedException();
///
- public virtual void WriteYaml(IEmitter emitter, object? value, Type type)
+ public virtual void WriteYaml(IEmitter emitter, object? value, Type type, ObjectSerializer rootSerializer)
{
if (value == null) return;
var serializer = serializerFactory();
diff --git a/src/Neuroglia.Serialization.YamlDotNet/Services/EquatableListSerializer.cs b/src/Neuroglia.Serialization.YamlDotNet/Services/EquatableListSerializer.cs
index 546f90b6..e97513fd 100644
--- a/src/Neuroglia.Serialization.YamlDotNet/Services/EquatableListSerializer.cs
+++ b/src/Neuroglia.Serialization.YamlDotNet/Services/EquatableListSerializer.cs
@@ -31,10 +31,10 @@ public class EquatableListSerializer(Func
public virtual bool Accepts(Type type) => type.GetGenericType(typeof(EquatableList<>))?.GetGenericTypeDefinition() == typeof(EquatableList<>);
///
- public virtual object? ReadYaml(IParser parser, Type type) => throw new NotImplementedException();
+ public virtual object? ReadYaml(IParser parser, Type type, ObjectDeserializer rootDeserializer) => throw new NotImplementedException();
///
- public virtual void WriteYaml(IEmitter emitter, object? value, Type type)
+ public virtual void WriteYaml(IEmitter emitter, object? value, Type type, ObjectSerializer rootSerializer)
{
if (value == null || value is not IEnumerable collection) return;
var serializer = serializerFactory();
diff --git a/src/Neuroglia.Serialization.YamlDotNet/Services/JsonNodeTypeConverter.cs b/src/Neuroglia.Serialization.YamlDotNet/Services/JsonNodeTypeConverter.cs
index 8f6ec1f4..fc1e4f61 100644
--- a/src/Neuroglia.Serialization.YamlDotNet/Services/JsonNodeTypeConverter.cs
+++ b/src/Neuroglia.Serialization.YamlDotNet/Services/JsonNodeTypeConverter.cs
@@ -23,32 +23,24 @@ namespace Neuroglia.Serialization.Yaml;
///
/// Represents the used to convert s
///
-public class JsonNodeTypeConverter
+/// A boolean indicating whether or not to preserve the case of the name of converted properties
+public class JsonNodeTypeConverter(bool preservePropertyNameCase = false)
: IYamlTypeConverter
{
- ///
- /// Initializes a new
- ///
- /// A boolean indicating whether or not to preserve the case of the name of converted properties
- public JsonNodeTypeConverter(bool preservePropertyNameCase = false)
- {
- this.PreservePropertyNameCase = preservePropertyNameCase;
- }
-
///
/// Gets a boolean indicating whether or not to preserve the case of the name of converted properties
///
- protected bool PreservePropertyNameCase { get; }
+ protected bool PreservePropertyNameCase { get; } = preservePropertyNameCase;
///
public virtual bool Accepts(Type type) => typeof(JsonElement).IsAssignableFrom(type) || typeof(JsonNode).IsAssignableFrom(type);
///
- public virtual object? ReadYaml(IParser parser, Type type) => throw new NotSupportedException();
+ public virtual object? ReadYaml(IParser parser, Type type, ObjectDeserializer rootDeserializer) => throw new NotSupportedException();
///
- public virtual void WriteYaml(IEmitter emitter, object? value, Type type)
+ public virtual void WriteYaml(IEmitter emitter, object? value, Type type, ObjectSerializer rootSerializer)
{
if (value is JsonElement jsonElement) value = Json.JsonSerializer.Default.SerializeToNode(jsonElement);
this.WriteJsonNode(emitter, value as JsonNode);
diff --git a/src/Neuroglia.Serialization.YamlDotNet/Services/JsonObjectDeserializer.cs b/src/Neuroglia.Serialization.YamlDotNet/Services/JsonObjectDeserializer.cs
index adf027f2..93f5e991 100644
--- a/src/Neuroglia.Serialization.YamlDotNet/Services/JsonObjectDeserializer.cs
+++ b/src/Neuroglia.Serialization.YamlDotNet/Services/JsonObjectDeserializer.cs
@@ -25,7 +25,7 @@ namespace Neuroglia.Serialization.Yaml;
///
/// The inner
public class JsonObjectDeserializer(INodeDeserializer inner)
- : INodeDeserializer
+ : INodeDeserializer
{
///
@@ -34,10 +34,10 @@ public class JsonObjectDeserializer(INodeDeserializer inner)
protected INodeDeserializer Inner { get; } = inner;
///
- public virtual bool Deserialize(IParser reader, Type expectedType, Func nestedObjectDeserializer, out object? value)
+ public virtual bool Deserialize(IParser reader, Type expectedType, Func nestedObjectDeserializer, out object? value, ObjectDeserializer rootDeserializer)
{
- if (!typeof(JsonObject).IsAssignableFrom(expectedType)) return this.Inner.Deserialize(reader, expectedType, nestedObjectDeserializer, out value);
- if (!this.Inner.Deserialize(reader, typeof(Dictionary