Sundew.Base
13.0.2
See the version list below for details.
dotnet add package Sundew.Base --version 13.0.2
NuGet\Install-Package Sundew.Base -Version 13.0.2
<PackageReference Include="Sundew.Base" Version="13.0.2" />
paket add Sundew.Base --version 13.0.2
#r "nuget: Sundew.Base, 13.0.2"
// Install Sundew.Base as a Cake Addin
#addin nuget:?package=Sundew.Base&version=13.0.2
// Install Sundew.Base as a Cake Tool
#tool nuget:?package=Sundew.Base&version=13.0.2
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.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 1.5
- NETStandard.Library (>= 1.6.1)
- Sundew.Base.Collections (>= 13.0.2)
- Sundew.Base.Computation (>= 13.0.2)
- Sundew.Base.Disposal (>= 13.0.2)
- Sundew.Base.Equality (>= 13.0.2)
- Sundew.Base.Initialization (>= 13.0.2)
- Sundew.Base.IO (>= 13.0.2)
- Sundew.Base.Memory (>= 13.0.2)
- Sundew.Base.Numeric (>= 13.0.2)
- Sundew.Base.Primitives (>= 13.0.2)
- Sundew.Base.Reporting (>= 13.0.2)
- Sundew.Base.Text (>= 13.0.2)
- Sundew.Base.Threading (>= 13.0.2)
- Sundew.Base.Threading.Jobs (>= 13.0.2)
- Sundew.Base.Time (>= 13.0.2)
- Sundew.Base.Timers (>= 13.0.2)
-
.NETStandard 2.0
- Sundew.Base.Collections (>= 13.0.2)
- Sundew.Base.Computation (>= 13.0.2)
- Sundew.Base.Disposal (>= 13.0.2)
- Sundew.Base.Equality (>= 13.0.2)
- Sundew.Base.Initialization (>= 13.0.2)
- Sundew.Base.IO (>= 13.0.2)
- Sundew.Base.Memory (>= 13.0.2)
- Sundew.Base.Numeric (>= 13.0.2)
- Sundew.Base.Primitives (>= 13.0.2)
- Sundew.Base.Reporting (>= 13.0.2)
- Sundew.Base.Text (>= 13.0.2)
- Sundew.Base.Threading (>= 13.0.2)
- Sundew.Base.Threading.Jobs (>= 13.0.2)
- Sundew.Base.Time (>= 13.0.2)
- Sundew.Base.Timers (>= 13.0.2)
-
.NETStandard 2.1
- Sundew.Base.Collections (>= 13.0.2)
- Sundew.Base.Computation (>= 13.0.2)
- Sundew.Base.Disposal (>= 13.0.2)
- Sundew.Base.Equality (>= 13.0.2)
- Sundew.Base.Initialization (>= 13.0.2)
- Sundew.Base.IO (>= 13.0.2)
- Sundew.Base.Memory (>= 13.0.2)
- Sundew.Base.Numeric (>= 13.0.2)
- Sundew.Base.Primitives (>= 13.0.2)
- Sundew.Base.Reporting (>= 13.0.2)
- Sundew.Base.Text (>= 13.0.2)
- Sundew.Base.Threading (>= 13.0.2)
- Sundew.Base.Threading.Jobs (>= 13.0.2)
- Sundew.Base.Time (>= 13.0.2)
- Sundew.Base.Timers (>= 13.0.2)
-
net6.0
- Sundew.Base.Collections (>= 13.0.2)
- Sundew.Base.Computation (>= 13.0.2)
- Sundew.Base.Disposal (>= 13.0.2)
- Sundew.Base.Equality (>= 13.0.2)
- Sundew.Base.Initialization (>= 13.0.2)
- Sundew.Base.IO (>= 13.0.2)
- Sundew.Base.Memory (>= 13.0.2)
- Sundew.Base.Numeric (>= 13.0.2)
- Sundew.Base.Primitives (>= 13.0.2)
- Sundew.Base.Reporting (>= 13.0.2)
- Sundew.Base.Text (>= 13.0.2)
- Sundew.Base.Threading (>= 13.0.2)
- Sundew.Base.Threading.Jobs (>= 13.0.2)
- Sundew.Base.Time (>= 13.0.2)
- Sundew.Base.Timers (>= 13.0.2)
-
net8.0
- Sundew.Base.Collections (>= 13.0.2)
- Sundew.Base.Computation (>= 13.0.2)
- Sundew.Base.Disposal (>= 13.0.2)
- Sundew.Base.Equality (>= 13.0.2)
- Sundew.Base.Initialization (>= 13.0.2)
- Sundew.Base.IO (>= 13.0.2)
- Sundew.Base.Memory (>= 13.0.2)
- Sundew.Base.Numeric (>= 13.0.2)
- Sundew.Base.Primitives (>= 13.0.2)
- Sundew.Base.Reporting (>= 13.0.2)
- Sundew.Base.Text (>= 13.0.2)
- Sundew.Base.Threading (>= 13.0.2)
- Sundew.Base.Threading.Jobs (>= 13.0.2)
- Sundew.Base.Time (>= 13.0.2)
- Sundew.Base.Timers (>= 13.0.2)
NuGet packages (11)
Showing the top 5 NuGet packages that depend on Sundew.Base:
Package | Downloads |
---|---|
Pi.System.SundewFork
Package Description |
|
Sundew.TextView.ApplicationFramework
Application framework for implementing text display based applications. |
|
MpcNET.SundewFork
Package Description |
|
Pi.SundewFork
Package Description |
|
Sundew.Pi.IO.Devices
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
13.0.3 | 24 | 6/14/2024 |
13.0.3-u20240518-160748-ci | 28 | 5/18/2024 |
13.0.2 | 33 | 5/18/2024 |
13.0.1 | 63 | 4/22/2024 |
13.0.0 | 34 | 4/21/2024 |
13.0.0-u20240421-225911-ci | 35 | 4/21/2024 |
12.0.11 | 46 | 4/10/2024 |
12.0.10 | 55 | 4/1/2024 |
12.0.9 | 47 | 3/7/2024 |
12.0.8 | 71 | 3/6/2024 |
12.0.7 | 46 | 2/17/2024 |
12.0.6 | 56 | 2/15/2024 |
12.0.5 | 85 | 1/11/2024 |
12.0.4 | 66 | 12/20/2023 |
12.0.3 | 42 | 12/20/2023 |
12.0.3-u20231218-221551-ci | 52 | 12/18/2023 |
12.0.2 | 65 | 12/18/2023 |
12.0.1 | 55 | 12/18/2023 |
12.0.0-u20231217-235410-ci | 47 | 12/17/2023 |
12.0.0-u20231217-004830-ci | 70 | 12/17/2023 |
12.0.0-u20231215-231654-ci | 46 | 12/15/2023 |
12.0.0-u20231213-192645-ci | 50 | 12/13/2023 |
12.0.0-u20231208-053800-ci | 66 | 12/8/2023 |
12.0.0-u20231207-231824-ci | 57 | 12/7/2023 |
11.1.1-u20231204-122443-ci | 62 | 12/4/2023 |
11.1.0 | 81 | 12/4/2023 |
11.0.5 | 70 | 11/29/2023 |
11.0.5-u20231128-235732-ci | 47 | 11/28/2023 |
11.0.4 | 60 | 11/26/2023 |
11.0.4-u20231126-224715-ci | 41 | 11/26/2023 |
11.0.3 | 48 | 11/26/2023 |
11.0.3-u20231126-224220-ci | 47 | 11/26/2023 |
11.0.3-u20231126-223517-ci | 47 | 11/26/2023 |
11.0.2 | 49 | 11/26/2023 |
11.0.2-u20231126-220344-ci | 44 | 11/26/2023 |
11.0.2-u20231126-204834-ci | 43 | 11/26/2023 |
11.0.1 | 49 | 11/26/2023 |
11.0.1-u20231126-084441-ci | 46 | 11/26/2023 |
11.0.1-u20231125-093601-ci | 51 | 11/25/2023 |
11.0.1-u20231125-084958-ci | 51 | 11/25/2023 |
11.0.1-u20231124-043154-ci | 57 | 11/24/2023 |
11.0.0 | 57 | 11/20/2023 |
11.0.0-u20231120-225113-ci | 46 | 11/20/2023 |
11.0.0-u20231008-215545-ci | 57 | 10/8/2023 |
11.0.0-u20230913-225400-ci | 59 | 9/13/2023 |
10.0.2 | 198 | 4/25/2023 |
10.0.2-u20230425-230314-ci | 86 | 4/25/2023 |
10.0.1 | 110 | 4/16/2023 |
10.0.1-u20230416-183028-ci | 80 | 4/16/2023 |
10.0.0 | 123 | 4/4/2023 |
10.0.0-u20230404-205341-ci | 91 | 4/4/2023 |
9.0.2 | 155 | 3/23/2023 |
9.0.2-u20230323-222935-ci | 101 | 3/23/2023 |
9.0.2-u20230323-222315-ci | 93 | 3/23/2023 |
9.0.1 | 121 | 3/19/2023 |
9.0.1-u20230319-234935-ci | 104 | 3/19/2023 |
9.0.0 | 114 | 3/16/2023 |
9.0.0-u20230316-230842-ci | 83 | 3/16/2023 |
9.0.0-u20230316-230216-ci | 94 | 3/16/2023 |
9.0.0-u20230316-225941-ci | 92 | 3/16/2023 |
9.0.0-u20230309-233136-ci | 91 | 3/9/2023 |
9.0.0-u20230308-224825-ci | 96 | 3/8/2023 |
8.5.0-u20230124-211210-ci | 105 | 1/24/2023 |
8.4.0 | 216 | 1/8/2023 |
8.4.0-u20230108-222039-ci | 97 | 1/8/2023 |
8.4.0-u20230104-001511-ci | 112 | 1/4/2023 |
8.4.0-u20230103-232731-ci | 105 | 1/3/2023 |
8.4.0-u20221230-085639-ci | 100 | 12/30/2022 |
8.3.3 | 125 | 11/29/2022 |
8.3.3-u20221129-215337-ci | 102 | 11/29/2022 |
8.3.2 | 100 | 11/28/2022 |
8.3.2-u20221128-224653-ci | 94 | 11/28/2022 |
8.3.1 | 106 | 11/26/2022 |
8.3.1-u20221126-220820-ci | 103 | 11/26/2022 |
8.3.0 | 220 | 11/26/2022 |
8.3.0-u20221126-212005-ci | 95 | 11/26/2022 |
8.3.0-u20221126-193947-ci | 91 | 11/26/2022 |
8.3.0-u20221126-155130-ci | 98 | 11/26/2022 |
8.2.1-u20221126-062640-ci | 90 | 11/26/2022 |
8.2.1-u20220821-115451-ci | 121 | 8/21/2022 |
8.2.0 | 142 | 8/17/2022 |
8.2.0-u20220817-225409-ci | 126 | 8/17/2022 |
8.1.2-u20220810-203642-ci | 134 | 8/10/2022 |
8.1.2-u20220802-202525-ci | 128 | 8/2/2022 |
8.1.2-u20220711-200741-ci | 134 | 7/11/2022 |
8.1.2-u20220711-200523-ci | 138 | 7/11/2022 |
8.1.2-u20220623-214900-ci | 129 | 6/23/2022 |
8.1.2-u20220623-214041-ci | 121 | 6/23/2022 |
8.1.2-u20220622-182000-ci | 131 | 6/22/2022 |
8.1.1 | 157 | 6/18/2022 |
8.1.1-u20220618-164600-ci | 144 | 6/18/2022 |
8.1.1-u20211120-051949-ci | 447 | 11/20/2021 |
8.1.0 | 491 | 11/20/2021 |
8.1.0-u20211120-035533-ci | 453 | 11/20/2021 |
8.0.15-u20211120-002647-ci | 533 | 11/20/2021 |
8.0.14 | 247 | 6/18/2021 |
8.0.13 | 243 | 6/18/2021 |
8.0.12 | 168 | 6/18/2021 |
8.0.11 | 5,237 | 6/17/2021 |
8.0.10 | 205 | 6/17/2021 |
8.0.9 | 225 | 6/17/2021 |
8.0.8 | 227 | 6/17/2021 |
8.0.7 | 215 | 6/17/2021 |
8.0.6 | 217 | 6/17/2021 |
8.0.5 | 162 | 6/17/2021 |
8.0.4 | 188 | 6/17/2021 |
8.0.3 | 4,912 | 6/13/2021 |
8.0.2 | 4,979 | 6/13/2021 |
8.0.1 | 4,985 | 6/13/2021 |
8.0.0 | 5,199 | 6/13/2021 |
7.0.3 | 6,924 | 5/2/2021 |
7.0.2 | 5,346 | 5/2/2021 |
7.0.1 | 5,322 | 5/2/2021 |
7.0.0 | 5,979 | 4/7/2021 |
6.0.0 | 21,614 | 12/5/2020 |
5.0.0 | 5,838 | 10/23/2020 |
4.2.3 | 4,166 | 9/24/2020 |
4.2.2 | 1,522 | 8/26/2020 |
4.2.1 | 1,537 | 6/4/2020 |
4.2.0 | 2,453 | 6/4/2020 |
4.1.0 | 3,855 | 3/5/2020 |
4.0.0 | 7,428 | 11/10/2019 |
4.0.0-pre002 | 1,874 | 9/30/2019 |
4.0.0-pre001 | 3,576 | 9/27/2019 |
4.0.0-pre000 | 1,435 | 9/27/2019 |
3.3.10 | 2,629 | 9/20/2019 |
3.3.9 | 2,678 | 9/18/2019 |
3.3.8 | 4,956 | 2/4/2019 |
3.3.7 | 2,613 | 2/3/2019 |
3.3.6 | 1,720 | 2/3/2019 |
3.3.5 | 1,795 | 2/3/2019 |
3.3.4 | 1,809 | 2/3/2019 |
3.3.3 | 1,814 | 2/3/2019 |
3.3.2 | 1,857 | 2/3/2019 |
3.3.1 | 1,783 | 2/3/2019 |
3.3.0 | 3,663 | 1/31/2019 |
3.3.0-pre002 | 1,611 | 1/29/2019 |
3.3.0-pre001 | 1,659 | 1/26/2019 |
3.3.0-pre000 | 1,650 | 1/26/2019 |
3.2.5 | 3,365 | 1/14/2019 |
3.2.4 | 2,654 | 1/13/2019 |
3.2.3 | 1,785 | 1/13/2019 |
3.2.2 | 1,904 | 12/2/2018 |
3.2.1 | 1,809 | 11/29/2018 |
3.0.0 | 2,844 | 3/11/2017 |
2.6.0 | 2,082 | 3/8/2017 |
2.5.0 | 3,554 | 1/31/2017 |
2.4.0 | 2,028 | 1/24/2017 |
2.3.0 | 2,025 | 1/24/2017 |
2.2.0 | 2,119 | 1/23/2017 |
2.1.0 | 2,073 | 1/5/2017 |
2.0.26 | 2,178 | 3/7/2016 |
2.0.25 | 2,241 | 2/13/2016 |
2.0.24 | 2,196 | 2/11/2016 |
2.0.23 | 2,238 | 2/11/2016 |
2.0.22 | 2,005 | 2/11/2016 |
2.0.21 | 2,107 | 2/5/2016 |
2.0.20 | 2,103 | 2/4/2016 |
2.0.19 | 2,550 | 2/1/2016 |
1.0.19 | 2,108 | 2/1/2016 |
1.0.18-alpha | 1,855 | 2/1/2016 |
1.0.17-alpha | 1,906 | 12/19/2015 |
1.0.16-alpha | 2,000 | 12/3/2015 |
1.0.15-alpha | 1,877 | 11/25/2015 |
1.0.14-alpha | 1,969 | 11/21/2015 |
1.0.13-alpha | 1,913 | 11/18/2015 |
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