This package contains chainable enhancements to the JavaScript console object.
Builds: dist/console-extras.js and dist/console-extras.min.js.
console.times(n)
Limits the next call to n invocations.
e.g.
console.times(5).log("This message will only show up 5 times.")console.throttle(n)
Throttles the next call to at most once every n milliseconds.
e.g.
console.throttle(1000).log("This message will only show up once per second.")console.collate(...)
Collects arbitrary data for summarization. Accepts numbers, strings, arrays, objects.
console.summary()
Displays a summary of collated data: Average/stddev for numbers, unique string counts, objects by type, arrays by elements. Must be called in the same chain as .collate().
Chaining
console.times(5).throttle(1000).log("This message will be printed once per second, up to 5 times.")Collecting data in a live app e.g.
console
.collate(1, "foo", { x: 1, y: 2 }, [ 1, 2 ])
.collate(2, "bar", { x: 2, y: 4 }, [ 5, 4 ])
.collate(3, "bar", { x: 3, y: 4 }, [ 2, 3 ])
.throttle(1000)
.summary()results in:
0: 2 ± 0.82 (×3)
1:
"foo" (×1)
"bar" (×2)
2:
Object (×3)
x: 2 ± 0.82 (×3)
y: 3.33 ± 0.94 (×3)
3:
Array
0: 2.67 ± 1.7 (×3)
1: 3 ± 0.82 (×3)
If you do this in a loop with dynamic data, you will get a summary printed out every second of all collected data. The data is reset every time the summary is output.