mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 12:03:31 +01:00
types: fix recurrence rule types (#10693)
* types: fix recurrence rule types * fix: endAt not endsAt --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
39
packages/discord.js/typings/index.d.ts
vendored
39
packages/discord.js/typings/index.d.ts
vendored
@@ -6067,18 +6067,37 @@ export interface GuildScheduledEventCreateOptions {
|
|||||||
recurrenceRule?: GuildScheduledEventRecurrenceRuleOptions;
|
recurrenceRule?: GuildScheduledEventRecurrenceRuleOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface GuildScheduledEventRecurrenceRuleOptions {
|
export type GuildScheduledEventRecurrenceRuleOptions =
|
||||||
|
| BaseGuildScheduledEventRecurrenceRuleOptions<
|
||||||
|
GuildScheduledEventRecurrenceRuleFrequency.Yearly,
|
||||||
|
{
|
||||||
|
byMonth: readonly GuildScheduledEventRecurrenceRuleMonth[];
|
||||||
|
byMonthDay: readonly number[];
|
||||||
|
}
|
||||||
|
>
|
||||||
|
| BaseGuildScheduledEventRecurrenceRuleOptions<
|
||||||
|
GuildScheduledEventRecurrenceRuleFrequency.Monthly,
|
||||||
|
{
|
||||||
|
byNWeekday: readonly GuildScheduledEventRecurrenceRuleNWeekday[];
|
||||||
|
}
|
||||||
|
>
|
||||||
|
| BaseGuildScheduledEventRecurrenceRuleOptions<
|
||||||
|
GuildScheduledEventRecurrenceRuleFrequency.Weekly | GuildScheduledEventRecurrenceRuleFrequency.Daily,
|
||||||
|
{
|
||||||
|
byWeekday: readonly GuildScheduledEventRecurrenceRuleWeekday[];
|
||||||
|
}
|
||||||
|
>;
|
||||||
|
|
||||||
|
type BaseGuildScheduledEventRecurrenceRuleOptions<
|
||||||
|
Frequency extends GuildScheduledEventRecurrenceRuleFrequency,
|
||||||
|
Extra extends {},
|
||||||
|
> = {
|
||||||
startAt: DateResolvable;
|
startAt: DateResolvable;
|
||||||
endAt: DateResolvable;
|
endAt?: DateResolvable;
|
||||||
frequency: GuildScheduledEventRecurrenceRuleFrequency;
|
count?: number;
|
||||||
interval: number;
|
interval: number;
|
||||||
byWeekday: readonly GuildScheduledEventRecurrenceRuleWeekday[];
|
frequency: Frequency;
|
||||||
byNWeekday: readonly GuildScheduledEventRecurrenceRuleNWeekday[];
|
} & Extra;
|
||||||
byMonth: readonly GuildScheduledEventRecurrenceRuleMonth[];
|
|
||||||
byMonthDay: readonly number[];
|
|
||||||
byYearDay: readonly number[];
|
|
||||||
count: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface GuildScheduledEventEditOptions<
|
export interface GuildScheduledEventEditOptions<
|
||||||
Status extends GuildScheduledEventStatus,
|
Status extends GuildScheduledEventStatus,
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ import {
|
|||||||
APIMentionableSelectComponent,
|
APIMentionableSelectComponent,
|
||||||
APIModalInteractionResponseCallbackData,
|
APIModalInteractionResponseCallbackData,
|
||||||
WebhookType,
|
WebhookType,
|
||||||
|
GuildScheduledEventRecurrenceRuleFrequency,
|
||||||
|
GuildScheduledEventRecurrenceRuleMonth,
|
||||||
|
GuildScheduledEventRecurrenceRuleWeekday,
|
||||||
} from 'discord-api-types/v10';
|
} from 'discord-api-types/v10';
|
||||||
import {
|
import {
|
||||||
ApplicationCommand,
|
ApplicationCommand,
|
||||||
@@ -209,6 +212,7 @@ import {
|
|||||||
SendableChannels,
|
SendableChannels,
|
||||||
PollData,
|
PollData,
|
||||||
InteractionCallbackResponse,
|
InteractionCallbackResponse,
|
||||||
|
GuildScheduledEventRecurrenceRuleOptions,
|
||||||
} 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';
|
||||||
@@ -2596,3 +2600,89 @@ client.on('interactionCreate', interaction => {
|
|||||||
|
|
||||||
declare const guildScheduledEventManager: GuildScheduledEventManager;
|
declare const guildScheduledEventManager: GuildScheduledEventManager;
|
||||||
await guildScheduledEventManager.edit(snowflake, { recurrenceRule: null });
|
await guildScheduledEventManager.edit(snowflake, { recurrenceRule: null });
|
||||||
|
|
||||||
|
{
|
||||||
|
expectNotAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Yearly,
|
||||||
|
interval: 1,
|
||||||
|
byMonth: [GuildScheduledEventRecurrenceRuleMonth.May],
|
||||||
|
byMonthDay: [4],
|
||||||
|
// Invalid property
|
||||||
|
byWeekday: [GuildScheduledEventRecurrenceRuleWeekday.Monday],
|
||||||
|
});
|
||||||
|
|
||||||
|
expectNotAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Yearly,
|
||||||
|
interval: 1,
|
||||||
|
byMonth: [GuildScheduledEventRecurrenceRuleMonth.May],
|
||||||
|
byMonthDay: [4],
|
||||||
|
// Invalid property
|
||||||
|
byNWeekday: [{ n: 1, day: GuildScheduledEventRecurrenceRuleWeekday.Monday }],
|
||||||
|
});
|
||||||
|
|
||||||
|
expectAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Yearly,
|
||||||
|
interval: 1,
|
||||||
|
byMonth: [GuildScheduledEventRecurrenceRuleMonth.May],
|
||||||
|
byMonthDay: [4],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
expectAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Monthly,
|
||||||
|
interval: 1,
|
||||||
|
byNWeekday: [{ n: 1, day: GuildScheduledEventRecurrenceRuleWeekday.Monday }],
|
||||||
|
});
|
||||||
|
|
||||||
|
expectNotAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Monthly,
|
||||||
|
interval: 1,
|
||||||
|
byNWeekday: [{ n: 1, day: GuildScheduledEventRecurrenceRuleWeekday.Monday }],
|
||||||
|
// Invalid property
|
||||||
|
byWeekday: [GuildScheduledEventRecurrenceRuleWeekday.Monday],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
expectAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Weekly,
|
||||||
|
interval: 1,
|
||||||
|
byWeekday: [GuildScheduledEventRecurrenceRuleWeekday.Monday],
|
||||||
|
});
|
||||||
|
|
||||||
|
expectNotAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Weekly,
|
||||||
|
interval: 1,
|
||||||
|
byWeekday: [GuildScheduledEventRecurrenceRuleWeekday.Monday],
|
||||||
|
// Invalid property
|
||||||
|
byNWeekday: [{ n: 1, day: GuildScheduledEventRecurrenceRuleWeekday.Monday }],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
expectNotAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Daily,
|
||||||
|
interval: 1,
|
||||||
|
byWeekday: [GuildScheduledEventRecurrenceRuleWeekday.Monday],
|
||||||
|
// Invalid property
|
||||||
|
byNWeekday: [{ n: 1, day: GuildScheduledEventRecurrenceRuleWeekday.Monday }],
|
||||||
|
});
|
||||||
|
|
||||||
|
expectNotAssignable<GuildScheduledEventRecurrenceRuleOptions>({
|
||||||
|
startAt: new Date(),
|
||||||
|
frequency: GuildScheduledEventRecurrenceRuleFrequency.Daily,
|
||||||
|
interval: 1,
|
||||||
|
byWeekday: [GuildScheduledEventRecurrenceRuleWeekday.Monday],
|
||||||
|
// Invalid property
|
||||||
|
byMonth: [GuildScheduledEventRecurrenceRuleMonth.May],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user