Nemesis.TextParsers 1.5.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Nemesis.TextParsers --version 1.5.0
NuGet\Install-Package Nemesis.TextParsers -Version 1.5.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="Nemesis.TextParsers" Version="1.5.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Nemesis.TextParsers --version 1.5.0
#r "nuget: Nemesis.TextParsers, 1.5.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 Nemesis.TextParsers as a Cake Addin
#addin nuget:?package=Nemesis.TextParsers&version=1.5.0

// Install Nemesis.TextParsers as a Cake Tool
#tool nuget:?package=Nemesis.TextParsers&version=1.5.0

Contains various parser optimized for speed and no allocation
     This package was built from the source at https://github.com/nemesissoft/Nemesis.TextParsers/tree/006bf6cd784237076114ff6e8471fe9aac00dd58

Product 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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 is compatible.  netcoreapp3.0 is compatible.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 is compatible.  net462 was computed.  net463 was computed.  net47 is compatible.  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)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Nemesis.TextParsers:

Package Downloads
Nemesis.Demos

Set of utils for showing coding and language/framework features in form of live demos This package was built from the source at https://github.com/nemesissoft/Nemesis.Demos/tree/dcb94c7943b7275519e5994167a812cba983e01d

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.9.2 168 1/3/2024
2.9.1 96 1/1/2024
2.8.2 115 12/19/2023
2.7.2 220 7/16/2023
2.7.1 139 7/14/2023
2.7.0 126 7/14/2023
2.6.3 449 5/30/2022
2.6.2 399 3/1/2021
2.6.1 327 2/25/2021
2.6.0 356 2/25/2021
2.5.0 384 12/31/2020
2.4.0 393 11/30/2020
2.3.0 401 11/16/2020
2.2.1 509 5/15/2020
2.2.0 405 5/14/2020
2.1.2 422 5/12/2020
2.1.1 469 5/1/2020
2.1.0 432 4/28/2020
2.0.4 441 4/26/2020
2.0.2 451 4/21/2020
2.0.1 462 4/17/2020
2.0.0-alpha 307 4/15/2020
1.5.1 449 3/29/2020
1.5.0 477 3/28/2020
1.4.1 491 3/23/2020
1.3.2 462 3/19/2020
1.3.0 473 3/16/2020
1.2.0 533 3/15/2020
1.1.3 545 3/14/2020
1.1.2 518 2/27/2020
1.1.1 461 2/26/2020
1.1.0 524 2/26/2020
1.0.6 539 2/25/2020
1.0.4 430 2/25/2020
1.0.3 541 2/18/2020
1.0.2 525 11/8/2019
1.0.1 475 11/6/2019
1.0.0 480 9/25/2019
0.11.50 492 9/25/2019
0.11.47 489 9/25/2019
0.11.46 508 9/23/2019
0.11.42 525 9/18/2019
0.11.41 509 9/18/2019
0.11.40 497 9/18/2019
0.11.39 548 9/18/2019
0.11.38 513 9/18/2019
0.11.37 501 9/18/2019
0.11.36 500 9/17/2019
0.11.35 507 9/17/2019
0.11.34 507 9/17/2019
0.11.33 518 9/17/2019
0.9.32 505 9/17/2019
0.9.31 500 9/11/2019
0.9.30 517 9/9/2019
0.9.29 498 9/6/2019
0.9.28 515 8/3/2019
0.9.27 529 8/3/2019
0.9.26 499 8/1/2019
0.9.25 550 7/21/2019
0.9.24 525 7/19/2019
0.9.22 535 6/14/2019
0.9.21 508 6/13/2019
0.9.20 569 6/9/2019
0.9.19 589 6/7/2019
0.9.18 568 6/5/2019
0.9.15 532 5/29/2019
0.9.14 574 5/29/2019
0.9.13 562 5/28/2019
0.9.12 556 5/27/2019
0.9.10 570 5/21/2019
0.9.8 551 5/7/2019
0.9.7 569 5/5/2019
0.9.6 548 5/5/2019
0.9.5 527 5/5/2019
0.0.0-alpha.0.335 63 1/1/2024

Release v1.5.0
Deconstructables + simple parsers singletons + emptiness

1. Simple type parsers are exposed via singletons (see i.e. DoubleParser.Instance)
2. New type of parsing strategy - Deconstructables. It is enough for type to have constructor and matching Deconstruct - these members will be used to parse/format object automatically i.e. this structure
```csharp
readonly struct Address
{
   public string City { get; }
   public int ZipCode { get; }

   public Address(string city, int zipCode)
   {
       City = city;
       ZipCode = zipCode;
   }

   public void Deconstruct(out string city, out int zipCode)
   {
       city = City;
       zipCode = ZipCode;
   }
}
```
will be automatically formatted to "(City;ZipCode)" format and parsed from same format


3. New concept - emptiness vs null parsing. Now transformers can decide what it meas to them when "" string is parsed as opposed to _null_ string

4. TupleHelper - user can now create complex parser that parse tuple-like structures (records etc.) using common logic

5. Transformables - types can register own transformers using TransformerAttribute. Such custom transformers can benefit from simple dependency injections (currently only TransformerStore object) via constructor

DEPRECATED:
One of next minor releases will be the last one where we support FromText(string) convention. It was only a bridge for consumers bound to targets < .NET Standard 2.1. Now we encourage upgrade to FromText(ReadOnlySpan<char>) - especially since all simple type parsers are exposed via singletons (see i.e. DoubleParser.Instance)