diff options
author | cjihrig <cjihrig@gmail.com> | 2018-06-22 23:05:00 -0400 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2018-06-24 12:43:54 -0400 |
commit | 7a3bbbf41be64d04058a158f6986ec5641885f42 (patch) | |
tree | 086e84227091cfc5dfa9eb729f007424cf51feb8 /tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js | |
parent | d5316bc27df87b62675adec517e5dd3108efd1c2 (diff) | |
download | android-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.js | 145 |
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; |