Skip to content

Commit

Permalink
chore: bring in support for TS 4.5's exactOptionalPropertyTypes (#275)
Browse files Browse the repository at this point in the history
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
vladfrangu and github-actions[bot] committed Dec 24, 2021
1 parent 7fe78ce commit c20e5ae
Show file tree
Hide file tree
Showing 62 changed files with 5,297 additions and 4,212 deletions.
2 changes: 1 addition & 1 deletion deno/payloads/v6/auditLog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,7 @@ export type APIAuditLogChangeKeyExpireGracePeriod = AuditLogChangeData<'expire_g
* @internal
* @deprecated API and Gateway v6 are deprecated and the types will not receive further updates, please update to v8.
*/
interface AuditLogChangeData<K extends string, D extends unknown> {
interface AuditLogChangeData<K extends string, D> {
key: K;
new_value?: D;
old_value?: D;
Expand Down
2 changes: 1 addition & 1 deletion deno/payloads/v8/_interactions/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export interface APIInteractionGuildMember extends APIGuildMember {
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
*/
export interface APIBaseInteraction<Type extends InteractionType, Data extends unknown> {
export interface APIBaseInteraction<Type extends InteractionType, Data> {
/**
* ID of the interaction
*/
Expand Down
2 changes: 1 addition & 1 deletion deno/payloads/v8/auditLog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -644,7 +644,7 @@ export type APIAuditLogChangeKeyStatus = AuditLogChangeData<'status', GuildSched
*/
export type APIAuditLogChangeKeyLocation = AuditLogChangeData<'location', string>;

interface AuditLogChangeData<K extends string, D extends unknown> {
interface AuditLogChangeData<K extends string, D> {
key: K;
/**
* The new value
Expand Down
19 changes: 19 additions & 0 deletions deno/payloads/v8/guildScheduledEvent.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { APIUser } from './user.ts';
import type { APIGuildMember } from './guild.ts';
import type { Snowflake } from '../../globals.ts';

export interface APIGuildScheduledEvent {
Expand Down Expand Up @@ -102,3 +103,21 @@ export enum GuildScheduledEventPrivacyLevel {
*/
GuildOnly = 2,
}

/**
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-user-object-guild-scheduled-event-user-structure
*/
export interface APIGuildScheduledEventUser {
/**
* The scheduled event id which the user subscribed to
*/
guild_scheduled_event_id: Snowflake;
/**
* The user which subscribed to the event
*/
user: APIUser;
/**
* The guild member data for this user for the guild which this event belongs to, if any
*/
member?: APIGuildMember;
}
2 changes: 1 addition & 1 deletion deno/payloads/v9/_interactions/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export interface APIInteractionGuildMember extends APIGuildMember {
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
*/
export interface APIBaseInteraction<Type extends InteractionType, Data extends unknown> {
export interface APIBaseInteraction<Type extends InteractionType, Data> {
/**
* ID of the interaction
*/
Expand Down
2 changes: 1 addition & 1 deletion deno/payloads/v9/auditLog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,7 @@ export type APIAuditLogChangeKeyStatus = AuditLogChangeData<'status', GuildSched
*/
export type APIAuditLogChangeKeyLocation = AuditLogChangeData<'location', string>;

interface AuditLogChangeData<K extends string, D extends unknown> {
interface AuditLogChangeData<K extends string, D> {
key: K;
/**
* The new value
Expand Down
19 changes: 19 additions & 0 deletions deno/payloads/v9/guildScheduledEvent.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { APIUser } from './user.ts';
import type { APIGuildMember } from './guild.ts';
import type { Snowflake } from '../../globals.ts';

export interface APIGuildScheduledEvent {
Expand Down Expand Up @@ -102,3 +103,21 @@ export enum GuildScheduledEventPrivacyLevel {
*/
GuildOnly = 2,
}

/**
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-user-object-guild-scheduled-event-user-structure
*/
export interface APIGuildScheduledEventUser {
/**
* The scheduled event id which the user subscribed to
*/
guild_scheduled_event_id: Snowflake;
/**
* The user which subscribed to the event
*/
user: APIUser;
/**
* The guild member data for this user for the guild which this event belongs to, if any
*/
member?: APIGuildMember;
}
30 changes: 17 additions & 13 deletions deno/rest/v8/channel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import type {
OverwriteType,
VideoQualityMode,
} from '../../payloads/v8/mod.ts';
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals.ts';

/**
* https://discord.com/developers/docs/resources/channel#get-channel
Expand All @@ -26,7 +27,7 @@ export type RESTGetAPIChannelResult = APIChannel;
/**
* https://discord.com/developers/docs/resources/channel#modify-channel
*/
export interface RESTPatchAPIChannelJSONBody {
export type RESTPatchAPIChannelJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* 1-100 character channel name
*
Expand Down Expand Up @@ -103,7 +104,7 @@ export interface RESTPatchAPIChannelJSONBody {
* See https://discord.com/developers/docs/resources/channel#channel-object-video-quality-modes
*/
video_quality_mode?: VideoQualityMode | null;
}
}>;

/**
* https://discord.com/developers/docs/resources/channel#modify-channel
Expand Down Expand Up @@ -152,20 +153,21 @@ export type RESTGetAPIChannelMessageResult = APIMessage;
/**
* https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure
*/
export type APIMessageReferenceSend = Partial<APIMessageReference> &
Required<Pick<APIMessageReference, 'message_id'>> & {
export type APIMessageReferenceSend = StrictPartial<APIMessageReference> &
Required<Pick<APIMessageReference, 'message_id'>> &
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Whether to error if the referenced message doesn't exist instead of sending as a normal (non-reply) message
*
* @default true
*/
fail_if_not_exists?: boolean;
};
}>;

/**
* https://discord.com/developers/docs/resources/channel#create-message
*/
export interface RESTPostAPIChannelMessageJSONBody {
export type RESTPostAPIChannelMessageJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* The message contents (up to 2000 characters)
*/
Expand All @@ -188,6 +190,7 @@ export interface RESTPostAPIChannelMessageJSONBody {
* Embedded `rich` content
*
* See https://discord.com/developers/docs/resources/channel#embed-object
* @deprecated Use `embeds` instead
*/
embed?: APIEmbed;
/**
Expand Down Expand Up @@ -218,7 +221,7 @@ export interface RESTPostAPIChannelMessageJSONBody {
* Attachment objects with filename and description
*/
attachments?: (Pick<APIAttachment, 'id' | 'description'> & Partial<Pick<APIAttachment, 'filename'>>)[];
}
}>;

/**
* https://discord.com/developers/docs/resources/channel#create-message
Expand Down Expand Up @@ -291,7 +294,7 @@ export type RESTDeleteAPIChannelMessageReactionResult = never;
/**
* https://discord.com/developers/docs/resources/channel#edit-message
*/
export interface RESTPatchAPIChannelMessageJSONBody {
export type RESTPatchAPIChannelMessageJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* The new message contents (up to 2000 characters)
*/
Expand Down Expand Up @@ -338,7 +341,7 @@ export interface RESTPatchAPIChannelMessageJSONBody {
* See https://discord.com/developers/docs/interactions/message-components#component-object
*/
components?: APIActionRowComponent[] | null;
}
}>;

/**
* https://discord.com/developers/docs/resources/channel#edit-message
Expand All @@ -351,6 +354,7 @@ export type RESTPatchAPIChannelMessageFormDataBody =
payload_json?: string;
} & Record<`files[${bigint}]`, unknown>)
| (RESTPatchAPIChannelMessageJSONBody & Record<`files[${bigint}]`, unknown>);

/**
* https://discord.com/developers/docs/resources/channel#edit-message
*/
Expand Down Expand Up @@ -411,7 +415,7 @@ export type RESTGetAPIChannelInvitesResult = APIExtendedInvite[];
/**
* https://discord.com/developers/docs/resources/channel#create-channel-invite
*/
export interface RESTPostAPIChannelInviteJSONBody {
export type RESTPostAPIChannelInviteJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Duration of invite in seconds before expiry, or 0 for never
*
Expand Down Expand Up @@ -455,7 +459,7 @@ export interface RESTPostAPIChannelInviteJSONBody {
* - The application must have the `EMBEDDED` flag
*/
target_application_id?: Snowflake;
}
}>;

/**
* https://discord.com/developers/docs/resources/channel#create-channel-invite
Expand Down Expand Up @@ -505,7 +509,7 @@ export type RESTDeleteAPIChannelPinResult = never;
/**
* https://discord.com/developers/docs/resources/channel#group-dm-add-recipient
*/
export interface RESTPutAPIChannelRecipientJSONBody {
export type RESTPutAPIChannelRecipientJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Access token of a user that has granted your app the `gdm.join` scope
*/
Expand All @@ -514,7 +518,7 @@ export interface RESTPutAPIChannelRecipientJSONBody {
* Nickname of the user being added
*/
nick?: string;
}
}>;

/**
* https://discord.com/developers/docs/resources/channel#group-dm-add-recipient
Expand Down
9 changes: 5 additions & 4 deletions deno/rest/v8/emoji.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { Snowflake } from '../../globals.ts';
import type { APIEmoji } from '../../payloads/v8/mod.ts';
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals.ts';

/**
* https://discord.com/developers/docs/resources/emoji#list-guild-emojis
Expand All @@ -14,7 +15,7 @@ export type RESTGetAPIGuildEmojiResult = APIEmoji;
/**
* https://discord.com/developers/docs/resources/emoji#create-guild-emoji-json-params
*/
export interface RESTPostAPIGuildEmojiJSONBody {
export type RESTPostAPIGuildEmojiJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Name of the emoji
*/
Expand All @@ -29,7 +30,7 @@ export interface RESTPostAPIGuildEmojiJSONBody {
* Roles for which this emoji will be whitelisted
*/
roles?: Snowflake[];
}
}>;

/**
* https://discord.com/developers/docs/resources/emoji#create-guild-emoji
Expand All @@ -39,7 +40,7 @@ export type RESTPostAPIGuildEmojiResult = APIEmoji;
/**
* https://discord.com/developers/docs/resources/emoji#modify-guild-emoji
*/
export interface RESTPatchAPIGuildEmojiJSONBody {
export type RESTPatchAPIGuildEmojiJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Name of the emoji
*/
Expand All @@ -48,7 +49,7 @@ export interface RESTPatchAPIGuildEmojiJSONBody {
* Roles for which this emoji will be whitelisted
*/
roles?: Snowflake[] | null;
}
}>;

/**
* https://discord.com/developers/docs/resources/emoji#modify-guild-emoji
Expand Down
Loading

0 comments on commit c20e5ae

Please sign in to comment.