UNPKG

rrule-rust

Version:

RRule implementation for Node.js written in Rust

61 lines (60 loc) 2.13 kB
import { RRule } from './rrule'; import { DateTime } from './datetime'; export interface RRuleSetLike { readonly dtstart: DateTime; readonly tzid?: string; readonly rrules: readonly RRule[]; readonly exrules: readonly RRule[]; readonly exdates: readonly DateTime[]; readonly rdates: readonly DateTime[]; } export declare class RRuleSet implements Iterable<DateTime> { readonly dtstart: DateTime; readonly tzid: string; readonly rrules: readonly RRule[]; readonly exrules: readonly RRule[]; readonly exdates: readonly DateTime[]; readonly rdates: readonly DateTime[]; constructor(dtstart: DateTime, tzid?: string); constructor(options: Partial<RRuleSetLike>); /** * Parses a string into an RRuleSet. */ static parse(str: string): RRuleSet; setDtstart(dtstart: DateTime): RRuleSet; setTzid(tzid: string): RRuleSet; addRrule(rrule: RRule): RRuleSet; setRrules(rrules: readonly RRule[]): RRuleSet; addExrule(rrule: RRule): RRuleSet; setExrules(rrules: readonly RRule[]): RRuleSet; addExdate(datetime: DateTime): RRuleSet; setExdates(datetimes: readonly DateTime[]): RRuleSet; addRdate(datetime: DateTime): RRuleSet; setRdates(datetimes: readonly DateTime[]): RRuleSet; /** * Returns all the occurrences of the rrule. * * @param limit - The maximum number of occurrences to return. */ all(limit?: number): DateTime[]; /** * Returns all the occurrences of the rrule between after and before. * * @param after - The lower bound date. * @param before - The upper bound date. * @param inclusive - Whether to include after and before in the list of occurrences. */ between(after: DateTime, before: DateTime, inclusive?: boolean): DateTime[]; /** * Sets the RRuleSet from a string. * * @param str - The string to parse. */ setFromString(str: string): RRuleSet; toString(): string; /** * Converts the RRuleSet to a plain object. */ toObject(): RRuleSetLike; [Symbol.iterator](): Iterator<DateTime, any, any>; }