Skip to content

super simple synchronous node.js cli prompt using readline-sync with chalk coloring

Notifications You must be signed in to change notification settings

Lokua/synchro-prompt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

synchro-prompt

Wrapper around readline-sync with chalk coloring for synchronous cli prompting.

Install

npm install synchro-prompt

Usage

var prompt = require('synchro-prompt');

var answer = prompt('Enter value: ');
// $ Enter Value: HELLO!
answer; // HELLO!

// or as an array
var answers = prompt(['Name: ', 'Age: ']);
// $ Name: Jane
// $ Age: Doe
answers instanceof Array; // true
answers; // ['Jane', 'Doe']

Options

By default, the prompt coloring is yellow. This can be overriden with any valid chalk color (provided as string), along with an optional transformation callback which can be used to format or validate input.

var options = {
  color: 'magenta',
  transform: function(input) {
    return input.trim().toLowerCase();
  }
};
prompt('Enter something: ', options);

// back to the default no-transform yellow
prompt('And again: ');

You can set the options from one point forward by passing the options hash as the first argument.

// prompt from here on will always use your options
prompt({ 
  color: green, 
  transform: function(input) { 
    return Date.now() + '_' + input; 
  } 
});

prompt('...'); // ie. 1426910954458_something

// but you can still override a single call
prompt('...', { transform: function(input) { return input; }});
// future calls without a second argument will go back to prepending a timestamp

// to restore the factory defaults, call the synchro-prompt fn with no arguments
prompt(); // yellow, no-transform

License

lokua.net/license-mit

About

super simple synchronous node.js cli prompt using readline-sync with chalk coloring

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published