buildBrownfieldInspectJson function

Map<String, dynamic> buildBrownfieldInspectJson(
  1. FFProject project, {
  2. String? pageName,
  3. String? componentName,
})

Builds machine-readable brownfield inspect output for a whole project or a specific page/component target.

Implementation

Map<String, dynamic> buildBrownfieldInspectJson(
  FFProject project, {
  String? pageName,
  String? componentName,
}) {
  if (pageName != null && componentName != null) {
    throw ArgumentError(
      'Pass at most one of pageName or componentName to '
      'buildBrownfieldInspectJson.',
    );
  }

  final snapshot = buildBrownfieldProjectSnapshot(project);
  if (pageName != null) {
    final page = snapshot.findPage(pageName);
    if (page == null) {
      throw ArgumentError('Page not found: "$pageName".');
    }
    return page.toJson();
  }
  if (componentName != null) {
    final component = snapshot.findComponent(componentName);
    if (component == null) {
      throw ArgumentError('Component not found: "$componentName".');
    }
    return component.toJson();
  }
  return snapshot.toJson();
}