{"version":3,"sources":["jsdelivr-header.js","/npm/broccoli-slow-trees@3.1.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,iBAAmB,QAAQ,uBAE/B,SAAS,UAAU,EAAQ,GACzB,OAAI,EAAO,OAAS,EACX,EAAO,MAAM,EAAG,EAAgB,GAAK,MAErC,CAEX,CAEA,SAAS,iBAAiB,GACxB,OAAO,KAAK,IAAI,MAAM,KAAM,EAAQ,KAAI,SAAS,GAAU,OAAO,EAAO,MAAQ,IACnF,CAuDA,SAAS,IAAI,EAAK,EAAK,EAAM,GAG3B,GAFK,IAAQ,EAAO,KAEhB,EAAM,GAAK,EAAI,OACjB,OAAQ,GACN,IAAK,OACH,EAAM,MAAM,EAAM,EAAI,EAAI,QAAQ,KAAK,GAAQ,EAC/C,MAEF,IAAK,OACH,IAAI,EAAS,EAAM,EAAI,OACnB,EAAQ,KAAK,KAAK,EAAS,GAE/B,EAAM,MADK,EAAS,EACD,GAAG,KAAK,GAAQ,EAAM,MAAM,EAAQ,GAAG,KAAK,GAC/D,MAEF,QACE,GAAY,MAAM,EAAM,EAAI,EAAI,QAAQ,KAAK,GAGnD,OAAO,CACT,CA1EA,OAAO,QAAU,SAAwB,EAAM,EAAQ,GACrD,IACE,EAAM,GAAO,QAAQ,IAsBrB,IArBA,IAAI,EAAU,iBAAiB,GAC3B,EAAc,GAAU,IACxB,EAAc,EAAc,EAAQ,UACpC,EAAqB,GAKrB,EAAsB,iBAAiB,EAAQ,aAAa,KAAI,SAAS,GAC3E,OAAO,EAAM,IACf,KAAM,EAKF,EAAmB,QAAQ,OAAO,QAElC,EAAuB,EAAsB,KAAK,MAAM,EAAmB,GAAK,KAAK,IAJ9D,GAIwF,GAAuB,KAAK,MAAM,EAAmB,GAEpK,EAAwB,KAAK,MAAM,EAAmB,GAEjD,EAAI,EAAG,EAAI,EAAQ,aAAa,OAAQ,IAAK,CACpD,IACI,EADA,EAAQ,EAAQ,aAAa,GAGjC,GAAI,EAAM,cAAgB,EAAa,CAEnC,EADE,EAAM,MAAQ,EACH,KAAO,KAAK,MAAM,EAAM,iBAAmB,OAE3C,GAGf,IAAI,EAAW,KAAO,EAAM,MAAQ,IAChC,EAAU,UAAU,EAAM,KAAM,EAAuB,EAAS,QAEpE,EAAmB,KAAK,IAAI,EAAU,EAAU,GAAwB,MAAQ,IAAI,KAAK,MAAM,EAAM,eAAiB,KAAO,EAAY,GAC3I,CACF,CAEA,EAAmB,QAAQ,IAAI,GAAI,EAAsB,KAAO,MAAQ,IAAI,GAAI,EAAuB,MACvG,EAAmB,QAAQ,IAAI,+BAAgD,IAAd,EAAoB,KAAM,GAAwB,MAAQ,IAAI,cAAe,IAE9I,EAAI,KAAO,EAAmB,KAAK,MAAQ,KAC7C,CAAE,MAAO,GACP,QAAQ,MAAM,kCAAmC,GACjD,QAAQ,MAAM,EAAE,MAClB,CACF","file":"/npm/broccoli-slow-trees@3.1.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/broccoli-slow-trees@3.1.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var calculateSummary = require('./calculate-summary');\n\nfunction ellipsize(string, desiredLength) {\n  if (string.length > desiredLength) {\n    return string.slice(0, desiredLength - 3) + '...';\n  } else {\n    return string;\n  }\n}\n\nfunction getLargestString(strings) {\n  return Math.max.apply(Math, strings.map(function(string) { return string.length; }));\n}\n\nmodule.exports = function printSlowNodes(tree, factor, log) {\n  try {\n    log = log || console.log;\n    var summary = calculateSummary(tree);\n    var pcThreshold = factor || 0.05;\n    var msThreshold = pcThreshold * summary.totalTime;\n    var cumulativeLogLines = [];\n\n\n    // get the max table length, which is found by looping over all the strings and getting the largest one.\n    // If that is larger than the terminal width we will ellipsize\n    var largestStringLength = getLargestString(summary.groupedNodes.map(function(group) {\n      return group.name\n    })) + 5 // compensate for additional space for group string\n\n    // this is the length of 'Slowest Nodes (totalTime >= 5%)'\n    var MIN_NAME_CELL_LENGTH = 35;\n\n    var MAX_TABLE_LENGTH = process.stdout.columns;\n    // the name column is 8/10th the size of the value cell\n    var MAX_NAME_CELL_LENGTH = largestStringLength < Math.floor(MAX_TABLE_LENGTH / 2) ? Math.max(MIN_NAME_CELL_LENGTH, largestStringLength) : Math.floor(MAX_TABLE_LENGTH / 2);\n    // the name column is 2/10th the size of the value celll\n    var MAX_VALUE_CELL_LENGTH = Math.floor(MAX_TABLE_LENGTH / 8);\n\n    for (var i = 0; i < summary.groupedNodes.length; i++) {\n      var group = summary.groupedNodes[i];\n      var averageStr;\n\n      if (group.totalSelfTime > msThreshold) {\n        if (group.count > 1) {\n          averageStr = ' (' + Math.floor(group.averageSelfTime) + ' ms)';\n        } else {\n          averageStr = '';\n        }\n\n        var countStr = ' (' + group.count + ')'\n        var nameStr = ellipsize(group.name, MAX_NAME_CELL_LENGTH - countStr.length)\n\n        cumulativeLogLines.push(pad(nameStr + countStr, MAX_NAME_CELL_LENGTH) + ' | ' + pad(Math.floor(group.totalSelfTime) + 'ms' + averageStr, MAX_VALUE_CELL_LENGTH))\n      }\n    }\n\n    cumulativeLogLines.unshift(pad('', MAX_NAME_CELL_LENGTH, '-') + '-+-' + pad('', MAX_VALUE_CELL_LENGTH, '-'))\n    cumulativeLogLines.unshift(pad('Slowest Nodes (totalTime >= ' + (pcThreshold * 100) +'%)', MAX_NAME_CELL_LENGTH) + ' | ' + pad('Total (avg)', MAX_VALUE_CELL_LENGTH))\n\n    log('\\n' + cumulativeLogLines.join('\\n') + '\\n')\n  } catch (e) {\n    console.error('Error when printing slow nodes:', e);\n    console.error(e.stack)\n  }\n}\n\n\nfunction pad(str, len, char, dir) {\n  if (!char) { char = ' '}\n\n  if (len + 1 >= str.length)\n    switch (dir){\n      case 'left':\n        str = Array(len + 1 - str.length).join(char) + str\n        break\n\n      case 'both':\n        var padlen = len - str.length\n        var right = Math.ceil(padlen / 2)\n        var left = padlen - right\n        str = Array(left + 1).join(char) + str + Array(right + 1).join(char)\n        break\n\n      default:\n        str = str + Array(len + 1 - str.length).join(char)\n    }\n\n  return str\n}\n"]}