bahmutov / console.table Goto Github PK
View Code? Open in Web Editor NEWAdds console.table method that prints an array of objects as a table in console
License: MIT License
Adds console.table method that prints an array of objects as a table in console
License: MIT License
Is there a way to use the first row as the title row instead of printing the array indexes as the header?
Thanks in advance!
Especially for phantomjs, Chrome already has console.table function
I am trying to print mongoose json array using console.table, However I see unexpected table header. Below is my code:
const cTable = require('console.table');
const mongoose = require('mongoose');
mongoose.connect('mongodb:/host', {
auth: {
user: 'unm',
password: 'pwd'
}
});
const pairNm = 'BTC-INR-tx'
const pairModel = mongoose.model(pairNm, {}, pairNm);
pairModel.find({}, {_id: 0, trans_id: 1,
fill_qty: 1,
fill_price: 1,
fill_flags: 1,
currencyPair: 1,
lastModifiedDate: 1}).limit(10).exec().then((d) => {
// console.log(d);
console.table('d', d);
});
Here is the log:
d
------------------------------------------------------
$__ isNew errors _doc $init
--------------- ----- ------ --------------- -----
[object Object] false [object Object] true
[object Object] false [object Object] true
[object Object] false [object Object] true
[object Object] false [object Object] true
[object Object] false [object Object] true
[object Object] false [object Object] true
[object Object] false [object Object] true
[object Object] false [object Object] true
[object Object] false [object Object] true
[object Object] false [object Object] true
Whereas actual data look like this:
[ { trans_id: 382,
fill_qty: 10000000,
fill_price: 712500,
fill_flags: 3,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521712287144 },
{ trans_id: 384,
fill_qty: 5000000,
fill_price: 711800,
fill_flags: 2,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521714892456 },
{},
{ trans_id: 392,
fill_qty: 10000000,
fill_price: 711200,
fill_flags: 1,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521787237696 },
{ trans_id: 393,
fill_qty: 10000000,
fill_price: 711200,
fill_flags: 3,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521787298539 },
{ trans_id: 394,
fill_qty: 21168,
fill_price: 715000,
fill_flags: 2,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521790941289 },
{ trans_id: 395,
fill_qty: 978832,
fill_price: 715000,
fill_flags: 3,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521791070426 },
{ trans_id: 399,
fill_qty: 100000000,
fill_price: 716000,
fill_flags: 3,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521798458247 },
{ trans_id: 400,
fill_qty: 22510000,
fill_price: 710000,
fill_flags: 2,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521800843473 },
{ trans_id: 400,
fill_qty: 77490000,
fill_price: 709000,
fill_flags: 1,
currencyPair: 'BTC-INR',
lastModifiedDate: 1521800843474 } ]
I was wondering if it would be possible to list the table in the other way,
console.table( [["a", "b", "c", "d"],["e", "f", "g", "h"]] );
current comes out
0 1 2 3
- - - -
a b c d
e f g h
would come out
0 | a e
1 | b f
2 | c g
3 | d h
This has come about because I have few tables with lots of data, rather than lots of tables with few data. I know with the table layout above it doesn't seem that needed. But when each one of those arrays holds 43 data, but there is only 4 lots of them, it gets hard to use.
This is a screenshot of 2 arrays with 43.
I'm using Node.js 8.3 here, and the library doesn't work.
Calling console.table
just doesn't outputs anything.
If passed an object (not an array), print two columns
There is an issue when printing objects whose properties are objects. For example:
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
var family = {};
family.mother = new Person("Jane", "Smith");
family.father = new Person("John", "Smith");
family.daughter = new Person("Emily", "Smith");
console.table(family);
Results in:
key value
-------- ---------------
mother [object Object]
father [object Object]
daughter [object Object]
The expectation here is that there should be firstName
and lastName
columns.
More details can be found here: https://developer.mozilla.org/en-US/docs/Web/API/Console/table
The dependency on versions using the "^" syntax appears to be not supported in this earlier version of npm. Mocha's dependency of ^1.28.2
could be rewritten as >=1.28.12 <2.0.0
. Grunt's ^0.4.4
is the same as ~0.4.4
and >=0.4.4 <0.5
. In fact, most of the dependencies you list can replace the carat with a tilde because they start with a zero.
More information: https://www.npmjs.org/doc/misc/semver.html
This issue was spurred by testing my library on Travis. See this build for more information: https://travis-ci.org/tests-always-included/complexion-js/jobs/37970872
When working with numbers, usually they are better visualized with right-alignment;
Right now I have:
name numberA numberB percentage
------------- ------------------ ---------- ---------
activation 435754 440014 0.97 %
application 17768620 17928345 0.89 %
Would be nice to be configurable and/or to have number by default align to the right:
name numberA numberB percentage
------------- ------------------ ---------- ----------
activation 435754 440014 0.97 %
application 17768620 17928345 0.89 %
Using size script
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.