Skip to content

@inquirer/number

Interactive free number input component for command line interfaces. Supports validation, filtering, transformation, etc.

Special Thanks

Installation

npmyarn
sh
npm install @inquirer/prompts
sh
yarn add @inquirer/prompts
Or
sh
npm install @inquirer/number
sh
yarn add @inquirer/number

Usage

js
import { number } from '@inquirer/prompts';
// Or
// import number from '@inquirer/number';

const answer = await number({ message: 'Enter your age' });

Options

PropertyTypeRequiredDescription
messagestringyesThe question to ask
defaultnumbernoDefault value if no answer is provided (clear it by pressing backspace)
minnumbernoThe minimum value to accept for this input.
maxnumbernoThe maximum value to accept for this input.
stepnumber | 'any'noThe step option is a number that specifies the granularity that the value must adhere to. Only values which are equal to the basis for stepping (min if specified) are valid. This value defaults to 1, meaning by default the prompt will only allow integers.
requiredbooleannoDefaults to false. If set to true, undefined (empty) will not be accepted for this.
validate(number | undefined) => boolean | string | Promise<boolean | string>noOn submit, validate the filtered answered content. When returning a string, it'll be used as the error message displayed to the user. Note: returning a rejected promise, we'll assume a code error happened and crash.
themeSee ThemingnoCustomize look of the prompt.

Theming

You can theme a prompt by passing a theme object option. The theme object only need to includes the keys you wish to modify, we'll fallback on the defaults for the rest.

ts
type Theme = {
  prefix: string | { idle: string; done: string };
  spinner: {
    interval: number;
    frames: string[];
  };
  style: {
    answer: (text: string) => string;
    message: (text: string, status: 'idle' | 'done' | 'loading') => string;
    error: (text: string) => string;
    defaultAnswer: (text: string) => string;
  };
};

许可

Copyright (c) 2023 Simon Boudrias (twitter: @vaxilart)
Licensed under the MIT license.

最后更新于:

评论区
评论区空空如也
发送评论
名字
0 / 20
邮箱
0 / 100
评论内容
0 / 140
由于是非实名评论,所以不提供删除功能。如果你需要删除你发送的评论,或者是其他人的评论对你造成了困扰,请 发邮件给我 。同时评论区会使用 AI + 人工的方式进行审核,以达到合规要求。