scaffoldApiResult method

Future<void> scaffoldApiResult(
  1. String projectPath
)

Implementation

Future<void> scaffoldApiResult(String projectPath) async {
  final baseDir = projectPath.endsWith('/')
      ? projectPath.substring(0, projectPath.length - 1)
      : projectPath;

  final file = File('$baseDir/lib/core/network/api_result.dart');
  if (!await file.exists()) {
    await file.parent.create(recursive: true);
    await file.writeAsString('''
import '../exceptions/app_exception.dart';

// Responsibility:
// Represents functional API response outputs.

sealed class ApiResult<T> {
const ApiResult();
}

class Success<T> extends ApiResult<T> {
final T data;

const Success(this.data);
}

class Failure<T> extends ApiResult<T> {
final AppException exception;

const Failure(this.exception);
}
''');
  }
}