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

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.2.0 149 11/7/2019
0.1.0 136 11/6/2019