Table of Contents

Namespace Trellis.Asp.Validation

Classes

MaybePrimitiveJsonConverterFactory

Factory for MaybePrimitiveJsonConverter<T> covering Maybe<T> where T is an STJ-native primitive (string, decimal, int, long, short, byte, double, float, bool, Guid, DateTime, DateTimeOffset).

MaybePrimitiveJsonConverter<T>

JSON converter for Maybe<T> where T is an STJ-native primitive in the allowed list enforced by MaybePrimitiveJsonConverterFactory.

MaybePrimitives

Closed list of STJ-native primitive types recognised by MaybePrimitiveJsonConverterFactory and MaybePrimitiveModelBinder<T>. Mirrors the CompositeValueObjectJsonConverter<T> allowed list in Trellis.Primitives.

MaybeScalarValueJsonConverterFactory

Factory for creating MaybeScalarValueJsonConverter<TValue, TPrimitive> instances for Maybe<T> properties where T implements IScalarValue<TSelf, TPrimitive>.

MaybeScalarValueJsonConverter<TValue, TPrimitive>

A JSON converter for Maybe<T> properties where TValue implements IScalarValue<TSelf, TPrimitive>.

ScalarValueJsonConverterBase<TResult, TValue, TPrimitive>

Base JSON converter for scalar value objects that collects validation errors instead of throwing exceptions during deserialization.

ScalarValuePathTracking

Registry of compile-time-closed path-tracking converters, keyed by the property or container type they wrap. It is the Native AOT counterpart to the reflection pipeline's runtime Type.MakeGenericType construction: AOT forbids building a closed generic at runtime, so the closed instantiations are created by the source generator at compile time and registered here.

ValidatingJsonConverterFactory

Factory for creating validating JSON converters for IScalarValue<TSelf, TPrimitive> types.

ValidatingJsonConverter<TValue, TPrimitive>

A JSON converter for value objects that implement IScalarValue<TSelf, TPrimitive>. This converter collects validation errors instead of throwing exceptions, enabling comprehensive validation error responses.