# 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._