https://github.com/generate/to-choices
Generate an inquirer choices question from an array.
https://github.com/generate/to-choices
Last synced: 12 months ago
JSON representation
Generate an inquirer choices question from an array.
- Host: GitHub
- URL: https://github.com/generate/to-choices
- Owner: generate
- License: mit
- Created: 2015-11-29T20:49:58.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-27T20:51:40.000Z (over 10 years ago)
- Last Synced: 2025-04-14T11:44:54.968Z (about 1 year ago)
- Language: JavaScript
- Size: 13.7 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# to-choices [](https://www.npmjs.com/package/to-choices) [](https://travis-ci.org/generate/to-choices)
> Easily create a normalized inquirer choices question. Supports all of the `choices` question types: checkbox, list, rawlist, expand
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install to-choices --save
```
## Heads up!
**Breaking changes made in v02.0!**
The main export now returns a function that takes an options object and, when called, returns the `toChoices` function to be usef for creating the question object.
## Usage
```js
var toChoices = require('to-choices')([options]);
var question = toChoices('foo', ['a', 'b', 'c']);
console.log(question);
```
The default `type` is `checkbox`, so the above code results in:
```js
{ type: 'checkbox',
name: 'foo',
message: 'foo',
choices:
[ { name: 'all', value: ['a', 'b', 'c'] },
{ type: 'separator', line: '\u001b[90m————\u001b[39m' },
{ name: 'a' },
{ name: 'b' },
{ name: 'c' } ] }
```
## Supported question types
In addition to `checkbox`, the following types are also supported:
* `expand`
* `list`
* `rawlist`
Signature and all params are the same. Just pass the `type` to the main export.
**Example**
Create a `list` question:
```js
var toQuestions = require('to-choices')({type: 'list'});
var question = toChoices('favorite color?', [
'red',
'blue',
'green'
]);
console.log(question);
```
Results in:
```js
{ type: 'list',
choices: [ 'red', 'blue', 'green' ],
name: 'favorite color',
message: 'favorite color' }
```
See the [inquirer2](https://github.com/jonschlinkert/inquirer2) documentation for more details about question objects and supported properties.
## Related projects
* [answer-store](https://www.npmjs.com/package/answer-store): Store answers to user prompts, based on locale and/or current working directory. | [homepage](https://github.com/jonschlinkert/answer-store)
* [question-store](https://www.npmjs.com/package/question-store): Ask questions, persist the answers. Basic support for i18n and storing answers based on current… [more](https://www.npmjs.com/package/question-store) | [homepage](https://github.com/jonschlinkert/question-store)
## Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/to-choices/issues/new).
## Building docs
Generate readme and API documentation with [verb](https://github.com/verbose/verb):
```sh
$ npm install verb && npm run docs
```
Or, if [verb](https://github.com/verbose/verb) is installed globally:
```sh
$ verb
```
## Running tests
Install dev dependencies:
```sh
$ npm install -d && npm test
```
## Author
**Jon Schlinkert**
* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
## License
Copyright © 2016 [Jon Schlinkert](https://github.com/jonschlinkert)
Released under the [MIT license](https://github.com/generate/to-choices/blob/master/LICENSE).
***
_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on February 27, 2016._