| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>WebIDL 2 Checker</title> |
| |
| <script src='../lib/webidl2.js'></script> |
| <script> |
| let parserResult = undefined; |
| |
| function formatParserOutput() { |
| const outputEl = document.getElementById('webidl-checker-output'); |
| if (parserResult) { |
| const prettyPrintEl = document.getElementById('pretty-print'); |
| outputEl.innerText = JSON.stringify(parserResult, null, prettyPrintEl.checked ? 2 : null); |
| } else { |
| outputEl.innerText = ''; |
| } |
| } |
| |
| function checkWebIDL(textToCheck) { |
| const validation = document.getElementById('webidl-checker-validation'); |
| parserResult = null; |
| try { |
| parserResult = WebIDL2.parse(textToCheck); |
| validation.innerText = 'WebIDL parsed successfully!'; |
| } catch (e) { |
| validation.innerText = 'Exception while parsing WebIDL. See JavaScript console for more details.\n\n' + e.toString(); |
| // Pass it along to the JavaScript console. |
| throw e; |
| } finally { |
| formatParserOutput(); |
| } |
| } |
| </script> |
| <style> |
| textarea { |
| font-family: monospace; |
| } |
| </style> |
| </head> |
| <body> |
| <h2>WebIDL Checker</h2> |
| <p>This is an online checker for WebIDL built on the <a href="https://github.com/w3c/webidl2.js">webidl2.js</a> project.</p> |
| <p>Enter your WebIDL to check below:</p> |
| <textarea id='webidl-to-check' rows='20' cols='80'></textarea> |
| <br> |
| <input type='button' value='Check WebIDL' onclick='checkWebIDL(document.getElementById("webidl-to-check").value)'> |
| <p>Validation results:</p> |
| <textarea id='webidl-checker-validation' rows='20' cols='80'></textarea> |
| <p>Parser output:</p> |
| <textarea id='webidl-checker-output' rows='20' cols='80'></textarea> |
| <br> |
| <input type='checkbox' id='pretty-print' checked='true' onchange='formatParserOutput()'>Pretty Print |
| </body> |
| </html> |