import 'package:built_collection/built_collection.dart'; import 'package:invoiceninja_flutter/data/models/group_model.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/data/models/static/font_model.dart'; import 'package:memoize/memoize.dart'; var memoizedCountryList = memo1( (BuiltMap countryMap) => countryList(countryMap)); List countryList(BuiltMap countryMap) { final list = countryMap.keys.toList(); list.sort((idA, idB) => countryMap[idA] .listDisplayName .compareTo(countryMap[idB].listDisplayName)); return list; } var memoizedGroupList = memo1((BuiltMap groupMap) => groupList(groupMap)); List groupList(BuiltMap groupMap) { final list = groupMap.keys.toList(); list.sort((idA, idB) => groupMap[idA].listDisplayName.compareTo(groupMap[idB].listDisplayName)); return list; } var memoizedLanguageList = memo1( (BuiltMap languageMap) => languageList(languageMap)); List languageList(BuiltMap languageMap) { final list = languageMap.keys.toList(); list.sort((idA, idB) => languageMap[idA] .listDisplayName .compareTo(languageMap[idB].listDisplayName)); return list; } var memoizedCurrencyList = memo1( (BuiltMap currencyMap) => currencyList(currencyMap)); List currencyList(BuiltMap currencyMap) { final list = currencyMap.keys.toList(); list.sort((idA, idB) => currencyMap[idA] .listDisplayName .compareTo(currencyMap[idB].listDisplayName)); return list; } var memoizedTimezoneList = memo1( (BuiltMap timezoneMap) => timezoneList(timezoneMap)); List timezoneList(BuiltMap timezoneMap) { final list = timezoneMap.keys.toList(); list.sort((idA, idB) => timezoneMap[idA] .listDisplayName .compareTo(timezoneMap[idB].listDisplayName)); return list; } var memoizedDateFormatList = memo1( (BuiltMap dateFormatMap) => dateFormatList(dateFormatMap)); List dateFormatList(BuiltMap dateFormatMap) { final list = dateFormatMap.keys.toList(); list.sort((idA, idB) => dateFormatMap[idA] .listDisplayName .compareTo(dateFormatMap[idB].listDisplayName)); return list; } var memoizedIndustryList = memo1( (BuiltMap industryMap) => industryList(industryMap)); List industryList(BuiltMap industryMap) { final list = industryMap.keys.toList(); list.sort((idA, idB) => industryMap[idA] .listDisplayName .compareTo(industryMap[idB].listDisplayName)); return list; } var memoizedSizeList = memo1((BuiltMap sizeMap) => sizeList(sizeMap)); List sizeList(BuiltMap sizeMap) { final list = sizeMap.keys.toList(); list.sort((idA, idB) => sizeMap[idA].id.compareTo(sizeMap[idB].id)); return list; } var memoizedGatewayList = memo1( (BuiltMap gatewayMap) => gatewayList(gatewayMap)); List gatewayList(BuiltMap gatewayMap) { final list = gatewayMap.keys.toList(); list.sort((idA, idB) => gatewayMap[idA].sortOrder.compareTo(gatewayMap[idB].sortOrder)); return list; } var memoizedPaymentTypeList = memo1( (BuiltMap paymentTypeMap) => paymentTypeList(paymentTypeMap)); List paymentTypeList( BuiltMap paymentTypeMap) { final list = paymentTypeMap.keys.toList(); list.sort( (idA, idB) => paymentTypeMap[idA].id.compareTo(paymentTypeMap[idB].id)); return list; } var memoizedFontMap = memo1((List fontList) => fontMap(fontList)); BuiltMap fontMap(List fonts) { print(Map.fromIterable(fonts, key: (dynamic v) => v['value'], value: (dynamic v) => FontEntity(id: v['value'], name: v['label']))); return BuiltMap.from( Map.fromIterable(fonts, key: (dynamic v) => v['value'], value: (dynamic v) => FontEntity(id: v['value'], name: v['label']))); }