PineGuard.Core
0.1.0-alpha.7
dotnet add package PineGuard.Core --version 0.1.0-alpha.7
NuGet\Install-Package PineGuard.Core -Version 0.1.0-alpha.7
<PackageReference Include="PineGuard.Core" Version="0.1.0-alpha.7" />
<PackageVersion Include="PineGuard.Core" Version="0.1.0-alpha.7" />
<PackageReference Include="PineGuard.Core" />
paket add PineGuard.Core --version 0.1.0-alpha.7
#r "nuget: PineGuard.Core, 0.1.0-alpha.7"
#:package PineGuard.Core@0.1.0-alpha.7
#addin nuget:?package=PineGuard.Core&version=0.1.0-alpha.7&prerelease
#tool nuget:?package=PineGuard.Core&version=0.1.0-alpha.7&prerelease
PineGuard.Core
The validation engine behind every PineGuard layer — zero dependencies, zero exceptions on the happy path, zero IO.
Core gives you pure static predicates and parsers for the data your app actually deals with: strings, numbers, dates, collections, URIs, emails, network identifiers, and OWASP-safe input. Fast, allocation-light, and safe to call from anywhere — hot paths, constructors, loops.
Most apps don't install Core directly. They install a higher layer (Must, Guard, Fluent, DataAnnotations) that wraps Core in the style that fits the call site. Install PineGuard.Core when you want the raw predicates without any opinion on how failures are reported.
Install
dotnet add package PineGuard.Core
Targets net8.0, net10.0, and netstandard2.1.
Examples
using PineGuard.Rules;
// Ask a question, get a bool
bool ok = EmailRules.IsEmail("alice@example.com");
bool safe = OwaspRules.IsOwaspSafe(userInput);
bool https = UriRules.IsHttpsUrl("https://example.com");
// Drill into specific OWASP categories
bool xssSafe = OwaspRules.IsXssSafe(userInput);
bool sqlSafe = OwaspRules.IsSqlInjectionSafe(userInput);
// Choose your validation strictness
bool strict = EmailRules.IsStrictEmail("alice@example.com");
Prefer a higher layer for application code
- PineGuard.MustClauses — result-based, composable, never throws
- PineGuard.GuardClauses — fail-fast with typed return values
- PineGuard.FluentValidation —
AbstractValidatorrule-builder extensions - PineGuard.DataAnnotations —
[ValidationAttribute]for DTOs and forms
See the full documentation for the complete rule catalog.
License
MIT © Steve McCormack
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 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 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Text.Json (>= 10.0.5)
-
net10.0
- System.ComponentModel.Annotations (>= 5.0.0)
-
net8.0
- System.Text.Json (>= 10.0.5)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on PineGuard.Core:
| Package | Downloads |
|---|---|
|
PineGuard.DataAnnotations
ValidationAttribute implementations for DTOs, MVC binding, and Blazor forms. |
|
|
PineGuard.GuardClauses
Fail-fast guards with parsed typed returns. Guard.Against.NotHttpsUrl(url) returns a Uri or throws. |
|
|
PineGuard.MustClauses
Result-based composable validators. Must.Be.Email(value) returns a MustResult that the caller inspects or escalates. |
|
|
PineGuard.FluentValidation
Rule-builder extensions for FluentValidation's AbstractValidator pipeline. |
|
|
PineGuard.Testing
Shared fixtures, base test classes, and assertion helpers for consumers writing PineGuard-based validation tests. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.7 | 184 | 4/20/2026 |
| 0.1.0-alpha.6 | 71 | 4/20/2026 |
| 0.1.0-alpha.5 | 87 | 4/18/2026 |