TheGoodAsyncWrapper 1.2.0
dotnet add package TheGoodAsyncWrapper --version 1.2.0
NuGet\Install-Package TheGoodAsyncWrapper -Version 1.2.0
<PackageReference Include="TheGoodAsyncWrapper" Version="1.2.0" />
<PackageVersion Include="TheGoodAsyncWrapper" Version="1.2.0" />
<PackageReference Include="TheGoodAsyncWrapper" />
paket add TheGoodAsyncWrapper --version 1.2.0
#r "nuget: TheGoodAsyncWrapper, 1.2.0"
#:package TheGoodAsyncWrapper@1.2.0
#addin nuget:?package=TheGoodAsyncWrapper&version=1.2.0
#tool nuget:?package=TheGoodAsyncWrapper&version=1.2.0
TheGoodCode
Libraries to simplify basic standardizations.
- Note: ToReturn has been changed in V1.1.0
- Please read note below.
Code implementations review
RunAsync Extension
Sample Code/Tests
var t8 = await ((Func<int, int, int, int, int, int, int, int, int>)TestAdd).RunAsync(2, 2, 2, 2, 2, 2, 2, 2);
Assert.AreEqual(t8, 16);
var del = (Action<bool>)TossErrorHandle;
var F1 = del.RunAsync(true);
Assert.IsTrue(F1.IsFaulted);
ToReturn<> Extension
Sample Code/Tests
var t3 = await TestAddReturnAsync(2, 2, ReturnState.Failed, "Burp");
Assert.AreEqual(t3.ReturnData, 4);
Assert.AreEqual(t3.Status, ReturnState.Failed);
Assert.AreEqual(t3.Metadata.message, "Burp");
var t4 = await TestAddReturnAsync(2, 2, true).ToReturnAsync("Success","Fail","Cancel");
Assert.AreEqual(t4.ReturnData, 4);
Assert.AreEqual(t4.Status, ReturnState.Success);
Assert.AreEqual(t4.Metadata.message, "Success");
Return Model
public class Return<T>
{
public T ReturnData { get; set; }
public ReturnState Status { get; set; } = ReturnState.Indeterminate;
public dynamic Metadata { get; set; } = new ExpandoObject();
}
Note
Since you get to control the return state when coding for a Task, we have implemented more than one state return.
[Flags]
public enum ReturnState
{
Indeterminate = 0,
Success = 1,
Failed = 2,
Cancelled = 4,
Custom1 = 8,
Custom2 = 16,
Custom3 = 32,
Unhandled = 64
}
Other key notes
| 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 was computed. 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 was computed. 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
- Microsoft.CSharp (>= 4.7.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on TheGoodAsyncWrapper:
| Package | Downloads |
|---|---|
|
TheGoodReturnModel
This library provides 3 major functions. 1. A clean reliable model for predictable returns. 2. A model builders that runs off of function delegates. 3. A model builder that runs off of asyncronous code. A bonus feature is the RunAsync feature that takes non-Task function delegates, and wraps them in a Task. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.0 | 737 | 9/21/2020 |
1.2.0 - Segregated the Code from TheGoodReturnModel, which I also released a 1.2.0.