diff --git a/packages/builders/src/components/selectMenu/ChannelSelectMenu.ts b/packages/builders/src/components/selectMenu/ChannelSelectMenu.ts index 28a7c1edf994..35dfb9a53a0b 100644 --- a/packages/builders/src/components/selectMenu/ChannelSelectMenu.ts +++ b/packages/builders/src/components/selectMenu/ChannelSelectMenu.ts @@ -70,14 +70,17 @@ export class ChannelSelectMenuBuilder extends BaseSelectMenuBuilder) { - const normalizedValues = normalizeArray(channels).map((id) => ({ - id, - type: SelectMenuDefaultValueType.Channel as const, - })); - + const normalizedValues = normalizeArray(channels); + optionsLengthValidator.parse((this.data.default_values?.length ?? 0) + normalizedValues.length); this.data.default_values ??= []; - optionsLengthValidator.parse(this.data.default_values.length + normalizedValues.length); - this.data.default_values.push(...normalizedValues); + + this.data.default_values.push( + ...normalizedValues.map((id) => ({ + id, + type: SelectMenuDefaultValueType.Channel as const, + })), + ); + return this; } @@ -87,13 +90,14 @@ export class ChannelSelectMenuBuilder extends BaseSelectMenuBuilder) { - const normalizedValues = normalizeArray(channels).map((id) => ({ + const normalizedValues = normalizeArray(channels); + optionsLengthValidator.parse(normalizedValues.length); + + this.data.default_values = normalizedValues.map((id) => ({ id, type: SelectMenuDefaultValueType.Channel as const, })); - optionsLengthValidator.parse(normalizedValues.length); - this.data.default_values = normalizedValues; return this; } diff --git a/packages/builders/src/components/selectMenu/MentionableSelectMenu.ts b/packages/builders/src/components/selectMenu/MentionableSelectMenu.ts index 82b709e846b2..b577822e9e0a 100644 --- a/packages/builders/src/components/selectMenu/MentionableSelectMenu.ts +++ b/packages/builders/src/components/selectMenu/MentionableSelectMenu.ts @@ -45,14 +45,17 @@ export class MentionableSelectMenuBuilder extends BaseSelectMenuBuilder) { - const normalizedValues = normalizeArray(roles).map((id) => ({ - id, - type: SelectMenuDefaultValueType.Role as const, - })); - + const normalizedValues = normalizeArray(roles); + optionsLengthValidator.parse((this.data.default_values?.length ?? 0) + normalizedValues.length); this.data.default_values ??= []; - optionsLengthValidator.parse(this.data.default_values.length + normalizedValues.length); - this.data.default_values.push(...normalizedValues); + + this.data.default_values.push( + ...normalizedValues.map((id) => ({ + id, + type: SelectMenuDefaultValueType.Role as const, + })), + ); + return this; } @@ -62,14 +65,17 @@ export class MentionableSelectMenuBuilder extends BaseSelectMenuBuilder) { - const normalizedValues = normalizeArray(users).map((id) => ({ - id, - type: SelectMenuDefaultValueType.User as const, - })); - + const normalizedValues = normalizeArray(users); + optionsLengthValidator.parse((this.data.default_values?.length ?? 0) + normalizedValues.length); this.data.default_values ??= []; - optionsLengthValidator.parse(this.data.default_values.length + normalizedValues.length); - this.data.default_values.push(...normalizedValues); + + this.data.default_values.push( + ...normalizedValues.map((id) => ({ + id, + type: SelectMenuDefaultValueType.User as const, + })), + ); + return this; } @@ -85,8 +91,8 @@ export class MentionableSelectMenuBuilder extends BaseSelectMenuBuilder ) { const normalizedValues = normalizeArray(values); + optionsLengthValidator.parse((this.data.default_values?.length ?? 0) + normalizedValues.length); this.data.default_values ??= []; - optionsLengthValidator.parse(this.data.default_values.length + normalizedValues.length); this.data.default_values.push(...normalizedValues); return this; } diff --git a/packages/builders/src/components/selectMenu/RoleSelectMenu.ts b/packages/builders/src/components/selectMenu/RoleSelectMenu.ts index bd5801ce10a3..f3ae4ab01421 100644 --- a/packages/builders/src/components/selectMenu/RoleSelectMenu.ts +++ b/packages/builders/src/components/selectMenu/RoleSelectMenu.ts @@ -44,14 +44,17 @@ export class RoleSelectMenuBuilder extends BaseSelectMenuBuilder) { - const normalizedValues = normalizeArray(roles).map((id) => ({ - id, - type: SelectMenuDefaultValueType.Role as const, - })); - + const normalizedValues = normalizeArray(roles); + optionsLengthValidator.parse((this.data.default_values?.length ?? 0) + normalizedValues.length); this.data.default_values ??= []; - optionsLengthValidator.parse(this.data.default_values.length + normalizedValues.length); - this.data.default_values.push(...normalizedValues); + + this.data.default_values.push( + ...normalizedValues.map((id) => ({ + id, + type: SelectMenuDefaultValueType.Role as const, + })), + ); + return this; } @@ -61,13 +64,14 @@ export class RoleSelectMenuBuilder extends BaseSelectMenuBuilder) { - const normalizedValues = normalizeArray(roles).map((id) => ({ + const normalizedValues = normalizeArray(roles); + optionsLengthValidator.parse(normalizedValues.length); + + this.data.default_values = normalizedValues.map((id) => ({ id, type: SelectMenuDefaultValueType.Role as const, })); - optionsLengthValidator.parse(normalizedValues.length); - this.data.default_values = normalizedValues; return this; } } diff --git a/packages/builders/src/components/selectMenu/UserSelectMenu.ts b/packages/builders/src/components/selectMenu/UserSelectMenu.ts index aff23d339f40..1d32583ab095 100644 --- a/packages/builders/src/components/selectMenu/UserSelectMenu.ts +++ b/packages/builders/src/components/selectMenu/UserSelectMenu.ts @@ -44,14 +44,17 @@ export class UserSelectMenuBuilder extends BaseSelectMenuBuilder) { - const normalizedValues = normalizeArray(users).map((id) => ({ - id, - type: SelectMenuDefaultValueType.User as const, - })); - + const normalizedValues = normalizeArray(users); + optionsLengthValidator.parse((this.data.default_values?.length ?? 0) + normalizedValues.length); this.data.default_values ??= []; - optionsLengthValidator.parse(this.data.default_values.length + normalizedValues.length); - this.data.default_values.push(...normalizedValues); + + this.data.default_values.push( + ...normalizedValues.map((id) => ({ + id, + type: SelectMenuDefaultValueType.User as const, + })), + ); + return this; } @@ -61,13 +64,14 @@ export class UserSelectMenuBuilder extends BaseSelectMenuBuilder) { - const normalizedValues = normalizeArray(users).map((id) => ({ + const normalizedValues = normalizeArray(users); + optionsLengthValidator.parse(normalizedValues.length); + + this.data.default_values = normalizedValues.map((id) => ({ id, type: SelectMenuDefaultValueType.User as const, })); - optionsLengthValidator.parse(normalizedValues.length); - this.data.default_values = normalizedValues; return this; } }