Navaron Bracke

convert email type into enhanced enum

1 /// Email format type constants. 1 /// Email format type constants.
2 enum EmailType { 2 enum EmailType {
3 /// Unknown email type. 3 /// Unknown email type.
4 - ///  
5 - /// Constant Value: 0  
6 - unknown, 4 + unknown(0),
7 5
8 /// Work email. 6 /// Work email.
9 - ///  
10 - /// Constant Value: 1  
11 - work, 7 + work(1),
12 8
13 /// Home email. 9 /// Home email.
14 - ///  
15 - /// Constant Value: 2  
16 - home, 10 + home(2);
  11 +
  12 + const EmailType(this.rawValue);
  13 +
  14 + factory EmailType.fromRawValue(int value) {
  15 + switch (value) {
  16 + case 1:
  17 + return EmailType.work;
  18 + case 2:
  19 + return EmailType.home;
  20 + case 0:
  21 + default:
  22 + return EmailType.unknown;
  23 + }
  24 + }
  25 +
  26 + /// The raw email type value.
  27 + final int rawValue;
17 } 28 }