Powered by AppSignal & Oban Pro

CommonFSharp (Polyglot)

lib/fsharp/CommonFSharp.livemd

CommonFSharp (Polyglot)

#!import ../../lib/fsharp/Notebooks

#!import ../../lib/fsharp/Testing

#!import ../../lib/fsharp/Common.fs

open Common

getUnionCaseName

let inline getUnionCaseName<'T> (x: 'T) =
    match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
    | case, _ -> case.Name
///- --test

TraceLevel.Critical
|> getUnionCaseName
|> _assertEqual (nameof TraceLevel.Critical)