Version 1
[yaffs-website] / node_modules / figures / index.js
diff --git a/node_modules/figures/index.js b/node_modules/figures/index.js
new file mode 100644 (file)
index 0000000..090af2a
--- /dev/null
@@ -0,0 +1,147 @@
+'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);