types: Implement max/min values for autocomplete (#8498)

* types: implement max/min values for autocomplete

* refactor: deduplicate options

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
Jiralite
2022-08-16 21:37:08 +01:00
committed by GitHub
parent 7d2507279c
commit 812f7f1ea8

View File

@@ -3824,11 +3824,39 @@ export interface ApplicationCommandAttachmentOption extends BaseApplicationComma
type: ApplicationCommandOptionType.Attachment;
}
export interface ApplicationCommandAutocompleteOption extends Omit<BaseApplicationCommandOptionsData, 'autocomplete'> {
type:
| ApplicationCommandOptionType.String
| ApplicationCommandOptionType.Number
| ApplicationCommandOptionType.Integer;
export interface ApplicationCommandAutocompleteNumericOption
extends Omit<BaseApplicationCommandOptionsData, 'autocomplete'> {
type: CommandOptionNumericResolvableType;
minValue?: number;
maxValue?: number;
autocomplete: true;
}
export interface ApplicationCommandAutocompleteStringOption
extends Omit<BaseApplicationCommandOptionsData, 'autocomplete'> {
type: ApplicationCommandOptionType.String;
minLength?: number;
maxLength?: number;
autocomplete: true;
}
export interface ApplicationCommandAutocompleteNumericOptionData
extends Omit<BaseApplicationCommandOptionsData, 'autocomplete'> {
type: CommandOptionNumericResolvableType;
minValue?: number;
min_value?: number;
maxValue?: number;
max_value?: number;
autocomplete: true;
}
export interface ApplicationCommandAutocompleteStringOptionData
extends Omit<BaseApplicationCommandOptionsData, 'autocomplete'> {
type: ApplicationCommandOptionType.String;
minLength?: number;
min_length?: number;
maxLength?: number;
max_length?: number;
autocomplete: true;
}
@@ -3892,35 +3920,12 @@ export interface ApplicationCommandSubGroup extends Omit<BaseApplicationCommandO
export interface ApplicationCommandSubCommandData extends Omit<BaseApplicationCommandOptionsData, 'required'> {
type: ApplicationCommandOptionType.Subcommand;
options?: (
| ApplicationCommandChoicesData
| ApplicationCommandNonOptionsData
| ApplicationCommandChannelOptionData
| ApplicationCommandAutocompleteOption
| ApplicationCommandNumericOptionData
| ApplicationCommandRoleOptionData
| ApplicationCommandUserOptionData
| ApplicationCommandMentionableOptionData
| ApplicationCommandStringOptionData
| ApplicationCommandBooleanOption
)[];
options?: Exclude<ApplicationCommandOptionData, ApplicationCommandSubGroupData | ApplicationCommandSubCommandData>[];
}
export interface ApplicationCommandSubCommand extends Omit<BaseApplicationCommandOptionsData, 'required'> {
type: ApplicationCommandOptionType.Subcommand;
options?: (
| ApplicationCommandNonOptions
| ApplicationCommandChannelOption
| ApplicationCommandChoicesOption
| ApplicationCommandAutocompleteOption
| ApplicationCommandNumericOption
| ApplicationCommandStringOption
| ApplicationCommandRoleOption
| ApplicationCommandUserOption
| ApplicationCommandMentionableOption
| ApplicationCommandBooleanOption
| ApplicationCommandAttachmentOption
)[];
options?: Exclude<ApplicationCommandOption, ApplicationCommandSubGroup | ApplicationCommandSubCommand>[];
}
export interface ApplicationCommandNonOptionsData extends BaseApplicationCommandOptionsData {
@@ -3936,7 +3941,8 @@ export type ApplicationCommandOptionData =
| ApplicationCommandNonOptionsData
| ApplicationCommandChannelOptionData
| ApplicationCommandChoicesData
| ApplicationCommandAutocompleteOption
| ApplicationCommandAutocompleteNumericOptionData
| ApplicationCommandAutocompleteStringOptionData
| ApplicationCommandNumericOptionData
| ApplicationCommandStringOptionData
| ApplicationCommandRoleOptionData
@@ -3947,6 +3953,8 @@ export type ApplicationCommandOptionData =
export type ApplicationCommandOption =
| ApplicationCommandSubGroup
| ApplicationCommandAutocompleteNumericOption
| ApplicationCommandAutocompleteStringOption
| ApplicationCommandNonOptions
| ApplicationCommandChannelOption
| ApplicationCommandChoicesOption