UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

34 lines (33 loc) 1.21 kB
import { GraphicsInterface } from '../../types/cli.types'; import OnboardingStore from './stores/OnboardingStore'; export type Script = ScriptItem[]; type ScriptItem = string | ScriptItemCallback; type ScriptRedirect = string; type ScriptItemCallback = (player: CallbackPlayer) => Promise<void | ScriptRedirect> | void | ScriptRedirect; export interface CallbackPlayer { ui: GraphicsInterface; redirect(toScriptKey: string): ScriptRedirect; onboardingStore: OnboardingStore; executeCommand: CommandExecuter; } export type CommandExecuter = (command: string) => Promise<void>; export default class ScriptPlayer { private ui; private scriptsByKey; private onboardingStore; private commandExecuter; constructor(options: { ui: GraphicsInterface; onboardingStore: OnboardingStore; commandExecuter: CommandExecuter; }); playScriptWithKey(key: string): Promise<void>; loadScript(key: string, script: Script): void; playScript(script: Script): Promise<void>; private buildCallbackOptions; private redirectAndPlay; static redirect(toScriptKey: string): string; private extractDestination; private isRedirect; } export {};