Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80522 views
1
/*global window, global*/
2
var util = require("util")
3
var assert = require("assert")
4
var now = require("date-now")
5
6
var slice = Array.prototype.slice
7
var console
8
var times = {}
9
10
if (typeof global !== "undefined" && global.console) {
11
console = global.console
12
} else if (typeof window !== "undefined" && window.console) {
13
console = window.console
14
} else {
15
console = {}
16
}
17
18
var functions = [
19
[log, "log"],
20
[info, "info"],
21
[warn, "warn"],
22
[error, "error"],
23
[time, "time"],
24
[timeEnd, "timeEnd"],
25
[trace, "trace"],
26
[dir, "dir"],
27
[consoleAssert, "assert"]
28
]
29
30
for (var i = 0; i < functions.length; i++) {
31
var tuple = functions[i]
32
var f = tuple[0]
33
var name = tuple[1]
34
35
if (!console[name]) {
36
console[name] = f
37
}
38
}
39
40
module.exports = console
41
42
function log() {}
43
44
function info() {
45
console.log.apply(console, arguments)
46
}
47
48
function warn() {
49
console.log.apply(console, arguments)
50
}
51
52
function error() {
53
console.warn.apply(console, arguments)
54
}
55
56
function time(label) {
57
times[label] = now()
58
}
59
60
function timeEnd(label) {
61
var time = times[label]
62
if (!time) {
63
throw new Error("No such label: " + label)
64
}
65
66
var duration = now() - time
67
console.log(label + ": " + duration + "ms")
68
}
69
70
function trace() {
71
var err = new Error()
72
err.name = "Trace"
73
err.message = util.format.apply(null, arguments)
74
console.error(err.stack)
75
}
76
77
function dir(object) {
78
console.log(util.inspect(object) + "\n")
79
}
80
81
function consoleAssert(expression) {
82
if (!expression) {
83
var arr = slice.call(arguments, 1)
84
assert.ok(false, util.format.apply(null, arr))
85
}
86
}
87
88