toYaml method

String toYaml()

Serialize to YAML string for saving blueprint.yaml.

Implementation

String toYaml() {
  final buf = StringBuffer();
  buf.writeln('name: $name');
  buf.writeln('org: $org');
  buf.writeln('output_dir: $outputDir');
  buf.writeln('');
  buf.writeln('architecture:');
  buf.writeln('  style: ${architecture.style}');
  buf.writeln('');
  buf.writeln('state_management:');
  buf.writeln('  package: ${stateManagement.package}');
  buf.writeln('');
  buf.writeln('routing:');
  buf.writeln('  package: ${routing.package}');
  buf.writeln('  deep_links: ${routing.deepLinks}');
  if (routing.schemes.isNotEmpty) {
    buf.writeln('  schemes:');
    for (final s in routing.schemes) { buf.writeln('    - $s'); }
  }
  if (routing.hosts.isNotEmpty) {
    buf.writeln('  hosts:');
    for (final h in routing.hosts) { buf.writeln('    - $h'); }
  }
  buf.writeln('');
  buf.writeln('api:');
  buf.writeln('  enabled: ${api.enabled}');
  buf.writeln('  dip: ${api.dip}');
  buf.writeln('');
  buf.writeln('features:');
  buf.writeln('  ui_feedback: ${features.uiFeedback}');
  buf.writeln('  flavors: ${features.flavors}');
  buf.writeln('  notifications: ${features.notifications}');
  buf.writeln('');
  buf.writeln('codegen:');
  buf.writeln('  freezed: ${codegen.freezed}');
  buf.writeln('  json_serializable: ${codegen.jsonSerializable}');
  buf.writeln('');
  buf.writeln('testing:');
  buf.writeln('  unit: ${testing.unit}');
  buf.writeln('  widget: ${testing.widget}');
  buf.writeln('  integration: ${testing.integration}');
  buf.writeln('');
  buf.writeln('ci:');
  buf.writeln('  provider: ${ci.provider}');
  return buf.toString();
}