diff options
Diffstat (limited to 'node_modules/htmlparser2/lib/ProxyHandler.js')
-rw-r--r-- | node_modules/htmlparser2/lib/ProxyHandler.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/htmlparser2/lib/ProxyHandler.js b/node_modules/htmlparser2/lib/ProxyHandler.js new file mode 100644 index 000000000..1f9f38a76 --- /dev/null +++ b/node_modules/htmlparser2/lib/ProxyHandler.js @@ -0,0 +1,27 @@ +module.exports = ProxyHandler; + +var ProxyHandler = function(cbs){ + this._cbs = cbs || {}; +}; + +var EVENTS = require("./").EVENTS; +Object.keys(EVENTS).forEach(function(name){ + if(EVENTS[name] === 0){ + name = "on" + name; + ProxyHandler.prototype[name] = function(){ + if(this._cbs[name]) this._cbs[name](); + }; + } else if(EVENTS[name] === 1){ + name = "on" + name; + ProxyHandler.prototype[name] = function(a){ + if(this._cbs[name]) this._cbs[name](a); + }; + } else if(EVENTS[name] === 2){ + name = "on" + name; + ProxyHandler.prototype[name] = function(a, b){ + if(this._cbs[name]) this._cbs[name](a, b); + }; + } else { + throw Error("wrong number of arguments"); + } +});
\ No newline at end of file |