liudong
2023-05-29 340f156319b863525e50e900c58e59b86ecb3d5e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
export declare enum WarningType {
    IncrementLargerThanRange = "IncrementLargerThanRange"
}
export interface Warning {
    type: WarningType;
    message: string;
}
export declare function _parse(cronstring: string): [
    SecondsOrMinutesField,
    SecondsOrMinutesField,
    HoursField,
    DaysField,
    MonthsField,
    YearsField
];
declare abstract class Field {
    protected field: string;
    abstract first: number;
    abstract last: number;
    constructor(field: string);
    protected parse(): FieldItem[];
    private _items?;
    protected get items(): FieldItem[];
    get values(): number[];
    get warnings(): Warning[];
    static getValues(items: FieldItem[], first: number, last: number): number[];
}
declare class FieldItem {
    itemString: string;
    range?: {
        from: number;
        to?: number;
    };
    step: number;
    private constructor();
    rangeLength(first: number, last: number): number;
    values(first: number, last: number): number[];
    get any(): boolean;
    get single(): boolean;
    static parse(item: string, first: number, last: number, allowCyclicRange?: boolean, transformer?: (n: number) => number): FieldItem;
    static asterisk: FieldItem;
}
export declare class SecondsOrMinutesField extends Field {
    readonly first = 0;
    readonly last = 59;
}
export declare class HoursField extends Field {
    readonly first = 0;
    readonly last = 23;
}
export declare class DaysField {
    lastDay: boolean;
    lastWeekday: boolean;
    daysItems: FieldItem[];
    nearestWeekdayItems: FieldItem[];
    daysOfWeekItems: FieldItem[];
    lastDaysOfWeekItems: FieldItem[];
    nthDaysOfWeekItems: {
        item: FieldItem;
        nth: number;
    }[];
    constructor(daysOfMonthField: string, daysOfWeekField: string);
    get values(): DaysFieldValues;
    get warnings(): Warning[];
    get allDays(): boolean;
}
export declare class DaysFieldValues {
    lastDay: boolean;
    lastWeekday: boolean;
    days: number[];
    nearestWeekday: number[];
    daysOfWeek: number[];
    lastDaysOfWeek: number[];
    nthDaysOfWeek: [number, number][];
    static fromField(field: DaysField): DaysFieldValues;
    getDays(year: number, month: number): number[];
}
export declare class MonthsField extends Field {
    readonly first = 1;
    readonly last = 12;
    constructor(field: string);
}
export declare class YearsField extends Field {
    readonly first = 1970;
    readonly last = 2099;
    constructor(field: string);
    protected parse(): FieldItem[];
    get warnings(): Warning[];
    nextYear(fromYear: number): number;
}
export {};