Sundew.Base 13.0.1

This package has a SemVer 2.0.0 package version: 13.0.1+a4d45fcda5.
dotnet add package Sundew.Base --version 13.0.1
NuGet\Install-Package Sundew.Base -Version 13.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sundew.Base" Version="13.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sundew.Base --version 13.0.1
#r "nuget: Sundew.Base, 13.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Sundew.Base as a Cake Addin
#addin nuget:?package=Sundew.Base&version=13.0.1

// Install Sundew.Base as a Cake Tool
#tool nuget:?package=Sundew.Base&version=13.0.1

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.
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

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 34 4/22/2024
13.0.0 30 4/21/2024
13.0.0-u20240421-225911-ci 28 4/21/2024
12.0.11 39 4/10/2024
12.0.10 46 4/1/2024
12.0.9 43 3/7/2024
12.0.8 61 3/6/2024
12.0.7 42 2/17/2024
12.0.6 53 2/15/2024
12.0.5 78 1/11/2024
12.0.4 62 12/20/2023
12.0.3 39 12/20/2023
12.0.3-u20231218-221551-ci 49 12/18/2023
12.0.2 62 12/18/2023
12.0.1 46 12/18/2023
12.0.0-u20231217-235410-ci 45 12/17/2023
12.0.0-u20231217-004830-ci 68 12/17/2023
12.0.0-u20231215-231654-ci 44 12/15/2023
12.0.0-u20231213-192645-ci 48 12/13/2023
12.0.0-u20231208-053800-ci 64 12/8/2023
12.0.0-u20231207-231824-ci 55 12/7/2023
11.1.1-u20231204-122443-ci 53 12/4/2023
11.1.0 75 12/4/2023
11.0.5 66 11/29/2023
11.0.5-u20231128-235732-ci 44 11/28/2023
11.0.4 57 11/26/2023
11.0.4-u20231126-224715-ci 39 11/26/2023
11.0.3 45 11/26/2023
11.0.3-u20231126-224220-ci 45 11/26/2023
11.0.3-u20231126-223517-ci 45 11/26/2023
11.0.2 46 11/26/2023
11.0.2-u20231126-220344-ci 42 11/26/2023
11.0.2-u20231126-204834-ci 41 11/26/2023
11.0.1 46 11/26/2023
11.0.1-u20231126-084441-ci 44 11/26/2023
11.0.1-u20231125-093601-ci 49 11/25/2023
11.0.1-u20231125-084958-ci 49 11/25/2023
11.0.1-u20231124-043154-ci 49 11/24/2023
11.0.0 54 11/20/2023
11.0.0-u20231120-225113-ci 44 11/20/2023
11.0.0-u20231008-215545-ci 54 10/8/2023
11.0.0-u20230913-225400-ci 56 9/13/2023
10.0.2 192 4/25/2023
10.0.2-u20230425-230314-ci 78 4/25/2023
10.0.1 107 4/16/2023
10.0.1-u20230416-183028-ci 78 4/16/2023
10.0.0 120 4/4/2023
10.0.0-u20230404-205341-ci 89 4/4/2023
9.0.2 143 3/23/2023
9.0.2-u20230323-222935-ci 98 3/23/2023
9.0.2-u20230323-222315-ci 85 3/23/2023
9.0.1 118 3/19/2023
9.0.1-u20230319-234935-ci 98 3/19/2023
9.0.0 111 3/16/2023
9.0.0-u20230316-230842-ci 81 3/16/2023
9.0.0-u20230316-230216-ci 86 3/16/2023
9.0.0-u20230316-225941-ci 90 3/16/2023
9.0.0-u20230309-233136-ci 89 3/9/2023
9.0.0-u20230308-224825-ci 94 3/8/2023
8.5.0-u20230124-211210-ci 102 1/24/2023
8.4.0 212 1/8/2023
8.4.0-u20230108-222039-ci 94 1/8/2023
8.4.0-u20230104-001511-ci 110 1/4/2023
8.4.0-u20230103-232731-ci 103 1/3/2023
8.4.0-u20221230-085639-ci 97 12/30/2022
8.3.3 121 11/29/2022
8.3.3-u20221129-215337-ci 93 11/29/2022
8.3.2 97 11/28/2022
8.3.2-u20221128-224653-ci 92 11/28/2022
8.3.1 103 11/26/2022
8.3.1-u20221126-220820-ci 101 11/26/2022
8.3.0 215 11/26/2022
8.3.0-u20221126-212005-ci 93 11/26/2022
8.3.0-u20221126-193947-ci 89 11/26/2022
8.3.0-u20221126-155130-ci 96 11/26/2022
8.2.1-u20221126-062640-ci 87 11/26/2022
8.2.1-u20220821-115451-ci 118 8/21/2022
8.2.0 138 8/17/2022
8.2.0-u20220817-225409-ci 124 8/17/2022
8.1.2-u20220810-203642-ci 131 8/10/2022
8.1.2-u20220802-202525-ci 126 8/2/2022
8.1.2-u20220711-200741-ci 131 7/11/2022
8.1.2-u20220711-200523-ci 130 7/11/2022
8.1.2-u20220623-214900-ci 120 6/23/2022
8.1.2-u20220623-214041-ci 119 6/23/2022
8.1.2-u20220622-182000-ci 129 6/22/2022
8.1.1 153 6/18/2022
8.1.1-u20220618-164600-ci 142 6/18/2022
8.1.1-u20211120-051949-ci 445 11/20/2021
8.1.0 487 11/20/2021
8.1.0-u20211120-035533-ci 451 11/20/2021
8.0.15-u20211120-002647-ci 530 11/20/2021
8.0.14 243 6/18/2021
8.0.13 240 6/18/2021
8.0.12 165 6/18/2021
8.0.11 5,231 6/17/2021
8.0.10 202 6/17/2021
8.0.9 222 6/17/2021
8.0.8 224 6/17/2021
8.0.7 212 6/17/2021
8.0.6 214 6/17/2021
8.0.5 159 6/17/2021
8.0.4 185 6/17/2021
8.0.3 4,909 6/13/2021
8.0.2 4,970 6/13/2021
8.0.1 4,982 6/13/2021
8.0.0 5,190 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

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