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