UNPKG

csvutil

Version:
78 lines (62 loc) 2.85 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.logArray = exports.logArrayToString = exports.logDividerToString = exports.logDivider = exports.logComponentsToString = exports.logComponents = exports.log = exports.Color = undefined; var _ramda = require('ramda'); var _ramda2 = _interopRequireDefault(_ramda); var _safe = require('colors/safe'); var _safe2 = _interopRequireDefault(_safe); var _string_helpers = require('./string_helpers'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Color = exports.Color = { RED: 'red', GREY: 'grey', GREEN: 'green' }; var log = exports.log = _ramda2.default.curry(function (color, text) { console.log(_safe2.default[color](text)); }); function methodForColor(color) { switch (color) { case Color.GREEN: return _safe2.default.green.bold; case Color.RED: return _safe2.default.red.bold; case Color.GREY: default: return _safe2.default.grey; } } var logComponents = exports.logComponents = _ramda2.default.curry(function (components) { _ramda2.default.forEach(function (c) { var m = methodForColor(c.color); process.stdout.write(m(c.text)); }, components); console.log(); }); var logComponentsToString = exports.logComponentsToString = _ramda2.default.curry(function (components) { return _ramda2.default.join('', _ramda2.default.pluck('text', components)); }); var logDivider = exports.logDivider = _ramda2.default.curry(function (width, row, start, end) { logComponents([{ text: logDividerToString(width, row, start, end), color: Color.GREY }]); }); var logDividerToString = exports.logDividerToString = _ramda2.default.curry(function (width, row, start, end) { var separator = (0, _string_helpers.repeatString)('-', width + 2); return _ramda2.default.pipe(_ramda2.default.length, _ramda2.default.repeat(separator), _ramda2.default.join('|'), function (s) { return start + s + end; })(row); }); var logArrayToString = exports.logArrayToString = _ramda2.default.curry(function (width, escapeValues, start, end, row) { var reduceWithIndex = _ramda2.default.addIndex(_ramda2.default.reduce); var truncate = escapeValues ? _string_helpers.padOrTruncateMarkdown : _string_helpers.padOrTruncatePretty; return reduceWithIndex(function (accum, value, index) { var a = truncate(width, value); return '' + accum + (index > 0 ? ' | ' : ' ') + a; }, start, row) + end; }); var logArray = exports.logArray = _ramda2.default.curry(function (width, escapeValues, start, end, row) { return _ramda2.default.pipe(logArrayToString(width, escapeValues, start, end), log(Color.GREY), function () { return row; })(row); });