rrule-rust
Version:
RRule implementation for Node.js written in Rust
61 lines (60 loc) • 2.13 kB
TypeScript
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>;
}