Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1x 1x 1x 10x 13x 6x | import {allCombinations} from './allCombinations';
import {reshape} from './reshape';
export function cartesian(): [];
export function cartesian<A>(a: A[]): [A][];
export function cartesian<A, B>(a: A[], b: B[]): [A, B][][];
export function cartesian<A, B, C>(a: A[], b: B[], c: C[]): [A, B, C][][][];
export function cartesian<A, B, C, D>(a: A[], b: B[], c: C[], d: D[]): [A, B, C, D][][][][];
export function cartesian<A, B, C, D, E>(a: A[], b: B[], c: C[], d: D[], e: E[]): [A, B, C, D, E][][][][][];
export function cartesian<A, B, C, D, E, F>(a: A[], b: B[], c: C[], d: D[], e: E[], f: F[]): [A, B, C, D, E, F][][][][][];
export function cartesian<A, B, C, D, E, F, G>(a: A[], b: B[], c: C[], d: D[], e: E[], f: F[], g: G[]): [A, B, C, D, E, F, G][][][][][][];
export function cartesian<A, B, C, D, E, F, G, H>(a: A[], b: B[], c: C[], d: D[], e: E[], f: F[], g: G[], h: H[]): [A, B, C, D, E, F, G, H][][][][][][][];
export function cartesian<A, B, C, D, E, F, G, H>(a: A[], b: B[], c: C[], d: D[], e: E[], f: F[], g: G[], h: H[]): [A, B, C, D, E, F, G, H][][][][][][][];
export function cartesian(...arrays: unknown[][]): unknown[][] {
// @ts-ignore
const res: any[] = allCombinations(...arrays);
const dimensions = arrays.map(a => a.length)
return reshape(dimensions)(res) as any[]
}
|