FluentCoding (nuget): Add new Linq style functionalities to help the develop process     # 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<T> and Unit - Updated base extensions to manage Optional<T> (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<R,L>;` to mimic the F# `Result<'T,'TFailure>` (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
Keywords: |fluent-development|functional-programming|linq