csvutil
Version:
78 lines (62 loc) • 2.85 kB
JavaScript
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);
});
;