UNPKG

@everwhen/temporal

Version:
42 lines (41 loc) 1.28 kB
import { Duration, DurationLike } from './duration.js'; import { Point } from './point.js'; export interface SequenceBounds<T extends Point> { start: T; end: T; } export interface SequenceDef<T extends Point> { start: T; end: T; step?: DurationLike; } export interface SequenceItem<T extends Point> { previous?: T; value: T; next?: T; } export declare class Sequence<T extends Point> implements Iterable<T> { readonly start: T; readonly end: T; readonly step: Duration; private total; constructor(start: T, end: T, step: DurationLike); static from<T extends Point>(bounds: SequenceDef<T>): Sequence<T>; [Symbol.iterator](): Iterator<T>; get bounds(): SequenceBounds<T>; items(): Generator<SequenceItem<T>>; forEach(callbackfn: (value: T, index: number) => void): void; map<U>(mapper: (temporal: T) => U): U[]; group<K>(keyFn: (item: T) => K): Map<K, T[]>; select<U>(predicate: (item: T) => boolean, mapper: (temporal: T) => U): U[]; filter(predicate: (item: T) => boolean): T[]; with(bounds: Partial<SequenceBounds<T>> & { step?: DurationLike; }): Sequence<T>; get length(): number; toJSON(): { start: string; end: string; step: string; }; }