| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | var Parser = require("./Parser.js");var DomHandler = require("domhandler");function defineProp(name, value) {    delete module.exports[name];    module.exports[name] = value;    return value;}module.exports = {    Parser: Parser,    Tokenizer: require("./Tokenizer.js"),    ElementType: require("domelementtype"),    DomHandler: DomHandler,    get FeedHandler() {        return defineProp("FeedHandler", require("./FeedHandler.js"));    },    get Stream() {        return defineProp("Stream", require("./Stream.js"));    },    get WritableStream() {        return defineProp("WritableStream", require("./WritableStream.js"));    },    get ProxyHandler() {        return defineProp("ProxyHandler", require("./ProxyHandler.js"));    },    get DomUtils() {        return defineProp("DomUtils", require("domutils"));    },    get CollectingHandler() {        return defineProp(            "CollectingHandler",            require("./CollectingHandler.js")        );    },    // For legacy support    DefaultHandler: DomHandler,    get RssHandler() {        return defineProp("RssHandler", this.FeedHandler);    },    //helper methods    parseDOM: function(data, options) {        var handler = new DomHandler(options);        new Parser(handler, options).end(data);        return handler.dom;    },    parseFeed: function(feed, options) {        var handler = new module.exports.FeedHandler(options);        new Parser(handler, options).end(feed);        return handler.dom;    },    createDomStream: function(cb, options, elementCb) {        var handler = new DomHandler(cb, options, elementCb);        return new Parser(handler, options);    },    // List of all events that the parser emits    EVENTS: {        /* Format: eventname: number of arguments */        attribute: 2,        cdatastart: 0,        cdataend: 0,        text: 1,        processinginstruction: 2,        comment: 1,        commentend: 0,        closetag: 1,        opentag: 2,        opentagname: 1,        error: 1,        end: 0    }};
 |