Server IP : 66.29.132.122 / Your IP : 18.226.186.225 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/alt-nodejs12/root/lib/node_modules/npm/node_modules/ansi-align/ |
Upload File : |
'use strict' const stringWidth = require('string-width') function ansiAlign (text, opts) { if (!text) return text opts = opts || {} const align = opts.align || 'center' // short-circuit `align: 'left'` as no-op if (align === 'left') return text const split = opts.split || '\n' const pad = opts.pad || ' ' const widthDiffFn = align !== 'right' ? halfDiff : fullDiff let returnString = false if (!Array.isArray(text)) { returnString = true text = String(text).split(split) } let width let maxWidth = 0 text = text.map(function (str) { str = String(str) width = stringWidth(str) maxWidth = Math.max(width, maxWidth) return { str, width } }).map(function (obj) { return new Array(widthDiffFn(maxWidth, obj.width) + 1).join(pad) + obj.str }) return returnString ? text.join(split) : text } ansiAlign.left = function left (text) { return ansiAlign(text, { align: 'left' }) } ansiAlign.center = function center (text) { return ansiAlign(text, { align: 'center' }) } ansiAlign.right = function right (text) { return ansiAlign(text, { align: 'right' }) } module.exports = ansiAlign function halfDiff (maxWidth, curWidth) { return Math.floor((maxWidth - curWidth) / 2) } function fullDiff (maxWidth, curWidth) { return maxWidth - curWidth }