Expand description
AHB condition expression parsing, evaluation, and EDIFACT message validation.
This crate provides three layers of functionality:
-
Expression parsing (
expr): Parses AHB status strings like"Muss [182] ∧ [6] ∧ [570]"into aConditionExprAST. -
Condition evaluation (
eval): Evaluates condition expressions using aConditionEvaluatortrait with three-valued logic (True/False/Unknown) for graceful handling of external conditions. -
Message validation (
validator): Validates EDIFACT messages against AHB rules, producing aValidationReportwith typed issues.
§Quick Start
ⓘ
use automapper_validation::expr::{ConditionParser, ConditionExpr};
use automapper_validation::eval::{ConditionExprEvaluator, ConditionResult};
use automapper_validation::validator::{EdifactValidator, ValidationLevel};
// Parse a condition expression
let expr = ConditionParser::parse("Muss [182] ∧ [152]").unwrap();
// Validate pre-parsed segments against AHB workflow
let validator = EdifactValidator::new(my_evaluator);
let report = validator.validate(&segments, &workflow, &external, ValidationLevel::Full);Re-exports§
pub use error::ParseError;pub use error::ValidationError;pub use eval::CodeListProvider;pub use eval::CompositeExternalProvider;pub use eval::ConditionEvaluator;pub use eval::ConditionExprEvaluator;pub use eval::ConditionResult;pub use eval::CountryPostalCodeProvider;pub use eval::EvaluationContext;pub use eval::KonfigurationenProvider;pub use eval::MapExternalProvider;pub use eval::MarketRole;pub use eval::MarketRoleProvider;pub use eval::Sector;pub use eval::SectorProvider;pub use expr::ConditionExpr;pub use expr::ConditionParser;pub use validator::EdifactValidator;pub use validator::ErrorCodes;pub use validator::Severity;pub use validator::ValidationCategory;pub use validator::ValidationIssue;pub use validator::ValidationLevel;pub use validator::ValidationReport;pub use validator::validate::AhbCodeRule;pub use validator::validate::AhbFieldRule;pub use validator::validate::AhbWorkflow;pub use generated::*;
Modules§
- error
- Error types for the automapper-validation crate.
- eval
- Condition evaluation traits and expression evaluator.
- expr
- Condition expression AST and parser.
- generated
- validator
- EDIFACT message validator.
Traits§
- Group
Navigator - Provides group-scoped segment access for condition evaluation.