verifyAllCombinations() functions are not managing async, it can only return [object Promise] when the passed function is async.
Example:
Code:
const pagesOptions = [[], [y,y], [x,y,z]];
verifyAllCombinations1(async (option) => {
await asynchronousTreatment();
return option;
}, pagesOptions);
Actual:
[] => [object Promise]
[x,y] => [object Promise]
[x,y,z] => [object Promise]
Expected:
[] =>
[x,y] => x,y
[x,y,z] => x,y,z