diff --git a/packages/core/repl.mjs b/packages/core/repl.mjs index e703909ff..72be00b31 100644 --- a/packages/core/repl.mjs +++ b/packages/core/repl.mjs @@ -8,6 +8,7 @@ import { register, Pattern, isPattern, silence, stack } from './pattern.mjs'; export function repl({ defaultOutput, + defaultPrepare, onEvalError, beforeEval, beforeStart, @@ -47,6 +48,7 @@ export function repl({ const schedulerOptions = { onTrigger: getTrigger({ defaultOutput, getTime }), + onPrepare: getPrepare({ defaultPrepare }), getTime, onToggle: (started) => { updateState({ started }); @@ -238,3 +240,13 @@ export const getTrigger = logger(`[cyclist] error: ${err.message}`, 'error'); } }; + +export const getPrepare = + ({defaultPrepare}) => + async (hap) => { + try { + await defaultPrepare(hap); + } catch (err) { + logger(`[cyclist] error: ${err.message}`, 'error'); + } + }