An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

# to-choices [![NPM version](https://img.shields.io/npm/v/to-choices.svg)](https://www.npmjs.com/package/to-choices) [![Build Status](https://img.shields.io/travis/generate/to-choices.svg)](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._