dev
dart 32 lines 662 Bytes
Raw
1 enum ActionListDisplayMode { transactions, trades }
2
3 int serializeActionlistDisplayModes(List<ActionListDisplayMode> modes) {
4 var i = 0;
5
6 for (final mode in modes) {
7 switch (mode) {
8 case ActionListDisplayMode.trades:
9 i += 1;
10 break;
11 case ActionListDisplayMode.transactions:
12 i += 10;
13 break;
14 }
15 }
16
17 return i;
18 }
19
20 List<ActionListDisplayMode> deserializeActionlistDisplayModes(int raw) {
21 final modes = <ActionListDisplayMode>[];
22
23 if (raw == 1 || raw - 10 == 1) {
24 modes.add(ActionListDisplayMode.trades);
25 }
26
27 if (raw >= 10) {
28 modes.add(ActionListDisplayMode.transactions);
29 }
30
31 return modes;
32 }