Solución
solution.tsTypeScript
export function testOnce(): number[] {
let wasCalled = false;
function once<T>(fn: () => T): () => T {
// Usa closure: guarda si ya fue llamada y el resultado
if(wasCalled) return;
const result = fn();
wasCalled = true;
return () => result;
}
let count = 0;
const increment = once(() => ++count);
return [increment(), increment(), increment()];
}0respuestas