main function

Future<void> main(
  1. List<String> args
)

Implementation

Future<void> main(List<String> args) async {
  Register register = Register();
  AtSignLogger.root_level = 'severe';
  try {
    await register.main(args);
  } on FormatException catch (e) {
    if (e.toString().contains('Missing argument')) {
      stderr.writeln(
          '[Unable to run Register CLI] Please re-run with your email address');
      stderr
          .writeln('Usage: \'dart run register_cli.dart -e email@email.com\'');
      exit(1);
    } else if (e.toString().contains('Could not find an option or flag')) {
      stderr
          .writeln('[Unable to run Register CLI] The option entered is invalid.'
              ' Please use the \'-e\' flag to input your email');
      stderr
          .writeln('Usage: \'dart run register_cli.dart -e email@email.com\'');
      exit(2);
    } else {
      stderr.writeln(
          '[Error] Failed getting an atsign. It looks like something went wrong on our side.\n'
          'Please try again or contact support@atsign.com, quoting the text displayed below.');
      stderr.writeln('Cause: $e');
      exit(3);
    }
  } on AtOnboardingException catch (e) {
    stderr.writeln(
        '[Error] Failed getting an atsign. It looks like something went wrong on our side.\n'
        'Please try again or contact support@atsign.com, quoting the text displayed below.');
    stderr.writeln('Cause: $e  ExceptionType:${e.runtimeType}');
    exit(4);
  } on Exception catch (e) {
    if (e
        .toString()
        .contains('Incorrect otp entered 3 times. Max retries reached.')) {
      stderr.writeln(
          '[Unable to proceed] Registration has been terminated as you have'
          ' reached the maximum number of verification attempts.\n'
          'Please start again or contact support@atsign.com');
      exit(5);
    } else {
      stderr.writeln(
          '[Error] Failed getting an atsign. It looks like something went wrong on our side.\n'
          'Please try again or contact support@atsign.com, quoting the text displayed below.');
      stderr.writeln('Cause: ${e.toString()}');
      exit(6);
    }
  }
}