export function scriptedProvider(steps) { let index = 0; return { next() { if (index >= steps.length) throw new Error("scripted provider exhausted"); return steps[index++]; }, complete() { if (index !== steps.length) throw new Error( `scripted provider left ${steps.length - index} step(s)`, ); }, }; }