UNPKG

@google/dscc-gen

Version:

Create component & connector projects with sane defaults.

25 lines (23 loc) 753 B
import * as inquirer from 'inquirer'; import * as analytics from './analytics'; import * as util from './util'; export const prompt = <T>( questions: inquirer.QuestionCollection<T> ): Promise<T> => { const promptPromise: Promise<T> = inquirer.prompt(questions); // This is a hackey workaround until https://github.com/SBoudrias/Inquirer.js/issues/293 is fixed. const ui = (promptPromise as any).ui; const rl = ui.rl; // remove the original onForceClose listener. rl.removeListener('SIGINT', ui.onForceClose); rl.on('SIGINT', () => { analytics.trackEvent( analytics.Category.EXECUTION, analytics.Action.SIGINT_STOP ); util.pause(200).then(() => { ui.onForceClose(); }); }); return promptPromise; };