askInt static method

Future<int> askInt(
  1. String question, {
  2. required int defaultValue,
  3. int? min,
  4. int? max,
})

Ask for a number input

Implementation

static Future<int> askInt(
  String question, {
  required int defaultValue,
  int? min,
  int? max,
}) async {
  if (PromptEnvironment.useSimplePrompts) {
    final String result = _askSimpleString(
      question,
      defaultValue: defaultValue.toString(),
      validator: (String value) =>
          _validateInt(value, min: min, max: max) == null,
      validationMessage: 'Please enter a valid number',
    );
    return int.parse(result);
  }

  try {
    final String result = Input(
      prompt: question,
      defaultValue: defaultValue.toString(),
      validator: (String value) {
        final String? error = _validateInt(value, min: min, max: max);
        if (error != null) {
          throw ValidationError(error);
        }
        return true;
      },
    ).interact();
    return int.parse(result);
  } on Object {
    return defaultValue;
  }
}