|
'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') { |
|
|
|
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; |
|
|