getAll static method
Get full list
Implementation
// By taking into account localization specifics
// And pinned list of currencies
static List<Currency> getAll() {
init();
final result = _currencies.values.toList(growable: false);
if (CurrencyDefaults.defaultLocale?.languageCode == 'de') {
result.sort((a, b) => a.name.compareTo(b.name));
}
final pin = getTop();
if (pin != null) {
final clone = result.map((v) => v.code).toList();
result.sort((a, b) {
if (a.code == b.code) {
return 0;
}
final ia = pin.indexOf(a.code);
final ib = pin.indexOf(b.code);
if (ia == ib) {
return clone.indexOf(a.code) > clone.indexOf(b.code) ? 1 : -1;
}
if (ia >= 0 && ib >= 0) {
return ia > ib ? 1 : -1;
}
return ia > ib ? -1 : 1;
});
}
return result;
}