yarn-spinner-runner-ts
Version:
TypeScript parser, compiler, and runtime for Yarn Spinner 3.x with React adapter [NPM package](https://www.npmjs.com/package/yarn-spinner-runner-ts)
32 lines (31 loc) • 996 B
TypeScript
/**
* Command parser and handler utilities for Yarn Spinner commands.
* Commands like <<command_name arg1 arg2>> or <<command_name "arg with spaces">>
*/
import type { ExpressionEvaluator as Evaluator } from "./evaluator";
export interface ParsedCommand {
name: string;
args: string[];
raw: string;
}
/**
* Parse a command string like "command_name arg1 arg2" or "set variable value"
*/
export declare function parseCommand(content: string): ParsedCommand;
/**
* Built-in command handlers for common Yarn Spinner commands.
*/
export declare class CommandHandler {
private handlers;
private variables;
constructor(variables?: Record<string, unknown>);
/**
* Register a command handler.
*/
register(name: string, handler: (args: string[], evaluator?: Evaluator) => void | Promise<void>): void;
/**
* Execute a parsed command.
*/
execute(parsed: ParsedCommand, evaluator?: Evaluator): Promise<void>;
private registerBuiltins;
}