Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

prompt-question

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

prompt-question - npm Package Compare versions

Comparing version 4.0.3 to 5.0.0

68

index.js

@@ -59,6 +59,2 @@ 'use strict';

});
if (!utils.isString(this.name)) {
throw new TypeError('expected name to be a non-empty string');
}
}

@@ -219,7 +215,38 @@

/**
* Getter that returns the list of choices for the
* current question, if applicable.
* Getter/setter for the checkbox symbols to use.
*
* ```js
* var question = new Question({
* name: 'foo',
* checkbox: {off: '[ ]', on: '[x]', disabled: 'X'}
* });
* // or
* question.checkbox = {off: '[ ]', on: '[x]', disabled: 'X'};
* ```
* @name .checkbox
* @return {Object} Checkbox object with `.on`, `.off` and `.disabled` properties.
* @api public
*/
Object.defineProperty(Question.prototype, 'checkbox', {
set: function(checkbox) {
if (isObject(checkbox)) {
throw new TypeError('expected checkbox symbols to be an object');
}
this.choices.checkbox = checkbox;
},
get: function() {
return this.choices.checkbox;
}
});
/**
* Getter/setter for getting and setting choices (if applicable).
*
* ```js
* var question = new Question();
* question.choices = ['a', 'b', 'c'];
* ```
* @name .choices
* @return {Array}
* @return {Object} Returns an instance of [prompt-choices]
* @api public

@@ -232,8 +259,14 @@ */

set: function(choices) {
define(this, '_choices', new Choices(choices, this));
define(this, '_choices', choices);
},
get: function() {
if (typeof this._choices === 'function') {
this._choices = this._choices.call(this);
}
if (this._choices == null) {
define(this, '_choices', new Choices(this.options.choices, this));
define(this, '_choices', this.options.choices);
}
if (!(this._choices instanceof Choices)) {
this._choices = new Choices(this._choices, this);
}
return this._choices;

@@ -244,4 +277,11 @@ }

