Module parser

Module parser 

Source
Expand description

§Message Parser

Core parsing functionality for SWIFT MT messages.

  • SwiftParser: Main entry point for complete message parsing
  • MessageParser: Field-level sequential parsing
  • SequenceParser: Repetitive sequence handling (MT101, MT104, etc.)

Re-exports§

pub use sequence_parser::ParsedSequences;
pub use sequence_parser::SequenceConfig;
pub use sequence_parser::get_sequence_config;
pub use sequence_parser::parse_repetitive_sequence;
pub use sequence_parser::split_into_sequences;
pub use field_extractor::extract_field_content;
pub use message_parser::MessageParser;
pub use utils::*;

Modules§

field_extractor
Field Extractor
message_parser
Message Parser Module
sequence_parser
Generic sequence parser for SWIFT MT messages with multiple sequences
utils

Structs§

FieldConsumptionTracker
Field consumption tracker for sequential processing of duplicate fields
ParsingContext
Parsing context that flows through the parsing pipeline
SwiftParser
Main parser for SWIFT MT messages

Functions§

extract_base_tag
Extract base tag by removing index suffix (e.g., “50#1” -> “50”)
find_field_with_variant_sequential_constrained
Find field values by base tag with sequential consumption tracking and variant constraints
find_field_with_variant_sequential_numbered
Find field values for numbered tags with intelligent routing
normalize_field_tag
Normalize field tag by removing option letters (A, F, K, etc.) Example: “50K” -> “50”, “59A” -> “59”, “20” -> “20” But preserve option letters for fields that have multiple variants like 23B/23E, 71A/71F/71G Also preserve numbered field tags like “50#1”, “50#2”
parse_block4_fields
Parse block 4 fields into a field map with enhanced position tracking
parse_sequences
Parse sequence fields (e.g., transactions in MT101, MT104)