diff --git a/src/Glutinum.Converter/Transform.fs b/src/Glutinum.Converter/Transform.fs index 72796b3..ea80926 100644 --- a/src/Glutinum.Converter/Transform.fs +++ b/src/Glutinum.Converter/Transform.fs @@ -200,6 +200,9 @@ let rec private transformType if isOptional && others.Length = 1 then FSharpType.Option(transformType context others.Head) + // Don't wrap in a U1 if there is only one case + else if others.Length = 1 then + transformType context others.Head else { Attributes = [] diff --git a/tests/specs/references/unionType/singleUnionResolved.d.ts b/tests/specs/references/unionType/singleUnionResolved.d.ts new file mode 100644 index 0000000..3fb116e --- /dev/null +++ b/tests/specs/references/unionType/singleUnionResolved.d.ts @@ -0,0 +1 @@ +export type ColorInfo = number | false; diff --git a/tests/specs/references/unionType/singleUnionResolved.fsx b/tests/specs/references/unionType/singleUnionResolved.fsx new file mode 100644 index 0000000..fd50d1e --- /dev/null +++ b/tests/specs/references/unionType/singleUnionResolved.fsx @@ -0,0 +1,12 @@ +module rec Glutinum + +open Fable.Core +open Fable.Core.JsInterop +open System + +type ColorInfo = + float + +(***) +#r "nuget: Fable.Core" +(***)