fraiseql_core/validation/
mod.rs1pub mod async_validators;
7pub mod checksum;
8pub mod compile_time;
9pub mod composite;
10pub mod cross_field;
11pub mod custom_scalar;
12pub mod custom_type_registry;
13pub mod date_validators;
14pub mod elo_expressions;
15pub mod elo_rust_integration;
16pub mod error_responses;
17mod id_policy;
18pub mod inheritance;
19pub mod input_object;
20mod input_processor;
21pub mod js_codegen;
22pub mod mutual_exclusivity;
23pub(crate) mod patterns;
24pub mod rate_limiting;
25pub mod rich_scalars;
26pub mod rules;
27pub mod scalar_validator;
28pub mod validators;
29
30pub use async_validators::{
31 ArcAsyncValidator, AsyncValidator, AsyncValidatorConfig, AsyncValidatorProvider,
32 ChecksumAsyncValidator, EmailFormatValidator, PhoneE164Validator,
33};
34pub use checksum::{LuhnValidator, Mod97Validator};
35pub use compile_time::{
36 CompileTimeError, CompileTimeValidationResult, CompileTimeValidator, FieldType, SchemaContext,
37 TypeDef,
38};
39pub use composite::{
40 CompositeError, CompositeOperator, validate_all, validate_any, validate_not, validate_optional,
41};
42pub use cross_field::{ComparisonOperator, validate_cross_field_comparison};
43pub use custom_scalar::CustomScalar;
44pub use custom_type_registry::{CustomTypeDef, CustomTypeRegistry, CustomTypeRegistryConfig};
45pub use date_validators::{
46 validate_date_range, validate_max_age, validate_max_date, validate_max_days_in_future,
47 validate_max_days_in_past, validate_min_age, validate_min_date,
48};
49pub use elo_expressions::{EloExpressionEvaluator, EloValidationResult};
50pub use elo_rust_integration::{
51 EloRustValidator, RustValidatorRegistry, RustValidatorRegistryConfig,
52};
53pub use id_policy::{
54 IDPolicy, IDValidationError, IDValidationProfile, ValidationProfileType, validate_id,
55};
56pub use inheritance::{
57 InheritanceMode, RuleMetadata, ValidationRuleRegistry, inherit_validation_rules,
58 validate_inheritance,
59};
60pub use input_object::{InputObjectRule, InputObjectValidationResult, validate_input_object};
61pub use input_processor::{InputProcessingConfig, ProcessingError, process_variables};
62pub use mutual_exclusivity::{
63 AnyOfValidator, ConditionalRequiredValidator, OneOfValidator, RequiredIfAbsentValidator,
64};
65pub use rate_limiting::{ValidationRateLimiter, ValidationRateLimitingConfig};
66pub use rich_scalars::{CountryCodeValidator, EmailValidator, PhoneNumberValidator, VinValidator};
67pub use rules::{CompiledPattern, ValidationRule};
68pub use scalar_validator::{
69 ScalarValidationError, ValidationContext, validate_custom_scalar,
70 validate_custom_scalar_parse_value,
71};
72pub use validators::{EnumValidator, LengthValidator, PatternValidator, RangeValidator, Validator};
73
74#[cfg(test)]
75mod tests;