parseApplicationCommandOption method

CommandOption parseApplicationCommandOption(
  1. Map<String, Object?> raw
)

Parse a CommandOption from raw.

Implementation

CommandOption parseApplicationCommandOption(Map<String, Object?> raw) {
  return CommandOption(
    type: CommandOptionType.parse(raw['type'] as int),
    name: raw['name'] as String,
    nameLocalizations: maybeParse(
      raw['name_localizations'],
      (Map<String, Object?> raw) => raw.map(
        (key, value) => MapEntry(Locale.parse(key), value as String),
      ),
    ),
    description: raw['description'] as String,
    descriptionLocalizations: maybeParse(
      raw['description_localizations'],
      (Map<String, Object?> raw) => raw.map(
        (key, value) => MapEntry(Locale.parse(key), value as String),
      ),
    ),
    isRequired: raw['required'] as bool?,
    choices: maybeParseMany(raw['choices'], parseOptionChoice),
    options: maybeParseMany(raw['options'], parseApplicationCommandOption),
    channelTypes: maybeParseMany(raw['channel_types'], ChannelType.parse),
    minValue: raw['min_value'] as num?,
    maxValue: raw['max_value'] as num?,
    minLength: raw['min_length'] as int?,
    maxLength: raw['max_length'] as int?,
    hasAutocomplete: raw['autocomplete'] as bool?,
  );
}