Sundew.Base.Reporting
14.0.0-u20241027-231034-ci
See the version list below for details.
dotnet add package Sundew.Base.Reporting --version 14.0.0-u20241027-231034-ci
NuGet\Install-Package Sundew.Base.Reporting -Version 14.0.0-u20241027-231034-ci
<PackageReference Include="Sundew.Base.Reporting" Version="14.0.0-u20241027-231034-ci" />
paket add Sundew.Base.Reporting --version 14.0.0-u20241027-231034-ci
#r "nuget: Sundew.Base.Reporting, 14.0.0-u20241027-231034-ci"
// Install Sundew.Base.Reporting as a Cake Addin #addin nuget:?package=Sundew.Base.Reporting&version=14.0.0-u20241027-231034-ci&prerelease // Install Sundew.Base.Reporting as a Cake Tool #tool nuget:?package=Sundew.Base.Reporting&version=14.0.0-u20241027-231034-ci&prerelease
Sundew.Base
Sundew.Base is a collection of smaller NuGet packages that work on various .NETStandard targets:
Collections
Contains various Linq style extension methods for collection types suchs IEnumerable, IReadOnlyList etc.
- For, ForEach, ForReverse, IndexOf, ToReadOnly.
- AllOrFailed extension allows seemless conversion from IEnumerable<TItem?> to IEnumerable<TItem>.
- OnlyOneOrDefault similar to SingleOrDefault, but never throws.
- DistinctInOrder items only appear once, while preserving order.
- ByCardinality extension allows checking whether an IEnumerable<TItem> is empty, has a single element or multiple elements.
- Value-Array, List and Dictionary* wrappers for Immutable collections with value semantics. (* Not on NETStandard1.2)
Primitives
- Result types (R<T, E> and R<E>)
- Option type T? (through extension methods).
Computation
- Attempter for implementing retry logic.
- Progress reporting
Numeric
- Interval represents an interval of two values.
- Percentage value type.
Time
- DateTime provider.
IO
- Paths - search upwards for relative paths.
Text
- AlignedString and AlignAndLimitFormatProvider providers aligning and length limiting string formatting.
- NamedFormatString allows to define a string format using names rather than indices.
- NaturalTextComparer does logical text comparison for all platforms with performance similar to the Windows specific StrCmpLogicalW.
- AppendItems allows joining items into a StringBuilder.
Initialization
- IInitializable for implementing async initialization logic.
- InitializeAction for wrapping an Action in an IInitializable.
- Initializer provides initialization of IInitializables.
- InitializeFlag for keeping tracking whether initialization is completed.
Disposal
- DisposeAction for wrapping an Action in an IDisposable.
- Disposer provides disposal of a fixed set of IDisposables.
- DisposableState provides an easy way to implement the Dispose(bool) pattern.
- DisposingDictionary allows building a list of IDisposables that supports disposal by a key and otherwise supports disposal in the same order.
- DisposingList allows building a list of IDisposables for disposal in the same order.
IAsyncDisposable is only supported on .NETStandard2.1
Equality
- ReferenceEqualityComparer compares objects by reference.
- TargetEqualityWeakReference is a weak reference that implements equality based on target equality.
Memory
- Buffer allows building arrays
- Split extensions allows Linq style splitting memory in to segments.
Threading and Threading.Jobs
- AsyncLazy provides a cancellable async lazy implementation
- AsyncLock provides async locking.
- Flag is an Interlocked.Exchanged based flag.
- CancellableJob is implementation of a cancellable task.
- ContinusJob is implementation of a cancellable task that keeps running.
Timers
- Timer is an easy to use and modify timer.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.0 is compatible. netstandard1.1 was computed. netstandard1.2 was computed. netstandard1.3 was computed. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net45 was computed. net451 was computed. net452 was computed. net46 was computed. 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 | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Windows Phone | wp8 was computed. wp81 was computed. wpa81 was computed. |
Windows Store | netcore was computed. netcore45 was computed. netcore451 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 1.0
- NETStandard.Library (>= 1.6.1)
-
.NETStandard 2.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Sundew.Base.Reporting:
Package | Downloads |
---|---|
Sundew.Base
All in one package including: Sundew.Base.Collections Sundew.Base.Disposal Sundew.Base.Equality Sundew.Base.Initialization Sundew.Base.Memory Sundew.Base.Primitives Sundew.Base.Computation Sundew.Base.Numeric Sundew.Base.Time Sundew.Base.IO Sundew.Base.Reporting Sundew.Base.Text Sundew.Base.Threading.Jobs Sundew.Base.Threading Sundew.Base.Timers |
|
Sundew.Base.Memory
Various extensions and classes for working with memory. |
|
Sundew.Base.Disposal
Various type helping with implementation of IDisposable |
|
Sundew.Base.Initialization
Various type helping with initialization |
GitHub repositories
This package is not used by any popular GitHub repositories.
14.0 - Result and collections improvements
13.0 - Results improvements
12.0 - Restructing into smaller packages
11.0 - Unified Disposal and Initialization
10.0 - O.None was changed to a property
9.0 - Immutable collections with value semantics, Result type redesign and new Option type, AppendItems replaces AggregateToStringBuilder and JoinToStringBuilder.
8.5 - JoinToStringBuilder and AggregateToStringBuilder improvements
8.4 - AllOrFailed extension for IEnumerable<T>
8.3 - NamedFormatString and AsyncLazy improvements
8.2 - ToEnumerable returns IReadOnlyCollection, Added Disposer ctors to avoid ambiguous calls
8.1 - Added NaturalTextComparer
8.0 - Added NamedFormatProvider, removed Text Split, use Memory.Split instead
7.0 - Split into separate packages and cleanup