From e77b081788773a46cc23df133950b71da87055ad Mon Sep 17 00:00:00 2001 From: Valdemar Erk Date: Tue, 28 Jan 2025 16:04:11 +0100 Subject: [PATCH 1/2] feat(model): Add various From implementations for CommandOptionValue Closes #2403 --- .../interaction/application_command/option.rs | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/twilight-model/src/application/interaction/application_command/option.rs b/twilight-model/src/application/interaction/application_command/option.rs index 2060b8cc3b2..42a9c9f841a 100644 --- a/twilight-model/src/application/interaction/application_command/option.rs +++ b/twilight-model/src/application/interaction/application_command/option.rs @@ -360,6 +360,60 @@ pub enum CommandOptionValue { User(Id), } +impl From> for CommandOptionValue { + fn from(value: Id) -> Self { + CommandOptionValue::Attachment(value) + } +} + +impl From for CommandOptionValue { + fn from(value: bool) -> Self { + CommandOptionValue::Boolean(value) + } +} + +impl From> for CommandOptionValue { + fn from(value: Id) -> Self { + CommandOptionValue::Channel(value) + } +} + +impl From for CommandOptionValue { + fn from(value: i64) -> Self { + CommandOptionValue::Integer(value) + } +} + +impl From> for CommandOptionValue { + fn from(value: Id) -> Self { + CommandOptionValue::Mentionable(value) + } +} + +impl From for CommandOptionValue { + fn from(value: f64) -> Self { + CommandOptionValue::Number(value) + } +} + +impl From> for CommandOptionValue { + fn from(value: Id) -> Self { + CommandOptionValue::Role(value) + } +} + +impl From for CommandOptionValue { + fn from(value: String) -> Self { + CommandOptionValue::String(value) + } +} + +impl From> for CommandOptionValue { + fn from(value: Id) -> Self { + CommandOptionValue::User(value) + } +} + impl CommandOptionValue { pub const fn kind(&self) -> CommandOptionType { match self { From 018f410e5cd4162f4e84c5813852faa57c3e9bf4 Mon Sep 17 00:00:00 2001 From: Valdemar Erk Date: Wed, 5 Feb 2025 16:53:56 +0100 Subject: [PATCH 2/2] Remove Id impl. --- .../application/interaction/application_command/option.rs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/twilight-model/src/application/interaction/application_command/option.rs b/twilight-model/src/application/interaction/application_command/option.rs index 42a9c9f841a..05daf28757f 100644 --- a/twilight-model/src/application/interaction/application_command/option.rs +++ b/twilight-model/src/application/interaction/application_command/option.rs @@ -384,12 +384,6 @@ impl From for CommandOptionValue { } } -impl From> for CommandOptionValue { - fn from(value: Id) -> Self { - CommandOptionValue::Mentionable(value) - } -} - impl From for CommandOptionValue { fn from(value: f64) -> Self { CommandOptionValue::Number(value)