UNPKG

rrule-rust

Version:

RRule implementation for Node.js written in Rust

98 lines (97 loc) 2.93 kB
import { DateTime } from './datetime'; export interface NWeekday { /** * If set, this represents the nth occurrence of the weekday. * Otherwise it represents every occurrence of the weekday. * * A negative value represents nth occurrence from the end. */ n?: number; weekday: Weekday; } export declare enum Frequency { Yearly = 0, Monthly = 1, Weekly = 2, Daily = 3, Hourly = 4, Minutely = 5, Secondly = 6 } export declare enum Month { January = 1, February = 2, March = 3, April = 4, May = 5, June = 6, July = 7, August = 8, September = 9, October = 10, November = 11, December = 12 } export declare enum Weekday { Monday = 0, Tuesday = 1, Wednesday = 2, Thursday = 3, Friday = 4, Saturday = 5, Sunday = 6 } export interface RRuleLike { readonly frequency: Frequency; readonly interval?: number; readonly count?: number; readonly until?: DateTime; readonly byWeekday: readonly (NWeekday | Weekday)[]; readonly byHour: readonly number[]; readonly byMinute: readonly number[]; readonly bySecond: readonly number[]; readonly byMonthday: readonly number[]; readonly bySetpos: readonly number[]; readonly byMonth: readonly Month[]; readonly byWeekno: readonly number[]; readonly byYearday: readonly number[]; readonly weekstart?: Weekday; } export declare class RRule { readonly frequency: Frequency; readonly interval?: number; readonly until?: DateTime; readonly count?: number; readonly byWeekday: readonly (NWeekday | Weekday)[]; readonly byHour: readonly number[]; readonly byMinute: readonly number[]; readonly bySecond: readonly number[]; readonly byMonthday: readonly number[]; readonly bySetpos: readonly number[]; readonly byMonth: readonly Month[]; readonly byWeekno: readonly number[]; readonly byYearday: readonly number[]; readonly weekstart?: Weekday; constructor(frequency: Frequency); constructor(rrule?: Partial<RRuleLike>); /** * Parses a string into an RRule. */ static parse(str: string): RRule; setFrequency(frequency: Frequency): RRule; setInterval(interval: number): RRule; setCount(count: number): RRule; setByWeekday(weekdays: readonly (NWeekday | Weekday)[]): RRule; setByHour(hours: readonly number[]): RRule; setByMinute(minutes: readonly number[]): RRule; setBySecond(seconds: readonly number[]): RRule; setByMonthday(days: readonly number[]): RRule; setBySetpos(poses: readonly number[]): RRule; setByMonth(months: readonly Month[]): RRule; setByWeekno(weekNumbers: readonly number[]): RRule; setByYearday(days: readonly number[]): RRule; setWeekstart(day: Weekday): RRule; setUntil(datetime: DateTime): RRule; toString(): string; toObject(): RRuleLike; }