Home > @wixc3/common > Chain
Signature:
export type Chain<T> = {
last: () => ValueChain<T>;
first: () => ValueChain<T>;
isEmpty: () => ValueChain<boolean>;
size: () => ValueChain<number>;
at: (index: number) => ValueChain<T>;
next: () => ValueChain<T>;
prev: () => ValueChain<T>;
unique: () => IterableChain<T>;
map: <S>(m: Mapping<T, S>) => IterableChain<S>;
flatMap: <S>(m: Mapping<T, S>) => IterableChain<Flat<S>>;
filter: (p: Predicate<T>) => IterableChain<T>;
concat: (...iterables: Iterable<T>[]) => IterableChain<T>;
forEach: (fn: Mapping<T, unknown>) => IterableChain<T>;
find: (p: Predicate<T>) => ValueChain<T>;
includes: (element: T) => ValueChain<boolean>;
some: (p: Predicate<T>) => ValueChain<boolean>;
sort: (p: Predicate<T, number>) => IterableChain<T>;
every: (p: Predicate<T>) => ValueChain<boolean>;
flat: () => IterableChain<Flat<T>>;
join: () => ValueChain<string>;
skip: (count: number) => IterableChain<T>;
reduce: <A>(reducer: (acc: A, item: T) => A, initial: A) => ValueChain<A>;
iterable: Iterable<T>;
get array(): T[];
};
References: ValueChain, IterableChain, Mapping, Flat, Predicate