errorwarning_worker.js (1037B)
1 /** 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ 4 */ 5 6 function errorHandler() { 7 postMessage({ type: "error" }); 8 } 9 10 onmessage = function (event) { 11 if (event.data.errors) { 12 try { 13 // This is an error: 14 postMessage({ type: "ignore", value: b.aaa }); 15 } catch (e) { 16 errorHandler(); 17 } 18 } else { 19 var a = {}; 20 // This is a warning: 21 postMessage({ type: "ignore", value: a.foo }); 22 } 23 24 if (event.data.loop != 0) { 25 var worker = new Worker("errorwarning_worker.js"); 26 worker.onerror = errorHandler; 27 worker.postMessage({ 28 loop: event.data.loop - 1, 29 errors: event.data.errors, 30 }); 31 32 worker.onmessage = function (e) { 33 postMessage(e.data); 34 }; 35 } else { 36 postMessage({ type: "finish" }); 37 } 38 }; 39 40 onerror = errorHandler; 41 // eslint-disable-next-line no-self-assign 42 onerror = onerror; 43 // eslint-disable-next-line no-self-compare 44 if (!onerror || onerror != onerror) { 45 throw "onerror wasn't set properly"; 46 }