foundationBrickPathsFor function

List<String> foundationBrickPathsFor(
  1. Blueprint blueprint,
  2. Catalog catalog
)

Implementation

List<String> foundationBrickPathsFor(Blueprint blueprint, Catalog catalog) {
  final paths = <String>[];
  final selections = blueprint.singleSelections.entries.toList()
    ..sort((a, b) => a.key.compareTo(b.key));
  for (final selection in selections) {
    if (!selection.key.startsWith('foundation.') ||
        selection.key == 'foundation.project_structure') {
      continue;
    }
    final entry = catalog.find(selection.key, selection.value);
    if (entry == null) {
      continue;
    }
    for (final recipeRef in entry.recipeRefs) {
      final path = foundationRecipeBrickPaths[recipeRef];
      if (path != null) paths.add(path);
    }
  }
  return List.unmodifiable(paths);
}