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