chore: Adding mainFn helpers

This commit is contained in:
BluJ
2023-04-07 11:43:05 -06:00
parent 74e765511e
commit 49277bfc78
35 changed files with 457 additions and 183 deletions

View File

@@ -0,0 +1,28 @@
import { TriggerInput } from "./TriggerInput";
import { Trigger } from "./index";
export function changeOnFirstSuccess(o: {
beforeFirstSuccess: Trigger;
afterFirstSuccess: Trigger;
}) {
return async function* () {
const beforeFirstSuccess = o.beforeFirstSuccess();
let currentValue: TriggerInput = yield;
beforeFirstSuccess.next(currentValue);
for (
let res = await beforeFirstSuccess.next(currentValue);
currentValue?.lastResult !== "success" && !res.done;
res = await beforeFirstSuccess.next(currentValue)
) {
currentValue = yield;
}
const afterFirstSuccess = o.afterFirstSuccess();
for (
let res = await afterFirstSuccess.next(currentValue);
!res.done;
res = await afterFirstSuccess.next(currentValue)
) {
currentValue = yield;
}
};
}