| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | /*global window, global*/var util = require("util")var assert = require("assert")function now() { return new Date().getTime() }var slice = Array.prototype.slicevar consolevar 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 = consolefunction 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))    }}
 |