figures

6.1.0last stable release 1 year ago
Complexity Score
Low
Open Issues
1
Dependent Projects
1,374
Weekly Downloadsglobal
40,538,526

License

  • MIT
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Nopatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant

Downloads

Readme

figures

Unicode symbols with fallbacks for older terminals

and more…

Terminals such as Windows Console Host (and CMD) only support a limited character set.

Install

npm install figures

Usage

import figures, {mainSymbols, fallbackSymbols, replaceSymbols} from 'figures';

console.log(figures.tick);
// On terminals with Unicode symbols:  ✔
// On other terminals:                 √

console.log(mainSymbols.tick);
// On all terminals:  ✔

console.log(fallbackSymbols.tick);
// On all terminals:  √

console.log(replaceSymbols('✔ check'));
// On terminals with Unicode symbols:  ✔ check
// On other terminals:                 √ check

API

figures (default export)

Type: object

Symbols to use on any terminal.

mainSymbols

Symbols to use when the terminal supports Unicode symbols.

fallbackSymbols

Symbols to use when the terminal does not support Unicode symbols.

replaceSymbols(string, options?)

Returns the input with replaced fallback symbols if the terminal has poor Unicode support.

All the below figures are attached to the default export as shown in the example above.

string

Type: string

String where the Unicode symbols will be replaced with fallback symbols depending on the terminal.

options

Type: object

useFallback

Type: boolean
Default: true if the terminal has poor Unicode support

Whether to replace symbols with fallbacks.

This can be set to true to always use fallback symbols, whether the terminal has poor Unicode support or not.

import {replaceSymbols} from 'figures';

console.log(replaceSymbols('✔ check', {useFallback: true}));
// On terminals with Unicode symbols:  √ check
// On other terminals:                 √ check

Figures

Fallback characters are only shown when they differ from the Main ones.

