toYaml method

String toYaml()

Serializes to the roles: / modelOverrides: / retry: yaml sections (round-trips with ModelRolesConfig.fromYaml).

Implementation

String toYaml() {
  final buffer = StringBuffer()
    ..write('roles:\n')
    ..write(_chainsToYaml(roles, indent: 2));
  if (pathOverrides.isNotEmpty) {
    buffer.write('modelOverrides:\n');
    for (final override in pathOverrides) {
      final lines = override.toYaml().trimRight().split('\n');
      buffer.write('  - ${lines.first}\n');
      for (final line in lines.skip(1)) {
        buffer.write('    $line\n');
      }
    }
  }
  buffer
    ..write('retry:\n')
    ..write(
      retry
          .toYaml()
          .trimRight()
          .split('\n')
          .map((line) => '  $line\n')
          .join(),
    );
  return buffer.toString();
}