UNPKG

@rschedule/rschedule

Version:

A typescript library for working with recurring dates and events.

58 lines 2.51 kB
import { DateAdapter } from '../date-adapter'; import { IDateAdapter } from '../date-time'; import { IOccurrenceGenerator, IRunArgs } from '../interfaces'; import { RuleOption } from '../rule'; import { IOccurrencesArgs } from './occurrence.iterator'; export declare class CollectionIterator<T extends typeof DateAdapter, G extends ReadonlyArray<IOccurrenceGenerator<T>> = ReadonlyArray<IOccurrenceGenerator<T>>> { private iterable; private args; readonly granularity: CollectionsGranularity; readonly weekStart?: IDateAdapter.Weekday; readonly startDate: InstanceType<T> | null; private iterator; constructor(iterable: IOccurrenceGenerator<T>, args: ICollectionsRunArgs); [Symbol.iterator]: () => IterableIterator<Collection<T, ReadonlyArray<IOccurrenceGenerator<T>>>>; next(): IteratorResult<Collection<T, ReadonlyArray<IOccurrenceGenerator<T>>>>; /** * While `next()` and `[Symbol.iterator]` both share state, * `toArray()` does not share state and always returns the whole * collections array. */ toArray(): Collection<T, ReadonlyArray<IOccurrenceGenerator<T>>>[]; private normalizeDateOutput; private _run; private getPeriod; private incrementPeriod; private occurrenceIterator; } export declare class Collection<T extends typeof DateAdapter, G extends ReadonlyArray<IOccurrenceGenerator<T>> = ReadonlyArray<IOccurrenceGenerator<T>>> { readonly dates: (InstanceType<T> & { generators: G; })[]; readonly granularity: CollectionsGranularity; readonly periodStart: InstanceType<T> & { generators: G; }; readonly periodEnd: InstanceType<T> & { generators: G; }; constructor(dates: (InstanceType<T> & { generators: G; })[], granularity: CollectionsGranularity, periodStart: InstanceType<T> & { generators: G; }, periodEnd: InstanceType<T> & { generators: G; }); } export declare type CollectionsGranularity = 'INSTANTANIOUSLY' | RuleOption.Frequency; export interface ICollectionsArgs<T extends typeof DateAdapter> extends IOccurrencesArgs<T> { granularity?: CollectionsGranularity; weekStart?: IDateAdapter.Weekday; incrementLinearly?: boolean; } export interface ICollectionsRunArgs extends IRunArgs { granularity?: CollectionsGranularity; weekStart?: IDateAdapter.Weekday; incrementLinearly?: boolean; } //# sourceMappingURL=collection.iterator.d.ts.map