فهرست منبع

Improved ConsoleOutputDisableExpressionTemplate.ts and fixed Content-Security-Policy problems with eval

sanex3339 4 سال پیش
والد
کامیت
a3b73d87b9

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.browser.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.cli.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.js


+ 9 - 9
src/custom-code-helpers/console-output/templates/ConsoleOutputDisableExpressionTemplate.ts

@@ -3,22 +3,22 @@
  */
 export function ConsoleOutputDisableExpressionTemplate (): string {
     return `
-        const {consoleLogDisableFunctionName} = {callControllerFunctionName}(this, function () {            
+        const {consoleLogDisableFunctionName} = {callControllerFunctionName}(this, function () {
             {globalVariableTemplate}
-                        
-            const _console = (that.console = that.console || {});
+
+            const consoleObject = (that.console = that.console || {});
             const methods = ['log', 'warn', 'info', 'error', 'exception', 'table', 'trace'];
-            
+
             for (let index = 0; index < methods.length; index++){
-                const func = {callControllerFunctionName}.constructor();
+                const func = {callControllerFunctionName}.constructor.prototype.bind({callControllerFunctionName});
                 const methodName = methods[index];
-                const originalFunction = _console[methodName] || func;
+                const originalFunction = consoleObject[methodName] || func;
 
                 func.toString = originalFunction.toString.bind(originalFunction);
-                _console[methodName] = func;
-            };
+                consoleObject[methodName] = func;
+            }
         });
-        
+
         {consoleLogDisableFunctionName}();
     `;
 }

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است