From 8e5ddf84ab765f4ffb00905b7d6e4066a14e0bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20Kov=C3=A1cs?= Date: Tue, 1 Nov 2022 22:15:16 +0100 Subject: [PATCH] Clone JsonSerializerOptions before passing to context --- src/Alma.App/Services/JsonConfigurationFileReader.cs | 2 +- src/Alma.App/Services/ModuleConfigurationResolver.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Alma.App/Services/JsonConfigurationFileReader.cs b/src/Alma.App/Services/JsonConfigurationFileReader.cs index 30955c0..eb25d12 100644 --- a/src/Alma.App/Services/JsonConfigurationFileReader.cs +++ b/src/Alma.App/Services/JsonConfigurationFileReader.cs @@ -17,6 +17,6 @@ public class JsonConfigurationFileReader : IConfigurationFileReader if (!File.Exists(fileName)) return (null, null); await using FileStream openStream = File.OpenRead(fileName); - return ((T?)await JsonSerializer.DeserializeAsync(openStream, typeof(T), contextGenerator(DefaultOptions)), fileName); + return ((T?)await JsonSerializer.DeserializeAsync(openStream, typeof(T), contextGenerator(new JsonSerializerOptions(DefaultOptions))), fileName); } } \ No newline at end of file diff --git a/src/Alma.App/Services/ModuleConfigurationResolver.cs b/src/Alma.App/Services/ModuleConfigurationResolver.cs index ac7bd66..a28d3b0 100644 --- a/src/Alma.App/Services/ModuleConfigurationResolver.cs +++ b/src/Alma.App/Services/ModuleConfigurationResolver.cs @@ -17,12 +17,12 @@ public class ModuleConfigurationResolver : IModuleConfigurationResolver public async Task<(ModuleConfiguration? mergedModuleConfig, string? moduleConfigFileName)> ResolveModuleConfiguration(string moduleConfigStub) { - (ModuleConfigurationRoot? moduleConfigRoot, string? moduleConfigFileName) = await _configurationFileReader.DeserializeAsync(moduleConfigStub, (o )=> new JsonSourceGenerationContext(o)); + (ModuleConfigurationRoot? moduleConfigRoot, string? moduleConfigFileName) = await _configurationFileReader.DeserializeAsync(moduleConfigStub, (o) => new JsonSourceGenerationContext(o)); if (moduleConfigRoot is null) return (null, null); var validModuleConfigurations = moduleConfigRoot.Where(m => _osInformation.IsOnPlatform(m.Key)); - + //TODO: priority order var orderedValidModuleConfigurations = new Dictionary(validModuleConfigurations);