UNPKG

colorprint

Version:
55 lines (45 loc) 4.44 kB
/** * Format message. * @memberof module:colorprint/lib * @function formatMsg * @param {...string} msg - Messages to format. * @returns {string} - Formatted message. */ "use strict"; /** @lends formatMsg */ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); function formatMsg(msg) { var s = this; msg = Array.prototype.slice.call(arguments, 0).map(function (msg) { if ((0, _typeof2["default"])(msg) === 'object') { try { return JSON.stringify(msg, null, 2); } catch (e) {// Do nothing. } } return msg; }).filter(function (msg) { return !!msg; }).map(function (msg) { return String(msg); }); if (!msg.length) { return ''; } var formatted = msg.shift().replace(/%(.)/g, function ($0, $1) { switch ($1) { case 's': return String(msg.shift()); case 'd': return parseInt(msg.shift()); case 'f': return parseFloat(msg.shift()); default: return $0; } }); return [formatted].concat(msg).join(' '); } module.exports = formatMsg; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvcm1hdF9tc2cuanMiXSwibmFtZXMiOlsiZm9ybWF0TXNnIiwibXNnIiwicyIsIkFycmF5IiwicHJvdG90eXBlIiwic2xpY2UiLCJjYWxsIiwiYXJndW1lbnRzIiwibWFwIiwiSlNPTiIsInN0cmluZ2lmeSIsImUiLCJmaWx0ZXIiLCJTdHJpbmciLCJsZW5ndGgiLCJmb3JtYXR0ZWQiLCJzaGlmdCIsInJlcGxhY2UiLCIkMCIsIiQxIiwicGFyc2VJbnQiLCJwYXJzZUZsb2F0IiwiY29uY2F0Iiwiam9pbiIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0FBUUE7QUFFQTs7Ozs7O0FBQ0EsU0FBU0EsU0FBVCxDQUFvQkMsR0FBcEIsRUFBeUI7QUFDdkIsTUFBTUMsQ0FBQyxHQUFHLElBQVY7QUFDQUQsRUFBQUEsR0FBRyxHQUFHRSxLQUFLLENBQUNDLFNBQU4sQ0FBZ0JDLEtBQWhCLENBQXNCQyxJQUF0QixDQUEyQkMsU0FBM0IsRUFBc0MsQ0FBdEMsRUFBeUNDLEdBQXpDLENBQTZDLFVBQUFQLEdBQUcsRUFBSTtBQUN4RCxRQUFJLHlCQUFPQSxHQUFQLE1BQWdCLFFBQXBCLEVBQThCO0FBQzVCLFVBQUk7QUFDRixlQUFPUSxJQUFJLENBQUNDLFNBQUwsQ0FBZVQsR0FBZixFQUFvQixJQUFwQixFQUEwQixDQUExQixDQUFQO0FBQ0QsT0FGRCxDQUVFLE9BQU9VLENBQVAsRUFBVSxDQUNWO0FBQ0Q7QUFDRjs7QUFDRCxXQUFPVixHQUFQO0FBQ0QsR0FUSyxFQVVIVyxNQVZHLENBVUksVUFBQVgsR0FBRztBQUFBLFdBQUksQ0FBQyxDQUFDQSxHQUFOO0FBQUEsR0FWUCxFQVdITyxHQVhHLENBV0MsVUFBQVAsR0FBRztBQUFBLFdBQUlZLE1BQU0sQ0FBQ1osR0FBRCxDQUFWO0FBQUEsR0FYSixDQUFOOztBQVlBLE1BQUksQ0FBQ0EsR0FBRyxDQUFDYSxNQUFULEVBQWlCO0FBQ2YsV0FBTyxFQUFQO0FBQ0Q7O0FBQ0QsTUFBSUMsU0FBUyxHQUFHZCxHQUFHLENBQUNlLEtBQUosR0FBWUMsT0FBWixDQUFvQixPQUFwQixFQUE2QixVQUFDQyxFQUFELEVBQUtDLEVBQUwsRUFBWTtBQUN2RCxZQUFRQSxFQUFSO0FBQ0UsV0FBSyxHQUFMO0FBQ0UsZUFBT04sTUFBTSxDQUFDWixHQUFHLENBQUNlLEtBQUosRUFBRCxDQUFiOztBQUNGLFdBQUssR0FBTDtBQUNFLGVBQU9JLFFBQVEsQ0FBQ25CLEdBQUcsQ0FBQ2UsS0FBSixFQUFELENBQWY7O0FBQ0YsV0FBSyxHQUFMO0FBQ0UsZUFBT0ssVUFBVSxDQUFDcEIsR0FBRyxDQUFDZSxLQUFKLEVBQUQsQ0FBakI7O0FBQ0Y7QUFDRSxlQUFPRSxFQUFQO0FBUko7QUFVRCxHQVhlLENBQWhCO0FBWUEsU0FBTyxDQUFFSCxTQUFGLEVBQWNPLE1BQWQsQ0FBcUJyQixHQUFyQixFQUEwQnNCLElBQTFCLENBQStCLEdBQS9CLENBQVA7QUFDRDs7QUFFREMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCekIsU0FBakIiLCJzb3VyY2VSb290IjoiLi4vLi4vbGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3JtYXQgbWVzc2FnZS5cbiAqIEBtZW1iZXJvZiBtb2R1bGU6Y29sb3JwcmludC9saWJcbiAqIEBmdW5jdGlvbiBmb3JtYXRNc2dcbiAqIEBwYXJhbSB7Li4uc3RyaW5nfSBtc2cgLSBNZXNzYWdlcyB0byBmb3JtYXQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAgLSBGb3JtYXR0ZWQgbWVzc2FnZS5cbiAqL1xuXG5cInVzZSBzdHJpY3RcIlxuXG4vKiogQGxlbmRzIGZvcm1hdE1zZyAqL1xuZnVuY3Rpb24gZm9ybWF0TXNnIChtc2cpIHtcbiAgY29uc3QgcyA9IHRoaXNcbiAgbXNnID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAwKS5tYXAobXNnID0+IHtcbiAgICBpZiAodHlwZW9mKG1zZykgPT09ICdvYmplY3QnKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobXNnLCBudWxsLCAyKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBEbyBub3RoaW5nLlxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbXNnXG4gIH0pXG4gICAgLmZpbHRlcihtc2cgPT4gISFtc2cpXG4gICAgLm1hcChtc2cgPT4gU3RyaW5nKG1zZykpXG4gIGlmICghbXNnLmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG4gIGxldCBmb3JtYXR0ZWQgPSBtc2cuc2hpZnQoKS5yZXBsYWNlKC8lKC4pL2csICgkMCwgJDEpID0+IHtcbiAgICBzd2l0Y2ggKCQxKSB7XG4gICAgICBjYXNlICdzJzpcbiAgICAgICAgcmV0dXJuIFN0cmluZyhtc2cuc2hpZnQoKSlcbiAgICAgIGNhc2UgJ2QnOlxuICAgICAgICByZXR1cm4gcGFyc2VJbnQobXNnLnNoaWZ0KCkpXG4gICAgICBjYXNlICdmJzpcbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQobXNnLnNoaWZ0KCkpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJDBcbiAgICB9XG4gIH0pXG4gIHJldHVybiBbIGZvcm1hdHRlZCBdLmNvbmNhdChtc2cpLmpvaW4oJyAnKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZvcm1hdE1zZ1xuIl19