in fuse-ui-shared/decorators/retry.ts [56:94]
export function createSequence(type: SequenceType): Sequence<number> {
switch (type) {
case 'constant':
return { next: () => 1 };
case 'exponential': {
let prev = 0;
return {
next: () => {
const result = Math.pow(2, prev);
prev++;
return result;
}
};
}
case 'linear': {
let prev = 0;
return { next: () => ++prev };
}
case 'fibonacci': {
let prev = 0;
let cur = 1;
return {
next: () => {
const result = prev + cur;
prev = cur;
cur = result;
return result;
}
};
}
default:
throw new Error(`unknown sequence type ${type}`);
}
}