formatAssetList function

List<String>? formatAssetList(
  1. YamlMap? data
)

Implementation

List<String>? formatAssetList(YamlMap? data) {
  if (data == null) return null;

  final List<String> list = [];

  final config = data['flutter'];
  if (config is! YamlMap) return null;

  final assets = config['assets'];
  if (assets is YamlList) list.addAll(List<String>.from(assets.value));

  final fonts = config['fonts'];
  if (fonts is YamlList) {
    for (final font in fonts) {
      if (font is! YamlMap) continue;

      final fontAssets = font['fonts'];
      if (fontAssets is! YamlList) continue;

      for (final fontAsset in fontAssets) {
        if (fontAsset is! YamlMap) continue;

        final asset = fontAsset['asset'];
        if (asset is String) list.add(asset);
      }
    }
  }

  return list.map((String path) {
    if (context.extension(path).isEmpty) {
      return context.join(path, '*.*');
    } else {
      return path;
    }
  }).toList();
}