@@ -297,6 +297,12 @@ module private Case =
297297 | JsonName.Int name -> writer.WriteNumber( fsOptions.UnionTagName, name)
298298 | JsonName.Bool name -> writer.WriteBoolean( fsOptions.UnionTagName, name)
299299
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+
300306
301307type JsonUnionConverter < 'T >
302308 internal ( options: JsonSerializerOptions, fsOptions: JsonFSharpOptionsRecord, cases: UnionCaseInfo[]) =
@@ -614,12 +620,6 @@ type JsonUnionConverter<'T>
614620 else
615621 writeFieldsAsArray writer case value options
616622
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-
623623 let writeAdjacentTag ( writer : Utf8JsonWriter ) ( case : Case ) ( value : obj ) ( options : JsonSerializerOptions ) =
624624 writer.WriteStartObject()
625625 Case.writeCaseNameAsField fsOptions writer case
@@ -641,7 +641,7 @@ type JsonUnionConverter<'T>
641641 writeFieldsAsRestOfObject writer case value options
642642 else
643643 writer.WriteStartArray()
644- writeCaseNameAsValue writer case
644+ Case. writeCaseNameAsValue writer case
645645 writeFieldsAsRestOfArray writer case value options
646646
647647 let writeUntagged ( writer : Utf8JsonWriter ) ( case : Case ) ( value : obj ) ( options : JsonSerializerOptions ) =
@@ -680,7 +680,7 @@ type JsonUnionConverter<'T>
680680 let tag = tagReader value
681681 let case = cases[ tag]
682682 if unwrapFieldlessTags && case.Fields.Length = 0 then
683- writeCaseNameAsValue writer case
683+ Case. writeCaseNameAsValue writer case
684684 else
685685 match baseFormat with
686686 | JsonUnionEncoding.AdjacentTag -> writeAdjacentTag writer case value options
@@ -792,7 +792,7 @@ type JsonEnumLikeUnionConverter<'T> internal (options: JsonSerializerOptions, fs
792792
793793 override this.Write ( writer , value , _options ) =
794794 let tag = tagReader value
795- Case.writeCaseNameAsField fsOptions writer cases[ tag]
795+ Case.writeCaseNameAsValue writer cases[ tag]
796796
797797 override this.WriteAsPropertyName ( writer , value , _options ) =
798798 let tag = tagReader value
0 commit comments