UNPKG

@lskjs/log

Version:

Логгер совмещающий лучшие черты morgan, winston, bunyan, logrus. debug. Базируется на debug-level.

54 lines (37 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; exports.leftPad = leftPad; /* eslint-disable */ var cache = ['', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']; function leftPad(str, len, ch) { // convert `str` to `string` str = "".concat(str); // `len` is the `pad`'s length now // var reverse = 0; if (len < 0) { len *= -1; reverse = 1; } len -= str.length; // doesn't need to pad if (len <= 0) return str; // `ch` defaults to `' '` if (!ch && ch !== 0) ch = ' '; // convert `ch` to `string` ch = "".concat(ch); // cache common use cases if (ch === ' ' && len < 10) return reverse ? str + cache[len] : cache[len] + str; // `pad` starts with an empty string var pad = ''; // loop while (true) { // add `ch` to `pad` if `len` is odd if (len & 1) pad += ch; // divide `len` by 2, ditch the remainder len >>= 1; // "double" the `ch` so this operation count grows logarithmically on `len` // each time `ch` is "doubled", the `len` would need to be "doubled" too // similar to finding a value in binary search tree, hence O(log(n)) if (len) ch += ch; // `len` is 0, exit the loop else break; } // pad `str`! return reverse ? str + pad : pad + str; } var _default = leftPad; exports["default"] = _default; //# sourceMappingURL=leftPad.js.map