types: fix recurrence rule types

#10694 djs
This commit is contained in:
Elysia
2025-02-14 23:55:17 +07:00
parent c24584f408
commit 5b7b2a67eb
3 changed files with 27 additions and 17 deletions

37
typings/index.d.ts vendored
View File

@@ -6766,18 +6766,35 @@ export interface GuildScheduledEventCreateOptions {
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;
endAt: DateResolvable;
frequency: GuildScheduledEventRecurrenceRuleFrequency;
interval: number;
byWeekday: readonly GuildScheduledEventRecurrenceRuleWeekday[];
byNWeekday: readonly GuildScheduledEventRecurrenceRuleNWeekday[];
byMonth: readonly GuildScheduledEventRecurrenceRuleMonth[];
byMonthDay: readonly number[];
byYearDay: readonly number[];
count: number;
}
frequency: Frequency;
} & Extra;
export interface GuildScheduledEventEditOptions<
S extends GuildScheduledEventStatus,