UNPKG

3.23 kBJavaScriptView Raw
1"use strict";
2var __assign = (this && this.__assign) || function () {
3 __assign = Object.assign || function(t) {
4 for (var s, i = 1, n = arguments.length; i < n; i++) {
5 s = arguments[i];
6 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7 t[p] = s[p];
8 }
9 return t;
10 };
11 return __assign.apply(this, arguments);
12};
13var __spreadArrays = (this && this.__spreadArrays) || function () {
14 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
15 for (var r = Array(s), k = 0, i = 0; i < il; i++)
16 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
17 r[k] = a[j];
18 return r;
19};
20Object.defineProperty(exports, "__esModule", { value: true });
21exports.LogTable = exports.Log = void 0;
22var utils_1 = require("./utils");
23var _1 = require(".");
24/**works in node and the browser.*/
25function Log() {
26 var messages = [];
27 for (var _i = 0; _i < arguments.length; _i++) {
28 messages[_i] = arguments[_i];
29 }
30 var output = '';
31 var browserStyles = [];
32 for (var i = 0; i < messages.length; i++) {
33 var msg = messages[i];
34 if (typeof msg === 'object') {
35 if (utils_1.isBrowser) {
36 var style = utils_1.getBrowserStyle(msg.style);
37 if (style)
38 browserStyles.push(style);
39 }
40 output += _1.styler(msg.message, msg.style);
41 }
42 else {
43 output += msg;
44 }
45 if (i < messages.length - 1) {
46 output += ' ';
47 }
48 }
49 console.log.apply(console, __spreadArrays([output], browserStyles));
50}
51exports.Log = Log;
52/**this function is node only*/
53function LogTable(table, options) {
54 if (options === void 0) { options = utils_1.defaultLogTableOptions; }
55 if (table[0] === undefined)
56 return;
57 var _a = __assign(__assign({}, utils_1.defaultLogTableOptions), options), padding = _a.padding, spacing = _a.spacing;
58 var output = '';
59 var maxLengths = [];
60 for (var i = 0; i < table[0].length; i++) {
61 var column = utils_1.getColumn(table, i);
62 maxLengths.push(utils_1.maxTableColumnLength(column));
63 }
64 for (var i = 0; i < table.length; i++) {
65 var row = table[i];
66 for (var j = 0; j < row.length; j++) {
67 var field = row[j];
68 var text = '';
69 var style = void 0;
70 if (typeof field === 'object') {
71 style = field.style;
72 text = field.message;
73 }
74 else {
75 text = field.toString();
76 }
77 var startPadding = j === 0 ? padding : 0;
78 var endPadding = maxLengths[j] + (j === row.length - 1 ? padding : spacing);
79 var textLength = utils_1.removeStyles(text).length;
80 var paddedText = utils_1.pad(text, startPadding, endPadding - textLength);
81 if (style) {
82 output += _1.styler(paddedText, style);
83 }
84 else {
85 output += paddedText;
86 }
87 }
88 output += '\n';
89 }
90 console.log(output.replace(/\n$/, ''));
91}
92exports.LogTable = LogTable;