import { Optional } from '@ephox/katamari'; const evaluateUntil = (fns: Array<(...args: T) => Optional>, args: T): Optional => { for (let i = 0; i < fns.length; i++) { const result = fns[i].apply(null, args); if (result.isSome()) { return result; } } return Optional.none(); }; export { evaluateUntil };