Sundew.Base
12.0.10
See the version list below for details.
dotnet add package Sundew.Base --version 12.0.10
NuGet\Install-Package Sundew.Base -Version 12.0.10
<PackageReference Include="Sundew.Base" Version="12.0.10" />
paket add Sundew.Base --version 12.0.10
#r "nuget: Sundew.Base, 12.0.10"
// Install Sundew.Base as a Cake Addin
#addin nuget:?package=Sundew.Base&version=12.0.10
// Install Sundew.Base as a Cake Tool
#tool nuget:?package=Sundew.Base&version=12.0.10
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 (>= 12.0.10)
- Sundew.Base.Computation (>= 12.0.10)
- Sundew.Base.Disposal (>= 12.0.10)
- Sundew.Base.Equality (>= 12.0.10)
- Sundew.Base.Initialization (>= 12.0.10)
- Sundew.Base.IO (>= 12.0.10)
- Sundew.Base.Memory (>= 12.0.10)
- Sundew.Base.Numeric (>= 12.0.10)
- Sundew.Base.Primitives (>= 12.0.10)
- Sundew.Base.Reporting (>= 12.0.10)
- Sundew.Base.Text (>= 12.0.10)
- Sundew.Base.Threading (>= 12.0.10)
- Sundew.Base.Threading.Jobs (>= 12.0.10)
- Sundew.Base.Time (>= 12.0.10)
- Sundew.Base.Timers (>= 12.0.10)
-
.NETStandard 2.0
- Sundew.Base.Collections (>= 12.0.10)
- Sundew.Base.Computation (>= 12.0.10)
- Sundew.Base.Disposal (>= 12.0.10)
- Sundew.Base.Equality (>= 12.0.10)
- Sundew.Base.Initialization (>= 12.0.10)
- Sundew.Base.IO (>= 12.0.10)
- Sundew.Base.Memory (>= 12.0.10)
- Sundew.Base.Numeric (>= 12.0.10)
- Sundew.Base.Primitives (>= 12.0.10)
- Sundew.Base.Reporting (>= 12.0.10)
- Sundew.Base.Text (>= 12.0.10)
- Sundew.Base.Threading (>= 12.0.10)
- Sundew.Base.Threading.Jobs (>= 12.0.10)
- Sundew.Base.Time (>= 12.0.10)
- Sundew.Base.Timers (>= 12.0.10)
-
.NETStandard 2.1
- Sundew.Base.Collections (>= 12.0.10)
- Sundew.Base.Computation (>= 12.0.10)
- Sundew.Base.Disposal (>= 12.0.10)
- Sundew.Base.Equality (>= 12.0.10)
- Sundew.Base.Initialization (>= 12.0.10)
- Sundew.Base.IO (>= 12.0.10)
- Sundew.Base.Memory (>= 12.0.10)
- Sundew.Base.Numeric (>= 12.0.10)
- Sundew.Base.Primitives (>= 12.0.10)
- Sundew.Base.Reporting (>= 12.0.10)
- Sundew.Base.Text (>= 12.0.10)
- Sundew.Base.Threading (>= 12.0.10)
- Sundew.Base.Threading.Jobs (>= 12.0.10)
- Sundew.Base.Time (>= 12.0.10)
- Sundew.Base.Timers (>= 12.0.10)
-
net6.0
- Sundew.Base.Collections (>= 12.0.10)
- Sundew.Base.Computation (>= 12.0.10)
- Sundew.Base.Disposal (>= 12.0.10)
- Sundew.Base.Equality (>= 12.0.10)
- Sundew.Base.Initialization (>= 12.0.10)
- Sundew.Base.IO (>= 12.0.10)
- Sundew.Base.Memory (>= 12.0.10)
- Sundew.Base.Numeric (>= 12.0.10)
- Sundew.Base.Primitives (>= 12.0.10)
- Sundew.Base.Reporting (>= 12.0.10)
- Sundew.Base.Text (>= 12.0.10)
- Sundew.Base.Threading (>= 12.0.10)
- Sundew.Base.Threading.Jobs (>= 12.0.10)
- Sundew.Base.Time (>= 12.0.10)
- Sundew.Base.Timers (>= 12.0.10)
-
net8.0
- Sundew.Base.Collections (>= 12.0.10)
- Sundew.Base.Computation (>= 12.0.10)
- Sundew.Base.Disposal (>= 12.0.10)
- Sundew.Base.Equality (>= 12.0.10)
- Sundew.Base.Initialization (>= 12.0.10)
- Sundew.Base.IO (>= 12.0.10)
- Sundew.Base.Memory (>= 12.0.10)
- Sundew.Base.Numeric (>= 12.0.10)
- Sundew.Base.Primitives (>= 12.0.10)
- Sundew.Base.Reporting (>= 12.0.10)
- Sundew.Base.Text (>= 12.0.10)
- Sundew.Base.Threading (>= 12.0.10)
- Sundew.Base.Threading.Jobs (>= 12.0.10)
- Sundew.Base.Time (>= 12.0.10)
- Sundew.Base.Timers (>= 12.0.10)
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.1 | 37 | 4/22/2024 |
13.0.0 | 31 | 4/21/2024 |
13.0.0-u20240421-225911-ci | 30 | 4/21/2024 |
12.0.11 | 40 | 4/10/2024 |
12.0.10 | 47 | 4/1/2024 |
12.0.9 | 44 | 3/7/2024 |
12.0.8 | 62 | 3/6/2024 |
12.0.7 | 43 | 2/17/2024 |
12.0.6 | 54 | 2/15/2024 |
12.0.5 | 79 | 1/11/2024 |
12.0.4 | 63 | 12/20/2023 |
12.0.3 | 40 | 12/20/2023 |
12.0.3-u20231218-221551-ci | 50 | 12/18/2023 |
12.0.2 | 63 | 12/18/2023 |
12.0.1 | 47 | 12/18/2023 |
12.0.0-u20231217-235410-ci | 46 | 12/17/2023 |
12.0.0-u20231217-004830-ci | 69 | 12/17/2023 |
12.0.0-u20231215-231654-ci | 45 | 12/15/2023 |
12.0.0-u20231213-192645-ci | 49 | 12/13/2023 |
12.0.0-u20231208-053800-ci | 65 | 12/8/2023 |
12.0.0-u20231207-231824-ci | 56 | 12/7/2023 |
11.1.1-u20231204-122443-ci | 54 | 12/4/2023 |
11.1.0 | 76 | 12/4/2023 |
11.0.5 | 67 | 11/29/2023 |
11.0.5-u20231128-235732-ci | 45 | 11/28/2023 |
11.0.4 | 58 | 11/26/2023 |
11.0.4-u20231126-224715-ci | 40 | 11/26/2023 |
11.0.3 | 46 | 11/26/2023 |
11.0.3-u20231126-224220-ci | 46 | 11/26/2023 |
11.0.3-u20231126-223517-ci | 46 | 11/26/2023 |
11.0.2 | 47 | 11/26/2023 |
11.0.2-u20231126-220344-ci | 43 | 11/26/2023 |
11.0.2-u20231126-204834-ci | 42 | 11/26/2023 |
11.0.1 | 47 | 11/26/2023 |
11.0.1-u20231126-084441-ci | 45 | 11/26/2023 |
11.0.1-u20231125-093601-ci | 50 | 11/25/2023 |
11.0.1-u20231125-084958-ci | 50 | 11/25/2023 |
11.0.1-u20231124-043154-ci | 50 | 11/24/2023 |
11.0.0 | 55 | 11/20/2023 |
11.0.0-u20231120-225113-ci | 45 | 11/20/2023 |
11.0.0-u20231008-215545-ci | 55 | 10/8/2023 |
11.0.0-u20230913-225400-ci | 57 | 9/13/2023 |
10.0.2 | 193 | 4/25/2023 |
10.0.2-u20230425-230314-ci | 79 | 4/25/2023 |
10.0.1 | 108 | 4/16/2023 |
10.0.1-u20230416-183028-ci | 79 | 4/16/2023 |
10.0.0 | 121 | 4/4/2023 |
10.0.0-u20230404-205341-ci | 90 | 4/4/2023 |
9.0.2 | 144 | 3/23/2023 |
9.0.2-u20230323-222935-ci | 99 | 3/23/2023 |
9.0.2-u20230323-222315-ci | 86 | 3/23/2023 |
9.0.1 | 119 | 3/19/2023 |
9.0.1-u20230319-234935-ci | 99 | 3/19/2023 |
9.0.0 | 112 | 3/16/2023 |
9.0.0-u20230316-230842-ci | 82 | 3/16/2023 |
9.0.0-u20230316-230216-ci | 87 | 3/16/2023 |
9.0.0-u20230316-225941-ci | 91 | 3/16/2023 |
9.0.0-u20230309-233136-ci | 90 | 3/9/2023 |
9.0.0-u20230308-224825-ci | 95 | 3/8/2023 |
8.5.0-u20230124-211210-ci | 103 | 1/24/2023 |
8.4.0 | 213 | 1/8/2023 |
8.4.0-u20230108-222039-ci | 95 | 1/8/2023 |
8.4.0-u20230104-001511-ci | 111 | 1/4/2023 |
8.4.0-u20230103-232731-ci | 104 | 1/3/2023 |
8.4.0-u20221230-085639-ci | 98 | 12/30/2022 |
8.3.3 | 122 | 11/29/2022 |
8.3.3-u20221129-215337-ci | 94 | 11/29/2022 |
8.3.2 | 98 | 11/28/2022 |
8.3.2-u20221128-224653-ci | 93 | 11/28/2022 |
8.3.1 | 104 | 11/26/2022 |
8.3.1-u20221126-220820-ci | 102 | 11/26/2022 |
8.3.0 | 216 | 11/26/2022 |
8.3.0-u20221126-212005-ci | 94 | 11/26/2022 |
8.3.0-u20221126-193947-ci | 90 | 11/26/2022 |
8.3.0-u20221126-155130-ci | 97 | 11/26/2022 |
8.2.1-u20221126-062640-ci | 88 | 11/26/2022 |
8.2.1-u20220821-115451-ci | 119 | 8/21/2022 |
8.2.0 | 139 | 8/17/2022 |
8.2.0-u20220817-225409-ci | 125 | 8/17/2022 |
8.1.2-u20220810-203642-ci | 132 | 8/10/2022 |
8.1.2-u20220802-202525-ci | 127 | 8/2/2022 |
8.1.2-u20220711-200741-ci | 132 | 7/11/2022 |
8.1.2-u20220711-200523-ci | 131 | 7/11/2022 |
8.1.2-u20220623-214900-ci | 121 | 6/23/2022 |
8.1.2-u20220623-214041-ci | 120 | 6/23/2022 |
8.1.2-u20220622-182000-ci | 130 | 6/22/2022 |
8.1.1 | 154 | 6/18/2022 |
8.1.1-u20220618-164600-ci | 143 | 6/18/2022 |
8.1.1-u20211120-051949-ci | 446 | 11/20/2021 |
8.1.0 | 488 | 11/20/2021 |
8.1.0-u20211120-035533-ci | 452 | 11/20/2021 |
8.0.15-u20211120-002647-ci | 531 | 11/20/2021 |
8.0.14 | 244 | 6/18/2021 |
8.0.13 | 241 | 6/18/2021 |
8.0.12 | 166 | 6/18/2021 |
8.0.11 | 5,232 | 6/17/2021 |
8.0.10 | 203 | 6/17/2021 |
8.0.9 | 223 | 6/17/2021 |
8.0.8 | 225 | 6/17/2021 |
8.0.7 | 213 | 6/17/2021 |
8.0.6 | 215 | 6/17/2021 |
8.0.5 | 160 | 6/17/2021 |
8.0.4 | 186 | 6/17/2021 |
8.0.3 | 4,910 | 6/13/2021 |
8.0.2 | 4,971 | 6/13/2021 |
8.0.1 | 4,983 | 6/13/2021 |
8.0.0 | 5,191 | 6/13/2021 |
7.0.3 | 6,914 | 5/2/2021 |
7.0.2 | 5,345 | 5/2/2021 |
7.0.1 | 5,321 | 5/2/2021 |
7.0.0 | 5,977 | 4/7/2021 |
6.0.0 | 21,593 | 12/5/2020 |
5.0.0 | 5,834 | 10/23/2020 |
4.2.3 | 4,144 | 9/24/2020 |
4.2.2 | 1,519 | 8/26/2020 |
4.2.1 | 1,532 | 6/4/2020 |
4.2.0 | 2,450 | 6/4/2020 |
4.1.0 | 3,853 | 3/5/2020 |
4.0.0 | 7,409 | 11/10/2019 |
4.0.0-pre002 | 1,868 | 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,627 | 9/20/2019 |
3.3.9 | 2,671 | 9/18/2019 |
3.3.8 | 4,950 | 2/4/2019 |
3.3.7 | 2,610 | 2/3/2019 |
3.3.6 | 1,717 | 2/3/2019 |
3.3.5 | 1,792 | 2/3/2019 |
3.3.4 | 1,806 | 2/3/2019 |
3.3.3 | 1,811 | 2/3/2019 |
3.3.2 | 1,854 | 2/3/2019 |
3.3.1 | 1,780 | 2/3/2019 |
3.3.0 | 3,653 | 1/31/2019 |
3.3.0-pre002 | 1,610 | 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,361 | 1/14/2019 |
3.2.4 | 2,651 | 1/13/2019 |
3.2.3 | 1,782 | 1/13/2019 |
3.2.2 | 1,894 | 12/2/2018 |
3.2.1 | 1,805 | 11/29/2018 |
3.0.0 | 2,824 | 3/11/2017 |
2.6.0 | 2,078 | 3/8/2017 |
2.5.0 | 3,548 | 1/31/2017 |
2.4.0 | 2,026 | 1/24/2017 |
2.3.0 | 2,023 | 1/24/2017 |
2.2.0 | 2,115 | 1/23/2017 |
2.1.0 | 2,069 | 1/5/2017 |
2.0.26 | 2,173 | 3/7/2016 |
2.0.25 | 2,236 | 2/13/2016 |
2.0.24 | 2,192 | 2/11/2016 |
2.0.23 | 2,234 | 2/11/2016 |
2.0.22 | 2,001 | 2/11/2016 |
2.0.21 | 2,103 | 2/5/2016 |
2.0.20 | 2,099 | 2/4/2016 |
2.0.19 | 2,546 | 2/1/2016 |
1.0.19 | 2,101 | 2/1/2016 |
1.0.18-alpha | 1,853 | 2/1/2016 |
1.0.17-alpha | 1,905 | 12/19/2015 |
1.0.16-alpha | 1,999 | 12/3/2015 |
1.0.15-alpha | 1,876 | 11/25/2015 |
1.0.14-alpha | 1,968 | 11/21/2015 |
1.0.13-alpha | 1,912 | 11/18/2015 |
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