| Index: tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/lib/CollectingHandler.js
|
| diff --git a/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/lib/CollectingHandler.js b/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/lib/CollectingHandler.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8d63305ae33da4e6254f0398c63eab551471ada3
|
| --- /dev/null
|
| +++ b/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/node_modules/htmlparser2/lib/CollectingHandler.js
|
| @@ -0,0 +1,55 @@
|
| +module.exports = CollectingHandler;
|
| +
|
| +function CollectingHandler(cbs){
|
| + this._cbs = cbs || {};
|
| + this.events = [];
|
| +}
|
| +
|
| +var EVENTS = require("./").EVENTS;
|
| +Object.keys(EVENTS).forEach(function(name){
|
| + if(EVENTS[name] === 0){
|
| + name = "on" + name;
|
| + CollectingHandler.prototype[name] = function(){
|
| + this.events.push([name]);
|
| + if(this._cbs[name]) this._cbs[name]();
|
| + };
|
| + } else if(EVENTS[name] === 1){
|
| + name = "on" + name;
|
| + CollectingHandler.prototype[name] = function(a){
|
| + this.events.push([name, a]);
|
| + if(this._cbs[name]) this._cbs[name](a);
|
| + };
|
| + } else if(EVENTS[name] === 2){
|
| + name = "on" + name;
|
| + CollectingHandler.prototype[name] = function(a, b){
|
| + this.events.push([name, a, b]);
|
| + if(this._cbs[name]) this._cbs[name](a, b);
|
| + };
|
| + } else {
|
| + throw Error("wrong number of arguments");
|
| + }
|
| +});
|
| +
|
| +CollectingHandler.prototype.onreset = function(){
|
| + this.events = [];
|
| + if(this._cbs.onreset) this._cbs.onreset();
|
| +};
|
| +
|
| +CollectingHandler.prototype.restart = function(){
|
| + if(this._cbs.onreset) this._cbs.onreset();
|
| +
|
| + for(var i = 0, len = this.events.length; i < len; i++){
|
| + if(this._cbs[this.events[i][0]]){
|
| +
|
| + var num = this.events[i].length;
|
| +
|
| + if(num === 1){
|
| + this._cbs[this.events[i][0]]();
|
| + } else if(num === 2){
|
| + this._cbs[this.events[i][0]](this.events[i][1]);
|
| + } else {
|
| + this._cbs[this.events[i][0]](this.events[i][1], this.events[i][2]);
|
| + }
|
| + }
|
| + }
|
| +};
|
|
|