read static method

String read(
  1. String message, {
  2. bool isRequired = false,
  3. bool isNumber = false,
  4. bool isSlug = false,
})

read method is used to read the input from the console.

Implementation

static String read(
  String message, {
  bool isRequired = false,
  bool isNumber = false,
  bool isSlug = false,
}) {
  console.write('\n\n$message ');
  var res = '';
  try {
    res = console.readLine() ?? '';
  } catch (e) {
    res = '';
  }
  res = res.trim();
  if (res.isEmpty && isRequired) {
    return read(
      message,
      isRequired: isRequired,
      isNumber: isNumber,
      isSlug: isSlug,
    );
  }

  if (isNumber) {
    var num = int.tryParse(res);
    if (num == null) {
      write("Input most be Integer!", CappColors.error);
      return read(
        message,
        isRequired: isRequired,
        isNumber: isNumber,
        isSlug: isSlug,
      );
    }

    res = num.toString();
  }

  if (isSlug && !_isSlug(res)) {
    write("input should be slug (like: example_name)", CappColors.error);
    return read(
      message,
      isRequired: isRequired,
      isNumber: isNumber,
      isSlug: isSlug,
    );
  }

  return res;
}