FSharpUnionHelpers 0.2.0

F# Discriminative Union helpers

Install-Package FSharpUnionHelpers -Version 0.2.0
dotnet add package FSharpUnionHelpers --version 0.2.0
<PackageReference Include="FSharpUnionHelpers" Version="0.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FSharpUnionHelpers --version 0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

FSharp Union Helpers

F# Discriminated Union Helpers

Features

getAllDUCases

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

matchUnionWithFunction

Calls the provided function with all Discriminative Union cases for a type

generateDefaultTypeParameter

Creates a value of the type passed in.

Type -> Obj

getTypesPublicSignature

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)

toSignatureString

Converts a types public signature from above to a printable string.

PublicTypeSignature -> string

Helpers with bindingflags for

  • getUnionCases
Type -> UnionCaseInfo[]
  • makeUnion
UnionCaseInfo -> obj List -> obj
  • isUnion
Type -> bool

Examples

See /Examples

FSharp Union Helpers

F# Discriminated Union Helpers

Features

getAllDUCases

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

matchUnionWithFunction

Calls the provided function with all Discriminative Union cases for a type

generateDefaultTypeParameter

Creates a value of the type passed in.

Type -> Obj

getTypesPublicSignature

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)

toSignatureString

Converts a types public signature from above to a printable string.

PublicTypeSignature -> string

Helpers with bindingflags for

  • getUnionCases
Type -> UnionCaseInfo[]
  • makeUnion
UnionCaseInfo -> obj List -> obj
  • isUnion
Type -> bool

Examples

See /Examples

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.2.0 34 11/7/2019
0.1.0 36 11/6/2019