number method

Future<num> number(
  1. String message, {
  2. num? min,
  3. num? max,
  4. num? defaultValue,
  5. bool allowDecimals = false,
  6. String? validate(
    1. num value
    )?,
})

Asks for a numeric answer with optional bounds.

Implementation

Future<num> number(
  String message, {
  num? min,
  num? max,
  num? defaultValue,
  bool allowDecimals = false,
  String? Function(num value)? validate,
}) {
  final state = InputNumberState(initialValue: defaultValue);
  return runOneShot<num>(
    (ctx, submit) => ctx.draw(
      InputNumber(
        id: Key.symbol(#__inline_number),
        state: state,
        message: message,
        min: min,
        max: max,
        defaultValue: defaultValue,
        allowDecimals: allowDecimals,
        validate: validate,
        onSubmit: submit,
      ),
      Rect(ctx.area.x, ctx.area.y, ctx.area.width,
          state.error != null ? 2 : 1),
    ),
    theme: _theme,
    terminal: _terminal(),
    allowNonInteractive: _allowNonInteractive,
  );
}