decodeNavigationRailLabelType static method

NavigationRailLabelType? decodeNavigationRailLabelType(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the value to a NavigationRailLabelType. Supported values are:

  • all
  • none
  • selected

Implementation

static NavigationRailLabelType? decodeNavigationRailLabelType(
  dynamic value, {
  bool validate = true,
}) {
  NavigationRailLabelType? result;
  if (value is NavigationRailLabelType) {
    result = value;
  } else {
    _checkSupported(
      'NavigationRailLabelType',
      [
        'all',
        'none',
        'selected',
      ],
      value,
    );

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

        case 'none':
          result = NavigationRailLabelType.none;
          break;

        case 'selected':
          result = NavigationRailLabelType.selected;
          break;
      }
    }
  }

  return result;
}