Socket
Socket
Sign inDemoInstall

figures

Package Overview
Dependencies
2
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

figures

Unicode symbols with fallbacks for older terminals


Version published
Maintainers
1
Weekly downloads
32,748,293
decreased by-9.18%

Weekly downloads

Package description

What is figures?

The figures npm package provides a set of unicode symbols with fallbacks to ASCII characters for better compatibility across different platforms. It allows developers to enhance the visual appeal and readability of their console output without worrying about cross-platform issues.

What are figures's main functionalities?

Cross-platform symbols

This feature allows the use of symbols like ticks and crosses, with automatic fallbacks to simpler ASCII characters on platforms that do not support the more complex unicode symbols. The code sample demonstrates how to use the tick and cross symbols.

"use strict";\nconst figures = require('figures');\nconsole.log(figures.tick, figures.cross);

Customizable symbol fallbacks

Developers can customize the fallbacks for symbols, providing an alternative character for environments that do not support the default unicode symbol. This code sample shows how to replace the default tick symbol with a custom character.

"use strict";\nconst figures = require('figures');\nfigures.replace({ tick: '√' });\nconsole.log(figures.tick);

Other packages similar to figures

Readme

Source

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, {replaceSymbols, mainSymbols, fallbackSymbols} from 'figures';

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

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

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

console.log(figures.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)

Returns the input with replaced fallback Unicode symbols on older terminals.

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.

Figures

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

NameMainFallback
tick
infoi
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
oneSeventh1/7
oneEighth
oneNinth1/9
oneTenth1/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.


Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.

Keywords

FAQs

Last updated on 25 Mar 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc