@@ -297,6 +297,12 @@ module private Case =
297
297
| JsonName.Int name -> writer.WriteNumber( fsOptions.UnionTagName, name)
298
298
| JsonName.Bool name -> writer.WriteBoolean( fsOptions.UnionTagName, name)
299
299
300
+ let writeCaseNameAsValue ( writer : Utf8JsonWriter ) ( case : Case ) =
301
+ match case.Names[ 0 ] with
302
+ | JsonName.String name -> writer.WriteStringValue( name)
303
+ | JsonName.Int name -> writer.WriteNumberValue( name)
304
+ | JsonName.Bool name -> writer.WriteBooleanValue( name)
305
+
300
306
301
307
type JsonUnionConverter < 'T >
302
308
internal ( options: JsonSerializerOptions, fsOptions: JsonFSharpOptionsRecord, cases: UnionCaseInfo[]) =
@@ -614,12 +620,6 @@ type JsonUnionConverter<'T>
614
620
else
615
621
writeFieldsAsArray writer case value options
616
622
617
- let writeCaseNameAsValue ( writer : Utf8JsonWriter ) ( case : Case ) =
618
- match case.Names[ 0 ] with
619
- | JsonName.String name -> writer.WriteStringValue( name)
620
- | JsonName.Int name -> writer.WriteNumberValue( name)
621
- | JsonName.Bool name -> writer.WriteBooleanValue( name)
622
-
623
623
let writeAdjacentTag ( writer : Utf8JsonWriter ) ( case : Case ) ( value : obj ) ( options : JsonSerializerOptions ) =
624
624
writer.WriteStartObject()
625
625
Case.writeCaseNameAsField fsOptions writer case
@@ -641,7 +641,7 @@ type JsonUnionConverter<'T>
641
641
writeFieldsAsRestOfObject writer case value options
642
642
else
643
643
writer.WriteStartArray()
644
- writeCaseNameAsValue writer case
644
+ Case. writeCaseNameAsValue writer case
645
645
writeFieldsAsRestOfArray writer case value options
646
646
647
647
let writeUntagged ( writer : Utf8JsonWriter ) ( case : Case ) ( value : obj ) ( options : JsonSerializerOptions ) =
@@ -680,7 +680,7 @@ type JsonUnionConverter<'T>
680
680
let tag = tagReader value
681
681
let case = cases[ tag]
682
682
if unwrapFieldlessTags && case.Fields.Length = 0 then
683
- writeCaseNameAsValue writer case
683
+ Case. writeCaseNameAsValue writer case
684
684
else
685
685
match baseFormat with
686
686
| JsonUnionEncoding.AdjacentTag -> writeAdjacentTag writer case value options
@@ -792,7 +792,7 @@ type JsonEnumLikeUnionConverter<'T> internal (options: JsonSerializerOptions, fs
792
792
793
793
override this.Write ( writer , value , _options ) =
794
794
let tag = tagReader value
795
- Case.writeCaseNameAsField fsOptions writer cases[ tag]
795
+ Case.writeCaseNameAsValue writer cases[ tag]
796
796
797
797
override this.WriteAsPropertyName ( writer , value , _options ) =
798
798
let tag = tagReader value
0 commit comments