swift_mt_message/fields/
mod.rs

1//! # SWIFT MT Message Fields
2//!
3//! Type-safe field definitions for all SWIFT MT message types with parsing,
4//! validation, and serialization support.
5//!
6//! ## Field Categories
7//! - **Reference:** Transaction/message references (20, 21)
8//! - **Amount:** Currencies, amounts, exchange rates (32, 33, 36)
9//! - **Party:** Customer and institution IDs (50-59)
10//! - **Date/Time:** Value dates, execution dates (30, 32A)
11//! - **Instruction:** Processing codes (23, 71)
12//! - **Information:** Remittance and additional info (70, 72)
13//!
14//! ## Format Notation
15//! - `n` = numeric (0-9)
16//! - `a` = alphabetic (A-Z, a-z)
17//! - `c` = uppercase (A-Z)
18//! - `x` = any char
19//! - `d` = decimal with precision
20//! - `!` = exact length, `*` = max length
21//!
22//! ## Usage
23//! ```rust
24//! use swift_mt_message::fields::{Field20, Field32A};
25//! use swift_mt_message::SwiftField;
26//!
27//! # fn main() -> swift_mt_message::Result<()> {
28//! let ref_field = Field20::parse("TXN123456")?;
29//! let amt_field = Field32A::parse("240315USD1000,00")?;
30//! # Ok(())
31//! # }
32//! ```
33
34// Utility modules
35pub mod field_utils;
36pub mod swift_utils;
37
38pub mod field11;
39pub use field11::*;
40
41pub mod field12;
42pub use field12::*;
43
44pub mod field13;
45pub use field13::*;
46
47pub mod field19;
48pub use field19::*;
49
50pub mod field20;
51pub use field20::*;
52
53pub mod field21;
54pub use field21::*;
55
56pub mod field23;
57pub use field23::*;
58
59pub mod field25;
60pub use field25::*;
61
62pub mod field26;
63pub use field26::*;
64
65pub mod field28;
66pub use field28::*;
67
68pub mod field30;
69pub use field30::*;
70
71pub mod field32;
72pub use field32::*;
73
74pub mod field33;
75pub use field33::*;
76
77pub mod field34;
78pub use field34::*;
79
80pub mod field36;
81pub use field36::*;
82
83pub mod field37;
84pub use field37::*;
85
86pub mod field50;
87pub use field50::*;
88
89pub mod field51;
90pub use field51::*;
91
92pub mod field52;
93pub use field52::*;
94
95pub mod field53;
96pub use field53::*;
97
98pub mod field54;
99pub use field54::*;
100
101pub mod field55;
102pub use field55::*;
103
104pub mod field56;
105pub use field56::*;
106
107pub mod field57;
108pub use field57::*;
109
110pub mod field58;
111pub use field58::*;
112
113pub mod field59;
114pub use field59::*;
115
116pub mod field60;
117pub use field60::*;
118
119pub mod field61;
120pub use field61::*;
121
122pub mod field62;
123pub use field62::*;
124
125pub mod field64;
126pub use field64::*;
127
128pub mod field65;
129pub use field65::*;
130
131pub mod field70;
132pub use field70::*;
133
134pub mod field71;
135pub use field71::*;
136
137pub mod field72;
138pub use field72::*;
139
140pub mod field75;
141pub use field75::*;
142
143pub mod field76;
144pub use field76::*;
145
146pub mod field77;
147pub use field77::*;
148
149pub mod field79;
150pub use field79::*;
151
152pub mod field86;
153pub use field86::*;
154
155pub mod field90;
156pub use field90::*;