You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					88 lines
				
				1.7 KiB
			
		
		
			
		
	
	
					88 lines
				
				1.7 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								/*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))
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |