1 | export interface RangeModifier {
|
2 | from: Date | undefined | null;
|
3 | to: Date | undefined | null;
|
4 | }
|
5 |
|
6 | export interface BeforeModifier {
|
7 | before: Date;
|
8 | }
|
9 |
|
10 | export interface AfterModifier {
|
11 | after: Date;
|
12 | }
|
13 |
|
14 | export interface BeforeAfterModifier {
|
15 | after: Date;
|
16 | before: Date;
|
17 | }
|
18 |
|
19 | export interface DaysOfWeekModifier {
|
20 | daysOfWeek: number[];
|
21 | }
|
22 |
|
23 | export type FunctionModifier = (date: Date) => boolean;
|
24 |
|
25 | export type Modifier =
|
26 | | Date
|
27 | | RangeModifier
|
28 | | BeforeModifier
|
29 | | AfterModifier
|
30 | | BeforeAfterModifier
|
31 | | DaysOfWeekModifier
|
32 | | FunctionModifier
|
33 | | undefined;
|
34 |
|
35 | export interface Modifiers {
|
36 | today: Modifier | Modifier[];
|
37 | outside: Modifier | Modifier[];
|
38 | [other: string]: Modifier | Modifier[] | undefined;
|
39 | }
|
40 |
|
41 | export interface DayModifiers {
|
42 | today: boolean | undefined;
|
43 | outside: boolean | undefined;
|
44 | [other: string]: boolean | undefined;
|
45 | }
|
46 |
|
47 | export const ModifiersUtils: {
|
48 | dayMatchesModifier(day: Date, modifier?: Modifier | Modifier[]): boolean;
|
49 | getModifiersForDay(
|
50 | day: Date,
|
51 | modifiers: Record<string, Modifier | Modifier[]>
|
52 | ): string[];
|
53 | };
|
54 | export type ModifiersUtils = typeof ModifiersUtils;
|