HEX
Server: LiteSpeed
System: Linux srv271.doctorhoster.com 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64
User: lcipakco (2751)
PHP: 8.3.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, escapeshellcmd, apache_child_terminate, virtual, mb_send_mail, mail, eval, phpinfo
Upload Files
File: //lib/node_modules/npm/node_modules/gauge/wide-truncate.js
'use strict'
var stringWidth = require('string-width')
var stripAnsi = require('strip-ansi')

module.exports = wideTruncate

function wideTruncate (str, target) {
  if (stringWidth(str) === 0) return str
  if (target <= 0) return ''
  if (stringWidth(str) <= target) return str

  // We compute the number of bytes of ansi sequences here and add
  // that to our initial truncation to ensure that we don't slice one
  // that we want to keep in half.
  var noAnsi = stripAnsi(str)
  var ansiSize = str.length + noAnsi.length
  var truncated = str.slice(0, target + ansiSize)

  // we have to shrink the result to account for our ansi sequence buffer
  // (if an ansi sequence was truncated) and double width characters.
  while (stringWidth(truncated) > target) {
    truncated = truncated.slice(0, -1)
  }
  return truncated
}