run method
override
Runs this command.
The return value is wrapped in a Future
if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<void> run() async {
final dynamic root = argResults!['output'];
final dynamic input = argResults!['input'];
final dynamic backendName = argResults!['backend-name'];
final dynamic newFiles = argResults!['new'];
if (root is! String) {
throw ArgumentError.value(root, 'output', 'Must be a string.');
}
if (input is! String) {
throw ArgumentError.value(input, 'input', 'Must be a string.');
}
if (backendName is! String) {
throw ArgumentError.value(
backendName,
'backend-name',
'Must be a string.',
);
}
if (newFiles is! bool) {
throw ArgumentError.value(newFiles, 'new', 'Must be a bool.');
}
final api = await parseApi(input);
print('Open API File Parsed');
await generateApiFiles(
Api.fromOpenApi(
api,
backendName: backendName,
),
rootPath: root,
generateInitial: newFiles,
);
print('Backend Code Generated');
}