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