export enum Debug {
    Log,
    Info,
    Warn,
    Error
}

export function debug(isDebuggingActive: boolean) {
    return function (level: Debug, message: string) {
        if (isDebuggingActive) {
            let consoleFunc: (...data: any[]) => void
            switch (level) {
                default:
                    consoleFunc = console.log
                    break
                case Debug.Info:
                    consoleFunc = console.info
                    break
                case Debug.Warn:
                    consoleFunc = console.warn
                    break
                case Debug.Error:
                    consoleFunc = console.error
                    break
            }
            consoleFunc(message)
        }
    }
}