Haystack 1.0.4

A grab-bag of unit-tested, performance-tested extensions to BCL types.

Install-Package Haystack -Version 1.0.4
dotnet add package Haystack --version 1.0.4
<PackageReference Include="Haystack" Version="1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Haystack --version 1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release notes

A listing of what each Nuget package version represents.

v1

  • 1.0.4 - (20202-05-02) Add EnumerableExtensions with an IsNullOrEmpty() method on System.Collections.IEnumerable which is the base type for IEnumerable&lt;T&gt;.
  • 1.0.3 - (2019-04-03) Add ToSecureString() extension method on System.String.
  • 1.0.2 - (2019-03-20)
    • Move existing types to namespaces that more closely mirror the BCL
    • Add a few extensions to Random.NextDouble() to allow for floor and ceiling values
    • Add thread-safe wrappers for Random behind mockable interfaces for greater safety and testability:
      • AsyncSafeRandom / IAsyncSafeRandom for use in most places. Async-suffixed methods do non-blocking waits, the other methods block threads. You can use the blocking versions -- they cut down about 40 nanonseconds of overhead -- but the moment you add an async code path, you should convert all consumers of the active instance to the async counterparts. (Maybe this is a footgun for inexperienced developers, and I should get rid of the blocking variants, but at least it's an easy path forward within an application.).
      • SafeRandom / ISafeRandom for use in NON-async code paths, using lock under the hood

v0

  • 0.0.3 - (2018-12-23) - Add string.IsBase64() extension method + perf tests
  • 0.0.2 - (2018-11-25) - Corrected license URL in nuspec file; no functional changes
  • 0.0.1 - (2018-11-25) - Initial release

Release notes

A listing of what each Nuget package version represents.

v1

  • 1.0.4 - (20202-05-02) Add EnumerableExtensions with an IsNullOrEmpty() method on System.Collections.IEnumerable which is the base type for IEnumerable&lt;T&gt;.
  • 1.0.3 - (2019-04-03) Add ToSecureString() extension method on System.String.
  • 1.0.2 - (2019-03-20)
    • Move existing types to namespaces that more closely mirror the BCL
    • Add a few extensions to Random.NextDouble() to allow for floor and ceiling values
    • Add thread-safe wrappers for Random behind mockable interfaces for greater safety and testability:
      • AsyncSafeRandom / IAsyncSafeRandom for use in most places. Async-suffixed methods do non-blocking waits, the other methods block threads. You can use the blocking versions -- they cut down about 40 nanonseconds of overhead -- but the moment you add an async code path, you should convert all consumers of the active instance to the async counterparts. (Maybe this is a footgun for inexperienced developers, and I should get rid of the blocking variants, but at least it's an easy path forward within an application.).
      • SafeRandom / ISafeRandom for use in NON-async code paths, using lock under the hood

v0

  • 0.0.3 - (2018-12-23) - Add string.IsBase64() extension method + perf tests
  • 0.0.2 - (2018-11-25) - Corrected license URL in nuspec file; no functional changes
  • 0.0.1 - (2018-11-25) - Initial release

Release Notes

https://github.com/rianjs/Haystack/blob/master/release-notes.md

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.4 37 5/9/2020
1.0.3 173 4/3/2019
1.0.2 145 3/20/2019
1.0.1 150 3/20/2019
0.0.3 230 12/23/2018
0.0.2 191 11/26/2018
0.0.1 189 11/25/2018