mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
fix(TextInputBuilder): parse custom_id, label, and style (#8216)
This commit is contained in:
@@ -82,6 +82,12 @@ describe('Text Input Components', () => {
|
|||||||
.setStyle(TextInputStyle.Paragraph)
|
.setStyle(TextInputStyle.Paragraph)
|
||||||
.toJSON();
|
.toJSON();
|
||||||
}).not.toThrowError();
|
}).not.toThrowError();
|
||||||
|
|
||||||
|
expect(() => {
|
||||||
|
// Issue #8107
|
||||||
|
// @ts-expect-error: shapeshift maps the enum key to the value when parsing
|
||||||
|
textInputComponent().setCustomId('Custom').setLabel('Guess').setStyle('Short').toJSON();
|
||||||
|
}).not.toThrowError();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { APITextInputComponent } from 'discord-api-types/v10';
|
import type { APITextInputComponent, TextInputStyle } from 'discord-api-types/v10';
|
||||||
import {
|
import {
|
||||||
maxLengthValidator,
|
maxLengthValidator,
|
||||||
minLengthValidator,
|
minLengthValidator,
|
||||||
@@ -6,10 +6,25 @@ import {
|
|||||||
requiredValidator,
|
requiredValidator,
|
||||||
valueValidator,
|
valueValidator,
|
||||||
validateRequiredParameters,
|
validateRequiredParameters,
|
||||||
|
labelValidator,
|
||||||
|
textInputStyleValidator,
|
||||||
} from './Assertions';
|
} from './Assertions';
|
||||||
import { UnsafeTextInputBuilder } from './UnsafeTextInput';
|
import { UnsafeTextInputBuilder } from './UnsafeTextInput';
|
||||||
|
import { customIdValidator } from '../Assertions';
|
||||||
|
|
||||||
export class TextInputBuilder extends UnsafeTextInputBuilder {
|
export class TextInputBuilder extends UnsafeTextInputBuilder {
|
||||||
|
public override setCustomId(customId: string): this {
|
||||||
|
return super.setCustomId(customIdValidator.parse(customId));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override setLabel(label: string): this {
|
||||||
|
return super.setLabel(labelValidator.parse(label));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override setStyle(style: TextInputStyle): this {
|
||||||
|
return super.setStyle(textInputStyleValidator.parse(style));
|
||||||
|
}
|
||||||
|
|
||||||
public override setMinLength(minLength: number) {
|
public override setMinLength(minLength: number) {
|
||||||
return super.setMinLength(minLengthValidator.parse(minLength));
|
return super.setMinLength(minLengthValidator.parse(minLength));
|
||||||
}
|
}
|
||||||
@@ -18,16 +33,16 @@ export class TextInputBuilder extends UnsafeTextInputBuilder {
|
|||||||
return super.setMaxLength(maxLengthValidator.parse(maxLength));
|
return super.setMaxLength(maxLengthValidator.parse(maxLength));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override setRequired(required = true) {
|
public override setPlaceholder(placeholder: string) {
|
||||||
return super.setRequired(requiredValidator.parse(required));
|
return super.setPlaceholder(placeholderValidator.parse(placeholder));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override setValue(value: string) {
|
public override setValue(value: string) {
|
||||||
return super.setValue(valueValidator.parse(value));
|
return super.setValue(valueValidator.parse(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override setPlaceholder(placeholder: string) {
|
public override setRequired(required = true) {
|
||||||
return super.setPlaceholder(placeholderValidator.parse(placeholder));
|
return super.setRequired(requiredValidator.parse(required));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override toJSON(): APITextInputComponent {
|
public override toJSON(): APITextInputComponent {
|
||||||
|
|||||||
Reference in New Issue
Block a user