execute method

  1. @override
Future<ItemResult> execute(
  1. CommandContext context,
  2. CliArgs args
)
override

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(),
    );
  }
}