swift_mt_message/fields/
mod.rs

1// === COMMON FIELD TYPES ===
2// Re-export all lightweight common field structures
3pub mod common;
4pub use common::*;
5
6// === SPECIALIZED FIELDS (Complex fields that need custom structure) ===
7pub mod field13c;
8pub mod field13d;
9pub mod field23;
10pub mod field23e;
11pub mod field28;
12pub mod field28c;
13pub mod field28d;
14pub mod field32a;
15pub mod field34f;
16pub mod field36;
17pub mod field37h;
18pub mod field50;
19pub mod field59;
20pub mod field61;
21pub mod field77t;
22
23// === TYPE ALIASES FOR SEMANTIC CLARITY ===
24
25// Reference fields (using GenericReferenceField)
26pub type Field20 = GenericReferenceField; // Transaction Reference
27pub type Field21 = GenericReferenceField; // Related Reference
28
29// Simple text fields (using GenericTextField)
30pub type Field12 = GenericTextField; // Message Requested
31pub type Field23B = GenericTextField; // Bank Operation Code
32pub type Field25 = GenericTextField; // Account Identification
33pub type Field26T = GenericTextField; // Transaction Type Code
34pub type Field30 = GenericTextField; // Value Date
35pub type Field71A = GenericTextField; // Details of Charges
36
37// Multiline text fields (using GenericMultiLineTextField)
38pub type Field70 = GenericMultiLine4x35; // Remittance Information (4x35)
39pub type Field72 = GenericMultiLine6x35; // Sender to Receiver Information (6x35)
40pub type Field75 = GenericMultiLine6x35; // Queries (6x35)
41pub type Field76 = GenericMultiLine6x35; // Answers/Status Information (6x35)
42pub type Field77B = GenericMultiLine3x35; // Regulatory Reporting (3x35)
43pub type Field86 = GenericMultiLine6x65; // Information to Account Owner (6x65)
44
45// Currency/Amount fields (using GenericCurrencyAmountField)
46pub type Field33B = GenericCurrencyAmountField; // Instructed Amount
47pub type Field71F = GenericCurrencyAmountField; // Sender's Charges
48pub type Field71G = GenericCurrencyAmountField; // Receiver's Charges
49
50// Summary fields (using GenericSummaryField)
51pub type Field90C = GenericSummaryField; // Sum of Credits
52pub type Field90D = GenericSummaryField; // Sum of Debits
53
54// Complex fields (require specialized implementations)
55pub use field13c::Field13C;
56pub use field13d::Field13D;
57pub use field23::Field23;
58pub use field23e::Field23E;
59pub use field28::Field28;
60pub use field28c::Field28C;
61pub use field28d::Field28D;
62pub use field32a::Field32A;
63pub use field34f::Field34F;
64pub use field36::Field36;
65pub use field37h::Field37H;
66pub use field50::{Field50, Field50F, Field50K};
67pub use field59::{Field59, Field59Basic, Field59F};
68pub use field61::Field61;
69pub use field77t::Field77T;
70
71/// Type alias for Field 60A - Opening Balance (Intermediate)
72pub type Field60A = GenericBalanceField;
73/// Type alias for Field 60F - Opening Balance (Final/Booked)  
74pub type Field60F = GenericBalanceField;
75/// Type alias for Field 62A - Closing Balance (Intermediate)
76pub type Field62A = GenericBalanceField;
77/// Type alias for Field 62F - Closing Balance (Final/Booked)
78pub type Field62F = GenericBalanceField;
79/// Type alias for Field 64 - Closing Available Balance
80pub type Field64 = GenericBalanceField;
81/// Type alias for Field 65 - Forward Available Balance
82pub type Field65 = GenericBalanceField;