Last change
on this file since e29cc2e was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago |
initial commit
|
-
Property mode
set to
100644
|
File size:
2.9 KB
|
Rev | Line | |
---|
[6a3a178] | 1 | 'use strict';
|
---|
| 2 | const escapeStringRegexp = require('escape-string-regexp');
|
---|
| 3 |
|
---|
| 4 | const {platform} = process;
|
---|
| 5 |
|
---|
| 6 | const main = {
|
---|
| 7 | tick: '✔',
|
---|
| 8 | cross: '✖',
|
---|
| 9 | star: '★',
|
---|
| 10 | square: '▇',
|
---|
| 11 | squareSmall: '◻',
|
---|
| 12 | squareSmallFilled: '◼',
|
---|
| 13 | play: '▶',
|
---|
| 14 | circle: '◯',
|
---|
| 15 | circleFilled: '◉',
|
---|
| 16 | circleDotted: '◌',
|
---|
| 17 | circleDouble: '◎',
|
---|
| 18 | circleCircle: 'ⓞ',
|
---|
| 19 | circleCross: 'ⓧ',
|
---|
| 20 | circlePipe: 'Ⓘ',
|
---|
| 21 | circleQuestionMark: '?⃝',
|
---|
| 22 | bullet: '●',
|
---|
| 23 | dot: '․',
|
---|
| 24 | line: '─',
|
---|
| 25 | ellipsis: '…',
|
---|
| 26 | pointer: '❯',
|
---|
| 27 | pointerSmall: '›',
|
---|
| 28 | info: 'ℹ',
|
---|
| 29 | warning: '⚠',
|
---|
| 30 | hamburger: '☰',
|
---|
| 31 | smiley: '㋡',
|
---|
| 32 | mustache: '෴',
|
---|
| 33 | heart: '♥',
|
---|
| 34 | nodejs: '⬢',
|
---|
| 35 | arrowUp: '↑',
|
---|
| 36 | arrowDown: '↓',
|
---|
| 37 | arrowLeft: '←',
|
---|
| 38 | arrowRight: '→',
|
---|
| 39 | radioOn: '◉',
|
---|
| 40 | radioOff: '◯',
|
---|
| 41 | checkboxOn: '☒',
|
---|
| 42 | checkboxOff: '☐',
|
---|
| 43 | checkboxCircleOn: 'ⓧ',
|
---|
| 44 | checkboxCircleOff: 'Ⓘ',
|
---|
| 45 | questionMarkPrefix: '?⃝',
|
---|
| 46 | oneHalf: '½',
|
---|
| 47 | oneThird: '⅓',
|
---|
| 48 | oneQuarter: '¼',
|
---|
| 49 | oneFifth: '⅕',
|
---|
| 50 | oneSixth: '⅙',
|
---|
| 51 | oneSeventh: '⅐',
|
---|
| 52 | oneEighth: '⅛',
|
---|
| 53 | oneNinth: '⅑',
|
---|
| 54 | oneTenth: '⅒',
|
---|
| 55 | twoThirds: '⅔',
|
---|
| 56 | twoFifths: '⅖',
|
---|
| 57 | threeQuarters: '¾',
|
---|
| 58 | threeFifths: '⅗',
|
---|
| 59 | threeEighths: '⅜',
|
---|
| 60 | fourFifths: '⅘',
|
---|
| 61 | fiveSixths: '⅚',
|
---|
| 62 | fiveEighths: '⅝',
|
---|
| 63 | sevenEighths: '⅞'
|
---|
| 64 | };
|
---|
| 65 |
|
---|
| 66 | const windows = {
|
---|
| 67 | tick: '√',
|
---|
| 68 | cross: '×',
|
---|
| 69 | star: '*',
|
---|
| 70 | square: '█',
|
---|
| 71 | squareSmall: '[ ]',
|
---|
| 72 | squareSmallFilled: '[█]',
|
---|
| 73 | play: '►',
|
---|
| 74 | circle: '( )',
|
---|
| 75 | circleFilled: '(*)',
|
---|
| 76 | circleDotted: '( )',
|
---|
| 77 | circleDouble: '( )',
|
---|
| 78 | circleCircle: '(○)',
|
---|
| 79 | circleCross: '(×)',
|
---|
| 80 | circlePipe: '(│)',
|
---|
| 81 | circleQuestionMark: '(?)',
|
---|
| 82 | bullet: '*',
|
---|
| 83 | dot: '.',
|
---|
| 84 | line: '─',
|
---|
| 85 | ellipsis: '...',
|
---|
| 86 | pointer: '>',
|
---|
| 87 | pointerSmall: '»',
|
---|
| 88 | info: 'i',
|
---|
| 89 | warning: '‼',
|
---|
| 90 | hamburger: '≡',
|
---|
| 91 | smiley: '☺',
|
---|
| 92 | mustache: '┌─┐',
|
---|
| 93 | heart: main.heart,
|
---|
| 94 | nodejs: '♦',
|
---|
| 95 | arrowUp: main.arrowUp,
|
---|
| 96 | arrowDown: main.arrowDown,
|
---|
| 97 | arrowLeft: main.arrowLeft,
|
---|
| 98 | arrowRight: main.arrowRight,
|
---|
| 99 | radioOn: '(*)',
|
---|
| 100 | radioOff: '( )',
|
---|
| 101 | checkboxOn: '[×]',
|
---|
| 102 | checkboxOff: '[ ]',
|
---|
| 103 | checkboxCircleOn: '(×)',
|
---|
| 104 | checkboxCircleOff: '( )',
|
---|
| 105 | questionMarkPrefix: '?',
|
---|
| 106 | oneHalf: '1/2',
|
---|
| 107 | oneThird: '1/3',
|
---|
| 108 | oneQuarter: '1/4',
|
---|
| 109 | oneFifth: '1/5',
|
---|
| 110 | oneSixth: '1/6',
|
---|
| 111 | oneSeventh: '1/7',
|
---|
| 112 | oneEighth: '1/8',
|
---|
| 113 | oneNinth: '1/9',
|
---|
| 114 | oneTenth: '1/10',
|
---|
| 115 | twoThirds: '2/3',
|
---|
| 116 | twoFifths: '2/5',
|
---|
| 117 | threeQuarters: '3/4',
|
---|
| 118 | threeFifths: '3/5',
|
---|
| 119 | threeEighths: '3/8',
|
---|
| 120 | fourFifths: '4/5',
|
---|
| 121 | fiveSixths: '5/6',
|
---|
| 122 | fiveEighths: '5/8',
|
---|
| 123 | sevenEighths: '7/8'
|
---|
| 124 | };
|
---|
| 125 |
|
---|
| 126 | if (platform === 'linux') {
|
---|
| 127 | // The main one doesn't look that good on Ubuntu.
|
---|
| 128 | main.questionMarkPrefix = '?';
|
---|
| 129 | }
|
---|
| 130 |
|
---|
| 131 | const figures = platform === 'win32' ? windows : main;
|
---|
| 132 |
|
---|
| 133 | const fn = string => {
|
---|
| 134 | if (figures === main) {
|
---|
| 135 | return string;
|
---|
| 136 | }
|
---|
| 137 |
|
---|
| 138 | for (const [key, value] of Object.entries(main)) {
|
---|
| 139 | if (value === figures[key]) {
|
---|
| 140 | continue;
|
---|
| 141 | }
|
---|
| 142 |
|
---|
| 143 | string = string.replace(new RegExp(escapeStringRegexp(value), 'g'), figures[key]);
|
---|
| 144 | }
|
---|
| 145 |
|
---|
| 146 | return string;
|
---|
| 147 | };
|
---|
| 148 |
|
---|
| 149 | module.exports = Object.assign(fn, figures);
|
---|
| 150 | module.exports.main = main;
|
---|
| 151 | module.exports.windows = windows;
|
---|
Note:
See
TracBrowser
for help on using the repository browser.