generate method
Implementation
Future<void> generate(String swaggerPath, String outputDir) async {
// Create output directory structure
await _createDirectoryStructure(outputDir);
// Read swagger content
String swaggerContent;
if (swaggerPath.startsWith('http')) {
swaggerContent = await _fetchSwaggerFromUrl(swaggerPath);
} else {
swaggerContent = await File(swaggerPath).readAsString();
}
// Parse swagger
dynamic swaggerDoc;
if (swaggerPath.startsWith('http')) {
swaggerDoc =
loadYaml(swaggerContent, sourceUrl: Uri.tryParse(swaggerPath));
} else {
swaggerDoc = loadYaml(swaggerContent);
}
final dartMap = convertYamlToMap(swaggerDoc);
// Generate models with json_annotation
final structureGenerator = FluxStructureGenerator(outputDir);
await structureGenerator.generateAll(Map<String, dynamic>.from(dartMap));
// Create pubspec.yaml
await _createPubspec(outputDir);
// Create main export file
await _createMainExportFile(outputDir);
}