dev
dart 38 lines 1.08 KB
Raw
1 import 'package:cake_wallet/generated/i18n.dart';
2 import 'package:cw_core/enumerable_item.dart';
3 import 'package:flutter/foundation.dart';
4
5 class ListOrderMode extends EnumerableItem<int> with Serializable<int> {
6 const ListOrderMode({required String title, required int raw}) : super(title: title, raw: raw);
7
8 static const all = [ListOrderMode.ascending, ListOrderMode.descending];
9
10 static const ascending = ListOrderMode(raw: 0, title: 'Ascending');
11 static const descending = ListOrderMode(raw: 1, title: 'Descending');
12
13 static ListOrderMode deserialize({required int raw}) {
14 switch (raw) {
15 case 0:
16 return ascending;
17 case 1:
18 return descending;
19 default:
20 if (kDebugMode) {
21 throw Exception('Unexpected token: $raw for ListOrderMode deserialize');
22 }
23 return descending;
24 }
25 }
26
27 @override
28 String toString() {
29 switch (this) {
30 case ListOrderMode.ascending:
31 return S.current.ascending;
32 case ListOrderMode.descending:
33 return S.current.descending;
34 default:
35 return '';
36 }
37 }
38 }