types(ModalSubmitFields): components is an array (#9406)

* types(ModalSubmitFields): components is an array

* types(ModalSubmitFields): make type coherent with docs

* refactor(ModalSubmitInteraction): remove undefined props
This commit is contained in:
Rodrigo Leitão
2023-06-13 19:58:50 +01:00
committed by GitHub
parent 7b494aca5b
commit 1cab79f6fd
2 changed files with 11 additions and 12 deletions

View File

@@ -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,
};
}
/**

View File

@@ -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;
}