Sundew.Base.Migrations
16.0.0
dotnet add package Sundew.Base.Migrations --version 16.0.0
NuGet\Install-Package Sundew.Base.Migrations -Version 16.0.0
<PackageReference Include="Sundew.Base.Migrations" Version="16.0.0" />
<PackageVersion Include="Sundew.Base.Migrations" Version="16.0.0" />
<PackageReference Include="Sundew.Base.Migrations" />
paket add Sundew.Base.Migrations --version 16.0.0
#r "nuget: Sundew.Base.Migrations, 16.0.0"
#:package Sundew.Base.Migrations@16.0.0
#addin nuget:?package=Sundew.Base.Migrations&version=16.0.0
#tool nuget:?package=Sundew.Base.Migrations&version=16.0.0
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.
Primitives
- Result types (R<T, E> and R<T>, RoE<E>)
- Option type T? (through extension methods).
- Flag is an Interlocked.Exchanged based flag.
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.
- DisposeAsyncAction for wrapping an Action in an IAsyncDisposable.
- 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.
- 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 | 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Sundew.Base.Collections (>= 16.0.0)
- Sundew.Base.Collections.Linq (>= 16.0.0)
- Sundew.Base.Primitives (>= 16.0.0)
- Sundew.DiscriminatedUnions (>= 5.4.1)
-
net8.0
- Sundew.Base.Collections (>= 16.0.0)
- Sundew.Base.Collections.Linq (>= 16.0.0)
- Sundew.Base.Primitives (>= 16.0.0)
- Sundew.DiscriminatedUnions (>= 5.4.1)
-
net9.0
- Sundew.Base.Collections (>= 16.0.0)
- Sundew.Base.Collections.Linq (>= 16.0.0)
- Sundew.Base.Primitives (>= 16.0.0)
- Sundew.DiscriminatedUnions (>= 5.4.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Sundew.Base.Migrations:
| Package | Downloads |
|---|---|
|
Sundew.Base.Migrations.System.Text.Json
Primitives types and extension methods. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 16.0.0 | 47 | 2/1/2026 |
| 16.0.0-u20260131-215542-ci | 29 | 1/31/2026 |
| 16.0.0-u20260131-210447-ci | 35 | 1/31/2026 |
| 15.1.0-u20260126-013109-ci | 36 | 1/26/2026 |
| 15.1.0-u20260119-061127-ci | 40 | 1/19/2026 |
15.0 - .NET 10 support, dropped older than netstandard2.0
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