Files
tools/vue/editor/src/commands/chain.ts
T
robonen 09272dffeb feat(editor): eslint/tsconfig migration + type fixes
@robonen/editor: migrate to eslint flat config + composite tsconfig; fix
convergence test type annotations.
2026-06-07 16:30:05 +07:00

17 lines
458 B
TypeScript

import type { Command } from '../state';
/**
* Combine commands into one that runs them in order and stops at the first that
* applies (returns `true`). The standard way to bind several fallbacks to a key.
*/
export function chainCommands(...commands: readonly Command[]): Command {
return (state, dispatch, view) => {
for (const command of commands) {
if (command(state, dispatch, view))
return true;
}
return false;
};
}