UNPKG

d3-dag

Version:

Layout algorithms for visualizing directed acylic graphs.

48 lines (47 loc) 2.57 kB
/** iterable callback that maps a value into another */ export interface MapCallback<in T, out S> { (element: T, index: number): S; } /** iterable callback that maps a value into another */ export interface GuardCallback<in T, R extends T> { (element: T, index: number): element is R; } /** reduce callback */ export interface ReduceCallback<in T, in out S> { (accumulator: S, currentValue: T, index: number): S; } /** filter guard callback */ export interface FilterGuardCallback<in T, out S extends T> { (element: T, index: number): element is S; } /** elements with their zero based index */ export declare function entries<T>(iter: Iterable<T>): IterableIterator<[number, T]>; /** iterable flat map */ export declare function flatMap<T, S>(iter: Iterable<T>, callback: MapCallback<T, Iterable<S>>): IterableIterator<S>; /** iterable reduce */ export declare function reduce<T, S>(iter: Iterable<T>, callback: ReduceCallback<T, S>, initialValue: S): S; /** iterable map */ export declare function map<T, S>(iter: Iterable<T>, callback: MapCallback<T, S>): IterableIterator<S>; /** guard iterable filter */ export declare function filter<T, S extends T>(iter: Iterable<T>, callback: FilterGuardCallback<T, S>): IterableIterator<S>; /** generic iterable filter */ export declare function filter<T>(iter: Iterable<T>, callback: MapCallback<T, boolean>): IterableIterator<T>; /** iterable some */ export declare function some<T>(iter: Iterable<T>, callback: MapCallback<T, boolean>): boolean; /** iterable every */ export declare function every<T, R extends T>(iter: Iterable<T>, callback: GuardCallback<T, R>): iter is Iterable<R>; export declare function every<T>(iter: Iterable<T>, callback: MapCallback<T, boolean>): boolean; /** iterable length */ export declare function length(iter: Iterable<unknown>): number; /** iterable slice of an array */ export declare function slice<T>(arr: readonly T[], frm?: number, to?: number, stride?: number): IterableIterator<T>; /** iterable reverse of an array */ export declare function reverse<T>(arr: readonly T[]): IterableIterator<T>; /** chain several iterables */ export declare function chain<T>(...iters: Iterable<T>[]): IterableIterator<T>; /** iterate over bigrams of an iterable */ export declare function bigrams<T>(iterable: Iterable<T>): IterableIterator<[T, T]>; /** return the first element of an iterable */ export declare function first<T>(iterable: Iterable<T>): T | undefined; /** return if something is iterable */ export declare function isIterable(obj: unknown): obj is Iterable<unknown>;