UNPKG

d3-dag

Version:

Layout algorithms for visualizing directed acylic graphs.

40 lines (39 loc) 2.53 kB
/** iterable callback that maps a value into another */ export type MapCallback<in T, out S> = (element: T, index: number) => S; /** iterable callback that maps a value into another */ export type GuardCallback<in T, R extends T> = (element: T, index: number) => element is R; /** reduce callback */ export type ReduceCallback<in T, in out S> = (accumulator: S, currentValue: T, index: number) => S; /** filter guard callback */ export type 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>;