UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

78 lines (77 loc) 3 kB
import { FieldDefinitions } from './../.spruce/schemas/fields/fields.types'; import { ExecutionResults } from '../types/cli.types'; import { GraphicsInterface } from '../types/cli.types'; import { GraphicsTextEffect, ProgressBarOptions, ProgressBarUpdateOptions, ImageDimensions } from '../types/graphicsInterface.types'; export default class SpyInterface implements GraphicsInterface { invocations: { command: string; options?: any; }[]; private cursorPosition; private promptResolver?; private confirmResolver?; private waitForEnterResolver?; private promptDefaultValue; private term?; private startTime; private promptTimeout?; private error?; constructor(); setTitle(_title: string): void; private shouldRenderTestLogs; renderWarning(message: string, effects?: GraphicsTextEffect[] | undefined): void; renderHint(message: string, effects?: GraphicsTextEffect[] | undefined): void; private trackInvocation; isWaitingForInput(): boolean; reset(): void; setError(err: Error): void; getLastInvocation(): { command: string; options?: any; }; sendInput(input: Input): Promise<void>; renderSection(options: { headline: string; lines?: string[] | string[]; headlineEffects?: GraphicsTextEffect[]; dividerEffects?: GraphicsTextEffect[]; bodyEffects?: GraphicsTextEffect[]; object?: any; }): void; renderObject(obj: any): void; renderError(err: Error): void; renderCodeSample(code: string): void; renderActionSummary(results: ExecutionResults): void; renderHero(message: string, effects?: GraphicsTextEffect[] | undefined): void; renderHeadline(message: string, effects: GraphicsTextEffect[], dividerEffects: GraphicsTextEffect[]): void; renderDivider(effects?: GraphicsTextEffect[] | undefined): void; renderLine(message: string, effects?: GraphicsTextEffect[] | undefined): void; private optionallyRenderLine; renderImage(path: string, options?: ImageDimensions): Promise<void>; renderLines(messages: string[], effects?: GraphicsTextEffect[] | undefined): void; prompt<T extends FieldDefinitions>(definition: T): Promise<any>; startLoading(message?: string | undefined): void; stopLoading(): void; waitForEnter(message?: string | undefined): Promise<void>; waitForInput(): Promise<void>; confirm(question: string): Promise<boolean>; clear(): void; renderProgressBar(options: ProgressBarOptions): void; updateProgressBar(options: ProgressBarUpdateOptions): void; removeProgressBar(): void; getCursorPosition(): Promise<{ x: number; y: number; } | null>; setCursorPosition(pos: { x: number; y: number; }): void; moveCursorTo(x: number, y: number): void; clearBelowCursor(): void; } interface FilePromptInput { path: string; } type Input = string | string[] | FilePromptInput; export {};