# to-choices

> Easily create a normalized inquirer choices question. Supports all of the `choices` question types: checkbox, list, rawlist, expand

Latest version **0.2.0** (published 2016-02-27) · MIT license · 0 weekly downloads

## Install

```sh
npm install to-choices
pnpm add to-choices
yarn add to-choices
bun add to-choices
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.0 |
| Published | 2016-02-27 |
| First published | 2015-11-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.10.0 |
| Dependencies | 2 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5 |
| Author | Jon Schlinkert |
| Maintainers | jonschlinkert |
| Keywords | array, ask, choice, choices, cli, inquirer, prompt, question |

## Links

- npm: https://www.npmjs.com/package/to-choices
- Repository: https://github.com/generate/to-choices
- Issues: https://github.com/generate/to-choices/issues
- npm.io page: https://npm.io/package/to-choices

## Dependencies (2)

- [ansi-gray](https://npm.io/package/ansi-gray.md) ^0.1.1
- [mixin-deep](https://npm.io/package/mixin-deep.md) ^1.1.3

## Alternatives

- [localforage](https://npm.io/package/localforage.md) — 6.2M weekly downloads
- [localforage-observable](https://npm.io/package/localforage-observable.md) — 30.8K weekly downloads
- [@y/y](https://npm.io/package/@y/y.md) — 30.1K weekly downloads
- [@metaobjectsdev/render](https://npm.io/package/@metaobjectsdev/render.md) — 3.5K weekly downloads
- [@ledgerhq/coin-algorand](https://npm.io/package/@ledgerhq/coin-algorand.md) — 1.1K weekly downloads

## Recent versions

- 0.2.0 (latest) — 2016-02-27
- 0.1.3 — 2016-02-27
- 0.1.1 — 2015-11-29
- 0.1.0 — 2015-11-29

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

---
_Source: https://npm.io/package/to-choices · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
