Flaminco.ManualMapper
0.0.6
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Flaminco.ManualMapper --version 0.0.6
NuGet\Install-Package Flaminco.ManualMapper -Version 0.0.6
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="Flaminco.ManualMapper" Version="0.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Flaminco.ManualMapper --version 0.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Flaminco.ManualMapper, 0.0.6"
#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 Flaminco.ManualMapper as a Cake Addin #addin nuget:?package=Flaminco.ManualMapper&version=0.0.6 // Install Flaminco.ManualMapper as a Cake Tool #tool nuget:?package=Flaminco.ManualMapper&version=0.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Introduction
This is package gives you a structured way for mapping your objects in manual matter, this package also supports async mapping.
Getting Started
--1 Inject into your DI
builder.Services.AddManualMapper<IManaulMapperScanner>();
--2 Define your map profile signature
// in this example, the map profile takes two parameters and it returns List<int>
public record ExampleMapProfile(string param1, int param2) : IMapProfile<List<int>>;
--3 Define your map profile handler
public class SimpleMapHandler : IMapProfileHandler<ExampleMapProfile, List<int>>
{
public ValueTask<List<int>> Handler(ExampleMapProfile profile, string[]? args = null, CancellationToken cancellationToken = default)
{
if (profile.param1 == "Ahmed")
{
if (args[0] == "1")
{
return ValueTask.FromResult(new List<int> { 1994, 12, 14, 1 });
}
return ValueTask.FromResult(new List<int> { 1994, 12, 14 });
}
return ValueTask.FromResult(new List<int> { 15, 16, 17 });
}
}
--4 Consuming your map profiles
private readonly IManualMapper _manualMapper;
public DemoController(IManualMapper manualMapper)
{
_manualMapper = manualMapper;
}
public async Task<List<int>> Get()
{
// in the mapper you can also send additional arguments, additional to the ones defined in the profile.
var mappingResult = await _manualMapper.Map(new ExampleMapProfile("Ahmed"), new string[] { "1" });
return mappingResult ;
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.