mirror of
https://github.com/actions/setup-java.git
synced 2025-04-20 18:06:45 +00:00
Fix.
This commit is contained in:
parent
596a6da241
commit
c1a589c5b6
7078 changed files with 1882834 additions and 319 deletions
87
node_modules/prompts/lib/elements/confirm.js
generated
vendored
Normal file
87
node_modules/prompts/lib/elements/confirm.js
generated
vendored
Normal file
|
@ -0,0 +1,87 @@
|
|||
const color = require('kleur');
|
||||
const Prompt = require('./prompt');
|
||||
const { style } = require('../util');
|
||||
const { erase, cursor } = require('sisteransi');
|
||||
|
||||
/**
|
||||
* ConfirmPrompt Base Element
|
||||
* @param {Object} opts Options
|
||||
* @param {String} opts.message Message
|
||||
* @param {Boolean} [opts.initial] Default value (true/false)
|
||||
* @param {Stream} [opts.stdin] The Readable stream to listen to
|
||||
* @param {Stream} [opts.stdout] The Writable stream to write readline data to
|
||||
* @param {String} [opts.yes] The "Yes" label
|
||||
* @param {String} [opts.yesOption] The "Yes" option when choosing between yes/no
|
||||
* @param {String} [opts.no] The "No" label
|
||||
* @param {String} [opts.noOption] The "No" option when choosing between yes/no
|
||||
*/
|
||||
class ConfirmPrompt extends Prompt {
|
||||
constructor(opts={}) {
|
||||
super(opts);
|
||||
this.msg = opts.message;
|
||||
this.value = opts.initial;
|
||||
this.initialValue = !!opts.initial;
|
||||
this.yesMsg = opts.yes || 'yes';
|
||||
this.yesOption = opts.yesOption || '(Y/n)';
|
||||
this.noMsg = opts.no || 'no';
|
||||
this.noOption = opts.noOption || '(y/N)';
|
||||
this.render();
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.value = this.initialValue;
|
||||
this.fire();
|
||||
this.render();
|
||||
}
|
||||
|
||||
abort() {
|
||||
this.done = this.aborted = true;
|
||||
this.fire();
|
||||
this.render();
|
||||
this.out.write('\n');
|
||||
this.close();
|
||||
}
|
||||
|
||||
submit() {
|
||||
this.value = this.value || false;
|
||||
this.done = true;
|
||||
this.aborted = false;
|
||||
this.fire();
|
||||
this.render();
|
||||
this.out.write('\n');
|
||||
this.close();
|
||||
}
|
||||
|
||||
_(c, key) {
|
||||
if (c.toLowerCase() === 'y') {
|
||||
this.value = true;
|
||||
return this.submit();
|
||||
}
|
||||
if (c.toLowerCase() === 'n') {
|
||||
this.value = false;
|
||||
return this.submit();
|
||||
}
|
||||
return this.bell();
|
||||
}
|
||||
|
||||
render() {
|
||||
if (this.closed) return;
|
||||
if (this.firstRender) this.out.write(cursor.hide);
|
||||
super.render();
|
||||
|
||||
this.out.write(
|
||||
erase.line +
|
||||
cursor.to(0) +
|
||||
[
|
||||
style.symbol(this.done, this.aborted),
|
||||
color.bold(this.msg),
|
||||
style.delimiter(this.done),
|
||||
this.done
|
||||
? this.value ? this.yesMsg : this.noMsg
|
||||
: color.gray(this.initialValue ? this.yesOption : this.noOption)
|
||||
].join(' ')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ConfirmPrompt;
|
Loading…
Add table
Add a link
Reference in a new issue