automapper-validation 0.1.0

AHB condition expression parsing, evaluation, and EDIFACT validation
docs.rs failed to build automapper-validation-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: automapper-validation-0.1.13

AHB condition expression parsing, evaluation, and EDIFACT message validation.

This crate provides three layers of functionality:

  1. Expression parsing ([expr]): Parses AHB status strings like "Muss [182] ∧ [6] ∧ [570]" into a [ConditionExpr] AST.

  2. Condition evaluation ([eval]): Evaluates condition expressions using a [ConditionEvaluator] trait with three-valued logic (True/False/Unknown) for graceful handling of external conditions.

  3. Message validation ([validator]): Validates EDIFACT messages against AHB rules, producing a [ValidationReport] with 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);