summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2018-06-22 23:05:00 -0400
committercjihrig <cjihrig@gmail.com>2018-06-24 12:43:54 -0400
commit7a3bbbf41be64d04058a158f6986ec5641885f42 (patch)
tree086e84227091cfc5dfa9eb729f007424cf51feb8 /tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
parentd5316bc27df87b62675adec517e5dd3108efd1c2 (diff)
downloadandroid-node-v8-7a3bbbf41be64d04058a158f6986ec5641885f42.tar.gz
android-node-v8-7a3bbbf41be64d04058a158f6986ec5641885f42.tar.bz2
android-node-v8-7a3bbbf41be64d04058a158f6986ec5641885f42.zip
tools: update ESLint to 5.0.0
This is a new major release of ESLint. PR-URL: https://github.com/nodejs/node/pull/20855 Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js')
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js145
1 files changed, 68 insertions, 77 deletions
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
index 2a9a5e2e6a..1b7a79bd57 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
@@ -1,8 +1,8 @@
+'use strict';
/**
* `password` type prompt
*/
-var util = require('util');
var chalk = require('chalk');
var Base = require('./base');
var observe = require('../utils/events');
@@ -17,99 +17,90 @@ function mask(input, maskChar) {
return new Array(input.length + 1).join(maskChar);
}
-/**
- * Module exports
- */
+class PasswordPrompt extends Base {
+ /**
+ * Start the Inquiry session
+ * @param {Function} cb Callback when prompt is done
+ * @return {this}
+ */
-module.exports = Prompt;
+ _run(cb) {
+ this.done = cb;
-/**
- * Constructor
- */
+ var events = observe(this.rl);
-function Prompt() {
- return Base.apply(this, arguments);
-}
-util.inherits(Prompt, Base);
+ // Once user confirm (enter key)
+ var submit = events.line.map(this.filterInput.bind(this));
-/**
- * Start the Inquiry session
- * @param {Function} cb Callback when prompt is done
- * @return {this}
- */
-
-Prompt.prototype._run = function (cb) {
- this.done = cb;
+ var validation = this.handleSubmitEvents(submit);
+ validation.success.forEach(this.onEnd.bind(this));
+ validation.error.forEach(this.onError.bind(this));
- var events = observe(this.rl);
+ if (this.opt.mask) {
+ events.keypress.takeUntil(validation.success).forEach(this.onKeypress.bind(this));
+ }
- // Once user confirm (enter key)
- var submit = events.line.map(this.filterInput.bind(this));
+ // Init
+ this.render();
- var validation = this.handleSubmitEvents(submit);
- validation.success.forEach(this.onEnd.bind(this));
- validation.error.forEach(this.onError.bind(this));
+ return this;
+ }
- if (this.opt.mask) {
- events.keypress.takeUntil(validation.success).forEach(this.onKeypress.bind(this));
+ /**
+ * Render the prompt to screen
+ * @return {PasswordPrompt} self
+ */
+
+ render(error) {
+ var message = this.getQuestion();
+ var bottomContent = '';
+
+ if (this.status === 'answered') {
+ message += this.opt.mask
+ ? chalk.cyan(mask(this.answer, this.opt.mask))
+ : chalk.italic.dim('[hidden]');
+ } else if (this.opt.mask) {
+ message += mask(this.rl.line || '', this.opt.mask);
+ } else {
+ message += chalk.italic.dim('[input is hidden] ');
+ }
+
+ if (error) {
+ bottomContent = '\n' + chalk.red('>> ') + error;
+ }
+
+ this.screen.render(message, bottomContent);
}
- // Init
- this.render();
+ /**
+ * When user press `enter` key
+ */
- return this;
-};
+ filterInput(input) {
+ if (!input) {
+ return this.opt.default == null ? '' : this.opt.default;
+ }
+ return input;
+ }
-/**
- * Render the prompt to screen
- * @return {Prompt} self
- */
+ onEnd(state) {
+ this.status = 'answered';
+ this.answer = state.value;
-Prompt.prototype.render = function (error) {
- var message = this.getQuestion();
- var bottomContent = '';
+ // Re-render prompt
+ this.render();
- if (this.status === 'answered') {
- message += this.opt.mask ? chalk.cyan(mask(this.answer, this.opt.mask)) : chalk.italic.dim('[hidden]');
- } else if (this.opt.mask) {
- message += mask(this.rl.line || '', this.opt.mask);
- } else {
- message += chalk.italic.dim('[input is hidden] ');
+ this.screen.done();
+ this.done(state.value);
}
- if (error) {
- bottomContent = '\n' + chalk.red('>> ') + error;
+ onError(state) {
+ this.render(state.isValid);
}
- this.screen.render(message, bottomContent);
-};
-
-/**
- * When user press `enter` key
- */
-
-Prompt.prototype.filterInput = function (input) {
- if (!input) {
- return this.opt.default == null ? '' : this.opt.default;
+ onKeypress() {
+ this.render();
}
- return input;
-};
-
-Prompt.prototype.onEnd = function (state) {
- this.status = 'answered';
- this.answer = state.value;
-
- // Re-render prompt
- this.render();
-
- this.screen.done();
- this.done(state.value);
-};
-
-Prompt.prototype.onError = function (state) {
- this.render(state.isValid);
-};
+}
-Prompt.prototype.onKeypress = function () {
- this.render();
-};
+module.exports = PasswordPrompt;