Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ Β­ 'use strict'; var objectAssign = require('object-assign'); var escapeStringRegexp = require('escape-string-regexp'); var platform = process.platform; var 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: 'β…ž' }; var 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 = '?'; } var figures = platform === 'win32' ? win : main; var fn = function (str) { if (figures === main) { return str; } Object.keys(main).forEach(function (key) { if (main[key] === figures[key]) { return; } str = str.replace(new RegExp(escapeStringRegexp(main[key]), 'g'), figures[key]); }); return str; }; module.exports = objectAssign(fn, figures);