Comparing version
@@ -9,5 +9,5 @@ /** | ||
import type { LegacyPromptConstructor, PromptFn } from './ui/prompt.js'; | ||
import type { Answers, CustomQuestion, BuiltInQuestion, StreamOptions } from './types.js'; | ||
import type { Answers, CustomQuestion, UnnamedDistinctQuestion, StreamOptions } from './types.js'; | ||
import { Observable } from 'rxjs'; | ||
export type { QuestionMap } from './types.js'; | ||
export type { QuestionMap, Question, DistinctQuestion, Answers, PromptSession, } from './types.js'; | ||
type PromptReturnType<T> = Promise<Prettify<T>> & { | ||
@@ -20,10 +20,10 @@ ui: PromptsRunner<Prettify<T>>; | ||
export declare function createPromptModule<Prompts extends Record<string, Record<string, unknown>> = never>(opt?: StreamOptions): { | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: ((BuiltInQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> | CustomQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never, Prompts>) & { | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: ((UnnamedDistinctQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> | CustomQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never, Prompts>) & { | ||
name: Extract<keyof PrefilledAnswers, string> | Extract<keyof A, string>; | ||
})[], answers?: PrefilledAnswers): PromptReturnType<Prettify<PrefilledAnswers & A>>; | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: { [name in keyof A]: BuiltInQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> | CustomQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never, Prompts>; }, answers?: PrefilledAnswers): PromptReturnType<Prettify<PrefilledAnswers & Answers<Extract<keyof A, string>>>>; | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: Observable<(BuiltInQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> | CustomQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never, Prompts>) & { | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: { [name in keyof A]: UnnamedDistinctQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> | CustomQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never, Prompts>; }, answers?: PrefilledAnswers): PromptReturnType<Prettify<PrefilledAnswers & Answers<Extract<keyof A, string>>>>; | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: Observable<(UnnamedDistinctQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> | CustomQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never, Prompts>) & { | ||
name: Extract<keyof PrefilledAnswers, string> | Extract<keyof A, string>; | ||
}>, answers?: PrefilledAnswers): PromptReturnType<Prettify<PrefilledAnswers & A>>; | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: (BuiltInQuestion<A & PrefilledAnswers> | CustomQuestion<A & PrefilledAnswers, Prompts>) & { | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: (UnnamedDistinctQuestion<A & PrefilledAnswers> | CustomQuestion<A & PrefilledAnswers, Prompts>) & { | ||
name: Extract<keyof A, string> | Extract<keyof PrefilledAnswers, string>; | ||
@@ -47,10 +47,10 @@ }, answers?: PrefilledAnswers): PromptReturnType<PrefilledAnswers & A>; | ||
prompt: { | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: (BuiltInQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> & { | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: (UnnamedDistinctQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> & { | ||
name: Extract<keyof PrefilledAnswers, string> | Extract<keyof A, string>; | ||
})[], answers?: PrefilledAnswers | undefined): PromptReturnType<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never>; | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: { [name in keyof A]: BuiltInQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never>; }, answers?: PrefilledAnswers | undefined): PromptReturnType<PrefilledAnswers & Answers<Extract<keyof A, string>> extends infer T_1 ? { [K_1 in keyof T_1]: (PrefilledAnswers & Answers<Extract<keyof A, string>>)[K_1]; } : never>; | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: Observable<BuiltInQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> & { | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: { [name in keyof A]: UnnamedDistinctQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never>; }, answers?: PrefilledAnswers | undefined): PromptReturnType<PrefilledAnswers & Answers<Extract<keyof A, string>> extends infer T_1 ? { [K_1 in keyof T_1]: (PrefilledAnswers & Answers<Extract<keyof A, string>>)[K_1]; } : never>; | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: Observable<UnnamedDistinctQuestion<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never> & { | ||
name: Extract<keyof PrefilledAnswers, string> | Extract<keyof A, string>; | ||
}>, answers?: PrefilledAnswers | undefined): PromptReturnType<PrefilledAnswers & A extends infer T ? { [K in keyof T]: (PrefilledAnswers & A)[K]; } : never>; | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: BuiltInQuestion<A & PrefilledAnswers> & { | ||
<const A extends Answers, PrefilledAnswers extends Answers = object>(questions: UnnamedDistinctQuestion<A & PrefilledAnswers> & { | ||
name: Extract<keyof A, string> | Extract<keyof PrefilledAnswers, string>; | ||
@@ -57,0 +57,0 @@ }, answers?: PrefilledAnswers | undefined): PromptReturnType<PrefilledAnswers & A>; |
@@ -29,3 +29,3 @@ import { checkbox, confirm, editor, expand, input, number, password, rawlist, search, select } from '@inquirer/prompts'; | ||
type KeyValueOrAsyncGetterFunction<T, k extends string, A extends Answers> = T extends Record<string, any> ? T[k] | AsyncGetterFunction<T[k], A> : never; | ||
export type AnyQuestion<A extends Answers, Type extends string = string> = { | ||
export type Question<A extends Answers = Answers, Type extends string = string> = { | ||
type: Type; | ||
@@ -49,7 +49,10 @@ name: string; | ||
}>; | ||
export type BuiltInQuestion<A extends Answers = object> = QuestionWithGetters<'checkbox', Parameters<typeof checkbox>[0], A> | QuestionWithGetters<'confirm', Parameters<typeof confirm>[0], A> | QuestionWithGetters<'editor', Parameters<typeof editor>[0], A> | QuestionWithGetters<'expand', Parameters<typeof expand>[0], A> | QuestionWithGetters<'input', Parameters<typeof input>[0], A> | QuestionWithGetters<'number', Parameters<typeof number>[0], A> | QuestionWithGetters<'password', Parameters<typeof password>[0], A> | QuestionWithGetters<'rawlist', Parameters<typeof rawlist>[0], A> | QuestionWithGetters<'search', Parameters<typeof search>[0], A> | QuestionWithGetters<'list', Parameters<typeof select>[0], A> | QuestionWithGetters<'select', Parameters<typeof select>[0], A>; | ||
export type UnnamedDistinctQuestion<A extends Answers = object> = QuestionWithGetters<'checkbox', Parameters<typeof checkbox>[0], A> | QuestionWithGetters<'confirm', Parameters<typeof confirm>[0], A> | QuestionWithGetters<'editor', Parameters<typeof editor>[0], A> | QuestionWithGetters<'expand', Parameters<typeof expand>[0], A> | QuestionWithGetters<'input', Parameters<typeof input>[0], A> | QuestionWithGetters<'number', Parameters<typeof number>[0], A> | QuestionWithGetters<'password', Parameters<typeof password>[0], A> | QuestionWithGetters<'rawlist', Parameters<typeof rawlist>[0], A> | QuestionWithGetters<'search', Parameters<typeof search>[0], A> | QuestionWithGetters<'list', Parameters<typeof select>[0], A> | QuestionWithGetters<'select', Parameters<typeof select>[0], A>; | ||
export type DistinctQuestion<A extends Answers = Answers> = Prettify<UnnamedDistinctQuestion<A> & { | ||
name: Extract<keyof A, string>; | ||
}>; | ||
export type CustomQuestion<A extends Answers, Q extends Record<string, Record<string, any>>> = { | ||
[key in Extract<keyof Q, string>]: Readonly<QuestionWithGetters<key, Q[key], A>>; | ||
}[Extract<keyof Q, string>]; | ||
export type PromptSession<A extends Answers> = AnyQuestion<A>[] | Record<string, Omit<AnyQuestion<A>, 'name'>> | Observable<AnyQuestion<A>> | AnyQuestion<A>; | ||
export type PromptSession<A extends Answers = Answers, Q extends Question<A> = Question<A>> = Q[] | Record<string, Omit<Q, 'name'>> | Observable<Q> | Q; | ||
export type StreamOptions = Prettify<Context & { | ||
@@ -56,0 +59,0 @@ skipTTYChecks?: boolean; |
{ | ||
"name": "inquirer", | ||
"version": "11.0.2", | ||
"version": "11.1.0", | ||
"description": "A collection of common interactive command line user interfaces.", | ||
@@ -88,3 +88,3 @@ "author": "Simon Boudrias <admin@simonboudrias.com>", | ||
"typings": "./dist/cjs/types/index.d.ts", | ||
"gitHead": "95674a1ebabb2e715d243b1718647274400416ce" | ||
"gitHead": "c07851dd161ca53a706942e4c130c223e52fed1c" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
99680
32.87%22
46.67%1465
58.38%