123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- 'use strict';
- const escapeStringRegexp = require('escape-string-regexp');
-
- const platform = process.platform;
-
- 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: '♥',
- 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 win = {
- 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,
- 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' ? win : main;
-
- const fn = str => {
- if (figures === main) {
- return str;
- }
-
- Object.keys(main).forEach(key => {
- if (main[key] === figures[key]) {
- return;
- }
-
- str = str.replace(new RegExp(escapeStringRegexp(main[key]), 'g'), figures[key]);
- });
-
- return str;
- };
-
- module.exports = Object.assign(fn, figures);
|