/**
* Returns true if `question` is a valid question object.
* Static method that returns true if `question` is a valid question object.
*
* ```js
* console.log(Question.isQuestion('foo'));
* //=> false
* console.log(Question.isQuestion(new Question('What is your name?')));
* //=> true
* ```
* @name Question.isQuestion
* @param {Object} `question`

@@ -257,3 +297,3 @@ * @return {Boolean}

/**
* Create a new `Choices` object. See [prompt-choices][]
* Static method for creating a new `Choices` object. See [prompt-choices][]
* for more details.

@@ -264,2 +304,3 @@ *

* ```
* @name Question.choices
* @param {Array} `choices` Array of choices

@@ -273,4 +314,4 @@ * @return {Object} Returns an intance of Choices.

/**
* Create a new `Separator` object. See [choices-separator][]
* for more details.
* Static method for creating a new `Separator` object.
* See [choices-separator][] for more details.
*

@@ -280,2 +321,3 @@ * ```js

* ```
* @name Question.Separator
* @param {String} `separator` Optionally pass a string to use as the separator.

@@ -282,0 +324,0 @@ * @return {Object} Returns a separator object.

2

package.json
{
"name": "prompt-question",
"description": "Question object, used by Enquirer and prompt plugins.",
"version": "4.0.3",
"version": "5.0.0",
"homepage": "https://github.com/enquirer/prompt-question",

@@ -6,0 +6,0 @@ "author": "Jon Schlinkert (https://github.com/jonschlinkert)",

@@ -34,4 +34,218 @@ # prompt-question [![NPM version](https://img.shields.io/npm/v/prompt-question.svg?style=flat)](https://www.npmjs.com/package/prompt-question) [![NPM monthly downloads](https://img.shields.io/npm/dm/prompt-question.svg?style=flat)](https://npmjs.org/package/prompt-question) [![NPM total downloads](https://img.shields.io/npm/dt/prompt-question.svg?style=flat)](https://npmjs.org/package/prompt-question) [![Linux Build Status](https://img.shields.io/travis/enquirer/prompt-question.svg?style=flat&label=Travis)](https://travis-ci.org/enquirer/prompt-question)

## API
### [Question](index.js#L29)
Create a new question with the given `name`, `message` and `options`.
**Params**
* `name` **{String|Object}**: Question name or options.
* `message` **{String|Object}**: Question message or options.
* `options` **{String|Object}**: Question options.
**Example**
```js
var question = new Question('first', 'What is your first name?');
console.log(question);
// {
// type: 'input',
// name: 'color',
// message: 'What is your favorite color?'
// }
```
### [.clone](index.js#L71)
Clone the question instance.
* `returns` **{Object}**: Returns the cloned question
**Example**
```js
var clonedQuestion = question.clone();
```
### [.addChoices](index.js#L95)
Add formatted choice objects to the `question.choices` array. See [prompt-choices](https://github.com/enquirer/prompt-choices) for more details.
**Params**
* `choices` **{String|Array}**: One or more choices to add.
* `returns` **{Object}**: Returns the question instance for chaining
**Example**
```js
question.addChoices(['foo', 'bar', 'baz']);
```
### [.addChoice](index.js#L112)
Add a choice to `question.choices` array. See [prompt-choices](https://github.com/enquirer/prompt-choices) for more details.
**Params**
* `choice` **{String|Object}**
* `returns` **{Object}**: Returns the question instance for chaining
**Example**
```js
question.addChoice('foo');
```
### [.getDefault](index.js#L142)
Returns the given `val` or `question.default` if `val` is undefined or null.
**Params**
* `val` **{any}**
* `returns` **{any}**
**Example**
```js
var question = new Question({
name: 'first',
message: 'First name'?,
default: 'Bob'
});
console.log(question.getAnswer());
//=> 'Bob'
console.log(question.getAnswer('Joe'));
//=> 'Joe'
console.log(question.getAnswer(false));
//=> false
console.log(question.getAnswer(0));
//=> 0
```
### [.getChoice](index.js#L186)
Get the given choice from `questions.choices`.
**Params**
* `val` **{any}**
* `returns` **{any}**
**Example**
```js
var Question = require('prompt-question');
var question = new Question('color', 'What is your favorite color?', {
choices: ['red', 'blue', 'yellow']
});
console.log(question.getChoice('red'));
//=> Choice { name: 'red', short: 'red', value: 'red', checked: false }
```
### [.separator](index.js#L195)
Create a separator using [choices-separator](https://github.com/enquirer/choices-separator).
### [.hasDefault](index.js#L207)
Getter that returns true if a `default` value has been defined.
* `returns` **{Boolean}**: True if a default value is defined.
### [.checkbox](index.js#L229)
Getter/setter for the checkbox symbols to use.
* `returns` **{Object}**: Checkbox object with `.on`, `.off` and `.disabled` properties.
**Example**
```js
var question = new Question({
name: 'foo',
checkbox: {off: '[ ]', on: '[x]', disabled: 'X'}
});
// or
question.checkbox = {off: '[ ]', on: '[x]', disabled: 'X'};
```
### [.choices](index.js#L253)
Getter/setter for getting and setting choices (if applicable).
* `returns` **{Object}**: Returns an instance of [prompt-choices](https://github.com/enquirer/prompt-choices)
**Example**
```js
var question = new Question();
question.choices = ['a', 'b', 'c'];
```
### [.Question.isQuestion](index.js#L288)
Static method that returns true if `question` is a valid question object.
**Params**
* `question` **{Object}**
* `returns` **{Boolean}**
**Example**
```js
console.log(Question.isQuestion('foo'));
//=> false
console.log(Question.isQuestion(new Question('What is your name?')));
//=> true
```
### [.Question.choices](index.js#L305)
Static method for creating a new `Choices` object. See [prompt-choices](https://github.com/enquirer/prompt-choices) for more details.
**Params**
* `choices` **{Array}**: Array of choices
* `returns` **{Object}**: Returns an intance of Choices.
**Example**
```js
var choices = new Question.Choices(['foo', 'bar', 'baz']);
```
### [.Question.Separator](index.js#L320)
Static method for creating a new `Separator` object. See [choices-separator](https://github.com/enquirer/choices-separator) for more details.
**Params**
* `separator` **{String}**: Optionally pass a string to use as the separator.
* `returns` **{Object}**: Returns a separator object.
**Example**
```js
new Question.Separator();
```
## Release history
### v5.0.0
* Support `.choices` as a function
### v4.0.0
* bumps [prompt-choices](https://github.com/enquirer/prompt-choices)
### v3.0.0
* bumps [prompt-choices](https://github.com/enquirer/prompt-choices)
### v2.0.0

@@ -88,2 +302,2 @@

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on June 04, 2017._
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 08, 2017._

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc