JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 108
  • Score
    100M100P100Q69117F
  • License ISC

Option selector for interactive shell application

Package Exports

  • node-option

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-option) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

node-option

An item selection module for interactive shell applications.

Installation

npm install node-option

API

add(text, value)

Adds the options that you want to select.

If no value is given, the given text will be a value.

render()

Displays a options on the shell and allows the user to select.

Usage

Javascript

const Selector = require('node-option');

const selector = new Selector({
  markWrapperColor: 'blue',
  checkedMarkColor: 'white',
  textColor: 'yellow',
  multiselect: true,
});

const result = selector
                .add('One')
                .add('Two')
                .add('Three')
                .add('Four')
                .render();

result.then((value) => {
  console.log(value);
}, (error) => {
  console.log(error);
});

Typescript

import Selector from 'node-option';

const selector = new Selector({
    markWrapperColor: 'blue',
    checkedMarkColor: 'white',
    textColor: 'yellow',
    multiselect: true,
});

const result = selector
    .add('One')
    .add('Two')
    .add('Three')
    .add('Four')
    .render();

result.then((value) => {
    console.log(value);
}, (error) => {
    console.error(error);
})

Configuration

node-option uses chalk to styling. You can check available colors here.

{
    cursor: '>',                  // string to item cursor
    checkedMark: '✓',             // string to mark of selected item
    uncheckedMark: ' ',           // string to mark of unselected item
    markWrapperLeft: '[',         // string to the left of the checked/unchecked mark
    markWrapperRight: ']',        // string to the right of the checked/unchecked mark
    cursorColor: 'cyan',          // color of cursor
    checkedMarkColor: 'green',    // color of checked mark
    uncheckedMarkColor: 'black',  // color of cunhecked mark
    markWrapperColor: 'white',    // color of markWrapperLeft and markWrapperRight
    textColor: 'yellow',          // color of item text
    multiselect: true,            // whether to allow select multiple items
    highlight: true,              // whether to highlight item that cursor points
}
`