Xfty.FSharpAsync
1.0.0-beta.12
dotnet add package Xfty.FSharpAsync --version 1.0.0-beta.12
NuGet\Install-Package Xfty.FSharpAsync -Version 1.0.0-beta.12
<PackageReference Include="Xfty.FSharpAsync" Version="1.0.0-beta.12" />
<PackageVersion Include="Xfty.FSharpAsync" Version="1.0.0-beta.12" />
<PackageReference Include="Xfty.FSharpAsync" />
paket add Xfty.FSharpAsync --version 1.0.0-beta.12
#r "nuget: Xfty.FSharpAsync, 1.0.0-beta.12"
#:package Xfty.FSharpAsync@1.0.0-beta.12
#addin nuget:?package=Xfty.FSharpAsync&version=1.0.0-beta.12&prerelease
#tool nuget:?package=Xfty.FSharpAsync&version=1.0.0-beta.12&prerelease
Xfty.FSharpAsync
F#-idiomatic Async<'T> wrappers over Xfty's
Task-based API, for F# code built on the original async { } workflow.
dotnet add package Xfty.FSharpAsync
Do you need this at all?
Only if your code uses F#'s original async { } computation expression. If
you're on the newer task { } (built into FSharp.Core since F# 6), you
don't need this package - task { } consumes Xfty's Task-returning
members directly, with no wrapper:
task {
let! contact = provider.Supply()
return contact
}
Async<'T> and Task<'T> aren't just syntactically different: a Task<'T>
is hot - the work is already running (or scheduled) the instant you hold
a reference to it - while an Async<'T> is cold - nothing happens until
something explicitly starts it (Async.RunSynchronously, Async.Start,
Async.StartAsTask). If your codebase relies on that cold-start semantics,
or is simply built on async { } throughout, this package bridges the gap.
Usage
open Net.NowhereAtAll.Xfty.Core
open Net.NowhereAtAll.Xfty.FSharpAsync
async {
let provider =
RecordProvider(typeof<Contact>, lookup)
.SetInsertMode(InsertMode.Mock)
let! contact = RecordProviderAsync.supply provider
return contact
}
| Module | Wraps |
|---|---|
RecordProviderAsync |
The plain RecordProvider's Supply/SupplyList/SupplyBundle |
TypedRecordProviderAsync |
The typed RecordProvider<'TRecord>'s Supply/SupplyList/SupplyBundle - kept as its own module rather than same-named overloads, since F#'s let-bound module functions don't support ad-hoc overloading by parameter type the way type members do |
DeferredInserterAsync |
DeferredInserter.Flush - takes an IPersistenceGateway option rather than a nullable reference, matching F#'s own idiom |
Every function is a thin Async.AwaitTask bridge - the awaited work, and
everything it does, is identical to calling the wrapped Xfty member
directly.
Full documentation
Xfty- the core library this wraps
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .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. |
-
.NETStandard 2.0
- FSharp.Core (>= 10.1.401)
- Xfty (>= 1.0.0-beta.12)
-
net10.0
- FSharp.Core (>= 10.1.401)
- Xfty (>= 1.0.0-beta.12)
-
net8.0
- FSharp.Core (>= 10.1.401)
- Xfty (>= 1.0.0-beta.12)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-beta.12 | 57 | 9/18/2026 |
| 1.0.0-beta.11 | 67 | 9/10/2026 |
| 1.0.0-beta.10 | 56 | 9/10/2026 |
| 1.0.0-beta.9 | 53 | 9/10/2026 |
| 1.0.0-beta.8 | 65 | 9/10/2026 |
| 1.0.0-beta.7 | 64 | 9/7/2026 |
| 1.0.0-beta.6 | 65 | 9/7/2026 |
| 1.0.0-beta.5 | 68 | 9/6/2026 |