graph-typed
Version:
Graph data structure.
35 lines (29 loc) • 999 B
text/typescript
import { IterableElementBase, IterableEntryBase } from '../../../data-structures';
import { LinearBase } from '../../../data-structures/base/linear-base';
export type EntryCallback<K, V, R> = (key: K, value: V, index: number, original: IterableEntryBase<K, V>) => R;
export type ElementCallback<E, R, RT> = (element: E, index: number, original: IterableElementBase<E, R>) => RT;
export type ReduceEntryCallback<K, V, R> = (
accumulator: R,
value: V,
key: K,
index: number,
original: IterableEntryBase<K, V>
) => R;
export type ReduceElementCallback<E, R, RT = E> = (
accumulator: RT,
element: E,
index: number,
original: IterableElementBase<E, R>
) => RT;
export type ReduceLinearCallback<E, RT = E> = (
accumulator: RT,
element: E,
index: number,
original: LinearBase<E>
) => RT;
export type IterableElementBaseOptions<E, R> = {
toElementFn?: (rawElement: R) => E;
};
export type LinearBaseOptions<E, R> = IterableElementBaseOptions<E, R> & {
maxLen?: number;
};