1 | "use strict";
|
2 | var __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 | };
|
13 | var __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 | };
|
20 | Object.defineProperty(exports, "__esModule", { value: true });
|
21 | exports.LogTable = exports.Log = void 0;
|
22 | var utils_1 = require("./utils");
|
23 | var _1 = require(".");
|
24 |
|
25 | function 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 | }
|
51 | exports.Log = Log;
|
52 |
|
53 | function 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 | }
|
92 | exports.LogTable = LogTable;
|