aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/console.js
blob: f9d734aa9c11e8da3e5b39a82dd00a98717ea340 (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
// ==========================================================================
// Console wrapper
// ==========================================================================

const noop = () => {};

export default class Console {
  constructor(enabled = false) {
    this.enabled = window.console && enabled;

    if (this.enabled) {
      this.log('Debugging enabled');
    }
  }

  get log() {
    // eslint-disable-next-line no-console
    return this.enabled ? Function.prototype.bind.call(console.log, console) : noop;
  }

  get warn() {
    // eslint-disable-next-line no-console
    return this.enabled ? Function.prototype.bind.call(console.warn, console) : noop;
  }

  get error() {
    // eslint-disable-next-line no-console
    return this.enabled ? Function.prototype.bind.call(console.error, console) : noop;
  }
}