fix(Partials): correctly set properties as nullable (#4636)

This commit is contained in:
Sugden
2020-08-12 20:26:59 +01:00
committed by GitHub
parent b6ddd4ce41
commit 980243f2d5
4 changed files with 143 additions and 98 deletions

21
typings/index.d.ts vendored
View File

@@ -2887,7 +2887,7 @@ declare module 'discord.js' {
} & {
[K in keyof Omit<
T,
'client' | 'createdAt' | 'createdTimestamp' | 'id' | 'partial' | 'fetch' | O
'client' | 'createdAt' | 'createdTimestamp' | 'id' | 'partial' | 'fetch' | 'deleted' | O
>]: T[K] extends Function ? T[K] : T[K] | null; // tslint:disable-line:ban-types
};
@@ -2922,33 +2922,38 @@ declare module 'discord.js' {
interface PartialGuildMember
extends Partialize<
GuildMember,
'bannable' | 'displayColor' | 'displayHexColor' | 'displayName' | 'guild' | 'kickable' | 'permissions' | 'roles'
'bannable' | 'displayColor' | 'displayHexColor' | 'displayName' | 'guild' | 'kickable' | 'permissions' | 'roles' | 'manageable' | 'presence' | 'voice'
> {
readonly bannable: boolean;
readonly displayColor: number;
readonly displayHexColor: string;
readonly displayName: string;
guild: Guild;
readonly manageable: boolean;
joinedAt: null;
joinedTimestamp: null;
readonly kickable: boolean;
readonly permissions: GuildMember['permissions'];
readonly presence: GuildMember['presence'];
readonly roles: GuildMember['roles'];
readonly voice: GuildMember['voice'];
}
interface PartialMessage
extends Partialize<
Message,
'attachments' | 'channel' | 'deletable' | 'editable' | 'mentions' | 'pinnable' | 'system' | 'url'
'attachments' | 'channel' | 'deletable' | 'editable' | 'mentions' | 'pinnable' | 'url' | 'flags' | 'edits' | 'embeds'
> {
attachments: Message['attachments'];
channel: Message['channel'];
readonly deletable: boolean;
readonly editable: boolean;
readonly edits: Message['edits'];
embeds: Message['embeds'];
flags: Message['flags'];
mentions: Message['mentions'];
readonly pinnable: boolean;
reactions: Message['reactions'];
system: boolean;
readonly url: string;
}
@@ -2958,10 +2963,12 @@ declare module 'discord.js' {
type PartialTypes = 'USER' | 'CHANNEL' | 'GUILD_MEMBER' | 'MESSAGE' | 'REACTION';
interface PartialUser extends Partialize<User, 'discriminator' | 'username' | 'tag'> {
discriminator: undefined;
username: undefined;
interface PartialUser extends Partialize<User, 'flags' | 'locale' | 'system' | 'tag' | 'username'> {
flags: User['flags'];
locale: User['locale'];
system: User['system'];
readonly tag: null;
username: null;
}
type PresenceStatusData = ClientPresenceStatus | 'invisible';