serializeIcon function
Implementation
Map<String, dynamic>? serializeIcon(IconData icon, {IconPack? iconPack}) {
if (iconPack == null) {
if (icon.fontFamily == "MaterialIcons")
iconPack = IconPack.material;
else if (icon.fontFamily == "CupertinoIcons")
iconPack = IconPack.cupertino;
else if (icon.fontPackage == "font_awesome_flutter")
iconPack = IconPack.fontAwesomeIcons;
else if (icon.fontPackage == "line_awesome_flutter")
iconPack = IconPack.lineAwesomeIcons;
else
iconPack = IconPack.custom;
}
switch (iconPack) {
case IconPack.material:
return {
'pack': "material",
'key': _getIconKey(DefaultMaterial.defaultIcons, icon),
};
case IconPack.allMaterial:
return {
'pack': "material",
'key': _getIconKey(AllMaterial.allIcons, icon),
};
case IconPack.sharpMaterial:
return {
'pack': "material",
'key': _getIconKey(SharpMaterial.sharpIcons, icon),
};
case IconPack.roundedMaterial:
return {
'pack': "material",
'key': _getIconKey(RoundedMaterial.roundedIcons, icon),
};
case IconPack.outlinedMaterial:
return {
'pack': "material",
'key': _getIconKey(OutlinedMaterial.outlinedIcons, icon),
};
case IconPack.cupertino:
return {
'pack': "cupertino",
'key': _getIconKey(Cupertino.cupertinoIcons, icon),
};
case IconPack.fontAwesomeIcons:
return {
'pack': "fontAwesomeIcons",
'key': _getIconKey(FontAwesome.fontAwesomeIcons, icon),
};
case IconPack.lineAwesomeIcons:
return {
'pack': "lineAwesomeIcons",
'key': _getIconKey(LineAwesome.lineAwesomeIcons, icon),
};
case IconPack.custom:
return {
'pack': "custom",
'iconData': {
'codePoint': icon.codePoint,
'fontFamily': icon.fontFamily,
'fontPackage': icon.fontPackage,
'matchTextDirection': icon.matchTextDirection,
}
};
default:
return null;
}
}