1010using System . Text . Json . Serialization . Metadata ;
1111
1212using Elastic . Transport ;
13- using Elastic . Transport . Products . Elasticsearch ;
1413
1514namespace Elastic . Clients . Elasticsearch . Serialization ;
1615
@@ -38,12 +37,7 @@ public DefaultSourceSerializer(IElasticsearchClientSettings settings, Action<Jso
3837 /// <param name="typeInfoResolver">A custom <see cref="IJsonTypeInfoResolver"/> to use.</param>
3938 /// <param name="configureOptions">An optional <see cref="Action{T}"/> to customize the default <see cref="JsonSerializerOptions"/>.</param>
4039 public DefaultSourceSerializer ( IElasticsearchClientSettings settings , IJsonTypeInfoResolver typeInfoResolver , Action < JsonSerializerOptions > ? configureOptions = null ) :
41- base ( new DefaultSourceSerializerOptionsProvider ( settings , [ typeInfoResolver ] , configureOptions ) )
42- {
43- }
44-
45- public DefaultSourceSerializer ( IElasticsearchClientSettings settings , IJsonTypeInfoResolver [ ] typeInfoResolvers , Action < JsonSerializerOptions > ? configureOptions = null ) :
46- base ( new DefaultSourceSerializerOptionsProvider ( settings , typeInfoResolvers , configureOptions ) )
40+ base ( new DefaultSourceSerializerOptionsProvider ( settings , typeInfoResolver , configureOptions ) )
4741 {
4842 }
4943}
@@ -74,11 +68,11 @@ public DefaultSourceSerializerOptionsProvider(IElasticsearchClientSettings setti
7468 /// <param name="settings">The <see cref="IElasticsearchClientSettings"/> instance to which this serializer options will be linked.</param>
7569 /// <param name="typeInfoResolver">A custom <see cref="IJsonTypeInfoResolver"/> to use.</param>
7670 /// <param name="configureOptions">An optional <see cref="Action{T}"/> to customize the default <see cref="JsonSerializerOptions"/>.</param>
77- public DefaultSourceSerializerOptionsProvider ( IElasticsearchClientSettings settings , IJsonTypeInfoResolver [ ] typeInfoResolvers , Action < JsonSerializerOptions > ? configureOptions = null ) :
71+ public DefaultSourceSerializerOptionsProvider ( IElasticsearchClientSettings settings , IJsonTypeInfoResolver typeInfoResolver , Action < JsonSerializerOptions > ? configureOptions = null ) :
7872 base (
7973 CreateDefaultBuiltInConverters ( settings ) ,
8074 null ,
81- options => MutateOptions ( options , typeInfoResolvers , configureOptions )
75+ options => MutateOptions ( options , typeInfoResolver ?? throw new ArgumentNullException ( nameof ( typeInfoResolver ) ) , configureOptions )
8276 )
8377 {
8478 }
@@ -100,13 +94,10 @@ private static IReadOnlyCollection<JsonConverter> CreateDefaultBuiltInConverters
10094
10195 [ UnconditionalSuppressMessage ( "AOT" , "IL3050:Calling members annotated with 'RequiresDynamicCodeAttribute'" , Justification = "Always using explicit TypeInfoResolver" ) ]
10296 [ UnconditionalSuppressMessage ( "Trimming" , "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute'" , Justification = "Always using explicit TypeInfoResolver" ) ]
103- private static void MutateOptions ( JsonSerializerOptions options , IJsonTypeInfoResolver [ ] ? typeInfoResolvers , Action < JsonSerializerOptions > ? configureOptions )
97+ private static void MutateOptions ( JsonSerializerOptions options , IJsonTypeInfoResolver ? typeInfoResolver , Action < JsonSerializerOptions > ? configureOptions )
10498 {
105- var resolvers = typeInfoResolvers ?? [ ] ;
99+ options . TypeInfoResolver = typeInfoResolver ?? new DefaultJsonTypeInfoResolver ( ) ;
106100
107- options . TypeInfoResolver = JsonTypeInfoResolver . Combine (
108- [ new DefaultJsonTypeInfoResolver ( ) , .. resolvers ]
109- ) ;
110101 options . DefaultIgnoreCondition = JsonIgnoreCondition . WhenWritingNull ;
111102 options . PropertyNamingPolicy = JsonNamingPolicy . CamelCase ;
112103
0 commit comments