These methods create sequences of the very large combinations of values.
Generates sequence of the Cartesian product of an arbitrary number of columns of data.
const sequence: Seq<[string, number]> = cartesianProduct(["a", "b", "c"],[1, 2, 3]);
type cartesianProduct = <T>(...inputs: T[][]) => Seq<T[]>;
Generates sequence of Sets of a Power set.
const sequence: Seq<Set<string>> = powerSet(["a", "b", "c"]);
type powerSet = <T>(...items: T[]) => Seq<Set<T>>;
Generates sequence of Sets of a Combination of a given length.
const sequence: Seq<Set<string>> = combination(["a", "b", "c"], 2);
type combination = <T>(items: T[], size: number = items.length) => Seq<Set<T>>;