UNPKG

snips-sam

Version:

The Snips Assistant Manager

44 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const utils_1 = require("../utils"); const inquirer = require('inquirer'); class Prompt { constructor(stream) { this.waitForKeypress = (question, completionBlock) => tslib_1.__awaiter(this, void 0, void 0, function* () { this.stream.loading(question); return this.waitForInput(completionBlock); }); this.promptList = (name, question, answers) => tslib_1.__awaiter(this, void 0, void 0, function* () { return inquirer.prompt([ { name, type: 'list', message: question, choices: answers, }, ]); }); this.promptQuestions = (questions) => tslib_1.__awaiter(this, void 0, void 0, function* () { const questionsFlat = utils_1.flatMap(questions, value => value); return inquirer.prompt(questionsFlat); }); this.waitForInput = (preBlock) => tslib_1.__awaiter(this, void 0, void 0, function* () { if (process.stdin.setRawMode !== undefined) { process.stdin.setRawMode(true); } return new Promise(resolve => { process.stdin.on('data', input => { if (process.stdin.setRawMode !== undefined) { process.stdin.setRawMode(false); } preBlock(); return resolve(input); }); }); }); this.stream = stream; } } exports.Prompt = Prompt; //# sourceMappingURL=prompt.js.map