Blame view

node_modules/console-browserify/index.js 1.63 KB
aaac7fed   liuqimichale   add
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
  /*global window, global*/
  var util = require("util")
  var assert = require("assert")
  var now = require("date-now")
  
  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)
      }
  
      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))
      }
  }