@@ -156,18 +156,21 @@ public override void Write(Utf8JsonWriter writer, FieldSuggester value, JsonSeri
156
156
writer . WriteStringValue ( value . Text ) ;
157
157
}
158
158
159
- writer . WritePropertyName ( value . VariantName ) ;
160
- switch ( value . VariantName )
159
+ if ( value . VariantName is not null & value . Variant is not null )
161
160
{
162
- case "completion" :
163
- JsonSerializer . Serialize < Elastic . Clients . Elasticsearch . Core . Search . CompletionSuggester > ( writer , ( Elastic . Clients . Elasticsearch . Core . Search . CompletionSuggester ) value . Variant , options ) ;
164
- break ;
165
- case "phrase" :
166
- JsonSerializer . Serialize < Elastic . Clients . Elasticsearch . Core . Search . PhraseSuggester > ( writer , ( Elastic . Clients . Elasticsearch . Core . Search . PhraseSuggester ) value . Variant , options ) ;
167
- break ;
168
- case "term" :
169
- JsonSerializer . Serialize < Elastic . Clients . Elasticsearch . Core . Search . TermSuggester > ( writer , ( Elastic . Clients . Elasticsearch . Core . Search . TermSuggester ) value . Variant , options ) ;
170
- break ;
161
+ writer . WritePropertyName ( value . VariantName ) ;
162
+ switch ( value . VariantName )
163
+ {
164
+ case "completion" :
165
+ JsonSerializer . Serialize < Elastic . Clients . Elasticsearch . Core . Search . CompletionSuggester > ( writer , ( Elastic . Clients . Elasticsearch . Core . Search . CompletionSuggester ) value . Variant , options ) ;
166
+ break ;
167
+ case "phrase" :
168
+ JsonSerializer . Serialize < Elastic . Clients . Elasticsearch . Core . Search . PhraseSuggester > ( writer , ( Elastic . Clients . Elasticsearch . Core . Search . PhraseSuggester ) value . Variant , options ) ;
169
+ break ;
170
+ case "term" :
171
+ JsonSerializer . Serialize < Elastic . Clients . Elasticsearch . Core . Search . TermSuggester > ( writer , ( Elastic . Clients . Elasticsearch . Core . Search . TermSuggester ) value . Variant , options ) ;
172
+ break ;
173
+ }
171
174
}
172
175
173
176
writer . WriteEndObject ( ) ;
@@ -236,12 +239,6 @@ public FieldSuggesterDescriptor<TDocument> Text(string? text)
236
239
237
240
protected override void Serialize ( Utf8JsonWriter writer , JsonSerializerOptions options , IElasticsearchClientSettings settings )
238
241
{
239
- if ( ! ContainsVariant )
240
- {
241
- writer . WriteNullValue ( ) ;
242
- return ;
243
- }
244
-
245
242
writer . WriteStartObject ( ) ;
246
243
if ( ! string . IsNullOrEmpty ( PrefixValue ) )
247
244
{
@@ -261,15 +258,19 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o
261
258
writer . WriteStringValue ( TextValue ) ;
262
259
}
263
260
264
- writer . WritePropertyName ( ContainedVariantName ) ;
265
- if ( Variant is not null )
261
+ if ( ! string . IsNullOrEmpty ( ContainedVariantName ) )
266
262
{
267
- JsonSerializer . Serialize ( writer , Variant , Variant . GetType ( ) , options ) ;
268
- writer . WriteEndObject ( ) ;
269
- return ;
263
+ writer . WritePropertyName ( ContainedVariantName ) ;
264
+ if ( Variant is not null )
265
+ {
266
+ JsonSerializer . Serialize ( writer , Variant , Variant . GetType ( ) , options ) ;
267
+ writer . WriteEndObject ( ) ;
268
+ return ;
269
+ }
270
+
271
+ JsonSerializer . Serialize ( writer , Descriptor , Descriptor . GetType ( ) , options ) ;
270
272
}
271
273
272
- JsonSerializer . Serialize ( writer , Descriptor , Descriptor . GetType ( ) , options ) ;
273
274
writer . WriteEndObject ( ) ;
274
275
}
275
276
}
@@ -339,12 +340,6 @@ public FieldSuggesterDescriptor Text(string? text)
339
340
340
341
protected override void Serialize ( Utf8JsonWriter writer , JsonSerializerOptions options , IElasticsearchClientSettings settings )
341
342
{
342
- if ( ! ContainsVariant )
343
- {
344
- writer . WriteNullValue ( ) ;
345
- return ;
346
- }
347
-
348
343
writer . WriteStartObject ( ) ;
349
344
if ( ! string . IsNullOrEmpty ( PrefixValue ) )
350
345
{
@@ -364,15 +359,19 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o
364
359
writer . WriteStringValue ( TextValue ) ;
365
360
}
366
361
367
- writer . WritePropertyName ( ContainedVariantName ) ;
368
- if ( Variant is not null )
362
+ if ( ! string . IsNullOrEmpty ( ContainedVariantName ) )
369
363
{
370
- JsonSerializer . Serialize ( writer , Variant , Variant . GetType ( ) , options ) ;
371
- writer . WriteEndObject ( ) ;
372
- return ;
364
+ writer . WritePropertyName ( ContainedVariantName ) ;
365
+ if ( Variant is not null )
366
+ {
367
+ JsonSerializer . Serialize ( writer , Variant , Variant . GetType ( ) , options ) ;
368
+ writer . WriteEndObject ( ) ;
369
+ return ;
370
+ }
371
+
372
+ JsonSerializer . Serialize ( writer , Descriptor , Descriptor . GetType ( ) , options ) ;
373
373
}
374
374
375
- JsonSerializer . Serialize ( writer , Descriptor , Descriptor . GetType ( ) , options ) ;
376
375
writer . WriteEndObject ( ) ;
377
376
}
378
377
}
0 commit comments