execute method
Execute command on a single folder.
Called by ToolRunner for each folder during traversal. Returns an ItemResult describing the outcome.
Implementation
@override
Future<ItemResult> execute(CommandContext context, CliArgs args) async {
try {
final success = await dartFunction(context);
if (success) {
return ItemResult.success(
path: context.path,
name: context.name,
message: successMessage?.call(context),
);
} else {
return ItemResult.failure(
path: context.path,
name: context.name,
error: 'Dart function returned false',
);
}
} catch (e) {
return ItemResult.failure(
path: context.path,
name: context.name,
error: e.toString(),
);
}
}