getDataImage static method

Map<String, Object?> getDataImage(
  1. dynamic value, {
  2. Map<String, Object?> defaultData = _defaultData,
})

value có thể là id ảnh (ID) hoặc tên ảnh (String)

Ví dụ:

ImageByID.getDataImage(12)

ImageByID.getDataImage('logo_8xland.png')

Implementation

static Map<String, Object?> getDataImage(
  dynamic value, {
  Map<String, Object?> defaultData = _defaultData,
}) {
  if (value == null) return defaultData;
  if (value is int && Common.mapImage.containsKey(value.toString())) {
    Map<String, Object> data =
        Common.mapImage[value.toString()] as Map<String, Object>;
    return data;
  }
  if (value is String) {
    for (Map<String, Object?> data in Common.mapImage.values) {
      String nameKey = data.keys.firstWhere(
        (element) => element.endsWith('_image_name'),
        orElse: () => data.keys.firstWhere(
          (element) => element.endsWith('_image_path'),
          orElse: () => '',
        ),
      );
      if (nameKey.isEmpty) continue;

      String name = Methods.getString(data, nameKey);
      if (nameKey.endsWith('_image_path')) {
        name = name.split('/').last;
      }
      if (name == value) {
        return data;
      }
    }
  }
  return defaultData;
}