API reference › @evolu/common › Schedule › recurs
function recurs(n: Int0To100OrNonNegativeInt): Schedule<number>;
Defined in: packages/common/src/Schedule.ts:230
A schedule that recurs a fixed number of times.
Convenience for take(n)(forever). Outputs the current repetition count (0,
1, 2, ..., n-1).
n uses Int0To100OrNonNegativeInt: pass 0 to 100 as a literal, or
a validated NonNegativeInt for larger or dynamic values.
Limiting recurrence count
import {
assertErr,
assertOk,
done,
recurs,
testCreateDeps,
} from "@evolu/common";
// Retry up to 3 times (4 total attempts including the initial operation).
const retry = recurs(3);
const step = retry(testCreateDeps());
assertOk(step(undefined), [0, 0]);
step(undefined);
step(undefined);
assertErr(step(undefined), done());