UNPKG

@yeoman/adapter

Version:

Input Output adapter for yeoman's generator/environment stack

65 lines (64 loc) 2.39 kB
import { createPromptModule } from 'inquirer'; import type { Logger, PromptAnswers, PromptQuestions, QueuedAdapter, Task } from '../../types/index.js'; type PromptModule = ReturnType<typeof createPromptModule>; type TestQuestion = { name: string; message: string; type: string; default?: any; }; type PromptCalls = { question: TestQuestion; answer: any; }; export type DummyPromptCallback = (answer: any, { question, answers }: { question: TestQuestion; answers: PromptAnswers; }) => any; export type DummyPromptOptions = { mockedAnswers?: PromptAnswers; callback?: DummyPromptCallback; throwOnMissingAnswer?: boolean; }; type SpyFactory<SpyType = any> = ({ returns }: { returns?: any; }) => SpyType; export type TestAdapterOptions<SpyType = any> = DummyPromptOptions & { log?: any; spyFactory?: SpyFactory<SpyType>; }; export type DefineTestAdapterConfig = Pick<TestAdapterOptions, 'log' | 'spyFactory' | 'throwOnMissingAnswer'>; export declare const defineConfig: (config: DefineTestAdapterConfig) => DefineTestAdapterConfig; export declare const getConfig: () => { log?: any; spyFactory?: SpyFactory<any> | undefined; throwOnMissingAnswer?: boolean | undefined; }; /** * @experimental */ export declare class TestAdapter<LogType extends Logger = Logger, SpyType = any> implements QueuedAdapter { promptModule: PromptModule; diff: any & SpyType; log: LogType & SpyType; registerDummyPrompt: (promptName: string, customPromptOptions?: DummyPromptOptions) => PromptModule; readonly mockedAnswers: PromptAnswers; readonly calls: PromptCalls[]; private abortController; private readonly spyFactory; constructor(options?: TestAdapterOptions<SpyType>); queue<TaskResultType>(function_: Task<TaskResultType>): Promise<TaskResultType>; progress<ReturnType>(function_: (progress: { step: (prefix: string, message: string, ...arguments_: any[]) => void; }) => ReturnType, _options?: { disabled?: boolean | undefined; name?: string | undefined; } | undefined): Promise<ReturnType>; close(): void; prompt<A extends PromptAnswers = PromptAnswers>(questions: PromptQuestions<A>, initialAnswers?: Partial<A> | undefined): Promise<A>; /** * Add answers to the mocked answers. */ addAnswers(answers: PromptAnswers): void; } export {};