diff options
Diffstat (limited to 'node_modules/uglify-js/tools/props.html')
-rw-r--r-- | node_modules/uglify-js/tools/props.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/node_modules/uglify-js/tools/props.html b/node_modules/uglify-js/tools/props.html new file mode 100644 index 000000000..f7c777aac --- /dev/null +++ b/node_modules/uglify-js/tools/props.html @@ -0,0 +1,61 @@ +<html> + <head> + </head> + <body> + <script>(function(){ + var props = {}; + + function addObject(obj) { + if (obj == null) return; + try { + Object.getOwnPropertyNames(obj).forEach(add); + } catch(ex) {} + if (obj.prototype) { + Object.getOwnPropertyNames(obj.prototype).forEach(add); + } + if (typeof obj == "function") { + try { + Object.getOwnPropertyNames(new obj).forEach(add); + } catch(ex) {} + } + } + + function add(name) { + props[name] = true; + } + + Object.getOwnPropertyNames(window).forEach(function(thing){ + addObject(window[thing]); + }); + + try { + addObject(new Event("click")); + addObject(new Event("contextmenu")); + addObject(new Event("mouseup")); + addObject(new Event("mousedown")); + addObject(new Event("keydown")); + addObject(new Event("keypress")); + addObject(new Event("keyup")); + } catch(ex) {} + + var ta = document.createElement("textarea"); + ta.style.width = "100%"; + ta.style.height = "20em"; + ta.style.boxSizing = "border-box"; + <!-- ta.value = Object.keys(props).sort(cmp).map(function(name){ --> + <!-- return JSON.stringify(name); --> + <!-- }).join(",\n"); --> + ta.value = JSON.stringify({ + vars: [], + props: Object.keys(props).sort(cmp) + }, null, 2); + document.body.appendChild(ta); + + function cmp(a, b) { + a = a.toLowerCase(); + b = b.toLowerCase(); + return a < b ? -1 : a > b ? 1 : 0; + } + })();</script> + </body> +</html> |