Skip to content

Commit

Permalink
types(ModalSubmitFields): components is an array (#9406)
Browse files Browse the repository at this point in the history
* types(ModalSubmitFields): components is an array

* types(ModalSubmitFields): make type coherent with docs

* refactor(ModalSubmitInteraction): remove undefined props
  • Loading branch information
ImRodry committed Jun 13, 2023
1 parent 7b494ac commit 1cab79f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 12 deletions.
13 changes: 7 additions & 6 deletions packages/discord.js/src/structures/ModalSubmitInteraction.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,13 @@ class ModalSubmitInteraction extends BaseInteraction {
* @returns {ModalData[]}
*/
static transformComponent(rawComponent) {
return {
value: rawComponent.value,
type: rawComponent.type,
customId: rawComponent.custom_id,
components: rawComponent.components?.map(c => this.transformComponent(c)),
};
return rawComponent.components
? { type: rawComponent.type, components: rawComponent.components.map(c => this.transformComponent(c)) }
: {
value: rawComponent.value,
type: rawComponent.type,
customId: rawComponent.custom_id,
};
}

/**
Expand Down
10 changes: 4 additions & 6 deletions packages/discord.js/typings/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2228,17 +2228,15 @@ export interface TextInputModalData extends BaseModalData {

export interface ActionRowModalData {
type: ComponentType.ActionRow;
components: ModalData[];
components: TextInputModalData[];
}

export type ModalData = TextInputModalData | ActionRowModalData;

export class ModalSubmitFields {
constructor(components: ModalActionRowComponent[][]);
public components: ActionRow<ModalActionRowComponent>;
public components: ActionRowModalData[];
public fields: Collection<string, ModalActionRowComponent>;
public getField<T extends ComponentType>(customId: string, type: T): { type: T } & ModalData;
public getField(customId: string, type?: ComponentType): ModalData;
public getField<T extends ComponentType>(customId: string, type: T): { type: T } & TextInputModalData;
public getField(customId: string, type?: ComponentType): TextInputModalData;
public getTextInputValue(customId: string): string;
}

Expand Down

0 comments on commit 1cab79f

Please sign in to comment.