<Project Sdk="Microsoft.NET.Sdk">

	<PropertyGroup>
		<TargetFrameworks>net6.0;net48;netstandard2.0;netstandard2.1</TargetFrameworks>
		<ImplicitUsings>disable</ImplicitUsings>
		<Nullable>disable</Nullable>
		<Version>2.1.3</Version>
		<Title>Expand linq fluent methods with some useful constructs for developing code</Title>
		<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
		<Authors>Samuele Bartolucci</Authors>
		<Description>Add new Linq style functionalities to help the develop process  
# What's NEW 2.1.3
- Added: `WhenIsTrue`,`WhenIsFalse`,`WhenAll`,`WhenAllAsync`,`WhenIsTrueAsync`,`WhenIsFalseAsync`,`ThenForAll`
- Added: `T.TryTo(Action(T))` (without explicit error managemer)
- Fixed: `Outcome.WhenSuccess`, `Outcome.WhenFailure`, `Optional&lt;T&gt;.OrOptn(Optional&lt;T&gt;, Func&lt;T,T bool&gt;)`


# What's NEW 2.1.2
- Added `SwitchOptn` and `OrOptn` 
- Added `IsNotNullOrEquivalent`, `IsNullOrEquivalent`
- Added `WhenIsNullOrEquivalent`, `WhenIsNotNullOrEquivalent`, `WhenEqualsTo`, `WhenAny`, `WhenEmptyOrNull`
- Added  `Outcome.WhenSuccess`, `Outcome.WhenFailure`

# What's NEW 2.1.2
- Added `SwitchOptn` and `OrOptn` 
- Added `IsNotNullOrEquivalent`, `IsNullOrEquivalent`
- Added `WhenIsNullOrEquivalent`, `WhenIsNotNullOrEquivalent`, `WhenEqualsTo`, `WhenAny`, `WhenEmptyOrNull`

# What's NEW 2.1.1
- Added new types Optional&lt;T&gt; and Unit
- Updated base extensions to manage Optional&lt;T&gt; (Do, Or, Outcome, When)
- Updated Outcome wrong base class extension to remove .Subject field (never intended to be part of it)
- Added implicit operators true/false/!
- Renamed Context internal class to SubjectContext
- Added RsultContext, SubjectContextReadonly,

# What's NEW 2.1.0
- Fixed `Outcome.Succes` typo
- Fixed `FluentContext.IsSuccesful` typo. This change impacts: `TryCatch.IsSuccesful`, `When.IsSuccesful`, `Outcome.IsSuccesful`

# What's NEW 2.0.1
- Added DoWrap and DoWrapAsync to quickly manage value types
- Added `Outcome&lt;R,L&gt;` to mimic the F# `Result&lt;'T,'TFailure&gt;` (with Map and Bind functionalities) [railway oriented programing (https://fsharpforfunandprofit.com/rop/]

# What's NEW 2.0.0
- Do now ALWAYS return the subject (even when called with a Func)
- Removed the Do extension with a single Action/Func, left only the extension with params[] Action/Func
- Added the DoAsync extension
- Changed DoForAll into DoForEach, added DoForEachAsync
- Changed DoForAllMap into MapForEach, added MapForEachAsync
- Removed EqualsToAny and EqualsTo (with input a comparator) same as EquivalentTo or quivalentToAny
- Added EqualsToAnyAsync (without input comparator)
- Added MapAsync
- Collapsed Switch and SwitchMap into Switch
- Added SwitchAsync
- Added TryAsync and TryToAsync
- Collapsed Then(onSuccess, onFail) and ThenMap(onSuccess, onFail) into Then
- Added WhenAnyAsync, WhenAsync</Description>
		<PackageProjectUrl>https://github.com/SamueleBartolucci/FluentCoding</PackageProjectUrl>
		<RepositoryUrl>https://github.com/SamueleBartolucci/FluentCoding</RepositoryUrl>
		<PackageReleaseNotes>
# What's NEW 2.1.3
- Added: `WhenIsTrue`,`WhenIsFalse`,`WhenAll`,`WhenAllAsync`,`WhenIsTrueAsync`,`WhenIsFalseAsync`,`ThenForAll`
- Added: `T.TryTo(Action(T))` (without explicit error managemer)
- Fixed: `Outcome.WhenSuccess`, `Outcome.WhenFailure`, `Optional&lt;T&gt;.OrOptn(Optional&lt;T&gt;, Func&lt;T,T bool&gt;)`

# What's NEW 2.1.2
- Added `SwitchOptn` and `OrOptn` 
- Added `IsNotNullOrEquivalent`, `IsNullOrEquivalent`
- Added `WhenIsNullOrEquivalent`, `WhenIsNotNullOrEquivalent`, `WhenEqualsTo`, `WhenAny`, `WhenEmptyOrNull`
- Added  `Outcome.WhenSuccess`, `Outcome.WhenFailure`

# What's NEW 2.1.1
- Added new types Optional&lt;T&gt; and Unit
- Updated base extensions to manage Optional&lt;T&gt; (Do, Or, Outcome, When)
- Updated Outcome wrong base class extension to remove .Subject field (never intended to be part of it)
- Added implicit operators true/false/!
- Renamed Context internal class to SubjectContext
- Added RsultContext, SubjectContextReadonly,

# What's NEW 2.1.0
- Fixed `Outcome.Succes` typo
- Fixed `FluentContext.IsSuccesful` typo. This change impacts: `TryCatch.IsSuccesful`, `When.IsSuccesful`, `Outcome.IsSuccesful`

# What's NEW 2.0.1
- Added DoWrap and DoWrapAsync to quickly manage value types
- Added `Outcome&lt;R,L&gt;;` to mimic the F# `Result&lt;'T,'TFailure&gt;` (with Map and Bind functionalities) [railway oriented programing (https://fsharpforfunandprofit.com/rop/]

# What's NEW 2.0.0
- Do now ALWAYS return the subject (even when called with a Func)
- Removed the Do extension with a single Action/Func, left only the extension with params[] Action/Func
- Added the DoAsync extension
- Changed DoForAll into DoForEach, added DoForEachAsync
- Changed DoForAllMap into MapForEach, added MapForEachAsync
- Removed EqualsToAny and EqualsTo (with input a comparator) same as EquivalentTo or quivalentToAny
- Added EqualsToAnyAsync (without input comparator)
- Added MapAsync
- Collapsed Switch and SwitchMap into Switch
- Added SwitchAsync
- Added TryAsync and TryToAsync
- Collapsed Then(onSuccess, onFail) and ThenMap(onSuccess, onFail) into Then
- Added WhenAnyAsync, WhenAsync
		</PackageReleaseNotes>
		<PackageReadmeFile>README.md</PackageReadmeFile>
		<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
		<SignAssembly>True</SignAssembly>
		<AssemblyOriginatorKeyFile>..\..\fluent.snk</AssemblyOriginatorKeyFile>
		<GenerateDocumentationFile>True</GenerateDocumentationFile>
	</PropertyGroup>

	<ItemGroup>
		<None Include="..\..\LICENSE.txt">
		  <Pack>True</Pack>
		  <PackagePath>\</PackagePath>
		</None>
		<None Include="..\..\README.md" Pack="true" PackagePath="" />
	</ItemGroup>

	<ItemGroup>
	  <Folder Include="FluentExtensions\Equals\Generics\Task.Enumerable.T\" />
	</ItemGroup>
</Project>
