aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/console.js
blob: e8099569275fd9623e9249a9960cd25a4ed879fe (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;
    }
}