generateApiFiles function

Future<void> generateApiFiles(
  1. Api api, {
  2. String rootPath = '.',
  3. required bool generateInitial,
})

Implementation

Future<void> generateApiFiles(
  Api api, {
  String rootPath = '.',
  required bool generateInitial,
}) async {
  print('Generating API Files...');
  final convertedApi = api.toJson();

  if (generateInitial) {
    final initialGenerator =
        await MasonGenerator.fromBundle(initialGeneratorBundle);
    await initialGenerator.generate(
      DirectoryGeneratorTarget(
        Directory(rootPath),
      ),
      fileConflictResolution: FileConflictResolution.overwrite,
      vars: convertedApi,
    );
  }

  final ongoingGenerator =
      await MasonGenerator.fromBundle(ongoingGeneratorBundle);
  await ongoingGenerator.generate(
    DirectoryGeneratorTarget(
      Directory(rootPath),
    ),
    fileConflictResolution: FileConflictResolution.overwrite,
    vars: convertedApi,
  );

  await _postGenerate(
    outputPath: rootPath,
  );
}