F# Discriminated Union Helpers
Returns all Discriminated Union cases for a type
(Type -> Obj) -> Type -> CreatedUnion list
Where
- (Type -> obj) is a function to call on non-union types which creates a value for that type. For an example see the generateDefaultTypeParameter function.
- Type is the union type
- CreatedUnion list is a list of union case objects created from the provided union type
Calls the provided function with all Discriminative Union cases for a type
Creates a value of the type passed in.
Type -> Obj
Returns a types public signature for classes, records, enums, tuples, unions, etc.
Type -> PublicTypeSignature
Note: known issues
- not all types tested (move examples to Unit Tests)
- cases in union type signature could do with a more explicit domain model
- no guards or safety for nested types (recursion)
Converts a types public signature from above to a printable string.
PublicTypeSignature -> string
- getUnionCases
Type -> UnionCaseInfo[]
- makeUnion
UnionCaseInfo -> obj List -> obj
- isUnion
Type -> bool
See /Examples