.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / htmlparser2 / lib / index.js
1 var Parser = require("./Parser.js");
2 var DomHandler = require("domhandler");
3
4 function defineProp(name, value) {
5     delete module.exports[name];
6     module.exports[name] = value;
7     return value;
8 }
9
10 module.exports = {
11     Parser: Parser,
12     Tokenizer: require("./Tokenizer.js"),
13     ElementType: require("domelementtype"),
14     DomHandler: DomHandler,
15     get FeedHandler() {
16         return defineProp("FeedHandler", require("./FeedHandler.js"));
17     },
18     get Stream() {
19         return defineProp("Stream", require("./Stream.js"));
20     },
21     get WritableStream() {
22         return defineProp("WritableStream", require("./WritableStream.js"));
23     },
24     get ProxyHandler() {
25         return defineProp("ProxyHandler", require("./ProxyHandler.js"));
26     },
27     get DomUtils() {
28         return defineProp("DomUtils", require("domutils"));
29     },
30     get CollectingHandler() {
31         return defineProp(
32             "CollectingHandler",
33             require("./CollectingHandler.js")
34         );
35     },
36     // For legacy support
37     DefaultHandler: DomHandler,
38     get RssHandler() {
39         return defineProp("RssHandler", this.FeedHandler);
40     },
41     //helper methods
42     parseDOM: function(data, options) {
43         var handler = new DomHandler(options);
44         new Parser(handler, options).end(data);
45         return handler.dom;
46     },
47     parseFeed: function(feed, options) {
48         var handler = new module.exports.FeedHandler(options);
49         new Parser(handler, options).end(feed);
50         return handler.dom;
51     },
52     createDomStream: function(cb, options, elementCb) {
53         var handler = new DomHandler(cb, options, elementCb);
54         return new Parser(handler, options);
55     },
56     // List of all events that the parser emits
57     EVENTS: {
58         /* Format: eventname: number of arguments */
59         attribute: 2,
60         cdatastart: 0,
61         cdataend: 0,
62         text: 1,
63         processinginstruction: 2,
64         comment: 1,
65         commentend: 0,
66         closetag: 1,
67         opentag: 2,
68         opentagname: 1,
69         error: 1,
70         end: 0
71     }
72 };