Skip to content

zhaodeezhu/cover-shell-question

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cover-shell-question命令答询

在node中经常会遇到命令答询,找遍网上没有即轻量又满足需要的,所以决定自己维护一个

使用

// npm i cover-shell-question --save

const ShellQuestion = require('cover-shell-question');

const quesList = [
  {
    handle: (value) => {console.log(value)},
    type: 'input',
    question: '您的名字是?'
  }
  {
    handle: (value) => {console.log(value)},
    type: 'select',
    question: '您的性别是?',
    options: ['m', 'w']
  }
]

const shellQ = new ShellQuestion(arr);

shellQ.start();

quesList说明

interface IList {
	/** 输入正确以后要执行的方法 */
	handle: (value: string, context?: string[]) => void;
	/** 问答类型 */
	type: 'input' | 'select';
	/** 问题 */
	question: string;
	/** 选项,type = select时必填 */
	options?: string[];
  /** 问题的文字颜色风格 */
  color?: keyof typeof colorAll;
}

color说明

const colorAll = {
  black: colors.black,
  red: colors.red,
  green: colors.green,
  yellow: colors.yellow,
  blue: colors.blue,
  magenta: colors.magenta,
  cyan: colors.cyan,
  white: colors.white,
  gray: colors.gray,
  grey: colors.grey,
  'red.underline': colors.red.underline,
  'black.underline': colors.black.underline,
  'green.underline': colors.green.underline,
  'yellow.underline': colors.yellow.underline,
  'blue.underline': colors.blue.underline,
  'magenta.underline': colors.magenta.underline,
  'cyan.underline': colors.cyan.underline,
  'white.underline': colors.white.underline,
  'gray.underline': colors.gray.underline,
  'grey.underline': colors.grey.underline,
  bgBlack: colors.bgBlack,
  bgRed: colors.bgRed,
  bgGreen: colors.bgGreen,
  bgYellow: colors.bgYellow,
  bgBlue: colors.bgBlue,
  bgMagenta: colors.bgMagenta,
  bgCyan: colors.bgCyan,
  bgWhite: colors.bgWhite,
  reset: colors.reset,
  bold: colors.bold,
  dim: colors.dim,
  italic: colors.italic,
  underline: colors.underline,
  inverse: colors.inverse,
  hidden: colors.hidden,
  strikethrough: colors.strikethrough
}

ShellQuestion 对象说明

方法

start 开始执行轮训问答

shellQ.start();

addListener 监听执行成功事件

shellQ.addListener('success', (context) => {
  // 所有问题的答案
  console.log(context);
})

效果图如下

alt

About

命令行答询工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published