mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-12 09:33:32 +01:00
types(GuildAuditLogs): Allow fetching to return all possible values (#8522)
types: allow everything to be returned upon fetching Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
15
packages/discord.js/typings/index.d.ts
vendored
15
packages/discord.js/typings/index.d.ts
vendored
@@ -1181,7 +1181,7 @@ export class Guild extends AnonymousGuild {
|
|||||||
public toJSON(): unknown;
|
public toJSON(): unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class GuildAuditLogs<T extends GuildAuditLogsResolvable = null> {
|
export class GuildAuditLogs<T extends GuildAuditLogsResolvable = AuditLogEvent> {
|
||||||
private constructor(guild: Guild, data: RawGuildAuditLogData);
|
private constructor(guild: Guild, data: RawGuildAuditLogData);
|
||||||
private applicationCommands: Collection<Snowflake, ApplicationCommand>;
|
private applicationCommands: Collection<Snowflake, ApplicationCommand>;
|
||||||
private webhooks: Collection<Snowflake, Webhook>;
|
private webhooks: Collection<Snowflake, Webhook>;
|
||||||
@@ -1192,23 +1192,26 @@ export class GuildAuditLogs<T extends GuildAuditLogsResolvable = null> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class GuildAuditLogsEntry<
|
export class GuildAuditLogsEntry<
|
||||||
TAction extends GuildAuditLogsResolvable = null,
|
TAction extends GuildAuditLogsResolvable = AuditLogEvent,
|
||||||
TActionType extends GuildAuditLogsActionType = TAction extends keyof GuildAuditLogsTypes
|
TActionType extends GuildAuditLogsActionType = TAction extends keyof GuildAuditLogsTypes
|
||||||
? GuildAuditLogsTypes[TAction][1]
|
? GuildAuditLogsTypes[TAction][1]
|
||||||
: 'All',
|
: GuildAuditLogsActionType,
|
||||||
TTargetType extends GuildAuditLogsTargetType = TAction extends keyof GuildAuditLogsTypes
|
TTargetType extends GuildAuditLogsTargetType = TAction extends keyof GuildAuditLogsTypes
|
||||||
? GuildAuditLogsTypes[TAction][0]
|
? GuildAuditLogsTypes[TAction][0]
|
||||||
: 'Unknown',
|
: GuildAuditLogsTargetType,
|
||||||
|
TResolvedType = TAction extends null ? AuditLogEvent : TAction,
|
||||||
> {
|
> {
|
||||||
private constructor(logs: GuildAuditLogs, guild: Guild, data: RawGuildAuditLogEntryData);
|
private constructor(logs: GuildAuditLogs, guild: Guild, data: RawGuildAuditLogEntryData);
|
||||||
public static Targets: GuildAuditLogsTargets;
|
public static Targets: GuildAuditLogsTargets;
|
||||||
public action: TAction;
|
public action: TResolvedType;
|
||||||
public actionType: TActionType;
|
public actionType: TActionType;
|
||||||
public changes: AuditLogChange[];
|
public changes: AuditLogChange[];
|
||||||
public get createdAt(): Date;
|
public get createdAt(): Date;
|
||||||
public get createdTimestamp(): number;
|
public get createdTimestamp(): number;
|
||||||
public executor: User | null;
|
public executor: User | null;
|
||||||
public extra: TAction extends keyof GuildAuditLogsEntryExtraField ? GuildAuditLogsEntryExtraField[TAction] : null;
|
public extra: TResolvedType extends keyof GuildAuditLogsEntryExtraField
|
||||||
|
? GuildAuditLogsEntryExtraField[TResolvedType]
|
||||||
|
: null;
|
||||||
public id: Snowflake;
|
public id: Snowflake;
|
||||||
public reason: string | null;
|
public reason: string | null;
|
||||||
public target: TTargetType extends keyof GuildAuditLogsEntryTargetField<TActionType>
|
public target: TTargetType extends keyof GuildAuditLogsEntryTargetField<TActionType>
|
||||||
|
|||||||
@@ -134,6 +134,8 @@ import {
|
|||||||
Webhook,
|
Webhook,
|
||||||
WebhookClient,
|
WebhookClient,
|
||||||
InteractionWebhook,
|
InteractionWebhook,
|
||||||
|
GuildAuditLogsActionType,
|
||||||
|
GuildAuditLogsTargetType,
|
||||||
} from '.';
|
} from '.';
|
||||||
import { expectAssignable, expectNotAssignable, expectNotType, expectType } from 'tsd';
|
import { expectAssignable, expectNotAssignable, expectNotType, expectType } from 'tsd';
|
||||||
import type { ContextMenuCommandBuilder, SlashCommandBuilder } from '@discordjs/builders';
|
import type { ContextMenuCommandBuilder, SlashCommandBuilder } from '@discordjs/builders';
|
||||||
@@ -1533,7 +1535,7 @@ expectType<Promise<GuildAuditLogs<AuditLogEvent.IntegrationUpdate>>>(
|
|||||||
);
|
);
|
||||||
|
|
||||||
expectType<Promise<GuildAuditLogs<null>>>(guild.fetchAuditLogs({ type: null }));
|
expectType<Promise<GuildAuditLogs<null>>>(guild.fetchAuditLogs({ type: null }));
|
||||||
expectType<Promise<GuildAuditLogs<null>>>(guild.fetchAuditLogs());
|
expectType<Promise<GuildAuditLogs<AuditLogEvent>>>(guild.fetchAuditLogs());
|
||||||
|
|
||||||
expectType<Promise<GuildAuditLogsEntry<AuditLogEvent.MemberKick, 'Delete', 'User'> | undefined>>(
|
expectType<Promise<GuildAuditLogsEntry<AuditLogEvent.MemberKick, 'Delete', 'User'> | undefined>>(
|
||||||
guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()),
|
guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()),
|
||||||
@@ -1542,10 +1544,10 @@ expectAssignable<Promise<GuildAuditLogsEntry<AuditLogEvent.MemberKick, 'Delete',
|
|||||||
guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()),
|
guild.fetchAuditLogs({ type: AuditLogEvent.MemberKick }).then(al => al.entries.first()),
|
||||||
);
|
);
|
||||||
|
|
||||||
expectType<Promise<GuildAuditLogsEntry<null, 'All', 'Unknown'> | undefined>>(
|
expectType<Promise<GuildAuditLogsEntry<null, GuildAuditLogsActionType, GuildAuditLogsTargetType> | undefined>>(
|
||||||
guild.fetchAuditLogs({ type: null }).then(al => al.entries.first()),
|
guild.fetchAuditLogs({ type: null }).then(al => al.entries.first()),
|
||||||
);
|
);
|
||||||
expectType<Promise<GuildAuditLogsEntry<null, 'All', 'Unknown'> | undefined>>(
|
expectType<Promise<GuildAuditLogsEntry<null, GuildAuditLogsActionType, GuildAuditLogsTargetType> | undefined>>(
|
||||||
guild.fetchAuditLogs().then(al => al.entries.first()),
|
guild.fetchAuditLogs().then(al => al.entries.first()),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user