You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.0 KiB
72 lines
2.0 KiB
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 |
|
} |
|
};
|
|
|