Nemesis.TextParsers.DependencyInjection
2.20.0
dotnet add package Nemesis.TextParsers.DependencyInjection --version 2.20.0
NuGet\Install-Package Nemesis.TextParsers.DependencyInjection -Version 2.20.0
<PackageReference Include="Nemesis.TextParsers.DependencyInjection" Version="2.20.0" />
<PackageVersion Include="Nemesis.TextParsers.DependencyInjection" Version="2.20.0" />
<PackageReference Include="Nemesis.TextParsers.DependencyInjection" />
paket add Nemesis.TextParsers.DependencyInjection --version 2.20.0
#r "nuget: Nemesis.TextParsers.DependencyInjection, 2.20.0"
#:package Nemesis.TextParsers.DependencyInjection@2.20.0
#addin nuget:?package=Nemesis.TextParsers.DependencyInjection&version=2.20.0
#tool nuget:?package=Nemesis.TextParsers.DependencyInjection&version=2.20.0
Nemesis.TextParsers.DependencyInjection
Intro
This package contains helper methods useful to setup DependencyInjection using Microsoft.Extensions.DependencyInjection
Example
Given the following setting:
{
"ParsingSettings": {
"CollectionSettings": {
"ListDelimiter": ",",
"NullElementMarker": "␀",
"EscapingSequenceStart": "/",
"Start": "[",
"End": "]",
"DefaultCapacity": 60
},
"ArraySettings": {
"ListDelimiter": ";",
"NullElementMarker": "␀",
"EscapingSequenceStart": "/",
"Start": "{",
"End": "}",
"DefaultCapacity": 70
},
"DictionarySettings": {
"DictionaryPairsDelimiter": "⮿",
"DictionaryKeyValueDelimiter": ">",
"NullElementMarker": "␀",
"EscapingSequenceStart": "/",
"Start": "(",
"End": ")",
"Behaviour": "DoNotOverrideKeys",
"DefaultCapacity": 80
},
"EnumSettings": {
"CaseInsensitive": false,
"AllowParsingNumerics": false
},
"FactoryMethodSettings": {
"FactoryMethodName": "FromString",
"EmptyPropertyName": "EmptyProp",
"NullPropertyName": "NullProp"
},
"ValueTupleSettings": {
"Delimiter": ";",
"NullElementMarker": "␀",
"EscapingSequenceStart": "/",
"Start": "_",
"End": "_"
},
"KeyValuePairSettings": {
"Delimiter": "→",
"NullElementMarker": "␀",
"EscapingSequenceStart": "/",
"Start": "-",
"End": "-"
},
"DeconstructableSettings": {
"UseDeconstructableEmpty": false,
"Delimiter": ",",
"NullElementMarker": "␀",
"EscapingSequenceStart": "_",
"Start": "/",
"End": "/"
}
}
}
one can useConfigureNemesisTextParsersmethod to configure settings andAddNemesisTextParsersto add NTP services to DI container
//use Nemesis.TextParsers.DependencyInjection package
//consider the following ASP.Net demo
var builder = WebApplication.CreateBuilder(args);
//...
builder.Services
.ConfigureNemesisTextParsers(builder.Configuration.GetRequiredSection("ParsingSettings"))
.AddNemesisTextParsers();
var app = builder.Build();
app.MapGet("/parsingConfigurations/{type}", (string type, SettingsStore store) =>
{
//use injected SettingsStore
});
app.MapGet("/parseType/{type}", (string type, [FromQuery] string text, ITransformerStore transformerStore) =>
{
//use injected ITransformerStore
});
More info can be found in example
| 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 is compatible. 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
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.1)
- Nemesis.TextParsers (>= 2.20.0)
-
net10.0
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.1)
- Nemesis.TextParsers (>= 2.20.0)
-
net8.0
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.1)
- Nemesis.TextParsers (>= 2.20.0)
-
net9.0
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.1)
- Nemesis.TextParsers (>= 2.20.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
# Release 2.20.0 - Migrate to .NET 10
## What's Changed
* Migrate to .net 10 by @MichalBrylka in https://github.com/nemesissoft/Nemesis.TextParsers/pull/22
**Full Changelog**: https://github.com/nemesissoft/Nemesis.TextParsers/compare/2.10.0...2.20.0