1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- var Parser = require("./Parser.js"),
- 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
- }
- };
|