mirror of
https://github.com/discordjs/discord-api-types.git
synced 2026-05-22 19:30:09 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1cd9b53ea8 | ||
|
|
4cbb5fa894 | ||
|
|
6a192b132c |
@@ -1,3 +1,9 @@
|
||||
## [0.31.2](https://github.com/discordjs/discord-api-types/compare/0.31.1...0.31.2) (2022-04-18)
|
||||
|
||||
### Features
|
||||
|
||||
- **RESTPostAPIGuildChannelJSONBody:** add `default_auto_archive` prop ([#400](https://github.com/discordjs/discord-api-types/issues/400)) ([6a192b1](https://github.com/discordjs/discord-api-types/commit/6a192b132c11f13d95ea3e7ed1eb556600f2f415))
|
||||
|
||||
## [0.31.1](https://github.com/discordjs/discord-api-types/compare/0.31.0...0.31.1) (2022-04-11)
|
||||
|
||||
### Features
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
## [0.31.2](https://github.com/discordjs/discord-api-types/compare/0.31.1...0.31.2) (2022-04-18)
|
||||
|
||||
### Features
|
||||
|
||||
- **RESTPostAPIGuildChannelJSONBody:** add `default_auto_archive` prop ([#400](https://github.com/discordjs/discord-api-types/issues/400)) ([6a192b1](https://github.com/discordjs/discord-api-types/commit/6a192b132c11f13d95ea3e7ed1eb556600f2f415))
|
||||
|
||||
## [0.31.1](https://github.com/discordjs/discord-api-types/compare/0.31.0...0.31.1) (2022-04-11)
|
||||
|
||||
### Features
|
||||
|
||||
@@ -454,7 +454,7 @@ export interface APIMessage {
|
||||
/**
|
||||
* Reference data sent with crossposted messages, replies, pins, and thread starter messages
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
message_reference?: APIMessageReference;
|
||||
/**
|
||||
@@ -554,7 +554,7 @@ export interface APIMessageActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export interface APIMessageReference {
|
||||
/**
|
||||
|
||||
@@ -43,7 +43,7 @@ export enum OAuth2Scopes {
|
||||
/**
|
||||
* Allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/guild#get-current-user-guild-member
|
||||
* See https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
||||
*/
|
||||
GuildsMembersRead = 'guilds.members.read',
|
||||
/**
|
||||
|
||||
@@ -454,7 +454,7 @@ export interface APIMessage {
|
||||
/**
|
||||
* Reference data sent with crossposted messages, replies, pins, and thread starter messages
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
message_reference?: APIMessageReference;
|
||||
/**
|
||||
@@ -554,7 +554,7 @@ export interface APIMessageActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export interface APIMessageReference {
|
||||
/**
|
||||
|
||||
@@ -43,7 +43,7 @@ export enum OAuth2Scopes {
|
||||
/**
|
||||
* Allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/guild#get-current-user-guild-member
|
||||
* See https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
||||
*/
|
||||
GuildsMembersRead = 'guilds.members.read',
|
||||
/**
|
||||
|
||||
@@ -224,6 +224,9 @@ export enum RESTJSONErrorCodes {
|
||||
FailedToCreateStageNeededForStageEvent = 180002,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/reference#locales
|
||||
*/
|
||||
export enum Locale {
|
||||
EnglishUS = 'en-US',
|
||||
EnglishGB = 'en-GB',
|
||||
|
||||
@@ -188,7 +188,7 @@ export type RESTGetAPIChannelMessagesResult = APIMessage[];
|
||||
export type RESTGetAPIChannelMessageResult = APIMessage;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export type APIMessageReferenceSend = StrictPartial<APIMessageReference> &
|
||||
Required<Pick<APIMessageReference, 'message_id'>> &
|
||||
@@ -232,7 +232,7 @@ export type RESTPostAPIChannelMessageJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
/**
|
||||
* Include to make your message a reply
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
message_reference?: APIMessageReferenceSend;
|
||||
/**
|
||||
@@ -528,12 +528,12 @@ export type RESTPostAPIChannelTypingResult = never;
|
||||
export type RESTGetAPIChannelPinsResult = APIMessage[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#add-pinned-channel-message
|
||||
* https://discord.com/developers/docs/resources/channel#pin-message
|
||||
*/
|
||||
export type RESTPutAPIChannelPinResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#delete-pinned-channel-message
|
||||
* https://discord.com/developers/docs/resources/channel#unpin-message
|
||||
*/
|
||||
export type RESTDeleteAPIChannelPinResult = never;
|
||||
|
||||
@@ -562,7 +562,7 @@ export type RESTPutAPIChannelRecipientResult = unknown;
|
||||
export type RESTDeleteAPIChannelRecipientResult = unknown;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-from-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessagesThreadsJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -593,7 +593,7 @@ export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThr
|
||||
export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessageFormDataBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-from-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessagesThreadsResult = APIChannel;
|
||||
|
||||
|
||||
@@ -26,10 +26,11 @@ import type {
|
||||
} from '../../payloads/v10/mod.ts';
|
||||
import type {
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
|
||||
DistributiveOmit,
|
||||
DistributivePick,
|
||||
Nullable,
|
||||
StrictPartial,
|
||||
StrictRequired,
|
||||
UnionToIntersection,
|
||||
} from '../../utils/internals.ts';
|
||||
|
||||
export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSONBody {
|
||||
@@ -38,9 +39,9 @@ export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSON
|
||||
|
||||
export type APIGuildChannelResolvable = Exclude<APIChannel, APIDMChannel | APIGroupDMChannel>;
|
||||
export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
Pick<
|
||||
UnionToIntersection<APIGuildChannelResolvable>,
|
||||
'type' | 'topic' | 'nsfw' | 'bitrate' | 'user_limit' | 'rate_limit_per_user'
|
||||
DistributivePick<
|
||||
APIGuildChannelResolvable,
|
||||
'type' | 'topic' | 'nsfw' | 'bitrate' | 'user_limit' | 'rate_limit_per_user' | 'default_auto_archive_duration'
|
||||
>
|
||||
> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
@@ -291,7 +292,7 @@ export type RESTGetAPIGuildChannelsResult = APIChannel[];
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#create-guild-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildChannelJSONBody = Omit<APIGuildCreatePartialChannel, 'id'>;
|
||||
export type RESTPostAPIGuildChannelJSONBody = DistributiveOmit<APIGuildCreatePartialChannel, 'id'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#create-guild-channel
|
||||
|
||||
@@ -2,7 +2,7 @@ import type { Permissions, Snowflake } from '../../globals.ts';
|
||||
import type { APIApplication, APIGuild, APIUser, APIWebhook, OAuth2Scopes } from '../../payloads/v10/mod.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/oauth2#get-current-application-information
|
||||
* https://discord.com/developers/docs/topics/oauth2#get-current-bot-application-information
|
||||
*/
|
||||
export type RESTGetAPIOAuth2CurrentApplicationResult = Omit<APIApplication, 'flags'>;
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ export type RESTPostAPIStageInstanceResult = APIStageInstance;
|
||||
export type RESTGetAPIStageInstanceResult = APIStageInstance;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/stage-instance#update-stage-instance
|
||||
* https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance
|
||||
*/
|
||||
export type RESTPatchAPIStageInstanceJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -51,7 +51,7 @@ export type RESTPatchAPIStageInstanceJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/stage-instance#update-stage-instance
|
||||
* https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance
|
||||
*/
|
||||
export type RESTPatchAPIStageInstanceResult = APIStageInstance;
|
||||
|
||||
|
||||
@@ -1,16 +1,31 @@
|
||||
import type { APISticker, APIStickerPack } from '../../payloads/v10/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#get-sticker
|
||||
*/
|
||||
export type RESTGetAPIStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#list-nitro-sticker-packs
|
||||
*/
|
||||
export interface RESTGetNitroStickerPacksResult {
|
||||
sticker_packs: APIStickerPack[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#list-guild-stickers
|
||||
*/
|
||||
export type RESTGetAPIGuildStickersResult = APISticker[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#get-guild-sticker
|
||||
*/
|
||||
export type RESTGetAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#create-guild-sticker
|
||||
*/
|
||||
export interface RESTPostAPIGuildStickerFormDataBody {
|
||||
/**
|
||||
* Name of the sticker (2-30 characters)
|
||||
@@ -30,8 +45,14 @@ export interface RESTPostAPIGuildStickerFormDataBody {
|
||||
file: unknown;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#create-guild-sticker
|
||||
*/
|
||||
export type RESTPostAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#modify-guild-sticker
|
||||
*/
|
||||
export type RESTPatchAPIGuildStickerJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
* Name of the sticker (2-30 characters)
|
||||
@@ -47,6 +68,12 @@ export type RESTPatchAPIGuildStickerJSONBody = AddUndefinedToPossiblyUndefinedPr
|
||||
tags?: string;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#modify-guild-sticker
|
||||
*/
|
||||
export type RESTPatchAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#delete-guild-sticker
|
||||
*/
|
||||
export type RESTDeleteAPIGuildStickerResult = never;
|
||||
|
||||
@@ -2,12 +2,12 @@ import type { APIGuild, APITemplate } from '../../payloads/v10/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#get-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#get-guild-template
|
||||
*/
|
||||
export type RESTGetAPITemplateResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-from-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template
|
||||
*/
|
||||
export type RESTPostAPITemplateCreateGuildJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -23,17 +23,17 @@ export type RESTPostAPITemplateCreateGuildJSONBody = AddUndefinedToPossiblyUndef
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-from-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template
|
||||
*/
|
||||
export type RESTPostAPITemplateCreateGuildResult = APIGuild;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#get-guild-templates
|
||||
* https://discord.com/developers/docs/resources/guild-template#get-guild-templates
|
||||
*/
|
||||
export type RESTGetAPIGuildTemplatesResult = APITemplate[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-template
|
||||
*/
|
||||
export type RESTPostAPIGuildTemplatesJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -47,26 +47,26 @@ export type RESTPostAPIGuildTemplatesJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-template
|
||||
*/
|
||||
export type RESTPostAPIGuildTemplatesResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#sync-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#sync-guild-template
|
||||
*/
|
||||
export type RESTPutAPIGuildTemplateSyncResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#modify-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#modify-guild-template
|
||||
*/
|
||||
export type RESTPatchAPIGuildTemplateJSONBody = StrictPartial<RESTPostAPIGuildTemplatesJSONBody>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#modify-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#modify-guild-template
|
||||
*/
|
||||
export type RESTPatchAPIGuildTemplateResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#delete-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#delete-guild-template
|
||||
*/
|
||||
export type RESTDeleteAPIGuildTemplateResult = APITemplate;
|
||||
|
||||
@@ -13,7 +13,7 @@ export type RESTGetAPICurrentUserResult = APIUser;
|
||||
export type RESTGetAPIUserResult = APIUser;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#get-current-user-guild-member
|
||||
* https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
||||
*/
|
||||
export type RESTGetCurrentUserGuildMemberResult = APIGuildMember;
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ export type RESTPostAPIWebhookWithTokenFormDataBody =
|
||||
| (RESTPostAPIWebhookWithTokenJSONBody & Record<`files[${bigint}]`, unknown>);
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-webhook-querystring-params
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-webhook-query-string-params
|
||||
*/
|
||||
export interface RESTPostAPIWebhookWithTokenQuery {
|
||||
/**
|
||||
@@ -184,12 +184,12 @@ export type RESTPostAPIWebhookWithTokenResult = never;
|
||||
* Received when a call to https://discord.com/developers/docs/resources/webhook#execute-webhook receives
|
||||
* the `wait` query parameter set to `true`
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-webhook-querystring-params
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenWaitResult = APIMessage;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook-querystring-params
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenSlackQuery = RESTPostAPIWebhookWithTokenQuery;
|
||||
|
||||
@@ -202,12 +202,12 @@ export type RESTPostAPIWebhookWithTokenSlackResult = never;
|
||||
* Received when a call to https://discord.com/developers/docs/resources/webhook#execute-webhook receives
|
||||
* the `wait` query parameter set to `true`
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook-querystring-params
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenSlackWaitResult = APIMessage;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook-querystring-params
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenGitHubQuery = RESTPostAPIWebhookWithTokenQuery;
|
||||
|
||||
@@ -220,7 +220,7 @@ export type RESTPostAPIWebhookWithTokenGitHubResult = never;
|
||||
* Received when a call to https://discord.com/developers/docs/resources/webhook#execute-webhook receives
|
||||
* the `wait` query parameter set to `true`
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook-querystring-params
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenGitHubWaitResult = APIMessage;
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ export type RESTGetAPIChannelMessagesResult = APIMessage[];
|
||||
export type RESTGetAPIChannelMessageResult = APIMessage;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export type APIMessageReferenceSend = StrictPartial<APIMessageReference> &
|
||||
Required<Pick<APIMessageReference, 'message_id'>> &
|
||||
@@ -239,7 +239,7 @@ export type RESTPostAPIChannelMessageJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
/**
|
||||
* Include to make your message a reply
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
message_reference?: APIMessageReferenceSend;
|
||||
/**
|
||||
@@ -542,12 +542,12 @@ export type RESTPostAPIChannelTypingResult = never;
|
||||
export type RESTGetAPIChannelPinsResult = APIMessage[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#add-pinned-channel-message
|
||||
* https://discord.com/developers/docs/resources/channel#pin-message
|
||||
*/
|
||||
export type RESTPutAPIChannelPinResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#delete-pinned-channel-message
|
||||
* https://discord.com/developers/docs/resources/channel#unpin-message
|
||||
*/
|
||||
export type RESTDeleteAPIChannelPinResult = never;
|
||||
|
||||
@@ -576,7 +576,7 @@ export type RESTPutAPIChannelRecipientResult = unknown;
|
||||
export type RESTDeleteAPIChannelRecipientResult = unknown;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-from-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessagesThreadsJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -607,7 +607,7 @@ export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThr
|
||||
export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessageFormDataBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-from-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessagesThreadsResult = APIChannel;
|
||||
|
||||
|
||||
@@ -26,10 +26,11 @@ import type {
|
||||
} from '../../payloads/v9/mod.ts';
|
||||
import type {
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
|
||||
DistributiveOmit,
|
||||
DistributivePick,
|
||||
Nullable,
|
||||
StrictPartial,
|
||||
StrictRequired,
|
||||
UnionToIntersection,
|
||||
} from '../../utils/internals.ts';
|
||||
|
||||
export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSONBody {
|
||||
@@ -38,9 +39,9 @@ export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSON
|
||||
|
||||
export type APIGuildChannelResolvable = Exclude<APIChannel, APIDMChannel | APIGroupDMChannel>;
|
||||
export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
Pick<
|
||||
UnionToIntersection<APIGuildChannelResolvable>,
|
||||
'type' | 'topic' | 'nsfw' | 'bitrate' | 'user_limit' | 'rate_limit_per_user'
|
||||
DistributivePick<
|
||||
APIGuildChannelResolvable,
|
||||
'type' | 'topic' | 'nsfw' | 'bitrate' | 'user_limit' | 'rate_limit_per_user' | 'default_auto_archive_duration'
|
||||
>
|
||||
> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
@@ -291,7 +292,7 @@ export type RESTGetAPIGuildChannelsResult = APIChannel[];
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#create-guild-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildChannelJSONBody = Omit<APIGuildCreatePartialChannel, 'id'>;
|
||||
export type RESTPostAPIGuildChannelJSONBody = DistributiveOmit<APIGuildCreatePartialChannel, 'id'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#create-guild-channel
|
||||
|
||||
@@ -2,7 +2,7 @@ import type { Permissions, Snowflake } from '../../globals.ts';
|
||||
import type { APIApplication, APIGuild, APIUser, APIWebhook, OAuth2Scopes } from '../../payloads/v9/mod.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/oauth2#get-current-application-information
|
||||
* https://discord.com/developers/docs/topics/oauth2#get-current-bot-application-information
|
||||
*/
|
||||
export type RESTGetAPIOAuth2CurrentApplicationResult = Omit<APIApplication, 'flags'>;
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ export type RESTPostAPIStageInstanceResult = APIStageInstance;
|
||||
export type RESTGetAPIStageInstanceResult = APIStageInstance;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/stage-instance#update-stage-instance
|
||||
* https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance
|
||||
*/
|
||||
export type RESTPatchAPIStageInstanceJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -51,7 +51,7 @@ export type RESTPatchAPIStageInstanceJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/stage-instance#update-stage-instance
|
||||
* https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance
|
||||
*/
|
||||
export type RESTPatchAPIStageInstanceResult = APIStageInstance;
|
||||
|
||||
|
||||
@@ -1,16 +1,31 @@
|
||||
import type { APISticker, APIStickerPack } from '../../payloads/v9/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#get-sticker
|
||||
*/
|
||||
export type RESTGetAPIStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#list-nitro-sticker-packs
|
||||
*/
|
||||
export interface RESTGetNitroStickerPacksResult {
|
||||
sticker_packs: APIStickerPack[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#list-guild-stickers
|
||||
*/
|
||||
export type RESTGetAPIGuildStickersResult = APISticker[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#get-guild-sticker
|
||||
*/
|
||||
export type RESTGetAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#create-guild-sticker
|
||||
*/
|
||||
export interface RESTPostAPIGuildStickerFormDataBody {
|
||||
/**
|
||||
* Name of the sticker (2-30 characters)
|
||||
@@ -30,8 +45,14 @@ export interface RESTPostAPIGuildStickerFormDataBody {
|
||||
file: unknown;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#create-guild-sticker
|
||||
*/
|
||||
export type RESTPostAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#modify-guild-sticker
|
||||
*/
|
||||
export type RESTPatchAPIGuildStickerJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
* Name of the sticker (2-30 characters)
|
||||
@@ -47,6 +68,12 @@ export type RESTPatchAPIGuildStickerJSONBody = AddUndefinedToPossiblyUndefinedPr
|
||||
tags?: string;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#modify-guild-sticker
|
||||
*/
|
||||
export type RESTPatchAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#delete-guild-sticker
|
||||
*/
|
||||
export type RESTDeleteAPIGuildStickerResult = never;
|
||||
|
||||
@@ -2,12 +2,12 @@ import type { APIGuild, APITemplate } from '../../payloads/v9/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#get-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#get-guild-template
|
||||
*/
|
||||
export type RESTGetAPITemplateResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-from-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template
|
||||
*/
|
||||
export type RESTPostAPITemplateCreateGuildJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -23,17 +23,17 @@ export type RESTPostAPITemplateCreateGuildJSONBody = AddUndefinedToPossiblyUndef
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-from-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template
|
||||
*/
|
||||
export type RESTPostAPITemplateCreateGuildResult = APIGuild;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#get-guild-templates
|
||||
* https://discord.com/developers/docs/resources/guild-template#get-guild-templates
|
||||
*/
|
||||
export type RESTGetAPIGuildTemplatesResult = APITemplate[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-template
|
||||
*/
|
||||
export type RESTPostAPIGuildTemplatesJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -47,26 +47,26 @@ export type RESTPostAPIGuildTemplatesJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-template
|
||||
*/
|
||||
export type RESTPostAPIGuildTemplatesResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#sync-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#sync-guild-template
|
||||
*/
|
||||
export type RESTPutAPIGuildTemplateSyncResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#modify-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#modify-guild-template
|
||||
*/
|
||||
export type RESTPatchAPIGuildTemplateJSONBody = StrictPartial<RESTPostAPIGuildTemplatesJSONBody>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#modify-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#modify-guild-template
|
||||
*/
|
||||
export type RESTPatchAPIGuildTemplateResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#delete-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#delete-guild-template
|
||||
*/
|
||||
export type RESTDeleteAPIGuildTemplateResult = APITemplate;
|
||||
|
||||
@@ -13,7 +13,7 @@ export type RESTGetAPICurrentUserResult = APIUser;
|
||||
export type RESTGetAPIUserResult = APIUser;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#get-current-user-guild-member
|
||||
* https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
||||
*/
|
||||
export type RESTGetCurrentUserGuildMemberResult = APIGuildMember;
|
||||
|
||||
|
||||
@@ -14,4 +14,26 @@ export type StrictPartial<Base> = AddUndefinedToPossiblyUndefinedPropertiesOfInt
|
||||
|
||||
export type StrictRequired<Base> = Required<{ [K in keyof Base]: Exclude<Base[K], undefined> }>;
|
||||
|
||||
export type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never;
|
||||
export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
||||
|
||||
type Keys<T> = keyof T;
|
||||
type DistributiveKeys<T> = T extends unknown ? Keys<T> : never;
|
||||
/**
|
||||
* Allows picking of keys from unions that are disjoint
|
||||
*/
|
||||
export type DistributivePick<T, K extends DistributiveKeys<T>> = T extends unknown
|
||||
? keyof Pick_<T, K> extends never
|
||||
? never
|
||||
: { [P in keyof Pick_<T, K>]: Pick_<T, K>[P] }
|
||||
: never;
|
||||
|
||||
type Pick_<T, K> = Pick<T, Extract<keyof T, K>>;
|
||||
|
||||
/**
|
||||
* Allows omitting of keys from unions that are disjoint
|
||||
*/
|
||||
export type DistributiveOmit<T, K extends DistributiveKeys<T>> = T extends unknown
|
||||
? { [P in keyof Omit_<T, K>]: Omit_<T, K>[P] }
|
||||
: never;
|
||||
|
||||
type Omit_<T, K> = Omit<T, Extract<keyof T, K>>;
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "discord-api-types",
|
||||
"version": "0.31.1",
|
||||
"version": "0.31.2",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "discord-api-types",
|
||||
"version": "0.31.1",
|
||||
"version": "0.31.2",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^16.2.3",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "discord-api-types",
|
||||
"version": "0.31.1",
|
||||
"version": "0.31.2",
|
||||
"description": "Discord API typings that are kept up to date for use in bot library creation.",
|
||||
"exports": {
|
||||
"./globals": {
|
||||
|
||||
@@ -454,7 +454,7 @@ export interface APIMessage {
|
||||
/**
|
||||
* Reference data sent with crossposted messages, replies, pins, and thread starter messages
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
message_reference?: APIMessageReference;
|
||||
/**
|
||||
@@ -554,7 +554,7 @@ export interface APIMessageActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export interface APIMessageReference {
|
||||
/**
|
||||
|
||||
@@ -43,7 +43,7 @@ export enum OAuth2Scopes {
|
||||
/**
|
||||
* Allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/guild#get-current-user-guild-member
|
||||
* See https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
||||
*/
|
||||
GuildsMembersRead = 'guilds.members.read',
|
||||
/**
|
||||
|
||||
@@ -454,7 +454,7 @@ export interface APIMessage {
|
||||
/**
|
||||
* Reference data sent with crossposted messages, replies, pins, and thread starter messages
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
message_reference?: APIMessageReference;
|
||||
/**
|
||||
@@ -554,7 +554,7 @@ export interface APIMessageActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export interface APIMessageReference {
|
||||
/**
|
||||
|
||||
@@ -43,7 +43,7 @@ export enum OAuth2Scopes {
|
||||
/**
|
||||
* Allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/guild#get-current-user-guild-member
|
||||
* See https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
||||
*/
|
||||
GuildsMembersRead = 'guilds.members.read',
|
||||
/**
|
||||
|
||||
@@ -224,6 +224,9 @@ export enum RESTJSONErrorCodes {
|
||||
FailedToCreateStageNeededForStageEvent = 180002,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/reference#locales
|
||||
*/
|
||||
export enum Locale {
|
||||
EnglishUS = 'en-US',
|
||||
EnglishGB = 'en-GB',
|
||||
|
||||
@@ -188,7 +188,7 @@ export type RESTGetAPIChannelMessagesResult = APIMessage[];
|
||||
export type RESTGetAPIChannelMessageResult = APIMessage;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export type APIMessageReferenceSend = StrictPartial<APIMessageReference> &
|
||||
Required<Pick<APIMessageReference, 'message_id'>> &
|
||||
@@ -232,7 +232,7 @@ export type RESTPostAPIChannelMessageJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
/**
|
||||
* Include to make your message a reply
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
message_reference?: APIMessageReferenceSend;
|
||||
/**
|
||||
@@ -528,12 +528,12 @@ export type RESTPostAPIChannelTypingResult = never;
|
||||
export type RESTGetAPIChannelPinsResult = APIMessage[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#add-pinned-channel-message
|
||||
* https://discord.com/developers/docs/resources/channel#pin-message
|
||||
*/
|
||||
export type RESTPutAPIChannelPinResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#delete-pinned-channel-message
|
||||
* https://discord.com/developers/docs/resources/channel#unpin-message
|
||||
*/
|
||||
export type RESTDeleteAPIChannelPinResult = never;
|
||||
|
||||
@@ -562,7 +562,7 @@ export type RESTPutAPIChannelRecipientResult = unknown;
|
||||
export type RESTDeleteAPIChannelRecipientResult = unknown;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-from-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessagesThreadsJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -593,7 +593,7 @@ export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThr
|
||||
export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessageFormDataBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-from-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessagesThreadsResult = APIChannel;
|
||||
|
||||
|
||||
@@ -26,10 +26,11 @@ import type {
|
||||
} from '../../payloads/v10/index';
|
||||
import type {
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
|
||||
DistributiveOmit,
|
||||
DistributivePick,
|
||||
Nullable,
|
||||
StrictPartial,
|
||||
StrictRequired,
|
||||
UnionToIntersection,
|
||||
} from '../../utils/internals';
|
||||
|
||||
export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSONBody {
|
||||
@@ -38,9 +39,9 @@ export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSON
|
||||
|
||||
export type APIGuildChannelResolvable = Exclude<APIChannel, APIDMChannel | APIGroupDMChannel>;
|
||||
export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
Pick<
|
||||
UnionToIntersection<APIGuildChannelResolvable>,
|
||||
'type' | 'topic' | 'nsfw' | 'bitrate' | 'user_limit' | 'rate_limit_per_user'
|
||||
DistributivePick<
|
||||
APIGuildChannelResolvable,
|
||||
'type' | 'topic' | 'nsfw' | 'bitrate' | 'user_limit' | 'rate_limit_per_user' | 'default_auto_archive_duration'
|
||||
>
|
||||
> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
@@ -291,7 +292,7 @@ export type RESTGetAPIGuildChannelsResult = APIChannel[];
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#create-guild-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildChannelJSONBody = Omit<APIGuildCreatePartialChannel, 'id'>;
|
||||
export type RESTPostAPIGuildChannelJSONBody = DistributiveOmit<APIGuildCreatePartialChannel, 'id'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#create-guild-channel
|
||||
|
||||
@@ -2,7 +2,7 @@ import type { Permissions, Snowflake } from '../../globals';
|
||||
import type { APIApplication, APIGuild, APIUser, APIWebhook, OAuth2Scopes } from '../../payloads/v10/index';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/oauth2#get-current-application-information
|
||||
* https://discord.com/developers/docs/topics/oauth2#get-current-bot-application-information
|
||||
*/
|
||||
export type RESTGetAPIOAuth2CurrentApplicationResult = Omit<APIApplication, 'flags'>;
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ export type RESTPostAPIStageInstanceResult = APIStageInstance;
|
||||
export type RESTGetAPIStageInstanceResult = APIStageInstance;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/stage-instance#update-stage-instance
|
||||
* https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance
|
||||
*/
|
||||
export type RESTPatchAPIStageInstanceJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -51,7 +51,7 @@ export type RESTPatchAPIStageInstanceJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/stage-instance#update-stage-instance
|
||||
* https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance
|
||||
*/
|
||||
export type RESTPatchAPIStageInstanceResult = APIStageInstance;
|
||||
|
||||
|
||||
@@ -1,16 +1,31 @@
|
||||
import type { APISticker, APIStickerPack } from '../../payloads/v10/index';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#get-sticker
|
||||
*/
|
||||
export type RESTGetAPIStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#list-nitro-sticker-packs
|
||||
*/
|
||||
export interface RESTGetNitroStickerPacksResult {
|
||||
sticker_packs: APIStickerPack[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#list-guild-stickers
|
||||
*/
|
||||
export type RESTGetAPIGuildStickersResult = APISticker[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#get-guild-sticker
|
||||
*/
|
||||
export type RESTGetAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#create-guild-sticker
|
||||
*/
|
||||
export interface RESTPostAPIGuildStickerFormDataBody {
|
||||
/**
|
||||
* Name of the sticker (2-30 characters)
|
||||
@@ -30,8 +45,14 @@ export interface RESTPostAPIGuildStickerFormDataBody {
|
||||
file: unknown;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#create-guild-sticker
|
||||
*/
|
||||
export type RESTPostAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#modify-guild-sticker
|
||||
*/
|
||||
export type RESTPatchAPIGuildStickerJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
* Name of the sticker (2-30 characters)
|
||||
@@ -47,6 +68,12 @@ export type RESTPatchAPIGuildStickerJSONBody = AddUndefinedToPossiblyUndefinedPr
|
||||
tags?: string;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#modify-guild-sticker
|
||||
*/
|
||||
export type RESTPatchAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#delete-guild-sticker
|
||||
*/
|
||||
export type RESTDeleteAPIGuildStickerResult = never;
|
||||
|
||||
@@ -2,12 +2,12 @@ import type { APIGuild, APITemplate } from '../../payloads/v10/index';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#get-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#get-guild-template
|
||||
*/
|
||||
export type RESTGetAPITemplateResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-from-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template
|
||||
*/
|
||||
export type RESTPostAPITemplateCreateGuildJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -23,17 +23,17 @@ export type RESTPostAPITemplateCreateGuildJSONBody = AddUndefinedToPossiblyUndef
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-from-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template
|
||||
*/
|
||||
export type RESTPostAPITemplateCreateGuildResult = APIGuild;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#get-guild-templates
|
||||
* https://discord.com/developers/docs/resources/guild-template#get-guild-templates
|
||||
*/
|
||||
export type RESTGetAPIGuildTemplatesResult = APITemplate[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-template
|
||||
*/
|
||||
export type RESTPostAPIGuildTemplatesJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -47,26 +47,26 @@ export type RESTPostAPIGuildTemplatesJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-template
|
||||
*/
|
||||
export type RESTPostAPIGuildTemplatesResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#sync-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#sync-guild-template
|
||||
*/
|
||||
export type RESTPutAPIGuildTemplateSyncResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#modify-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#modify-guild-template
|
||||
*/
|
||||
export type RESTPatchAPIGuildTemplateJSONBody = StrictPartial<RESTPostAPIGuildTemplatesJSONBody>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#modify-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#modify-guild-template
|
||||
*/
|
||||
export type RESTPatchAPIGuildTemplateResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#delete-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#delete-guild-template
|
||||
*/
|
||||
export type RESTDeleteAPIGuildTemplateResult = APITemplate;
|
||||
|
||||
@@ -13,7 +13,7 @@ export type RESTGetAPICurrentUserResult = APIUser;
|
||||
export type RESTGetAPIUserResult = APIUser;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#get-current-user-guild-member
|
||||
* https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
||||
*/
|
||||
export type RESTGetCurrentUserGuildMemberResult = APIGuildMember;
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ export type RESTPostAPIWebhookWithTokenFormDataBody =
|
||||
| (RESTPostAPIWebhookWithTokenJSONBody & Record<`files[${bigint}]`, unknown>);
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-webhook-querystring-params
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-webhook-query-string-params
|
||||
*/
|
||||
export interface RESTPostAPIWebhookWithTokenQuery {
|
||||
/**
|
||||
@@ -184,12 +184,12 @@ export type RESTPostAPIWebhookWithTokenResult = never;
|
||||
* Received when a call to https://discord.com/developers/docs/resources/webhook#execute-webhook receives
|
||||
* the `wait` query parameter set to `true`
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-webhook-querystring-params
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenWaitResult = APIMessage;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook-querystring-params
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenSlackQuery = RESTPostAPIWebhookWithTokenQuery;
|
||||
|
||||
@@ -202,12 +202,12 @@ export type RESTPostAPIWebhookWithTokenSlackResult = never;
|
||||
* Received when a call to https://discord.com/developers/docs/resources/webhook#execute-webhook receives
|
||||
* the `wait` query parameter set to `true`
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook-querystring-params
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-slackcompatible-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenSlackWaitResult = APIMessage;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook-querystring-params
|
||||
* https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenGitHubQuery = RESTPostAPIWebhookWithTokenQuery;
|
||||
|
||||
@@ -220,7 +220,7 @@ export type RESTPostAPIWebhookWithTokenGitHubResult = never;
|
||||
* Received when a call to https://discord.com/developers/docs/resources/webhook#execute-webhook receives
|
||||
* the `wait` query parameter set to `true`
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook-querystring-params
|
||||
* See https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook-query-string-params
|
||||
*/
|
||||
export type RESTPostAPIWebhookWithTokenGitHubWaitResult = APIMessage;
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ export type RESTGetAPIChannelMessagesResult = APIMessage[];
|
||||
export type RESTGetAPIChannelMessageResult = APIMessage;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export type APIMessageReferenceSend = StrictPartial<APIMessageReference> &
|
||||
Required<Pick<APIMessageReference, 'message_id'>> &
|
||||
@@ -239,7 +239,7 @@ export type RESTPostAPIChannelMessageJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
/**
|
||||
* Include to make your message a reply
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
|
||||
* See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
message_reference?: APIMessageReferenceSend;
|
||||
/**
|
||||
@@ -542,12 +542,12 @@ export type RESTPostAPIChannelTypingResult = never;
|
||||
export type RESTGetAPIChannelPinsResult = APIMessage[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#add-pinned-channel-message
|
||||
* https://discord.com/developers/docs/resources/channel#pin-message
|
||||
*/
|
||||
export type RESTPutAPIChannelPinResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#delete-pinned-channel-message
|
||||
* https://discord.com/developers/docs/resources/channel#unpin-message
|
||||
*/
|
||||
export type RESTDeleteAPIChannelPinResult = never;
|
||||
|
||||
@@ -576,7 +576,7 @@ export type RESTPutAPIChannelRecipientResult = unknown;
|
||||
export type RESTDeleteAPIChannelRecipientResult = unknown;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-from-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessagesThreadsJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -607,7 +607,7 @@ export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThr
|
||||
export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessageFormDataBody;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-with-message
|
||||
* https://discord.com/developers/docs/resources/channel#start-thread-from-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessagesThreadsResult = APIChannel;
|
||||
|
||||
|
||||
@@ -26,10 +26,11 @@ import type {
|
||||
} from '../../payloads/v9/index';
|
||||
import type {
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
|
||||
DistributiveOmit,
|
||||
DistributivePick,
|
||||
Nullable,
|
||||
StrictPartial,
|
||||
StrictRequired,
|
||||
UnionToIntersection,
|
||||
} from '../../utils/internals';
|
||||
|
||||
export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSONBody {
|
||||
@@ -38,9 +39,9 @@ export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSON
|
||||
|
||||
export type APIGuildChannelResolvable = Exclude<APIChannel, APIDMChannel | APIGroupDMChannel>;
|
||||
export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
Pick<
|
||||
UnionToIntersection<APIGuildChannelResolvable>,
|
||||
'type' | 'topic' | 'nsfw' | 'bitrate' | 'user_limit' | 'rate_limit_per_user'
|
||||
DistributivePick<
|
||||
APIGuildChannelResolvable,
|
||||
'type' | 'topic' | 'nsfw' | 'bitrate' | 'user_limit' | 'rate_limit_per_user' | 'default_auto_archive_duration'
|
||||
>
|
||||
> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
@@ -291,7 +292,7 @@ export type RESTGetAPIGuildChannelsResult = APIChannel[];
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#create-guild-channel
|
||||
*/
|
||||
export type RESTPostAPIGuildChannelJSONBody = Omit<APIGuildCreatePartialChannel, 'id'>;
|
||||
export type RESTPostAPIGuildChannelJSONBody = DistributiveOmit<APIGuildCreatePartialChannel, 'id'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#create-guild-channel
|
||||
|
||||
@@ -2,7 +2,7 @@ import type { Permissions, Snowflake } from '../../globals';
|
||||
import type { APIApplication, APIGuild, APIUser, APIWebhook, OAuth2Scopes } from '../../payloads/v9/index';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/oauth2#get-current-application-information
|
||||
* https://discord.com/developers/docs/topics/oauth2#get-current-bot-application-information
|
||||
*/
|
||||
export type RESTGetAPIOAuth2CurrentApplicationResult = Omit<APIApplication, 'flags'>;
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ export type RESTPostAPIStageInstanceResult = APIStageInstance;
|
||||
export type RESTGetAPIStageInstanceResult = APIStageInstance;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/stage-instance#update-stage-instance
|
||||
* https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance
|
||||
*/
|
||||
export type RESTPatchAPIStageInstanceJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -51,7 +51,7 @@ export type RESTPatchAPIStageInstanceJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/stage-instance#update-stage-instance
|
||||
* https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance
|
||||
*/
|
||||
export type RESTPatchAPIStageInstanceResult = APIStageInstance;
|
||||
|
||||
|
||||
@@ -1,16 +1,31 @@
|
||||
import type { APISticker, APIStickerPack } from '../../payloads/v9/index';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#get-sticker
|
||||
*/
|
||||
export type RESTGetAPIStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#list-nitro-sticker-packs
|
||||
*/
|
||||
export interface RESTGetNitroStickerPacksResult {
|
||||
sticker_packs: APIStickerPack[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#list-guild-stickers
|
||||
*/
|
||||
export type RESTGetAPIGuildStickersResult = APISticker[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#get-guild-sticker
|
||||
*/
|
||||
export type RESTGetAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#create-guild-sticker
|
||||
*/
|
||||
export interface RESTPostAPIGuildStickerFormDataBody {
|
||||
/**
|
||||
* Name of the sticker (2-30 characters)
|
||||
@@ -30,8 +45,14 @@ export interface RESTPostAPIGuildStickerFormDataBody {
|
||||
file: unknown;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#create-guild-sticker
|
||||
*/
|
||||
export type RESTPostAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#modify-guild-sticker
|
||||
*/
|
||||
export type RESTPatchAPIGuildStickerJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
* Name of the sticker (2-30 characters)
|
||||
@@ -47,6 +68,12 @@ export type RESTPatchAPIGuildStickerJSONBody = AddUndefinedToPossiblyUndefinedPr
|
||||
tags?: string;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#modify-guild-sticker
|
||||
*/
|
||||
export type RESTPatchAPIGuildStickerResult = APISticker;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#delete-guild-sticker
|
||||
*/
|
||||
export type RESTDeleteAPIGuildStickerResult = never;
|
||||
|
||||
@@ -2,12 +2,12 @@ import type { APIGuild, APITemplate } from '../../payloads/v9/index';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#get-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#get-guild-template
|
||||
*/
|
||||
export type RESTGetAPITemplateResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-from-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template
|
||||
*/
|
||||
export type RESTPostAPITemplateCreateGuildJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -23,17 +23,17 @@ export type RESTPostAPITemplateCreateGuildJSONBody = AddUndefinedToPossiblyUndef
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-from-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template
|
||||
*/
|
||||
export type RESTPostAPITemplateCreateGuildResult = APIGuild;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#get-guild-templates
|
||||
* https://discord.com/developers/docs/resources/guild-template#get-guild-templates
|
||||
*/
|
||||
export type RESTGetAPIGuildTemplatesResult = APITemplate[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-template
|
||||
*/
|
||||
export type RESTPostAPIGuildTemplatesJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
/**
|
||||
@@ -47,26 +47,26 @@ export type RESTPostAPIGuildTemplatesJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
}>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#create-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#create-guild-template
|
||||
*/
|
||||
export type RESTPostAPIGuildTemplatesResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#sync-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#sync-guild-template
|
||||
*/
|
||||
export type RESTPutAPIGuildTemplateSyncResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#modify-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#modify-guild-template
|
||||
*/
|
||||
export type RESTPatchAPIGuildTemplateJSONBody = StrictPartial<RESTPostAPIGuildTemplatesJSONBody>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#modify-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#modify-guild-template
|
||||
*/
|
||||
export type RESTPatchAPIGuildTemplateResult = APITemplate;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/template#delete-guild-template
|
||||
* https://discord.com/developers/docs/resources/guild-template#delete-guild-template
|
||||
*/
|
||||
export type RESTDeleteAPIGuildTemplateResult = APITemplate;
|
||||
|
||||
@@ -13,7 +13,7 @@ export type RESTGetAPICurrentUserResult = APIUser;
|
||||
export type RESTGetAPIUserResult = APIUser;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#get-current-user-guild-member
|
||||
* https://discord.com/developers/docs/resources/user#get-current-user-guild-member
|
||||
*/
|
||||
export type RESTGetCurrentUserGuildMemberResult = APIGuildMember;
|
||||
|
||||
|
||||
@@ -14,4 +14,26 @@ export type StrictPartial<Base> = AddUndefinedToPossiblyUndefinedPropertiesOfInt
|
||||
|
||||
export type StrictRequired<Base> = Required<{ [K in keyof Base]: Exclude<Base[K], undefined> }>;
|
||||
|
||||
export type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never;
|
||||
export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
||||
|
||||
type Keys<T> = keyof T;
|
||||
type DistributiveKeys<T> = T extends unknown ? Keys<T> : never;
|
||||
/**
|
||||
* Allows picking of keys from unions that are disjoint
|
||||
*/
|
||||
export type DistributivePick<T, K extends DistributiveKeys<T>> = T extends unknown
|
||||
? keyof Pick_<T, K> extends never
|
||||
? never
|
||||
: { [P in keyof Pick_<T, K>]: Pick_<T, K>[P] }
|
||||
: never;
|
||||
|
||||
type Pick_<T, K> = Pick<T, Extract<keyof T, K>>;
|
||||
|
||||
/**
|
||||
* Allows omitting of keys from unions that are disjoint
|
||||
*/
|
||||
export type DistributiveOmit<T, K extends DistributiveKeys<T>> = T extends unknown
|
||||
? { [P in keyof Omit_<T, K>]: Omit_<T, K>[P] }
|
||||
: never;
|
||||
|
||||
type Omit_<T, K> = Omit<T, Extract<keyof T, K>>;
|
||||
|
||||
Reference in New Issue
Block a user