import { OrchModel } from './model' import type { OrchModelState } from './types' export function waitUntil>( model: M, validateFn: (state: OrchModelState, model: M) => boolean, ) { return new Promise((resolve) => { model.on.change(() => { if (validateFn(model.getState() as OrchModelState, model)) { resolve(model) } }) }) }