UNPKG

csvutil

Version:
45 lines (34 loc) 1.61 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.padOrTruncateMarkdown = exports.padOrTruncatePretty = exports.truncate = exports.repeatString = exports.isNilOrWhitespace = undefined; var _ramda = require('ramda'); var _ramda2 = _interopRequireDefault(_ramda); var _pad = require('pad'); var _pad2 = _interopRequireDefault(_pad); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var isNilOrWhitespace = exports.isNilOrWhitespace = function isNilOrWhitespace(str) { return !str || !str.replace(/\s/g, '').length; }; var repeatString = exports.repeatString = _ramda2.default.curry(function (str, repetitions) { return _ramda2.default.repeat(str, repetitions).join(''); }); var ELIPSIS_LENGTH = 3; var ELIPSIS = repeatString('.', ELIPSIS_LENGTH); var truncate = exports.truncate = _ramda2.default.curry(function (length, s) { var l = Math.max(length, ELIPSIS_LENGTH); var substring = s.substring(0, l - ELIPSIS_LENGTH); return '' + substring + ELIPSIS; }); var padOrTruncatePretty = exports.padOrTruncatePretty = _ramda2.default.curry(function (length, str) { var l = Math.max(length, ELIPSIS_LENGTH); var s = String(str).replace(/(?:\r\n|\r|\n)/g, ' '); return !s || s.length < l ? (0, _pad2.default)(l, s) : truncate(l, s); }); var padOrTruncateMarkdown = exports.padOrTruncateMarkdown = _ramda2.default.curry(function (length, str) { if (isNilOrWhitespace(str)) { return repeatString(' ', length); } return "`" + padOrTruncatePretty(length - 2, str) + "`"; });