first
This commit is contained in:
36
node_modules/enquirer/lib/prompts/list.js
generated
vendored
Normal file
36
node_modules/enquirer/lib/prompts/list.js
generated
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
'use strict';
|
||||
|
||||
const StringPrompt = require('../types/string');
|
||||
|
||||
class ListPrompt extends StringPrompt {
|
||||
constructor(options = {}) {
|
||||
super(options);
|
||||
this.sep = this.options.separator || /, */;
|
||||
this.initial = options.initial || '';
|
||||
}
|
||||
|
||||
split(input = this.value) {
|
||||
return input ? String(input).split(this.sep) : [];
|
||||
}
|
||||
|
||||
format() {
|
||||
let style = this.state.submitted ? this.styles.primary : val => val;
|
||||
return this.list.map(style).join(', ');
|
||||
}
|
||||
|
||||
async submit(value) {
|
||||
let result = this.state.error || await this.validate(this.list, this.state);
|
||||
if (result !== true) {
|
||||
this.state.error = result;
|
||||
return super.submit();
|
||||
}
|
||||
this.value = this.list;
|
||||
return super.submit();
|
||||
}
|
||||
|
||||
get list() {
|
||||
return this.split();
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ListPrompt;
|
Reference in New Issue
Block a user