prompto v0.1.0-alpha
Prompto.js
Manage questions and answers throught the node console
Installation
$ npm install promptoFeatures
- Async queue of questions
- Support Array of Objects as choices
- Dynamic selections
- Answer storage
Quick Examples
var prompto = require('../index.js');
whatName = prompto.question({
type: 'input',
message: 'What is your name ?'
});
whatGender = prompto.question({
type: 'list',
message: 'What is your gender ?',
choices: ['male', 'female']
})
prompto.start([whatName, whatGender], function(err){
if (err) return console.error(err);
var prefix = (whatGender.lastAnswer() === 'male') ? 'Mister' : 'Miss';
console.log('Welcome ' + prefix + ' ' + whatName.lastAnswer() + '!');
});Documentation
The required promptoobject has two properties : question and start.
prompto.question(properties)
Creates a new question with the given properties. See properties.
Example
whatName = prompto.question({
type: 'input',
message: 'What is your name ?',
required: true
});
whatGender = prompto.question({
type: 'list',
message: 'What is your gender ?',
choices: ['male', 'female']
});prompto.start(candidates, callback)
Creates a queue object of candidates. Questions added to the queue are processed in series.
When all questions are completed, that callback is called.
Arguments
candidates- Can be a candidate or a array of candidates. See candidatecallback(err)- An error callback to run once all the questions have completed.
Example
prompto.start([whatName, whatGender], function(err){
if (err) return console.error(err);
var prefix = (whatGender.lastAnswer() === 'male') ? 'Mister' : 'Miss';
console.log('Welcome ' + prefix + ' ' + whatName.lastAnswer() + '!');
});Properties
message string
The question to print.
type string
There are 3 different types of question : input, confirm, list.
Input {type: 'input'}
Confirm {type: 'confirm'}
List {type: 'list'}
choices array<choice>
An array of choices. A choice must be an object with properties. Choices can also be passed with candidate. See candidate.
default string
An default value for answer. Works with input and confirm type.
For confirm type, the value must be "true" or "false".
required boolean
If this property is set to true then the question will be asked again if the answer is empty.
preFn function(selector)
The selector object has properties that allow you to perform dynamic selections.
selector.addEach(property)
propertystring The property of each choice you declare as label for selection.
postFn function(lastAnswer, prompter)
The prompter object has properties that allow you to manage the question's queue.
prompter.push(candidates)
candidates- See candidates.
prompter.pause() - A function that pauses the question's queue until resume() is called.
prompter.resume() - A function that resumes the processing when the queue is paused.
Dependencies
License
10 years ago
10 years ago