UNPKG

create-abi

Version:

Interactive CLI for create Abi.js projects.

55 lines (52 loc) 1.87 kB
import { Definition, Program } from './core.js'; import 'yargs'; declare class ProgramTester<T extends Definition, U extends Required<Omit<T, 'it' | 'yes' | 'no'>>> { readonly program: Program<T, U>; constructor(program: Program<T, U>); intercept(question: string, answer: unknown): this; scanString(message: string, initialValue?: string): Promise<ValueTester>; scanBoolean(definition: T, message: string, initialValue?: boolean): Promise<ValueTester>; scanChoice(message: string, options: { value: string; label: string; }[], initialValue?: string): Promise<ValueTester>; parse(args: string[]): DefinitionTester<T>; interact(definition: T): Promise<DefinitionTester<U>>; execute(input: U): Promise<ResultTester>; run(args: string[]): Promise<ResultTester>; } declare class DefinitionTester<T extends Definition> { readonly definition: T; constructor(definition: T); has(key: string, ...keys: string[]): boolean; get(key: string): ValueTester; } declare class ValueTester { readonly value: unknown; constructor(value: unknown); isUndefined(): boolean; isNull(): boolean; isBoolean(): boolean; isTrue(): boolean; isFalse(): boolean; isNumber(validate?: (value: number) => boolean): boolean; isString(validate?: (value: string) => boolean): boolean; equals(value: unknown): boolean; } declare class ResultTester { readonly result: number; constructor(result: number); isSuccess(): boolean; isFailure(): boolean; isInvalid(): boolean; isUnknown(): boolean; } declare class PathTester { readonly path: string; constructor(path: string); isFile(): boolean; isDir(): boolean; isSymbolicLink(): boolean; exists(): boolean; } export { DefinitionTester, PathTester, ProgramTester, ResultTester, ValueTester };