Add stepping and breakpoints to debugger

This commit is contained in:
Nilay Majorwar
2021-12-15 22:08:30 +05:30
parent 38247f03c8
commit 7d9fb457ff
6 changed files with 58 additions and 1 deletions
+15
View File
@@ -140,6 +140,20 @@ export const useExecController = <RS>() => {
});
}, []);
/**
* Run a single step of execution
* @return Execution result
*/
const executeStep = React.useCallback(async () => {
const res = await requestWorker(
{ type: "ExecuteStep" },
(res) => res.type !== "result"
);
if (res.type !== "result") throw new Error("Something unexpected happened");
if (!res.data.nextStepLocation) setWorkerState("done");
return res.data;
}, []);
/**
* Execute the code loaded into the engine
* @param onResult Callback used when an execution result is received
@@ -172,6 +186,7 @@ export const useExecController = <RS>() => {
prepare,
pauseExecution,
execute,
executeStep,
updateBreakpoints,
};
};