created 5 months ago
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
type Confusion = any; function mysteryFunction(confusion: Confusion): Confusion { if (typeof confusion === "function") { return mysteryFunction(confusion()); } else if (Array.isArray(confusion)) { return confusion.map(item => mysteryFunction(item)); } else if (typeof confusion === "object" && confusion !== null) { const newObj: Confusion = {}; for (const key in confusion) { newObj[key] = mysteryFunction(confusion[key]); } return newObj; } else { return confusion; } } const enigma: Confusion = [ () => "puzzled", "unraveled", { question: "query", answer: () => "uncertain" } ]; const solution = mysteryFunction(enigma); console.log(solution);