UNPKG

cc-zos

Version:

Command-line interface for the ZeppelinOS smart contract platform

26 lines (22 loc) 726 B
'use strict'; function promptBoolean(question, onTrue, onFalse = () => {}) { const readline = require('readline'); const prompt = readline.createInterface({ input: process.stdin, output: process.stdout }); function recursivePrompt() { prompt.question(`${question} (Y/n): `, async function (answer) { const parsedAnswer = answer.toUpperCase(); if (parsedAnswer === 'Y' || parsedAnswer === '') { prompt.close(); await onTrue(); } else if (parsedAnswer === 'N') { prompt.close(); await onFalse(); } else { console.log('Please enter a valid answer'); recursivePrompt(); } }); } recursivePrompt(); } module.exports = promptBoolean;