You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
	
		
			
				
				
					
						
						
						
							 | 
							
								 | 
							
							'use strict'; | 
						
						
						
						
							 | 
							
								 | 
							
							const escapeStringRegexp = require('escape-string-regexp'); | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							const {platform} = process; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							const main = { | 
						
						
						
						
							 | 
							
								 | 
							
								tick: '✔', | 
						
						
						
						
							 | 
							
								 | 
							
								cross: '✖', | 
						
						
						
						
							 | 
							
								 | 
							
								star: '★', | 
						
						
						
						
							 | 
							
								 | 
							
								square: '▇', | 
						
						
						
						
							 | 
							
								 | 
							
								squareSmall: '◻', | 
						
						
						
						
							 | 
							
								 | 
							
								squareSmallFilled: '◼', | 
						
						
						
						
							 | 
							
								 | 
							
								play: '▶', | 
						
						
						
						
							 | 
							
								 | 
							
								circle: '◯', | 
						
						
						
						
							 | 
							
								 | 
							
								circleFilled: '◉', | 
						
						
						
						
							 | 
							
								 | 
							
								circleDotted: '◌', | 
						
						
						
						
							 | 
							
								 | 
							
								circleDouble: '◎', | 
						
						
						
						
							 | 
							
								 | 
							
								circleCircle: 'ⓞ', | 
						
						
						
						
							 | 
							
								 | 
							
								circleCross: 'ⓧ', | 
						
						
						
						
							 | 
							
								 | 
							
								circlePipe: 'Ⓘ', | 
						
						
						
						
							 | 
							
								 | 
							
								circleQuestionMark: '?⃝', | 
						
						
						
						
							 | 
							
								 | 
							
								bullet: '●', | 
						
						
						
						
							 | 
							
								 | 
							
								dot: '․', | 
						
						
						
						
							 | 
							
								 | 
							
								line: '─', | 
						
						
						
						
							 | 
							
								 | 
							
								ellipsis: '…', | 
						
						
						
						
							 | 
							
								 | 
							
								pointer: '❯', | 
						
						
						
						
							 | 
							
								 | 
							
								pointerSmall: '›', | 
						
						
						
						
							 | 
							
								 | 
							
								info: 'ℹ', | 
						
						
						
						
							 | 
							
								 | 
							
								warning: '⚠', | 
						
						
						
						
							 | 
							
								 | 
							
								hamburger: '☰', | 
						
						
						
						
							 | 
							
								 | 
							
								smiley: '㋡', | 
						
						
						
						
							 | 
							
								 | 
							
								mustache: '෴', | 
						
						
						
						
							 | 
							
								 | 
							
								heart: '♥', | 
						
						
						
						
							 | 
							
								 | 
							
								nodejs: '⬢', | 
						
						
						
						
							 | 
							
								 | 
							
								arrowUp: '↑', | 
						
						
						
						
							 | 
							
								 | 
							
								arrowDown: '↓', | 
						
						
						
						
							 | 
							
								 | 
							
								arrowLeft: '←', | 
						
						
						
						
							 | 
							
								 | 
							
								arrowRight: '→', | 
						
						
						
						
							 | 
							
								 | 
							
								radioOn: '◉', | 
						
						
						
						
							 | 
							
								 | 
							
								radioOff: '◯', | 
						
						
						
						
							 | 
							
								 | 
							
								checkboxOn: '☒', | 
						
						
						
						
							 | 
							
								 | 
							
								checkboxOff: '☐', | 
						
						
						
						
							 | 
							
								 | 
							
								checkboxCircleOn: 'ⓧ', | 
						
						
						
						
							 | 
							
								 | 
							
								checkboxCircleOff: 'Ⓘ', | 
						
						
						
						
							 | 
							
								 | 
							
								questionMarkPrefix: '?⃝', | 
						
						
						
						
							 | 
							
								 | 
							
								oneHalf: '½', | 
						
						
						
						
							 | 
							
								 | 
							
								oneThird: '⅓', | 
						
						
						
						
							 | 
							
								 | 
							
								oneQuarter: '¼', | 
						
						
						
						
							 | 
							
								 | 
							
								oneFifth: '⅕', | 
						
						
						
						
							 | 
							
								 | 
							
								oneSixth: '⅙', | 
						
						
						
						
							 | 
							
								 | 
							
								oneSeventh: '⅐', | 
						
						
						
						
							 | 
							
								 | 
							
								oneEighth: '⅛', | 
						
						
						
						
							 | 
							
								 | 
							
								oneNinth: '⅑', | 
						
						
						
						
							 | 
							
								 | 
							
								oneTenth: '⅒', | 
						
						
						
						
							 | 
							
								 | 
							
								twoThirds: '⅔', | 
						
						
						
						
							 | 
							
								 | 
							
								twoFifths: '⅖', | 
						
						
						
						
							 | 
							
								 | 
							
								threeQuarters: '¾', | 
						
						
						
						
							 | 
							
								 | 
							
								threeFifths: '⅗', | 
						
						
						
						
							 | 
							
								 | 
							
								threeEighths: '⅜', | 
						
						
						
						
							 | 
							
								 | 
							
								fourFifths: '⅘', | 
						
						
						
						
							 | 
							
								 | 
							
								fiveSixths: '⅚', | 
						
						
						
						
							 | 
							
								 | 
							
								fiveEighths: '⅝', | 
						
						
						
						
							 | 
							
								 | 
							
								sevenEighths: '⅞' | 
						
						
						
						
							 | 
							
								 | 
							
							}; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							const windows = { | 
						
						
						
						
							 | 
							
								 | 
							
								tick: '√', | 
						
						
						
						
							 | 
							
								 | 
							
								cross: '×', | 
						
						
						
						
							 | 
							
								 | 
							
								star: '*', | 
						
						
						
						
							 | 
							
								 | 
							
								square: '█', | 
						
						
						
						
							 | 
							
								 | 
							
								squareSmall: '[ ]', | 
						
						
						
						
							 | 
							
								 | 
							
								squareSmallFilled: '[█]', | 
						
						
						
						
							 | 
							
								 | 
							
								play: '►', | 
						
						
						
						
							 | 
							
								 | 
							
								circle: '( )', | 
						
						
						
						
							 | 
							
								 | 
							
								circleFilled: '(*)', | 
						
						
						
						
							 | 
							
								 | 
							
								circleDotted: '( )', | 
						
						
						
						
							 | 
							
								 | 
							
								circleDouble: '( )', | 
						
						
						
						
							 | 
							
								 | 
							
								circleCircle: '(○)', | 
						
						
						
						
							 | 
							
								 | 
							
								circleCross: '(×)', | 
						
						
						
						
							 | 
							
								 | 
							
								circlePipe: '(│)', | 
						
						
						
						
							 | 
							
								 | 
							
								circleQuestionMark: '(?)', | 
						
						
						
						
							 | 
							
								 | 
							
								bullet: '*', | 
						
						
						
						
							 | 
							
								 | 
							
								dot: '.', | 
						
						
						
						
							 | 
							
								 | 
							
								line: '─', | 
						
						
						
						
							 | 
							
								 | 
							
								ellipsis: '...', | 
						
						
						
						
							 | 
							
								 | 
							
								pointer: '>', | 
						
						
						
						
							 | 
							
								 | 
							
								pointerSmall: '»', | 
						
						
						
						
							 | 
							
								 | 
							
								info: 'i', | 
						
						
						
						
							 | 
							
								 | 
							
								warning: '‼', | 
						
						
						
						
							 | 
							
								 | 
							
								hamburger: '≡', | 
						
						
						
						
							 | 
							
								 | 
							
								smiley: '☺', | 
						
						
						
						
							 | 
							
								 | 
							
								mustache: '┌─┐', | 
						
						
						
						
							 | 
							
								 | 
							
								heart: main.heart, | 
						
						
						
						
							 | 
							
								 | 
							
								nodejs: '♦', | 
						
						
						
						
							 | 
							
								 | 
							
								arrowUp: main.arrowUp, | 
						
						
						
						
							 | 
							
								 | 
							
								arrowDown: main.arrowDown, | 
						
						
						
						
							 | 
							
								 | 
							
								arrowLeft: main.arrowLeft, | 
						
						
						
						
							 | 
							
								 | 
							
								arrowRight: main.arrowRight, | 
						
						
						
						
							 | 
							
								 | 
							
								radioOn: '(*)', | 
						
						
						
						
							 | 
							
								 | 
							
								radioOff: '( )', | 
						
						
						
						
							 | 
							
								 | 
							
								checkboxOn: '[×]', | 
						
						
						
						
							 | 
							
								 | 
							
								checkboxOff: '[ ]', | 
						
						
						
						
							 | 
							
								 | 
							
								checkboxCircleOn: '(×)', | 
						
						
						
						
							 | 
							
								 | 
							
								checkboxCircleOff: '( )', | 
						
						
						
						
							 | 
							
								 | 
							
								questionMarkPrefix: '?', | 
						
						
						
						
							 | 
							
								 | 
							
								oneHalf: '1/2', | 
						
						
						
						
							 | 
							
								 | 
							
								oneThird: '1/3', | 
						
						
						
						
							 | 
							
								 | 
							
								oneQuarter: '1/4', | 
						
						
						
						
							 | 
							
								 | 
							
								oneFifth: '1/5', | 
						
						
						
						
							 | 
							
								 | 
							
								oneSixth: '1/6', | 
						
						
						
						
							 | 
							
								 | 
							
								oneSeventh: '1/7', | 
						
						
						
						
							 | 
							
								 | 
							
								oneEighth: '1/8', | 
						
						
						
						
							 | 
							
								 | 
							
								oneNinth: '1/9', | 
						
						
						
						
							 | 
							
								 | 
							
								oneTenth: '1/10', | 
						
						
						
						
							 | 
							
								 | 
							
								twoThirds: '2/3', | 
						
						
						
						
							 | 
							
								 | 
							
								twoFifths: '2/5', | 
						
						
						
						
							 | 
							
								 | 
							
								threeQuarters: '3/4', | 
						
						
						
						
							 | 
							
								 | 
							
								threeFifths: '3/5', | 
						
						
						
						
							 | 
							
								 | 
							
								threeEighths: '3/8', | 
						
						
						
						
							 | 
							
								 | 
							
								fourFifths: '4/5', | 
						
						
						
						
							 | 
							
								 | 
							
								fiveSixths: '5/6', | 
						
						
						
						
							 | 
							
								 | 
							
								fiveEighths: '5/8', | 
						
						
						
						
							 | 
							
								 | 
							
								sevenEighths: '7/8' | 
						
						
						
						
							 | 
							
								 | 
							
							}; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							if (platform === 'linux') { | 
						
						
						
						
							 | 
							
								 | 
							
								// The main one doesn't look that good on Ubuntu. | 
						
						
						
						
							 | 
							
								 | 
							
								main.questionMarkPrefix = '?'; | 
						
						
						
						
							 | 
							
								 | 
							
							} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							const figures = platform === 'win32' ? windows : main; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							const fn = string => { | 
						
						
						
						
							 | 
							
								 | 
							
								if (figures === main) { | 
						
						
						
						
							 | 
							
								 | 
							
									return string; | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								for (const [key, value] of Object.entries(main)) { | 
						
						
						
						
							 | 
							
								 | 
							
									if (value === figures[key]) { | 
						
						
						
						
							 | 
							
								 | 
							
										continue; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									string = string.replace(new RegExp(escapeStringRegexp(value), 'g'), figures[key]); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								return string; | 
						
						
						
						
							 | 
							
								 | 
							
							}; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							module.exports = Object.assign(fn, figures); | 
						
						
						
						
							 | 
							
								 | 
							
							module.exports.main = main; | 
						
						
						
						
							 | 
							
								 | 
							
							module.exports.windows = windows;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 |