HUMANiT.Core
1.0.3
See the version list below for details.
dotnet add package HUMANiT.Core --version 1.0.3
NuGet\Install-Package HUMANiT.Core -Version 1.0.3
<PackageReference Include="HUMANiT.Core" Version="1.0.3" />
paket add HUMANiT.Core --version 1.0.3
#r "nuget: HUMANiT.Core, 1.0.3"
// Install HUMANiT.Core as a Cake Addin #addin nuget:?package=HUMANiT.Core&version=1.0.3 // Install HUMANiT.Core as a Cake Tool #tool nuget:?package=HUMANiT.Core&version=1.0.3
HUMANiT Core
This package provides platform features that we miss in .NET, but that find valuable for our own daily software development. -- the people of HUMANiT
This package is covered by over 800 automated tests and offers an API that is documented extensively inline.
Features
- Inspections: Pre and post verification of parameters and variables to check their conditions. Fast and reliable.
- Domains: Consitent domain objects.
- Shipping: Consitent shipping models.
- Vault: Cache with multiple shelves (sub-caches), simple lifetime principles. Fast, thread-safe, reliable; also for SharePoint.
- Object analysis: Provides an easy test whether a generic type is null-able.
- Call result: Generic carrier of a call result such as of a standard method or a Web service call.
- Type converter: Converts enumeration values into pre-defined strings and vice versa.
- Cryptography: Creation and verification of cryptographic salted hashes; fast; using RFC2898 instead of the insecure MD5.
- Randomizer: Generates random codes of different lengths and passwords as well as numbers, first names (>400), last names (>200), full names (>97k), URLs (>39k) and emails (>9m).
- Extensions: Enhancements and validations to datesdatetimes, datetimeoffsets, passwords, PINs, phone numbers, names, emails, and exceptions.
- Exception support: Provides easy ways to throw an exception for reached code that was expected to be unreachable.
Extensions will move into their own NuGet package in a future version, so if you use them, consider that a future package upgrade may cause compiler errors and you will need to add the HUMANiT.Core.Extensions
package (yet unavailable).
This package contains features which we require for our own software; therefore, some features are highly custom. If you require a fix, an enhancement, or a more configurable solution, please contact us.
Contact
- Twitter -- stay in touch (@HUMANiTnz)
- Facebook -- message with us (@HUMANiTnz)
- support@humanit.nz -- contact us via email
License
MIT -- free software, hell yeah 🤩
Quickstart
Inspections
Pre and post verification of parameters and variables to check their conditions. Fast and reliable.
Inspections are the incarnation of verification. Data verification is checking rules and ensure they are correct. A passed inspection means we can trust data is of a certain state and our code can be based on that. A failed inspection leads to an exception highlighting at which point we came aware of a problem with expected data quality.
Use parameter inspections to verify that parameters, that were passed into a method or constructor, are of an expected qyality. When such an inspection fails, it throws argument exceptions such as ArgumentNullException
and ArgumentOutOfRangeException
. Examples:
Inspect.Param.IsTrue(birthday <= DateTimeOffset.Today());
Inspect.Param.IsNotEmpty(vehicleList, nameof(vehicleList));
Inspect.Param.IsNotNullOrWhitespace(lastName, nameof(lastName), "Last name is mandatory.");
Use value inspections to verify that a method returned what it promised. When such an inspection fails, it throws an InvalidOperationException
. Examples:
var numberOfThings = Inspect.Param.IsBetween(CountThings(), 0, 99);
var details = Inspect.Param.IsNotNull(LoadDetails(name), message: $"{name}'s details missing.");
Domains
Consitent domain objects.
Quickstart guidance will come.
Shipping
Consitent shipping models.
Quickstart guidance will come.
Vault
Cache with multiple shelves (sub-caches), simple lifetime principles. Fast, thread-safe, reliable; also for SharePoint.
Quickstart guidance will come.
Object analysis
Provides an easy test whether a generic type is null-able.
Quickstart guidance will come.
Call result
Generic carrier of a call result such as of a standard method or a Web service call.
Quickstart guidance will come.
Type converter
Converts enumeration values into pre-defined strings and vice versa.
Quickstart guidance will come.
Cryptography
Creation and verification of cryptographic salted hashes; fast; using RFC2898 instead of the insecure MD5.
Quickstart guidance will come.
Randomizer
Generates random codes of different lengths and passwords as well as numbers, first names (>400), last names (>200), full names (>97k), URLs (>39k) and emails (>9m).
Quickstart guidance will come.
Extensions
Enhancements and validations to datesdatetimes, datetimeoffsets, passwords, PINs, phone numbers, names, and exceptions.
Quickstart guidance will come.
Exception support
Provides easy ways to throw an exception for reached code that was expected to be unreachable.
Quickstart guidance will come.
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. |
-
net6.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on HUMANiT.Core:
Package | Downloads |
---|---|
HUMANiT.Core.Web
RESTful base client that can call any RESTful API. Supports the HTTP verbs GET, POST and PATCH. Deals with the HTTP status code 200, 201, 204, 300, 301, 302, 303, 305, 307, 400, 404, 409, 500 and 502. [covered by 60+ tests] |
|
HUMANiT.Azure
Simplified RESTful API proxies with built-in secondary proxy. Simplified logging, enabled/disabled during runtime. HTTP methods. Media types. Extensions. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.0-rc-3054 | 252 | 9/27/2024 |
1.1.0 | 1,824 | 11/4/2023 |
1.0.5 | 626 | 9/12/2023 |
1.0.4 | 2,089 | 3/27/2023 |
1.0.3 | 1,668 | 1/17/2023 |
1.0.1 | 1,506 | 1/10/2023 |
1.0.0 | 3,062 | 8/21/2022 |
0.8.0 | 1,053 | 8/4/2022 |
0.7.0 | 13,386 | 3/31/2020 |
0.6.1 | 23,773 | 12/2/2019 |
0.6.0 | 8,437 | 10/19/2019 |
0.5.2 | 7,332 | 2/10/2019 |
0.5.1 | 5,982 | 1/27/2019 |
0.4.1 | 8,858 | 4/1/2018 |
0.4.0 | 7,953 | 2/3/2018 |
0.3.2 | 5,090 | 1/12/2018 |
0.3.0 | 2,508 | 12/9/2017 |
0.2.2 | 1,585 | 9/18/2017 |
0.1.6 | 1,610 | 9/1/2017 |
Contact HUMANiT for details: support@HUMANiT.nz