decodeTextInputType static method

TextInputType? decodeTextInputType(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the value to a TextInputType. Supported values are:

  • datetime
  • emailAddress
  • multiline
  • name
  • number
  • phone
  • streetAddress
  • text
  • url
  • visiblePassword

Implementation

static TextInputType? decodeTextInputType(
  dynamic value, {
  bool validate = true,
}) {
  TextInputType? result;
  if (value is TextInputType) {
    result = value;
  } else {
    _checkSupported(
      'TextInputType',
      [
        'datetime',
        'emailAddress',
        'multiline',
        'name',
        'number',
        'phone',
        'streetAddress',
        'text',
        'url',
        'visiblePassword',
      ],
      value,
    );

    if (value != null) {
      assert(SchemaValidator.validate(
        schemaId: '$_baseSchemaUrl/text_input_type',
        value: value,
        validate: validate,
      ));
      switch (value) {
        case 'datetime':
          result = TextInputType.datetime;
          break;

        case 'emailAddress':
          result = TextInputType.emailAddress;
          break;

        case 'multiline':
          result = TextInputType.multiline;
          break;

        case 'name':
          result = TextInputType.name;
          break;

        case 'number':
          result = TextInputType.number;
          break;

        case 'phone':
          result = TextInputType.phone;
          break;

        case 'streetAddress':
          result = TextInputType.streetAddress;
          break;

        case 'text':
          result = TextInputType.text;
          break;

        case 'url':
          result = TextInputType.url;
          break;

        case 'visiblePassword':
          result = TextInputType.visiblePassword;
          break;
      }
    }
  }
  return result;
}