Name Main Fallback tick info i warning cross × square squareSmall squareSmallFilled squareDarkShade squareMediumShade squareLightShade squareTop squareBottom squareLeft squareRight squareCenter circle ( ) circleFilled (*) circleDotted ( ) circleDouble ( ) circleCircle (○) circleCross (×) circlePipe (│) circleQuestionMark ?⃝ (?) radioOn (*) radioOff ( ) checkboxOn [×] checkboxOff [ ] checkboxCircleOn (×) checkboxCircleOff ( ) questionMarkPrefix ?⃝ bullet dot ellipsis pointer > pointerSmall triangleUp triangleUpSmall triangleUpOutline triangleDown triangleDownSmall triangleLeft triangleLeftSmall triangleRight triangleRightSmall lozenge lozengeOutline home hamburger smiley mustache ┌─┐ heart star play musicNote musicNoteBeamed nodejs arrowUp arrowDown arrowLeft arrowRight arrowLeftRight arrowUpDown almostEqual notEqual lessOrEqual greaterOrEqual identical infinity subscriptZero subscriptOne subscriptTwo subscriptThree subscriptFour subscriptFive subscriptSix subscriptSeven subscriptEight subscriptNine oneHalf ½ oneThird oneQuarter ¼ oneFifth oneSixth oneSeventh 1/7 oneEighth oneNinth 1/9 oneTenth 1/10 twoThirds twoFifths threeQuarters ¾ threeFifths threeEighths fourFifths fiveSixths fiveEighths sevenEighths line lineBold lineDouble lineDashed0 lineDashed1 lineDashed2 lineDashed3 lineDashed4 lineDashed5 lineDashed6 lineDashed7 lineDashed8 lineDashed9 lineDashed10 lineDashed11 lineDashed12 lineDashed13 lineDashed14 lineDashed15 lineVertical lineVerticalBold lineVerticalDouble lineVerticalDashed0 lineVerticalDashed1 lineVerticalDashed2 lineVerticalDashed3 lineVerticalDashed4 lineVerticalDashed5 lineVerticalDashed6 lineVerticalDashed7 lineVerticalDashed8 lineVerticalDashed9 lineVerticalDashed10 lineVerticalDashed11 lineDownLeft lineDownLeftArc lineDownBoldLeftBold lineDownBoldLeft lineDownLeftBold lineDownDoubleLeftDouble lineDownDoubleLeft lineDownLeftDouble lineDownRight lineDownRightArc lineDownBoldRightBold lineDownBoldRight lineDownRightBold lineDownDoubleRightDouble lineDownDoubleRight lineDownRightDouble lineUpLeft lineUpLeftArc lineUpBoldLeftBold lineUpBoldLeft lineUpLeftBold lineUpDoubleLeftDouble lineUpDoubleLeft lineUpLeftDouble lineUpRight lineUpRightArc lineUpBoldRightBold lineUpBoldRight lineUpRightBold lineUpDoubleRightDouble lineUpDoubleRight lineUpRightDouble lineUpDownLeft lineUpBoldDownBoldLeftBold lineUpBoldDownBoldLeft lineUpDownLeftBold lineUpBoldDownLeftBold lineUpDownBoldLeftBold lineUpDownBoldLeft lineUpBoldDownLeft lineUpDoubleDownDoubleLeftDouble lineUpDoubleDownDoubleLeft lineUpDownLeftDouble lineUpDownRight lineUpBoldDownBoldRightBold lineUpBoldDownBoldRight lineUpDownRightBold lineUpBoldDownRightBold lineUpDownBoldRightBold lineUpDownBoldRight lineUpBoldDownRight lineUpDoubleDownDoubleRightDouble lineUpDoubleDownDoubleRight lineUpDownRightDouble lineDownLeftRight lineDownBoldLeftBoldRightBold lineDownLeftBoldRightBold lineDownBoldLeftRight lineDownBoldLeftBoldRight lineDownBoldLeftRightBold lineDownLeftRightBold lineDownLeftBoldRight lineDownDoubleLeftDoubleRightDouble lineDownDoubleLeftRight lineDownLeftDoubleRightDouble lineUpLeftRight lineUpBoldLeftBoldRightBold lineUpLeftBoldRightBold lineUpBoldLeftRight lineUpBoldLeftBoldRight lineUpBoldLeftRightBold lineUpLeftRightBold lineUpLeftBoldRight lineUpDoubleLeftDoubleRightDouble lineUpDoubleLeftRight lineUpLeftDoubleRightDouble lineUpDownLeftRight lineUpBoldDownBoldLeftBoldRightBold lineUpDownBoldLeftBoldRightBold lineUpBoldDownLeftBoldRightBold lineUpBoldDownBoldLeftRightBold lineUpBoldDownBoldLeftBoldRight lineUpBoldDownLeftRight lineUpDownBoldLeftRight lineUpDownLeftBoldRight lineUpDownLeftRightBold lineUpBoldDownBoldLeftRight lineUpDownLeftBoldRightBold lineUpBoldDownLeftBoldRight lineUpBoldDownLeftRightBold lineUpDownBoldLeftBoldRight lineUpDownBoldLeftRightBold lineUpDoubleDownDoubleLeftDoubleRightDouble lineUpDoubleDownDoubleLeftRight lineUpDownLeftDoubleRightDouble lineCross lineBackslash lineSlash

Other characters

If you cannot find the character you’re looking for in the table above, please look at this full list of cross-platform terminal characters.

Unsupported terminals

The following terminals are not officially supported:

  • xterm
  • Linux Terminal (kernel)
  • cmder

They can display most but not all of the symbols listed above.

Related

  • log-symbols - Colored symbols for various log levels

Dependencies

CVE IssuesActive
0
Scorecards Score
4.60
Test Coverage
No Data
Follows Semver
Yes
Github Stars
599
Dependenciestotal
4
DependenciesOutdated
3
DependenciesDeprecated
0
Threat Modelling
No
Repo Audits
No

Learn how to distribute figures in your own private NPM registry

npm config set registry  https://npm.cloudsmith.com/owner/repo
Processing...
Done
npm install figures
Processing...
Done

25 Releases

NPM on Cloudsmith

Getting started with NPM on Cloudsmith is fast and easy.