Tengo una función que toma otra función que genera números consecutivos.
(los números se pueden generar desde cualquier punto de inicio)
también la función toma un valor que debe detenerse antes
Puedo hacer que funcione desde cero hasta el límite requerido, pero no si, por ejemplo, comienza en 1
estos son requisitos:
devuelve una función en la primera invocación
✓ devuelve el valor dado en la primera llamada
✓ Las invocaciones posteriores emiten números enteros consecutivos (1 ms)
✓ emite exclusivamente indefinido cuando se supera el límite (no incluido) (1 ms)
✕ emite exclusivamente indefinido cuando se supera el límite (no incluido) cuando el generador no arranca en 0
hof.to = function (funcfrom, n) { counter = n; return function () { if (counter > 0) { counter--; return funcfrom(); } }; };