emitProject function

Map<String, String> emitProject({
  1. required GenProjectConfig config,
  2. required String prefix,
  3. Map<String, Object?>? options,
})

Generates every output file for config. Keys are file names relative to the output directory (e.g. models.g.dart).

Implementation

Map<String, String> emitProject({
  required GenProjectConfig config,
  required String prefix,
  Map<String, Object?>? options,
}) {
  final types = _TypeNames(config, prefix);
  final files = <String, String>{
    'models.g.dart': _emitModels(config, prefix, types),
    'client.g.dart': _emitClient(config, prefix, types),
    if (options != null) 'options.g.dart': _emitOptions(options),
    if (config.functions.isNotEmpty)
      'functions.g.dart': _emitFunctions(config, prefix, types),
    'ffx.dart': _emitBarrel(
      prefix,
      hasOptions: options != null,
      hasFunctions: config.functions.isNotEmpty,
    ),
  };
  return files;
}