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