relaycode
Version:
A developer assistant that automates applying code changes from LLMs.
1 lines • 1.73 kB
Source Map (JSON)
{"version":3,"sources":["../../src/utils/prompt.ts"],"names":["getConfirmation","question","resolve","logger","onData","text","cleanedText","createConfirmationHandler","options","prompter"],"mappings":"4CAIO,MAAMA,EAA6BC,CAAAA,EACjC,IAAI,OAAA,CAAQC,CAAAA,EAAW,CAC5BC,aAAAA,CAAO,MAAA,CAAOF,CAAQ,CAAA,CACtB,QAAQ,KAAA,CAAM,WAAA,CAAY,MAAM,CAAA,CAChC,OAAA,CAAQ,KAAA,CAAM,MAAA,EAAO,CACrB,MAAMG,CAAAA,CAAUC,CAAAA,EAAiB,CAC/B,MAAMC,EAAcD,CAAAA,CAAK,IAAA,EAAK,CAAE,WAAA,GAE9BH,CAAAA,CADEI,CAAAA,GAAgB,GAAA,EAAOA,CAAAA,GAAgB,KAC7B,CAAA,CAId,OAAA,CAAQ,KAAA,CAAM,OAAM,CACpB,OAAA,CAAQ,KAAA,CAAM,cAAA,CAAe,OAAQF,CAAM,EAC7C,CAAA,CACA,OAAA,CAAQ,MAAM,EAAA,CAAG,MAAA,CAAQA,CAAM,EACjC,CAAC,CAAA,CAGUG,CAAAA,CAA4B,CAACC,EAA6B,EAAC,CAAGC,CAAAA,GACrED,CAAAA,CAAQ,IACH,IAAM,OAAA,CAAQ,OAAA,CAAQ,IAAI,EAE5BC,CAAAA,EAAYT","file":"prompt.cjs","sourcesContent":["import { logger } from './logger';\n\nexport type Prompter = (question: string) => Promise<boolean>;\n\nexport const getConfirmation: Prompter = (question: string) => {\n return new Promise(resolve => {\n logger.prompt(question);\n process.stdin.setEncoding('utf8');\n process.stdin.resume();\n const onData = (text: string) => {\n const cleanedText = text.trim().toLowerCase();\n if (cleanedText === 'y' || cleanedText === 'yes') {\n resolve(true);\n } else {\n resolve(false);\n }\n process.stdin.pause();\n process.stdin.removeListener('data', onData);\n };\n process.stdin.on('data', onData);\n });\n};\n\nexport const createConfirmationHandler = (options: { yes?: boolean } = {}, prompter?: Prompter): Prompter => {\n if (options.yes) {\n return () => Promise.resolve(true);\n }\n return prompter || getConfirmation;\n};"]}