decodePopupMenuPosition static method

PopupMenuPosition? decodePopupMenuPosition(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the value to a PopupMenuPosition. Supported values are:

  • over
  • under

Implementation

static PopupMenuPosition? decodePopupMenuPosition(
  dynamic value, {
  bool validate = true,
}) {
  PopupMenuPosition? result;

  if (value is PopupMenuPosition) {
    result = value;
  } else if (value != null) {
    _checkSupported(
      'PopupMenuPosition',
      [
        'over',
        'under',
      ],
      value,
    );
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/popup_menu_position',
      value: value,
      validate: validate,
    ));

    switch (value) {
      case 'over':
        result = PopupMenuPosition.over;
        break;

      case 'under':
        result = PopupMenuPosition.under;
        break;
    }
  }

  return result;
}