All files / src/templates/custom-nodes/console-output-nodes/console-output-disable-expression-node ConsoleOutputDisableExpressionTemplate.ts

100% Statements 2/2
100% Branches 0/0
100% Functions 1/1
100% Lines 2/2
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      1x 713x                                                                      
/**
 * @returns {string}
 */
export function ConsoleOutputDisableExpressionTemplate (): string {
    return `
        var {consoleLogDisableFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {
            var getGlobal = Function('return (function() ' + '{}.constructor("return this")( )' + ');');
            
            var func = function () {};
            var that = getGlobal();
                        
            if (!that.console) {
                that.console = (function (func){ 
                    var c = {}; 
                    
                    c.log = func;
                    c.warn = func; 
                    c.debug = func;
                    c.info = func;
                    c.error = func;
                    c.exception = func;
                    c.trace = func;
                    
                    return c; 
                })(func);
            } else {
                that.console.log = func;
                that.console.warn = func; 
                that.console.debug = func;
                that.console.info = func;
                that.console.error = func;
                that.console.exception = func;
                that.console.trace = func;
            }
        });
        
        {consoleLogDisableFunctionName}();
    `;
}