From d8b9276ec0b8fd5a4fb74dae2aa4951f4483f170 Mon Sep 17 00:00:00 2001 From: Daniel Perez Alvarez Date: Fri, 2 Nov 2018 17:45:48 -0400 Subject: [PATCH] Update index.d.ts --- types/prompts/index.d.ts | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/types/prompts/index.d.ts b/types/prompts/index.d.ts index 1bc9c0ca66..b5b9f38285 100644 --- a/types/prompts/index.d.ts +++ b/types/prompts/index.d.ts @@ -6,7 +6,10 @@ export = prompts; -declare function prompts(questions: prompts.PromptObject | Array>, options?: prompts.Options): prompts.Answers; +declare function prompts( + questions: prompts.PromptObject | Array>, + options?: prompts.Options +): Promise>; declare namespace prompts { // Circular reference from prompts @@ -15,8 +18,7 @@ declare namespace prompts { function inject(obj: any): void; namespace inject { - const prototype: { - }; + const prototype: {}; } namespace prompts { @@ -52,14 +54,14 @@ declare namespace prompts { } interface PromptObject { - type: string | ((prev: any, values: any, prompt: PromptObject) => void); - name: T | ((prev: any, values: any, prompt: PromptObject) => void); - message?: string | ((prev: any, values: any, prompt: PromptObject) => void); + type: ValueOrFunc; + name: ValueOrFunc; + message?: ValueOrFunc; initial?: string; style?: string; - format?: ((prev: any, values: any, prompt: PromptObject) => void); - validate?: ((prev: any, values: any, prompt: PromptObject) => void); - onState?: ((prev: any, values: any, prompt: PromptObject) => void); + format?: PrevCaller; + validate?: PrevCaller; + onState?: PrevCaller; min?: number; max?: number; float?: boolean; @@ -74,5 +76,13 @@ declare namespace prompts { limit?: number; } - type Answers = { [id in T]: string }; + type Answers = { [id in T]: any }; + + type PrevCaller = ( + prev: any, + values: Answers, + prompt: PromptObject + ) => R; + + type ValueOrFunc = T | PrevCaller; }