@pronix/hyper-flow
Version:
Framework for building progressive console applications on node.js platform
24 lines (20 loc) • 745 B
text/typescript
import { createInterface } from 'readline'
import { ReadlineResponse } from '../types/readline.types'
import { question } from 'readline-sync'
export type Question = (text: string) => Promise<ReadlineResponse>
export const questionAsync: Question = (text = '') => {
const readline = createInterface({
input: process.stdin,
output: process.stdout
})
return new Promise<ReadlineResponse>((resolve, reject) => {
readline.question(text, (answer) => {
readline.close()
resolve(answer)
})
})
}
export const questionSync = (text: string = ''): string => {
return question(text)
}
export default { question, questionAsync, questionSync }