0.0.5 • Published 8 years ago

@joegesualdo/multi-prompt-node v0.0.5

Weekly downloads
-
License
-
Repository
github
Last release
8 years ago

multi-prompt Build Status

Multiple command line prompts.

Install

$ npm install --save @joegesualdo/multi-prompt-node

demo

Usage

import MultiPrompt from '@joegesualdo/multi-prompt-node';

const questions = [
  {
    prompt: `What's your name?`,
  },
  {
    prompt: `How old are you?`,
  },
]

new MultiPrompt(questions)
.on('done', result => {
  console.log(result)
})
.begin()

Test

$ npm test

API

MultiPrompt(prompts, [options])

Instantiates a new prompt

Params

NameTypeDefaultDescription
promptsArray<Object>[]An object representing properties of a prompt
optionsObject{}Configuration options

Example Promp Object:

{
  identifier: 'who',
  prompt: ` Where do you live?`,
  dependent: {
    question: 'language',
    answers: [
      'ruby'
    ]
  },
  validation: (answer) => {
    return ['node', 'ruby'].indexOf(answer) !== -1;
  }
  onDone: (answer) => {
    return 'I am no one :-)'
  }
}

Options

NameTypeDefaultDescription
indentNumber2How many spaces do you want the prompts to be indented

Returns: multiPrompt

multiPrompt.begin()

Starts the prompt

import MultiPrompt from '@joegesualdo/multi-prompt-node'

const questions = [
  {
    prompt: `What's your name?`,
  },
  {
    prompt: `How old are you?`,
  },
]

new MultiPrompt(questions, {
  indent: 4,
})
.on('done', result=> {
  console.log(result)
})
.begin()

multiPrompt.on(type, fn)

Sets lifecycle methods

Params

NameTypeDefaultDescriptionPossible values
typeStringN/AThe lifecycle namedone
fnFunctionN/AFunction to runN/A
import MultiPrompt from '@joegesualdo/multi-prompt-node'

const questions = [
  {
    prompt: `What's your name?`,
  },
  {
    prompt: `How old are you?`,
  },
]

new MultiPrompt(questions)
.on('done', result=> {
  console.log(result)
})
.begin()

Build

$ npm run build

Related

License

MIT © Joe Gesualdo