TheOmenDen.Shared
2022.8.13.1752
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package TheOmenDen.Shared --version 2022.8.13.1752
NuGet\Install-Package TheOmenDen.Shared -Version 2022.8.13.1752
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="TheOmenDen.Shared" Version="2022.8.13.1752" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TheOmenDen.Shared --version 2022.8.13.1752
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: TheOmenDen.Shared, 2022.8.13.1752"
#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 TheOmenDen.Shared as a Cake Addin #addin nuget:?package=TheOmenDen.Shared&version=2022.8.13.1752 // Install TheOmenDen.Shared as a Cake Tool #tool nuget:?package=TheOmenDen.Shared&version=2022.8.13.1752
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
The Omen Den Shared Library
- This is just a grouping of common classes that are used within every application that The Omen Den aims to provide as a company, and is free to modify, redistribute, and use elsewhere
- Especially since this library is sure to not be unique to us.
A grouping of classes that aims to provide:
- Relevant extensions accross The Omen Den's software applications
- Exception calling, and custom exceptions
- Pooling extensions for Stringbuilder and Arrays
- Hopefully working towards far less overhead than constantly newing these types up
- In the case of arrays, adding "slicing" subarray functionality
- Custom Enumerations (both standard, and "smart")
- Providing ways to grade exceptions via gravity
- Providing ways to use "smart" enumerations for differing control flow
- Starting of LINQ methods for ReadOnlySpan<T>
- Currently limited to a "lazy" implementation of
IEnumerable<T>.Any<T>()
;
- Currently limited to a "lazy" implementation of
- Base Record types for QueryStrings and Events
- Providing immutability
Async Stream Handling Features
- Provided in the
AsynchronousStreamOutcome
set of extensions are a few methods for capturingOperationOutcome
during the iterations of anIAsyncEnumerable<T>
- The
T
in question must implement ourIEntity
interface. - We aim to work solely with asynchronous iterations provided by an
await foreach()
pattern - We also aim to provide a simple, and easy to interpret API for further processing and alignment by avoiding an underlying
try...catch
within the Async Iterator.
- The
- Our current implementation allows for the simplicity of just providing a long running delegate of an individual operation.
Func<in T, in CancellationToken, out ValueTask<OperationOutcome>>
- This guarantees that the underlying operation is asynchronous
- This also ensures that the operation returns an
OperationOutcome
object
- With this provided, our intent on design is twofold -
- Firstly We remove the basis for throwing an exception over the stream.
- Secondly We allow for individual failures to occur during the stream.
- With this approach, we aim to allow for multiple failures to occur during the stream, while maintaining a consistent reporting behavior to allow for a more streamlined client experience.
- We also aim for the
Tuple<T,OperationOutcome>
coupling to be a launching strategy for further processing.
Note: V2 will be identified by
- Releases will tagged as V2
- Package versions will have the first 3 parts of their versioning as a date after:
2022.7.26
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- System.Linq.Async (>= 6.0.1)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on TheOmenDen.Shared:
Package | Downloads |
---|---|
TheOmenDen.Shared.Logging
A collection of logging utilities that are used throughout The Omen Den's applications. Also provides an eventtype enricher for Serilog |
|
TheOmenDen.Shared.Interfaces
This package contains the interfaces that can used for various implementations, and some of the models behind them for Tenancy and User based applications. |
|
TheOmenDen.Shared.Services
A collection of the service implementations used throughout the various apps that The Omen Den develops. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2023.11.27.49 | 1,204 | 11/27/2023 |
2023.3.25.112 | 3,170 | 3/25/2023 |
2023.3.17.2238 | 389 | 3/18/2023 |
2023.1.15.141 | 606 | 1/15/2023 |
2022.11.13.2149 | 1,218 | 11/14/2022 |
2022.10.8.41 | 2,435 | 10/8/2022 |
2022.9.19.1408 | 993 | 9/19/2022 |
2022.8.27.345 | 697 | 8/27/2022 |
2022.8.13.1752 | 543 | 8/13/2022 |
2022.7.26.331 | 828 | 7/26/2022 |
2022.7.19.110 | 626 | 7/19/2022 |
2022.7.13.1515 | 546 | 7/13/2022 |
2022.7.11.1017 | 517 | 7/11/2022 |