MessagePack.FSharpExtensions
4.0.0
.NET 6.0
.NET Core 3.1
.NET Standard 2.0
dotnet add package MessagePack.FSharpExtensions --version 4.0.0
NuGet\Install-Package MessagePack.FSharpExtensions -Version 4.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MessagePack.FSharpExtensions" Version="4.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MessagePack.FSharpExtensions --version 4.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MessagePack.FSharpExtensions, 4.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MessagePack.FSharpExtensions as a Cake Addin
#addin nuget:?package=MessagePack.FSharpExtensions&version=4.0.0
// Install MessagePack.FSharpExtensions as a Cake Tool
#tool nuget:?package=MessagePack.FSharpExtensions&version=4.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MessagePack.FSharpExtensions
MessagePack.FSharpExtensions is a MessagePack-CSharp extension library for F#.
Usage
open System
open System.Buffers
open MessagePack
open MessagePack.Resolvers
open MessagePack.FSharp
[<MessagePackObject>]
type UnionSample =
| Foo of XYZ : int
| Bar of OPQ : string list
let convertAsMemory<'T> options (value: 'T) =
let memory = ReadOnlyMemory(MessagePackSerializer.Serialize(value, options))
MessagePackSerializer.Deserialize<'T>(memory, options)
let convertAsSequence<'T> options (value: 'T) =
let sequence = ReadOnlySequence(MessagePackSerializer.Serialize(value, options))
MessagePackSerializer.Deserialize<'T>(& sequence, options)
let dump = function
| Foo x ->
printfn "%d" x
| Bar xs ->
printfn "%A" xs
let resolver =
Resolvers.CompositeResolver.Create(
FSharpResolver.Instance,
StandardResolver.Instance
)
let options = MessagePackSerializerOptions.Standard.WithResolver(resolver)
Foo 999
|> convertAsMemory options
|> dump
Bar ["example"]
|> convertAsSequence options
|> dump
Supported types
- option
- voption
- list
- map
- set
- Discriminated Union
- Struct Discriminated Union
Records, Struct Records and Anonymous Records are serialized and deserialized using DynamicObjectResolver
in MessagePack-CSharp
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- FSharp.Core (>= 7.0.200)
- MessagePack (>= 2.4.59)
-
.NETStandard 2.0
- FSharp.Core (>= 7.0.200)
- MessagePack (>= 2.4.59)
-
net6.0
- FSharp.Core (>= 7.0.200)
- MessagePack (>= 2.4.59)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on MessagePack.FSharpExtensions:
Package | Downloads |
---|---|
NBomber.Contracts
Public contracts for NBomber |
|
FSharpApiSearch
F# API search engine |
|
Fun.Blazor.HotReload
Package Description |
|
SilkyFowl.Avalonia.FuncUI.LiveView
Live fs/fsx previewer for Avalonia.FuncUI. |
|
Fun.SunUI.HotReload
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.