Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ '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;