blob: d645e54c6e5c3917fef00172419399fb9ca57208 (
plain)
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
|
// License: MIT
/*
* Console.js
*
* An interface to native console methods
* Avoids issues when browser does not have native support for console
*
* @license OS
* @author Valérian Saliou <valerian@valeriansaliou.name>
* @url https://github.com/valeriansaliou/console.js
*/
var Console = (function () {
var self = this;
/* Variables */
self._available = typeof(window.console) != 'undefined';
self._has = self._available && JappixSystem.isDeveloper();
self._console = self._available ? console : {};
/* Adapters */
self._adapter = function (level) {
if (!self._has) {
return function() {};
}
var adapter = null;
try {
switch (level) {
case 0:
adapter = console.warn; break;
case 1:
adapter = console.error; break;
case 2:
adapter = console.info; break;
case 3:
adapter = console.log; break;
case 4:
adapter = console.debug; break;
}
} catch (e) {
adapter = function() {};
}
return adapter.bind(self._console);
};
/* Methods */
self.warn = self._adapter(0);
self.error = self._adapter(1);
self.info = self._adapter(2);
self.log = self._adapter(3);
self.debug = self._adapter(4);
/* Return class scope */
return self;
})();
var JappixConsole = Console;
|