UNPKG

probe.gl

Version:

JavaScript Console Instrumentation and Benchmarking for Browser and Node

154 lines (126 loc) 4.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatTime = formatTime; exports.leftPad = leftPad; exports.rightPad = rightPad; exports.getSISuffix = getSISuffix; exports.formatSI = formatSI; exports.formatValue = formatValue; exports.formatImage = formatImage; function formatTime(ms) { var formatted; if (ms < 10) { formatted = "".concat(ms.toFixed(2), "ms"); } else if (ms < 100) { formatted = "".concat(ms.toFixed(1), "ms"); } else if (ms < 1000) { formatted = "".concat(ms.toFixed(0), "ms"); } else { formatted = "".concat((ms / 1000).toFixed(2), "s"); } return formatted; } function leftPad(string) { var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8; var padLength = Math.max(length - string.length, 0); return "".concat(' '.repeat(padLength)).concat(string); } function rightPad(string) { var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8; var padLength = Math.max(length - string.length, 0); return "".concat(string).concat(' '.repeat(padLength)); } function splitIntoBaseAndExponent(number) { var base = number; var exponent = 0; if (number !== 0) { while (base >= 10 || base <= -10) { base /= 10; exponent++; } while (base < 1 && base > -1) { base *= 10; exponent--; } } return { base: base, exponent: exponent }; } function getSISuffix(multipleOf3) { var SI_SUFFIXES = { 0: '', 1: 'K', 2: 'M', 3: 'G', '-1': 'm', '-2': 'µ', '-3': 'n' }; var key = String(multipleOf3); return key in SI_SUFFIXES ? SI_SUFFIXES[key] : "e".concat(multipleOf3 * 3); } function formatSI(number) { var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3; var _splitIntoBaseAndExpo = splitIntoBaseAndExponent(number), base = _splitIntoBaseAndExpo.base, exponent = _splitIntoBaseAndExpo.exponent; var multipleOf3 = Math.floor(exponent / 3); var remaining = exponent - multipleOf3 * 3; var digits = base * Math.pow(10, remaining); return "".concat(digits.toPrecision(precision)).concat(getSISuffix(multipleOf3)); } function formatValue(v) { var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var EPSILON = 1e-16; var _opts$isInteger = opts.isInteger, isInteger = _opts$isInteger === void 0 ? false : _opts$isInteger; if (Array.isArray(v) || ArrayBuffer.isView(v)) { return formatArrayValue(v, opts); } if (!Number.isFinite(v)) { return String(v); } if (Math.abs(v) < EPSILON) { return isInteger ? '0' : '0.'; } if (isInteger) { return v.toFixed(0); } if (Math.abs(v) > 100 && Math.abs(v) < 10000) { return v.toFixed(0); } var string = v.toPrecision(2); var decimal = string.indexOf('.0'); return decimal === string.length - 2 ? string.slice(0, -1) : string; } function formatArrayValue(v, opts) { var _opts$maxElts = opts.maxElts, maxElts = _opts$maxElts === void 0 ? 16 : _opts$maxElts, _opts$size = opts.size, size = _opts$size === void 0 ? 1 : _opts$size; var string = '['; for (var i = 0; i < v.length && i < maxElts; ++i) { if (i > 0) { string += ",".concat(i % size === 0 ? ' ' : ''); } string += formatValue(v[i], opts); } var terminator = v.length > maxElts ? '...' : ']'; return "".concat(string).concat(terminator); } function formatImage(image, message, scale) { var maxWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 600; var imageUrl = image.src.replace(/\(/g, '%28').replace(/\)/g, '%29'); if (image.width > maxWidth) { scale = Math.min(scale, maxWidth / image.width); } var width = image.width * scale; var height = image.height * scale; var style = ['font-size:1px;', "padding:".concat(Math.floor(height / 2), "px ").concat(Math.floor(width / 2), "px;"), "line-height:".concat(height, "px;"), "background:url(".concat(imageUrl, ");"), "background-size:".concat(width, "px ").concat(height, "px;"), 'color:transparent;'].join(''); return ["".concat(message, " %c+"), style]; } //# sourceMappingURL=formatters.js.map