mirror of
https://github.com/discordjs/discord-api-types.git
synced 2026-05-29 23:00:08 +00:00
types: make application command option union easier to use (#250)
This commit is contained in:
@@ -18,7 +18,6 @@ interface APIApplicationCommandOptionBase {
|
||||
name: string;
|
||||
description: string;
|
||||
required?: boolean;
|
||||
autocomplete?: never;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,7 +18,6 @@ interface APIApplicationCommandOptionBase {
|
||||
name: string;
|
||||
description: string;
|
||||
required?: boolean;
|
||||
autocomplete?: never;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -29,7 +28,6 @@ export type APIApplicationCommandOption =
|
||||
| APIApplicationCommandSubCommandOptions
|
||||
| APIApplicationCommandOptionBase
|
||||
| APIApplicationCommandChannelOptions
|
||||
| APIApplicationCommandOptionBase
|
||||
| APIApplicationCommandNumberArgumentOptions
|
||||
| APIApplicationCommandStringAutocompleteOptions
|
||||
| APIApplicationCommandNumericAutocompleteOptions;
|
||||
|
||||
@@ -18,7 +18,6 @@ interface APIApplicationCommandOptionBase {
|
||||
name: string;
|
||||
description: string;
|
||||
required?: boolean;
|
||||
autocomplete?: never;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,7 +18,6 @@ interface APIApplicationCommandOptionBase {
|
||||
name: string;
|
||||
description: string;
|
||||
required?: boolean;
|
||||
autocomplete?: never;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -29,7 +28,6 @@ export type APIApplicationCommandOption =
|
||||
| APIApplicationCommandSubCommandOptions
|
||||
| APIApplicationCommandOptionBase
|
||||
| APIApplicationCommandChannelOptions
|
||||
| APIApplicationCommandOptionBase
|
||||
| APIApplicationCommandNumberArgumentOptions
|
||||
| APIApplicationCommandStringAutocompleteOptions
|
||||
| APIApplicationCommandNumericAutocompleteOptions;
|
||||
|
||||
62
tests/v9/chatInputOptions.test-d.ts
Normal file
62
tests/v9/chatInputOptions.test-d.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import { expectAssignable, expectNotAssignable, expectNotType } from 'tsd';
|
||||
import {
|
||||
APIApplicationCommandNumericAutocompleteOptions,
|
||||
APIApplicationCommandOption,
|
||||
APIApplicationCommandStringAutocompleteOptions,
|
||||
ApplicationCommandOptionType,
|
||||
} from '../../v9';
|
||||
|
||||
const baseValues = {
|
||||
name: 'test',
|
||||
description: 'test',
|
||||
};
|
||||
|
||||
expectAssignable<APIApplicationCommandStringAutocompleteOptions>({
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.String,
|
||||
autocomplete: true,
|
||||
});
|
||||
|
||||
expectAssignable<APIApplicationCommandNumericAutocompleteOptions>({
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Integer,
|
||||
autocomplete: true,
|
||||
});
|
||||
|
||||
expectAssignable<APIApplicationCommandNumericAutocompleteOptions>({
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Number,
|
||||
autocomplete: true,
|
||||
});
|
||||
|
||||
expectNotType<APIApplicationCommandStringAutocompleteOptions>({
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.String,
|
||||
choices: [],
|
||||
});
|
||||
|
||||
expectNotAssignable<APIApplicationCommandStringAutocompleteOptions>({
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.String,
|
||||
choices: [],
|
||||
autocomplete: true,
|
||||
});
|
||||
|
||||
expectNotAssignable<APIApplicationCommandStringAutocompleteOptions>({
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.String,
|
||||
choices: [],
|
||||
autocomplete: false,
|
||||
});
|
||||
|
||||
expectNotAssignable<APIApplicationCommandNumericAutocompleteOptions>({
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Number,
|
||||
choices: [],
|
||||
});
|
||||
|
||||
expectNotAssignable<APIApplicationCommandOption>({
|
||||
...baseValues,
|
||||
type: ApplicationCommandOptionType.Boolean,
|
||||
autocomplete: true,
|
||||
});
|
||||
Reference in New Issue
Block a user