diff --git a/website/static/worker.js b/website/static/worker.js index 36d764a73..3c6612d59 100644 --- a/website/static/worker.js +++ b/website/static/worker.js @@ -33,14 +33,21 @@ self.onmessage = function(message) { var ast; if (message.data.ast) { + var actualAst; + var errored = false; try { - ast = JSON.stringify( - prettier.__debug.parse(message.data.text, options), - null, - 2 - ); + actualAst = prettier.__debug.parse(message.data.text, options); + ast = JSON.stringify(actualAst); } catch (e) { - ast = e.toString(); + errored = true; + ast = String(e); + } + if (!errored) { + try { + ast = formatCode(ast, { parser: "json" }); + } catch (e) { + ast = JSON.stringify(actualAst, null, 2); + } } } @@ -52,7 +59,7 @@ self.onmessage = function(message) { { parser: "babylon" } ); } catch (e) { - doc = e.toString(); + doc = String(e); } } @@ -70,7 +77,7 @@ function formatCode(text, options) { lazyLoadParser(e.parser); return formatCode(text, options); } - return e.toString(); + return String(e); } }