execute method

void execute(
  1. List<String> arguments
)

명령어를 실행합니다.

Implementation

void execute(List<String> arguments) {
  try {
    // 인수 파싱
    final args = _commandRepository.parseArguments(arguments);

    // 도움말 표시
    if (_commandRepository.isHelpRequested(args)) {
      _commandRepository.printUsage();
      exit(0);
    }

    // 위치 인수 (모델명) 확인
    final String modelName = _commandRepository.validateModelName(args.rest);

    // 옵션 추출
    final bool isFlat = args['flat'] as bool;
    final bool useFreezed = args['freezed'] as bool;
    final bool useJson = args['json'] as bool;
    final String baseDir = args['dir'] as String;

    // 모델 관련 파일들을 생성합니다.
    _fileGeneratorRepository.generateFiles(
      modelName: modelName,
      baseDirName: baseDir,
      isFlat: isFlat,
      useFreezed: useFreezed,
      useJson: useJson,
    );

    print('$modelName model files have been successfully generated.');
  } catch (e) {
    print('An error occurred: $e');
    exit(1);
  }
}